fix dest parser to not hit false positive

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15350 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2009-11-04 16:46:17 +00:00
parent b5ade3d103
commit 72a8ae5c52

View File

@ -3069,12 +3069,18 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session
switch_channel_set_variable(nchannel, "sip_destination_url", tech_pvt->dest);
dest_num = switch_core_session_strdup(nsession, dest);
if ((p = strchr(dest_num, ':'))) {
dest_num = p + 1;
if ((p = strchr(dest_num, '@'))) {
*p = '\0';
if ((p = strchr(dest_num, '@'))) {
*p = '\0';
if ((p = strrchr(dest_num, '/'))) {
dest_num = p + 1;
} else if ((p = (char *)switch_stristr("sip:", dest_num))) {
dest_num = p + 4;
} else if ((p = (char *)switch_stristr("sips:", dest_num))) {
dest_num = p + 5;
}
}
caller_profile = switch_caller_profile_clone(nsession, outbound_profile);
caller_profile->destination_number = switch_core_strdup(caller_profile->pool, dest_num);