.titleBar { margin-bottom: 5px!important; }

dynamischer Rufnummernweiterleitung

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von equinox, 28 Nov. 2006.

  1. equinox

    equinox Neuer User

    Registriert seit:
    24 Okt. 2005
    Beiträge:
    37
    Zustimmungen:
    0
    Punkte für Erfolge:
    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
     
  2. divB

    divB Mitglied

    Registriert seit:
    14 Juli 2006
    Beiträge:
    324
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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!