Настройка GOIP4 c Asterisk

На тесте настрою в качестве trunk китайский GSM GOIP4 шлюз c Asterisk сервером.

Вставим SIM-карты с выключенным запросом PIN-кода.

Зайдем в веб-интерфейс GOIP4 шлюза, его стандартный IP адрес — 192.168.8.1 (при подключении к порту PC), логин и пароль одинаковы — admin.
Еще есть аккаунты с ограниченными возможностями «user» и «sms».

В «Configurations» — «Preferences» укажем часовой пояс, у меня Time Zone: GMT+2 и отключим IVR.

В «Configurations» — «Network» пропишем нужный статический IP адрес для LAN порта, стандартно он получается по DHCP.

В «Tools» — «Change Password» сменим пароли для пользователей.
Кстати при подключении по telnet используется имя пользователя limitsh и пароль который указан в веб-интерфейсе пользователю admin.

Теперь в asterisk, в конфигурационном файле users.conf добавим SIP trunk, например:

[goip4]
type=peer
usecallerid = yes
hidecallerid=no
host=192.168.50.50
context=goip4

Приступим к настройке GSM каналов в GOIP4 шлюзе.

Пропишем параметры SIP trunk:
В «Configurations» — «Basic VoIP» — «Config Mode» выберем «Trunk Gateway Mode«.
В «SIP Trunk Gateway1» укажем IP-адрес asterisk сервера.
Остальные поля оставим как есть пустыми, в Re-register Period (s) стандартно 0.
В самом низу для первого канала где «Line 1 Routing Prefix» укажем 1, для второго 2, третьего 3 и 4 для четвертого.
Жмем «Save Changes» для сохранения изменений.

Настроим правила для входящих GSM звонков.
В «Configurations» — «Call In» укажем «CID Forward Mode: «Use CID as SIP Caller ID»«.
Для каждого канала укажем «Forwarding to VoIP Number: goip4″, «Dial Plan: 1″ для первого, для второго 2, третьего 3 и 4 для четвертого.
Жмем «Save Changes» для сохранения изменений.

Настроим исходящие звонки в «Configurations» — «Call Out«.
GSM Auto Redial: Disable
GSM Dial Timeout(s): 30
Call OUT via GSM: Enable
Dial Plan: 1:-1 (для первого канала), 2:-2 (для второго) и т.д.

В «Tools» — «Send USSD» можно отправлять USSD запросы, например проверить состояние счета и т.д.
В «Send SMS», «SMS InBox» и «SMS OutBox» — отправить СМС, посмотреть входящие и исходящие соответственно.

Перезапустим Asterisk, перейдем в консоль и посмотрим активен ли trunk goip4:

sudo service asterisk restart
asterisk -rvv
sip show peers
quit

Теперь настроим план набора номеров в файле /etc/asterisk/extensions.conf.
Добавим контекст goip4 отвечающий за входящие звонки (в моем случае при поступлении звонка на любую из SIM — идет вызов одновременно на SIP телефон 204 и 203, потом если нет ответа на 201):

[goip4]
exten => goip4,1,Dial(SIP/204&SIP/203,19)
exten => goip4,2,Dial(SIP/201,19)
exten => goip4,3,Hangup()

К существующему контексту SIP телефонов добавим план набора исходящих (как видно в 1 канале у меня Киевстар, во втором Мегафон, в третьем Lifecell, также следует продублировать записи указав код города):

;KYIVSTAR
exten => _067XXXXXXX,1,Dial(SIP/goip4/1${EXTEN},60)
exten => _068XXXXXXX,1,Dial(SIP/goip4/1${EXTEN},60)
exten => _096XXXXXXX,1,Dial(SIP/goip4/1${EXTEN},60)
exten => _097XXXXXXX,1,Dial(SIP/goip4/1${EXTEN},60)
exten => _098XXXXXXX,1,Dial(SIP/goip4/1${EXTEN},60)
;Megafon
exten => _095XXXXXXX,1,Dial(SIP/goip4/2${EXTEN},60)
exten => _099XXXXXXX,1,Dial(SIP/goip4/2${EXTEN},60)
exten => _050XXXXXXX,1,Dial(SIP/goip4/2${EXTEN},60)
exten => _066XXXXXXX,1,Dial(SIP/goip4/2${EXTEN},60)
;Lifecell
exten => _073XXXXXXX,1,Dial(SIP/goip4/3${EXTEN},60)
exten => _093XXXXXXX,1,Dial(SIP/goip4/3${EXTEN},60)
exten => _063XXXXXXX,1,Dial(SIP/goip4/3${EXTEN},60)

Кстати отправлять СМС через GoIP4 можно GET запросом, например (где admin и admin — пользователь и пароль, 1 — номер канала с которого отправлять сообщение, потом номер телефона получателя и текст СМС):
http://192.168.1.5/default/en_US/send.html?u=admin&p=admin&l=1&n=TELEPHONE&m=TEXT

Перезагрузить из Linux можно через wget:

sudo wget --user=admin --password=admin --auth-no-challenge http://192.168.1.5/default/en_US/reboot.html -O /dev/nulll

Отправить СМС:

wget --user=admin --password=admin --auth-no-challenge --post-data 'line=1&smskey=0000000e&action=SMS&telnum=XXX&smscontent=TEXT&send=Send' http://192.168.1.5/default/en_US/sms_info.html -O /dev/null

Для просмотра статуса доставки СМС и USSD ответов:

http://192.168.1.5/default/en_US/send_status.xml?u=admin&p=admin

Уровень сигнала можно увидеть во вкладке «Status» — колонка RSSI (0 — плохой, это -133dBm; 1 это -111 dBm; 31 — максимальный, это -51dBm или лучше; 99 — нет сигнала).

Did my article help you? How about buying me a cup of coffee as an encouragement? Buy me a coffe.

Вливайтесь в общение

1 комментарий

Добавить комментарий

  1. Здравствуйте.

    Настроил GoIP 4 и FreePBX 14 по Вашей статье.

    Проблема в чем:

    Получается, если на FreePBX никто не регистрируется (внутрениий номер, который прописан в GoIP 4 и FreePBX 14) входящий звонок теряется.

    Вопрос, как переадресовать входящий звонок на мобильный телефон, если на FreePBX 14 никто не зарегистрирован?

    С Уважением Павел.