| modify Caller ID for incoming calls
on my PBXes I have a Swiss (0041) and a German (0049) number, which are routed to one and the same final device.
If a person from Geneva (prefix within Switzerland 022...) calls my Swiss number, the callerID is displayed in the domestic Swiss format, which yields "022xxxxxxx".
If a person from Bonn (prefix within Germany 0228...) calls my German number, the callerID is displayed in the domestic German format, which yields "0228xxxxxx".
Effectively it´s impossible to tell from the number, whether the call comes in from Germany or Switzerland.
I already saw that it´s possible to prepend a number by channel. However, this doesn´t solve the problem: Simply adding "0041" in front of the Swiss national format would yield "0041 0 22xxxx". The "national" 0 has to be cut out, otherwise it´s not a correct international number which could (for example) be called back. Secondly, if a call comes in from a third country, the country-string would still be prepended. As such a call from the UK from "004420701234567" to the Swiss number would be changed into "0041004420701234567", which finally wouldn´t make sense anymore.
In my own Asterisk I solved this by a super-simple differentiation:
- If callerID starts with "00" leave it untouched
- If callerID starts with only one "0", cut the first zero, and prepend "0041" or "0049" according to channel
As a result I always saw a full "normal" international number on my display, no matter where the call came from.
Is there any way to achieve this result, without having to change into a "Pro" account?
This post has been edited 2 time(s), it was last edited by caf on 04.07.2013 at 22:53.