The server is not behind a firewall at present, but the handsets are behind a NAT. Handsets are able to successfully call out to external numbers, and two way conversation works fine.
Calling one extension from another results in this message:
Auto fallthrough, channel ‘PJSIP/6002-00000028’ status is ‘UNKNOWN’
(example is from extn 6001 calling extn 6002)
Your analysis is incorrect. Those subscription messages do not mean they can’t receive calls. It means that a device can’t subscribe to something using the “presence.winfo” type and that a device can’t publish its presence status. This is normal as neither chan_sip or chan_pjsip implement these.
Your real problem is that you don’t have “rewrite_contact=yes” in the endpoint configuration. Without that it will use the IP address provided in the Contact header (which is likely the LAN IP) instead of the source address.
Thanks - You’ve saved me a big wild-goose-chase there - it’s great to know I should ignore those messages!
I’ve added the lines as suggested.
Calling one extension from another still doesn’t work though. Here is the output:
– Executing [6001@from-internal:1] Dial(“PJSIP/6002-0000003c”, “PJSIP/6001”) in new stack
– Called PJSIP/6001
== Everyone is busy/congested at this time (1:0/0/1)
– Auto fallthrough, channel ‘PJSIP/6002-0000003c’ status is ‘CHANUNAVAIL’
Nothing actually happens with the receiving extension (and it still has a dial tone if I try to pick up).
The context in extensions.conf contains: exten => 6001,1,Dial(PJSIP/6001)
exten => 6002,1,Dial(PJSIP/6002)
exten => 6003,1,Dial(PJSIP/6003)