dynamischer Rufnummernweiterleitung

equinox

Neuer User
Mitglied seit
24 Okt 2005
Beiträge
37
Punkte für Reaktionen
0
Punkte
0
Hi,


Ich hab folgendes:
- eine Alcatel-Telefonanlage
- viele Alcatel-DECTs an der Anlage
- einen Asterisk-Server mit FritzCard am S0-Bus (Alcatel)
- SIP/IAX-Clients am Asterisk-Server

Folgendes Szenario:
Ich sitze am Schreibtisch und bin via SIP am Asterisk angemeldet. Nun möchte ich pinkeln gehen, dabei aber über mein DECT von der Alcatel über den Asterisk mit der SIP-Nummer erreichbar sein. D.h. ich müsste per Tastenkombination auf dem DECT/SIP-Telefon irgendwie die betreffende Extension umschreiben, sodass die SIP-Nummer über CAPI an die Alcatel-Durchwahl von meinem DECT weitergeleitet wird.

Was ich nicht will ist ein (ich nenns mal) erweiterter Dialplan der bei nicht-erreichen des SIP-Clients auf CAPI weiterleitet, sondern eigentlich eine Konfiguration der Extensions über ein SIP-Endgerät ..


Irgendwie soll das über die interne Asterisk Datenbank funktionieren, nur wie das genau gehen soll hab ich noch nicht rausgefunden. Hilfreich wären mir Step-by-step Anleitungen, funktionierende Beispiele oder einfach nur Links zu den entsprechenden Hilfeseiten :) Sonstiges wird aber auch gerne gelesen ^^

Grüße
equinox
 
Da gibt es ja viele Möglichkeiten.

Eine davon wäre: Du rufst einfach eine Nummer am Asterisk an, diese erkennst per CALLERID(number), ob es dein SIP-Telephon bzw. dein DECT ist. Falls dem so ist, schreibst du einfach in die interne Datenbank ein Flag (z.B. mit DB(redirect/to_dect)=1). Bei der Extension, die normalerweise auf dein SIP-Phone weiterleitet, fragst du ab, ob dieses Flag gesetzt ist und setzt eine Variable 'Zap/1234' (falls das dein DECT-Phone ist) bzw. 'Sip/sip1' (falls das dein SIP-Phone ist).

Ich habe sowas ähnliches für CLIR-on-select gemacht, das schreibt auch durch Anrufen einer internen Nummer ein Flag in die Datenbank. Beim nächsten Anruf wird geschaut, ob das Flag vorhanden ist und CLIR gesetzt.

Mit Anruf auf auf 12 wird CLIR für den nächsten Anruf gesetzt:

Code:
exten => 12,1,Set(DB(internal_clir/${CALLERID(number)})=1)

Überprüft, ob Flag gesetzt:

Code:
[macro-set-clir-if-set]
exten => s,1,Set(FLAG=${DB(internal_clir/${CALLERID(number)})})
exten => s,2,GotoIf($["${FLAG}"="1"] ? 3 : 6)
exten => s,3,SetCallerPres(prohib_not_screened)
exten => s,4,DBdel(internal_clir/${CALLERID(number)})
exten => s,5,Playback(own/clir_this)
exten => s,6,NoOP()
exten => s,102,NoOP()

Die Schwierigkeit hier ist, dass die Schlüssel dynamisch sind (CallerID), was bei dir nicht der Fall ist; bei dir kann der Schlüssel statisch sein.

Prinzipiell brauchst du den oberen Code ja nur mehr anpassen, vielleicht hilft er dir weiter!
 
Kostenlos!

Statistik des Forums

Themen
247,120
Beiträge
2,262,277
Mitglieder
375,506
Neuestes Mitglied
simsontyler