Организуем программный GSM-SIP шлюз с GMS-модемами

Задача: организовать несколько (до 10) GSM-линий с подключением их к asterisk при недостатке USB-портов на сервере asterisk или плохом приеме в серверной. В остальных случаях лучше использовать вариант, описанный в статье Подключение GSM-модемов к asterisk

Используемое оборудование и программное обеспечение:

  1. GSM-модемы. Рекомендуется Huawei E1550, Huawei E160g, Huawei E173, ZTE MF180, Huawei E1752C. Также высока вероятность беспроблеммной работы с другими модемами от Huawei
  2. Программный GSM-шлюз Oktell SIP-GSM (до 10 линий - бесплатно). Работает под Windows, в связи с этим п.3:
  3. Рабочая стания под WindowsXP. Возможна виртуалка, но с необходимым количеством проброшенных USB-портов

Подготовка модемов

После подключения и установки модем появится в списке оборудования

Заходим через терминал на соответствующий порт (9600-ON-1) и проверяем его работу и отключаем ZERO-CD на нем:

AT
AT^U2DIAG=0

Модем готов к работе. Проделываем теже действия для всех подключенных к системе модемов. Кроме того, для всех sim-карт, которые вы собираетесь использовать, нужно отключить проверку pin.

Установка SIP-GSM Gateway

Шлюз от Oktell без проблем устанавливается от XP до 2008-й. При этом в системе появляется служба SipGsmService, а на рабочем столе ярлычок от управляющей программы - SipGsmGateway Manager. На современных версиях Windows последний не запускается, но не беда. Достаточно в свойтствах ярлыка на вкладке «Совместимость» поставить галочку «Выполнять эту программу от имени администратора».

Запускаем и жмем кнопку «Настроить» первого модема. Заполняем все, как на скриншотах.

Домен SIP - указываем адрес сервера Астериск, у меня это - 192.168.1.204.

На скриншоте выше пароль не виден, мы будем использовать 123. В поле SIP номер по умолчанию удобно указать реальный номер сим-карты модема.

Небольшое пояснение по поводу последней галки. Если ее поставить, в журнале соединений FreePbx несостоявшиеся звонки будут показываться, как совершенные (ANSWERED). Что испортит всю статистику. Если галку снять и на этом успокоиться, Астериск будет пытаться дозвониться до абонента последовательно через каждый подключенный к шлюзу модем, даже если абонент сбрасывает вызов или находится в зоне недоступности. Это еще хуже. Но выход есть! Галку снимаем, сохраняем изменения и идем вручную править конфиги. Они находятся в папке Program Files\SipGsmGateway\Cfg, по одному на каждый модем. Находим строчку:

<rejection_code><![CDATA[480]]></rejection_code>

и меняем 480 на 486:

<rejection_code><![CDATA[486]]></rejection_code>

Теперь все будет работать как надо. Аналогично прописываем настройки для каждого установленного в системе модема. У меня их пока два, для второго в поле User name пишем mts2, sip номер по умолчанию берем со вставленной во второй модем карточки.

После настройки модемов, нажмите кнопку «Применить» в главном окне. Как только вы настроите транки там, шлюз тоже покажет удачное соединение:

Настраиваем транк в астериске

В меню «Транки» жмем ссылку «Добавить SIP транк» и заполняем:

  • Название транка: mts1
  • CID Options: Allow Any CID
  • Максимально каналов: 1
  • Название транка: mts1
  • Опции для PEER:
    username=mts1
    type=friend
    secret=123
    qualify=yes
    nat=no
    host=dynamic
    dtmfmode=rfc2833
    disallow=all
    canreinvite=no
    allow=alaw&ulaw
    

Аналогично настраиваем транк и для второго модема, только вместо mts1 везде пишем mts2

Сохраняем и применяем изменения. Если все правильно, в панели FreePbx транки mts1 и mts2 засияют зеленым. SIP-GSM шлюз тоже покажет удачное соединение.

Исходящая маршрутизация

Теперь настроим маршрутизацию. Начнем с исходящей. Предположим, мы хотим пустить через GSM шлюз звонки на всех мобильных операторов Украины.

Заполняем поля:

  • Название маршрута: MTS
  • Dial Patterns that will use this Route:
    (   )+9|039XXXXXXX
    (   )+9|050XXXXXXX
    (   )+9|063XXXXXXX
    (   )+9|066XXXXXXX
    (   )+9|067XXXXXXX
    (   )+9|068XXXXXXX
    (   )+9|091XXXXXXX
    (   )+9|094XXXXXXX
    (   )+9|095XXXXXXX
    (   )+9|096XXXXXXX
    (   )+9|097XXXXXXX
    (   )+9|098XXXXXXX
    (   )+9|099XXXXXXX
    
  • Для России еще проще, достаточно одной строки:
    (   )+9|89XXXXXXXXX
    
  • Trunk Sequence for Matched Routes:
    mts2
    mts1
    

Что бы у людей, которым вы звоните, не высвечивались номера шлюзов, нужно заказать у оператора услугу «Анти-АОН». Но как быть, если некоторым абонентам все-таки нужно показать номер? Идем в меню «Транки» и добавляем специальный транк:

Обратите внимание на маленькую букву i в конце специального набора. Аналогично создаем дополнительные транки для всех модемов. Теперь создаем маршрут МТСi

В Dial Patterns помещаем все телефоны, при звонках на которые номер должен определяться. Маршрут MTSi в списке маршрутов нужно расположить до маршрута MTS:

Входящая маршрутизация

Переходим к входящей маршрутизации. Идем в меню «Группы вызова» и жмем «Добавить группу вызова»

  • Описание группы: Mts
  • Стратегия дозона: звонят-все.
  • Лист внутренних номеров. Сюда пишем внутренние, а так же внешние (абонентов TDE и т.п.) номера. По одному номеру на строчку. Внешние номера завершаем знаком #.
  • Назначение, если никто не ответил: Терминировать звонок.
  • Остальные пункты по умолчанию.

Сохраняем изменения и идем в меню «Входящая маршрутизация» Добавляем входяще маршруты по числу подключенных модемов.

  • Описание: FromMts
  • Номер DID: 380501234567 (Номер DID переписываем из настроек шлюза Oktell, поле SIP номер по умолчанию)
  • Установить назначение: Группы вызова, в списке рядом выбрать созданную на предыдущем этапе группу.

Проверяем. Звоним с любого мобильника на номера установленных в модемы сим-карт. Если входящий звонок поступает всем абонентам, которые мы внесли в «Группу вызова», значит порядок, и с этим этапом мы справились.

Можно еще настроить псевдо-многоканальность. Установите «переадресацию по занято» для первой сим-карты на номер второй. Всем сотрудникам сообщите только первый номер. Таким образом, секретари смогут принимать два одновременных звонка по одному номеру. Естественно, в группе вызова должно быть хотя бы два секретаря.

Оригинал статьи: http://pbx.gal.cv.ua/speedy-gsm

organizuem_programmnyj_gsm-sip_shljuz_s_gms-modemami.txt · Последние изменения: 2013/11/13 12:11 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика