Dvg 7111s настройка voip

Обновлено: 05.07.2024

История
Схема работы простая: ATC — FXO(7111S) == LAN(WiFi) ==(2102S) FXS – т.а.
Использоваться будут только FXO на 7111S и Line1 FXS на 2102S, остальные лучше отключить сразу, дабы не мешались и не сбивали.
Принцип настройки p2p прост, как пять копеек: присваеваем номера нужным линиям (любые они будут использоваться только при пробросе звонков, конечный пользователь их не заметит), добавляем в адресную книгу (phone book) информацию о нужном шлюзе, и настраиваем Hot Line. После этих нехитрых действий все должно заработать.
Теперь по-порядку:
Для DVG-7111S
( В конце каждой страницы не забываем нажимать Apply для сохранения)
Вкладка Setup:

Internet setup:
type: Static IP
IP address: 192.168.11.10
Subnet mask: 255.255.255.0
Default GW IP: 192.168.11.1

VoIP setup, раздел Phone 2 FXO
Number: 111

Дальше вкладка Advanced:
VoIP->DTMF & PULSE
Включить FXS Pulse Detection, Enable Out-of-Band и RFC 2833
Enable Hook Flash Event: Auto

VoIP->FAX
Line 2: T.38 Fax

VoIP->Hot Line
раздел Phone 2 – FXO
Включить Hot Line
Hot Line No.: 222
Warm Line: 0
Trunk Incoming Prompt Voice: Dial Tone
Включить Enable FXO / Trunk Extension Number, Pick up Line by Dialing Extension Number,
Detect FXO Line Presence
Ring count before FXO pick up: 0

VoIP->Line
Выключить Line 1 – FXS Enable
FXO Impedance: Russia 600 Ohm
Выключить Enable IVR Option

VoIP->Phone book
кнопка Add,
Gateway name: FXS
Gateway number: 222
IP / Domain Name: 192.168.10.11 (внимание! тут адрес 2102S шлюза)
Port: 5060

Сохраяемся и перезагружаем шлюз (внизу ссылка Save & Restart, дальше кнопка Reboot)
DVG-2102S
Вкладка Setup:

Internet setup:
type: Static IP
IP address: 192.168.11.11
Subnet mask: 255.255.255.0
Default GW IP: 192.168.11.1

VoIP setup, клик по значку «редактировать» в первой строке строке
раздел Phone 1 FXS
Number: 222

Дальше вкладка Advanced:
VoIP->DTMF & PULSE
Включить Enable Out-of-Band и RFC 2833
Enable Hook Flash Event: Auto

VoIP->FAX
Line 1: T.38 Fax

VoIP->Hot Line
раздел Phone 1 – FXS
Включить Hot Line
Hot Line No.: 111
Warm Line: 0

VoIP->Line
Выключить Line 2 – FXS Enable
FXO Impedance: Russia 600 Ohm
Выключить Enable IVR Option

VoIP->Phone book
кнопка Add,
Gateway name: FXO
Gateway number: 111
IP / Domain Name: 192.168.10.10 (внимание! тут адрес 7111S шлюза)
Port: 5060

также сохраяемся и перезагружаем шлюз (та же ссылка Save & Restart, дальше кнопка Reboot)
На этом настройка закончена.

Что и куда подключать:

Как работает:
Проброс осуществляется прозрачно, как только снимается трубка на телефонном аппарате DVG-7111S занимает линию и начинает транслировать диалтон, как только по внешней линии приходит звонок сразу же звонит телефон подключенный к дырке Phone 1 DVG-2102S

По роду своей работы в сфере IT мне достаточно часто приходится сталкиваться с проблемами не всегда стандартными для IT сферы. Так же заметки со ссылками на статьи которые очень часто на практике выручали, держать на своем компе стало не удобно. По этой причине создан этот блог - записная книжка статей и заметок. Авторов статей прошу не обижаться если местами забыл сделать на них обратную ссылку. Пишите в комментариях все обязательно поправлю..

Поиск по моему блогу

Настройка voip-роутера D-link DVG 7111S + asterisk

