From 39cebb4fc9f8979a8265603605bd8e164386171f Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 15 Nov 2007 22:45:15 +0000 Subject: [PATCH] add from-user param to gateways git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6293 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- conf/directory/default.xml | 2 ++ conf/sip_profiles/default.xml | 2 ++ src/mod/endpoints/mod_sofia/sofia.c | 11 +++++++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/conf/directory/default.xml b/conf/directory/default.xml index bcd4274adc..81666f9f5c 100644 --- a/conf/directory/default.xml +++ b/conf/directory/default.xml @@ -18,6 +18,8 @@ + + diff --git a/conf/sip_profiles/default.xml b/conf/sip_profiles/default.xml index a7f53310cc..91c7cdfe16 100644 --- a/conf/sip_profiles/default.xml +++ b/conf/sip_profiles/default.xml @@ -10,6 +10,8 @@ + + diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index d48e2400ad..b445b5e42a 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -561,6 +561,7 @@ static void parse_gateways(sofia_profile_t *profile, switch_xml_t gateways_tag) *context = "default", *expire_seconds = "3600", *retry_seconds = "30", + *from_user = "", *from_domain = "", *register_proxy = NULL, *contact_params = NULL, @@ -599,6 +600,8 @@ static void parse_gateways(sofia_profile_t *profile, switch_xml_t gateways_tag) expire_seconds = val; } else if (!strcmp(var, "retry-seconds")) { retry_seconds = val; + } else if (!strcmp(var, "from-user")) { + from_user = val; } else if (!strcmp(var, "from-domain")) { from_domain = val; } else if (!strcmp(var, "register-proxy")) { @@ -629,6 +632,10 @@ static void parse_gateways(sofia_profile_t *profile, switch_xml_t gateways_tag) goto skip; } + if (switch_strlen_zero(from_user)) { + from_user = username; + } + if (switch_strlen_zero(extension)) { extension = username; } @@ -672,9 +679,9 @@ static void parse_gateways(sofia_profile_t *profile, switch_xml_t gateways_tag) params = switch_core_sprintf(gateway->pool, ";transport=%s", register_transport); } - + gateway->register_url = switch_core_sprintf(gateway->pool, "sip:%s;transport=%s", register_proxy,register_transport); - gateway->register_from = switch_core_sprintf(gateway->pool, "", username, from_domain, register_transport); + gateway->register_from = switch_core_sprintf(gateway->pool, "", from_user, from_domain, register_transport); gateway->register_contact = switch_core_sprintf(gateway->pool, "", extension, profile->extsipip ? profile->extsipip : profile->sipip, profile->sip_port, params);