DUNDi hausintern

 

DUNDi ist eine schöne Sache, wenn man mehrere Asterisks zu bedienen hat. Ich habe mir unter Zuhilfenahme von DUNDi eine Lösung erarbeitet, um die kostenfreien Anrufe von 4 Betamaxablegern auf alle meine Asterisk zu verteilen.

Unter dem Kontext [dundi-priv-via-pstn] in der dundy.conf habe ich einige Beispieleinträge hinterlegt, wie ich das Ganze aufgebaut habe:

exten => _41XX.,1,Goto(sipdiscount,00${EXTEN},1); Schweiz
exten => _4176.,1,Goto(verboten,00${EXTEN},1)

Die Dundi-Abfragen erfolgen mit Landeskennziffern, aber ohne vorangestellten 00. Dies muß für die Anwahl berücksichtigt werden. Das obige Beispiel für die Schweiz lässt zunächst alles zu, der zweite, und ggf. weitere Einträge schliessen dann die Handys und sonstiges, nicht kostenfreies, aus.

Im Dialplan der einzelnen Asterisk gibt es für den Fall kostenlos zwei User, extern=1 und andere. Über die Variable extern erhält im Kontext [verboten] (Seite dundy.htm ganz unten)der User mit Berechtung extern=1 eine Ansage, dass dieser Anruf unzulässig ist, alle anderen gehen weiter in einen anderen Kontext.

Das funktioniert nun ganz wunderbar, hat nur einen Haken. Wenn ein Account belegt ist, können alle über diesen Account gerouteten Länder nicht mehr angerufen werden. Also musste eine Lösung her, zumal die meisten Länder auf mehr als einem Account zur Verfügung stehen. Eine Lösung habeich mit dem Script auf der Seite belegt.htm geschaffen.

Der Vorteil ist nun, dass die ständigen Änderungen in den kostenfreien Ländern nur an einer Stelle zentral gepflegt werden müssen und auf allen anderen Asterisk automatisch zur Verfügung stehen.

Eine andere Anwendungsmöglichkeit sind die lokalen Benutzer eines Asterisk. Auf jedem Asterisk werden in das DUNDi-Script die örtlichen User eingetragen. Nach einem reload stehen die Daten Asterisk-Verbundweit zur Verfügung.

 

Stand 07.08.06