Anhang C. Funktionen im Dialplan

Seit Asterisk 1.2 gibt es im Dialplan nicht nur Applikationen, sondern auch Funktionen. Anders als Applikationen können Funktionen nicht direkt aufgerufen werden. Stattdessen geben sie einen Wert zurück oder - was dem klassischen Verständnis einer Funktion widerspricht - man kann auch, in Verbindung mit der Applikation Set() (siehe Abschnitt 110, „Set()), schreibend auf sie zugreifen. Funktionsnamen werden immer ganz in Großbuchstaben geschrieben. Funktionen werden erstaunlicherweise wie Variablen durchwegs in ${} eingeklammert, was notwendig ist, da Strings nicht immer in Hochkommata stehen müssen.

Im Asterisk-CLI[124] können Sie mit show functions und show function FUNKTIONSNAME bzw. core show functions und core show function Funktionsname (ja nach Asterisk-Version) herausfinden, welche Funktionen in Ihrer Installation verfügbar sind. Dabei ist die komplette Großschreibung des Funktionsnamens wichtig.

1. AGENT()

AGENT(AgentenNr[:Feld])

Gibt Informationen über einen Agenten, identifiziert duch die AgentenNr zurück. Die folgenden Felder können abgefragt werden:

status
(default) Der Einlog-Status des Agenten, entweder LOGGEDIN oder LOGGEDOUT
password
Das Passwort des Agenten
name
Der Name des Agenten
mohclass
Die Wartemusik-Klasse (Music on hold class)
exten
Die Rückruf-Extension des Agenten. Wird von der Applikation AgentCallbackLogin() verwendet.
channel
Der Name des aktiven Kanals des Agenten (AgentLogin())
; die Variable foo auf den Namen des Agenten Nr. 42 setzen:
exten => 123,1,Set(foo=${AGENT(42:name)})
[Anmerkung]Anmerkung

Interner Hilfetext zu dieser Applikation in Asterisk 1.4: 

  -= Info about function 'AGENT' =- 

[Syntax]
AGENT(<agentid>[:item])

[Synopsis]
Gets information about an Agent

[Description]
The valid items to retrieve are:
- status (default)      The status of the agent
                          LOGGEDIN | LOGGEDOUT
- password              The password of the agent
- name                  The name of the agent
- mohclass              MusicOnHold class
- exten                 The callback extension for the Agent (AgentCallbackLogin)
- channel               The name of the active channel for the Agent (AgentLogin)

Differenz zum internen Hilfetext in Asterisk 1.2: 

-- in Version 1.2 nicht vorhanden --


[124] Command Line Interface, kann durch asterisk -r aufgerufen werden


Asterisk Schulung

2.1 Beta-Version!

2.1 Beta-Version des Asterisk Buches. Die 1.0 stabile Version ist ebenfalls online. Bitte melden Sie Fehler und Feedback per E-Mail an den Autor.

YouTube Screencasts

Kostenlose Asterisk Screencasts mit jeweils 10 minütigen Erklärungen zu Spezial-Themen.

Das gedruckte Buch

Werbung

Asterisk-Tag.org 2008

Auf der Asterisk-Tag.org Webseite finden Sie die Folien und Videos der Vorträge.