Add FAXMODE variable with what fax transport was used.

(closes issue #13252)
Patches:
      v1-13252.patch uploaded by dimas (license 88)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@137496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.1
Jason Parker 17 years ago
parent fdd92290af
commit ccfbd9ab15

@ -46,8 +46,8 @@ static char *app_sndfax_desc =
" SendFAX(filename[|options]):\n" " SendFAX(filename[|options]):\n"
"Send a given TIFF file to the channel as a FAX.\n" "Send a given TIFF file to the channel as a FAX.\n"
"The option string may contain zero or more of the following characters:\n" "The option string may contain zero or more of the following characters:\n"
" 'a' -- makes the application behave as an answering machine\n" " 'a' - makes the application behave as an answering machine\n"
" The default behaviour is to behave as a calling machine.\n" " The default behaviour is to behave as a calling machine.\n"
"\n" "\n"
"This application uses following variables:\n" "This application uses following variables:\n"
" LOCALSTATIONID to identify itself to the remote end.\n" " LOCALSTATIONID to identify itself to the remote end.\n"
@ -55,10 +55,12 @@ static char *app_sndfax_desc =
"\n" "\n"
"This application sets the following channel variables upon completion:\n" "This application sets the following channel variables upon completion:\n"
" FAXSTATUS - status of operation:\n" " FAXSTATUS - status of operation:\n"
" SUCCESS | FAILED\n" " SUCCESS | FAILED\n"
" FAXERROR - Error when FAILED\n" " FAXERROR - Error when FAILED\n"
" FAXMODE - Mode used:\n"
" audio | T38\n"
" REMOTESTATIONID - CSID of the remote side.\n" " REMOTESTATIONID - CSID of the remote side.\n"
" FAXPAGES - number of pages sent.\n" " FAXPAGES - number of pages sent.\n"
" FAXBITRATE - transmition rate.\n" " FAXBITRATE - transmition rate.\n"
" FAXRESOLUTION - resolution.\n" " FAXRESOLUTION - resolution.\n"
"\n" "\n"
@ -73,7 +75,7 @@ static char *app_rcvfax_desc =
"the file if it already exists. File created will have TIFF format.\n" "the file if it already exists. File created will have TIFF format.\n"
"The option string may contain zero or more of the following characters:\n" "The option string may contain zero or more of the following characters:\n"
" 'c' -- makes the application behave as a calling machine\n" " 'c' -- makes the application behave as a calling machine\n"
" The default behaviour is to behave as an answering machine.\n" " The default behaviour is to behave as an answering machine.\n"
"\n" "\n"
"This application uses following variables:\n" "This application uses following variables:\n"
" LOCALSTATIONID to identify itself to the remote end.\n" " LOCALSTATIONID to identify itself to the remote end.\n"
@ -81,10 +83,12 @@ static char *app_rcvfax_desc =
"\n" "\n"
"This application sets the following channel variables upon completion:\n" "This application sets the following channel variables upon completion:\n"
" FAXSTATUS - status of operation:\n" " FAXSTATUS - status of operation:\n"
" SUCCESS | FAILED\n" " SUCCESS | FAILED\n"
" FAXERROR - Error when FAILED\n" " FAXERROR - Error when FAILED\n"
" FAXMODE - Mode used:\n"
" audio | T38\n"
" REMOTESTATIONID - CSID of the remote side.\n" " REMOTESTATIONID - CSID of the remote side.\n"
" FAXPAGES - number of pages sent.\n" " FAXPAGES - number of pages sent.\n"
" FAXBITRATE - transmition rate.\n" " FAXBITRATE - transmition rate.\n"
" FAXRESOLUTION - resolution.\n" " FAXRESOLUTION - resolution.\n"
"\n" "\n"
@ -575,6 +579,7 @@ static int transmit(fax_session *s)
pbx_builtin_setvar_helper(s->chan, "FAXSTATUS", "FAILED"); pbx_builtin_setvar_helper(s->chan, "FAXSTATUS", "FAILED");
pbx_builtin_setvar_helper(s->chan, "FAXERROR", "Channel problems"); pbx_builtin_setvar_helper(s->chan, "FAXERROR", "Channel problems");
pbx_builtin_setvar_helper(s->chan, "FAXMODE", NULL);
pbx_builtin_setvar_helper(s->chan, "REMOTESTATIONID", NULL); pbx_builtin_setvar_helper(s->chan, "REMOTESTATIONID", NULL);
pbx_builtin_setvar_helper(s->chan, "FAXPAGES", NULL); pbx_builtin_setvar_helper(s->chan, "FAXPAGES", NULL);
pbx_builtin_setvar_helper(s->chan, "FAXRESOLUTION", NULL); pbx_builtin_setvar_helper(s->chan, "FAXRESOLUTION", NULL);
@ -593,6 +598,7 @@ static int transmit(fax_session *s)
s->t38state = ast_channel_get_t38_state(s->chan); s->t38state = ast_channel_get_t38_state(s->chan);
if (s->t38state != T38_STATE_NEGOTIATED) { if (s->t38state != T38_STATE_NEGOTIATED) {
/* T38 is not negotiated on the channel yet. First start regular transmission. If it switches to T38, follow */ /* T38 is not negotiated on the channel yet. First start regular transmission. If it switches to T38, follow */
pbx_builtin_setvar_helper(s->chan, "FAXMODE", "audio");
res = transmit_audio(s); res = transmit_audio(s);
if (res > 0) { if (res > 0) {
/* transmit_audio reports switchover to T38. Update t38state */ /* transmit_audio reports switchover to T38. Update t38state */
@ -604,6 +610,7 @@ static int transmit(fax_session *s)
} }
if (s->t38state == T38_STATE_NEGOTIATED) { if (s->t38state == T38_STATE_NEGOTIATED) {
pbx_builtin_setvar_helper(s->chan, "FAXMODE", "T38");
res = transmit_t38(s); res = transmit_t38(s);
} }

Loading…
Cancel
Save