]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-6833 FS-6834 add support for X-headers in this 3p mode
authorAnthony Minessale <anthm@freeswitch.org>
Wed, 16 Sep 2015 21:12:16 +0000 (16:12 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Wed, 16 Sep 2015 21:12:16 +0000 (16:12 -0500)
src/mod/endpoints/mod_sofia/mod_sofia.c

index db21d6aa5892568697edf0138074647e0e31df07..65727f446ccd8ba7d3b64ae58e6231f13ededfa0 100644 (file)
@@ -1450,12 +1450,21 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
 
        case SWITCH_MESSAGE_INDICATE_3P_NOMEDIA:
                {
-                       nua_invite(tech_pvt->nh, NUTAG_MEDIA_ENABLE(0), SIPTAG_PAYLOAD_STR(msg->string_arg), TAG_END());
+                       char *extra_headers = sofia_glue_get_extra_headers(channel, SOFIA_SIP_HEADER_PREFIX);
+
+                       nua_invite(tech_pvt->nh, NUTAG_MEDIA_ENABLE(0), SIPTAG_PAYLOAD_STR(msg->string_arg), 
+                                          TAG_IF(!zstr(extra_headers), SIPTAG_HEADER_STR(extra_headers)), TAG_END());
+                       
+                       switch_safe_free(extra_headers);
                }
                break;
        case SWITCH_MESSAGE_INDICATE_3P_MEDIA:
                {
-                       nua_invite(tech_pvt->nh, NUTAG_MEDIA_ENABLE(0), SIPTAG_PAYLOAD_STR(""), TAG_END());
+                       char *extra_headers = sofia_glue_get_extra_headers(channel, SOFIA_SIP_HEADER_PREFIX);
+                       nua_invite(tech_pvt->nh, NUTAG_MEDIA_ENABLE(0), SIPTAG_PAYLOAD_STR(""), 
+                                          TAG_IF(!zstr(extra_headers), SIPTAG_HEADER_STR(extra_headers)), TAG_END());
+
+                       switch_safe_free(extra_headers);
                }
                break;