Наконец, привезли D-link DVG 7111S. И, наконец, в моем домашнем asterisk будет FXO и FXS. И, наконец, можно будет звонить не через софтфон + гарнитура, а через обычный телефон.
Однако, и страшновато было. Ни разу не настраивал ничего подобного. В сетях я - полный ноль.
Ну начнем, помолясь!
Имеем такую сеть:
DSL-модем > пятипортовый switch> два компа(один с linux, другой с Windows)
Linux Ubuntu 9.10 имеет прямое подключение к интернет через DSL.
А на компьютере с Windows дочь смотрит IPTV через тот же DSL.
Требуется подключить 7111S так, что бы сохранить status quo.
Ну начнем, помолясь, настраивать 7111S связке с домашним сервером asterisk.
Соединяем кабель DSL-модема с портом WAN шлюза D-link, а порт LAN соединяем со свитчем локалки.
Теперь нам нужно попасть в Web-интерфейс Dlink DVG 7111S.
Где 192.168.1.4 - новый адрес voip-шлюза, а 192.168.1.2 - адрес компьтера а астериск. В качестве DNS тоже выбран 192.168.1.2 Кстати, нужно не забыть поменять обратно адрес 192.168.8.1 на компьютере, с которого заходили в web-интерфейс шлюза. Жмем Apply.
Далее lan setup.

Там нужно выбрать bridge и больше ничего не менять. Жмем Apply.
Теперь, пусть и не по порядку, voip setup



Как пишут, отличительной особенностью FXO данного шлюза, является то, что для него создается обычный peer.
Поэтому в sip.conf надо создать 2 пира
[701]
type=friend
host=dynamic
context=ваш_контекст
secret=ваш_пароль

и
[555555]
type=friend
host=dynamic
context=ваш_контекст
secret=ваш_пароль

Ну и в extensions.conf
exten => 701,1,Answer
exten => 701,n,Dial(SIP/$,60)
exten => 701,n,Hangup

exten =>555555,1,Answer
exten =>555555,n,Dial(SIP/701,60)
exten =>555555,n,Hangup

Недавно нам пришлось решать довольно интересную задачу – подать несколько телефонных номеров, находящихся в разных городах, на центральную справочную службу, организованную на базе 3CX Phone System Call Center Module.

Проблема заключалась в том, что номера эти были очень старые и “раскрученные”, и отказаться от них (и взять новые номера по SIP) было неприемлемо для заказчика. В то же время, перевести эти номера в SIP также было невозможно, т.к. они находились в небольших городах. Чтобы было понятнее, стояла задача организовать единую справочную службу, которая бы обслуживала несколько автовокзалов, расположенных в райцентрах.

Бюджет, естественно, выделялся минимальный.

После рассмотрения разных вариантов была предложена такая схема.

  1. В головном офисе, там, где расположен колцентр 3CX Phone System, мы провели кабельный Интернет с фиксированным IP адресом, установили роутер D-link DSR-250N и настроили на нем PPTP сервер.
  2. Во всех небольших автовокзалах нам удалось подвести ADSL от Укртелекома, но с динамическим IP адресом, т.к. аренда фиксированного IP адреса для каждой точки существенно повышала ежемесячную абонплату.
  3. К интернет каналу на каждом автовокзале мы подключили голосовой шлюз D-link DVG-7111s с 1 FXO и 1 FXS портом, и, самое главное, PPTP клиентом.
  4. Шлюз D-link DVG-7111s поднимал PPPOE соединение с Укртелекомом, затем поднимал PPTP туннель на головной офис (на DSR-250N), а затем поднимал SIP авторизацию на 3CX Phone System.

Указанная схема решала одновременно несколько проблем.

  1. VoIP система оставалась безопасной, т.к. на роутере DSR-250N не пришлось открывать никаких дополнительных портов
  2. Меняющийся IP адрес шлюза затрудняет атаку на VoIP систему через взлом VoIP шлюза DVG-7111s
  3. Все разговоры были защищены, т.к. проходили внутри PPTP VPN туннелей
  4. IP адреса шлюзов DVG-7111s из подсети PPTP сервера (192.168.1.0) не менялись при смене динамических WAN адресов, выданных провайдером по PPPOE. Это позволило отказаться от статического IP адреса в каждой точке (кроме головного офиса) и существенно сэкономить на абонплате.
  5. Не требовалось никакого дополнительного оборудования кроме VoIP шлюза DVG-7111s. ADSL модем предоставлялся Укртелекомом бесплатно.

image

А теперь я покажу, как все это делалось практически.

Настройка PPTP сервера на роутере D-link DSR-250N

1. В разделе Setup > VPN Settings > PPTP > PPTP Server установите параметры, как показано на рисунке.

image

2. Далее следует добавить PPTP пользователя. Для каждого шлюза DVG-7111s я рекомендую создать отдельного PPTP пользователя. Например, для первого шлюза я создал пользователя dvg1.

В разделе Advanced > Users > Groups создайте группу для PPTP пользователей.

