From 8f8f4adf7dba65d9bd6855417f036076e70f8dfd Mon Sep 17 00:00:00 2001
From: "Dwayne M. Hubbard" <dwayne.hubbard@gmail.com>
Date: Wed, 18 Feb 2009 02:55:12 +0000
Subject: [PATCH] T38 faxdetect should jump to the 'fax' extension for incoming
 calls only

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 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index d01a3c26b1..6cb781e0d6 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -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);
-- 
GitLab