[Freeswitch-svn] [commit] r3558 - in freeswitch/trunk/src: . mod/endpoints/mod_sofia
Freeswitch SVN
anthm at freeswitch.org
Wed Dec 6 12:19:08 EST 2006
Author: anthm
Date: Wed Dec 6 12:19:07 2006
New Revision: 3558
Modified:
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
freeswitch/trunk/src/switch_channel.c
freeswitch/trunk/src/switch_core.c
Log:
tweak
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Wed Dec 6 12:19:07 2006
@@ -1214,7 +1214,7 @@
case SWITCH_CAUSE_ORIGINATOR_CANCEL:
return 487;
default:
- return 500;
+ return 480;
}
}
@@ -3938,6 +3938,7 @@
char *req_user, *req_host, *req_port;
char *contact_user, *contact_host, *contact_port;
char *via_rport, *via_host, *via_port;
+ char *from_port;
char uri[1024];
if (!(tech_pvt = (private_object_t *) switch_core_session_alloc(session, sizeof(private_object_t)))) {
@@ -4017,10 +4018,16 @@
switch_channel_set_variable(channel, "sip_from_user_stripped", (char *)from->a_url->url_user);
}
switch_channel_set_variable(channel, "sip_from_host", (char *) from->a_url->url_host);
- switch_channel_set_variable(channel, "sip_from_port", (char *) from->a_url->url_port);
+
+ if (!(from_port = (char *) from->a_url->url_port)) {
+ from_port = "5060";
+ }
- snprintf(uri, sizeof(uri), "%s@%s:%s", (char *) from->a_url->url_user, (char *) from->a_url->url_host, (char *) from->a_url->url_port);
+ switch_channel_set_variable(channel, "sip_from_port", from_port);
+
+
+ snprintf(uri, sizeof(uri), "%s@%s:%s", (char *) from->a_url->url_user, (char *) from->a_url->url_host, from_port);
switch_channel_set_variable(channel, "sip_from_uri", uri);
Modified: freeswitch/trunk/src/switch_channel.c
==============================================================================
--- freeswitch/trunk/src/switch_channel.c (original)
+++ freeswitch/trunk/src/switch_channel.c Wed Dec 6 12:19:07 2006
@@ -1114,7 +1114,7 @@
size_t sp = 0, len = 0, olen = 0, vtype = 0, br = 0, cpos, block = 128;
char *sub_val = NULL, *func_val = NULL;
- if (!strchr(in, '$') && !strchr(in, '^')) {
+ if (!strchr(in, '$')) {
return in;
}
@@ -1130,7 +1130,7 @@
if (*p == '$') {
vtype = 1;
}
- if (*p == '^') {
+ if (*(p+1) != '{') {
vtype = 2;
}
@@ -1219,7 +1219,7 @@
len++;
}
- if (*p == '$' || *p == '^') {
+ if (*p == '$') {
p--;
} else {
*c++ = *p;
Modified: freeswitch/trunk/src/switch_core.c
==============================================================================
--- freeswitch/trunk/src/switch_core.c (original)
+++ freeswitch/trunk/src/switch_core.c Wed Dec 6 12:19:07 2006
@@ -2651,7 +2651,7 @@
return;
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "No Dialplan, Aborting\n");
- switch_channel_hangup(session->channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+ switch_channel_hangup(session->channel, SWITCH_CAUSE_NO_ROUTE_DESTINATION);
}
}
}
More information about the Freeswitch-svn
mailing list