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

AcmePacket и Elastix. Проблема с внешними телефонами.

WEB GUI и не только WEB

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

Ответить
bestann
Сообщения: 38
Зарегистрирован: 13 янв 2012, 01:03

AcmePacket и Elastix. Проблема с внешними телефонами.

Сообщение bestann »

Elastix используется для регистрации софтфонов и телефонов внутри локальной сети. Для выхода на другие предприятия создан SIP транк между Elastix и AcmePacket. Звонки осуществляются про трехзначным префиксам. Это всё работало.
Возникла необходимость регистрировать часть телефонов из Интернет. У AcmePacket есть внешний интерфейс, на котором должны регистрироваться телефоны извне (в настройках телефона вводим именно внешний адрес). Но для Elastix подключаемые таким образом внешние телефоны видны с тем же локальным адресом (адрес внутреннего интерфейса Acme), что и группа AcmePacket (пусть это будет 192.168.1.35). Пока тестируем только на телефоне 3001, он подключается извне. Вот что показывает sip show peers. Соответственно если будет несколько внешних телефонов, они все будут иметь тот же адрес, что и Acme.

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

3001/3001-9kmd9m7ds1lu7 192.168.1.35 D No No A 5060 OK (91 ms)
Acme 192.168.1.35 No No 5060 OK (3 ms)
Внутренняя нумерация Elastix 3ххх. Префикс для звонков извне в Elastix 995, т.е. чтоб попасть на 3000 надо с другого предприятия набрать 9953000 (может еще добавочный префикс есть, не суть, в INVITE приходит 9953000@192.168.1.35:5060).
Для части предприятий средствами Acme обрезали префикс, т.е. сразу приходил внутренний номер. Сначала сделали так же. Т.е. в плане нумерации Elastix никакая дополнительная обработка входящих не производилась. Входящие приходили, но тогда телефон 3001 не мог звонить внутри Elastix без префикса, т.е. не мог позвонить 3000. Тогда сделали так, что Acme ничего не обрезает, а присылает номер с префиксом 995. Я в кастомном контексте удаляю префикс 995. На Acme (я пока не вникала, другой человек админит) прописали для этого в Realm два шаблона для звонков с префиксом и без префикса (внешние телефоны и сам Elastix в AcmePacket прописаны в разных realm). Теперь 3001 может звонить на другие внутренние номера Elastix набирая 3xxx.

Возникла следующая проблема. Периодически входящие вызовы то приходят, то короткие гудки. В консоли при verbose 3 во время неудачных вызовов вообще звонок не обрабатывается в плане нумерации, тишина. Включила дебаг SIP. Выяснилось, что при проблемных входящих звонках peer распознается как номер телефона 3001 (см. выше sip show peers), после чего ошибка 401:

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

<--- SIP read from UDP:192.168.1.35:5060 --->
INVITE sip:9953000@ip-адрес-Elastix:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.35:5060;branch=z9hG4bKegf2hq207od1ru4am-3.1
From: "Familiya Imya" <sip:1152057@ip-адрес-АТС-другого-предприятия>;tag=80ea55c88af7e61ec915888fd4000
To: sip:9953000@192.168.1.35
Call-ID: 80ea55c88af7e52ed915888fd4000
CSeq: 1 INVITE
.....

--- (20 headers 13 lines) ---
Sending to 192.168.1.35:5060 (no NAT)
Sending to 192.168.1.35:5060 (no NAT)
Using INVITE request as basis request - 80ea55c88af7e61ed915888fd4000
Found peer '3001' for '1152057' from 192.168.1.35:5060

<--- Reliably Transmitting (no NAT) to 192.168.1.35:5060 --->
SIP/2.0 401 Unauthorized
При успешном вызове звонок распознается как положено, с именем peer Acme, который указан в транке AcmePacket. Далее обработка звонка продолжается в плане нумерации (обрезается префикс и т.д.):

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

--- (20 headers 13 lines) ---
Sending to 192.168.1.35:5060 (no NAT)
Sending to 192.168.1.35:5060 (no NAT)
Using INVITE request as basis request - 09e742f8df7e618b925888fd4000
Found peer 'Acme' for '1152057' from 192.168.1.35:5060
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
Found RTP audio format 0
....
Звонки какое-то время проходят, потом перестают работать. Можно ли решить проблему на стороне Elastix? (версия elastix 4 stable, Asterisk 11.20.0, NAT не используется, и телефон 3001 и группа Acme тип friend). Можно ли как-то указать Астериску, что имеем ввиду именно транк, а не телефон с тем же IP-адресом. Не представляю, если будет зарегистрировано много телефонов. Или нужно что-то менять на стороне AcmePacket?

Также при исходящих выховах наблюдается следующее поведение: если в исходящих маршрутах настроены звонки без девятки, т.е. префикс и номер, например 115ХХХХ (как раз с такого был входящий звонок), телефон 3001 даже не пытается совершить звонок через Elastix, а сразу находит совпадение префикса в AcmePacket и звонит через него, соответсвенно Caller ID у него без префикса, а имя берется из того что прописано в веб-интерфейсе телефона, а не в настройках extension на Elastix. Телефон 3001 одновременно как бы абонент и на Acme, и на Elastix.
Если же настраиваю исходящий маршрут с дополнительной обрезаемой девяткой, звонок проходит через Elastix.
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: AcmePacket и Elastix. Проблема с внешними телефонами.

Сообщение virus_net »

bestann писал(а):и телефон 3001 и группа Acme тип friend)
http://www.voip-info.org/wiki/view/Aste ... er+vs+peer
When Asterisk receives an incoming SIP call, the SIP Channel Module
  • - first tries to find a [user] section matching the caller name (From: username),
    - then tries to find a [peer] section matching the caller's IP address.
    - If no matching user or peer is found, the call is sent to the context defined in the [general] section of sip.conf
bestann писал(а): что имеем ввиду именно транк
type=peer
bestann писал(а):Или нужно что-то менять на стороне AcmePacket?
сомневаюсь, что тут вообще есть люди, которые знакомы с этой поделкой.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
bestann
Сообщения: 38
Зарегистрирован: 13 янв 2012, 01:03

Re: AcmePacket и Elastix. Проблема с внешними телефонами.

Сообщение bestann »

Спасибо большое. Поменяла тип транка. Пока не отваливается.
Будет ли вызывать проблемы ситуация, когда зарегистрирована куча телефонов (все телефоны что регистрируются извне) с одним ip-адресом. Порт у всех 5060. Читала в руководстве к FreePBX, что это проблемная ситуация.
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

Re: AcmePacket и Elastix. Проблема с внешними телефонами.

Сообщение ded »

когда зарегистрирована куча телефонов (все телефоны что регистрируются извне) с одним ip-адресом и порт у всех 5060, то это с точки зрения маршрутизации вполне валидная ситуация. Предполагается, что разруливать кто есть кто 111 222 333
sip:111@10.1.2.3:5060
sip:222@10.1.2.3:5060
sip:333@10.1.2.3:5060
будет само устройство 10.1.2.3 внутри себя.
whoim
Сообщения: 766
Зарегистрирован: 26 ноя 2013, 23:25
Откуда: Краснодар
Контактная информация:

Re: AcmePacket и Elastix. Проблема с внешними телефонами.

Сообщение whoim »

ded писал(а):вполне валидная ситуация.
И тем не менее, если эти телефоны за некоторыми бытовыми моделями роутеров, периодически случаются проблемы. Установка уникальных портов обычно решает.
облачные и локальные сервера asterisk/freepbx/a2billing/crm с полной техподдержкой. skype: whoim2, sipuri: whoim@asterisk.ru
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH