ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Исходящие через OpenVox

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

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

Re: Исходящие через OpenVox

Сообщение ded » 21 янв 2019, 22:27

corpse писал(а):в этом случае Call-ID: guid@192.xxx.xxx.xxx. И типа gsm не умеет так работать с GUID-ами, поэтому не сможет маршрутизировать по CallerID
Тут я перечитал ещё раз, вижу путаницку в понятиях: Call-ID - это что? Идентификатор звонка?
corpse писал(а):А подскажите пожалуйста, SIP Endpoint на OpenVox (Registration) у вас является server-ом или client-ом для транка?
"you register gateway to pbx, not pbx to gateway, pbx is sip server." "gateway will be client".
(с)
Вы можете что угодно там кастомизировать, ибо OpenVox сам позволяет разруливать исходящие вызовы через разные симки. Этот вариант описал выше, и вот ещё вариант её реализации:
Если вы будете отправлять из главного Астериска в OpenVox таким образом
Код: выделить все
exten => _79XXXXXXXXX,1,Set(CALLERID(num)=79131234670) ; звонок через симку 79131234670
exten => _79XXXXXXXXX,n,Dial(IAX2/OpenVox/${EXTEN})

exten => _79XXXXXXXXX,1,Set(CALLERID(num)=79131234347) ; звонок через симку 79131234347
exten => _79XXXXXXXXX,n,Dial(IAX2/OpenVox/${EXTEN})

то на стороне OpenVox можно разрулить по CallerID в кастомном контексте.
exten => _79XXXXXXXXX/79131234670,1,Dial(SIP/${CALLERID(num)}/${EXTEN})
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Исходящие через OpenVox

Сообщение corpse » 22 янв 2019, 17:49

то на стороне OpenVox можно разрулить по CallerID в кастомном контексте.
exten => _79XXXXXXXXX/79131234670,1,Dial(SIP/${CALLERID(num)}/${EXTEN})

