FS-3847 --resolve

This commit is contained in:
Anthony Minessale 2012-01-28 13:09:12 -06:00
parent 09ad887948
commit 20737713ec
2 changed files with 16 additions and 5 deletions

View File

@ -5139,15 +5139,22 @@ char *sofia_glue_get_url_from_contact(char *buf, uint8_t to_dup)
{
char *url = NULL, *e;
while((e = strchr(buf, '"'))) {
buf = e+1;
while(*buf == ' ') {
buf++;
}
if (*buf == '"') {
buf++;
while((e = strchr(buf, '"'))) {
buf = e+1;
}
}
while(*buf == ' ') {
buf++;
}
if ((url = strchr(buf, '<')) && (e = strchr(url, '>'))) {
if ((url = strchr(buf, '<')) && (e = switch_find_end_paren(url, '<', '>'))) {
url++;
if (to_dup) {
url = strdup(url);

View File

@ -1811,7 +1811,11 @@ static void _send_presence_notify(sofia_profile_t *profile,
dst = sofia_glue_get_destination((char *) o_contact);
switch_assert(dst);
contact = sofia_glue_get_url_from_contact(dst->contact, 1);
if (!zstr(dst->contact)) {
contact = sofia_glue_get_url_from_contact(dst->contact, 1);
} else {
contact = strdup(o_contact);
}
if (dst->route_uri) {
route_uri = sofia_glue_strip_uri(dst->route_uri);
@ -1864,7 +1868,7 @@ static void _send_presence_notify(sofia_profile_t *profile,
);
}
switch_mutex_lock(profile->ireg_mutex);
if (!profile->cseq_base) {
profile->cseq_base = (now - 1312693200) * 10;