image

В разделе Advanced > Users > Users добавьте пользователя (данные авторизации PPTP) для первого шлюза. Тут же можно создать PPTP пользователей и для остальных шлюзов.

image

Настройка PPTP клиента на VoIP шлюзе D-link DVG-7111s

1. Прежде всего, обновите прошивку шлюза. После некоторых экспериментов, я выяснил, что наиболее подходящая прошивка эта.

2. Затем настройте PPPoE подключение на шлюзе стандартным образом в разделе Setup > Internet Setup.

image

3. Настройте PPTP клиент в разделе Advanced > Advanced Network > PPTP Client, как показано на рисунке.

image

4. Остальные настройки шлюза D-link DVG-7111s (то есть, настройки SIP) делаются, как показано здесь.

Подключение шлюза со стороны 3CX Phone System

1. Первый шлюз подключается стандартным образом на IP адрес 192.168.1.2. Именно этот адрес ему выдаст PPTP сервер роутера DSR-250N.

image

Для удобства я присвоил шлюзу имя, совпадающее с именем соответствующего PPTP пользователя.

image

Тестирование подключения

1. Если все настроено правильно, пользователь dvg1 должен появиться в списке активных подключений PPTP сервера (в разделе Setup > VPN Settings > PPTP > PPTP Active Users) в роутере DSR-250N.

image

2. Статус VoIP подключений шлюза DVG-7111s также должен быть Successful (в разделе Status > VoIP Status).

image

3. Со стороны 3CX Phone System шлюз DVG-7111s также должен быть активен.

image

На этом нашу задачу можно считать решенной 🙂

Замеченные недостатки

1. Роутер DSR-250N позволяет подключить не более 25 PPTP VPN клиентов. Это создает ограничение, если количество шлюзов (точек) свыше 25.

2. Никак нельзя контролировать процесс выдачи IP адресов из пула PPTP сервера DSR-250N. Это, в принципе, может привести к выдаче неверного адреса PPTP клиенту шлюза DVG-7111s. В результате шлюз не сможет подключиться к 3CX Phone System. Мы продолжаем тестировать этот механизм.

Настройка абонента в FreePBX

Настройка порта FXS со стороны сервера не отличается от настройки обычного телефона: нужно лишь создать SIP аккаунт, которому прописать номер, имя (английскими буквами) и пароль как показано на рисунке (для простоты пароль пользователя равен выданному номеру):

Добавление аккаунта для абонентского порта шлюза серии DVG

Как видно из рисунка, параметр dtmfmode установлен в режим rfc2833, это значение нужно изменить на info.

Настройка транка и маршрутов в FreePBX

По большому счету после этих настроек VoIP шлюз может зарегистрироваться и работать как обычно. Однако даже если прописать все порты по отдельности как положено, VoIP шлюз будет выбирать линию для выхода по принципам, известным только его разработчикам. Это происходит из-за того, что умная электроника сама определяет статус городской линии: если она не подключена к физически то VoIP шлюз не даст совершить вызов по этому порту и вызов перейдет на другой. Однако в некоторых случаях эта особенность только мешает и необходимо жестко прописывать порядок занятия портов. Для этого в первую очередь нужно прописать правило набора для этого транка (Dial Rules):

Это правило будет преобразовывать отправляемый номер, добавляя номер порта к набираемому номеру, что VoIP шлюз интерпретирует как занятие конкретного порта. Чтобы это работало, в VoIP шлюзе должна быть установлены опции в разделе Telephony Settings (обычно включены по умолчанию):

Включения занятия транка по портам

будет примерно следующее содержимое:

этот код нужно изменить на следующий:

Побочным эффектом может быть некорректная работа цифровых транков к провайдерам: при обнаружении занятости вызываемого номера система автоматически перейдет на следующий транк и повторит дозвон до тех пор, пока не дойдет до последнего транка в маршруте.

Для распределения звонков, поступающих с FXO портов VoIP шлюза следует настроить входящую маршрутизацию: прописать DID и CID номера в разделе Inbound Routes. В данном случае DID номер отвечает за то, на звонок с какого порта VoIP шлюза нужно реагировать, а CID номер определяет совпадение с номером звонящего:

Базовые настройки VoIP шлюза

Сетевые параметры

Теперь нужно настроить основные параметры VoIP шлюза, для чего заходим на его веб интерфейс по полученному адресу. В разделе Network Settings нужно установить порты SIP и RTP в значения, актуальные для Вашей системы. Для TBE Embedded это, как правило, так:

