T38 faxdetect should jump to the 'fax' extension for incoming calls only
authorDwayne M. Hubbard <dwayne.hubbard@gmail.com>
Wed, 18 Feb 2009 02:55:12 +0000 (02:55 +0000)
committerDwayne M. Hubbard <dwayne.hubbard@gmail.com>
Wed, 18 Feb 2009 02:55:12 +0000 (02:55 +0000)
The previous implementation of T38 faxdetect resulted in both sides of the
call jumping to a fax extension when both sides had 't38pt_udptl=yes' and
'faxdetect=yes' in sip.conf and a 'fax' extension in the current context.
This revision will jump to a 'fax' extension on incoming calls only.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176869 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index d01a3c2..6cb781e 100644 (file)
@@ -4617,8 +4617,8 @@ static void change_t38_state(struct sip_pvt *p, int state)
        if (message)
                ast_queue_control_data(chan, AST_CONTROL_T38, &message, sizeof(message));
 
-       if (ast_test_flag(&p->flags[1], SIP_PAGE2_FAX_DETECT)) {
-               /* fax detection is enabled */
+       if (ast_test_flag(&p->flags[1], SIP_PAGE2_FAX_DETECT) && !p->outgoing_call) {
+               /* fax detection is enabled and this is an incoming call */
                ast_channel_lock(chan);
                if (strcmp(chan->exten, "fax") && state == T38_ENABLED) {
                        const char *target_context = S_OR(chan->macrocontext, chan->context);