Добрый день,
Есть Битрикс24 (Bitrix24-коробочная версия). Шлюз DINSTAR G2000-8E. Сервер с телефонией на базе: Asterisk +FreePBX оболочка.
Задача от заказчика:
настроить Dinstar после полного сброса (т.е. он сделал на Dinstare полный reset)
настроить роутинг на Dinstare по определенным симкам:
- с 0 по 5 сим-карту, звонки должны идти на группу менеджеров в Битрикс24
- с 6 по 7 сим-карту, звонки должны идти на группу бухгалтеров в Битрикс24
все это связать с Bitrix24, как 2 отдельные АТС (для роутинга между 2 группами менеджеров и бухглатеров)
Задача тривиальная, но проблема была в том, где именно мы собираемся роутить звонки на шлюзе или в Астериске ?
Далее я опишу процесс интеграции с детальными настройками, как , где и что было сделан по этапам.
——————————GSM-шлюз DINSTAR DWG2000E-8G-B Business——————————
Со шлюзом оказалось все и просто и сложно одновременно, ну по первых — клиент его сбросил, и нужно было ему объяснить как к нему подключится (при том что он по DHCP не получает IP-адрес) Default settings DISNTAR, DISNTAR to default, DISNTAR 2000G to default.
тут все просто:
— Подключаете его в сеть в порт: FE0, FE1
— вбиваете жесткие настройки IP-адреса на Вашем ПК: IP:192.168.11.10 , Mask:255.255.255.255, DNS:192.168.11.1
— заходите на шлюз черезе браузер, просто вводите его IP-адрес: http://192.168.11.1/enFrame.htm (выглядит это так)
— В меню: Net configuration > Obtain IP address automatically (если Вы опытный юзер, тогда ручками забейте IP адрес Вашей сети)
— Сохраняете и перегружаете (далее возвращаетсь в Вашу сеть, ищите его IP по MAC на роутере, и заходите на него (если Вы жестко прописали айпи, тогда просто заходите используя его)
1) Нам нужен список СИМ-КАРТ с номерами телефоном и порядком, по которому они вставлены в шлюз, далее проверяем в меню: System Information > Mobile Information , статусы наших карт.
Если Вы видите что все карты зарегистрированы, шлюз видит Operator, Signal, IMEI, IMSI, Status: Mobile Registered — тогда можно продолжать настройку.
2) Заходим в меню: Calls Configuration и начинаем настройки Вашего DINSTAR DWG2000E-8G-B (ниже я буду писать только те меню, где я менял настройки):
> SIP Configuration
— SIP Server Address: Указываете IP адрес Вашего сервера (если у Вас домен, напишите в гугле, как узнать IP домена, он Вам поможет) или просто укажите домен 🙂
— SIP Server Port(default: 5060) — он Вам говорит что по дефолту порт 5060, но мы к примеру использовали 9050 (по этому будь-те внимательны)
— Check Net Status: «yes»
> All Ports Register Used Same User ID — «No»
> Use Same Local Sip Port — «No»
From Mode when Caller ID Is Available — «Tel/Tel»
Этого будет вполне достаточно.
3) В меню: Port Configuration настраиваем подключение к каждой нашей Сим-карте, это одна из главных настроек, пожалуйста будь-те внимательны.
Я опишу Вам логику, по которой я создавал подключение:
— Каждой симкарте я давал SIP USER ID в таком порядке: номер порта/оператор/номер симки , что у меня получилось:
0MTS1 , 1KS1, 2LIFE1, 3KS2, 4MTS2, 5KS3, 6MTS3, 7KS4 (т.е. у нас 3 карты Vodafone(MTS), 4 Карты Kievstar и одна Карта Lifecell
— Пароль у всех одинаковый, нет смысла с этим заморачиватся
— Local SIP Port, указываем порт на котором работает астериск на сервере: 9050 в нашем случае
— Один из главных моментов: To VOIP Hotline — это контекст который будет обрабатывать астериск для входящих звонков, тут я указываю номер телефона: 0999999999 (В дальнейшем Вы поймете зачем это было нужно, при настройке Астериск)
— По аналогии я сделал остальные карты: Юзер айди,общий пароль, порт, номер телефона через 0
4) Дополнительные настройки:
>Service Parameter
— Only Accept Calls from SIP Server — Yes
— Allow Call from GSM to IP without Registration — Yes
— Allow Call from IP to GSM without Registration — Yes
>Media Parameter
— Preferred Coders(in listed order): 1-PCMA, 2-PCMU, 3-G.723.1, 4-G.729AB.
5) Осталось совсем немного. Делаем роутинг звонков адресацию входящих и исходящих звонков в меню: Routing Configuration.
>Routing Parameter (выбираем как будет работать правило)
— IP->Tel Parameter: Route calls after manipulation
— Tel->IP Parameter: Route calls after manipulation
>IP->Tel Routing (Исходящие звонки) Тут мы делаем все 8 позиций, т.е. берем дефолтный — нажимаем Modify:
— Index: 31
— Description: default
— Source Prefix: any
— Source IP: Sip Server
— Description Prefix: any
— Port Group 0
* И так проделываем для каждой сим-карты . должно быть 8 настроек на каждый порт. Все теперь исходящий роутинг успешно настроен (его можно было сделать и через Port Group, ну тут каждый делае на своё усмотрение)
>Tel->IP Routing (Входящие звонки) Тут мы делаем все одну позицию из дефолта, т.е. берем дефолтный — нажимаем Modify:
— Index: 31
— Description: default
— Source Prefix: any
— Source : Выбираем any (т.е. все порты)
— Description Prefix: any
— Destination: SIP Server
* Что мы сделали? — взяли звонки со всех портов и направили их на сип сервер, на котором далее мы сделаем роутинг для каждой сим-карты отдельно, благодаря ранее вписаному параметру: VOIP Hotline
ИТОГ: Ваш GSM-шлюз DINSTAR DWG2000E настроен успешно. Теперь он готов принимать и делать исходящие звонки через наш SIP server на базе Астериска.
—————Asterisk установлен на Centos 7 с оболочкой FreePBX для управления—————
По поводу самого астериска говорить буду в кратце, так как он уже был настроен (имею введу: собран на сервере, поставлены все нужные модули: DAHDI, ODBC-коннектор, накачена оболочка FreePBX и т.д.)
Доступ к серверу у меня конечно же был, для настройки IPTABLES и FAIL2BAN
Но настройки Астериску я задавал только через оболочку FreePBX.
Приступим, по шагово:
- Создал 2 пользователя в меню: Extension (buhgalter — 1000 , manager 2000)
Это те данные которые нужны нам при создании АТС в Битрикс24, о чем я писал ранее,а именно когда нажимаем Подключить «ОФИСНУЮ АТС» вот там и вводим все это.
(Тут по логике Для АТС Бухгалтеров — buhgalter — 1000 , для Менеджеров — manager 2000)
* Для тех кто не любит читать — Дальше будет очень полезная инфа по настройке транков, исходящих и входящих звонков.
Советую создать так же тестового юзера (третьего и зарегистрировать у Вас в зойпере для манипуляций и тестирования звонков!
- Теперь задача №2 подключить Trunk’s в FreePBX по тем настройкам которые даст нам Битрикс24 (после создания АТС в меню: «Входящие звонки»)
В 3-тем пункте это будте описано, он нам даст: Адрес сервера,Логин и пароль.
Заходи в FreePBX > Connectivity > Trunks > Add SIP (chan_sip) Trunk
— важные поля: Trunk Name (тут у меня будет 2 транка, как и ранее называл по нуждам: Buhgalter и Manager)
— Ниже Trunk Name дублирую информацию
— И вот главный момент: PEER Details тут вносим всю информацию которую я привожу ниже (просто копируем, это взято из официального источника- Википедия Битрикс24)
`
disallow=all
allow=ulaw&alaw
dtmfmode=rfc2833
fromdomain=ip.b24-********.bitrixphone.com(То что Вам дал битрикс в поле сервер)
type=friend
host=ip.b24-********.bitrixphone.com(То что Вам дал битрикс в поле сервер)
fromuser=sip25*(То что Вам дал битрикс в поле логин)
username=sip25*(То что Вам дал битрикс в поле логин)
secret=12345678900987654321(То что Вам дал битрикс в поле пароль)
insecute=port,invite
conext=contex-internal
nat=yes
qualify=yes
`
*Теперь Ваш транк успешно зарегистрируется и можно будет отправлять Ваши звонки из Астериска на Битрикс24 успешно.
- Теперь создаем 8 транков (это транки на подключение к 8-ми сим-картам на GSM-шлюз DINSTAR DWG2000E).
Выходит что к каждой карте мы подключаемя отдельно, спросите Вы зачем? — Что бы зароутить каждую сим-карту на нужную нам АТС в Битрикс24 для входящих и исходящих звонков
Все просто ребят, берем настройки из шлюза, напоминаю я каждой сим карте дал адекватный порядковый номер, один и тот же пароль для подключения, так же я и назову свои транки.
Пример для транка нулевого транка — Сим-карта — 0
`
username=0MTS1 (логин Вашей симки)
secret=1qaz2wsx3edc (Пароль Вашей симки)
host=dynamic
type=friend
disallow=all
allow=alaw&ulaw (!Важно, это кодеки с которым будет работать астериск, если не укажите будет ругаться что G729 не доступен)
qualify=yes (Пингуем наши симки, не обязательно, но мне так захотелось)
dtmfmode=auto
context=from-trunk (Контектс который указывает что входящие звонки с сим-карт будут заходить в Inbound route в FreePBX)
`
Остальные сим-карты шлюза подключены по аналогии, изменяется только USERNAME
- Теперь проходим в меню: Outbound Routes и создаем настройки исходящих звонков.
Так как напоминаю, у нас 2 группы пользователей Buhgalter и Manager , я сделал 2 типа исходящих роутов:
KSforManager
Dial Patterns that will use this Route — тут важно только данное меню, в нем я прописываю возможность набора на Киевстар с помощью +380 и 380, а так для кто имеет возможность набирать (В нашем случае это manager 2000)
+38 [06 [78]. / 2000] — здесь разрешено набирать чере +380 номера 067,068 для Extension 2000
+38 [09 [678]./ 2000] — здесь разрешено набирать чере +380 номера 096,097,098 для Extension 2000
38 [06 [78]. / 2000] — аналогия
38 [09 [678]./ 2000] — аналогия
И далее направляем, куда же будут идти наши звонки (на какие транки):
Trunk Sequence for Matched Routes:
В нашем случае я направляю на
-1KS1 (сим-карта в шлюзе на порте 1 Киевстар)
-3KS2 (сим-карта в шлюзе на порте 3 Киевстар)
-5KS3 (сим-карта в шлюзе на порте 5 Киевстар)
Что получаем? — исходящие звонки дут через 1-3-5 симки Киевстара, если 1 занята, тогда идет на 3-тью и так далее)
MTSforManager
Dial Patterns that will use this Route
«Делаем по аналогии выше»
LifeforManager
Dial Patterns that will use this Route
Даю подсказу по лайфу:
+38 [06 [679]3. / 2000] — здесь разрешено набирать чере +380 номера 063,073,93 для Extension 2000
«Делаем по аналогии выше»
и
KSforBuhgalter
+38 [06 [78]. / 1000] — здесь разрешено набирать чере +380 номера 067,068 для buhgalter — 1000
+38 [09 [678]./ 1000] — здесь разрешено набирать чере +380 номера 096,097,098 buhgalter — 1000
38 [06 [78]. / 1000] — аналогия
38 [09 [678]./ 1000] — аналогия
Но, в меню: Trunk Sequence for Matched Routes, указываем Сим-карты для Бухгалтеров:
-7KS4 (сим-карта в шлюзе на порте 7 Киевстар)
MTSforManager
«Делаем по аналогии выше»
LifeBuhgalter
«Делаем по аналогии выше»
ALLCALL FOR CITY (все исходящие на городские номера — ранее об этом не писал, но в Астериске у нас уже имелся транк от Укртелекома для городских номеров)
+38 [0 [1-9]. / ]
38 [0 [1-9]. / ]
Но, в меню: Trunk Sequence for Matched Routes, указываем транк от Укртелекома
Итог: У Вас теперь 7 направляний для исходящих звонков, направленных на нужные Вам Сим-карты на GSM-роутере
- Теперь проходим в меню: Inbound Routes и создаем настройки входящих звонков.
Тут все очень просто. Ранее на шлюзе мы сделали настройку HOT line для каждой сим-карты, тем самым мы сказали шлюзу отдавать в астериск параметр extension номер телефона через 0, а значит
в поле DID Number мы теперь указываем нужный нам номер через 0, пример:
Route 0 — Inbound
Description: 0MTS1
DID Number: 0999999999
Set Destination: Trunks > Manager 2000
Обязательно не забываем, что есть городские номера, и если у Вас заведен в АСТЕРИСК ТРАНК от Укртелекома,Интертелекома или другого провайдера, Вам нужно Все звонки направить на Битрикс, по аналогии:
Route 0 — Inbound
Description: UkrTelecom
DID Number: имя_транка_которое нам дал Укртелеком или входящий номер 0441111111
Set Destination: Тут самостоятельная работа. Нужно создать группу в меню: Aplication > Ring Roup > в которую добавить оба Ваши Extension 1000 2000 (с новой строчке, не через запятую) и дальше на эту группу направить звонок
Set Destination: Ring Group > ALLGROUP (вызовы будут идти на оба подключения в Битрикс24, так как по городским нам не нужна разбивка на 2 офиса)
Что касаемо настроек Bitrix24 — продолжение следует во второй статье.