pjproject: bump to version 2.10
[feed/telephony.git] / libs / pjproject / patches / 0060-clone-sdp-for-sip-timer-refresh-invite.patch
diff --git a/libs/pjproject/patches/0060-clone-sdp-for-sip-timer-refresh-invite.patch b/libs/pjproject/patches/0060-clone-sdp-for-sip-timer-refresh-invite.patch
new file mode 100644 (file)
index 0000000..0fda06d
--- /dev/null
@@ -0,0 +1,27 @@
+--- a/pjmedia/src/pjmedia/sdp_neg.c
++++ b/pjmedia/src/pjmedia/sdp_neg.c
+@@ -906,7 +906,7 @@ static pj_status_t process_m_answer( pj_
+  * after receiving remote answer.
+  */
+ static pj_status_t process_answer(pj_pool_t *pool,
+-                                pjmedia_sdp_session *offer,
++                                pjmedia_sdp_session *local_offer,
+                                 pjmedia_sdp_session *answer,
+                                 pj_bool_t allow_asym,
+                                 pjmedia_sdp_session **p_active)
+@@ -914,10 +914,14 @@ static pj_status_t process_answer(pj_poo
+     unsigned omi = 0; /* Offer media index */
+     unsigned ami = 0; /* Answer media index */
+     pj_bool_t has_active = PJ_FALSE;
++    pjmedia_sdp_session *offer;
+     pj_status_t status;
+     /* Check arguments. */
+-    PJ_ASSERT_RETURN(pool && offer && answer && p_active, PJ_EINVAL);
++    PJ_ASSERT_RETURN(pool && local_offer && answer && p_active, PJ_EINVAL);
++
++    /* Duplicate local offer SDP. */
++    offer = pjmedia_sdp_session_clone(pool, local_offer);
+     /* Check that media count match between offer and answer */
+     // Ticket #527, different media count is allowed for more interoperability,