[VOIPSEC] P2Pnat Media - A H.323 alternative to ICE

Simon Horne s.horne at packetizer.com
Tue Jun 19 04:03:58 CDT 2007


At 05:03 AM 15/06/2007, you wrote:
>Simon Horne wrote:
>>At 07:19 AM 5/06/2007, Dan Wing wrote:
>In the most recent ICE specification (-16, released on Tuesday), this
>has been softened slightly:  if you can't get any candidates to work,
>you hope (and pray) that something is blocking ICE (and will allow
>RTP when the phone is answered) and go ahead and ring the phone
>anyway.  Not ideal, but, then, none of this NAT stuff even *smells*
>of being ideal.

I guess it really depends how you look at the NAT problem. You can get 
stuff to work through NAT (ICE) or work with NAT to get your stuff through 
(P2Pnat). Different philosophy. The proposal currently before the ITU looks 
at it intelligently, the gatekeeper knows party 1 has this type of NAT and 
party 2 has this type of NAT so a quick look at the NAT rule books says we 
have to use strategy X so party 1 & 2 go do strategy X.  We know pretty 
much the behavior of all the different types of NATs and what we have do to 
traverse them (whether allowing point to point or requiring proxying). So 
theoretically there should NEVER be a condition where a call will fail as 
we already know (from research) that that particular call scenario will 
fail and can advise the caller when they place the call of that condition. 
That's all good in theory....but in practise... there is a big problem. 
There is no way in SIP to advise the caller UA as the messages to do so 
just plain don't exist so your only option is for the UA's to attempt all 
the known NAT scenarios for every call in the HOPE of finding one that 
matches. IMHO this is a flaw in SIP and why ICE is so complex and yet still 
calls can fail.

FYI: With H.325 I have also put in a proposal to do P2Pnat signalling 
(can't do that in H.323) as well as media.

>>> > With P2Pnat Media, the status
>>>>of the remote NATed endpoint is known prior to the setup message 
>>>>(INVITE) being sent and the gatekeeper has already determined not only 
>>>>if there is connectivity but but by which strategy is to be used to 
>>>>reach the remote party, If the call will fail the caller is notified 
>>>>before the setup (INVITE) with reason "user unreachable". This is one 
>>>>of the advantages of intelligent call routing.
>>>
>>>I expect it's the same number of messages for those 95% of cases you're
>>>solving that ICE would generate, and thus the same post-dial latency.
>>No read the specification. There are NO, let me say that again NO extra 
>>messages during call establishment NONE!. The existing ARQ-LRQ-LCF-ACF is 
>>used to collect and compare NAT information (using the existing H.460 GEF 
>>framework). The NAT characteristics information is collected beforehand 
>>as part of the registration process and stored with the call record in 
>>the gatekeeper.
>
>NAT characteristics, as in if the NAT is 'symmetric'?

Yes we are really interested in Open, Cone, Others (symmetric,symmetric 
firewall etc) and Blocked.  With the first two we know they can accept 
incoming RTP, the others we know we have to send the RTP first and if we 
have a block NAT? we have big problems, don't allow calling and go flash a 
red light at the user. Also taken into consideration is whether there is a 
Border Element that must proxy media first to reach the intended targets 
and whether the comparison of apparent source addresses (IP outside NAT) 
are the same then we know they are behind the same nat.

Under P2Pnat media no call should fail due to NAT either a strategy if 
found or the call is rejected before sending the setup (invite). A few 
people have this total aversion to even thinking about proxying media (even 
if its 5-10%) so in the proposal the endpoint on registration is advised if 
the local gatekeeper can support proxying media or not If the caller is 
behind a "tough" NAT they are advised immediately "hey your NAT is dodgy 
and your provider isn't going to help you so there is a good chance some of 
the people you are calling are going to be unreachable".  One good point is 
that now instead of the developers and VoIP itself being the target of 
loathing about failure of calls for NAT, it all falls on the providers :-).

Simon


Simon  






More information about the Voipsec mailing list