Asterisk настройка входящих звонков. Корпоративная телефония часть №4


Рассмотрим как в Asterisk выполняется настройка входящих звонков. Чаще всего их обработка является основной целью поднятия Asterisk. Для того чтобы принимать вызовы со стационарных телефонов потребуется шлюз телефонии или — в простейшем случае — телефонный номер, предоставленный SIP провайдером.



Звонки могут приниматься по разным протоколам (SIP, Zip, IAX2), предположим, что это SIP.


Для примера возьмем номер телефона 343123100 — на практике это номер, арендованный у провайдера, но в тестовой среде это может быть номер, выбранный произвольно.



Данный материал является логическим продолжением цикла статей по настройке офисной телефонии:


Установка Asterisk из исходников. Настройка корпоративной телефонии — часть №1

Asterisk настройка сети. Корпоративная телефония часть №2
Asterisk добавление пользователей. Корпоративная телефония часть №3



Настройки в sip.conf и extentions.conf


Прежде всего определим пользователя в файле sip.conf

mcedit sip.conf

[outside]
type=friend
context=incoming
allow=ulaw,alaw
secret=123456789
host=dynamic



Задаем пароль, тип, используемые кодеки и контекст.


Затем идем в extentions.conf и определяем необходимые правила для контекста. В соответствии с диалпланом будет проверяться соответствие текущего времени заданному в настройках, в случае если входящий звонок совершается в рабочее время он будет перенаправлен на телефон пользователя valdes.



Если время не рабочее — звонящий услышит соответствующее голосовое сообщение (заранее записанное), после этого звонок сбросится.

mcedit extentions.conf

[incoming]
 exten => 343123100,1,GotoIfTime(8:00-17:00,mon-fri,*,*?phones,100,1)

exten => 343123100,1,Playback(tt-nonworking)
 exten => 343123100,n,Hangup

[phones]
 exten => 100,1,NoOp(call for valdes)
 same => n,Playback(tt-allbusy.gsm)
 same => n,Dial(Sip/valdes)
 same => n,Hangup

exten => 200,1,NoOp(call for james)
 same =>n,Playback(tt-monkeys)
 same => n,Dial(Sip/james)
 same = > n,Hangup



Контекст Входящие всегда стоит выделять — он должен быть одним из трех обязательных контекстов любого диалплана: Локальные, Входящие, Исходящие. Подобное разделение вызвано соображениями безопасности.

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



Пользователь outside на практике — это провайдер услуг IP телефонии, в тестовой среде он заменяется абстракцией. Описанная конфигурация достаточна для того чтобы принимать звонки, совершаемые одним из зарегистрированных в системе операторов другому из зарегистрированных операторов.



Звонить можно с софтфонов, использующих один сервер или аппаратных телефонов, находящихся в одной сети, при использовании MacOS удобно использовать аппаратный телефон называемый Telephone — он позволяет запускать несколько экземпляров программы в одной системе.


В консоли выполнив asterisk -rvvv можно отслеживать статус происходящих звонков и анализировать возникающие ошибки.

Базовая настройка входящих звонков в Asterisk выполнена.



Следующая статья цикла по настройке офисной телефонии:

Asterisk настройка исходящих звонков. Корпоративная телефония часть №5

Сказать спасибо