Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
voip:asterisk18:dialplan1 [02.12.2010 16:10. ] – [4. Anwendung interne Erreichbarkeit um IAX erweitert] django | voip:asterisk18:dialplan1 [20.04.2018 08:59. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Asterisk erster Wählplan ====== | ||
+ | |||
+ | {{voip: | ||
+ | \\ | ||
+ | Über den Asterisk-Rufnummernplan kann definiert werden, wie: | ||
+ | * einzelne Nebenstellen erreichbar sein sollen | ||
+ | * welche Applikationen eingebundenwerden sollen | ||
+ | * wie Amtsgespräche über den oder die Netzbetreiber geführt werden sollen | ||
+ | * wie Konferenzen und | ||
+ | * wie der Voicemailserver reagieren soll | ||
+ | * wann Nebenstellen erreichbar sein sollen | ||
+ | * und noch einge Punkte mehr. | ||
+ | Beim Dialplan werden wir uns im ersten Schritt der Konfiguarationsdatei // | ||
+ | ===== Vorbereitungen ===== | ||
+ | Zu eine der wenigen Konfigurationsdateien, | ||
+ | \\ | ||
+ | Wir sichern also im ersten Schritt die mitgelieferte **extensions.conf** und **extensions.ael**, | ||
+ | # mv / | ||
+ | # mv / | ||
+ | ===== 1. Anwendung " | ||
+ | Als erstes legen wir uns nun unsere erste **extensions.conf** an. | ||
+ | # vim / | ||
+ | < | ||
+ | static=yes | ||
+ | writeprotect=no</ | ||
+ | Mit **static** und **writeprotect** legen wir fest, ob der Dialplan über die Asterisk-Konsole aus, manipuliert werden können soll. Somit beschränken wir uns darauf den Wählplan ausschliesslich über die Konfigurationsdatei **extension.conf** zu pflegen und nach Änderungen dieser Date den Wählplan neu zu laden. Dies geschieht über einen Aufruf von // | ||
+ | \\ | ||
+ | Für den Echotest erweitern wir nun unsere Konfigurationsdatei wie folgt: | ||
+ | < | ||
+ | static=yes | ||
+ | writeprotect=no | ||
+ | |||
+ | [ansagen-demo] | ||
+ | exten => 601, | ||
+ | exten => 601, | ||
+ | exten => 601, | ||
+ | |||
+ | [default] | ||
+ | include => ansagen-demo</ | ||
+ | Für die einzelnen Beispiele definieren wir einzelne // | ||
+ | \\ | ||
+ | Nach dem Abspeichern unserer Änderungen, | ||
+ | # asterisk -r | ||
+ | |||
+ | Verbosity is at least 3 | ||
+ | < | ||
+ | Dialplan reloaded. | ||
+ | == Parsing '/ | ||
+ | -- Registered extension context ' | ||
+ | -- Added extension ' | ||
+ | -- Added extension ' | ||
+ | -- Added extension ' | ||
+ | -- Registered extension context ' | ||
+ | -- Including context ' | ||
+ | == Parsing '/ | ||
+ | -- Registered extension context ' | ||
+ | -- merging incls/ | ||
+ | -- Added extension ' | ||
+ | -- Registered extension context ' | ||
+ | -- merging incls/ | ||
+ | -- Added extension ' | ||
+ | -- Registered extension context ' | ||
+ | -- merging incls/ | ||
+ | -- Added extension ' | ||
+ | -- Time to scan old dialplan and merge leftovers back into the new: 0.000149 sec | ||
+ | -- Time to restore hints and swap in new dialplan: 0.000001 sec | ||
+ | -- Time to delete the old dialplan: 0.000019 sec | ||
+ | -- Total time merge_contexts_delete: | ||
+ | Mit dem Befehl // | ||
+ | |||
+ | < | ||
+ | [ Context ' | ||
+ | ' | ||
+ | |||
+ | [ Context ' | ||
+ | ' | ||
+ | |||
+ | [ Context ' | ||
+ | ' | ||
+ | |||
+ | [ Context ' | ||
+ | Include => ' | ||
+ | |||
+ | [ Context ' | ||
+ | ' | ||
+ | 2. Playback(tt-monkeysintro) | ||
+ | 3. Playback(tt-monkeys) | ||
+ | |||
+ | -= 4 extensions (6 priorities) in 5 contexts. =-</ | ||
+ | Wählen wir nun von einem angemeldeten SIP-Apparat die Rufnummer 601 wird als erstes ein Hinweis und anschließend das Affengeschrei am Endgerät wiedergegeben. Auf der Asterisk-Konsole können wir den Ablauf verfolgen. | ||
+ | < | ||
+ | [Nov 28 20:33:49] ERROR[18353]: | ||
+ | -- Executing [601@default: | ||
+ | -- Executing [601@default: | ||
+ | -- < | ||
+ | [Nov 28 20:33:49] NOTICE[26631]: | ||
+ | -- Executing [601@default: | ||
+ | -- < | ||
+ | == Spawn extension (default, 601, 3) exited non-zero on ' | ||
+ | ===== 2. Anwendung " | ||
+ | Im nächsten Schritt ergänzen wir nun unseren Dialplan mit folgenden Zeilen: | ||
+ | # vim / | ||
+ | < | ||
+ | static=yes | ||
+ | writeprotect=no | ||
+ | |||
+ | [ansagen-demo] | ||
+ | exten => 601, | ||
+ | exten => 601, | ||
+ | exten => 601, | ||
+ | |||
+ | [echotest] | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | exten => 602,n,echo | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | |||
+ | [default] | ||
+ | include => ansagen-demo | ||
+ | include => echotest</ | ||
+ | In Summe erhalten wir also nachfolgenden Dialplan, en wir auf der Asterisk-Konsole wieder mit dem Aufruf von **dialplan reload** laden. | ||
+ | < | ||
+ | Dialplan reloaded. | ||
+ | == Parsing '/ | ||
+ | -- Registered extension context ' | ||
+ | -- Added extension ' | ||
+ | -- Added extension ' | ||
+ | -- Added extension ' | ||
+ | -- Registered extension context ' | ||
+ | -- Added extension ' | ||
+ | -- Added extension ' | ||
+ | -- Added extension ' | ||
+ | -- Added extension ' | ||
+ | -- Added extension ' | ||
+ | -- Added extension ' | ||
+ | -- Registered extension context ' | ||
+ | -- Including context ' | ||
+ | -- Including context ' | ||
+ | == Parsing '/ | ||
+ | -- Registered extension context ' | ||
+ | -- merging incls/ | ||
+ | -- Added extension ' | ||
+ | -- Registered extension context ' | ||
+ | -- merging incls/ | ||
+ | -- Added extension ' | ||
+ | -- Registered extension context ' | ||
+ | -- merging incls/ | ||
+ | -- Added extension ' | ||
+ | -- Time to scan old dialplan and merge leftovers back into the new: 0.000164 sec | ||
+ | -- Time to restore hints and swap in new dialplan: 0.000000 sec | ||
+ | -- Time to delete the old dialplan: 0.000020 sec | ||
+ | -- Total time merge_contexts_delete: | ||
+ | Bei Anwahl der Rufnummer **602** wird nun die Anwendung // | ||
+ | Auf der Asterisk-Konsole können wir den Ablauf verfolgen. | ||
+ | < | ||
+ | [Nov 28 20:47:30] ERROR[18353]: | ||
+ | -- Executing [602@default: | ||
+ | -- Executing [602@default: | ||
+ | [Nov 28 20:47:31] NOTICE[26657]: | ||
+ | -- Executing [602@default: | ||
+ | -- < | ||
+ | -- Executing [602@default: | ||
+ | -- Executing [602@default: | ||
+ | -- < | ||
+ | -- Executing [602@default: | ||
+ | == Spawn extension (default, 602, 6) exited non-zero on ' | ||
+ | ===== 3. Anwendung " | ||
+ | Im nächsten Schritt ergänzen wir nun unseren Dialplan mit folgenden Zeilen: | ||
+ | # vim / | ||
+ | < | ||
+ | [asterisk-demo] | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | |||
+ | [default] | ||
+ | include => asterisk-demo</ | ||
+ | In Summe erhalten wir also nachfolgenden Dialplan, den wir auf der Asterisk-Konsole wieder mit dem Aufruf von // | ||
+ | < | ||
+ | static=yes | ||
+ | writeprotect=no | ||
+ | |||
+ | [ansagen-demo] | ||
+ | exten => 601, | ||
+ | exten => 601, | ||
+ | exten => 601, | ||
+ | |||
+ | [echotest] | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | exten => 602,n,echo | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | |||
+ | [asterisk-demo] | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | |||
+ | [default] | ||
+ | include => ansagen-demo | ||
+ | include => echotest | ||
+ | include => asterisk-demo</ | ||
+ | Nun haben wir unsere erste // | ||
+ | < | ||
+ | [Nov 28 21:35:54] ERROR[18353]: | ||
+ | -- Executing [603@default: | ||
+ | -- Executing [603@default: | ||
+ | [Nov 28 21:35:55] NOTICE[26752]: | ||
+ | -- Executing [603@default: | ||
+ | -- < | ||
+ | -- Executing [603@default: | ||
+ | -- Called guest@misery.digium.com/ | ||
+ | -- Call accepted by 216.207.245.8 (format gsm) | ||
+ | -- Format for call is gsm | ||
+ | -- IAX2/ | ||
+ | -- Hungup ' | ||
+ | == Spawn extension (default, 603, 4) exited non-zero on ' | ||
+ | ===== 4. Anwendung " | ||
+ | ==== SIP Teilnehmer ==== | ||
+ | Zur Erreichbarkeit unserer definierten Nebenstellen aus der / | ||
+ | # vim / | ||
+ | < | ||
+ | ; interne Erreichbarkeit der Nebenstellen 11-99 untereinander herstellen | ||
+ | exten => _XX, | ||
+ | |||
+ | [default] | ||
+ | include => intern</ | ||
+ | Somit haben wir nun nach den ersten Konfigurationsbeispielen in Summe folgenden Dialplan, den wir auf der Asterisk-Konsole wieder mit dem Aufruf von **// | ||
+ | < | ||
+ | static=yes | ||
+ | writeprotect=no | ||
+ | |||
+ | [intern] | ||
+ | ; interne Erreichbarkeit der Nebenstellen 11-99 untereinander herstellen | ||
+ | exten => _XX, | ||
+ | |||
+ | [ansagen-demo] | ||
+ | exten => 601, | ||
+ | exten => 601, | ||
+ | exten => 601, | ||
+ | |||
+ | [echotest] | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | exten => 602,n,echo | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | |||
+ | [asterisk-demo] | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | |||
+ | [default] | ||
+ | include => intern | ||
+ | include => ansagen-demo | ||
+ | include => echotest | ||
+ | include => asterisk-demo</ | ||
+ | Nunmehr haben wir auch die interne Erreichbarkeit unserer Nebenstellen sichergestellt. Im nachfolgenden Beispielt wird von der Nebenstelle **14** die Nebenstelle **13**. | ||
+ | < | ||
+ | [Nov 28 22:03:45] ERROR[18353]: | ||
+ | -- Executing [13@default: | ||
+ | == Using SIP RTP CoS mark 5 | ||
+ | -- Called 13 | ||
+ | -- SIP/ | ||
+ | -- SIP/ | ||
+ | -- SIP/ | ||
+ | -- SIP/ | ||
+ | -- SIP/ | ||
+ | -- SIP/ | ||
+ | == Spawn extension (default, 13, 1) exited non-zero on ' | ||
+ | ==== IAX2 Teilnehmer ==== | ||
+ | Zur Erreichbarkeit unserer definierten Nebenstellen aus der / | ||
+ | # vim / | ||
+ | < | ||
+ | ; interne Erreichbarkeit der Nebenstellen 11-99 untereinander herstellen | ||
+ | exten => _XX, | ||
+ | ; interne Erreichbarkeit des IAX-Tielnehmers mit der Rufnummer 33 ermöglichen | ||
+ | exten => 33, | ||
+ | |||
+ | [default] | ||
+ | include => intern</ | ||
+ | Unseren Dialplan laden wir auf der Asterisk-Konsole wieder mit dem Aufruf von **// | ||
+ | < | ||
+ | static=yes | ||
+ | writeprotect=no | ||
+ | |||
+ | [intern] | ||
+ | ; interne Erreichbarkeit der Nebenstellen 11-99 untereinander herstellen | ||
+ | exten => _XX, | ||
+ | ; interne Erreichbarkeit des IAX-Tielnehmers mit der Rufnummer 33 ermöglichen | ||
+ | exten => 33, | ||
+ | |||
+ | [ansagen-demo] | ||
+ | exten => 601, | ||
+ | exten => 601, | ||
+ | exten => 601, | ||
+ | |||
+ | [echotest] | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | exten => 602,n,echo | ||
+ | exten => 602, | ||
+ | exten => 602, | ||
+ | |||
+ | [asterisk-demo] | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | exten => 603, | ||
+ | |||
+ | [default] | ||
+ | include => intern | ||
+ | include => ansagen-demo | ||
+ | include => echotest | ||
+ | include => asterisk-demo</ | ||
+ | Rufen wir nun von unserem Testteilnehmer **14** unser IAX2-Softphone mit der Nummer **33**, so wird uns dies auf dem Asterisk-CLI entsprechend angezeigt. | ||
+ | < | ||
+ | == Using SIP RTP CoS mark 5 | ||
+ | [Dec 2 16:56:02] ERROR[27402]: | ||
+ | -- Executing [33@default: | ||
+ | -- Called 33 | ||
+ | -- Call accepted by 192.168.10.40 (format gsm) | ||
+ | -- Format for call is gsm | ||
+ | -- IAX2/ | ||
+ | -- IAX2/ | ||
+ | -- Hungup ' | ||
+ | == Spawn extension (default, 33, 1) exited non-zero on ' | ||
+ | asterisk*CLI></ | ||
+ | |||