summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2013-03-15 01:38:53 +0000
committerMatthew Jordan <mjordan@digium.com>2013-03-15 01:38:53 +0000
commitcacc356bbe211d04a9fea57b6433e0ffa52369df (patch)
tree2b2c67b2134b498e0541baee1e1db7dc2136d6ad
parentd1d66c38781b8d2cc6bad08634696e9f825a28ff (diff)
When a session timer expires during a T.38 call, re-invite with correct SDP
When a session timer expires during a dialog that has re-negotiated to T.38 and Asterisk is the refresher, Asterisk will send a re-INVITE with an SDP containing audio media only. This causes some hilarity with the poor fax session under weigh. This patch corrects that by sending T.38 parameters if we are in the middle of a T.38 session. (closes issue ASTERISK-21232) Reported by: Nitesh Bansal patches: dont-send-audio-reinvite-for-sess-timer-in-t38-call.patch uploaded by nbansal (License 6418) ........ Merged revisions 383124 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 383125 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--channels/chan_sip.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 002f93062..f3a260a27 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -29271,7 +29271,11 @@ static int proc_session_timer(const void *vp)
if (p->stimer->st_ref == SESSION_TIMER_REFRESHER_US) {
res = 1;
- transmit_reinvite_with_sdp(p, FALSE, TRUE);
+ if (T38_ENABLED == p->t38.state) {
+ transmit_reinvite_with_sdp(p, TRUE, TRUE);
+ } else {
+ transmit_reinvite_with_sdp(p, FALSE, TRUE);
+ }
} else {
p->stimer->st_expirys++;
if (p->stimer->st_expirys >= 2) {