mod_rayo: add offer-uri param (default true) to toggle between URI and number in to/from of offer

This commit is contained in:
Chris Rienzo 2013-08-10 09:30:33 -04:00
parent 60e8ca1bcc
commit 83ba706049

View File

@ -214,6 +214,8 @@ static struct {
int shutdown; int shutdown;
/** prevents context shutdown until all threads are finished */ /** prevents context shutdown until all threads are finished */
switch_thread_rwlock_t *shutdown_rwlock; switch_thread_rwlock_t *shutdown_rwlock;
/** if true, URI is put in from/to of offer if available */
int offer_uri;
} globals; } 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(presence, "from", RAYO_JID(call));
iks_insert_attrib(offer, "xmlns", RAYO_NS); 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 */ /* is a SIP call - pass the URI */
if (!strchr(val, ':')) { if (!strchr(val, ':')) {
iks_insert_attrib_printf(offer, "from", "sip:%s", 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); 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 */ /* is a SIP call - pass the URI */
if (!strchr(val, ':')) { if (!strchr(val, ':')) {
iks_insert_attrib_printf(offer, "to", "sip:%s", 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.max_idle_ms = 30000;
globals.mixer_conf_profile = "sla"; globals.mixer_conf_profile = "sla";
globals.num_message_threads = 8; globals.num_message_threads = 8;
globals.offer_uri = 1;
/* get params */ /* 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; globals.num_message_threads = num_message_threads;
} }
} }
} else if (!strcasecmp(var, "offer-uri")) {
if (switch_false(val)) {
globals.offer_uri = 0;
}
} else { } else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unsupported param: %s\n", var); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unsupported param: %s\n", var);
} }