Springe zu: Hauptnavigation, Themennavigation, Seiteninhalt, Spezielle Seiten

Vorstellen der Asterisk-Konsole

Mit der Asterisk-Konsole, dem CLI (Command Line Interface), kann man mit der laufenden Telefonanlage kommunizieren. Asterisk muss nicht neu gestartet werden, wenn Konfigurationsdateien angepasst wurden. Diese können mit bestimmten Befehlen neu eingelesen werden. Die Konsole kann aber auch für die Fehlersuche eingesetzt werden.

Mit der Konsole verbinden

Mit dem Befehl asterisk -r stellt man eine Verbindung zum laufenden Asterisk-Prozess her und erhält den Prompt (Eingabeaufforderung) der Konsole:

debian:~# asterisk -r
Asterisk 1.6.1.6, Copyright (C) 1999 - 2009 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 1.6.1.6 currently running on debian (pid = 2255)
debian*CLI>

Die Zeile debian*CLI> zeigt an, dass Asterisk zur Entgegennahme von Anweisungen bereit ist. debian ist der Hostname des Rechners. Bei der Eingabe der Befehle kann oft die Tabulatortaste zur Vervollständigung verwendet werden, wie es zum Beispiel bei der Bash der Fall ist.

Die Konsole verlassen

Hat man seine Arbeit beendet, verlässt man die Asterisk-Konsole mit dem Befehl exit.

Informationen über den Dialplan abfragen

Welche Applikationen werden ausgeführt, wenn eine Extension in einem Context aufgerufen wird? Diese Frage kann mit dem dialplan show-Befehl beantwortet werden:

debian*CLI> dialplan show 3246@intern
[ Context 'intern' created by 'pbx_ael' ]
  '3246' =>         1. Answer()                                   [pbx_ael]
                    2. Playback(demo-echotest)                    [pbx_ael]
                    3. Echo()                                     [pbx_ael]
                    4. Hangup()                                   [pbx_ael]

-= 1 extension (4 priorities) in 1 context. =-
debian*CLI>

Informationen zu aktiven Gesprächen anzeigen

Mit dem folgenden Befehl werden Ifnormationen zu aktuellen Gesprächen (offenen Channels) angezeigt. So kann man sehen, welcher Codec für die aktuelle Verbindung verwendet wird:

debian*CLI> sip show channels
Peer             User/ANR    Call ID          Format           Hold     Last Message    Expiry
192.168.1.100    7424        1257601424-212-  0x2 (gsm)        No       Rx: ACK
1 active SIP dialog
debian*CLI>

Die “Gesprächigkeit” von Asterisk erhöhen

Für die Fehlersuche kann es hilfreich sein, die “Gesprächigkeit” (Verbosity) von Asterisk anzupassen. So kann man nachvollziehen was whährend eines Gesprächs passiert. Im Beispiel setzen wir die Verbosity auf 5 und rufen den Echotest an:

debian*CLI> core set verbose 5
Verbosity was 0 and is now 5
  == Using SIP RTP CoS mark 5
    -- Executing [3246@intern:1] Answer("SIP/7424-097a7948", "") in new stack
[Nov  8 15:22:04] WARNING[6631]: translate.c:168 framein: no samples for gsmtolin
    -- Executing [3246@intern:2] Playback("SIP/7424-097a7948", "demo-echotest") in new stack
    -- <SIP/7424-097a7948> Playing 'demo-echotest.gsm' (language 'de')
[Nov  8 15:22:04] NOTICE[6631]: channel.c:2918 __ast_read: Dropping incompatible voice frame on SIP/7424-097a7948 of format ulaw since our native format has changed to 0x2 (gsm)
[Nov  8 15:22:25] WARNING[6631]: format_gsm.c:61 gsm_read: Short read (1) (No such file or directory)!
    -- Executing [3246@intern:3] Echo("SIP/7424-097a7948", "") in new stack
  == Spawn extension (intern, 3246, 3) exited non-zero on 'SIP/7424-097a7948'
debian*CLI>

Konfigurationsdateien neu einlesen

Nach Änderungen an Konfigurationsdateien (zum Beispiel sip.conf oder extensions.ael) müssen diese von Asterisk eingelesen werden. Dies kann zum Beispiel mit dem Befehl reload für alle Dateien oder im Falle von SIP mit sip reload geschehen. Für den AEL-dialplan verwendet man ael reload.

Asterisk beenden oder neu starten

Zum Herunterfahren von Asterisk steht der Befehl core stop zur Verfügung. Er erwartet aber noch einen Parameter. Zum sofortigen Beenden wird core stop now verwendet. Weitere Parameter verrät die eingebaute Hilfe:

debian*CLI> help core stop
          core stop gracefully Gracefully shut down Asterisk
                 core stop now Shut down Asterisk immediately
     core stop when convenient Shut down Asterisk at empty call volume
debian*CLI>

Es ist aber auch der Aufruf ohne core möglich (zum Beispiel stop now).

Zum Neustart ist statt stop @restart@zu verwenden.

Dies war nur eine erste Einführung in die Asterisk-Konsole. Weitere CLI-Kommandos werden in folgenden Artikeln vorgestellt.

Datum der Veröffentlichung: Sonntag, 08.11.2009

Nach oben

Diese Seite drucken