char tmp[256] = "", *uri, *a;
char tmpf[256], *from;
struct sip_request *req;
+ char *colon;
req = oreq;
if (!req)
ast_uri_decode(from);
}
+ /* Skip any options */
+ if ((a = strchr(uri, ';'))) {
+ *a = '\0';
+ }
+
/* Get the target domain */
if ((a = strchr(uri, '@'))) {
- char *colon;
*a = '\0';
a++;
colon = strchr(a, ':'); /* Remove :port */
if (colon)
*colon = '\0';
- ast_string_field_set(p, domain, a);
- }
- /* Skip any options */
- if ((a = strchr(uri, ';'))) {
- *a = '\0';
+ } else { /* No username part */
+ a = uri;
+ uri = "s"; /* Set extension to "s" */
}
+ colon = strchr(a, ':'); /* Remove :port */
+ if (colon)
+ *colon = '\0';
+
+ ast_string_field_set(p, domain, a);
if (!AST_LIST_EMPTY(&domain_list)) {
char domain_context[AST_MAX_EXTENSION];