aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--channels/chan_sip.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 92f3e7829..87d090e05 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -9514,6 +9514,8 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
}
if ((fromdomain = strchr(r->username, '@'))) {
+ /* the domain name is just behind '@' */
+ fromdomain++ ;
/* We have a domain in the username for registration */
snprintf(from, sizeof(from), "<sip:%s>;tag=%s", r->username, p->tag);
if (!ast_strlen_zero(p->theirtag))
@@ -9524,7 +9526,7 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
/* If the registration username contains '@', then the domain should be used as
the equivalent of "fromdomain" for the registration */
if (ast_strlen_zero(p->fromdomain)) {
- ast_string_field_set(p, fromdomain, ++fromdomain);
+ ast_string_field_set(p, fromdomain, fromdomain);
}
} else {
snprintf(from, sizeof(from), "<sip:%s@%s>;tag=%s", r->username, p->tohost, p->tag);