|
|
@ -7142,16 +7142,16 @@ static int get_destination(struct sip_pvt *p, struct sip_request *oreq)
|
|
|
|
return -1;
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
from += 4;
|
|
|
|
from += 4;
|
|
|
|
from = strsep(&from, ";");
|
|
|
|
|
|
|
|
if ((a = strchr(from, '@')))
|
|
|
|
if ((a = strchr(from, '@')))
|
|
|
|
*a++ = '\0';
|
|
|
|
*a++ = '\0';
|
|
|
|
else
|
|
|
|
else
|
|
|
|
a = from; /* just a domain */
|
|
|
|
a = from; /* just a domain */
|
|
|
|
|
|
|
|
from = strsep(&from, ";"); /* Remove userinfo options */
|
|
|
|
|
|
|
|
a = strsep(&a, ";"); /* Remove URI options */
|
|
|
|
ast_string_field_set(p, fromdomain, a);
|
|
|
|
ast_string_field_set(p, fromdomain, a);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* Skip any options and find the domain */
|
|
|
|
/* Skip any options and find the domain */
|
|
|
|
uri = strsep(&uri, ";");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Get the target domain */
|
|
|
|
/* Get the target domain */
|
|
|
|
if ((a = strchr(uri, '@'))) {
|
|
|
|
if ((a = strchr(uri, '@'))) {
|
|
|
@ -7164,6 +7164,9 @@ static int get_destination(struct sip_pvt *p, struct sip_request *oreq)
|
|
|
|
if (colon)
|
|
|
|
if (colon)
|
|
|
|
*colon = '\0';
|
|
|
|
*colon = '\0';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uri = strsep(&uri, ";"); /* Remove userinfo options */
|
|
|
|
|
|
|
|
a = strsep(&a, ";"); /* Remove URI options */
|
|
|
|
|
|
|
|
|
|
|
|
ast_string_field_set(p, domain, a);
|
|
|
|
ast_string_field_set(p, domain, a);
|
|
|
|
|
|
|
|
|
|
|
|
if (!AST_LIST_EMPTY(&domain_list)) {
|
|
|
|
if (!AST_LIST_EMPTY(&domain_list)) {
|
|
|
|