diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 52030e7b3f0c493088367f5f480fea01f922ea44..8b1bcf4d2d134c1d7c652f1065f5a531b9068d04 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -9858,6 +9858,10 @@ static enum check_auth_result check_user_full(struct sip_pvt *p, struct sip_requ } { char *tmp = ast_strdupa(of); + /* We need to be able to handle auth-headers looking like + <sip:8164444422;phone-context=+1@1.2.3.4:5060;user=phone;tag=SDadkoa01-gK0c3bdb43> + */ + tmp = strsep(&tmp, ";"); if (ast_is_shrinkable_phonenumber(tmp)) ast_shrink_phone_number(tmp); ast_string_field_set(p, cid_num, tmp);