1 / 1 / 2
Регистрация: 19.11.2019
Сообщений: 82
1

Выбор VOIP шлюза

01.09.2021, 11:19. Показов 497. Ответов 11

Доброго дня!

Есть задачка - подключить, к АТС Asterisk, две линии городской, аналоговой, телефонии (ТФОП1/2).
Насколько знаю, для решения подобных задач есть VOIP-шлюзы.
Прошу посоветовать VOIP-шлюз.
Аналоговых линий две, звонить по ним будут разные группы абонентов т.е. с одного номера будет звонить и принимать вызовы одна группа абонентов (ЗГ1); а со вторым номером будет работать вторая группа абонентов (ЗГ2).
Рассматривал grandstream GXW4104, но не нашел информации, можно ли на нем, разделить аналоговые линии на два транка.
Как вариант, использовать два однопортовых шлюза, но это как-то не "эстетично", хотя и вполне допустимо.
0
Миниатюры
Выбор VOIP шлюза  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.09.2021, 11:19
Ответы с готовыми решениями:

Выбор шлюза
Доброго времени суток! Подскажите, пожалуйста, что лучше выбрать в качестве шлюза(головы, или как...

Выбор интернет шлюза
Добрый день. Ситуация следующая. Имеется терминальный сервер на котором работают пользователи....

Выбор Интернет шлюза
Добрый день. Подскажите что лучше выбрать в качестве интернет шлюза для терминальных серверов, т.е...

Настройка vpn проброса на td w8951nd, выбор шлюза
Доброго времени суток. Запилил на вин2003 vpn сервер. В роутере настроил проброс (nat) на сервак....

Не могу найти инструкцию по настройке Dlink DVG N5402GF на прошивке от длинка В часности настройке Voip шлюза
Не могу найти инструкцию по настройке Dlink DVG N5402GF на прошивке от длинка В часности настройке...

11
1 / 1 / 2
Регистрация: 19.11.2019
Сообщений: 82
02.09.2021, 10:10  [ТС] 2
В итоге заказал шлюз Grandstream GXW4104.
0
Эксперт по компьютерным сетям
3465 / 1279 / 221
Регистрация: 23.06.2009
Сообщений: 4,562
02.09.2021, 13:50 3
подойдет в принципе любой FXO шлюз, функционал у них у всех +- одинаковый, любой из них решит вашу задачу
0
1 / 1 / 2
Регистрация: 19.11.2019
Сообщений: 82
02.09.2021, 14:16  [ТС] 4
Цитата Сообщение от .None Посмотреть сообщение
подойдет в принципе любой FXO шлюз, функционал у них у всех +- одинаковый, любой из них решит вашу задачу
Тут был больше вопрос по части, распространенности оборудования, чтобы не взять какую нидубь "диковину", и, потом, оказаться без инструкций по настройке, или "комьюнити" которое сможет оказать помощь при возникновении трудностей.
0
1 / 1 / 2
Регистрация: 19.11.2019
Сообщений: 82
08.09.2021, 17:49  [ТС] 5
В общем, почти неделю бьюсь с Grandstream GXW4104, пока безуспешно))) Задачка оказалась не для средних умов.
0
Эксперт по компьютерным сетям
3465 / 1279 / 221
Регистрация: 23.06.2009
Сообщений: 4,562
08.09.2021, 19:30 6
в чем конкретно проблема?

