И так, телефон подключен к Asterisk, а Asterisk подключен к оператору связи, теперь как бы дозвониться нам до абонента 100, с внешнего мира? Нужен Dialplan. В данном случае, мы на прямую пробросим наш городской номер на телефонный аппарат.Переименуем дефолтный файл диалплана extensions.conf
Создадим новый файл extensions.conf.
Диалплан состоит из контекстов (это очень важно), кто знаком с программированием, то это сравнимо с процедурами. По умолчанию всегда имеются три контекста [general] [globals] и [default](не указывается явно).
Для решения наших целей нам нужен контекст default, добавим в него такие действия. Поступает звонок, АТС беред трубку, проигрывает звуковой файл, кладет трубку:
[globals]
[default]
exten => _X.,1,Verbose(1,Получен звонок с внешней линии) ;передаем произвольный текст в детальный вывод
exten => _X.,n,Answer() ;поднимаем трубку
exten => _X.,n,Playback(hello-world) ;проигрываем звуковой файл
exten => _X.,n,Hangup() ;ложим трубку
Сохраняем, перезапустим диалплан и проверим.
dialplan reload
_X. — это шаблон, он обозначает любой набор цифр. В место шаблона можно было бы указать внешний номер нашей организации, но будем более универсальны.
Проверили, послушали приветствие, убедились что звонки с внешних линий к нам проходят. Теперь усложним: будем сразу поступающие звонки перенаправлять на внутренний номер 100. Для этого воспользуемся приложением Dial. Данное приложение пытается соединить каналы. Правим наш диалпан, заменим строчку в которой идет проигрыш звукового сигнала, на Dial.
[globals]
[default]
exten => _X.,1,Verbose(1,Получен звонок с внешней линии) ;передаем произвольный текст в детальный вывод
exten => _X.,n,Answer() ;поднимаем трубку
exten => _X.,n,Dial(SIP/100) ;переводим вызов на абонента 100
exten => _X.,n,Hangup() ;ложим трубку
Сохраняем, перезапустим диалплан и проверим.
dialplan reload
Если все правильно сделали, то должно заработать. Обращаю ваше внимание, что на исходящие звонки, с внутренних номеров на городские, наша АТС еще не настроена.