В изучение работы Asterisk часто придется сталкиваться с файлом extensions.conf в котором описывается схема обработки телефонных звонков, т. е. Как должна себя повести система при обработке входящих и исходящих звонков, перевести звонок, сохранить звонок да и вообще очень много всего что можно с ними сделать. Вот к примеру выше я указываю правила обработки звонков для номеров 101 и 102:

;контекст работы отпределенный для номеров (явно указанных) из файла sip.conf

[office]

;синтаксис: => имя(или номер),приоритет,приложение(команда), т. е.

;добавочный номер 101 в приоритет 1, а приложение через SIP аккаунт с номеров 101

exten => 101,1,Dial(SIP/101)

exten => 102,1,Dial(SIP/102)

Вот еще один набор:

;при звонке на номер 101 ответить

exten => 101,1,Answer()

;после выполнить что-то (Воспроизвести файл,осуществить переход,разъединить и т.д.)

exten => 101,n,выполнить что-то

exten => 101,n,выполнить что-то плюс еще

;Разъединить, всегда должно быть при завершении текущего вызова

exten => 101,n,Hangup()

На заметку: существующие приложения в плане набора

  • Answer () – ответ на выполняемый звонок
  • Playback () – воспроизведение записанного звукового файла, т. е. Playback(hello) — проиграет звуковой файл из каталога: /var/lib/asterisk/sounds & /usr/share/asterisk/sounds или указание пути месторасположения файла /home/ekzorchik/hello, название файла указывается без расширения.
  • Background() – записанный звуковой файл в фоне, к примеру информирование о добавочных номерах, звонящий нажимает на кнопку из предложенного меню и звук оставливается, а план набора отрабатывает дальше
  • WaitExten() – ожидание от звонящего набора телефонного номера (т. е. Добавочный)
  • Hangup() – разъединить активный канал
  • Goto() – перенаправление в другой контекст вызова:

exten => 123,n,Goto (контекст,добавочный номер,приоритет)

, где

  • 123 —> вызываемый номер
  • n → приоритет
  • Dial() – звонить

exten => 123,1,Dial(IAX2/guest@host.com/s)

, где IAX2 (SIP,H323) — при наборе номера 123 осуществить звонок через протокол IAX2 гостевого сервера host.com

MusicOnHold() – проигрывание мелодии ожидания (Music On Hold)

GotoIF() – вычисляет выражение и отправляет абонента в соответствующее место назначения в зависимости от истинности или ложности выражения.

Ringing() – отправка в канал запроса для индикации вызывающему пользователю «гудков вызова».

На заметку: также в плане набора extensions.conf можно описывать поведение добавочных номеров.

Exten => i,1,Playback(pbx-invalid)

, где (вместо i могут быть следующие значения: s,i,t)

  • i — когда абонент нажимает не ту кнопку (не существующий номер), вызов перенаправляется на добавочный номер i.
  • s — добавочный номер
  • t — если абонент слишком долго не нажимает кнопку после запуска приложения WaitExten(), вызовы направляются на добавочный номер t (время ожидания по дефолту — 10 секунд)

Вот еще один пример:

[out]

exten => _XXXX,1,Dial(SIP/${EXTEN},,m)

,т.е. звонок на четырехзначный (к примеру: 1234,4567) номер через протокол SIP; итого если набран номер 1234 то совершить звонок через SIP протокол номера 1234 (вроде как-то так), если набрать трехзначный номер то вызов не состоится, т. к. нужно использовать четырехзначный набираемый номер. На этом моя вторая часть завершена, до встречи с уважением автор блога — ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru