aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-05 18:01:51 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-05 18:01:51 +0000
commit4df10d236b843d7c4987ecce08b958d80b0c0ef8 (patch)
treedffa81def0364f35984056682e87636aa3edc64f /channels
parentb8b5177a79319cd74ee5b0c6d2a83104e0fe07f5 (diff)
One more T.38 fix! Don't leave a reinvite hanging by a thread if the other side is already setup with T.38
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@44486 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 7c7326a23..479941e37 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -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 */