From da75a96ec504f2a16bc8ce9d7d8733cc05e7ea4c Mon Sep 17 00:00:00 2001 From: Stefan Knoblich Date: Tue, 18 Dec 2007 22:06:20 +0000 Subject: [PATCH] Correctly handle a transport= parameter passed via destination url to mod_sofia git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6883 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/endpoints/mod_sofia/sofia_glue.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c index 69c81335d8..96dabba8aa 100644 --- a/src/mod/endpoints/mod_sofia/sofia_glue.c +++ b/src/mod/endpoints/mod_sofia/sofia_glue.c @@ -701,18 +701,19 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session) rpid_domain = "cluecon.com"; } - if (switch_stristr("port=tcp", url)) { - transport = SOFIA_TRANSPORT_TCP; + if ((p = (char *)switch_stristr("port=", url))) { + p += 5; + transport = sofia_glue_str2transport( p ); } else { if ((t_var = switch_channel_get_variable(channel, "sip_transport"))) { - sofia_transport_t t_val; - - if ((t_val = sofia_glue_str2transport(t_var)) != SOFIA_TRANSPORT_UNKNOWN) { - transport = t_val; - } + transport = sofia_glue_str2transport(t_var); } } + if (transport == SOFIA_TRANSPORT_UNKNOWN) { + transport = SOFIA_TRANSPORT_UDP; + } + if (switch_strlen_zero(tech_pvt->invite_contact)) { if (sofia_glue_transport_has_tls(transport)) tech_pvt->invite_contact = tech_pvt->profile->tls_url;