Джим Меггелен - Asterisk™: будущее телефонии Второе издание
Проверяет наличие CallerID в черном списке
BLACKLIST() проверяет семейство blacklist базы данных AstDB на наличие в нем указанного идентификатора вызывающего абонента. Возвращает значение 1 или 0.
Эта функция только возвращает значение, не принимает.
Смотрите также
DB()
CALLERID
Возвращает или устанавливает данные Caller ID для канала
CALLERID(типданных[,необязательный-CID])
CALLERID() проводит синтаксический разбор строки Caller ID текущего канала и возвращает ее всю или часть, как задано параметром типданных. Допустимые типы данных: all, name, num, ani, dnid или rdnis. Может быть задан (необязательно) альтернативный Caller ID, если вы желаете проводить синтаксический разбор этой строки, а не заданного для канала Caller ID.
Функция может как возвращать, так и принимать значение.
CDR
Возвращает или устанавливает информацию CDR для данного вызова (которая будет записана в журнал CDR)
CDR(имяполя[,опции])
Вот список имен доступных полей CDR:
clid
Доступно только для чтения. Это значение задается функцией
CALLERID(all).
lastapp
Доступно только для чтения. Показывает приложение, которое было выполнено последним.
lastdata
Доступно только для чтения. Показывает аргументы, переданные в приложение, которое было выполнено последним.
src
Доступно только для чтения. Это значение задается функцией
CALLERID(ani).
dcontext
Доступно только для чтения. Соответствует последнему контексту диалплана.
channel
Доступно только для чтения. Имя канала, от которого поступил звонок.
dstchannel
Доступно только для чтения. Имя канала, в который поступил звонок.
disposition (состояние)
Доступно только для чтения. Максимальное состояние канала. Если задана опция u, это значение будет возвращено как целое число, а не строка: 1 = NO ANSWER, 2 = BUSY, 3 = FAILED, 4 = ANSWERED.
amaflags
Доступно для чтения/записи. Флаги, используемые для учета вызовов и времени разговора абонента. Если задана опция u, это значение будет возвращено как целое число, а не строка: 1 = OMIT, 2 = BILLING, 3 = DOCUMENTATION.
accountcode
Доступно для чтения/записи. Расчетный счет (максимум 19 символов).
userfield
Доступно для чтения/записи. Определяемое пользователем поле.
start
Доступно только для чтения. Время начала звонка. Если задана опция u, это значение будет возвращено как целое число (количество секунд с начала отсчета времени), а не форматированная строка дата/время.
answer
Доступно только для чтения. Время установления соединения (поле может быть пустым, если на вызов еще не поступил ответ). Если задана опция u, это значение будет возвращено как целое число (количество секунд с начала отсчета времени), а не форматированная строка дата/время.
end
Доступно только для чтения. Время завершения звонка (поле может быть пустым, если звонок еще не завершен). Если задана опция u, это значение будет возвращено как целое число (количество секунд с начала отсчета времени), а не форматированная строка дата/ время.
duration
Доступно только для чтения. Разность между временем начала и окончания, в секундах. Может быть равным 0, если звонок еще не завершен.
billsec
Доступно только для чтения. Разность между временем установления соединения и окончания звонка, в секундах. Может быть равным 0, если звонок еще не завершен.
uniqueid
Доступно только для чтения. Строка, которая будет уникальна для каждого звонка в рамках этого экземпляра Asterisk.
Могут быть заданы следующие опции:
l
В случае если используется множество CDR посредством ForkCDR(), все результаты для вызова будут извлечены из последней записи параметров вызова.
r
Специальные переменные CDR будут извлечены из последней записи параметров вызова, но стандартные поля будут получены из первой записи.
u
Будет возвращено значение без синтаксического разбора. Записи, на которые этот флаг оказывает влияние, представлены в списке имен полей выше.
Также можно задать значение имяполя, не представленное в приведенном выше списке, и создать собственную переменную, значение которой можно изменять с помощью этой функции. И эта переменная будет храниться в CDR.
Смотрите также
CHANNEL()
CHANNEL
Получение или задание различных параметров канала
CHANNEL(элемент)
Стандартные элементы (для всех типов каналов):
audioreadformat
Доступно только для чтения. Формат, используемый для приема аудиоданных в настоящий момент.
audionativeformat
Доступно только для чтения. Формат, обычно используемый для аудиоданных.
videonativeformat
Доступно только для чтения. Формат, обычно используемый для видеоданных.
audiowriteformat
Доступно только для чтения. Формат, используемый для передачи данных в настоящий момент.
callgroup
Чтение/запись. Группы вызовов для перехвата входящих вызовов.
channeltype
Доступно только для чтения. Технология, используемая для канала.
language
Чтение/запись. Язык, на котором записываются и воспроизводятся звуковые файлы.
musicclass
Чтение/запись. Класс (из файла musiconhold.conf) музыки во время ожидания.
rxgain
Чтение/запись. Уровень принимаемого сигнала (в децибелах) для драйверов каналов, которые это поддерживают.
txgain
Чтение/запись. Уровень передаваемого сигнала (в децибелах) для драйверов каналов, которые это поддерживают.
tonezone
Чтение/запись. Часовой пояс, соответственно которому генерируются различные сигналы.
state
Доступно только для чтения. Текущее состояние канала. transfercapability
Чтение/запись. Что может передаваться по сети ISDN. Текущие действительные значения:
DIGITAL
Неограниченная цифровая информация (вызовы для передачи данных).
RESTRICTED_DIGITAL
Ограниченная цифровая информация.
3K1AUDIO
Аудиосигнал частотой 3,1кГц (вызовы для передачи факса).
DIGITAL_W_TONES
Неограниченная цифровая информация с тонами/приветствиями.
VIDEO
Видео.
Могут быть доступны дополнительные значения параметра элемент в зависимости от драйвера канала; более детальная информация представлена в его документации. В результате любого запроса на элемент, недоступный для текущего канала, будет возвращена пустая строка.
Смотрите также
CDR()
CHECK_MD5
Проверяет хеш MD5
CHECK_MD5(хеш,данные)
В случае успешной проверки возвращает 1, иначе 0.
Эта функция признана устаревшей и была заменена функцией MD5() со
встроенным синтаксическим анализатором выражений.
Смотрите также
MD5()
CHECKSIPDOMAIN
Проверяет, является ли домен локальным
CHECKSIPDOMAIN(домен|IP)
Эта функция проверяет, является ли заданный в аргументе домен локальным SIP-доменом, для обработки которого сконфигурирован данный сервер Asterisk. Возвращает имя домена, если он обрабатывается локально, в противном случае возвращается пустая строка. Обратите внимание на конфигурационную опцию domain в файле sip.conf.
CURL
Возвращает данные, полученные в результате операции GET или POST по заданному URL
CURl(url[|отпрaвляемые-дaнные])
По умолчанию CURL() будет выполнять операцию HTTP GET для получения значения url. Однако, если задан параметр отправляемые-данные, будет выполняться HTTP POST.
Смотрите также
SendURL()
CUT
Вырезает строку на основании заданного разделителя
CUT(имяпеременной, символ-разделитель,диапазон)
Функция CUT() аналогична инструменту командной строки UNIX cut(1) и, кстати, разработана на базе этого инструмента.
В диалплане можно задавать смещения в символах для выбора подстроки из переменной исключительно на основании постоянной длины символов (а именно 1). Функция CUT() создана, чтобы помочь при работе с данными, которые могут иметь несколько секций переменной длины с одинаковым разделителем.
Самый распространенный вариант - имя канала, которое состоит из двух частей: базового имени и уникального идентификатора (например, SIP/tom-abcd1234 или SIP/bert-1a2b3c4d). Функция CUT() может использоваться для обрезки уникального идентификатора независимо от длины базового имени:
; Вырезаем уникальный идентификатор
; из имени текущего канала
exten => 123,1,Set(chan=$<CUT(CHANNEL,-,1)})
имяпеременной - это имя обрабатываемой переменной. Обратите внимание, что функция CUT() работает с именем переменной, а не ее значением. CUT() уникальна с этой точки зрения.
символ-разделитель - символ, который будет выступать в роли разделителя (по умолчанию '-').