Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (17501 => 17502)
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c 2010-05-06 21:25:41 UTC (rev 17501)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c 2010-05-06 22:18:26 UTC (rev 17502)
@@ -5749,7 +5749,11 @@
const char *gw_name = NULL;
char *call_info_str = NULL;
nua_handle_t *bnh = NULL;
+ char sip_acl_authed_by[512] = "";
+ char sip_acl_token[512] = "";
+
+
profile->ib_calls++;
if (sess_count >= sess_max || !sofia_test_pflag(profile, PFLAG_RUNNING)) {
@@ -5830,10 +5834,8 @@
if (sofia_test_pflag(profile, PFLAG_AUTH_CALLS)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "IP %s Approved by acl \"%s[%s]\". Access Granted.\n",
network_ip, switch_str_nil(last_acl), acl_token);
- switch_channel_set_variable(channel, "sip_acl_authed_by", last_acl);
- if (token) {
- switch_channel_set_variable(channel, "sip_acl_token", acl_token);
- }
+ switch_set_string(sip_acl_authed_by, last_acl);
+ switch_set_string(sip_acl_token, acl_token);
is_auth = 1;
}
} else {
@@ -5891,11 +5893,11 @@
if (sofia_test_pflag(profile, PFLAG_AUTH_CALLS)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "IP %s Approved by acl \"%s[%s]\". Access Granted.\n",
proxied_client_ip, switch_str_nil(last_acl), acl_token);
+ switch_set_string(sip_acl_authed_by, last_acl);
+ switch_set_string(sip_acl_token, acl_token);
+
is_auth = 1;
- switch_channel_set_variable(channel, "sip_acl_authed_by", last_acl);
- if (token) {
- switch_channel_set_variable(channel, "sip_acl_token", acl_token);
- }
+
}
}
}
@@ -5994,6 +5996,15 @@
if (is_auth) {
switch_channel_set_variable(channel, "sip_authorized", "true");
+
+ if (!zstr(sip_acl_authed_by)) {
+ switch_channel_set_variable(channel, "sip_acl_authed_by", sip_acl_authed_by);
+ }
+
+ if (!zstr(sip_acl_token)) {
+ switch_channel_set_variable(channel, "sip_acl_token", sip_acl_token);
+ }
+
}
if (calling_myself) {