Rufumleitung mit AnruferID

Junialter

Mitglied
Mitglied seit
19 Jun 2005
Beiträge
214
Punkte für Reaktionen
0
Punkte
0
Hi,

bei einer einfachen Gigaset ISDN Anlage richte ich eine Rufumleitung ein z.B. auf mein Handy. Wenn jemand anruft wird der Anruf sofort weitergeleitet. Es wird auch die Rufnummern des ursprünglichen Anrufers auf meinem Handy angezeigt.

Bei Asterisk habe ich aber immer die ISDN-Rufnummer meines eigenen Anschlusses auf dem Handy. Wie kann ich das einstellen, dass ich immer die des eigentlichen Anrufers sehe?

Danke!
 
Das ist bei neueren mISDN-Versionen (ab 0.3.xx wenn ich mich recht erinner) mit der sog. calldeflection möglich. Die sagt (einfach ausgedrückt) dem ISDN-Switch beim Provider, dass der Anruf so wie er ist (incl. der originalen Absenderufnummer) umgelenkt werden soll. Dabei werden auch keine Kanäle in der Anlage belegt. Die Abrechnung für die weitergeleiteten Anrufe läuft aber natürlich trotzdem irgendwie auf deinen Anschluss.

Im asterisk-Wählplan machst Du dafür nicht ein "Dial"-Kommando sondern die calldeflection. Ich habe ein Umleitungsmakro was folgendermaßen aussieht:

Code:
exten => s,1,GotoIf($[x${DB(CF/${MACRO_EXTEN})} = x]?bail:forward)
exten => s,n(forward),misdn_facility(calldeflect|${DB(CF/${MACRO_EXTEN})})
exten => s,n(bail),NoOp(No CFW set)

Was gemacht wird ist, dass ein Lookup in der Asterisk-internen Datenbank "CF" gemacht wird, ob eine Weiterleitung für die Nummer die grad angerufen wird (MACRO_EXTEN) definiert ist. Ist sie das nicht, überspringt er den Forward und logt das mit NoOp(). Hat er die Nummer gefunden, holt er die Nummer aus der Datenbank auf die Weitergeleitet werden soll und deflected den Call mit dieser misdn_facility-Funktion. Man kann dann auch so Sperenzchen machen (habe ich in einer anderen call-deflection) und Anrufer die die Rufnummer nicht übertragen auf den Anrufbeantworter schicken anstatt sie (teuer) umzuleiten.

Das ist vielleicht etwas abgefahren für den Anfang, im Grunde ist für Dich das hier interessant:

Code:
misdn_facility(calldeflect|0123456789)

Das deflected den Call auf die Nummer 0123456789.
 
Klasse, danke, ich werd es mal ausprobieren. Vielleicht kann ich das ja sogar mit dieser followme Funktion kombinieren, von der ich erst kürzlich gehört habe.
 
Kann ich den Anruf auch wieder zurück holen wenn die Gegenstelle besetzt meldet?
also
1. Anruf kommt auf ISDN
2. Umleitung auf Handy -> meldet besetzt
3. Asterisk nimmt den Call wieder auf sein Voicemailsystem?

Glaube ja nicht das sowas geht aber wer weiß.
 
Da der Anruf bei einer Call-Deflection von der Asterisk-Anlage nicht entgegengenommen, sondern sozusagen davor umgelenkt wird, ist ein "zurückkommen" des Anrufs nicht möglich. Die Anlage kommt ab dem Signalisieren der Call-Deflection nichtmehr an den Call ran.

Wenn Du sowas basteln willst, wirst Du um ein annehmen des Calls in der Asterisk-Anlage und "eigenem" Dialing nicht herumkommen. Was Du dann machst wenn das Ziel besetzt, nicht-erreichbar oder wasauchimmer ist, ist dann komplett Dir überlassen. Da werden halt nur dann "richtige" B-Kanäle in der Anlage belegt, einer reinkommend und (wenn Du nicht per SIP o.a. rausgehst) einer abgehend. Und die Originalrufnummer kannst Du dann im ISDN (normalerweise) auch nicht mitübertragen.
 
Ok danke!
Es funktioniert bei mir aber net.
Code:
P[ 1] channel with stid:0 for one second still in use!
    -- Executing [899@isdn:1] Ringing("mISDN/1-u25", "") in new stack
    -- Executing [899@isdn:2] misdn_facility("mISDN/1-u25", "calldeflect|01375555555") in new stack
P[ 0] TYPE: mISDN
  == Auto fallthrough, channel 'mISDN/1-u25' status is 'UNKNOWN'

Das kommt bei mir.
meine Extension.conf :
Code:
exten => 899,1,Ringing
exten => 899,n,misdn_facility(calldeflect|01375555555)
 
Zuletzt bearbeitet:
Unterschied zu meinem Wählplan an der Stelle ist noch, dass nach einer kurze Wartezeit (für das Signalisieren der Calldeflection) ein Hangup erfolgt.

Code:
exten => 899,1,Ringing
exten => 899,n,misdn_facility(calldeflect|01375555555)
exten => 899,n,Wait(3)
exten => 899,n,Hangup()

Wobei ich stark bezweifle, dass man Calls aus einem internen ISDN-Bus (nehme ich mal bei der kurzen Nummer stark an) an einen externen Provider deflecten kann. Ich leite Calls direkt an der externen ISDN-Schnittstelle um.
 
Wie meinst du das? 899 ist meine ISDN Nummer (abgekürzt aus Datenschutzgründen) mit Internen Nummern habe ich hier gar nichts gemacht.
kann man calldecfelt evt nicht zu einer 0137 Nummer nutzen?
 
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.