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
This commit is contained in:
Matthew Jordan 2013-03-15 01:38:53 +00:00
parent d1d66c3878
commit cacc356bbe
1 changed files with 5 additions and 1 deletions

View File

@ -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) {