Я использую программный телефон Телефон на macOS.При выполнении вызова он отправляет следующий запрос INVITE:
INVITE sip:login@sip.antisip.com SIP/2.0
Via: SIP/2.0/UDP 192.168.1.13:63980;rport;branch=z9hG4bKPj1J2vaemfz28guXCjwsCNuCM4K7AGksTF
Max-Forwards: 70
From: "Andriy Makukha" <sip:nickname@sip.linphone.org>;tag=CK3y0yotv2v1AclTF2sBahkYcA721X7t
To: <sip:login@sip.antisip.com>
Contact: "Andriy Makukha" <sip:nickname@192.168.1.13:63980;ob>
Call-ID: Tu2FDGIveVVM1BZFKY1IUYFxkxuBWZU5
CSeq: 18057 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, norefersub
User-Agent: Telephone 1.4
Content-Type: application/sdp
Content-Length: 541
...
Как видите, запрос не имеет ни заголовка Proxy-Authorization
, ни Authorization
.Однако сервер никогда не вызывает этот запрос с ответом 407 Proxy Authentication Required
.Вызов всегда проходит напрямую.
С другой стороны, когда я использую другой SIP-клиент, сервер всегда отправляет ответ Proxy Authentication Required.
Что делает Телефон, позволяющий избежать аутентификации во время разговора?
Дополнительная информация:
- после запуска программный телефон отправляет запрос REGISTER и получает ответ
401 Unathorized
, а затем повторно отправляет REGISTER с помощью Authorization
header - запрос REGISTER отправляется на 91.121.209.194, который является A-записью для домена sip.linphone.org (домен вызывающего абонента)
- , однако запрос INVITE выполняется отправлено напрямую на 91.121.30.149, что является А-записью для домена sip.antisip.com (домен вызываемого абонента).