No audio either way on remote extns

Hi.

I really don’t know what can be the problem… First, check my scheme.

Ok, this is what happens:

When I try to call from one phone (behind DSL) to another DSL phone. I receive just ring, but I haven t audio.

If I call from any phone to Lan Phone, there is no problem. The same if I call from Lan phone to any DSL phones.

The problem is only from DSL phone to another DSL phone.

I think that problem would resolve if I can make Asterisk handle all traffic. Is this possible?

There is any way to make symmetric RTP?

thanks in advance.

do you have nat=yes for the 2 phones behind dsl?

You can try
transfer = no (or notransfer = yes)
in sip.conf

Yep, anyway I have tried both ways (yes and no)

Ok, let me makes some calls with this…

[quote]Quote:
You can try transfer = no (or notransfer = yes) in sip.conf

Ok, let me makes some calls with this…[/quote]

it doesn’t work…

any other idea? thanks

A few minutes ago, I used 3CX PBX for a test. And it work. So, this has to be an Asterisk problem.

Please, any idea?

thanks.

Which version of Asterisk? (Needs to be 1.4.2x or 1.6.0.x to be worth debugging).

Does 3CX PBX support SIP re-invites, and is it configured to do so?

Do the DSL phones have visibility of each others’ IP addresses, and are they firewalled (etc.) in a way that allows direct traffic between those addresses?

Have you tried disabling re-invites on Asterisk?

What IP addresses appear in the SIP Invites and SDP payloads (sip debug output)?

To identify problems you can use
set sip debug peer {number of your peer}
or only
set sip debug
Then set sip debug off
Using tolls like tcpdump on same computer with asterisk you can check where are packets forwarded.
I have couple of hardware phones. And got ugly problem - no sound in.
Tried everything - every option for nat {yes, no, route, never} transfer, reinvite… And - last thing which solved my problems was setting STUN server.
My suggestion - try first to stop canreinvite = no
Then - STUN server.
And of course if nothing helps - tcpdump, and set sip debug

Asterisk 1.4.22

[quote=“david55”]
Does 3CX PBX support SIP re-invites, and is it configured to do so?[/quote]

[quote=“david55”]
Do the DSL phones have visibility of each others’ IP addresses, and are they firewalled (etc.) in a way that allows direct traffic between those addresses?[/quote]
They are not behind firewalls or anything. The phones are working perfectly, remember please, that only from one DSL side to another DSL side is the bad working.

[quote=“david55”]
Have you tried disabling re-invites on Asterisk?[/quote]
That feature is already disabled.

[quote=“david55”]
What IP addresses appear in the SIP Invites and SDP payloads (sip debug output)?[/quote]
Only appears the public IP address.[/quote]

If one PABX was using re-invites and the other not, the speech path for the re-invite one would be direct between the phones, but the signalling path would be towards the PABX.

The big problem here is that, if there are no re-invites, there will be essentially no difference in how Asterisk handles the DSL to DSL case from the DSL to internal case, because it will handle the two legs of the call independently.

Whose public IP address? As I understand it the DSL phones’ public address is their only address. I presume that the LAN and Asterisk have a private address.

Without re-invites, one would expect the SDP from the remote phones to have the remote phones’ public address and the SDP from Asterisk to have Asterisk’s public address, and one would expect that both for the remote to local case and the remote to remote case. The big problem is that, for each leg, one would expect the same result as though the other leg was the internal phone. Without re-invites, the SIP protocol for the two parties is decoupled in a way that means that the other side would not know whether it is talking to remote or local.

With re-invites, one would expect the SDP from Asterisk to have the (public) address of the other remote phone, when going remote to remote.

Can you double check that you are not actually getting native bridging.

Also, is the audio connection failure in one direction, or both directions?

Are the remote and local phones of the same type?

Do the traces or RTCP statistics indicate that Asterisk is receiving RTP packets?

[quote=“bira_more”]Then - STUN server.
And of course if nothing helps - tcpdump, and set sip debug[/quote]

How do you use STUN server with Asterisk???

