Eingehende Rufnummer anpassen?

olebole

Neuer User
Hallo,

ich habe einen Account bei fwd und würde gerne Anrufe von dort mit einer bestimmten Vorwahl kennzeichnen. Wenn also ein Anruf von [email protected] kommt, soll diese Nummer bei mir als 000393514 angezeigt werden.

Das Problem ist dabei, dass ja durchaus auch "externe" Anrufe über fwd kommen können (also solche, die zwar über fwd hereinkommen, aber eine andere Absenderdomain haben), und die sollen natürlich nicht (bzw. nach einem anderen Schema) angepasst werden. Wenn z.B. jemand mit einer dus.net-Kennung bei fwd.pulver.com anruft (000387123456), möchte ich natürlich nicht die Kennung 000393000387123456 haben.

Der Hintergrund davon ist, dass ich bei Anrufen von fwd eine direkte Rückrufnummer im Display haben möchte (ausgehend aus 000393123456 ein [email protected] zu machen, ist ja glücklicherwies trivial). Anrufe z.B. von dus.net -- sebst wenn sie über fwd hereinkommen -- sollten ihre Nummern beibehalten, weil für die natürlich eine eigene Regel zum hinauswählen existiert.

Wie mache ich das? am besten so allgemein, dass ich für jeden Provider festlegen kann, wie seine Nummer manipuliert wird?

Hintergrund ist, dass ich mir eine kleine Menge von Vorwahlen "000XYZ" zuelegen möchte, die eindeutig in beiden Richtungen die typischen Provider kennzeichnet. Oder ist das eine Brain-dead-Idee?
 
Die Variable zum Basteln heist ${CALLERIDNUM} bzw. ${CALLERID(number)}.

Ich muß mir die Rufnummern der Anrufe die auf meinen schweizer Rufnummern eingehen auch passend machen.
 
OK, der erste Teil war einfach:

[ankommend]
exten => 123456,1,Set(CALLERID(num)=000393${CALLERID(num)})
exten => 123456,n,Dial,SIP/100|60|r

Damit erhalten alle Anrufe auf meine fwd-Nummer 123456 den Prefix 000393.
Aber wie prüfe ich nun, ob jemand *von* fwd anruft? Woher bekomme ich die komplette URL des Anrufers oder zumindest den Teil rechts von "@"?
 
Auch wenn der Thread zum Selbstgespräch mutiert :) hier die Lösung (nach vielen SIP-Anrufen bei FWD, die ja glücklicherwiese kostenlos sind...)

Code:
[ankommend]
exten => _X.,1,Set(FWDID=$["${SIPCHANINFO(from)}" : "sip:([0-9]+)@fwd\.pulver\.com"])
exten => _X.,n,Set(CALLERID(num)=${IF($["${FWDID}" != ""]?000393${FWDID}:${CALLERID(num)})})
exten => _X.,n,Dial,SIP/100&SIP/101|60|r

[fwd_pulver_out]
exten => _000393.,1,Dial,SIP/${EXTEN:6}@123456|60|r

Eine ähnliche Logik könnte man für andere "bekannte" Provider einstellen.

Frage 1: gibt es dafür irgendwas wie einen Standard? Offensichtlich zumindest sowas wie eine "stille Übereinkunft". Ist die irgendwo dokumentiert?

Frage 2: lässt sich für den Incoming-Teil in Asterisk ein Makro definieren, wo man einfach eine Tabelle einpflegt der Art

fwd.pulver.com --> 393

und die dann die Umsetzung automatisch vornimmt?

Frage 3 (rhetorisch): Geht es nur mir so, dass ich die asterisk-Syntax arg zusammengepfickelt und xxxGRRRQQX empfinde?

Frage 4: ist der Thread hier für jemand außer mir von Interesse? (die Frage ist wieder ernstgemeint: ist ein einheitlicher VOIP-Rufnummernplan soo eine schlechte Idee?)
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,992
Beiträge
2,222,342
Mitglieder
371,771
Neuestes Mitglied
Drago123
Zurück
Oben