]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
One more T.38 fix! Don't leave a reinvite hanging by a thread if the other side is...
authorJoshua Colp <jcolp@digium.com>
Thu, 5 Oct 2006 18:01:51 +0000 (18:01 +0000)
committerJoshua Colp <jcolp@digium.com>
Thu, 5 Oct 2006 18:01:51 +0000 (18:01 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@44486 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 7c7326a2329c046ba8868af74cce2bb5750fbd1d..479941e37c9edafa5c1328bb038d731455d4c17f 100644 (file)
@@ -13129,6 +13129,12 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
                                                                        transmit_response_reliable(p, "488 Not acceptable here", req);
                                                                sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
                                                        }
+                                               } else {
+                                                       /* The other side is already setup for T.38 most likely so we need to acknowledge this too */
+                                                       transmit_response_with_t38_sdp(p, "200 OK", req, XMIT_CRITICAL);
+                                                       p->t38.state = T38_ENABLED;
+                                                       if (option_debug)
+                                                               ast_log(LOG_DEBUG, "T38 state changed to %d on channel %s\n", p->t38.state, p->owner ? p->owner->name : "<none>");
                                                }
                                        } else {
                                                /* Other side is not a SIP channel */