summaryrefslogtreecommitdiff
path: root/include/asterisk/frame.h
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2009-06-26 19:27:24 +0000
committerJoshua Colp <jcolp@digium.com>2009-06-26 19:27:24 +0000
commit59c1998d67ecd9c2ade02c288aaef7596fcdfd4a (patch)
tree7d14c88d204bd105f7d39b32a5bf704bb486d3d6 /include/asterisk/frame.h
parent5ebf0f3c501f4f4f3801efd3b6e9b72e889b4100 (diff)
Improve T.38 negotiation by exchanging session parameters between application and channel.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@203699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/frame.h')
-rw-r--r--include/asterisk/frame.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/include/asterisk/frame.h b/include/asterisk/frame.h
index 8b79a5e99..56d76d927 100644
--- a/include/asterisk/frame.h
+++ b/include/asterisk/frame.h
@@ -323,7 +323,8 @@ enum ast_control_frame_type {
AST_CONTROL_SRCUPDATE = 20, /*!< Indicate source of media has changed */
AST_CONTROL_TRANSFER = 21, /*!< Indicate status of a transfer request */
AST_CONTROL_CONNECTED_LINE = 22,/*!< Indicate connected line has changed */
- AST_CONTROL_REDIRECTING = 23 /*!< Indicate redirecting id has changed */
+ AST_CONTROL_REDIRECTING = 23, /*!< Indicate redirecting id has changed */
+ AST_CONTROL_T38_PARAMETERS = 24, /*! T38 state change request/notification with parameters */
};
enum ast_control_t38 {
@@ -334,6 +335,31 @@ enum ast_control_t38 {
AST_T38_REFUSED /*!< T38 refused for some reason (usually rejected by remote end) */
};
+enum ast_control_t38_rate {
+ AST_T38_RATE_2400 = 0,
+ AST_T38_RATE_4800,
+ AST_T38_RATE_7200,
+ AST_T38_RATE_9600,
+ AST_T38_RATE_12000,
+ AST_T38_RATE_14400,
+};
+
+enum ast_control_t38_rate_management {
+ AST_T38_RATE_MANAGEMENT_TRANSFERED_TCF = 0,
+ AST_T38_RATE_MANAGEMENT_LOCAL_TCF,
+};
+
+struct ast_control_t38_parameters {
+ enum ast_control_t38 request_response; /*!< Request or response of the T38 control frame */
+ unsigned int version; /*!< Supported T.38 version */
+ unsigned int max_datagram; /*!< Maximum datagram size supported */
+ enum ast_control_t38_rate rate; /*!< Maximum fax rate supported */
+ enum ast_control_t38_rate_management rate_management; /*!< Rate management setting */
+ unsigned int fill_bit_removal:1; /*!< Set if fill bit removal should be used */
+ unsigned int transcoding_mmr:1; /*!< Set if MMR transcoding should be used */
+ unsigned int transcoding_jbig:1; /*!< Set if JBIG transcoding should be used */
+};
+
enum ast_control_transfer {
AST_TRANSFER_SUCCESS = 0, /*!< Transfer request on the channel worked */
AST_TRANSFER_FAILED, /*!< Transfer request on the channel failed */