Задание номеров SIP и RTP портов для работы D-link и Asterisk

Настройка телефонных сервисов

Если к VoIP шлюзу подключены телефоны, которые понимают посылки CallerID, то нужно включить передачу номера в разделе Caller ID (прием по умолчанию включен):

Включение генерации CallerID

Включение перевода звонка средствами шлюза

Также можно включить и Call Waiting, однако нужно быть готовым, что пользователей будет выводить из себя обратный отзвон при неправильно положенной трубке. В новых версиях прошивки VoIP шлюзов в этом разделе присутствуют элементы управления дополнительными сервисами и их клавиатурными кодами. Эти коды пересекаются со встроенными в Trixbox и их необходимо отключить полностью.

Настройка DTMF и кодеков

Для правильной работы системы требуется четко определить способ передачи тоновых посылок между VoIP шлюзом и сервером. Ранее, при определении транка, мы прописали dtmfmode=info, аналогичные настройки нужно сделать и на VoIP шлюзе в разделе Advanced Options:

Настройка DTMF

Опцию Enable Non- SIP Inbox Call следует отключить, она отвечает за режим работы VoIP шлюза с исходящими звонками: при ее включении все вызовы маршрутизируются VoIP шлюзом самостоятельно без участия сервера телефонии.

Так как в большинстве случаев VoIP шлюзы устанавливаются в локальной сети, в непосредственной близости от сервера телефонии. В этом случае нет необходимости нагружать оборудование сжатием голоса, тем более что это ухудшает качество связи и мешает передаче факсов. В разделе Codec Settings нужно выбрать кодек G.711:

Настройка кодеков

Настройки SIP подсистемы

Для того, чтобы VoIP шлюз взаимодействовал с сервером телефонии, его необходимо настроить: прописать SIP сервер, параметры регистрации, учетные данные для каждого порта VoIP шлюза. В разделе SIP нужно отметить опцию Enable Support of SIP Proxy Server / Soft Switch, а адрес сервера прописать в три поля:

В VoIP шлюзах D-Link есть возможность представлять все порты одного типа под одним логином, при этом VoIP шлюз сам выбирает доступные для звонка линии. Однако удобнее, когда управление выбора линий осуществляется с сервера, поэтому нужно прописать логины и пароли для каждого порта VoIP шлюза:

Для того, чтобы включить регистрацию порта VoIP шлюза, нужно отметить опцию Register.

Hotline в разделе Telephony Settings

Для сохранения настроек и применения их необходимо в разделе System Operation отметить соответствующие опции и перезагрузить VoIP шлюз:

Сохранение и применение настроек шлюза

После перезагрузки VoIP шлюз зарегистрируется на сервере и будет готов к работе. Проверить это можно перейдя в модуль Asterisk CLI системы управления FreePBX и выполнив команду sip show peers. Эта команда должна вывести информацию о всех заведенных устройствах и их регистрации в системе:

Вывод команды sip show peers

Определение периодичности сигнала в Audacity

Для измерения частоты сигнала необходимо выделить участок с сигналом и построить график спектра:

График спектра в Audacity

На этом графике будет отчетливо видны пики на тех частотах, которые используются в формировании сигнала. В данном случае сигнал одночастотный (а бывают и двухчастотные, для них будет два пика) с максимальной амлитудой на частоте 425 Гц. Полученные значения нужно прописать в VoIP шлюз. В разделе CPT / Cadence Settings в таблице Busy Tone Cadence Measurement нужно прописать в одной из строк длительности периодов сигнала:

Задание параметров длительности периодов сигнала "занято"

Эта таблица отвечает за обнаружение периодичности сигнала без учета частот. Опцию Auto Learning нужно отключить во всех строчках, в других незадействованных строках все значения нужно выставить в 0. Точную частоту сигнала нужно прописать в одной из секций CPT :

Задаем точную частоту сигнала "занято"

Методы устранения эха и других проблем

Устранение эха

Эхо это основная врожденная болезнь стыка VoIP и аналоговых систем, оно образуется из-за задержки при кодировании и декодировании сигнала. В традиционных системах эхо так же есть, но задержка во времени минимальна и ухом человека почти не воспринимается, а также легко давится примитивными противоместными схемами. Устранение эха в VoIP шлюзах D-Link сводится к простому перебору преднастроенных параметров импеданса FXO линий в разделе Advanced Options:

Подбор параметров для удаления эха

