One way sound for VOIP calls

When I call using my voip provider I can hear the sound from the person on the POTS line but they can’t hear me. If I restart asterisk the first call is fine, but after that the problem shows up again. I would tend to think this is my problem and not the voip provider because restarting MY server fixes the problem.

Calls within my system (extension to extension) work just fine. I am willing to provide any configuration files needed. I would really like to resolve this issue.

Thanks in advance.

More information:
The problem is intermittent. This is most frustrating. Without restarting asterisk I placed two external calls with another extension. They both worked. The third did not, again only one way sound.

What could be causing this?

first:

  1. ensure that you have defined a reasonable rtp range (rtp.conf) of about 100 ports. Ensure that your firewall (iptables/etc) is not blocking this range.

  2. make sure you have the RTP range from 1. and port 5060 forwarded to your * box (using your router setup).

  3. make sure that your sip.conf has defined externip= and localnet=. externip should be your network’s external IP address. If this changes alot, use a dynamic dns service.

  4. make sure your VoIP service in sip.conf is set with canreinvite=no. may also be good to set canreinvite=no in the sip.conf general section.

Thanks for the response IronHelix

  1. my rtp range is 10000 to 20000. I do not know how to use iptables to check this range. I will look into it.

  2. I was only forwarding from 10001 to 20000 to my asterisk box, I changed this to the full range.

  3. I also had externhost set to my external ip address, I removed this.

  4. My voip service did not have canreinvite=no in it, so I added it to the general section.

after making these changes I ran asterisk -rx “stop gracefully” and then started asterisk again.

The problem persists, so I’ll try and verify that the firewall is not blocking the rtp range via the iptables (once I figure out how to do that…)

If I type iptables -L, I get this:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

externip= not externhost=

also try playing with nat=yes or nat=no…

I’m not sure what you meant by that so I’ll just post my sip.conf general section:

[code][general]

port = 5060 ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
disallow=all
allow=ulaw
allow=alaw
allow=g729
externip = :wink:
localnet=192.168.1.200/255.255.255.0
nat=yes
canreinvite=no
[/code]

I’ll try playing with the nat option

all of my extensions have:
nat=never

Does this override the nat=yes in my general section? Should I remove that line in an extension and test?

try using IAX instead and see what happens

Ummm, my voip provider is Telasip, not Teliax…b

telasip does support IAX (at least they did at one point…)

their website appears incomplete. most will tell you if they offer both sip and iax.

you can sign up pay as you go with a different provider that allows iax. this can get rid of some nat issues and at least help diagnose your problem. This change has worked for me.

You will use a trace analyzer and to verify the times.

The times must it be lower than 200ms.

pingplotter.com

I have a IAX trunk, the problem is intermittent to certain hours of day.

In the console, it constantly appears the TRUNK UNREACHABLE with very long times, but when I do a ?traceroute? to the route, the times are normal.

What tests I can do to the channel?

How I find the point that will generate the problem?

I use Asterisk 1.2.1 y 1.0.9.

Thanks,

You will use a trace analyzer and to verify the times.

The times must it be lower than 200ms.

pingplotter.com

I have a IAX trunk, the problem is intermittent to certain hours of day.

In the console, it constantly appears the TRUNK UNREACHABLE with very long times, but when I do a traceroute to the route, the times are normal.

What tests I can do to the channel?

How I find the point that will generate the problem?

I use Asterisk 1.2.1 y 1.0.9.

Thanks,