Fix issue with a T38 reinvite being sent even if not configured to do so.
authorJoshua Colp <jcolp@digium.com>
Wed, 25 Mar 2009 19:22:06 +0000 (19:22 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 25 Mar 2009 19:22:06 +0000 (19:22 +0000)
If we receive a T38 request negotiate control frame we should only attempt to do so
if the option is enabled on the dialog.

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

channels/chan_sip.c

index c8a79b8..67d41e4 100644 (file)
@@ -6086,7 +6086,7 @@ static int sip_indicate(struct ast_channel *ast, int condition, const void *data
                                        AST_SCHED_DEL_UNREF(sched, p->t38id, dialog_unref(p, "when you delete the t38id sched, you should dec the refcount for the stored dialog ptr"));
                                        change_t38_state(p, T38_ENABLED);
                                        transmit_response_with_t38_sdp(p, "200 OK", &p->initreq, XMIT_CRITICAL);
-                               } else if (p->t38.state != T38_ENABLED) {
+                               } else if (ast_test_flag(&p->t38.t38support, SIP_PAGE2_T38SUPPORT) && p->t38.state != T38_ENABLED) {
                                        change_t38_state(p, T38_LOCAL_REINVITE);
                                        if (!p->pendinginvite) {
                                                transmit_reinvite_with_sdp(p, TRUE, FALSE);