Internal calls ring remote phone but external calls can't!

Please bear with me on this one - I’m building up a picture to explain the situation.

I’m running a PBX here on asterisk 1.2.24 with freepbx 2.5.1 translating it for me. The system has been running for a year and handles external calls through a PRI link.

Most of the extensions are hard-phones in the office but we also have some hard-phones and soft-phones externally which are allowed to connect to the server via SIP over the Internet. These have worked without incident.

Some users (me, for example) have multiple extensions and these are numbered as a main 3-digit one for the office (say, 120) and 4-digit to sub-extensions (1200, 1201, 1202…). I have a phone at a remote location and X-lite on a laptop. All work fine. Incoming DDI calls to my main office extension ring all of the sub-extensions too; to accomplish this I previously used the Follow-Me feature but I changed that to allocating a single user to multiple devices - both systems worked as expected for internal calls to the extension (120) and external calls to the mapped DDI.

Now, my boss has a couple of extensions at his “home office” - a snazzy DECT SIP handset and a copy of X-Lite on his PC. These are configured as above, with his office phone holding a 3-digit extension and the ones at his house having 4-digit extensions. His extensions can register with the server, can receive calls from extensions and make calls to extensions and to external lines, but there is a problem:

When I call his main extension (lets call it 110) from another extension, I can see that his office handset 110, his X-Lite installation 1101, his DECT phone 1102 and a test extension I have on the LAN (1103) all ring as expected. If I call into our IVR and dial his main extension 110 all the phones also ring. BUT: If I make an external call to the DDI which maps to 110, his office phone and my test extension both ring as expected but the extensions at his home office do not.

I’ve tested 1101 and 1102 on the LAN. I’ve tested them across a separate DSL link. I’ve tested them on a GPRS connection - they always worked as expected and only when they are connected at his home do I see the problem.

He swears blind it isn’t his firewall that is the problem and I can’t see how the system will be differentiating between the extensions depending on whether the call comes in locally or from a zap channel. I don’t have a detailed knowledge of the innards or workings of asterisk and I don’t know where to look.

Any ideas? Thanks.

[quote=“incubus”]He swears blind it isn’t his firewall that is the problem[/quote]But it may be. Or his anti-virus software, or his ISP, or his ADSL router (perhaps needing to open specific ports).

[quote=“incubus”]I can’t see how the system will be differentiating between the extensions depending on whether the call comes in locally or from a zap channel.[/quote]I thought that. But it does seem to. I have an unresolved problem of a dial command behaving differently according to whether invoked locally or from a zap channel.

[quote=“incubus”]I don’t have a detailed knowledge of the innards or workings of asterisk and I don’t know where to look.[/quote]I think you are going to need to look at the SIP trace. I have only limited experience of this myself but you can capture a trace under linux using tcpdump, and then examine the trace file with wireshark to see what SIP packets there are.

[quote=“incubus”]I’ve tested 1101 and 1102 on the LAN. I’ve tested them across a separate DSL link. I’ve tested them on a GPRS connection - they always worked as expected and only when they are connected at his home do I see the problem.[/quote]I suggest you do a SIP trace of one of these working connections, and a SIP trace of the non-working connection, and compare the two.