Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
voip:asterisk18:dialplan2 [29.11.2010 15:54. ] – angelegt django | voip:asterisk18:dialplan2 [20.04.2018 08:59. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Wählplanerweiterungen für die ISDN-Anbindungen ====== | ||
+ | |||
+ | {{voip: | ||
+ | \\ | ||
+ | Im vorgenannten [[voip: | ||
+ | \\ | ||
+ | Im einzelnen wollen wir nun die unterschiedlichen Richtungen betrachten und dabei auf verschiedene Komfortstufen eingehen. | ||
+ | ===== abgehende Verbindungen ===== | ||
+ | ==== erste abgehende Wahl ==== | ||
+ | Im ersten Schritt erweitern wir nun unseren Dialplan um eine Option zum abgehenden Telefonieren.\\ | ||
+ | Als erstes tragen definieren wir in der Konfigurationsdatei // | ||
+ | # vim / | ||
+ | < | ||
+ | [Mnet] | ||
+ | ports=1 | ||
+ | context=Extern_ISDN | ||
+ | msns=883176</ | ||
+ | In der GesamtKonfiguration ergibt sich damit folgendes Konfigurationsfiel für **mISDN**: | ||
+ | # egrep -v ' | ||
+ | < | ||
+ | misdn_init=/ | ||
+ | debug=0 | ||
+ | ntdebugflags=0 | ||
+ | ntdebugfile=/ | ||
+ | ntkeepcalls=no | ||
+ | bridging=no | ||
+ | stop_tone_after_first_digit=yes | ||
+ | append_digits2exten=yes | ||
+ | dynamic_crypt=no | ||
+ | crypt_prefix=** | ||
+ | crypt_keys=test, | ||
+ | [default] | ||
+ | context=misdn | ||
+ | language=de | ||
+ | musicclass=default | ||
+ | senddtmf=yes | ||
+ | far_alerting=no | ||
+ | allowed_bearers=all | ||
+ | internationalprefix=00 | ||
+ | nationalprefix=0 | ||
+ | rxgain=0 | ||
+ | txgain=0 | ||
+ | te_choose_channel=no | ||
+ | l1watcher_timeout=0 | ||
+ | pmp_l1_check=no | ||
+ | reject_cause=16 | ||
+ | need_more_infos=no | ||
+ | nttimeout=no | ||
+ | method=standard | ||
+ | overlapdial=yes | ||
+ | dialplan=0 | ||
+ | localdialplan=0 | ||
+ | cpndialplan=0 | ||
+ | early_bconnect=yes | ||
+ | incoming_early_audio=no | ||
+ | nodialtone=no | ||
+ | presentation=-1 | ||
+ | screen=-1 | ||
+ | outgoing_colp=0 | ||
+ | display_connected=0 | ||
+ | display_setup=0 | ||
+ | jitterbuffer=4000 | ||
+ | jitterbuffer_upper_threshold=0 | ||
+ | hdlc=no | ||
+ | max_incoming=-1 | ||
+ | max_outgoing=-1 | ||
+ | cc_request_retention=yes | ||
+ | [Mnet] | ||
+ | ports=1 | ||
+ | context=Extern_ISDN | ||
+ | msns=883176</ | ||
+ | Wie haben also einen ISDN-Anschluss, | ||
+ | Bei der weiteren Konfiguration gehen wir davon aus, dass Rufnummern mit 4 oder mehr Stellen sich auf Teilnehmer außerhalb unserer Telefonanlage bezeihen. | ||
+ | Wir tragen also in den Diaplan nach: | ||
+ | # vim / | ||
+ | < | ||
+ | ;erste Version ohne setzen einer MSN | ||
+ | exten => _XXXX., | ||
+ | exten => _XXXX., | ||
+ | |||
+ | [default] | ||
+ | include => abgehend_(mISDN)</ | ||
+ | Unser wählplan enthält nunmehr zusammen mit den bereits beschriebenen Beispielsanwendungen folgende Zeilen: | ||
+ | < | ||
+ | static=yes | ||
+ | writeprotect=no | ||
+ | |||
+ | [intern] | ||
+ | ; interne Erreichbarkeit der Nebenstellen 11-99 untereinander herstellen | ||
+ | exten => _XX, | ||
+ | |||
+ | [abgehend_(mISDN)] | ||
+ | ;erste Version ohne setzen einer MSN | ||
+ | exten => _XXXX., | ||
+ | exten => _XXXX., | ||
+ | |||
+ | [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 | ||
+ | include => abgehend_(mISDN)</ | ||
+ | Anschließend laden wir unseren neuen Dialplan - wir verbinden uns hierzu mit der Asterisk-Konsole. | ||
+ | # asterisk -r | ||
+ | < | ||
+ | Verbosity is at least 3 | ||
+ | asterisk*CLI> | ||
+ | Die Anwahl einer externen Rufnummer von unserem SIP-Endgerät wird uns in der Konsole entsprechend dokumentiert. Im Nachfolgendem Beispiel hat der Teilnehmer mit der internen Rufnummer 14 die Rufnummer 08936046666 angerufen: | ||
+ | < | ||
+ | == Using SIP RTP CoS mark 5 | ||
+ | [Dec 1 13:22:25] ERROR[19516]: | ||
+ | -- Executing [08936046666@default: | ||
+ | -- Called g: | ||
+ | -- mISDN/1-u5 is proceeding passing it to SIP/ | ||
+ | -- mISDN/1-u5 is making progress passing it to SIP/ | ||
+ | -- mISDN/1-u5 is ringing | ||
+ | -- mISDN/1-u5 answered SIP/ | ||
+ | == Spawn extension (default, 08936046666, | ||
+ | asterisk*CLI></ | ||
+ | |||
+ | ==== individuelle MSN bei der abgehenden Wahl setzen ==== | ||
+ | Bei unserem Mehrgeräteanschluß hat uns unser Netzbetreiber nicht nur eine Rufnummer zugeteilt, sondern mehrere. Diese **MSN**((**M**ultiple **S**ubscriber **N**umber)) haben wir einzelnen Teilnehmern zugeordnet. Rufen wir nun von einer Nebenstelle unseres Asterisk-Servers einen externen Teilnehmer an, möchten wir natürlich auch die jeweils zugeordnete Rufnummer übertragen. Das was sich bei dem ein oder anderen höchstprofesssionellen Systemintegrator als unlösbare Herausforderunge bei einer VoIP-Anlage mit 3.000 Nebenstellen darstellt, gestaltet sich bei unserem Asterisk-Server als triviale Herausforderung. LOL \\ | ||
+ | \\ | ||
+ | Für die Zuordnung der internen Rufnummern zu den jeweilgen MSNs bedienen wir uns der Asterisk-eigenen Datenbank. Diese Datenbank erreichen wir über die Funktion **database**. Wir können damit z.B. unsere Registrierten Geräte abfragen. | ||
+ | # asterisk -r | ||
+ | < | ||
+ | / | ||
+ | / | ||
+ | Wir legen uns nun eine kleine Tabelle an, in der wir jedem internen Teilnehmer eine unserer MSN zuweisen. In unserem Demofall wäre dies exemplarisch: | ||
+ | ^ interne Rufnummer | ||
+ | | | ||
+ | | | ||
+ | Diese Tabelle legen wir nun einmalig über die Asterisk-Konsole an. | ||
+ | # asterisk -r | ||
+ | < | ||
+ | Updated database successfully | ||
+ | asterisk*CLI> | ||
+ | Updated database successfully | ||
+ | asterisk*CLI> | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | Unseren Dialplan modifizieren wir nun wie folgt. | ||
+ | # vim / | ||
+ | < | ||
+ | ; M-net-MSN für den rufenden Teilnehmer aus der Datenbank holen | ||
+ | ; abgehende Rufnummer setzen und dann gewählte Rufnummer weiter | ||
+ | ; in Richtung ISDN schicken | ||
+ | exten => _XXXX., | ||
+ | exten => _XXXX., | ||
+ | exten => _XXXX., | ||
+ | exten => _XXXX., | ||
+ | </ | ||
+ | Anschließend laden wir den Dialplan neu. | ||
+ | # asterisk -r | ||
+ | |||
+ | asterisk*CLI> | ||
+ | Rufen wir nun einen externen Partner an, wird im Gegensatz zur [[voip: | ||
+ | < | ||
+ | == Using SIP RTP CoS mark 5 | ||
+ | [Dec 1 13:31:03] ERROR[19516]: | ||
+ | -- Executing [089216750916@default: | ||
+ | -- Executing [089216750916@default: | ||
+ | -- Executing [089216750916@default: | ||
+ | -- Called g: | ||
+ | -- mISDN/1-u7 answered SIP/ | ||
+ | asterisk*CLI></ | ||
+ | |||
+ | ===== ankommende Verbindungen ===== | ||
+ | Im nächsten Schritt richten wir nun den ankommenden ISDN-Amtsverkehr ein. Wir routen in unserem Beispiel die Anrufe auf die MSN **883176** auf die intene Nst. **14**.\\ | ||
+ | \\ | ||
+ | In der Konfigurationsdatei zu mISDN // | ||
+ | # vim / | ||
+ | < | ||
+ | [Mnet] | ||
+ | ports=1 | ||
+ | context=ankommend_(mISDN) | ||
+ | msns=883176</ | ||
+ | In unserem Dialplan definieren wir nun an welcher internen Nebenstelle die Anrufe für die **MSN 883176** signalisiert werden soll. Hierzu erweitern wir unseren Dialplan um/auf folgende Zeilen. | ||
+ | # vim / | ||
+ | < | ||
+ | ; ankommende erste ISDN-Anrufe der MSN 883176 auf der internen Nst. 14 | ||
+ | exten => 883176, | ||
+ | exten => 883176, | ||
+ | |||
+ | [default] | ||
+ | include => echotest | ||
+ | include => asterisk-demo | ||
+ | include => local | ||
+ | include => abgehend_(mISDN) | ||
+ | include => ankommend_(mISDN) | ||
+ | </ | ||
+ | In Summe ergibt sich folgender vorläufiger// | ||
+ | < | ||
+ | static=yes | ||
+ | writeprotect=no | ||
+ | |||
+ | [intern] | ||
+ | ; interne Erreichbarkeit der Nebenstellen 11-99 untereinander herstellen | ||
+ | exten => _XX, | ||
+ | |||
+ | [abgehend_(mISDN)] | ||
+ | ; M-net-MSN für den rufenden Teilnehmer aus der Datenbank holen | ||
+ | ; abgehende Rufnummer setzen und dann gewählte Rufnummer weiter | ||
+ | ; in Richtung ISDN schicken | ||
+ | exten => _XXXX., | ||
+ | exten => _XXXX., | ||
+ | exten => _XXXX., | ||
+ | exten => _XXXX., | ||
+ | |||
+ | [ankommend_(mISDN)] | ||
+ | ; ankommende erste ISDN-Anrufe der MSN 883176 auf der internen Nst. 14 | ||
+ | exten => 883176, | ||
+ | exten => 883176, | ||
+ | |||
+ | [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 | ||
+ | include => abgehend_(mISDN) | ||
+ | include => ankommend_(mISDN)</ | ||
+ | |||
+ | |||
+ | Anschließend verbinden wir uns mit unserer Asterisk-Konsole und laden unseren modifizierten Dialplan. | ||
+ | # asterisk -r | ||
+ | < | ||
+ | Verbosity is at least 3 | ||
+ | asterisk*CLI> | ||
+ | Rufen wir nun die Zielrufnummer 883176 an, wird der Anruf auf der definierten Zielnebenstelle 14 signalisiert und kann dort angenommen werden. | ||
+ | < | ||
+ | -- Executing [883176@ankommend_(mISDN): | ||
+ | == Using SIP RTP CoS mark 5 | ||
+ | -- Called 14 | ||
+ | -- SIP/ | ||
+ | -- SIP/ | ||
+ | -- SIP/ | ||
+ | -- SIP/ | ||
+ | == Spawn extension (ankommend_(mISDN), | ||
+ | asterisk*CLI> | ||
+ | </ | ||
+ | |||