Назад | Перейти на главную страницу

почему все программные телефоны не проходят аутентификацию после получения 401 неавторизованного сообщения от Asterisk?

Когда я пытаюсь подключиться к серверу Asterisk из CSipSimple, через Cisco маршрутизаторв той же сети журналы Asterisk показывают попытку подключения:

<------------->
[Mar 23 20:01:34] VERBOSE[4067] chan_sip.c: [Mar 23 20:01:34] --- (8 headers 0 lines) ---
[Mar 23 20:01:34] NOTICE[4067] chan_sip.c: Outbound Registration: Expiry for nat5.babytel.ca is 55 sec (Scheduling reregistration in 40 s)
[Mar 23 20:01:34] VERBOSE[4067] chan_sip.c: [Mar 23 20:01:34] Really destroying SIP dialog '5e070a0021f200c72308ddad6fe2521c@192.168.0.99' Method: REGISTER
[Mar 23 20:02:01] VERBOSE[20423] manager.c: [Mar 23 20:02:01]   == Manager 'sendcron' logged on from 127.0.0.1
[Mar 23 20:02:01] VERBOSE[20423] manager.c: [Mar 23 20:02:01]   == Manager 'sendcron' logged off from 127.0.0.1
[Mar 23 20:02:06] VERBOSE[20436] manager.c: [Mar 23 20:02:06]   == Manager 'sendcron' logged on from 127.0.0.1
[Mar 23 20:02:06] VERBOSE[20436] manager.c: [Mar 23 20:02:06]   == Manager 'sendcron' logged off from 127.0.0.1
[Mar 23 20:02:10] VERBOSE[4067] chan_sip.c: [Mar 23 20:02:10]
<--- SIP read from UDP:192.168.0.15:39462 --->
REGISTER sip:192.168.0.99 SIP/2.0
v: SIP/2.0/UDP 99.99.99.99:39462;rport;branch=z9hG4bKPjiUEFUHN08Wvs9xG2Q9tzRMOxFYJ323dO
Route: <sip:192.168.0.99;transport=udp;lr>
Max-Forwards: 70
f: <sip:201@192.168.0.99>;tag=HVPwJ.kg.9MW6PypcpObrVPGC3l3B-Uh
t: <sip:201@192.168.0.99>
i: QIsF0rZ0wYvzKC9S2P0rWhnYGsQ9FQbI
CSeq: 56288 REGISTER
User-Agent: CSipSimple_v1-16/r2457
m: <sip:201@99.99.99.99:39462;ob>;+sip.ice
Expires: 900
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
l: 0

<------------->
[Mar 23 20:02:10] VERBOSE[4067] chan_sip.c: [Mar 23 20:02:10] --- (13 headers 0 lines) ---
[Mar 23 20:02:10] VERBOSE[4067] chan_sip.c: [Mar 23 20:02:10] Sending to 192.168.0.15:39462 (NAT)
[Mar 23 20:02:10] VERBOSE[4067] chan_sip.c: [Mar 23 20:02:10]
<--- Transmitting (NAT) to 192.168.0.15:39462 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 99.99.99.99:39462;branch=z9hG4bKPjiUEFUHN08Wvs9xG2Q9tzRMOxFYJ323dO;received=192.168.0.15;rport=39462
From: <sip:201@192.168.0.99>;tag=HVPwJ.kg.9MW6PypcpObrVPGC3l3B-Uh
To: <sip:201@192.168.0.99>;tag=as0986faf4
Call-ID: QIsF0rZ0wYvzKC9S2P0rWhnYGsQ9FQbI
CSeq: 56288 REGISTER
Server: Asterisk PBX 1.8.29.0-vici
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="10600450"
Content-Length: 0

Сам CSipSimple не может подключиться к локальному серверу Asterisk.

Так как Джитси показывает похожие ошибки, похоже, это не зависит от клиента. Поскольку и Jitsi на Mac, и CSipSimple на телефоне Android могут выполнять голосовые вызовы, это, на мой взгляд, положительно устраняет причину наличия брандмауэра на маршрутизаторе.

Тем временем я отключил брандмауэр на сервере, чтобы исключить это как потенциальную проблему, в которой, по общему признанию, вероятно, не было необходимости.

Когда Asterisk отвечает 401 Unauthorized как узнать, почему соединение неавторизованное?

В полный журнал слишком велик для публикации здесь. Пока sip set debug on не предоставил никакого вывода, вывод этой команды Вот, хотя это было с Джитси.

Ошибка 401 Unauthorized не является ошибкой: так работает механизм аутентификации на SIP (см. этот ответ)

Линия:

[Mar 23 20:02:10] NOTICE[4067] chan_sip.c: Registration from '<sip:201@192.168.0.99>' failed for '192.168.0.15:39462' - Wrong password

Кажется очевидным: пароль в вашем SIP-клиенте неправильный, и аутентификация не удалась. Пароль SIP в sip.conf параметром "секрет" внутри определения вашего однорангового узла (201).