From dbed41b4f763c0bc82f0544592023fd7f5017a9a Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Sat, 15 Nov 2008 02:38:40 +0000 Subject: [PATCH] use the same call-id on all registers from the same gateway git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10415 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/endpoints/mod_sofia/mod_sofia.h | 1 + src/mod/endpoints/mod_sofia/sofia.c | 8 ++++++-- src/mod/endpoints/mod_sofia/sofia_reg.c | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.h b/src/mod/endpoints/mod_sofia/mod_sofia.h index 8b4863cae0..a83ab6b048 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.h +++ b/src/mod/endpoints/mod_sofia/mod_sofia.h @@ -299,6 +299,7 @@ struct sofia_gateway { switch_memory_pool_t *pool; int deleted; switch_event_t *vars; + char uuid_str[SWITCH_UUID_FORMATTED_LENGTH + 1]; struct sofia_gateway *next; }; diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index a721ab9d4e..425161b771 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -799,9 +799,13 @@ static void parse_gateways(sofia_profile_t *profile, switch_xml_t gateways_tag) *expire_seconds = "3600", *retry_seconds = "30", *from_user = "", *from_domain = "", *register_proxy = NULL, *contact_params = NULL, *params = NULL, *register_transport = NULL; - + uint32_t ping_freq = 0; - + switch_uuid_t uuid; + + switch_uuid_get(&uuid); + switch_uuid_format(gateway->uuid_str, &uuid); + gateway->register_transport = SOFIA_TRANSPORT_UDP; gateway->pool = profile->pool; gateway->profile = profile; diff --git a/src/mod/endpoints/mod_sofia/sofia_reg.c b/src/mod/endpoints/mod_sofia/sofia_reg.c index b53db99f7d..ea8979fe19 100644 --- a/src/mod/endpoints/mod_sofia/sofia_reg.c +++ b/src/mod/endpoints/mod_sofia/sofia_reg.c @@ -152,6 +152,7 @@ void sofia_reg_check_gateway(sofia_profile_t *profile, time_t now) sofia_reg_kill_reg(gateway_ptr, 0); if ((gateway_ptr->nh = nua_handle(gateway_ptr->profile->nua, NULL, + SIPTAG_CALL_ID_STR(gateway_ptr->uuid_str), NUTAG_URL(gateway_ptr->register_proxy), SIPTAG_TO_STR(gateway_ptr->register_to), NUTAG_CALLSTATE_REF(ss_state), SIPTAG_FROM_STR(gateway_ptr->register_from), TAG_END()))) {