Parallelanruf bei Verwendung unseres Macros
Ok ok ...
Es wurde nun schon öfters nachgefragt, wie das denn nun mit der Anwahl von mehreren Endgeräten gleichzeitig funktioniert, wenn man mit dem Macro arbeitet. Da ich im Moment keine Zeit (und deshalb auch keine Lust) habe, den "Fortgeschrittenenkurs" zu schreiben, will ich das hier kurz auflösen.
Um sowas zu lösen, muß man wissen, daß Asterisk nicht nur Anrufe im Channel SIP/xx oder IAX/xx aufbauen kann, sondern daß es im Asterisk auch noch einen "Pseudo"-Channel LOCAL gibt, der also Dial-Befehle nach LOCAL/xx aufbauen kann.
Was bewirkt das Ganze ? Nun, das ist ganz einfach. In so einem Fall schaut Asterisk einfach nach, wo im
lokalen Dialplan die gewählte Extension gefunden werden kann.
Beispiel:
Code:
[lokal]
exten => 55,1,Dial,SIP/30&SIP/31&SIP/32
Dann kann man mit
Code:
exten => bla,1,Dial,LOCAL/55
erreichen, daß die 3 Ziele 30 31 32 gleichzeitig gerufen werden. "Das Ganze kann man doch auch viel einfacher erreichen !" höre ich jetzt schon wieder die Schlaumeier rufen ;-) Und sie haben ja - im Prinzip - Recht.
Aber - dieser kleine "Umweg" erlaubt uns, unser Ziel auch bei Verwendung unseres ruf-Macros zu erreichen.
Wir können nämlich nun einfach schreiben
Code:
exten => bla,1,macro,ruf|local|55
und erreichen damit, daß wir eine ganz normale Abarbeitung unseres Macros, inklusive der Auswertung des ${DIALSTATUS} bekommen. Das bedeutet, daß der Anrufer, wenn z.B. niemand abnimmt, auf der Mailbox landet. In diesem Fall natürlich in der Mailbox 55 :!: die in der voicemail.conf definiert sein muß.
Mit dieser Methode kann man nun also ganz einfach unseren Macro nutzen, um ankommende Anrufe aus dem Context [ankommend] auf mehreren Geräten zu signalisieren, indem man einfach diese LOCAL/extension verwendet.
xGrundsätzlich ist noch anzumerken, daß der LOCAL-Channel ein sehr mächtiges Werkzeug im Dialplan darstellt, dessen Fähigkeiten leider viel zu wenig dokumentiert sind und von dem viel zu wenig Gebrauch gemacht wird. Nein, ich werde nun keine weiteren Möglichkeiten anreißen - sonst komme ich aus dem Schreiben gar nicht mehr raus :mrgreen: