Lenovo Düsseldorf

ThinkCentre

ThinkServer ThinkStation

Lenovo - Systeme Kontakt Impressum Disclaimer

Das Asterisk Manager Interface

Das Asterisk Manager Interface ist in Asterisk integriert und erhält seine Konfiguration in der Datei manager.conf (per Default in /etc/asterisk/manager.conf).

Der Aufbau der manager.conf

Die Datei manager.conf hat einen globalen Bereich und einen oder mehrere Sektionen (Benutzerbereiche) für den authentifizierten Zugang zum AMI. Die Bereiche werden in eckigen Klammern [Bereich] eingeschlossen und markieren damit den Anfang des Bereichs in der Konfigurationsdatei.

Der globale Bereich der manager.conf

Der globale Bereich konfiguriert das AMI grundsätzlich und beginnt mit dem Eintrag [general]. In der General-Sektion gibt es die Konfigurationseinträge

  • enabled = [yes|no]
    Über die Option enabled wird das Asterisk Manager Interface aktiviert oder deaktiviert. Sollte keine Software auf das AMI zugreifen, sollte es, speziell wenn Asterisk an einer öffentlichen IP-Adresse betrieben wird, deaktiviert werden.
    Wird das Manager-Interface von Asterisk verwendet und an eine öffentliche IP-Adresse gebunden (siehe bindaddr), so muss eine Firewall das AMI vor unbefugtem Zugriff schützen.

  • bindaddr = [IP-Adresse|0.0.0.0]
    Mit der Option bindaddr wird bestimmt, an welche IP-Adresse des Rechners, das Asterisk Manager Interface gebunden ist. Die IP-Adresse, die hier verwendet wird, kann entweder die 127.0.0.1 (localhost, der Zugriff ist nur vom selben rechner aus möglich), die bzw. eine IP-Adresse des Rechners, auf dem Asterisk läuft, oder 0.0.0.0 sein. Ist es eine IP-Adresse des Rechners, kann von anderen Rechnern über das Netzwerk auf das AMI genau über diese IP-Adresse zugegriffen werden. Ist es 0.0.0.0 kann über das Netzwerk auf den Asterisk-Manager über eine beliebige IP-Adresse des Rechners, auf dem Asterisk installiert ist, zugegriffen werden.

  • timestampevents=yes

    Event: PeerStatus
    Privilege: system,all
    Timestamp: 1385914057.947166
    Peer: SIP/510
    PeerStatus: Registered

    timestampevents=no

    Event: PeerStatus
    Privilege: system,all
    Peer: SIP/510
    PeerStatus: Registered

  • port = [portnummer]
    Um auf das Asterisk-Manager-Interface zuzugreifen, wird neben der IP-Adresse auch ein (TCP-)Port benötigt. Die Option port gibt an, auf welchem TCP-Port das AMI auf Befehle wartet.

  • webenabled = [yes|no]
    Seit der Version 1.4 hat Asterisk einen integrierten WebServer, mit dessen Hilfe über das http-Protokoll auf das Manager-Interface zugegriffen werden kann. Über die Option httpenabled wir der Zugriff über http aktiviert oder deaktiviert.

  • httptimeout = [timeout]
    Die Option httptimeout gibt durch eine posivive Ganzzahl die Anzahl der Sekunden an, bis ein Timeout bei http-Verbindungen zum Manager-Interface auftritt.

  • displaysystemname = [yes|no]
    Mit dieser Option wird entschieden, ob der Manager den Systemnamen in Events und Respones meldet.

  • displayconnects = [yes|no]
    Hier wird eingestellt, ob eine Anmeldung an das Asterisk-Manager-Interface, im der Asterisk CLI (Command Line Interface) angezeigt wird.

  • timestampevents = [yes|no]
    Die Option timestampevents besagt, dass Events, die mittels des Asterisk-Manager-Interface gemeldet werden, einen Zeitstempel beinhaltet. Ist timestampevents eingeschaltet, wird innerhalb des Events ein Zeitstempel als Unix-Zeit (Anzahl der vergangenen Sekunden seit dem 1. Januar 1970 00:00 Uhr UTC) eingefügt.

Die General-Sektion endet mit dem Anfang der ersten Benutzer-Sektion und muss nicht explizit abgeschlossen werden.

Der Benutzerbereich der manager.conf

Um das Asterisk-Manager-Interface verwenden zu können, müssen sich die Programme als Benutzer am Manager-Interface authentifzieren. Die Benutzer, Passworte und Zugriffsrechte werden in den Benutzerbereichen der manager.conf eingerichtet. Um das AMI verwenden zu können, muss mindestens ein Benutzer angelegt werden.

