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