Missing + from inbound calls. Can not call back from history

We have a PBX whcih operates mainly with UK numbers. On inbound calls for some reason the + sign is stripped out. I.e. the calling CID should be +441112223333, but it shows as 441112223333 on Zulu and other softphones. When users trying to call back from history, they get ‘invalid number’ as the + sign is missing.

I did some research online and noticed admin trying to do the opposite (to remove the + sign) in the US by replacing the default contex=from-trunk on inboind config of the trunk. But our trunk has contex=from-trunk set, so I am unsure where else the + sign is being stripped. We use FreePBX admin interface to manage the PBX.

Mostly grateful for your guidance where to find the correct setting.

In your Outbound Routes or under the trunk settings in Digit Manipulation you prepend a + to your dial patterns. So a phone sends you 441112223333 and you put a + on it before sending it out and that way your provider gets +441112223333

Thanks Tom. Is there any way to correct the inbound route rules instead? Changing the outbound dialing rules seems would be treating the symptoms, instead of the root cause.

Well if your provider is sending calls to the PBX in E.164 format (starting with the +) then it hitting the endpoints without a + means that somewhere in the PBX you are stripping the +. So how do the calls come into the PBX?

IMO there is nothing wrong with accepting numbers in multiple formats. For example, a system in London might permit dialing a local number as 34567890, 02034567890, 00442034567890, 442034567890 or +442034567890. This aids compatibility with various devices, contact lists, CRM systems, etc., and is also friendly to users who may think of the numbers in different ways.

One possible downside is that you don’t want to make it too easy to accidentally dial numbers that are expensive to call. Another is that the number may be ambiguous. For example, if you permit both 34567890 and 442034567890, then you would likely treat numbers with eight or fewer digits as local. This would preclude calling a few Pacific island countries that have 7- or 8-digit numbers (including the country code). You could still dial those countries using + or 00 prefix.

I think you hit the nail on the head. A tcpdump just showed that our provider is sending the CID on inbound calls without the + . I will write to them to clarify.

Just for my reference is the E.164 format strict about the + prefix being present?
Is E.164 the widely adopted number format in the UK for international CIDs?

Thanks Stewart. Ideally we would like to follow the widely accepted format in UK for international number formatting. Perhaps this is the E.164 with the + prefix?

We adopted a company-wide practice years ago to store all numbers in international + prefixed format. This was mainly to avoid staff saving messy misformatted local numbers and dialing the wrong country next time.

That makes good sense. However, on many desk phones, it is difficult or even impossible to dial a +; if you have them you should allow at least one alternate format. 00442034567890 is unambiguous and I see no reason to prohibit it. Decide whether allowing 02034567890 is good (it’s what people are used to dialing on their landlines and mobiles) or bad (a number in domestic format from another country would be misdialed).

Another question is what to display for incoming caller ID. Some desk phones will display numbers of 11 or fewer digits in a large font, but switch to a smaller (harder to read) font for longer numbers to fit them on the screen. So, consider showing domestic numbers as 02034567890, in which case you should also accept that format for outgoing.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.