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!
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.