гайды смотрели?
0
Миниатюры
Выбор VOIP шлюза  
Эксперт по компьютерным сетям
3465 / 1279 / 221
Регистрация: 23.06.2009
Сообщений: 4,562
08.09.2021, 19:30 7
дубль, лаги
0
1 / 1 / 2
Регистрация: 19.11.2019
Сообщений: 82
09.09.2021, 09:46  [ТС] 8
Цитата Сообщение от .None Посмотреть сообщение
в чем конкретно проблема?
Настраивал по мануалу который Вы привели, и по нескольким еще, найденным в сети в т.ч. компаний занимающихся подобными услугами, итог описан ниже.
Проблема в том, что при способе подключения с регистрацией - шлюз не регистрируется на астере, через tcpmdump смотрел приходит пакет REGISTER, а следующий SIP/2.0 403 Forbidden; Хотя все настройки коректны - порты, юзеры/пароли, ip-адреса все указано верно.
При способе подключения без регистрации - все вроде бы Ок, но звонки входящие/исходящие не ходят, настроил простенькую маршрутизацию на астере для тестов. При неясном стечении обстоятельств, получилось три раза совершить входящий звонок, последовательность, при которой звонок мог быть совершен, установить не смог. Снял только лог астериска до, и в момент совершения звонка, но полезного там не нашел.
0
Эксперт по компьютерным сетям
3465 / 1279 / 221
Регистрация: 23.06.2009
Сообщений: 4,562
09.09.2021, 14:34 9
что-то не так настроили, инструкции в интернетах все вполне себе понятные и конкретные

я бы установил чистый asterisk и на нем попытался настроить, а потом будете думать как прикрутить к FreePBX
0
1 / 1 / 2
Регистрация: 19.11.2019
Сообщений: 82
09.09.2021, 16:01  [ТС] 10
Цитата Сообщение от .None Посмотреть сообщение
что-то не так настроили, инструкции в интернетах все вполне себе понятные и конкретные
Многие инструкции разнятся способом настройки, где-то указываем параметры транка в конфигурационном файле sip.conf, где-то сразу прописываем во FreePBX транк.

Цитата Сообщение от .None Посмотреть сообщение
я бы установил чистый asterisk и на нем попытался настроить, а потом будете думать как прикрутить к FreePBX
Я понемногу тоже к этому склоняюсь.
Но, процесс идет, правда безуспешно, зато узнаю что-то новое.

Добавлено через 42 минуты
Получилось зарегистрировать астериск на шлюзе.
Что сделал:
1. Отключил протокол JPSIP. Settings=>Advanced Settings, изменил значение строки SIP Channel Driver с "both" на "chan_sip";
2. Дал отдельный физический порт гипервизора, под виртуальную машину с астериском. Вспомнил, что рекомендовали, виртуальной машине с астериском, давать отдельный сетевой интерфейс. Но это спорный вопрос, возможно и не надо было;
3. Перезагрузил виртуальную машину с астериском.
4. Прописал, в Settings=>Asterisk SIP Settings=>вкладка Chan SIP Settings, строка Bind Port, значение 5060;
После этого посыпались в Asterisk Log Files ошибки:
Код
2021-09-09 15:26:44] ERROR[2421] chan_sip.c: Peer 'ХХХХХХХХХХХ' is trying to register, but not configured as host=dynamic
[2021-09-09 15:26:44] NOTICE[2421] chan_sip.c: Registration from '<sip:ХХХХХХХХХХХ@192.168.10.210>' failed for '192.168.10.211:5062' - Peer is not supposed to register
[2021-09-09 15:26:44] ERROR[2421] chan_sip.c: Peer 'ХХХХХХХХХХХ' is trying to register, but not configured as host=dynamic
[2021-09-09 15:26:44] NOTICE[2421] chan_sip.c: Registration from '<sip:ХХХХХХХХХХХ@192.168.10.210>' failed for '192.168.10.211:5062' - Peer is not supposed to register
[2021-09-09 15:26:44] ERROR[2421] chan_sip.c: Peer 'YYYYYYYYYYY' is trying to register, but not configured as host=dynamic
[2021-09-09 15:26:44] NOTICE[2421] chan_sip.c: Registration from '<sip:YYYYYYYYYYY@192.168.10.210>' failed for '192.168.10.211:5060' - Peer is not supposed to register
[2021-09-09 15:26:44] ERROR[2421] chan_sip.c: Peer 'YYYYYYYYYYY' is trying to register, but not configured as host=dynamic
[2021-09-09 15:26:44] NOTICE[2421] chan_sip.c: Registration from '<sip:YYYYYYYYYYY@192.168.10.210>' failed for '192.168.10.211:5060' - Peer is not supposed to register
Изменил параметры транков на:
Код
    Trunk Name: XXXXXXXXXXX
    PEER Details:
    username=XXXXXXXXXXX
    type=friend
    secret=secret
    qualify=yes
    nat=no
    host=dynamic (было 192.168.10.211)
    dtmfmode=rfc2833
    context=from-trunk
    canreinvite=no
    disallow=all
    allow=alaw&ulaw
