Symbian3/PDK/Source/GUID-CADC7578-5E96-58B2-9208-F7E53CA5EA32.dita
changeset 1 25a17d01db0c
child 3 46218c8b8afa
equal deleted inserted replaced
0:89d6a7a84779 1:25a17d01db0c
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-CADC7578-5E96-58B2-9208-F7E53CA5EA32" xml:lang="en"><title>Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    13 <p>SIP NAT Traversal Controller API is an ECOM plug-in API that provides the
       
    14 connection between the SIP stack and an external UNSAF protocol module. The
       
    15 Network Address Translator (NAT) devices are found between the SIP User Agent
       
    16 (SIP UA) and SIP proxy, and have the UA as an outbound proxy. This creates
       
    17 the problems to maintain SIP connectivity between the UA and the remaining
       
    18 of the SIP network that are described as follows: </p>
       
    19 <ul>
       
    20 <li id="GUID-54670533-2436-5214-A2D8-FFE336B1433F"><p>The SIP
       
    21 UA registers its contact to SIP registrar using the private IP address &amp;
       
    22 UDP/TCP port pair within the contact URI. These addresses are not accessible
       
    23 from the proxy. The NAT maps the private addresses to some other addresses
       
    24 which can be public or private, in another address range. The proxy can access
       
    25 the UA when you send the SIP requests and responses to addresses that the
       
    26 NAT allocates for the UA. You must have the Contact header of the REGISTER
       
    27 request to contain addresses allocated by the NAT for the UA, instead of the
       
    28 private addresses of the UA. </p> </li>
       
    29 <li id="GUID-7EF2F69F-C01F-5F41-8348-323580473E23"><p>The NAT allocates IP
       
    30 addresses to the UA when the UA sends IP packets to a destination through
       
    31 the NAT. The NAT type determines if the address-port pairs are either applicable
       
    32 or dependent on the IP address and UDP or TCP port. The UA sends the IP packets
       
    33 to the UDP or TCP port. </p> <p>Depending on the NAT type, the addresses within
       
    34 the contact URI must be those that any device outside the NAT can see and
       
    35 use or those that only the specific destination (SIP proxy in this case) can
       
    36 see. To detect addresses the UA uses Unilateral Self-Address Fixing (UNSAF)
       
    37 protocols defined within IETF. These protocols include the Simple Traversal
       
    38 of UDP through NATs (STUN) or Traversal Using Relay NAT (TURN). </p><p>The
       
    39 allocation created by NAT is not permanent. It expires if the UDP flow or
       
    40 TCP connection between the end-points remains idle. To prevent expiration
       
    41 the UA send keepalive messages within the flow to refresh the mapping. Different
       
    42 types of keepalive messages are used like Carriage-Return/Line-Feed (CRLF)
       
    43 sequences, OPTIONS requests or STUN binding requests</p></li>
       
    44 </ul>
       
    45 <p>To enable all these processes the SIP stack contains an ECOM plug-in API,
       
    46 SIP NAT Traversal Controller API. The stack uses these plug-ins to access
       
    47 and use a separate UNSAF protocol implementation. This implementation supports
       
    48 protocols like STUN and TURN. These protocols enable the SIP stack to detect
       
    49 the server reflexive and relayed addresses for the UA The protocols also implements
       
    50 the keepalive messages for the flow toward the outbound proxy. </p>
       
    51 </conbody></concept>