No incoming Audio from PRI lines when using hardware voip phones

I have a slightly strange problem with my FreePBX installation. Calls between any extensions work with audio on both the originating and destination extensions. Calls coming in from PRI trunk works perfectly with two way audio on both the originator and destination extensions.

Problem occurs when I try placing a call from one of the hardware voip phones to outside using the PRI Trunk. The call connects (as in there is a ring on the destination phone), but there is no ringback heard on the originating extension. Also once the destination end picks up, originating extension hears no audio though destination end hears the audio perfectly. This is happening on all hardware voip phones (mix of two different models)

The problems goes away if I use a softphone (Zoiper) for dialling through the PRI trunk. In this case, audio is heard both on origin extension and destination. Ringback is also heard on the origin extension.

I have tried disabling the firewall on the FreePBX server, but it was of no help. I am fairly new to FreePBX, so this has got me stumped.

Installation details:
Distro: FreePBX STABLE 10.13.66-17 64bit
Asterisk Version: 13.12.1
Pri Card: Digium - Wildcard TE121 Card (E1 line)
Voip Hardware Phones : Audiocodes 310HD & Akuvox SP-R50
Voip Soft Phone: Zoiper

All devices and FreePBX are on same network, without any firewall between them.

FreePBX is installed with a Digium TE121 PRI card. Card seems to be configured correctly (auto configured, just changed the Switch Type to EuroISDN) with no Alarms. Configured 18 extensions, 10 Akuvox, 6 Audiocode, and 2 softphones (Zoiper).

Changing from pjsip to sip for hard phones resolved the issue. Not sure what exact issue though the phones have with pjsip.

I do not think the problem is from card or PRI, you can try softphone calling the hardware phone. maybe the setting in hardware is wrong.

The obvious thing that changes when you switch from one channel driver to the other is the SIP port. Everything else should remain the same, so it’s possible that the phones were trying to communicate with 5060 (or 5061, or 5160, or whatever) and the channel driver was on the other port.

@james Softphone to hard phone worked without any problems and so did the other way around. There was some setting in the hard phones which I could not decipher to make it work with pjsip.

@cynjut Both the channel drivers and chan_pjsip were working on 5060 (their default values). Once I changed to chan_sip, I changed the channel driver to 5160 and the phones to 5160. It worked after that.

I have two spare hard phones (one for each brand) which I can run tests if someone can point me on where to start off.

You can’t have both working on the same port at the same time - it’s not possible. The fact that deliberately setting the ports and phones fixes it is a nice result, though, so go for it.

@cynjut It seems I was not clear in my answer:
with pjsip, channel driver was running on 5060 and phones were configured on 5060 too. When I changed the extensions to sip, I changed the port on phone to 5160 and the extension channel driver to 5160 too. I hope I made some sense now.