No Internet Telephony Service Provider PBX

I have a non-internet connected PBX. Meaning nothing (no phones, no trunks) going through a firewall. Version 12 PBX with a Grandstream HT-503 as a PSTN truck to a Xfinity phone line. I have configured the HT and PBX to use no nat since it is not going through a firewall. I can call out on the PSTN and can hear them, however they cannot hear me. Getting a 1 way audio issue has me stumped.

I have done a sip debug and it shows I am not using NAT. I have done a RTP debug and I can see the audio packets going back and forth.

What should I be setting in the SIP settings for the external IP? The true internet external IP or the IP of the PBX? Same for the Chan SIP?. I am using the Chan_SIP driver.

I know the HT is good because I previously had it working with connecting to a freepbx ver 12 over a point to point VPN and could call out and had audio both ways.

It seems that taking the internet away and making the HT local to the PBX has caused the problem, at least as far as I can tell. Happy to provide any additional information or logs.

Thanks,

Jeff

There are two levels of “Internet Connected”.

Level 1 is “no external address ever”. We have a network like that at my work. If we wanted to run a FreePBX server here, we’d need to add a local DNS and set all of the addresses the machine knows about to the local network.

Level 2 is “no Internet Telephony Service Provider”. In this scenario, the server can talk to the Internet, but none of the VOIP settings show up outside the local network. Phones outside the local network can’t talk to it. There is no NAT, no external address, nothing. You have a single address that corresponds to the addresses of the machines that are connecting to it.

Now, with a “Level 1” FreePBX server, you have to populate the whole world (DNS, etc.) from the local network. All updates come in on CD or DVD. The only telephone interface is POTS.

With “Level 2”, however, you can have updates come into the server through the Internet. There’s still no VOIP outside the local network except through POTS, but the system is easier to set up and maintain.

Okay my system is the “Level 2”. No VoIP outside the local network. In that scenario do I leave the external IP fields blank on the server?

Sort of. In the FreePBX screens, do not set up any NAT or other indications that you have an external connection. It’s a Fixed address in the 192.168.x.x (or whatever) range.

Remember, your PBX doesn’t have an external address. It can’t talk outside the local network.

Okay this is how I have it set.

You’re not using a Public IP. You are using a Static IP or a Dynamic IP (it should be Static, but I don’t know all of your needs.)

Be sure to set up your PJ-SIP settings to “NAT=NO” as well, the External Address should be grayed out if you aren’t using a NAT.

I have a static LAN IP. I am on version 12. I have pjsip turned off and just using chan_sip.

Okay 1st pic is General SIP settings.

2nd pic is the Chan_SIP settings. PJSIP is not enabled.

After doing some more testing with the server and the HT503 last night, I don’t think it is a NAT issue. Nat is turned off everywhere. It looks more like RTP. RTP debug and Wireshark both show RTP packets going back and forth correctly between the 2 devices.

I’m only going to ask because it might not have occurred to you.

Have you turned up the volume on the phone?
Do you have the “headset” option turned on?
Do you have the phone reconfigured to not use NAT anymore?

If it was any of these, just tell us “Found it.” We don’t need to know what you did.

That last one is important, because NAT encapsulation can cause all sorts of strange problems.

Do you hear anything from the server - *65, for example, should play back your extension. If you watch the logs, you should be able to see the announcement getting played for you. If you can hear the server, but not someone calling you, that helps us narrow the segment the problem is in.

Hi,

Yes I do have the volume turned up :slight_smile: Correct there is not NAT is use anywhere on the phones, the HT and FreePBX.

If I call the server *97 for voicemail I can hear all the prompts etc and can see the logs of the announcement being played.

If I call out over the PSTN I can hear the audio (ringing and call), but the callee cannot hear me. I can see the call progressing just fine through a SIP debug. I can see the RTP packets going back and forth with a RTP debug.

The HT does not allow a range of RTP ports to be entered, just 1 port which is port 5012 (default) for the FXO port. The FXO port is successfully registered to the PBX and the PBX has the port range for RTP set to 5000-6000. I have tried leaving the PBX at 10000-20000 and setting the HT to Port 10005 for RTP and rebooting both. Same one way audio.

Would RTP reinvite be something to look at?

How are you connecting the HT to the PBX? Let’s explore that a little more.

HT is connected to FreePBX through FXO as a SIP trunk.

username=5119
type=friend
secret=xxxxxxxxxxxxxxxxxxxxxxxxxx
qualify=yes
port=5060
nat=no
insecure=invite
incominglimit=2
host=dynamic
dtmfmode=rfc2833
disallow=all
context=from-pstn
canreinvite=no
allow=ulaw

You can’t connect through FXO as a SIP Trunk. It’s like saying “I’m out walking my tree”.

The HT has an FXO. It’s separate from the SIP Trunk you are using.

So, you are using SIP to connect to the HT. The RTP traffic from the HT is not making it to your server. The next time you try to debug this, look at the RTP traffic from the LH to the server - I suspect that it’s going to show your RTP traffic isn’t making it back to the server.

Here are a couple of things I’d change:

insecure=

needs to be changed to use the new semantics.

If it’s a single FXO, there’s no way you can ever get to an incominglimit of 2.

The host should be the address of the LH. It shouldn’t be Dynamic.

This is what I see as far as RTP traffic.

[2017-03-27 22:25:44] VERBOSE[7798][C-00000007] res_rtp_asterisk.c: Sent RTP packet to 192.168.0.150:53620 (type 00, seq 023281, ts 70876480, len 000160)
[2017-03-27 22:25:44] VERBOSE[7798][C-00000007] res_rtp_asterisk.c: Got RTP packet from 192.168.0.115:5012 (type 00, seq 060348, ts 70876480, len 000160)
[2017-03-27 22:25:44] VERBOSE[7798][C-00000007] res_rtp_asterisk.c: Sent RTP packet to 192.168.0.150:53620 (type 00, seq 023282, ts 70876480, len 000160)
[2017-03-27 22:25:44] VERBOSE[7798][C-00000007] res_rtp_asterisk.c: Got RTP packet from 192.168.0.115:5012 (type 00, seq 060349, ts 70876640, len 000160)

192.168.0.150 is the test softphone.
192.168.0.115 is the HT.

The FreePBX is .112 and I never see any RTP packets for it to or from.

I will make those changes.

Maybe it’s time to do a

tcpdump -I eth0 host 192.168.0.115

and see where the traffic from and to .150 is actually going.

Agreed. I will do that tonight and see.

Hi Dave,

I seem to have fixed the issue. I factory reset the HT-503 and made a change at the request of Grandstream support to set the HT503 to NAT traversal Keep Alive and that seems to have taken care of the issue.

Thanks,

Jeff