On Wed, Oct 11, 2006 at 09:32:07AM -0400, Martin Gignac wrote:
> On 10/11/06, ropers <[EMAIL PROTECTED]> wrote:
> >I've just had another thought:
> >
> >Why do the IP phones have to have public IPs?
> >
> >Is this because giving them NATted, private range IPs previously
> >didn't work so well?
> 
> The VoIP phones Patrick is using are probably (my guess) using the
> Session Initiation Protocol (SIP) for signalling.
> 
>  http://en.wikipedia.org/wiki/Session_Initiation_Protocol
> 
> SIP embeds IP information of the host (phone) inside the exchanged
> application messages and make use of the Session Description Protocol
> whenever it tries to set up a voice call (using the INVITE
> transaction) so that both phone know which kind of of voice/video
> stream encoding to expect, and on which port and IP it'll be coming
> to/from.
> 
>  http://en.wikipedia.org/wiki/Session_Description_Protocol
> 
> If Patrick puts the phones behind a NAT box then the phones will have
> private IPs and will reflect these privates IPs in whatever SIP
> messages they send out onto the Internet. Unfortunately, if "public"
> phones receive these SIP messages with private IPs they might try to
> contact said IPs, which will fail miserably. It's a similar issue to
> NAT and FTP, since FTP also embeds IP address inside the control
> stream of the FTP session. Hence this is why OpenBSD has ftp-proxy(8).
> 
> If Patrick wants to use SIP behind NAt he'll need the added
> "intelligence" of an Application Level Gateway.
> 
>  http://en.wikipedia.org/wiki/Application-level_gateway
> 
> An ALG tracks SIP sessions and performs all the necessary NATs and
> creates all the dynamic firewall rules to allow incoming and outgoing
> media traffic for phone calls.
> 
> I don't think pf alone will fit the bill for this. That's why if he
> has public IPs available for the phones it might be the quickest route
> to success.
> 
> Still, if you *are* stuck behind a NAT and you have SIP phones and you
> don't want to spend a fortune on an ALG there might be open source
> solutions (which I have never looked into) that will achieve the same
> thing.
> 
> A quick search on Google did turn this up:
> 
>  http://siproxd.sourceforge.net/index.php?op=overview
> 
> Could be interesting...
> 
> -Martin
If my memory serves me right, SIP actually has ALG built into the standard 
itself and www.opensip.org might already give you what you want.

NAT traversal has been a problem for VoIP and there are several strategies. I 
am talking about UDP hole punching in my article. 

But you can do the same thing for TCP too though it might not work as reliably 
as UDP.

http://www.linuxjournal.com/9004

But what I am wondering is since this is a known issue, if there is any better 
and more elegant solutions already...

regards,
Girish

Reply via email to