3CX и Asterisk

  • Автор темы Автор темы WarProf
  • Дата начала Дата начала

WarProf

Регистрация
13 Май 2019
Сообщения
31
Всем привет. Есть несколько вопросов по связи 3CX с Астериском.

Во-первых, правильно я понимаю, что транк проходит по 1 номеру?
Во-вторых, дожен ли номер пользователя (и транка) быть зарегистрирован, как на 3CX, так и на Asteriskе?

Удалось кое-как настроить связь между Астериском и 3CXом. С 3CXа дозванивается до IP телефона (регистрация Астериск), а с IP телефона до 3CXа не достучаться (занято)

IP Phone (Asterisk) -> 3CX
Код:
 == Using SIP RTP CoS mark 5
    -- Executing [2835@office:1] Dial("SIP/2830-0000d558", "SIP/test3cx-outgoing/}") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/test3cx-outgoing/}
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [2835@office:2] Congestion("SIP/2830-0000d558", "1") in new stack
  == Spawn extension (office, 2835, 2) exited non-zero on 'SIP/2830-0000d558'
    -- Executing [h@office:1] Congestion("SIP/2830-0000d558", "1") in new stack
  == Spawn extension (office, h, 1) exited non-zero on 'SIP/2830-0000d558'

3CX -> IP Phone (Asterisk)
Код:
Using SIP RTP CoS mark 5
    -- Executing [2830@office:1] Dial("SIP/2901-0000d556", "SIP/2830") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/2830
    -- SIP/2830-0000d557 is ringing

Конфиги:
Астериск:
sip.conf
Код:
register => 2901:passw@ip:5060/2901

[test3cx-outgoing]
host=ip
port=5060
username=2901
fromuser=2901
secret=passwd
sendrpid=yes
qualify=yes
type=friend

[test3cx-incoming]
host=ip
port=5060
type=friend
trustpid=yes
context=office

extensions.conf
Код:
TEST3CX = SIP/test3cx-outgoing/
TEST3CX2 = SIP/test3cx-incoming/

;test3cx
exten => 2835,1,Dial(${TEST3CX})
;test3cx
2901 - регистрированный на Астериске номер для Транка
2835 - номер и на 3cxе и на Астериске.

Что не так то?
И еще бонусный вопрос. У нас используется на Астериске система скриптов, которая разруливает доступ по транкам и самописная консоль к этому всему (включая регистрацию номеров). Получается, если для транка с 3cxа можно использовать только 1 номер, то на нагео придется выдавать все разрешения??
 
3CX
5ce53038802aa105844833.png
 
Так, сам дурак.
;test3cx
exten => 2835,1,Dial(${TEST3CX})
;test3cx

Забыл указать, чо передаем то
 
Но остальные вопросы в силе
 
Вот описание интеграции https://habr.com/ru/company/3cx/blog/302680/

