From 265eb98a5593f52bacdf6b4a03d1f0cfae795d10 Mon Sep 17 00:00:00 2001 From: Liong Sauw Ming Date: Wed, 30 Apr 2014 15:04:12 +0000 Subject: 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 --- pjsip/src/pjsip-ua/sip_inv.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'pjsip') 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; } -- cgit v1.2.3