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);