Jeder Benutzerbereich wird mit einer Sektion mit dem Benutzernamen(z.B. [Benutzer]) eingeleitet danach werden die Optionen für diesen benutzer festgelegt:

  • secret = [Passwort]
    Hier wird das Passwort für den Benutzer eingetragen.

  • deny = [IP-Adresse|IP-Netz|0.0.0.0]
    Eine Liste mit IP-Adressen oder IP-Netzwerken, aus denen sich dieser Benutzer am Asterisk-Manager-Interface nicht anmelden darf, wenn die Anmeldung nicht explizit durch die Option allow erlaubt wird.

  • permit = [IP-Adresse|IP-Netz|0.0.0.0]
    Eine Liste mit IP-Adressen oder IP-Netzwerken, aus denen sich der Benutzer anmelden darf.

  • read=[Kommagetrennte Liste der Leseklassen]
    Die option read gibt an, auf welche Klassen von Befehlen (Manager-Kommandos) der Benutzer lesend zugreifen darf. Lesender Zugriff bedeutet im Fall des AMI, dass der angemeldete Benutzer Events dieser Klasse empfängt.

  • write[Kommagetrennte Liste der Schreibklassen]
    Mit der Option write wird festgelegt, auf welche Klassen von Befehlen der Benutzer schreibend zugreifen darf, also Kommandos senden und Antworten auf diese Kommandos empfangen kann.

  • writetimeout=[Ganzzahl]
    Eine positive Ganzzahl in Millisekungen, in der ein Schreibkommando abgeschlossen werden muss.

Befehlsklassen für die Optionen read und write

  • system
    Generelle Systeminformationen erhalten und Kommandos absetzen, die den Systemstaus verändern.

  • call
    Informationen zu Asterisk-Kanälen und Veränderung Informationen und Stati von laufenden Kanälen.

  • log
    Log-Informationen empfangen. (Read-Only)

  • verbose
    Weitergehende Informationen empfangen (Read-Only)

  • command
    Command Line Interface (CLI) Kommados absetzen. (Write-Only)

  • agent
    Informationen über Warteschlangen (Queues) und Agenten (Agents) erhalten und Agenten zu einer Warteschlange hinzufügen, entfernen oder verändern.

  • user
    Das Recht Benutzer-Events zu senden und empfangen.

  • config

  • dtmf
    Events zu DTMF-Übertragungen erhalten. (Read-Only)

  • reporting
    Systeminformationen erhalten.

  • cdr
    Die Ausgabe des CallDetailRecord-Manager emfangen, wenn der CDR-Manager geladen ist.

  • dialplan
    Benachritigung empfangen, wenn Variablen verändert werden oder neue Extensions hinzugefügt werden.

  • originate
    Das Recht, neue Anrufe zu initiieren. (Write-Only)

Eine einfaches Beispiel einer manager.conf

[general]
enabled = yes
webenabled = no
port = 5038
bindaddr = 127.0.0.1

[user1]
secret = passwort1
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config

Veränderungen an der manager.conf

Damit Veränderungen an der manager.conf in Asterisk wirksam werden, muss Asterisk entweder neu gestartet werden oder das Asterisk Manager Interface innerhalb Asterisk neu geladen werden. Dies wird in der CLI von Asterisk mit dem Befehl module reload manager oder aus der Linux-Shell mit dem Befehl asterisk -rx "module reload manager" gemacht.

Test des Asterisk-Manager-Interfaces

Nachdem die Einstellungen für das AMI in der manager.conf durchgeführt wurden und Asterisk gestartet wurde, sollte die Funktion des manager Interfaces von Asterisk getestet werden. Als erstes sollte man nachschauen, ob das AMI auf dem Asterisk-Server an die gewünsche IP-Adresse / den gewünschten Port gebunden ist.

Dies wird durch die Eingabe des Befehls netstat -an | grep 5038 in einer Linux-Shell durchgeführt, sofern der AMI auf den Standardport 5038 konfiguriert ist. Die Ausgabe sollte in etwa so aussehen:

cptk:/etc/asterisk# netstat -an | grep 5038
tcp 0 0 0.0.0.0:5038 0.0.0.0:* LISTEN
cptk:/etc/asterisk#

Anschließend kann man sich per Telnet auf den Port verbinden und die ersten einfachen Kommandos eingeben. Kommandos, die einzutippen sind, sind fett markiert. Bitte beachten, dass die <enter>-Taste zum Abschluß eines Kommandos zweimal gedrückt werden muss:

cptk:/etc/asterisk# telnet 127.0.0.1 5038 <enter>
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Asterisk Call Manager/1.0
action: login <enter>
username: user1 <enter>
secret: passwort1 <enter> <enter>

Response: Success
Message: Authentication accepted

action: logoff <enter> <enter>

Response: Goodbye
Message: Thanks for all the fish.

Connection closed by foreign host.

cptk:/etc/asterisk#

 

Entlasten Sie Ihre IT und entscheiden Sie sich für unsere Produkte und Support.

Wir machen uns stark für Ihren Erfolg.

Diese Seite bookmarken
Bookmarken bei Delicious Bookmarken bei Digg Bookmarken bei Google Bookmarken bei Mr. Wong

Copyright by MSD Computersysteme GmbH, Düsseldorf