|
home NewsPortal ![]() - Download - Docs - Links BattleTaxi ![]() - Download - Docs - Screenshots dvorak ![]() (X11 keymap) Wapedia ![]()   (encyclopedia) Delphinflossenseife ![]() (Soap) VoIP ![]() (Asterisk+ISDN) IPhone-Modem ![]() (unter Linux) Contact/Impressum Links Seitenliste RecentChanges |
-> VoIP -> extensions.ael Seit Version 1.2 von Asterisk unterstützt die Software eine ausgewachsene Programmiersprache um einen Rufnummernplan zu schreiben. Diese Sprache ist mächtiger und zudem übersichtlicher als die alte Form der Definition eines Rufnummernplanes über die Datei extensions.confDiese extensions.ael ist das Herzstück unserer Telephonanlage. Hier definieren wir, was mit eingehenden Anrufen passieren soll, also welche Telephone wie lange klingeln sollen, wann welcher Anrufbeantworter dran gehen soll, und natürlich wer durch wählen welcher Nummern welche Teilnehmer über welchen Anbieter anwählt. 1. RaustelephonierenDer erste Teil zeigt, wie Asterisk dazu bewegt werden kann, ausgehende Gespräche von einem Telephon, hinein in die weite Welt, zu vermitteln: // ************* Raustelephonieren *****************
// Makro: telephoniert hinaus in die weite welt
// dev: Protokoll (z.B. SIP)
// ext: Extension des Anbieters, wie in sip.conf konfiguriert
// nummer: zu wählende Nummer, im normal üblichen Format
// pkz: 1 für Florian, 2 für Mareike (PersonenKennZiffer)
// callernummer: Nummer, die dem Anrufer signalisiert werden soll
macro waehle( dev, ext, nummer, pkz, callernumber ) {
agi(showcallee.php|${nummer}|${pkz});
Set(CALLERID(name)=${callernumber});
Dial(${dev}/${ext},240,g);
SendText(Beendet);
Hangup();
};
context rauswaehlen {
// fuer florian
_10. => { // dus.net
&waehle(SIP,${EXTEN:1}@000123456,${EXTEN:1},1,49228243546);
};
_150. => { // sipgate
&waehle(SIP,${EXTEN:2}@87654321,${EXTEN:2},1,49228975421);
};
_190. => { // dus.net: Anonym
&waehle(SIP,${EXTEN:2}@000123456,${EXTEN:2},1,anonymous);
};
// fuer mareike
_20. => { // dus.net
&waehle(SIP,${EXTEN:1}@000654321,${EXTEN:1},2,49228132435);
};
};Erklärung hierzu:
Desweiteren sieht man hier, daß ich durch Vorwählen von 15 statt über dus.net über sipgate telephonieren kann, sowie, und das ist ein Special von dus.net, durch wählen von 19 anonym über dus.net! Man kann nämlich bei dus.net bei jedem Gespräch angeben, welche abgehende Rufnummer signalisiert werden soll. Falls diese Rufnummer auf "anonymous" gesetzt wird, wird keine Rufnummer signalisiert. 2. Angerufen werdenNatürlich können wir auch unter unseren Telephonnummern angerufen werden. In der sip.conf wird zu jedem Anbieter eingestellt, zu welchem Kontext in der extensions.ael gesprungen werden soll, falls ein Anruf eingeht. Ich habe mich dazu entschieden, daß grundsätzlich zu der Kategorie mit dem Namen "ankommend" gesprungen werden soll. Diese sieht in der extensions.ael so aus: // ************ Eingehende Telephonate, von Telephongesellschaften *****
// Makro: lässt Telephone klingeln
// fuer: 1 für Florian, 2 für Mareike
// beschreibung: Textuelle Beschreibung, des Anschlusses
macro klingeln( fuer, beschreibung ) {
Ringing(); // dem Anrufer ein Freizeichen signalisieren
agi(showcaller.php|${fuer}|${beschreibung});
// ziel-MSN auswaehlen
if("${fuer}"="1") { // Florian
Set(MSN=41);
} else if ("${fuer}"="2") { // Mareike
Set(MSN=42);
} else { // Unbekannt
Set(MSN=43);
};
Dial(ZAP/1/${MSN}&SIP/budgetone,30,t);
};
context ankommend {
// fuer florian
000123456 => &klingeln(1, dus.net);
// fuer mareike
000654321 => &klingeln(2, dus.net);
};"000123456 => &klingeln(1, dus.net);" beschreibt, was passiert, wenn Extension 000123456 aufgerufen wird. Dies ist die Extension, die ich von dus.net vorgegeben bekommen habe. Falls also nun eine dieser Extensions durch einen eingehenden Telephonanruf von dus.net (mit meinem Konto dort) aufgerufen wird, wird das Makro "klingeln" aufgerufen, welchen dann die passenden Telephone klingeln läßt. Das Makro "klingeln" führt nacheinander folgende Befehle aus:
Die Telephone werden nun klingeln. Wird eines der Telephone abgehoben, wird das Gespräch durchgestellt, und es kann gesprochen werden. Links |