]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[mod_sofia] Fix handling of late offer 1804/head
authorJakub Karolczyk <jakub.karolczyk@signalwire.com>
Fri, 9 Sep 2022 10:07:19 +0000 (11:07 +0100)
committerJakub Karolczyk <jakub.karolczyk@signalwire.com>
Fri, 9 Sep 2022 10:07:19 +0000 (11:07 +0100)
src/mod/endpoints/mod_sofia/sofia.c

index 82f990d906cda591bed1a70f27691f4364698e7f..9022039eb37c98a2aade5196579911791074e383 100644 (file)
@@ -8576,7 +8576,11 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
                                if (!tech_pvt) goto done;
 
                                if (tech_pvt->mparams.num_codecs) {
-                                       match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_RESPONSE);
+                                       if (sofia_test_flag(tech_pvt, TFLAG_GOT_ACK)) {
+                                               match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_REQUEST);
+                                       } else {
+                                               match = sofia_media_negotiate_sdp(session, r_sdp, SDP_TYPE_RESPONSE);
+                                       }
                                }
 
                                if (match) {