Приложения диалпланов
Создание и настройка приложений диалплана
Last updated
Создание и настройка приложений диалплана
Last updated
Приложения диалпланов - это программируемые голосовые приложения на PHP и Asterisk Dialplan. MikoPBX поставляется с несколькими предварительно сконфигурированными приложениями. С некоторыми базовыми знаниями планов набора Asterisk можно легко создавать дополнительные приложения. Как и учетная запись телефона, приложения могут иметь внутренний номер, присвоенный в настройках.
Ниже вы увидите описание базовых приложений, включенных в MikoPBX:
Номер приложения | Описание приложения |
---|---|
000063 | Приложение считывает внутренний номер сотрудника, используемое для вызова приложения, и озвучивает его сотруднику, т.е. сотруднику озвучивается его внутренний номер на АТС |
000064 | 0000MILLI - Генерирует постоянный звуковой сигнал частотой 1000 Гц. Используется для проверки качества соединения. |
10003246 | Приложение Echo посылает полученные аудиосигналы обратно пользователю, чтобы можно было определить длительность задержки. В общем, Вы слышите, что Вы говорите. Приложение в основном используется для тестирования. |
Приложения MikoPBX создаются из нескольких планов набора Asterisk приложений. В системе есть много примеров готовых к выполнению приложений. Для добавления нового приложения MikoPBX нажмите на "Добавить новое" в меню приложений.
Всего в несколько шагов Вы сможете создать свои собственные приложения. Во-первых, определите Название и Номер вызова для приложения, при необходимости заполните поле Комментарий. Возможный тип кода приложения:
PHP-AGI скрипт - AGI - это встроенный в Asterisk метод выполнения внешних скриптов (по аналогии с CGI для http серверов), который может расширить функциональность asterisk при помощи других языков программирования, в частности PHP. AGI скрипты могут управлять вызовом в плане набора, вызываются из файла: extensions.conf
Диалплан Asterisk - конфигурация плана набора содержится в файле конфигурации Asterisk - extensions.conf. Это один из самых важных конфигурационных файлов. В нем определяется обработка и маршрутизация входящих и исходящих вызовов. Этот файл управляет поведением всех соединений проходящих через Вашу АТС.
Внесем ясность: мы будем называть MikoPBX приложения - приложениями, планы набора Asterisk -функциями. Например, Answer(), NoOP(), Set() and Wait() - это функции. Эти отдельные целевые функции Asterisk, которые затем объединяются в MikoPBX для создания более мощных MikoPBX приложений. Опишите логические операции в текстовом поле Программный код. Обратите внимание, что в одной строке одновременно допускается только одна команда, например:
На рисунке пример простейшего приложения для номера 000063. После набора номера, вы услышите, как робот озвучивает Ваш внутренний номер.
MikoPBX будет проверять используемые команды. Не исключено, что неправильно запрограммированные операции могут повлиять на работоспособность вашей телефонной системы.
Описание Asterisk функций, которые Вы можете использовать в своих приложениях:
Наименование команды | Описание |
---|---|
answer | Перевести вызов в отвеченное состояние. |
channel status | Возвращает статус подключенного канала. |
control stream file | Отправка в канал заданного звукового файла, с возможностью управления его проигрывания (пауза/перемотка/возобновление проигрывания) с помощью получаемых от абонента DTMF цифр, если заданы. (Asterisk 1.2) |
database del | Удаление ключа/значения из базы данных. |
database deltree | Удаление дерева ключей/значений из базы данных. |
database get | Получить значение из базы данных. |
database put | Добавление/изменение значения в базе данных. |
exec | Выполнение заданной Команды. (Команды - это функции, которые Вы используете при описании плана набора в файле extensions.conf ). |
get data | Получить данные из канала. |
get option | Ведет себя аналогично команде «STREAM FILE», но используется с заданным значением для таймаута. (Asterisk 1.2) |
get variable | Получить значение переменной канала. |
hangup | Разорвать соединение (Hangup) на текущем канале. |
noop | Пустая команда. Ничего не делает. |
receive char | Принимает один символ из канала, если он поддерживает эту возможность. |
receive text | Принимает текстовую строку из канала, если он поддерживает эту возможность. |
record file | Производит запись в заданный файл. |
say alpha | Проговаривает заданную строку символов. (Asterisk 1.2) |
say date | Проговаривает дату. (Asterisk 1.2) |
say datetime | Проговаривает дату и время, согласно заданному формату. (Asterisk 1.2) |
say digits | Проговаривает заданную строку цифр. |
say number | Проговаривает заданный номер. |
say phonetic | Проговаривает заданную строку символов. |
say time | Проговаривает время. |
send image | Отправляет изображение в канал, если он поддерживает эту возможность. |
send text | Отправляет текст в канал, если он поддерживает эту возможность. |
set autohangup | Автоматическое завершение соединение (Autohangup) на канале в заданное время. |
set callerid | Установка callerid для текущего канала. |
set context | Установка контекста для текущего канала. |
set extension | Изменение екстеншена для текущего канала. |
set music | Включение/Выключение музыки ожидания (Music on hold), например: «SET MUSIC ON default». |
set priority | Установка значения приоритета для следующей выполняемой команды для канала. |
set variable | Установка переменной канала. |
stream file | Отправка звукового файла в канал. |
tdd mode | Установка режима TDD для канала, который может его поддерживать, для включения возможности взаимодействия с TDD. |
verbose | Запись сообщения в verbose log сервера asterisk. |
wait for digit | Ожидание нажатия DTMF кнопки |
Нажмите Сохранить для завершения настройки.