[quote]Can you double check that you are not actually getting native bridging.
Also, is the audio connection failure in one direction, or both directions?
Are the remote and local phones of the same type?
Do the traces or RTCP statistics indicate that Asterisk is receiving RTP packets?[/quote]
Thanks David!
Audio fails in both directions. Both phones are the same type. And Asterisk is receiving RTP packets normally…

It is possible set Asterisk for handle the complete communication. I mean, all the RTP packets passingfor Asterisk ??

That is what should happen if you have canreinvite=no, which you say you do have.

Are you sure that you are not defaulting to enabling re-invites, and that the external phones are matching a sip.conf entry (e.g if the inbound wasn’t matched and you used user@ip (rather than referencing a sip.conf section) in the dialplan, you might get default handling)?

I have the RTP port range (as defined in rtp.conf) set to forward from my router to my * server and I use stun on the (DSL connected) phones.

(global)
externip=my router’s public ip address

(per phone)
nat=yes
canreinvite=no

that works well for me.

Well, I’m not the only one !!

forums.whirlpool.net.au/forum-re … 84281.html

mail-archive.com/asterisk-us … 90660.html

etc etc

As I can see, many people happens the same thing…

thanks anyway… -1 for Asterisk!

Guys… I really need an answer…

Asterisk works fine for LAN phones but not for extern phones…

I will try with Kamailio (OpenSer) as a Proxy, but right now, I’m testing with Brekeke Proxy and I have the same results…

Anybody did this same scheme and it is working?

trust me… whatever your problem it most certainly isn’t the fault of Asterisk. I use this model with our entire office.

i have on-LAN extensions and off-LAN extensions. The off-LAN extensions can talk just fine with each other.

So long as your phones aren’t trying to re-invite to get a direct audio path, the model will work just fine. With no audio in either direction, i am guessing the problem is that your phones are re-inviting.

Why don’t you run WireShark on one of the machines with the extension to see what the SIP messaging looks like… i don’t think you need to add another SIP proxy to the mix. That would just complicate matters.

All the extensions are configurated with canrenvite=no

I already run WireShark and the results looks well to me…

Tell me g2010, are you using Asterisk 1.4 ? 1.6 ? If you have the same model of network, may be you can help me… Did you have any problem? Did you set something special?

May be there is something in SIP.conf that I didn’t do it.

disallow=all
allow=ulaw
allow=alaw
allow=G729a
allow=G729b
allow=G729
allow=G726
allow=GSM
context=Micontexto
callerid=Unknown
notifyringing=yes
notifyhold=yes
limitonpeers=yes
tos_sip=cs3
tos_audio=ef
tos_video=af41
nat=route
insecure=very
permit=0.0.0.0/0.0.0.0

Is this ok? Do I have to set something in special on my extensions?

[6001]
type=friend
secret=secreto
qualify=yes
port=5060
nat=no
host=dynamic
dtmfmode=rfc2833
dial=SIP/6001
context=Micontexto
canreinvite=no
callerid=device <6001>
accountcode=
permit=0.0.0.0/0.0.0.0
insecure=very

I don’t know what else show you guys… there is no many secret on this…

Anyway… How can be:

from internal phone to external → Work Perfect
from external phone to internal → Work Perfect
from internal phone to internal → Work Perfect
from external phone to external → No audio

I’m tired…

I believe I see your problem. You need to set the externip of the asterisk machine. Also, I don’t believe the nat=route option is correct in this scenario. Try modifying the [general] section of your sip.conf to contain the following (obviously specific to your network)

[general]
nat=yes
externip=123.123.123.123
localnet=192.168.200.0/255.255.255.0

Change your extension for 6001 to look like:

6001] 
type=friend 
secret=secreto 
qualify=yes 
port=5060 
host=dynamic 
dtmfmode=rfc2833 
dial=SIP/6001 
context=Micontexto 
canreinvite=no 
callerid=device <6001> 
accountcode= 
permit=0.0.0.0/0.0.0.0 
insecure=very 

Try that and let me know how it goes.

mmm, just a question…

My Asterisk has an Public IP. so, do I have to use externip and localnet??

The IP address from my Asterisk is 200.xx.xx.87, there is no NAT because is an Public and valid IP address…

Anyway, I tried what you say, but same results…

OK, that was unclear from your diagram. Can you get a SIP trace from the asterisk machine for one of these DSl --> DSL calls?