SIP Error 401 Unauthorized: траблшутинг Digest-аутентификации
- Сервер возвращает ответ
SIP/2.0 401 Unauthorizedс заголовкомWWW-Authenticate. - IP-телефон зацикливается на отправке повторных запросов
REGISTER. - Устройство не встает на регистрацию, в логах АТС фиксируется
Wrong passwordилиUsername/realm mismatch.
1. Анализ процесса Digest Authentication
Ответ 401 является штатным первым шагом аутентификации SIP. Проблема возникает, когда клиент не может ответить корректным Authorization хэшем:
1. Клиент -> REGISTER (без пароля)
2. Сервер -> SIP/2.0 401 Unauthorized (содержит realm="asterisk", nonce="dcd98b712...")
3. Клиент -> REGISTER (с заголовком Authorization: Digest username="101", response="...")
4. Сервер -> SIP/2.0 200 OK (или повторный 401 при неверном пароле)2. Проверка соответствия учетных данных в Asterisk PJSIP
asterisk -rx "pjsip show auth auth101"
asterisk -rx "pjsip show endpoint 101"3. Корректная конфигурация pjsip.conf
[auth101]
type=auth
auth_type=userpass
password=SuperSecureSIPSecretPass123
username=101
realm=asterisk
[101]
type=endpoint
auth=auth101
aors=101
context=internal Частые вопросы (FAQ)
Является ли единичный ответ SIP 401 ошибкой?
Нет, получение одного 401 в начале сессии — это стандартное требование RFC 3261 для отправки Challenge Nonce. Ошибкой считается ситуация, когда 401 возвращается повторно после передачи клиентом ответа с MD5-хэшем пароля.
Почему совпадение realm имеет критическое значение?
Значение realm участвует в формировании MD5-хэша: MD5(username:realm:password). Если realm на телефоне и сервере различается, хэши не совпадут даже при верном пароле.