Fax gateway functionality (i.e. translating between a T.30 terminal and a T.38

terminal). Can be enabled on a channel by setting FAXOPT(gateway)=yes in the
dialplan.

Big thanks to irroot for porting this code to use the framehooks api.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Nicholson
2011-06-30 18:22:28 +00:00
parent 82d28452ca
commit 0f0956e67a
4 changed files with 1131 additions and 81 deletions

View File

@@ -42,6 +42,8 @@ enum ast_fax_capabilities {
AST_FAX_TECH_T38 = (1 << 3),
/*! sending mulitple documents supported */
AST_FAX_TECH_MULTI_DOC = (1 << 4),
/*! T.38 - T.30 Gateway */
AST_FAX_TECH_GATEWAY = (1 << 5),
};
/*! \brief fax modem capabilities */
@@ -168,6 +170,8 @@ struct ast_fax_session_details {
struct ast_fax_t38_parameters our_t38_parameters;
/*! the other endpoint's T.38 session parameters, if any */
struct ast_fax_t38_parameters their_t38_parameters;
/*! the id of the t.38 gateway framehook for this channel */
int gateway_id;
};
struct ast_fax_tech;
@@ -204,6 +208,9 @@ struct ast_fax_session {
struct ast_smoother *smoother;
};
/* if this overlaps with any AST_FRFLAG_* values, problems will occur */
#define AST_FAX_FRFLAG_GATEWAY (1 << 13)
/*! \brief used to register a FAX technology module with res_fax */
struct ast_fax_tech {
/*! the type of fax session supported with this ast_fax_tech structure */