Джим Меггелен - Asterisk™: будущее телефонии Второе издание

Тут можно читать онлайн Джим Меггелен - Asterisk™: будущее телефонии Второе издание - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Asterisk™: будущее телефонии Второе издание
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Джим Меггелен - Asterisk™: будущее телефонии Второе издание краткое содержание

Asterisk™: будущее телефонии Второе издание - описание и краткое содержание, автор Джим Меггелен, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Asterisk™: будущее телефонии Второе издание - читать онлайн бесплатно полную версию (весь текст целиком)

Asterisk™: будущее телефонии Второе издание - читать книгу онлайн бесплатно, автор Джим Меггелен
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

[incoming]

exten => s,1, приложение() exten => s,n, приложение() exten => s,n, приложение()

Теперь осталось только вставить приложения - и наш первый диал- план готов.

Обратите внимание, что можно было бы пронумеровать каждый приоритет, как показано ниже, но теперь так делать не рекомендуется, поскольку это сильно усложняет внесение изменений в диалплан впоследствии:

[incoming]

exten => s,1, приложение() exten => s,2, приложение() exten => s,3, приложение()

Приложения Answer(), Playback() и Hangup()

Прежде чем мы будем отвечать на звонок, воспроизводить звуковой файл и затем выполнять разъединение вызова, нам нужно научиться это делать. Приложение Answer() (Ответ) используется для ответа каналу, по которому выполняется звонок. Оно выполняет исходную настройку для канала, получающего входящий вызов. (Некоторые приложения не требуют обязательного ответа каналу, но соответствующий ответ на звонок перед тем, как выполнять какие-либо действия над каналом, является очень хорошей практикой.) Как упоминалось ранее, Answer() не принимает аргументов.

Приложение Playback() (Воспроизведение) воспроизводит в канале предварительно записанный звуковой файл. При использовании приложения Playback() ввод, поступающий от пользователя, просто игнорируется.

С Asterisk поставляется множество профессионально записанных звуковых файлов, которые должны находиться в папке, используемой для хранения звуков по умолчанию (обычно это /var/lib/asterisk/sounds/). При компиляции Asterisk можно выбрать для установки различные наборы образцов звуков, записанных на разных языках и в разных форматах файлов. Во многих примерах данной книги будут использоваться эти файлы, а также несколько файлов из Extra Sound Package, поэтому, пожалуйста, потратьте немного времени и установите этот пакет (см. главу 3). Также, посетив сайт http://thevoice. digium.com/ , можно создать собственные голосовые сообщения, записанные тем же голосом, что и предоставляемые стандартные сообщения.

Чтобы использовать Playback(), задайте в качестве аргумента имя файла (без расширения). Например, Playback(filename) обеспечит воспроизведение звукового файла filename.gsm, предполагая, что он размещен в стандартной папке для звуковых файлов. Обратите внимание, что по желанию можно указать полный путь к файлу, как это сделано в данном примере:

Playback(/home/john/sounds/filename) Этот пример обеспечит воспроизведение файла filename.gsm из папки /home/john/sounds/. Также можно использовать относительные пути из папки для звуковых файлов Asterisk: Playback(custom/filename)

Этот пример обеспечит воспроизведение filename.gsm из подпапки custom/ стандартной папки для звуковых файлов (вероятно, это будет /var/lib/asterisk/sounds/custom/filename.gsm). Заметьте, что, если в указанной папке содержится несколько файлов под одним именем, но с разными расширениями файлов, Asterisk автоматически воспроизводит лучший из них [71].

Приложение Hangup() (Разъединить) выполняет именно то, что подразумевается под его именем: оно разъединяет активный канал. Это приложение должно применяться в конце контекста для завершения текущего вызова, что защитит от несанкционированного использования диалплана абонентами. Приложение Hangup() не принимает аргументов.

Наш первый диалплан

Теперь, когда добавочный номер готов, сведем все вместе и создадим наш первый диалплан. Как принято во многих технических книгах (особенно в книгах по программированию), первый пример будет называться «Hello World!» (Здравствуй, мир!).

В первом приоритете нашего добавочного номера мы будем отвечать на звонок, во втором - воспроизводить звуковой файл hello-world.gsm, а в третьем будет выполнен разрыв соединения. Вот как выглядит диал- план:

[incoming]

exten => s,1,Answer()

exten => s,n,Playback(hello-world)

exten => s,n,Hangup()

Если у вас уже имеется один или несколько сконфигурированных каналов - вперед [72]! Просто создайте файл extensions.conf (например, в папке /etc/asterisk) и вставьте в него четыре строки кода диалплана, которые мы только что написали. Если ничего не получается, проверьте, нет ли в консоли Asterisk сообщений об ошибках, и убедитесь, что для ваших каналов задан контекст [incoming].

Даже несмотря на то что этот пример очень мал и прост, он раскрывает основные принципы контекстов, добавочных номеров, приоритетов и приложений. Если все получилось и этот диалплан заработал, значит, вы разобрались с основами, на базе которых создаются все диалпланы. Теперь давайте дополнять наш пример. В конце концов, в телефонной системе, просто воспроизводящей звуковой файл и затем разъединяющей канал, очень немного пользы!

Создание интерактивного диалплана

Созданный в предыдущем разделе диалплан был статическим; он всегда выполняет одни и те же действия для всех вызовов. Теперь мы собираемся добавить некоторую логику в диалплан, чтобы он осуществлял разные действия на основании ввода пользователя. Для этого необходимо рассмотреть еще некоторые приложения.

Приложения Background(), WaitExten() и Goto()

Один из самых важных ключей к построению интерактивных диал- планов Asterisk - приложение BackgroundQ [73](Фон). Как и Playback(), это приложение воспроизводит записанный звуковой файл. Однако, в отличие от Playback(), если пользователь нажимает кнопку (или последовательность кнопок) на клавиатуре телефона, оно прерывает воспроизведение и переходит к добавочному номеру соответственно нажатым цифрам. Например, если абонент нажмет кнопку 5, Asterisk прекратит воспроизводить звуковое сообщение и передаст управление вызовом первому приоритету добавочного номера 5.

Чаще всего приложение Background() используется для создания голосовых меню (которые часто называют автоответчиками или интерактивными секретарями). Многие компании используют голосовые меню для направления абонентов на соответствующий добавочный номер, таким образом освобождая своих секретарей от необходимости отвечать на все звонки.

Синтаксис Background() аналогичен синтаксису Playback():

exten => 123,1,Answer()

exten => 123,n,Background(main-menu)

В более ранних версиях Asterisk, если приложение Background() завершало воспроизведение звукового сообщения и в текущем добавочном номере больше не было приоритетов, Asterisk ничего не делала и ожидала ввода абонента. Такое поведение больше не является для Asterisk принятым по умолчанию. Если требуется, чтобы Asterisk ожидала ввода абонента после завершения воспроизведения звукового сообщения, можно вызвать приложение WaitExten() (Ожидание добавочного номера). Приложение WaitExten() ожидает от абонента набора телефонного номера и часто вызывается сразу после приложения Background(), как в данном фрагменте диалплана:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Джим Меггелен читать все книги автора по порядку

Джим Меггелен - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Asterisk™: будущее телефонии Второе издание отзывы


Отзывы читателей о книге Asterisk™: будущее телефонии Второе издание, автор: Джим Меггелен. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x