From 9b954c379ccf9d510901e4d610327a9157a07598 Mon Sep 17 00:00:00 2001 From: Chris Rienzo Date: Sat, 10 Aug 2013 09:30:33 -0400 Subject: [PATCH] mod_rayo: add offer-uri param (default true) to toggle between URI and number in to/from of offer --- src/mod/event_handlers/mod_rayo/mod_rayo.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/mod/event_handlers/mod_rayo/mod_rayo.c b/src/mod/event_handlers/mod_rayo/mod_rayo.c index 6e2d90a4d9..fffffe31eb 100644 --- a/src/mod/event_handlers/mod_rayo/mod_rayo.c +++ b/src/mod/event_handlers/mod_rayo/mod_rayo.c @@ -214,6 +214,8 @@ static struct { int shutdown; /** prevents context shutdown until all threads are finished */ switch_thread_rwlock_t *shutdown_rwlock; + /** if true, URI is put in from/to of offer if available */ + int offer_uri; } globals; /** @@ -2802,7 +2804,7 @@ static iks *rayo_create_offer(struct rayo_call *call, switch_core_session_t *ses iks_insert_attrib(presence, "from", RAYO_JID(call)); iks_insert_attrib(offer, "xmlns", RAYO_NS); - if ((val = switch_channel_get_variable(channel, "sip_from_uri"))) { + if (globals.offer_uri && (val = switch_channel_get_variable(channel, "sip_from_uri"))) { /* is a SIP call - pass the URI */ if (!strchr(val, ':')) { iks_insert_attrib_printf(offer, "from", "sip:%s", val); @@ -2814,7 +2816,7 @@ static iks *rayo_create_offer(struct rayo_call *call, switch_core_session_t *ses iks_insert_attrib(offer, "from", profile->caller_id_number); } - if ((val = switch_channel_get_variable(channel, "sip_to_uri"))) { + if (globals.offer_uri && (val = switch_channel_get_variable(channel, "sip_to_uri"))) { /* is a SIP call - pass the URI */ if (!strchr(val, ':')) { iks_insert_attrib_printf(offer, "to", "sip:%s", val); @@ -3096,6 +3098,7 @@ static switch_status_t do_config(switch_memory_pool_t *pool, const char *config_ globals.max_idle_ms = 30000; globals.mixer_conf_profile = "sla"; globals.num_message_threads = 8; + globals.offer_uri = 1; /* get params */ { @@ -3124,6 +3127,10 @@ static switch_status_t do_config(switch_memory_pool_t *pool, const char *config_ globals.num_message_threads = num_message_threads; } } + } else if (!strcasecmp(var, "offer-uri")) { + if (switch_false(val)) { + globals.offer_uri = 0; + } } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unsupported param: %s\n", var); }