[Asterisk-Users] SIP native bridge problem

Kevin P. Fleming kpfleming at starnetworks.us
Sat Jan 29 22:28:49 MST 2005


Nathan Goodwin wrote:

> Does anyone have any ideas how I could fix this, this is sort of 
> important, if it's just me because of my NAT causing it, would doing so 
> part forwarding and disable NAT support on asterisk and the Sipura fix 
> this problem?

It's almost impossible to fix this problem. Here's the scenario:

Your SPA-2000 initiates a call to the * server, and then * initiates a 
call to your provider. When the provider answers, * tells the SPA-2000, 
and it starts sending RTP to *. By doing so, your NAT/firewall expects 
to receive packets back from the _same IP address and port they were 
sent to_. While * is still in the media path, this is how it works, and 
things are fine.

However, when * tries to re-invite the SIP provider to send audio 
directly to your SPA-2000, the packets now arrive from a different IP 
(and probably a different port number). Any decent NAT/firewall will 
drop them on the floor. Thus, no audio from the provider.

It is _possible_ for this to work if * happens to reinvite your SPA-2000 
_first_, and it starts sending audio directly to the SIP provider, thus 
opening a different IP/port combination through the firewall. However, 
this is not reliable, and there is no way to force the reinvites to 
happen in a particular order (or to complete in a particular amount of 
time).

You can disallow reinvite for your SPA-2000 but leave it turned on for 
your provider, in which case one direction of the media stream can 
bypass *. Otherwise, you need a NAT/firewall that understands SIP so it 
can be aware of the changes as they occur (or you need to use a SIP 
proxy on the NAT/firewall, like siproxd).



More information about the asterisk-users mailing list