]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
use user_via if we send a 180 or 183
authorBrian West <brian@freeswitch.org>
Thu, 4 Jun 2009 16:53:27 +0000 (16:53 +0000)
committerBrian West <brian@freeswitch.org>
Thu, 4 Jun 2009 16:53:27 +0000 (16:53 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13614 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_sofia/mod_sofia.c

index 851e583ee035c4f6f22f83e4148b991d21ded2e2..7a1e79b366c18933ab34221c0d33abdf258c43e5 100644 (file)
@@ -1426,7 +1426,10 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
        case SWITCH_MESSAGE_INDICATE_RINGING:
                if (!switch_channel_test_flag(channel, CF_RING_READY) && !sofia_test_flag(tech_pvt, TFLAG_BYE) &&
                        !switch_channel_test_flag(channel, CF_EARLY_MEDIA) && !switch_channel_test_flag(channel, CF_ANSWERED)) {
-                       nua_respond(tech_pvt->nh, SIP_180_RINGING, SIPTAG_CONTACT_STR(tech_pvt->reply_contact), SIPTAG_HEADER_STR(generate_pai_str(session)), TAG_END());
+                       nua_respond(tech_pvt->nh, SIP_180_RINGING,
+                                               TAG_IF(!switch_strlen_zero(tech_pvt->user_via), SIPTAG_VIA_STR(tech_pvt->user_via)),
+                                               SIPTAG_CONTACT_STR(tech_pvt->reply_contact),
+                                               SIPTAG_HEADER_STR(generate_pai_str(session)), TAG_END());
                        switch_channel_mark_ring_ready(channel);
                }
                break;
@@ -1501,6 +1504,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
                                        nua_respond(tech_pvt->nh,
                                                                SIP_183_SESSION_PROGRESS,
                                                                NUTAG_AUTOANSWER(0),
+                                                               TAG_IF(!switch_strlen_zero(tech_pvt->user_via), SIPTAG_VIA_STR(tech_pvt->user_via)),
                                                                TAG_IF(sticky, NUTAG_PROXY(tech_pvt->record_route)),
                                                                SIPTAG_HEADER_STR(generate_pai_str(session)),
                                                                SIPTAG_CONTACT_STR(tech_pvt->reply_contact),