res_pjsip_session: Delay sending BYE if a re-INVITE transaction is in progress.
authorJoshua Colp <jcolp@digium.com>
Fri, 12 Dec 2014 13:06:24 +0000 (13:06 +0000)
committerJoshua Colp <jcolp@digium.com>
Fri, 12 Dec 2014 13:06:24 +0000 (13:06 +0000)
commit74d43977cf1ec43b9d5d8f84cc64592fdbd11115
treee49497e449926fdbb08abb648437bd40419c94da
parent8d384f38254142b6b41d335deebaf03fb8a8038b
res_pjsip_session: Delay sending BYE if a re-INVITE transaction is in progress.

Given the scenario where a PJSIP channel is in a native RTP bridge with direct
media and the channel is then hung up the code will currently re-INVITE the channel
back to Asterisk and send a BYE at the same time. Many SIP implementations dislike
this greatly.

This change makes it so that if a re-INVITE transaction is in progress the BYE
is queued to occur after the completion of the transaction (be it through normal
means or a timeout).

Review: https://reviewboard.asterisk.org/r/4248/
........

Merged revisions 429409 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@429410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_pjsip.c
include/asterisk/res_pjsip_session.h
res/res_pjsip_session.c
res/res_pjsip_session.exports.in