KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программное обеспечение » Джим Меггелен - Asterisk™: будущее телефонии Второе издание

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

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Джим Меггелен, "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() уникальна с этой точки зрения.

символ-разделитель - символ, который будет выступать в роли разделителя (по умолчанию '-').

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*