После применения настроек, в Asterisk Log Files, получил сообщение:
Код
[2021-09-09 15:34:47] VERBOSE[2421] chan_sip.c: Registered SIP 'XXXXXXXXXXX' at 192.168.10.211:5062
[2021-09-09 15:34:47] NOTICE[2421] chan_sip.c: Peer 'XXXXXXXXXXX' is now Reachable. (2ms / 2000ms)
[2021-09-09 15:34:47] VERBOSE[2421] chan_sip.c: Registered SIP 'YYYYYYYYYYY' at 192.168.10.211:5060
[2021-09-09 15:34:47] NOTICE[2421] chan_sip.c: Peer 'YYYYYYYYYYY' is now Reachable. (2ms / 2000ms)
Проверил на шлюзе, параметр SIP Registration имеет значение "Yes".
0
Эксперт по компьютерным сетям
3465 / 1279 / 221
Регистрация: 23.06.2009
Сообщений: 4,562
09.09.2021, 19:30 11
отлично, шлюз зарегистрировался на asterisk, теперь дальше настраивайте шлюз и диалплан в asterisk
0
1 / 1 / 2
Регистрация: 19.11.2019
Сообщений: 82
10.09.2021, 14:53  [ТС] 12
Цитата Сообщение от .None Посмотреть сообщение
отлично, шлюз зарегистрировался на asterisk, теперь дальше настраивайте шлюз и диалплан в asterisk
Шлюз настроен, опять же по инструкциям в т.ч. и с официального сайта.
В шлюз подключено три линии городской телефонии 2 которые будут непосредственно использоваться, и они сейчас подключены в старую АТС, и третья которую использую как тестовую.
При звонке на 3-ю линию вызов проходит до IVR и далее на номер тестового sip-телефона.
Но, если при звонке, на настраиваемую АТС, положить трубку, во время проигрывания IVR, вызов все равно придет на sip-телефон т.е. зазвонит аппарат отобразиться правильный caller id, а при подъеме трубки, в трубке будут гудки.
При попытке совершить исходящий звонок (звоним с sip-телефона на сотовый) получаю сообщение "набранный номер не может быть вызван", лог вызова из Asterisk Log Files:
Код
[2021-09-10 14:34:08] VERBOSE[2436][C-00000008] netsock2.c: Using SIP RTP TOS bits 184
[2021-09-10 14:34:08] VERBOSE[2436][C-00000008] netsock2.c: Using SIP RTP CoS mark 5
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [89508597534@from-internal:1] Macro("SIP/399-0000000a", "user-callerid,LIMIT,EXTERNAL,") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:1] Set("SIP/399-0000000a", "TOUCH_MONITOR=1631273648.10") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:2] Set("SIP/399-0000000a", "AMPUSER=399") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:3] GotoIf("SIP/399-0000000a", "0?report") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:4] ExecIf("SIP/399-0000000a", "1?Set(REALCALLERIDNUM=399)") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:5] Set("SIP/399-0000000a", "AMPUSER=399") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:6] GotoIf("SIP/399-0000000a", "0?limit") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:7] Set("SIP/399-0000000a", "AMPUSERCIDNAME=User") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:8] ExecIf("SIP/399-0000000a", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:9] GotoIf("SIP/399-0000000a", "0?report") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:10] Set("SIP/399-0000000a", "AMPUSERCID=399") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:11] Set("SIP/399-0000000a", "__DIAL_OPTIONS=HhTtr") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:12] Set("SIP/399-0000000a", "CALLERID(all)="User" <399>") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:13] GotoIf("SIP/399-0000000a", "0?limit") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:14] ExecIf("SIP/399-0000000a", "1?Set(GROUP(concurrency_limit)=399)") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:15] ExecIf("SIP/399-0000000a", "0?Set(CHANNEL(language)=)") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:16] NoOp("SIP/399-0000000a", "Macro Depth is 1") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:17] GotoIf("SIP/399-0000000a", "1?report2:macroerror") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx_builtins.c: Goto (macro-user-callerid,s,18)
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:18] GotoIf("SIP/399-0000000a", "1?continue") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx_builtins.c: Goto (macro-user-callerid,s,37)
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:37] Set("SIP/399-0000000a", "CALLERID(number)=399") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:38] Set("SIP/399-0000000a", "CALLERID(name)=User") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:39] GotoIf("SIP/399-0000000a", "0?cnum") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:40] Set("SIP/399-0000000a", "CDR(cnam)=User") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:41] Set("SIP/399-0000000a", "CDR(cnum)=399") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-user-callerid:42] Set("SIP/399-0000000a", "CHANNEL(language)=ru") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [89508597534@from-internal:2] NoCDR("SIP/399-0000000a", "") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [89508597534@from-internal:3] Progress("SIP/399-0000000a", "") in new stack
[2021-09-10 14:34:08] VERBOSE[20958][C-00000008] pbx.c: Executing [89508597534@from-internal:4] Wait("SIP/399-0000000a", "1") in new stack
[2021-09-10 14:34:09] VERBOSE[20958][C-00000008] pbx.c: Executing [89508597534@from-internal:5] Playback("SIP/399-0000000a", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
[2021-09-10 14:34:09] VERBOSE[20958][C-00000008] file.c: <SIP/399-0000000a> Playing 'silence/1.ulaw' (language 'ru')
[2021-09-10 14:34:10] VERBOSE[20958][C-00000008] file.c: <SIP/399-0000000a> Playing 'cannot-complete-as-dialed.ulaw' (language 'ru')
[2021-09-10 14:34:12] VERBOSE[20958][C-00000008] file.c: <SIP/399-0000000a> Playing 'check-number-dial-again.ulaw' (language 'ru')
[2021-09-10 14:34:12] VERBOSE[20958][C-00000008] pbx.c: Executing [h@from-internal:1] Macro("SIP/399-0000000a", "hangupcall") in new stack
[2021-09-10 14:34:12] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-hangupcall:1] GotoIf("SIP/399-0000000a", "1?theend") in new stack
[2021-09-10 14:34:12] VERBOSE[20958][C-00000008] pbx_builtins.c: Goto (macro-hangupcall,s,3)
[2021-09-10 14:34:12] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-hangupcall:3] ExecIf("SIP/399-0000000a", "0?Set(CDR(recordingfile)=)") in new stack
[2021-09-10 14:34:12] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-hangupcall:4] NoOp("SIP/399-0000000a", " montior file= ") in new stack
[2021-09-10 14:34:12] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-hangupcall:5] GotoIf("SIP/399-0000000a", "1?skipagi") in new stack
[2021-09-10 14:34:12] VERBOSE[20958][C-00000008] pbx_builtins.c: Goto (macro-hangupcall,s,7)
[2021-09-10 14:34:12] VERBOSE[20958][C-00000008] pbx.c: Executing [s@macro-hangupcall:7] Hangup("SIP/399-0000000a", "") in new stack
[2021-09-10 14:34:12] VERBOSE[20958][C-00000008] app_macro.c: Spawn extension (macro-hangupcall, s, 7) exited non-zero on 'SIP/399-0000000a' in macro 'hangupcall'
[2021-09-10 14:34:12] VERBOSE[20958][C-00000008] pbx.c: Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/399-0000000a'
Гуглеж по строке лога:
Код
"silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
Привел к, предположению, о необходимости перенастройки Dial Patterns иссходящего маршрута, я думал я его праивльно настроил.

