Call Forwarding Connection OK but No Audio

With sip trunk on the system and I try to forward a call back out it will ring but no audio. It will work with zap Channel so this is a sip trunk forward back out sip trunk problem. I have been looking everywhere for a solution but all I see is person after person reporting this as an issue. I have this system in a doctors office also and they need to forward to answering service after hours so the press 1 to accept is not an option. There is no problems with calls in and out of the system except for forwarding.

Hi All,

I think myself the problem could be the ADSL modem router NAT translation may not work properly. I became sick and was never able to replace my modem and now I am closing down my office and working from home. I won’t be running asterisk for a while so if anyone can try and change to a different manufacturers modem and see if this is the cause.

I used to have an fully operating diversion but noticed the problem when I changed the modem. It may be some special modem configuration too.

I have the same modem at home and found some small NAT issues but with video so my problems may be related.

I have stopped dealing with VoiP due to health issues but Network has to be the problem. As some people are operating OK is must be a network related issue not software. NAT Transalation seems to be the only thing I can think but as I have decomissioned my server I can’t test anymore.

I had this issue and still do, seems to be a Header that needs to be added. Has anyone heard more about this?

I have the same problem. (by *72)
From VoIp provider, I call an extension forwarded to an external number like 024433224545. The call ringing, answer, but no audio !
The NAT conf is ok.

I don’t know why!

I hit this problem last week and fortunately I can do packet captures on my router. The problem is a NAT issue.

When you initiate a call from inside to outside, you always have no way audio until the first RTP packet is sent from inside to outside. NAT routers will not allow an inbound (outside to inside) packet if it does not already have a translation created for that source, destination IP and port pair.

In the case of call forwarding from an inbound SIP call to an outbound SIP call, the call path needs to go from the calling outside phone to the called outside phone. In this case, the PBX is simply relaying RTP traffic from the inbound call to the outbound call, so the PBX will not initiate either RTP stream. Since the PBX on the inside of the NAT router does not initiate the call, it cannot receive RTP traffic from the calling or called phone.

This is why when you check the “Confirm Calls” it works. In this case, the PBX initiates one of the RTP streams to the called phone. Once you accept the call, the PBX now can initiate the second RTP stream to the calling phone.

There are two ways to fix this.

  1. Use IAX - you will not see this issue since the RTP traffic uses the same source and destination ports as the control traffic.
  2. Forward RTP ports to PBX - Forward the UDP port range in /etc/asterisk/rtp.conf to your PBX.

The solution proposed in the previous post does not work for me becuase I have FreePBX running on a Public IP with no NAT in the middle.
The problem is the same: Incoming call forward to an external phone number (mobile or land line make no difference), SIP signalling is correct, the phone rings but no audio path is availale.
I sniffed packets on the interface and I can see RTP packets coming from both the remote peers but no RTP sent by my asterisk.
I am using a SIP trunk.
I executed another test, I setup an IVR. If the caller direct dial the extension the call farward works correctly and the audio is present, but this can not be a solution.
I am working with FreePBX 2.4.1.2.

Do you have call waiting turn on ?

I have the same issue but when I set the “Play Music On Hold?” to “default” (it plays music instead of ringing) audio works.

–UPDATE–

I put the server on a public IP and it works.
It looks like its a NAT issue.

When you play music on hold instead of ringings, the call is picked up by the PBX and an RTP audio stream begins. The ring is not an RTP stream.

We started encountering this problem today - but did not have it before we upgraded to the latest update from FreePBX (2.6.0.3).

We have SIP trunks with DIDs, terminating on extensions that are also provisioned via SIP.

Prior to the upgrade, we could use Unconditional Forwarding to send all calls to an external number and everything worked just fine.

Today, I tried to setup another user exactly the same way, and the calls go through - the external number rings and they pick up the phone, but there is no audio at all on either end, just dead air. I added a 3rd line to test it out, and it happened the same way. Just on a whim, I tried using Follow Me instead of Call Forwarding and got exactly the same results.

Following some advice I saw on another thread, I tried going into the Trunk setup for my SIP trunks and I checked the box for “Block Foreign Caller IDs” just in case that might be a problem, but that had no effect on the problem. We still had no audio on any calls being forwarded.

Here is the completely weird part:

If I call into our main number and use the auto-attendant to dial the extension number rather than calling the DID number, and the call is forwarded via that method, everything works fine! We get full audio on both ends.

In all tests, these are the only calls taking place on the server at the time - this is not an issue of capacity. There appears to be some problem within the system itself, when a call comes in via direct external DID incoming call and gets directed back out to an external number that is preventing the voice channels from being bridged together properly.

I had the same problem as solfobob. As a workaround I created an ivr with no message and a timeout of 0. I set the inbound route to this and the call forwarding works fine. I’m on asterisk 1.4.24

Unfortunately, that’s just not an option for multiple extensions with multiple forwarding destinations.

Getting someone to actually fix the bug instead of shrugging it off as a non-issue - THAT would be an option we could all live with.

solfobob, when you upgraded to 2.6.0.3, did you install the Asterisk SIP Settings module?
If so, did you set up the settings there to match your install?

If you don’t have audio when you dial out you have a NAT issue or your RTP range is blocked in your router/firewall/iptables.

Actually, yes I do have the SIP Settings module and yes, we do have the proper NAT settings enabled.

As I said earlier, I can call in on a DID to the auto attendant and dial my extension and it forwards out just fine - we get a connected voice path no problem.

I call my own DID number attached to that very same extension, it forwards out to the same external number, the phone connects but there is no audio.

I can even call in on a DID to an extension and have someone transfer me to an external number and have that work correctly with no problems. It is just this automatic forwarding/follow-me that seems to be the problem.

Outbound calling from any extension to the outside world does now work, and always has worked, just fine. There are no issues with our network setup or firewall unless there is something unique to the call forwarding/follow-me setup that changed with the most recent release.

I can report that after making the above mentioned changes, then reloading Asterisk, my new box works just as it should. There is a bit of latency however, so I am still trying to figure that out.

Are there any updates to this problem? Right now the only way I can get it to work is by setting the music on hold to default instead of ring, although this is not ideal. I was able to fix the problem on an older trixbox installation by editing the sip_custom.conf file to include the following:

progressinband=yes
externip=(dynamic public IP)
localnet=192.168.x.x(Asterisk internal IP)/255.255.255.0

However, these same changes do not work out on my newest Asterisk box running 1.6.1 with Freepbx version 2.5.2.2. If anyone knows a real solution to this issue please let us know!

I can confirm that the entry:
progressinband=yes
in sip_custom.conf does fix the “no audio” issue with forwarded external call.

FWIW, I also have the appropriate externhost & localnet entries in that file as well. Running FreePBX 2.6.0.2 and Asterisk 1.4.21.2.

I can confirm this did not work for me on a FreePBX 2.8.11 Asterisk 1.6.2.13 installation.

Identical situation with different results. Forwarding through an AA with a 1 second timeout and no loops to the off-site number creates an automatic path, but this is unfeasible for all end users to have and administer.

The box has 2 providers on it, and is only having the issue with one (whom is diligently working with me)

Also, “canreinvite=no” in the trunk settings also worked for me.
Sip server is sitting on a public IP with no firewall.

for example;

type=friend
host=x.x.x.x
dtmfmode=inband
canreinvite=no
insecure=port,invite
nat=yes
qualify=yes
allow=alaw