Вы делали по нему?
Это ерунда полная. Например, после такая связки, для Астериска будет использоваться 1 номер. Получается все зарегистрированные на астериске увидят его, при звонке с 3cx'а
Во-вторых, наша версия (по крайней мере пока) предусматривает, что Астериск будет главным. А анем стоят скрипты, которые рулят телефонными номерами. Значит, номерам с 3CXа (для звонков транки) придется дать по умолчанию все разрешения (что как-бы глупо, проще их убрать, в таком случае).
Ну и я так и не понял, нужно для для бриджа регистрировать номер на Астериске или нет?
Как задать нужных диапазон номеров? (например, для германии у нас используется 26ХХ, для внутреннего сообщения 28ХХ, 29ХХ. А для Линка вообще 3ХХХ. Если бы купим лицензию 3СХа нам понадобится новый диапазон, например 4ХХХ. Как сделать так, чтобы пользователи на 3СХе создавались ТОЛЬКО с такими номерами? И нужно ли эти номера затем регисрировать в Астериске?

В данный момент у меня получилось забриджить Астериск и 3СХ. Проблема только в том, что Астериск слышит и передает голос 3СХу, а 3СХ только передает, но в трубке от Астериска - ничего не слышно.
 
Если вы соединяете через мост 3CX (Asterisk регистрируется на 3CX), номера между системами будут передаваться корректно.
Ограничить 3CX созданием только номеров 4XX невозможно, просто не давайте доступ в админку посторонним.
Интеграция, которая описана на сайте 3CX, является официальной, рекомендованной и 100% рабочей. Все остальное - на ваш страх и риск (и официально не поддерживается).
 
Если вы соединяете через мост 3CX (Asterisk регистрируется на 3CX), номера между системами будут передаваться корректно.
Ограничить 3CX созданием только номеров 4XX невозможно, просто не давайте доступ в админку посторонним.
Интеграция, которая описана на сайте 3CX, является официальной, рекомендованной и 100% рабочей. Все остальное - на ваш страх и риск (и официально не поддерживается).
Спасибо за ответ.
Связка работает. Только звук от Астериска до 3CX не доходит (в обратную сторону идет).
И второе, более главное,
Например, после такая связки, для Астериска будет использоваться 1 номер. Получается все зарегистрированные на астериске увидят его, при звонке с 3cx'а. Как правильно настроить это?
 
Если вы соединяете через мост 3CX (Asterisk регистрируется на 3CX), номера между системами будут передаваться корректно.
Ограничить 3CX созданием только номеров 4XX невозможно, просто не давайте доступ в админку посторонним.
Интеграция, которая описана на сайте 3CX, является официальной, рекомендованной и 100% рабочей. Все остальное - на ваш страх и риск (и официально не поддерживается).
Попробовал еще поэксперементировать. В SIP Trunks сделал по втсроенному шаблону с Астериском. На 3CX сигнал идет, а на астериск
Код:
username mismatch, have <test3cx-outgoing>, digest has <2901
хм
 
Односторонний звук - это скорее проблема с вашими сетями и роутерами. Где-то не совсем корректно проходит RTP трафик. Кстати, именно по этому 3CX может использовать для транков между АТС собственную технологию туннелирования, которая обходить кривой NAT.

Касательно передачи номера, 3CX позволяет указать, в каком поле передается номер звонящего абонента от нее.


https://www.screencast.com/t/HGjvuKJR
 
Односторонний звук - это скорее проблема с вашими сетями и роутерами. Где-то не совсем корректно проходит RTP трафик. Кстати, именно по этому 3CX может использовать для транков между АТС собственную технологию туннелирования, которая обходить кривой NAT.
3CX Tunnel? Надо открыть 5090 порт? Оно будет работать с Астериском 1.8 Core?

По поводу трафика RTP, чем можно отследить?

3СX
Код:
root@hd-15531:~# tcpdump -n -i ens192 host 217.21.Х.Х
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes
11:02:18.190384 IP 217.21.Х.Х.5060 > 192.168.Х.Х.5060: SIP: INVITE sip:[email protected].Х.Х:5060 SIP/2.0
11:02:18.271053 IP 192.168.Х.Х.5060 > 217.21.Х.Х.5060: SIP: SIP/2.0 100 Trying
11:02:18.572678 IP 192.168.Х.Х.5060 > 217.21.Х.Х.5060: SIP: SIP/2.0 180 Ringing
11:02:22.744927 IP 192.168.Х.Х.9006 > 217.21.Х.Х.14824: UDP, length 172
11:02:22.745083 IP 192.168.Х.Х.9007 > 217.21.Х.Х.14825: UDP, length 76
11:02:22.764362 IP 192.168.Х.Х.9006 > 217.21.Х.Х.14824: UDP, length 172
11:02:22.780718 IP 192.168.Х.Х.5060 > 217.21.Х.Х.5060: SIP: SIP/2.0 200 OK
ASTERISK
Код:
root@pbx:/etc/asterisk# tcpdump -n -i eth0 host 192.168.Х.Х
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:02:18.187407 IP 217.21.Х.Х.5060 > 192.168.Х.Х.5060: SIP, length: 952
11:02:18.268743 IP 192.168.Х.Х.5060 > 217.21.Х.Х.5060: SIP, length: 281
11:02:18.570327 IP 192.168.Х.Х.5060 > 217.21.Х.Х.5060: SIP, length: 380
11:02:22.742574 IP 192.168.Х.Х.9006 > 217.21.Х.Х.14824: UDP, length 172
11:02:22.742626 IP 192.168.Х.Х.9007 > 217.21.Х.Х.14825: UDP, length 76
11:02:22.762097 IP 192.168.Х.Х.9006 > 217.21.Х.Х.14824: UDP, length 172
11:02:22.778428 IP 192.168.Х.Х.5060 > 217.21.Х.Х.5060: SIP, length: 850
 
Единственная ошибка в 3CX
Код:
27.05.2019 10:59:11 - [CM503003]: Call(C:2): Call to <sip:[email protected]:5060> has failed; Cause: 487 Request Terminated/INVITE from 127.0.0.1:5063

Но соединение то установлено!
 
Так, этот вопрос снят. 3CX отправлял RTP пакеты не по тому же маршруту, что и UDP (UDP шли по локальному), а RTP по адресу из SIP Contact. Окей. Изменил публичный IP на same local, и заработало (хотя в настройках транка есть тоже функция подмену SIP Caontact IP, но она не работает почему-то)

Вопрос перекочевывает плавно в другую область. Теперь тестирую софтприлагу 3CXа. и звука нет в обе стороны :D но соединение устанавливается
 
Вы ее автоматически настроили, как описано в инструкции?
 
Вы ее автоматически настроили, как описано в инструкции?
Я перепроверил. С прилагу на прилагу (в общем, вся подвязка 3CX) ходит все нормально. Если звоню с IP телефона (Астериск) на 3CX прилагу звука нет в обе стороны. Но опять таки, это скорее-всего проблемы маршрутизации

Но все равно спасибо за ответы. Жаль, конечно, что подмена SIP Contact не работает в настройках транка
 

Для администраторов

Статистика форума

Темы
44.779
Сообщения
233.710
Пользователи
78.511
Новый пользователь
Angela
#