Добавлено через 7 минут
Выполняю dialplan show ХХХХХХХХХХХ@from-internal:
Код
[ Included context 'bad-number' created by 'pbx_config' ]
  '_X.' =>          1. ResetCDR()                                 [pbx_config]
                    2. NoCDR()                                    [pbx_config]
                    3. Progress()                                 [pbx_config]
                    4. Wait(1)                                    [pbx_config]
                    5. Playback(silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer) [pbx_config]
                    6. Wait(1)                                    [pbx_config]
                    7. Congestion(20)                             [pbx_config]
                    8. Hangup()                                   [pbx_config]

-= 1 extension (8 priorities) in 1 context. =-
Где ХХХХХХХХХХХ набираемый сотовый номер.
Теперь буду пытаться этот вывод как-то интерпретировать.

Добавлено через 3 минуты
Набрал городской семизначный номер - вызов криво, но пошел.
Выполняю для для проверки dialplan show RRRRRRR@from-internal:
Код
[ Included context 'outrt-4' created by 'pbx_config' ]
  '_NXXXXXX' =>     1. Macro(user-callerid,LIMIT,EXTERNAL,)       [pbx_config]
                    2. Gosub(sub-record-check,s,1(out,${EXTEN},dontcare)) [pbx_config]
                    3. ExecIf($[ "${CALLEE_ACCOUNCODE}" != "" ] ?Set(CDR(accountcode)=${CALLEE_ACCOUNCODE})) [pbx_config]
                    4. Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})}) [pbx_config]
                    5. ExecIf($["${KEEPCID}"!="TRUE" & ${LEN(${DB(AMPUSER/${AMPUSER}/outboundcid)})}=0 & ${LEN(${TRUNKCIDOVERRIDE})}=0]?Set(TRUNKCIDOVERRIDE=YYYYYYYYYYY)) [pbx_config]
                    6. Set(_NODEST=)                              [pbx_config]
                    7. Macro(dialout-trunk,3,${EXTEN},,on)        [pbx_config]
                    8. Macro(outisbusy,)                          [pbx_config]

