Kanal-spezifische vordefinierte Variablen
Im Folgenden finden Sie eine Liste der von Asterisk selbst festgelegten, kanal-spezifischen Variablen, deren Werte Sie in Dialplan-Routinen verwenden können. Im Gegensatz zu benutzerdefinierten Variablen sind von Asterisk definierte Variablen groß-/kleinschreibungssensitiv.
- ${ACCOUNTCODE}: Kontokennung, falls zugewiesen – siehe Asterisk-Billing. (Ab Version 1.2.0 als veraltet markiert und in Version 1.4.0 entfernt. Verwenden Sie stattdessen ${CDR(accountcode)}.)
- ${ANSWEREDTIME}: Zeitpunkt, zu dem der Anruf beantwortet wurde.
- ${BLINDTRANSFER}: Aktiver SIP-Kanal, der den Anruf initiiert. Hier wird der Name des SIP-Kanals ermittelt, der den Anruf bei einer Blind-Übertragung tätigt – siehe BLINDTRANSFER?
- ${CALLERID(all)} : Aktueller Wert von Name und Nummer aus CallerID – Siehe Abschnitt CallerID-Einstellung?, der sich mit der Arbeit an CallerID in Asterisk Version 1.4 befasst.
- ${CALLERID(name)} : Aktueller Wert des Namens aus CallerID – Die Variable ${CALLERIDNAME} wurde in Asterisk bis Version 1.2.0 verwendet; sie ist ab Version 1.2.0 als veraltet markiert und wurde in Version 1.4 entfernt.
- ${CALLERID(num)} : Aktueller Wert der Nummer aus CallerID – Die Variable ${CALLERIDNUM} wurde in Asterisk bis Version 1.2.0 verwendet; sie ist ab Version 1.2.0 als veraltet markiert und wurde in Version 1.4 entfernt. (Beachten Sie: Der Wert dieser Variable muss nicht zwingend numerisch sein, wie der Name nahelegen könnte; ein Leerzeichen ist ein gültiger Wert. Befehle, die mit diesem Variablenwert arbeiten (z. B. 'GotoIf'), müssen diesen Umstand berücksichtigen.)
- ${CALLINGPRES}: Variable, die die PRI-Call-ID-Präsentation enthält, für eingehende Anrufe (Siehe callingpres )
- ${CHANNEL}: Aktueller Kanalname
- ${CONTEXT}: Aktueller Kontextname
- ${DATETIME}: Aktuelles Datum und Uhrzeit im Format: TTMMJJJJ-St:MM:SS Diese Variable ist in Asterisk 1.2 als veraltet markiert. Verwenden Sie stattdessen: ${STRFTIME(${EPOCH},,%d%mNaVH:NaVS)})
- ${DIALEDPEERNAME}: Name des angerufenen Teilnehmers. Derzeit nicht funktionsfähig, siehe DIALEDPEERNAME?
- ${DIALEDPEERNUMBER}: Nummer des angerufenen Teilnehmers. Derzeit nicht funktionsfähig, siehe DIALEDPEERNUMBER?
- ${DIALEDTIME}: Zeitpunkt der Wahl des Teilnehmers. (Funktioniert nur, wenn der angerufene Teilnehmer den Anruf annimmt?!)
- ${DIALSTATUS}: Anrufstatus. Siehe DIALSTATUS
- ${DNID}: Dialed Number Identifier. Zur Unterstützung von Einschränkungen für ausgehende Anrufe, siehe DNID?
- ${EPOCH}: Aktuelle Zeit im UNIX-Format (Anzahl der Sekunden seit dem 1. Januar 1970)
- ${EXTEN}: Aktuelle Erweiterung
- ${HANGUPCAUSE}: Letzter Rückgabecode, der nach Beendigung der Verbindung für einen Zap-Kanal zurückgegeben wird, der mit einer PRI-Schnittstelle verbunden ist.
- ${INVALID_EXTEN}: Angeforderte Erweiterung für Fälle, in denen sie zur Verarbeitung an den i (ungültige) Erweiterung weitergeleitet wird.
- ${LANGUAGE}: Aktuelle Sprache der Sprachnachrichten. Siehe Asterisk Multi-Language?
- ${MEETMESECS}: Anzahl der Sekunden, die der Teilnehmer an der MeetMe-Konferenz? teilgenommen hat.
- ${PRIORITY}: Aktueller Prioritätswert.
- ${RDNIS}: Caller-ID für den Teilnehmer, der die Weiterleitung durchführt DNIS. Zur Unterstützung von Einschränkungen für ausgehende Anrufe, siehe RDNIS?
- ${SIPDOMAIN}: Ziel-Domain für ausgehende SIP-Anrufe (falls vorhanden)
- ${SIP_CODEC}: Wird zur Festlegung des Codecs für Anrufe über einen SIP-Kanal verwendet (vermutlich nicht funktionsfähig in Version 1.0.1, funktioniert in 1.0.3 & 1.0.4, Unsicherheit bezüglich 1.0.2)
- ${SIPCALLID}: Wert des Header-Felds „Call-ID“ in SIP-Dialognachrichten.
- ${SIPUSERAGENT}: Wert des Header-Felds „User-Agent“ in SIP-Dialognachrichten.
- ${TIMESTAMP}: Aktuelles Datum und Uhrzeit im Format: JJJJMMTT-HHMMSS Diese Variable ist in Asterisk 1.2 als veraltet markiert. Verwenden Sie stattdessen: ${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
- ${TRANSFERCAPABILITY}: Kanalart.
- ${TXTCIDNAME}: Ergebnis der Anwendung TXTCIDName (siehe unten)
- ${UNIQUEID}: Aktuelle eindeutige Anrufkennung
- ${TOUCH_MONITOR}: Wird für „One-Touch Recording“ verwendet (siehe features.conf und die Flags wW für den Dial-Befehl). Wenn sie an beiden Enden der Verbindung gesetzt ist, enthält diese Variable die app_args (Argumente) für die app_monitor-Anwendung; andernfalls werden die Standardargumente verwendet: WAV||m
- ${CONTEXT}: Name des aktuellen Kontexts
- ${DATETIME}: Aktuelles Datum und Uhrzeit im Format: !YYYY-MM-DD_HH:MM:SS
- ${TIMESTAMP}: Aktuelles Datum und Uhrzeit im Format: YYYYMMDD-HHMMSS
- ${EPOCH}: Aktuelle UNIX-Epochenzeit (Anzahl der Sekunden seit dem 1. Januar 1970)
- ${EXTEN}: Aktuelle Telefonnummer (Durchwahl)
- ${INVALID_EXTEN}: Eingewählte Telefonnummer bei Weiterleitung auf die i (invalid)-Durchwahl
- ${LANGUAGE}: Aktueller Sprachwert. Siehe Unterstützung nationaler Sprachen in Asterisk
- ${PRIORITY}: Aktuelle Priorität
- ${CALLINGPRES}: PRI Call ID Presentation-Variable für eingehende Anrufe (siehe callingpres)
- ${CALLERID}: Anruferkennung (Name und Nummer)
- ${CALLERIDNAME}: Anruferkennung: Name
- ${CALLERIDNUM}: Anruferkennung: Nummer
- ${CHANNEL}: Name des aktuellen Kanals
- ${RDNIS}: Der aktuelle weiterleitende DNIS, Anruferkennung, die den Anruf weitergeleitet hat. Siehe RDNIS
- ${SIPDOMAIN}: SIP-Ziel-Domain eines eingehenden Anrufs (falls zutreffend)
- ${SIP_CODEC}: Wird verwendet, um den SIP-Codec für einen Anruf festzulegen
- ${SIPCALLID}: Der SIP-Dialog Call-ID-Header
- ${SIPUSERAGENT}: Der SIP-User-Agent-Header
- ${UNIQUEID}: Aktuelle eindeutige SIP-Anruf-ID
- ${HANGUPCAUSE}: Der letzte Rückgabecode beim Auflegen auf einem Zap-Kanal, der mit einer PRI-Schnittstelle verbunden ist
- ${DNID}: Dialed Number Identifier
- ${ACCOUNTCODE}: Kontocode, falls angegeben – siehe Asterisk-Abrechnung
Von verschiedenen Anwendungen verwendete Variablen
Die Befehle einiger Anwendungen verwenden Werte von „Kanalvariablen“ oder schreiben das Ergebnis ihrer Arbeit in diese Variablen zurück.
- Der Befehl AgentCallbackLogin? gibt in ${AGENTBYCALLERID_${CALLERID}} die ID des erfolgreich autorisierten Agenten zurück.
- Der Befehl ChanIsAvail gibt in ${AVAILCHAN} den ersten verfügbaren Kanal zurück.
- Der Befehl Dial verwendet den Wert der Variable ${VXML_URL}, um die XML-URL an ein Cisco 7960-Telefon zu senden.
- Der Befehl Dial verwendet den Wert der Variable ${ALERT_INFO}, um Informationen zum Anruftyp an Cisco-Telefone zu übermitteln.
- Der Befehl Dial gibt in ${CAUSECODE} den Fehlercode zurück, falls der Anruf fehlgeschlagen ist.
- Der Befehl Dial gibt in ${DIALSTATUS} den textbasierten Code des Ergebnisses des letzten Anrufversuchs zurück.
- Der Befehl Dial verwendet den Wert der Variable ${TRANSFER_CONTEXT}: Wenn diese Variable festgelegt ist, wird sie bei der Durchführung des Anrufübertragungsprozesses (#transfer) verwendet, um Befehle aus dem angegebenen Kontext für die Erweiterung auszuführen.
- Der Befehl EnumLookup gibt in der Variable ${ENUM} das Suchergebnis zurück.
- Der Befehl Hangup verwendet den Wert der Variable ${PRI_CAUSE}, um die Rückgabecodes der PRI-Schnittstelle festzulegen.
- Der Befehl MeetMe verwendet den Wert der Variable {MEETME_AGI_BACKGROUND}, um das auszuführende AGI-Skript zu bestimmen.
- Der Befehl MeetMe gibt in der Variable ${MEETMESECS} die Anzahl der Sekunden zurück, die der Teilnehmer in der Konferenz verbracht hat.
- Der Befehl Playback gibt in der Variable ${PLAYBACKSTATUS} das Ergebnis der Ausführung zurück (FAILED|SUCCESS).
- Der Befehl Queue gibt in der Variable ${QUEUESTATUS} den Grund zurück, warum der in die Warteschlange eingereihte Anruf diese verlassen hat.
- Der Befehl TXTLookup gibt in der Variable ${TXTCIDNAME} das Suchergebnis in DNS zurück.
- Der Befehl VoiceMail gibt in der Variable ${VMSTATUS} das Ergebnis der Ausführung der Anwendung VoiceMail? zurück. Mögliche Werte: SUCCESS | USEREXIT | FAILED.
Makrospezifische Variablen
Bei der Verwendung von Kontexten als Makros stehen zusätzliche, makrospezifische „Kanale“-Variablen zur Verfügung.
- ${ARG1}: Das erste an das Makro übergebene Argument
- ${ARG2}: Das zweite an das Makro übergebene Argument (usw. ...)
- ${MACRO_CONTEXT}: Der Name des Kontexts der Erweiterung, die dieses Makro aufgerufen hat
- ${MACRO_EXTEN}: Die Erweiterung, die dieses Makro aufgerufen hat
- ${MACRO_OFFSET}: Wird vom Makros gesetzt, um die Priorität zu bestimmen, ab der die Ausführung der Befehle nach Abschluss des Makros fortgesetzt wird
- ${MACRO_PRIORITY}: Die Priorität der Erweiterung zum Zeitpunkt des Aufrufs dieses Makros
Umgebungsvariablen
Sie können auf Unix-Umgebungsvariablen mit der folgenden Syntax zugreifen:
${ENV(''foo'')}