Устал бодаться, решил обратиться к "Китайским друзьям", дал им доступ по TeamViewer-у и даже внимательно следил за его действиями.
4,5 часа он просидел на Asterisk и Шлюзе: результат его прекрасных действий:
1. Решение не найдено. Просто пустил через другой SIP Trunk исходящие, но так же все. (2 часа)
2. Сломал Транк с Авайей (на восстановление потратил еще 2,5 часа), но так и ушел ни с чем домой.
Оставив меня у разбитого корыта.
Я к чему: 10 раз подумайте, а так ли умна китайская ТП, чтоб пускать их в свой огород.
Не могу найти решение :(
corpse
 
Сообщений: 78
Зарегистрирован: 21 июл 2016, 12:17

Re: Исходящие через OpenVox

Сообщение ded » 22 янв 2019, 22:16

А какие настройки китаец делал на вкладке Advanced routing? Созданы правила как Create a Call Routing Rule? Там есть Dial pattern с указанием Caller ID, где можно/нужно для каждой симки сделать правило - где через слэш CallerID, я же ниже описал?
exten => _79XXXXXXXXX,1,Set(CALLERID(num)=79131234347) ; звонок через симку 79131234347
в графическом виде - правило с шаблоном набора
Вложения
OpenVox2.jpg
Я там указал from Any SIP - это просто для примера, у вас должен быть там уже созданный VoIP пир.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Исходящие через OpenVox

Сообщение ded » 22 янв 2019, 22:18

Вот ваша страница шлюза, где прописываете регистрацию симок как клиентов, так?
Вот вы их зарегистрировали (их номерами), допустим, указав их как транки на стороне Астериск и host=dynamic,
79131234670/79131234670 192.168.1.241 D Auto (No) No 5060 OK (3 ms)
79131234347/79131234347 192.168.1.241 D Auto (No) No 5060 OK (3 ms)
Если вы делаете вызов из Астериска, допустим на номер 79012345678 как
Dial(SIP/79131234347/79012345678) - через вторую симку, типа, как в этом примере. И при этом смотрите в командную строку на Openvox-Wireless-Gateway
root@Openvox-Wireless-Gateway:~# asterisk -vvvvvr
Asterisk 1.8.20.0, Copyright (C) 1999 - 2012 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 1.8.20.0 currently running on Openvox-Wireless-Gateway (pid = 1568)
Cannot read termcap database;
using dumb terminal settings.
Verbosity was 0 and is now 5
что вы там увидите?
Вложения
OpenVox.jpg
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Исходящие через OpenVox

Сообщение corpse » 24 янв 2019, 18:57

Добрый день!
Прошу прощения, раньше не было возможности проверить и дать ответ!
Вот кусочек лога исходящего звонка на Астере:
Код: выделить все
Executing [s@macro-outbound-callerid:14] ExecIf("SIP/131-0000009f", "0?Set(CALLERID(all)=)") in new stack
    -- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/131-0000009f", "1?Set(CALLERID(all)=131)") in new stack
    -- Executing [s@macro-outbound-callerid:16] ExecIf("SIP/131-0000009f", "0?Set(CALLERID(all)=)") in new stack
    -- Executing [s@macro-outbound-callerid:17] ExecIf("SIP/131-0000009f", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
    -- Executing [s@macro-outbound-callerid:18] Set("SIP/131-0000009f", "CDR(outbound_cnum)=131") in new stack
    -- Executing [s@macro-outbound-callerid:19] Set("SIP/131-0000009f", "CDR(outbound_cnam)=") in new stack
    -- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/131-0000009f", "0?sub-flp-5,s,1()") in new stack
    -- Executing [s@macro-dialout-trunk:13] Set("SIP/131-0000009f", "OUTNUM=890XXXXX097") in new stack
    -- Executing [s@macro-dialout-trunk:14] Set("SIP/131-0000009f", "custom=SIP/7913XXXX347") in new stack
    -- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/131-0000009f", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))") in new stack
    -- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/131-0000009f", "0?Set(DIAL_TRUNK_OPTIONS=M(confirm))") in new stack
    -- Executing [s@macro-dialout-trunk:17] Macro("SIP/131-0000009f", "dialout-trunk-predial-hook,") in new stack
    -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/131-0000009f", "") in new stack
    -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/131-0000009f", "0?bypass,1") in new stack
    -- Executing [s@macro-dialout-trunk:19] ExecIf("SIP/131-0000009f", "1?Set(CONNECTEDLINE(num,i)=890XXXXX097)") in new stack
    -- Executing [s@macro-dialout-trunk:20] ExecIf("SIP/131-0000009f", "1?Set(CONNECTEDLINE(name,i)=CID:131)") in new stack
    -- Executing [s@macro-dialout-trunk:21] GotoIf("SIP/131-0000009f", "0?customtrunk") in new stack
    -- Executing [s@macro-dialout-trunk:22] Dial("SIP/131-0000009f", "SIP/7913XXXX347/890XXXXX097,300,") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Called SIP/7913XXXX347/890XXXXX097

Лог этого звонка на стороне OpenVox:
Код: выделить все
    -- Executing [890XXXXX097@sipinbound:1] NoOp("SIP/7913XXXX670-192.168.1.251-00000119", "SIP Inbound") in new stack
    -- Executing [890XXXXX097@sipinbound:2] GotoIf("SIP/7913XXXX670-192.168.1.251-00000119", "1?:nocdr") in new stack
    -- Executing [890XXXXX097@sipinbound:3] Goto("SIP/7913XXXX670-192.168.1.251-00000119", "sip-7913XXXX670-192.168.1.251,890XXXXX097,1") in new stack
    -- Goto (sip-7913XXXX670-192.168.1.251,890XXXXX097,1)
    -- Executing [890XXXXX097@sip-7913XXXX670-192.168.1.251:1] NoOp("SIP/7913XXXX670-192.168.1.251-00000119", "_[*#+0-9]. matches Rule rtg-Gateway2_2-1") in new stack
    -- Executing [890XXXXX097@sip-7913XXXX670-192.168.1.251:2] Set("SIP/7913XXXX670-192.168.1.251-00000119", "CDR_CALLEEID=890XXXXX097") in new stack
    -- Executing [890XXXXX097@sip-7913XXXX670-192.168.1.251:3] Wait("SIP/7913XXXX670-192.168.1.251-00000119", "1") in new stack
    -- Executing [890XXXXX097@sip-7913XXXX670-192.168.1.251:4] GotoIf("SIP/7913XXXX670-192.168.1.251-00000119", "0?nofreechannel") in new stack
    -- Executing [890XXXXX097@sip-7913XXXX670-192.168.1.251:5] GotoIf("SIP/7913XXXX670-192.168.1.251-00000119", "0?nofreechannel") in new stack
    -- Executing [890XXXXX097@sip-7913XXXX670-192.168.1.251:6] Macro("SIP/7913XXXX670-192.168.1.251-00000119", "dial-failover,,890XXXXX097,SIP/1821232-192.168.85.117,0,Board-2-gsm-2,RET") in new stack
    -- Executing [s@macro-dial-failover:1] Set("SIP/7913XXXX670-192.168.1.251-00000119", "ADEV=3") in new stack
    -- Executing [s@macro-dial-failover:2] Set("SIP/7913XXXX670-192.168.1.251-00000119", "AEXTEN_FLAG=4") in new stack
    -- Executing [s@macro-dial-failover:3] Set("SIP/7913XXXX670-192.168.1.251-00000119", "ACDR_NAME=5") in new stack
    -- Executing [s@macro-dial-failover:4] Set("SIP/7913XXXX670-192.168.1.251-00000119", "ARG=ARG") in new stack
    -- Executing [s@macro-dial-failover:5] Set("SIP/7913XXXX670-192.168.1.251-00000119", "MAX=128") in new stack
    -- Executing [s@macro-dial-failover:6] Set("SIP/7913XXXX670-192.168.1.251-00000119", "COUNT=1") in new stack
    -- Executing [s@macro-dial-failover:7] GotoIf("SIP/7913XXXX670-192.168.1.251-00000119", "1?dialstrnoforward") in new stack
    -- Goto (macro-dial-failover,s,14)
    -- Executing [s@macro-dial-failover:14] GotoIf("SIP/7913XXXX670-192.168.1.251-00000119", "0?dialstrnoexten") in new stack
    -- Executing [s@macro-dial-failover:15] GotoIf("SIP/7913XXXX670-192.168.1.251-00000119", "0?dialstrnoexten") in new stack
    -- Executing [s@macro-dial-failover:16] GotoIf("SIP/7913XXXX670-192.168.1.251-00000119", "0?dialstrnoexten") in new stack
    -- Executing [s@macro-dial-failover:17] Set("SIP/7913XXXX670-192.168.1.251-00000119", "DIALSTR=SIP/1821232-192.168.85.117/890XXXXX097") in new stack
    -- Executing [s@macro-dial-failover:18] Set("SIP/7913XXXX670-192.168.1.251-00000119", "OUTDEV=SIP/1821232-192.168.85.117") in new stack
    -- Executing [s@macro-dial-failover:19] GotoIf("SIP/7913XXXX670-192.168.1.251-00000119", "0?exit,1") in new stack
    -- Executing [s@macro-dial-failover:20] Set("SIP/7913XXXX670-192.168.1.251-00000119", "CDR_TOCHAN=Board-2-gsm-2") in new stack
    -- Executing [s@macro-dial-failover:21] Set("SIP/7913XXXX670-192.168.1.251-00000119", "CDR_CALLEEID=890XXXXX097") in new stack
    -- Executing [s@macro-dial-failover:22] Goto("SIP/7913XXXX670-192.168.1.251-00000119", "dial") in new stack
    -- Goto (macro-dial-failover,s,31)
    -- Executing [s@macro-dial-failover:31] Dial("SIP/7913XXXX670-192.168.1.251-00000119", "SIP/1821232-192.168.85.117/890XXXXX097") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/1821232-192.168.85.117/890XXXXX097

То есть идет через другую симку.
Вот вы их зарегистрировали (их номерами), допустим, указав их как транки на стороне Астериск и host=dynamic,

Да все верно, на Asteisk: host=dynamic , на OpenVOX: username и Authentication User заполнены как номера телефонов.
Созданы правила как Create a Call Routing Rule? Там есть Dial pattern с указанием Caller ID, где можно/нужно для каждой симки сделать правило - где через слэш CallerID, я же ниже описал?

Все верно я пробовал указывать там в CallerID и внутренний номер абонента и номер телефона sim карты результат един - звонок через одну симку.

У меня возник вопрос: какая принципиальная разница будет выступать OpenVox шлюзом клиентом млм сервером?
Просто везде пишут и вы в том числе говорите что шлюз - клиент, я попробовал шлюз выставить сервером и регистрировать транки с Asterisk-а (то есть АТС выступает клиентом), при такой конфигурации, заработало. Звонки разруливаются корректно.
corpse
 
Сообщений: 78
Зарегистрирован: 21 июл 2016, 12:17

Re: Исходящие через OpenVox

Сообщение ded » 24 янв 2019, 19:07

Никакой принципиально разницы нету.
Если заработало - так и юзайте. Будем считать это национальной особенностью OpenVOX.
Я вот только не могу понять - если создано правило по Caller ID, с конкретным номером 79012345678 направлять через порт gsm1-1
а другой вызов с Caller ID 79131234347 направлять через порт gsm1-2, как это может игнорироваться на стороне OpenVOX? Думаю, что вы что-то недонастроили там.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Исходящие через OpenVox

Сообщение corpse » 27 янв 2019, 16:36

при такой конфигурации, заработало. Звонки разруливаются корректно.

Это я поторопился с выводами!
Теперь на стороне OpenVOX входящие звонки разруливаются не корректно. То есть теперь при входящем звонке хватается первый попавшийся транк, а точнее всегда один и тот же и через него идет звонок на Aster.
Очевидно, что я видимо где-то "косячу" c "Dial pattern с указанием Caller ID", но не догоняю где.
Ведь в Call Routing Rules четко сопоставлены модуль с симкартой и сиптранк. Или для шлюза это не является приоритетом?
corpse
 
Сообщений: 78
Зарегистрирован: 21 июл 2016, 12:17

Re: Исходящие через OpenVox

Сообщение corpse » 28 янв 2019, 07:33

Получается если смотреть Логи шлюза, то он направляет используя корректный транк:
Изображение
изображение:https://my-files.ru/wlaprn
Но на Asterisk-e, он почему-то подставляет всегда один и тот же транк (790YYYYY623):
Код: выделить все
    -- Executing [796XXXXX207@from-trunk-sip-790YYYYY623:1] Set("SIP/790YYYYY623-000000c0", "GROUP()=OUT_9") in new stack
    -- Executing [796XXXXX207@from-trunk-sip-790YYYYY623:2] Goto("SIP/790YYYYY623-000000c0", "from-trunk,796XXXXX207") in new stack
    -- Goto (from-trunk,796XXXXX207,1)

Код: выделить все
    -- Executing [791XXXXX670@from-trunk-sip-790YYYYY623:1] Set("SIP/790YYYYY623-000000d3", "GROUP()=OUT_9") in new stack
    -- Executing [791XXXXX670@from-trunk-sip-790YYYYY623:2] Goto("SIP/790YYYYY623-000000d3", "from-trunk,791XXXXX670") in new stack
    -- Goto (from-trunk,791XXXXX670,1)
    -- Executing [791XXXXX670@from-trunk:1] Set("SIP/790YYYYY623-000000d3", "__FROM_DID=791XXXXX670") in new stack

Может конечно это нормально, но что произойдет, когда физически транк 790YYYYY623 будет занят. Ведь он тоже выделен под конкретный номер.

P.S. Не понимаю, каким образом добавить изображение. Через вложения -не устраивает файл. через тег img и ссылку, не отображает картинку.
corpse
 
Сообщений: 78
Зарегистрирован: 21 июл 2016, 12:17

Re: Исходящие через OpenVox

Сообщение ded » 28 янв 2019, 11:28

corpse писал(а):на Asterisk-e, он почему-то подставляет всегда один и тот же транк (790YYYYY623):
Потому что
ded писал(а):Для Астериска координаты пира = ИП адрес и порт (как широта и долгота)

а так как для всех этих т.н. транков это всё тот же один ИП и порт5060, то это для Астериска один и тот же транк.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Исходящие через OpenVox

Сообщение corpse » 28 янв 2019, 15:34

а так как для всех этих т.н. транков это всё тот же один ИП и порт5060, то это для Астериска один и тот же транк.

Но на OpenVoxе нет возможности изменить слушающий порт, если он является сервером. По сути так же как и IP адрес.
Ок, как я понимаю это как раз ответ на вопрос:
У меня возник вопрос: какая принципиальная разница будет выступать OpenVox шлюзом клиентом или сервером?

Но Asterisk же тоже не позволяет bindport указать для обычного chan_sip. Получается, что он тоже не даст подключиться к порту отличному от 5060?
Получается, что требуется какая-то еще дополнительная идентификационная информация помимо IP и порта, которая позволит однозначно идентифицировать требуемый транк? Или я несу чушь?
corpse
 
Сообщений: 78
Зарегистрирован: 21 июл 2016, 12:17

Пред.След.

Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH