войти
зарегистрироваться
поиск по сайту
Посты
Q&A
Блоги
Люди
Компании
IP-телефония
индекс
102,70
Захабренные
Новые
+1
Отхабренные
SMS и SIP шлюз — Мультифон, Asterisk, Kannel
из песочницы
В данной статье дается описание того, каким образом можно объединить достоинства Asterisk как
PBX
или
IVR
, Kannel как SMS-шлюза используя один телефонный номер.
Для этого я использовал Freebsd 8.2 на сервере, модем Huawei E171, но можно использовать любой модем МТС или Мегафон производства huawei (так же было проверено на модеме E1551), сим-карту Мегафона. В качестве софтфонов использовались Telephone и SJphone.
Как
уже говорилось
Мультифон это услуга подключения SIP к вашему номеру мегафона, позволяющая держать несколько независимых линий и разруливать с помощью IP-АТС. Так как уже было сказано про подключение услуги и работу с Asterisk, приведу это вкратце.
Вставляем симку в телефон,
скачиваем клиент Мультифона
, для бета-версии доступны дистрибутивы для linux и Mac OS X.
Запускаем клиент, регистрируемся, получаем SMS с кодом, вводим код, устанавливаем пароль, убеждаемся, что с клиентом все работает.
Выключаем клиент Мультифона (важно, т.к. нельзя подключить 2 клиента к мультифону одновременно).
Отправляем USSD команду для подключения всех возможностей Мультифона
*137#
, подтверждаем включение услуги.
Добавляем в
/etc/rc.conf
kannel_bearerbox_enable="YES"
kannel_smsbox_enable="YES"
asterisk_enable="YES"
Установка и настройка Asterisk
cd /usr/ports/net/asterisk
make install clean
service asterisk start
В интернете есть много описаний, поэтому приведу только конфиг, основанный на официальном конфиге мегафона с некоторыми поправками и пояснениями.
Конфигурация Asterisk:
;#/usr/local/etc/asterisk/sip.conf
[general]
tcpenable=yes
allow=all
register => 79271111111@multifon.ru:paSSwoRD:79271111111@193.201.229.35:5060/79271111111
[multifon-out]
dtmfmode=inband
username=79271111111
type=peer
secret=paSSwoRD
host=sbc.megafon.ru
fromuser=79271111111
fromdomain = multifon.ru
port=5060
context=multifon-in
insecure=port,invite
canreinvite=no ;# без этого параметра исходящий звонок на принимающем телефоне сразу прерывается
[100];#софтофоны или другие sip-телефоны настраиваем в соответствии с этими разделами
type=friend
host=dynamic
secret=pass100
context=phones
username=100
nat=rfc3581 ;# без этого параметра не работает связь между софтфонами
[101]
type=friend
host=dynamic
secret=pass101
context=phones
username=101
nat=rfc3581
;#/usr/local/etc/asterisk/extensions.conf
;# Входящие вызовы на этот номер
[multifon-in]
exten=> 79271111111,1,Dial(SIP/100,60,t)
;# Исходящие вызовы, определяется маской
[out]
exten=>_7XXXXXXXXXX,1,Dial(SIP/multifon-out/${EXTEN})
exten=>_8XXXXXXXXXX,1,Dial(SIP/multifon-out/${EXTEN}) ;#позволяет звонить через 8
exten=>_+7XXXXXXXXXX,1,Dial(SIP/multifon-out/${EXTEN}) ;#позволяет звонить через +7
;#exten=>_7XXXXXXXXXX,1,Dial(SIP/${EXTEN}@multifon-out,30,r) ;#мегафоновский вариант
;# Локальные звонки между SIP телефонами
[local]
exten=>_1XX,1,Dial(SIP/${EXTEN},60,rt)
[phones]
include => multifon-in ;#честно говоря, не знаю зачем эта строка здесь у мегафона
include => local
include => out
;#/usr/local/etc/asterisk/rtp.conf
[general]
rtpstart=6001 ;#мегафон утверждает, что их RTP работает от 6001 порта
rtpend=20000
Запускаем консоль:
asterisk -vvvvr
перезагружаем конфигурации с помощью консоли:
reload
Проверяем подключение к мультифону и софтфонам:
sip show registry
sip show peers
Теперь следует включить работу телефона совместно с SIP запросив следующий URL:
https://sm.megafon.ru/sm/client/routing/set?login=79XXXXXXXXX@multifon.ru&password=PASSWORD&routing=2
Проверяем что изнутри и снаружи звонки проходят.
Подготовка модема
Вынимаем симку из телефона, вставляем ее в модем.
Вставляем модем в сервер, проверяем что устройства найдены:
ls /dev | grep cuaU
ls /dev | grep ttyU
Если наших устройств не видно, то пересобираем ядро, добавив
device u3g
Установка и настройка Kannel
Рекомендуется устанавливаеть kannel из SVN, однако я не испытывал проблем и с данной версией, поэтому установим его из портов.
cd /usr/ports/www/kannel
make install clean
service kannel start
Стоит отметить, что Kannel не создает сам пользователя, поэтому сделаем это сами:SMS и SIP шлюз — Мультифон, Asterisk, Kannel / IP-телефония / Хабрахабр
Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.