summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2014-04-30 15:04:12 +0000
committerLiong Sauw Ming <ming@teluu.com>2014-04-30 15:04:12 +0000
commit265eb98a5593f52bacdf6b4a03d1f0cfae795d10 (patch)
treeeb63fb1760aa57333f41127a1563b363121af553
parent88ae49c716c90975e9fcb1bfa96716576a5da172 (diff)
Fixed #1764: Use latest early media SDP received on forked early media on 18x response
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4830 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjsip/src/pjsip-ua/sip_inv.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c
index 7f9e0e26..380a418e 100644
--- a/pjsip/src/pjsip-ua/sip_inv.c
+++ b/pjsip/src/pjsip-ua/sip_inv.c
@@ -1833,7 +1833,8 @@ static pj_status_t inv_check_sdp_in_incoming_msg( pjsip_inv_session *inv,
*/
if (tsx->role == PJSIP_ROLE_UAC &&
(st_code/100 == 2 ||
- (st_code==183 && pjsip_cfg()->endpt.follow_early_media_fork)) &&
+ (st_code/10 == 18 /* st_code == 18x */
+ && pjsip_cfg()->endpt.follow_early_media_fork)) &&
tsx_inv_data->done_early &&
pj_stricmp(&tsx_inv_data->done_tag, &res_tag))
{
@@ -1842,7 +1843,7 @@ static pj_status_t inv_check_sdp_in_incoming_msg( pjsip_inv_session *inv,
PJ_LOG(4,(inv->obj_name, "Received forked %s response "
"after SDP negotiation has been done in early "
"media. Renegotiating SDP..",
- (st_code==183? "early" : "final" )));
+ (st_code/10==18? "early" : "final" )));
/* Retrieve original SDP offer from INVITE request */
reoffer_sdp = (const pjmedia_sdp_session*)
@@ -1855,7 +1856,7 @@ static pj_status_t inv_check_sdp_in_incoming_msg( pjsip_inv_session *inv,
reoffer_sdp);
if (status != PJ_SUCCESS) {
PJ_LOG(1,(inv->obj_name, "Error updating local offer for "
- "forked 2xx/183 response (err=%d)", status));
+ "forked 2xx/18x response (err=%d)", status));
return status;
}