Хорошие результаты обычно показывают варианты для Новой Зеландии и Греции. Если эхо все равно есть, то можно попробовать другие варианты. Удобно, что перезагрузки VoIP шлюза для вступления в силу этой настройки не требуется, нужно просто нажать в нижней части страницы кнопку Accept. Все изменения слышны на слух. Для проверки нужно позвонить в FXO линию и разговаривать, подбором параметра добиться пропадания эха с обоих сторон.

Регулировка громкости и длительности Flash

Регулировка громкости и длительности flash

Самопроизвольный обрыв разговора

После обновления прошивки около года назад многие пользователи VoIP шлюзов заметили спонтанные обрывы связи, при этом со стороны сервера все выглядело так, как будто на стороне FXO линии произошел отбой. Долгие часы и дни решения проблемы выявили новую опцию в подсистеме распознавания сигнала занято: Auto Learning. В общем-то полезная опция появилась неожиданно, однако ее нужно отключать сразу после того, как VoIP шлюз определит параметры сигнала, т.е. в процессе начальной настройки. Если этого не сделать, то умная железка может обнаружить повторяющиеся последовательности в процессе обычного разговора и прервать вызов.

Отладка VoIP шлюза

VoIP шлюзы D-Link могут выдавать подробный лог своих действий, что незаменимо при отладке проблемных моментов. Для этого нужна специальная программа slmon, которая присоединяется к VoIP шлюзу по TCP или UDP соединению, снимает лог событий в реал-тайм режиме и сохраняет их на диск.

Полезные ссылки

Комментарии

Спасибо огромное за детальный обзор! Настроили по Вашему мануалу за полчаса, все работает! Подскажите, а как настроить переадресацию входящего звонка с FXO на FXS по расписанию? Нам нужно чтобы звонки с FXO в субботу и воскресенье уходили на SIP абонента.

Ну вообще это задача не шлюза, во FreePBX есть средства для управления входящей маршрутизации в соответствии с временными интервалами.

что то не работает, а поподробней то нельзя описать? откуда например 07811 берётся7

Нужно эти номера в разделе Inbound Routes прописать. В статье же это написано.

я правильно понимаю, что если звонок входящий в музыку приходит, то если с другой стороны бросят трубку длинк через музыку сигнал отбоя не услышит? и бороться видимо с этим бесполезно.

Привет, наткнулся на ваш побочный эффект. Изменения в functions.inc.php. Как теперь его побороть? Спасибо.

все работает, звонится в обе стороны, но при выходе через fxo разговор обрывается через 20 секунд, в чем может быть дело?

Switch, как побороть побочный эффект, где читать?

Switch, есть варианты ответа, хоть какие нибудь?

Подскажите, а каким образом можно реализовать запись разговоров со шлюза Dlink DVX -7090, если к примеру в разрез шлюза и IP phones поставить сервер?

Как и с каким контекстом зарегистрировали транк?

Trunk Name: 701
PEER Details:
username=701
type=friend
secret=xxx
qualify=yes
port=5060
nat=no
host=dynamic
dtmfmode=rfc2833
context=from-pstn
canreinvite=no

В Incoming Settings USER Context пусто

Так-то да, но должно работать и с from-pstn. Проверьте что пишет SLmon при поступлении звонка с городской линии.

slmon говорит что звонок идет

ну и тетя говорит что нет такого номера

Yur0k выше писал, что нужно проверить наличие номера хотлайна в диалплане. Сделайте из командной строки астериска так: dialplan show 0701@from-pstn. Будет видно, какие контексты попадают под условие, если они существуют.

freepbx-test*CLI> dialplan show 0701@from-pstn

[dest-ext] 6. Goto(from-did-direct,2002,1) [pbx_config]

= 2 extensions (8 priorities) in 2 contexts. =

Blacklist не настроен?
В шлюзе никакие опции в разделе SIP не ковыряли? Попробуйте сбросить настройки в ноль и снова настроить.

и конечно сказывается ну очень мало опыта по voip в целом – но желание есть хотябы малость разобраться

блэклист не настраивал
в шлюзе ковырял все подряд!
попробую все перенастроить

если в extensions.conf прописать в
[from-internal]
exten => 0701, 1, Dial( SIP /2002)
то звонки начинают идти, но как все это сделать средствами freepbx?

Как и с каким контекстом зарегистрировали транк?

Покажите вывод sip show peer 701

Trunk Name: 701
PEER Details:
username=701
type=friend
secret=xxxx
qualify=yes
port=5060
nat=no
host=dynamic
dtmfmode=rfc2833
context=from-pstn
canreinvite=no

Читайте также: