AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Unauthorized 401

OpenSER 8 сообщений -
#1

Unauthorized 401


Использую 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: "3CX VoIP Phone";tag=5240596a
To: ;tag=as68219ad8
Call-ID: MzFmZjI4M2I2ODAyNzBiODI1ZmRiN2I2ZDZkYTA5ZTI.
CSeq: 1 INVITE
User-Agent: Twinkle
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="74f88fa6"
Content-Length: 0


А при второй попытке уже нормально:
Код:
SIP/2.0 183 Session Progress
Via: SIP/2.0/UDP yyy.yyy.yyy.yyy:3417;received=yyy.yyy.yyy.yyy;branch=z9hG4bK-d8754z-0026e105847d1d4f-1---d8754z-;rport=3417
Record-Route:
From: "3CX VoIP Phone";tag=5240596a
To: ;tag=as7d4b8155
Call-ID: MzFmZjI4M2I2ODAyNzBiODI1ZmRiN2I2ZDZkYTA5ZTI.
CSeq: 2 INVITE
User-Agent: Twinkle
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
Contact:
Content-Type: application/sdp
Content-Length: 286


Причем, если добавить в таблицу load_balancer еще один астериск, то Opensips попробует по одной попытке на каждый их них и выдаст сообщение, эквивалентное первому. Никто не сталкивался с этим? На всякий случай лог и конфиг в аттаче.
#2

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

Проблема в том, что
Код:
SIP/2.0 401 Unauthorized

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

Added after 1 hours 6 minutes:

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

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

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

_________________
ys
http://voip.rus.net/
#5

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

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

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



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: "------" ;tag=d5ae7445ea3dc6b6

To: ;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

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

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