[Freeswitch-svn] [commit] r10226 - freeswitch/trunk/src/mod/endpoints/mod_sofia
Freeswitch SVN
anthm at freeswitch.org
Mon Nov 3 15:07:46 EST 2008
Author: anthm
Date: Mon Nov 3 15:07:45 2008
New Revision: 10226
Modified:
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c
Log:
follow on MODENDP-147
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c Mon Nov 3 15:07:45 2008
@@ -1205,7 +1205,7 @@
id = switch_mprintf("sip:%s@%s", sub_to_user, sub_to_host);
contact = sofia_glue_get_url_from_contact(o_contact, 1);
- if ((route = strstr(o_contact, ";fs_path=")) && (route = strdup(route + 9))) {
+ if ((route = strstr(contact, ";fs_path=")) && (route = strdup(route + 9))) {
for (p = route; p && *p ; p++) {
if (*p == '>' || *p == ';') {
@@ -1225,10 +1225,23 @@
}
}
- if (!route_uri && strstr(o_contact, ";fs_nat")) {
+ if (!route_uri && strstr(contact, ";fs_nat")) {
route_uri = contact;
}
+ if ((p = strstr(contact, ";fs_"))) {
+ *p = '\0';
+ }
+
+ if (route_uri) {
+ while (route_uri && *route_uri && (*route_uri == '<' || *route_uri == ' ')) {
+ route_uri++;
+ }
+ if ((p = strchr(route_uri, '>'))) {
+ *p++ = '\0';
+ }
+ }
+
nh = nua_handle(profile->nua, NULL, NUTAG_URL(contact), SIPTAG_FROM_STR(id), SIPTAG_TO_STR(id), SIPTAG_CONTACT_STR(h->profile->url), TAG_END());
nua_notify(nh,
More information about the Freeswitch-svn
mailing list