diff --git a/channels/chan_sip.c b/channels/chan_sip.c index b3fdec8c83..4621db4656 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -3961,8 +3961,11 @@ static int get_destination(struct sip_pvt *p, struct sip_request *oreq) *a = '\0'; } if (fr) { - if ((a = strchr(fr, '@')) || (a = strchr(fr, ';'))) { + if ((a = strchr(fr, ';'))) *a = '\0'; + if ((a = strchr(fr, '@'))) { + *a = '\0'; + strncpy(p->fromdomain, a + 1, sizeof(p->fromdomain) - 1); } } if (sipdebug)