Настройка 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
qualify=yes
qualifyfreq=30

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

Пропишем параметры SIP trunk:
В «Configurations» — «Basic VoIP» — «Config Mode» выберем «Trunk Gateway Mode«.
В «SIP Trunk Gateway1» укажем IP-адрес asterisk сервера.
Остальные поля оставим как есть пустыми, в Re-register Period (s) стандартно 0.
Delete Callee Prefix while Dialing: Enable
В самом низу для первого канала где «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 для четвертого.
Либо можно указать номера SIM карт в «Forwarding to VoIP Number» и оставить пустым «Dial Plan:», чтобы goip4 шлюз передавал номер SIM карты как номер назначения, вместо слова «goip4» (это удобно для CDR статистики, чтобы видеть на какой номер звонили).
Жмем «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()

Если в настройках goip4 в «Forwarding to VoIP Number» указывали номера SIM карт, то контекст goip4 например будет таким:

[goip4]
;sim 1
exten => 0671234567,1,Dial(SIP/204&SIP/203,60)
exten => 0671234567,n,Hangup()
;sim 2
exten => 0951234567,1,Dial(SIP/204&SIP/203,60)
exten => 0951234567,n,Hangup()
;sim 3
exten => 0731234567,1,Dial(SIP/204&SIP/203,60)
exten => 0731234567,n,Hangup()
;sim 4
exten => 0681234567,1,Dial(SIP/204&SIP/203,60)
exten => 0681234567,n,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 — нет сигнала).

Смотрите также мои статьи:
Обновление прошивки GoIP4 шлюза
Установка и настройка GoIP СМС-сервера

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

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

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

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

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

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

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

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

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