Asterisk и IP-телефония

Переменные Astersik | 2-IT

Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.

Перейти к записям
Asterisk
FreePBX — GUI
База знаний
Asterisk настройка
FreePBX настройка
Магазин
Готовые IP PBX
Pci платы Asterisk
VoIP телефоны
VoIP шлюзы
Янв 4
/ MyBlog-IT Admin
Переменные Asterisk | Стандартные канальные переменные Asterisk
Содержание
Скрыть
Переменные Asterisk — общие понятия
Канальные переменные Asterisk
Стандартные канальные переменные Asterisk
Параметры в кавычках
Установка и использование значений канальных переменных
Однократное наследование
Множественное наследование
Выбор символов из переменных
Выражения
10
Пробелы в значениях переменных
11
Операторы
12
Числа с плавающей точкой
13
Встроенные функции выражения2
14
Условия
15
Ошибки грамматического разбора
16
Пустые строки
17
Предупреждения в выражениях
18
Советы по отладке выражений
19
Переменные, представленные в Asterisk 11 и выше:
20
Основы глобальных переменных
21
Основы работы с переменными
22
Обработчики прекращения вызова
23
Приложения и функции диалплана
23.1
Примеры
23.2
Удаление и замена обработчиков прекращения вызова
24
Команды CLI
25
Синтаксис
26
Примеры
26.1
Вывод CLI для примера 1
Переменные Asterisk — общие понятия
Переменные используются в большинстве языков программирования и в языках написания сценариев. В Asterisk мы можем использовать переменные для упрощения диалплана, и для того, чтобы добавить логику в систему.
Переменная — это просто контейнер, который имеет имя и значение. Например, мы можем воспользоваться переменной с именем COUNT, значение которой будет равно трем. Позже мы покажем, каким образом можно управлять вызовами, пользуясь значением переменных. Но до этого необходимо получить несколько большее представление о переменных.
Регистр в именах переменных играет роль, поэтому COUNT обозначает переменную, отличающуюся от Count или count. Любая переменная канала, созданная системой Asterisk, будет иметь имя, состоящее полностью из заглавных букв. Но для имен переменных канала, которые создаете вы, можно использовать любую комбинацию заглавных и строчных букв по вашему усмотрению.
В Asterisk используются переменные двух типов: канальные переменные и глобальные переменные.
Канальные переменные Asterisk
Что такое, канальные переменные? Ниже вы узнаете, почему они так важны, и как они упрощают вам жизнь.
Существует два уровня определения параметра, выполняемого в диалплане Asterisk, и задаваемого в файле
extensions.conf.
1. Первый, и наиболее часто применяемый, заключается в замене имен переменных их значениями (подстановка значения вместо имени).
2. Кроме того, существует вычисление выражений, выполняемое в $[ .. ]. Оно будет описано ниже.
В Asterisk используются переменные, определенные пользователем, и стандартные переменные, устанавливаемые различными модулями Asterisk. Эти стандартные переменные перечислены в конце настоящего документа.
Стандартные канальные переменные Asterisk
Существует ряд переменных, определенных в Asterisk. Ниже приводится их список. Более подробная информация доступна в справочном тексте по каждому приложению. Все эти переменные имеют имена, написанные только ЗАГЛАВНЫМИ БУКВАМИ. Переменные, отмеченные символом *, являются встроенными функциями, их значения установить нельзя, они могут быть только считаны в диалплане. Попытка записать значение в такую переменную игнорируется без вывода сообщения.
Переменные, представленные в Asterisk 1.8 и далее:
${CDR(accountcode)} *
— учетный код (если задан)
${BLINDTRANSFER}
— имя канала с другой стороны слепого перевода звонка
${BRIDGEPEER}
— соединенный пир
${BRIDGEPVTCALLID}
— ID для PVT-вызова соединенного пира (для вызова SIP — ID вызова SIP)
${CALLERID(ani)} *
— автоматическое определение номера (ANI) вызывающего (каналы PRI)
${CALLERID(ani2)} *
дополнительная информация (ANI2) о номере вызывающего, также называемая OLI, или информация о линии вызова
${CALLERID(all)} *
— ID вызывающего ${CALLERID(dnid)} * — Идентификатор набранного номера
${CALLERID(name)} *
— Только имя из идентификатора вызывающего ${CALLERID(num)} * — Только номер из идентификатора вызывающего
${CALLERID(rdnis)} *
— Сервис ID перенаправленного набора номера
${CALLINGANI2} *
— ANI2 вызывающего (каналы PRI)
${CALLINGPRES} *
— Представление ID вызывающего для входящих вызовов (каналы PRI)
${CALLINGTNS} *
— Селектор транзитной сети (каналы PRI)
${CALLINGTON} *
— Тип номера вызывающего (каналы PRI)
${CHANNEL} *
— Имя текущего канала
${CONTEXT} *
— Текущий контекст
${DATETIME} *
— Текущие дата и время в формате DDMMYYYY-HH:MM:SS (функция устарела, рекомендуется использовать вместо нее ${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)})
${DB_RESULT}
— результирующее значение функции диалплана DB_EXISTS()
${EPOCH} *
— Текущий стиль эры Unix
${EXTEN} *
— Текущее расширение
${ENV(VAR)}
— Переменная окружения VAR

Материал сокращён при переносе в новую базу знаний. Полная версия сохранена в архиве старого сайта.

Позвонить +7 (343) 382-33-16