[ Included context 'bad-number' created by 'pbx_config' ]
  '_X.' =>          1. ResetCDR()                                 [pbx_config]
                    2. NoCDR()                                    [pbx_config]
                    3. Progress()                                 [pbx_config]
                    4. Wait(1)                                    [pbx_config]
                    5. Playback(silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer) [pbx_config]
                    6. Wait(1)                                    [pbx_config]
                    7. Congestion(20)                             [pbx_config]
                    8. Hangup()                                   [pbx_config]

-= 2 extensions (16 priorities) in 2 contexts. =-
RRRRRRR - 7-значный номер на который вызов прошел;
YYYYYYYYYYY - транк скоторого вызов прошел.
В общем да, накосячил с Dial Patterns в Outbound Routes.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2021, 14:53

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Выбор программного интерфейса для шлюза
Hi wolves. Нужны филосовские размышления. В общем встала задача стандартизации записи...

VoIP
Не знаю как объяснить... Одним словом, мне нужно написать программу выполняющую роль ИП телефона,...

С++ и VoIP
Доброго времени суток, Есть БД с номерами VoIP, пользователями и т.д. и т.п. и пишется...

VOIP
Хочу сделать диплом на тему VOIP. Но так сказать не совсем понимаю в этом... Подскажите, а можно ли...

VoIP
Доброе время суток, ни кто не встричал VoIP клиент написанный с приминением Qt? и ещё, кто знает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.