VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Проблема с одинаковым именем пира

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
andrew-khv
Сообщения: 14
Зарегистрирован: 29 янв 2021, 14:33

Проблема с одинаковым именем пира

Сообщение andrew-khv »

Здравствуйте.
Проблема следующая: на сервере имеем имена пиров соответствующие номерам мобильных (79998887766). Такой формат связан с системой авторизации в информационной системе компании, которая появилась задолго до Астериска и менять ее будет сложно.
Пользуемся сервисом облачной телефонии от Ростелекома. До недавнего времени на входящих из внешнего мира было достаточно логики, которую предоставляет в рамках услуги РТК. Соответственно, офисные телефоны (у которых имена стандартные, ну там 101, 102 и т.п.) наравне с сервером регались напрямую в РТК, проблем со входящими в рамках офиса не было.
Сейчас захотели CRM, связки с оповещалкой whatspp и т.п., все входящие пришлось заворачивать на asterisk. И вот тут появилась проблема со входящими с мобильных номеров, которые уже зарегистрированы в системе с качестве пиров.
Вот звонок извне (со стороны Ростелекома) с мобильного телефона +79998887766 ( 74212332211 - городской внешний номер). Одновременно на сервере есть такой SIP-пир (79998887766).

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

<--- SIP read from UDP:x.x.x.x:5060 --->
INVITE sip:74212332211@y.y.y.y:5060 SIP/2.0
Via: SIP/2.0/UDP x.x.x.x:5060;branch=z9hG4bK3mbntg202op565gksaq0.1
From: "79998887766" <sip:79998887766@999999.35.rt.ru>;tag=ziYR38bE
To: <sip:asterisk@999999.35.rt.ru>
Call-ID: 04e3-HXDMnXY3i0o4@10.243.214.134
CSeq: 1 INVITE
Contact: <sip:79998887766@x.x.x.x:5060;transport=udp>
Content-Type: application/sdp
Max-Forwards: 66
Supported: replaces
User-Agent: RTC CallManager 7.8-37
X-SID: 04e3-qzkuOuMqENkq
Content-Length: 197

v=0
o=- 045047 45047 IN IP4 x.x.x.x
s=-
c=IN IP4 x.x.x.x
t=0 0
m=audio 9778 RTP/AVP 8 18 0 97
a=rtpmap:18 G729/8000
a=rtpmap:97 telephone-event/8000
a=fmtp:97 0-15
a=sendrecv
<------------->
--- (13 headers 10 lines) ---
Sending to x.x.x.x:5060 (no NAT)
Sending to x.x.x.x:5060 (no NAT)
Using INVITE request as basis request - 04e3-HXDMnXY3i0o4@10.243.214.134
Found peer '79998887766' for '79998887766' from x.x.x.x:5060

<--- Reliably Transmitting (NAT) to x.x.x.x:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP x.x.x.x:5060;branch=z9hG4bK3mbntg202op565gksaq0.1;received=212.122.2.180;rport=5060
From: "79998887766" <sip:79998887766@999999.35.rt.ru>;tag=ziYR38bE
To: <sip:asterisk@999999.35.rt.ru>;tag=as3fd55650
Call-ID: 04e3-HXDMnXY3i0o4@10.243.214.134
CSeq: 1 INVITE
Server: Asterisk PBX 16.1.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="5fd07baf"
Content-Length: 0
В дебаге видно, что звонок отрубается уже на INVITE по unauthorized. Сервер хочет, чтобы пир зарегистрировался. Нужно как-то сменить caller id, но как это сделать, если до диалплана вызов не доходит.
Может кто-нибудь сталкивался?
Настройки пира (если будет полезно). Да, пиры в realtime из mysql:

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

MariaDB [asterisk]> select name, host, type, context, dtmfmode, nat, disallow, allow, qualify from sippeers where name = '7999888776';
+-------------+---------+--------+-------------+---------------+---------------------+----------+----------------+---------+
| name        | host    | type   | context |  dtmfmode | nat                 | disallow | allow          | qualify |
+-------------+---------+--------+---------+------------------------------+----------+---------------------+----------+----------------+---------+
| 7999888776 | dynamic | friend | mobile  | rfc2833  | force_rport,comedia | all      | alaw;ulaw;h264 | no      |
+-------------+---------+--------+---------+------------------------------+----------+---------------------+----------+----------------+---------+
Настройки транка на Ростелеком:

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

[general]
register => asterisk:yyyyyyy@999999.35.rt.ru/7421233221
[new-rt]
username=asterisk
type=friend
secret=yyyyyyy
qualify=yes
nat=no
insecure=invite
host=999999.35.rt.ru
fromuser=asterisk
fromdomain=999999.35.rt.ru
dtmfmode=rfc2833
defaultuser=asterisk
canreinvite=no
context=call-in
disallow=all
allow=alaw
allow=ulaw
Аватара пользователя
dimondack
Сообщения: 62
Зарегистрирован: 16 сен 2019, 02:40

