Can't get calls to US numbers, dial plan

Hi there, it’s days I am trying to debug…

We have a swiss number for incoming calls. But there is not filtering based on dialed number.

There are a couple of time based routings, which per log work fine.

If there is a swiss number calling in +4144xxxxxxx the call gets out how it should, in this case to +4178xxxxxxx
A US number calls: +1863xxxxxxx and the caller hear ringing, but that arrived at the trunk provider is: +400001813xxxxxxxxx
Here 400 is a ring group, with just the external number (with # at the end) as a follow me.
Ringallv2 (or others, no change) is the ring strategy.

How does it come that the ring group is added to the dial out number for a US call?

Dial Number Manipulation Rules: just a dot.
Outbound route pattern: X.

Am I just missing something really stupid?

Best regards, thanks for any help

Forgot an actual log! full.tgz (38.1 KB)

On Follow-me, Ringallv2 means “after initial ring time, continue ringing the extension while trying the other destinations.” It doesn’t exist for a Ring Group (and would make no sense). However, your log doesn’t show extension 400 ringing, so I’m confused about the setup.

You imply that calls from US numbers are treated differently from CH calls. Is this done by caller-ID-dependent Inbound Routes, Time Conditions, something else?

Please post a screenshot of the relevant Inbound Route, Time Condition and Ring Group (mask a few digits of each number).

Also, it would be useful to test simpler cases, e.g. dialing the Ring Group from a local extension, or routing the DID directly to the Ring Group.

Hi Stewart, thanks for your reply!
I actually don’t use ring groups, just follow-me numbers.
The pbx is used just for time-based routings. No physical devices are attached to it.
See screenshots: one from the inbound routes, and one of the mentioned 400 ext which should always just route to the external number. Same is set up for other extensions.



Any ideas here? Thanks!

[2019-01-18 16:11:33] VERBOSE[25271][C-00000003] pbx.c: Executing [[email protected]:32] Dial(“Local/[email protected];2”, “PJSIP/[email protected],300,Tb(func-apply-sipheaders^s^1,(1))”) in new stack

Unless you can show some deeper debugs like pjsip set logger on so we can see the actual INVITE that is being sent to them, at this point you are not prefixing 400 to the number before dialing out.

Where are you seeing this 400 before hand? Is your provider telling you this? What proof have they provided? Where are they seeing it in the INVITE? The INVITE request itself, a CallerID field? Another header?

As discussed on IRC, here some log with debug on:

As discussed on IRC, nothing shows a 400 prefix being sent to the provider. OP is following up with provider.

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