diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-02-18 23:47:01 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-02-18 23:47:01 +0000 |
commit | d9d1ed38227d0646eed979a8f12139ae517e5b5f (patch) | |
tree | b5f0bd047d53611a89ec0394a3c4efec497c9365 /include/asterisk/frame.h | |
parent | 8ed70c9fdef986fdc7ff63cc03df87aa1ade4cc1 (diff) |
Add a non-invasive API for application level manipulation of T38 on a channel. This uses control frames (so they can even pass across IAX2) to negotiate T38 and provided a way of getting the current status of T38 using queryoption. This should by no means cause any issues and if it does I will take responsibility for it.
(closes issue #11873)
Reported by: dimas
Patches:
v4-t38-api.patch uploaded by dimas (license 88)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@103799 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk/frame.h')
-rw-r--r-- | include/asterisk/frame.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/asterisk/frame.h b/include/asterisk/frame.h index 3983c84cf..012f7a952 100644 --- a/include/asterisk/frame.h +++ b/include/asterisk/frame.h @@ -292,6 +292,15 @@ enum ast_control_frame_type { AST_CONTROL_HOLD = 16, /*!< Indicate call is placed on hold */ AST_CONTROL_UNHOLD = 17, /*!< Indicate call is left from hold */ AST_CONTROL_VIDUPDATE = 18, /*!< Indicate video frame update */ + AST_CONTROL_T38 = 19 /*!< T38 state change request/notification */ +}; + +enum ast_control_t38 { + AST_T38_REQUEST_NEGOTIATE = 1, /*!< Request T38 on a channel (voice to fax) */ + AST_T38_REQUEST_TERMINATE, /*!< Terminate T38 on a channel (fax to voice) */ + AST_T38_NEGOTIATED, /*!< T38 negotiated (fax mode) */ + AST_T38_TERMINATED, /*!< T38 terminated (back to voice) */ + AST_T38_REFUSED /*!< T38 refused for some reason (usually rejected by remote end) */ }; #define AST_SMOOTHER_FLAG_G729 (1 << 0) @@ -340,6 +349,12 @@ enum ast_control_frame_type { /*! Explicitly enable or disable echo cancelation for the given channel */ #define AST_OPTION_ECHOCAN 8 +/* ! + * Read-only. Allows query current status of T38 on the channel. + * data: ast_t38state + */ +#define AST_OPTION_T38_STATE 10 + struct oprmode { struct ast_channel *peer; int mode; |