Re: Проблема с одинаковым именем пира

Сообщение dimondack »

Что то кодека 711 не видать в дебаге
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: Проблема с одинаковым именем пира

Сообщение ded »

andrew-khv писал(а):И вот тут появилась проблема со входящими с мобильных номеров, которые уже зарегистрированы в системе с качестве пиров.
В которой системе? У вас их две - виртуальная АТС РТК и Астериск
andrew-khv писал(а):Одновременно на сервере есть такой SIP-пир (79998887766).
А зачем он там? Может просто удалить его?
andrew-khv писал(а): звонок отрубается уже на INVITE по unauthorized. Сервер хочет, чтобы пир зарегистрировался.
Сервер не хочет, чтобы пир зарегистрировался. Сервер хочет чтобы пир аутентифицировался при этом звонке. SIP INVITE и SIP REGISTER - это разные диалоги, не зависят один от другого. То есть SIP INVITE должен прибегать с аутентификацией через дайджест, о чём и сообщает Астериск -
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="5fd07baf"

Посмотрите внимательно любой другой валидный инвайт. Диалог начинается точно так же, после первого инвайта поступает ответ SIP/2.0 401 Unauthorized с дайджестом, и второй инвайт от пира (с секретом) уже обрабатывается.

Примите решение что использовать вам приоритетнее: старая схема, при которой моб. устройства и офисные 101, 102, 103 регистрируются на виртуальной АТС РТК, или новая, при которой все эти устройства регистрируются на Астериске.
Во втором случае виртуальная АТС РТК будет работать транзитно, как обычный SIP провайдер, передавая все входящие из мира на Астериск, и назад, все исходящие из Астериска прозрачно в мир.
andrew-khv
Сообщения: 14
Зарегистрирован: 29 янв 2021, 14:33

Re: Проблема с одинаковым именем пира

Сообщение andrew-khv »

dimondack писал(а):Что то кодека 711 не видать в дебаге
Ну его просто нет :-)
andrew-khv
Сообщения: 14
Зарегистрирован: 29 янв 2021, 14:33

Re: Проблема с одинаковым именем пира

Сообщение andrew-khv »

ded писал(а):В которой системе? У вас их две - виртуальная АТС РТК и Астериск
Клиентская CRM, клиентское мобильное приложение, клиентский личный кабинет на сайте. Менять систему авторизации - это последний из вариантов, которые рассматриваются.
ded писал(а):А зачем он там? Может просто удалить его?
К сожалению, нельзя - позвонит недовольный клиент, у которого перестанут работать звонки в мобильном приложении.
ded писал(а):Сервер не хочет, чтобы пир зарегистрировался. Сервер хочет чтобы пир аутентифицировался при этом звонке. SIP INVITE и SIP REGISTER - это разные диалоги, не зависят один от другого. То есть SIP INVITE должен прибегать с аутентификацией через дайджест, о чём и сообщает Астериск -
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="5fd07baf"
Посмотрите внимательно любой другой валидный инвайт. Диалог начинается точно так же, после первого инвайта поступает ответ SIP/2.0 401 Unauthorized с дайджестом, и второй инвайт от пира (с секретом) уже обрабатывается.
Нет, в настройках транка указано - "insecure=invite". Если пира нет, входящий проходит без проблем, аутентификация ивайта в этом случае не нужна.
ded писал(а): Примите решение что использовать вам приоритетнее: старая схема, при которой моб. устройства и офисные 101, 102, 103 регистрируются на виртуальной АТС РТК, или новая, при которой все эти устройства регистрируются на Астериске.
Во втором случае виртуальная АТС РТК будет работать транзитно, как обычный SIP провайдер, передавая все входящие из мира на Астериск, и назад, все исходящие из Астериска прозрачно в мир.
Приоритетной является схема с единым сервером на Астериске, который может реализовать весь требуемый функционал. Нужно техническое решение для преодоления проблемы с дублированием имени пира, как я описал выше. Сейчас пытаемся договориться с РТК, но может у кого-нибудь есть идеи и можно это проще решить?
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: Проблема с одинаковым именем пира

Сообщение Zavr2008 »

Транзитная система просится, например на Kamailio. Через нее в ростелик и вылезайте.
на сервере имеем имена пиров соответствующие номерам мобильных (79998887766). Такой формат связан с системой авторизации в информационной системе компании
А вот это уже костобрющие, его нужно править в самолепных пельменях для связи с Великой Информационной Системой.
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH