From 090871816ecb857b83e8f4381c7840a3647adb55 Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Sat, 16 Oct 2010 04:40:01 +0000 Subject: Fixed #1148: - Added check in processing answer, if media offer port is zero, just skip negotiation process. - Added SIPp test scenario. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3347 74dad513-b988-da41-8d7b-12977e46ad98 --- pjmedia/src/pjmedia/sdp_neg.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'pjmedia/src') diff --git a/pjmedia/src/pjmedia/sdp_neg.c b/pjmedia/src/pjmedia/sdp_neg.c index 974809d9..1087efc1 100644 --- a/pjmedia/src/pjmedia/sdp_neg.c +++ b/pjmedia/src/pjmedia/sdp_neg.c @@ -771,7 +771,6 @@ static pj_status_t process_m_answer( pj_pool_t *pool, /* Check if remote has rejected our offer */ - if (answer->desc.port == 0) { /* Remote has rejected our offer. @@ -783,6 +782,13 @@ static pj_status_t process_m_answer( pj_pool_t *pool, return PJ_SUCCESS; } + /* Ticket #1148: check if remote answer does not set port to zero when + * offered with port zero. Let's just tolerate it. + */ + if (offer->desc.port == 0) { + /* Don't need to proceed */ + return PJ_SUCCESS; + } /* Process direction attributes */ update_media_direction(pool, answer, offer); -- cgit v1.2.3