Unauthorized 401

Kamailio/OpenSIPS и другие производные от SER.

Модераторы: Admins, Модераторы

Ответить
fallen
Сообщения: 28
Зарегистрирован: 27 апр 2009, 12:27

Unauthorized 401

Сообщение fallen » 09 июл 2009, 15:18

Использую load_balancer стандратный скрипт. В таблице load_balancer Толкьо одна запись:

Код: Выделить всё

mysql> select * from load_balancer;
+----+----------+-------------------+-----------+-------------+
| id | group_id | dst_uri           | resources | description |
+----+----------+-------------------+-----------+-------------+
| 10 |        1 |sip:zzz.zzz.zzz.zzz | transc=5  |             |
+----+----------+-------------------+-----------+-------------+
При звонке непонятно почему отсылается такое сообщение:

Код: Выделить всё

SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP yyy.yyy.yyy.yyy:3417;received=yyy.yyy.yyy.yyy;branch=z9hG4bK-d8754z-9d3eef70b10edd2c-1---d8754z-;rport=3417
From&#58; "3CX VoIP Phone"<sip&#58;xlite1@xxx.xxx.xxx.xxx&#58;5060>;tag=5240596a
To&#58; <sip&#58;358923128636@xxx.xxx.xxx.xxx&#58;5060>;tag=as68219ad8
Call-ID&#58; MzFmZjI4M2I2ODAyNzBiODI1ZmRiN2I2ZDZkYTA5ZTI.
CSeq&#58; 1 INVITE
User-Agent&#58; Twinkle
Allow&#58; INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported&#58; replaces, timer
WWW-Authenticate&#58; Digest algorithm=MD5, realm="asterisk", nonce="74f88fa6"
Content-Length&#58; 0
А при второй попытке уже нормально:

Код: Выделить всё

SIP/2.0 183 Session Progress
Via&#58; SIP/2.0/UDP yyy.yyy.yyy.yyy&#58;3417;received=yyy.yyy.yyy.yyy;branch=z9hG4bK-d8754z-0026e105847d1d4f-1---d8754z-;rport=3417
Record-Route&#58; <sip&#58;xxx.xxx.xxx.xxx;lr=on;ftag=5240596a;did=11.e6a093d3>
From&#58; "3CX VoIP Phone"<sip&#58;xlite1@xxx.xxx.xxx.xxx&#58;5060>;tag=5240596a
To&#58; <sip&#58;358923128636@xxx.xxx.xxx.xxx&#58;5060>;tag=as7d4b8155
Call-ID&#58; MzFmZjI4M2I2ODAyNzBiODI1ZmRiN2I2ZDZkYTA5ZTI.
CSeq&#58; 2 INVITE
User-Agent&#58; Twinkle
Allow&#58; INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported&#58; replaces, timer
Contact&#58; <sip&#58;358923128636@zzz.zzz.zzz.zzz>
Content-Type&#58; application/sdp
Content-Length&#58; 286
Причем, если добавить в таблицу load_balancer еще один астериск, то Opensips попробует по одной попытке на каждый их них и выдаст сообщение, эквивалентное первому. Никто не сталкивался с этим? На всякий случай лог и конфиг в аттаче.
Вложения
config.txt
(3.69 КБ) 64 скачивания
opensips.txt
(28.33 КБ) 64 скачивания

dyer
Модератор
Сообщения: 251
Зарегистрирован: 03 мар 2005, 15:37
Откуда: Санкт Петербург

Сообщение dyer » 13 июл 2009, 08:55

рекомендую воспользоваться tcpdump/wireshark и запросы от самого sip-клиента тоже имеет смысл анализировать.

fallen
Сообщения: 28
Зарегистрирован: 27 апр 2009, 12:27

Сообщение fallen » 23 июл 2009, 15:17

Проблема в том, что

Код: Выделить всё

SIP/2.0 401 Unauthorized
посылает астериск. При повторном инвайте на тот же астериск, звонок проходит. А вот если в таблицу добавить еще один астериск, то опенсипс посылает первый и третий инвайты на первый астериск, а второй инвайт на второй астериск и звонок не проходит. Как сделать так, чтобы при получении сообщения Unauthorized, опенсипс повторял звонок на тот же астериск?

Added after 1 hours 6 minutes:

Если упростить вопрос, то мне нужно знать в какой переменной хранится статус ответа? И как сделать повторный инвайт только с помощью опенсипса, не отправляя ответ клиенту?

ys
Модератор
Сообщения: 688
Зарегистрирован: 28 апр 2005, 10:00
Откуда: Петербург
Контактная информация:

Сообщение ys » 23 июл 2009, 15:25

>посылает астериск.

Сказать ему, чтоб не требовал авторизацию с этого пира, по его IP.

fallen
Сообщения: 28
Зарегистрирован: 27 апр 2009, 12:27

Сообщение fallen » 23 июл 2009, 15:27

Астериск не администрируем. Могу только Опенсипс править.

Аватара пользователя
kks
Сообщения: 29
Зарегистрирован: 03 июл 2009, 07:49

Сообщение kks » 24 июл 2009, 03:58

А чем вам мешает текущее положение дел? Ну и пусть авторизовывается

Camaro
Сообщения: 6
Зарегистрирован: 29 окт 2009, 14:16

Сообщение Camaro » 03 ноя 2009, 10:22

У меня похожая проблема
вот sip debug на asteriske

<--- Transmitting (NAT) to serhost:5060 --->

SIP/2.0 401 Unauthorized

Via: SIP/2.0/UDP [serhost];branch=z9hG4bK1ce47d96a9964a7f;received=serhost
Via: SIP/2.0/UDP [serhost];branch=z9hG4bK1ce47d96a9964a7f

Via: SIP/2.0/UDP [serhost];branch=z9hG4bK1ce47d96a9964a7f

Via: SIP/2.0/UDP [ip телефона]:5060;received=80.250.160.161;received=80.250.160.161;received=80.250.160.161;branch=z9hG4bK1ce47d96a9964a7f

From: "------" <sip:34@serhost>;tag=d5ae7445ea3dc6b6

To: <sip:34@serhost>;tag=as0f6d5d6c

Call-ID: 9469f7323832b9e4@ip телефона

CSeq: 13124 REGISTER

User-Agent: Asterisk PBX

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY

Supported: replaces

WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="4f058752"

Content-Length: 0


Система такая: запрос поступает на сервер openser (если запрос о регистрации, то мы сначала производим аутентификацию пользователя, а потом посылаем его на астериск для дальнейшей регистрации, все остальные запросы прямиком идут на астор без авторизации), то есть openser работает в stateless режиме и только авторизует пользователей.
При чем как только мы запускаем опенсер или подключаем телефон к сети, первый, иногда и второй звонок не осуществляется (тут скорее всего не от количетсва звонков зависит, а от времени). Вопрос в том почему так происходит. Ибо потом звонки осуществляются.
В конфиге астера прописано:
[openser]
type=peer
context=default
host=openserhost

Подскажите, пожалуйста что не так.

Аватара пользователя
kks
Сообщения: 29
Зарегистрирован: 03 июл 2009, 07:49

Сообщение kks » 04 ноя 2009, 08:37

могу ошибаться, но попробуйте type=friend

Ответить