Crmgo Блог

Asterisk переменные

Asterisk переменные

Предопределенные переменные специфичные для каналов Ниже приведен список специфичных для каналов переменных устанавливаемых самим Asterisk, значения которых Вы можете использовать в плане набора. В отличии от переменных определенных пользователем, переменные определяемые самим Asterisk- регистрозависимые . ${ACCOUNTCODE} : Код аккаунта, если…

Asterisk переменные

Предопределенные переменные специфичные для каналов

Ниже приведен список специфичных для каналов переменных устанавливаемых самим Asterisk, значения которых Вы можете использовать в плане набора. В отличии от переменных определенных пользователем, переменные определяемые самим Asterisk- регистрозависимые.

  • ${ACCOUNTCODE}: Код аккаунта, если назначен - см. Asterisk billing. (объявлена устаревшей, начиная с версии 1.2.0 и удалена в версии 1.4.0. Используйте ${CDR(accountcode)} .
  • ${ANSWEREDTIME}: Время, когда на вызов ответили.
  • ${BLINDTRANSFER}: Активный канал SIP, который совершает вызов. Тут будет определено имя SIP канала, который совершает вызов при трансфере вызова типа blind - см. BLINDTRANSFER?
  • ${CALLERID(all)} : Текущее значение имени и номера из CallerID - Смотри раздел Установка Callerid?, посвященный работе с CallerID в Asterisk версии 1.4
  • ${CALLERID(name)} : Текущее значение имени из CallerID - Переменная ${CALLERIDNAME} использовалась в Asterisk до версии 1.2.0, она объявлена УСТАРЕВШЕЙ, начиная с версии 1.2.0 и удалена в версии 1.4.
  • ${CALLERID(num)} : Текущее значение номера из CallerID - Переменная :${CALLERIDNUM} использовалась в Asterisk до версии 1.2.0, она объявлена УСТАРЕВШЕЙ, начиная с версии 1.2.0 и удалена в версии 1.4. (Обратите внимание: значения этой переменной не обязательно должно быть цифровым, как это может показаться из названия, и вполне законно ее значением может быть символ пробела. Для команд, которые оперируют значением этой переменной, (Например, 'GotoIf') должен учитываться этот момент).
  • ${CALLINGPRES}: Переменная, содержащая PRI Call ID Presentation, для входящих вызовов (См. callingpres )
  • ${CHANNEL}: Текущее имя канала
  • ${CONTEXT}: Текущее имя контекста
  • ${DATETIME}: Текущее время и дата в формате: DDMMYYYY-HH:MM:SS Эта переменная объявлена устаревшей в версии Asterisk 1.2, вместо нее используйте конструкцию: ${STRFTIME(${EPOCH},,%d%mNaVH:NaVS)})
  • ${DIALEDPEERNAME}: Имя вызываемого абонента. В данный момент не работает, см DIALEDPEERNAME?
  • ${DIALEDPEERNUMBER}: Номер вызываемого абонента. В данный момент не работает, см DIALEDPEERNUMBER?
  • ${DIALEDTIME}: Время, когда был набран номер. (Работает, только, если вызываемый абонент ответил на вызов?!)
  • ${DIALSTATUS}: Статус вызова. См. DIALSTATUS
  • ${DNID}: Dialed Number Identifier. Для поддержки ограничений на исходящие вызовы, см. DNID?
  • ${EPOCH}: Текущее время в UNIX формате (количество секунд прошедшее с 1 января 1970 года)
  • ${EXTEN}: Текущий екстеншен
  • ${HANGUPCAUSE}: Последний код возврата, возвращенный по окончании соединения для Zap канала, соединенного с интерфейсом PRI
  • ${INVALID_EXTEN}: Запрашиваемый екстеншен, для случаев, когда он переадресуется на обработку i (неправильного) екстеншена
  • ${LANGUAGE}: Текущий язык сообщений. См. Asterisk multi-language?
  • ${MEETMESECS}: Количество секунд, в течении которых пользователь участвовал в конференции MeetMe?.
  • ${PRIORITY}: Текущее значение приоритета.
  • ${RDNIS}: Caller ID, для абонента совершающего переадресацию DNIS. Для поддержки ограничений на исходящие вызовы, см. RDNIS?
  • ${SIPDOMAIN}: Домен назначения для исходящего SIP вызова (если присутствует)
  • ${SIP_CODEC}: Используется для установки кодека, для вызова через SIP канал (предположительно не работает в версии 1.0.1, ok в 1.0.3 & 1.0.4, нет уверенности насчет 1.0.2)
  • ${SIPCALLID}: Значение заголовочного поля Call-ID: в сообщениях SIP диалога.
  • ${SIPUSERAGENT}: Значение заголовочного поля "user agent" в сообщениях SIP диалога.
  • ${TIMESTAMP}: Текущая дата и время в формате: YYYYMMDD-HHMMSS Эта переменная объявлена устаревшей в версии Asterisk 1.2, вместо нее используйте конструкцию: ${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
  • ${TRANSFERCAPABILITY}: Тип канала.
  • ${TXTCIDNAME}: Результат работы приложения TXTCIDName (см. ниже)
  • ${UNIQUEID}: Текущий уникальный идентификатор вызова
  • ${TOUCH_MONITOR}: используется для "записи одним нажатием" (см. features.conf, и флаги wW для команды dial). Если установлена на обоих концах связи, тогда эта переменная содержит app_args (аргументы) для приложения app_monitor, иначе для нее будут использоваться аргументы по умолчанию: WAV||m
  • ${CONTEXT}: Имя текущего контекста
  • ${DATETIME}: Текущая дата и время в формате: !YYYY-MM-DD_HH:MM:SS
  • ${TIMESTAMP}: Текущая дата и время в формате: YYYYMMDD-HHMMSS
  • ${EPOCH}: Текущее время UNIX-овой эпохи (число секунд с 1 Jan 1970)
  • ${EXTEN}: Текущий телефонный номер (extension)
  • ${INVALID_EXTEN}: Набранный телефонный номер при переадресации на i (invalid) extension
  • ${LANGUAGE}: Текущее значения языка. Смотри поддержку национальных языков в Астериске
  • ${PRIORITY}: Текущий приоритет
  • ${CALLINGPRES}: PRI Call ID Presentation variable for incoming calls (See callingpres)
  • ${CALLERID}: Идентификатор вызывающего (имя и номер)
  • ${CALLERIDNAME}: Идентификатор вызывающего: имя
  • ${CALLERIDNUM}: Идентификатор вызывающего: номер
  • ${CHANNEL}: Имя текущего канала
  • ${RDNIS}: The current redirecting DNIS, Caller ID that redirected the call. See RDNIS
  • ${SIPDOMAIN}: SIP destination domain of an inbound call (if appropriate)
  • ${SIP_CODEC}: Used to set the SIP codec for a call
  • ${SIPCALLID}: The SIP dialog Call-ID: header
  • ${SIPUSERAGENT}: The SIP user agent header
  • ${UNIQUEID}: Current SIP call unique ID
  • ${HANGUPCAUSE}: The last hangup return code on a Zap channel connected to a PRI interface
  • ${DNID}: Dialed Number Identifier
  • ${ACCOUNTCODE}: Account code, if specified - see Asterisk billing

 

Переменные, используемые различными приложениями

Команды некоторых приложений используют значения "канальных" переменных или возвращают в них результат своей работы.

  • Команда AgentCallbackLogin? возвращает в ${AGENTBYCALLERID_${CALLERID}}: ID успешно авторизированного агента.
  • Команда ChanIsAvail возвращает в ${AVAILCHAN}: первый доступный канал
  • Команда Dial использует значение переменной ${VXML_URL}: для отправки XML Url в телефон Cisco 7960.
  • Команда Dial использует значение переменной ${ALERT_INFO}: для передачи информации о типе звонка в телефоны Cisco.
  • Команда Dial возвращает в ${CAUSECODE}: Код ошибки, если вызов не удался.
  • Команда Dial возвращает в ${DIALSTATUS}: текстовый код результата последней попытки вызова абонента.
  • Команда Dial использует значение переменной ${TRANSFER_CONTEXT}: Если установлена эта переменная, при выполнении процедуры перевода вызова (#transfer), то будет использоваться для выполнения команд экстеншен из указанного контекста.
  • Команда EnumLookup возвращает в переменной ${ENUM}: результат поиска.
  • Команда Hangup использует значение переменной ${PRI_CAUSE} для установки кодов возврата PRI интерфейса.
  • Команда MeetMe использует значение переменной {MEETME_AGI_BACKGROUND}: для определения AGI скрипта, который необходимо выполнить.
  • Команда MeetMe возвращает в переменной ${MEETMESECS}: количество секунд, которое пользователь провел в конференции.
  • Команда Playback возвращает в переменной ${PLAYBACKSTATUS}: Результат выполнения команды (FAILED|SUCCESS).
  • Команда Queue возвращает в переменной ${QUEUESTATUS}: Причину, по которой, помещенный в очередь, вызов, покинул ее.
  • Команда TXTLookup возвращает в переменной ${TXTCIDNAME}: результат поиска в DNS.
  • Команда VoiceMail возвращает в переменной ${VMSTATUS}: результат выполнения приложения VoiceMail?. Возможные значения: SUCCESS | USEREXIT | FAILED .

 

Переменные, специфичные для макросов

При использовании контекстов в качестве макросов, доступны дополнительные специфичные для макросов "канальные" переменные.

  • ${ARG1}: первый аргумент, переданный макросу
  • ${ARG2}: второй аргумент, переданный макросу (и так далее ...)
  • ${MACRO_CONTEXT}: Имя контекста екстеншена, вызвавшего данный макрос
  • ${MACRO_EXTEN}: Екстеншен, вызвавший данный макрос
  • ${MACRO_OFFSET}: Устанавливается макросом, для определения приоритета, с которого продолжится выполнение команд, после завершения работы макроса
  • ${MACRO_PRIORITY}: Приоритет екстеншена, на момент вызова данного макроса

 

Переменные окружения

Вы можете получить доступ к переменным окружения unix, используя следующий синтакс:

${ENV(''foo'')}

  • ${ENV(ASTERISK_PROMPT)} : текущий CLI prompt? для Asterisk .
  • ${ENV(RECORDED_FILE)} : имя файла, под которым была сохранена последняя запись, сделанная командой Record (доступна в CVS > 2004-03-21)

Примечание: материал мог быть создан с помощью ИИ и затем отредактирован человеком. Ответственный: Dmytro Lomaka, Kaltenkirchen.