Browse Source

nathelper Minor doc updates, section ID's added

Olle E. Johansson 11 years ago
parent
commit
f4111c4105
2 changed files with 139 additions and 144 deletions
  1. 56 58
      modules/nathelper/README
  2. 83 86
      modules/nathelper/doc/nathelper_admin.xml

+ 56 - 58
modules/nathelper/README

@@ -168,27 +168,22 @@ Chapter 1. Admin Guide
 
 
 1. Overview
 1. Overview
 
 
-   This is a module to help with NAT traversal and reuse of tcp
+   This is a module to help with NAT traversal and reuse of TCP
    connections. In particular, it helps symmetric UAs that don't advertise
    connections. In particular, it helps symmetric UAs that don't advertise
    they are symmetric and are not able to determine their public address.
    they are symmetric and are not able to determine their public address.
 
 
-   Function fix_nated_contact() rewrites Contact header field with
-   request's source address:port pair. Function fix_nated_sdp() adds the
-   active direction ndication to SDP (flag 0x01) and updates source IP
-   address too (flag 0x02). Function fix_nated_register() exports exports
-   the request's source address:port into an AVP to be used during save()
-   and should be used for REGISTER requests.
+   The function fix_nated_contact() rewrites the "Contact" header field
+   with request's source address:port pair. The function fix_nated_sdp()
+   adds the active direction indication to SDP (flag 0x01) and updates the
+   source IP address too (flag 0x02). The function fix_nated_register()
+   exports exports the request's source address:port into an AVP to be
+   used during save() and should be used for "REGISTER" requests.
 
 
-   Note: fix_nated_contact changes the Contact header, thus it breaks the
-   RFC. Although usually this is not an issue, it may cause problems with
-   strict SIP clients. An alternative is to use add_contact_alias() that
-   together with handle_ruri_alias() is standards conforming and also
-   supports reuse of TCP/TLS connections.
-
-   Known devices that get along over NATs with nathelper are ATAs (as
-   clients) and Cisco Gateways (since 12.2(T)) as servers. See
-   http://www.cisco.com/en/US/products/sw/iosswrel/ps1839/products_feature
-   _guide09186a0080110bf9.html">
+   Note: fix_nated_contact changes the "Contact" header, thus it breaks
+   the RFC. Although usually this is not an issue, it may cause problems
+   with strict SIP clients. An alternative is to use add_contact_alias()
+   that together with the handle_ruri_alias() is standards conforming and
+   also supports reuse of TCP/TLS connections.
 
 
 2. NAT pinging types
 2. NAT pinging types
 
 
@@ -318,8 +313,8 @@ modparam("nathelper", "natping_socket", "192.168.1.1:5006")
 
 
 Note
 Note
 
 
-   You must set this parameter if you use "fix_nated_register". In such
-   case you must set the parameter with same name of "registrar" module to
+   You must set this parameter if you use fix_nated_register. In such case
+   you must set the parameter with same name in the "registrar" module to
    same value.
    same value.
 
 
    Default value is "NULL" (disabled).
    Default value is "NULL" (disabled).
@@ -331,7 +326,7 @@ modparam("nathelper", "received_avp", "$avp(i:42)")
 
 
 4.7. sipping_bflag (integer)
 4.7. sipping_bflag (integer)
 
 
-   What branch flag should be used by the module to identify NATed
+   Which branch flag should be used by the module to identify NATed
    contacts for which it should perform NAT ping via a SIP request instead
    contacts for which it should perform NAT ping via a SIP request instead
    if dummy UDP package.
    if dummy UDP package.
 
 
@@ -385,7 +380,7 @@ modparam("nathelper", "natping_disable_bflag", 8)
 4.11. nortpproxy_str (string)
 4.11. nortpproxy_str (string)
 
 
    The parameter sets the SDP attribute used by nathelper to mark the
    The parameter sets the SDP attribute used by nathelper to mark the
-   packet SDP informations have already been mangled.
+   packet SDP that information have already been mangled.
 
 
    If empty string, no marker will be added or checked.
    If empty string, no marker will be added or checked.
 
 
@@ -445,7 +440,8 @@ modparam("nathelper", "udpping_from_path", 1)
 
 
 5.1. fix_nated_contact()
 5.1. fix_nated_contact()
 
 
-   Rewrites Contact HF to contain request's source address:port.
+   Rewrites the "Contact" header to contain the request's source
+   address:port.
 
 
    This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
    This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
    BRANCH_ROUTE.
    BRANCH_ROUTE.
@@ -487,12 +483,12 @@ if (search("User-Agent: Cisco ATA.*") {fix_nated_sdp("3");};
 
 
 5.3. add_rcv_param([flag]),
 5.3. add_rcv_param([flag]),
 
 
-   Add received parameter to Contact header fields or Contact URI. The
-   parameter will contain URI created from the source IP, port, and
-   protocol of the packet containing the SIP message. The parameter can be
-   then processed by another registrar, this is useful, for example, when
-   replicating register messages using t_replicate function to another
-   registrar.
+   Add a received parameter to the "Contact" header fields or the Contact
+   URI. The parameter will contain the URI created from the source IP,
+   port, and protocol of the packet containing the SIP message. The
+   parameter can be then processed by another registrar. This is useful,
+   for example, when replicating register messages using t_replicate
+   function to another registrar.
 
 
    Meaning of the parameters is as follows:
    Meaning of the parameters is as follows:
      * flag - flags to indicate if the parameter should be added to
      * flag - flags to indicate if the parameter should be added to
@@ -516,7 +512,7 @@ add_rcv_param("1"); # add the parameter to the Contact URI
    appended as "received" parameter to Contact in 200 OK and registrar
    appended as "received" parameter to Contact in 200 OK and registrar
    will store it in the received cloumn in the location table.
    will store it in the received cloumn in the location table.
 
 
-   Note: You have to set the received_avp parameter of the nathelper
+   Note: You have to set the "received_avp" parameter of the nathelper
    module and the registrar module (both module parameters must have the
    module and the registrar module (both module parameters must have the
    same value) to use this function.
    same value) to use this function.
 
 
@@ -533,20 +529,22 @@ fix_nated_register();
    parameter determines what heuristics is used.
    parameter determines what heuristics is used.
 
 
    Meaning of the flags is as follows:
    Meaning of the flags is as follows:
-     * 1 - Contact header field is searched for occurrence of RFC1918 or
-       rfc6598 addresses.
-     * 2 - the "received" test is used: address in Via is compared against
-       source IP address of signaling
-     * 4 - Top Most VIA is searched for occurrence of RFC1918 or rfc6598
+     * 1 - The "Contact" header field is searched for occurrence of
+       RFC1918 or RFC6598 addresses.
+     * 2 - the "received" test is used: address in the "Via" header is
+       compared against source IP address of signaling
+     * 4 - The Top Most "Via" is searched for occurrence of RFC1918 or
+       RFC6598 addresses
+     * 8 - The SDP is searched for occurrence of RFC1918 or RFC6598
        addresses
        addresses
-     * 8 - SDP is searched for occurrence of RFC1918 or rfc6598 addresses
-     * 16 - test if the source port is different from the port in Via
-     * 32 - test if the source IP address of signaling is a RFC1918 or
-       rfc6598 address
-     * 64 - test if the source connection of signaling is a WebSocket
-     * 128 - test if the Contact URI port differs from the source port of
-       the request (Warning: this is might be legal or even intended
-       combination in non natted scenarios)
+     * 16 - Test if the source port is different from the port in the
+       "Via" header
+     * 32 - Test if the source IP address of signaling is a RFC1918 or
+       RFC6598 address
+     * 64 - Test if the source connection of signaling is a WebSocket
+     * 128 - Test if the "Contact" header URI port differs from the source
+       port of the request (Warning: this is might be legal or even
+       intended combination in non NATted scenarios)
 
 
    All flags can be bitwise combined, the test returns true if any of the
    All flags can be bitwise combined, the test returns true if any of the
    tests identified a NAT.
    tests identified a NAT.
@@ -563,9 +561,9 @@ fix_nated_register();
 
 
 5.7. add_contact_alias([ip_addr, port, proto])
 5.7. add_contact_alias([ip_addr, port, proto])
 
 
-   Adds ;alias=ip~port~transport parameter to contact URI containing
-   either received ip, port, and transport protocol or those given as
-   parameters.
+   Adds an ";alias=ip~port~transport" parameter to the contact URI
+   containing either received ip, port, and transport protocol or those
+   given as parameters.
 
 
    This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
    This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
    BRANCH_ROUTE, and LOCAL_ROUTE.
    BRANCH_ROUTE, and LOCAL_ROUTE.
@@ -583,16 +581,16 @@ fix_nated_register();
 
 
 5.8. handle_ruri_alias()
 5.8. handle_ruri_alias()
 
 
-   Checks if Request URI has alias param and if so, removes it and sets
-   $du based on its value. Note that this means that routing of request is
-   based on ;alias parameter value of Request URI rather than Request URI
-   itself. If you call handle_ruri_alias() on a request, make thus sure
-   that you screen alias parameter value of Request URI the same way as
-   you would screen Request URI itself.
+   Checks if the Request URI has an "alias" parameter and if so, removes
+   it and sets the "$du" based on its value. Note that this means that
+   routing of request is based on ";alias" parameter value of the Request
+   URI rather than the Request URI itself. If you call handle_ruri_alias()
+   on a request, make sure that you screen the alias parameter value of
+   Request URI the same way as you would screen the Request URI itself.
 
 
-   Returns 1 if ;alias param was found and $du was set and $ru rewritten,
-   2 if alias param was not found and nothing was done, or -1 in case of
-   error.
+   Returns 1 if ";alias" parameter was found and "$du" was set and the
+   "$ru" rewritten, 2 if the alias parameter was not found and nothing was
+   done, or -1 in case of error.
 
 
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, and
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, and
    LOCAL_ROUTE.
    LOCAL_ROUTE.
@@ -618,10 +616,10 @@ fix_nated_register();
 
 
 5.9. set_contact_alias()
 5.9. set_contact_alias()
 
 
-   Adds ;alias=ip~port~transport parameter to contact URI containing
-   received ip, port, and transport protocol. The new contact URI is
-   immediately visible to other modules in the way fix_nated_contact()
-   does it.
+   Adds an ";alias=ip~port~transport" parameter to the contact URI
+   containing the received ip, port, and transport protocol. The new
+   contact URI is immediately visible to other modules in the way the
+   fix_nated_contact() does it.
 
 
    This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
    This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
    BRANCH_ROUTE, and FAILURE_ROUTE.
    BRANCH_ROUTE, and FAILURE_ROUTE.

+ 83 - 86
modules/nathelper/doc/nathelper_admin.xml

@@ -18,30 +18,26 @@
 	<title>Overview</title>
 	<title>Overview</title>
 	<para>
 	<para>
 		This is a module to help with &nat; traversal and reuse
 		This is a module to help with &nat; traversal and reuse
-	of tcp connections.  In particular, 
+		of <acronym>TCP</acronym> connections. In particular, 
 		it helps symmetric &ua;s that don't advertise they are symmetric 
 		it helps symmetric &ua;s that don't advertise they are symmetric 
-		and are not able to determine their public
-	address. 
+		and are not able to determine their public address. 
 	</para>
 	</para>
 	<para>
 	<para>
-		Function fix_nated_contact() rewrites Contact header field with request's source
-		address:port pair. Function fix_nated_sdp() adds the active direction ndication 
-		to &sdp; (flag 0x01) and updates source &ip; address too (flag 0x02). Function
-		fix_nated_register() exports exports the request's source address:port into an AVP
-		to be used during save() and should be used for REGISTER requests.
+		The function <function>fix_nated_contact()</function> rewrites the <quote>Contact</quote>
+		header field with request's source address:port pair. The function
+		<function>fix_nated_sdp()</function> adds the active direction indication 
+		to &sdp; (flag 0x01) and updates the source &ip; address too (flag 0x02). The function
+		<function>fix_nated_register()</function> exports exports the request's source
+		address:port into an AVP to be used during <function>save()</function> and should
+		be used for <quote>REGISTER</quote> requests.
 	</para>
 	</para>
         <para>
         <para>
-		Note: fix_nated_contact changes the Contact header, thus it breaks the RFC.
-		Although usually this is not an issue, it may cause problems with strict
-		SIP clients.  An alternative is to use add_contact_alias() that
-		together with handle_ruri_alias() is standards
-	conforming and also supports reuse of TCP/TLS connections.
-	</para>
-	<para>
-		Known devices that get along over &nat;s with nathelper are ATAs 
-		(as clients) and Cisco Gateways (since 12.2(T)) as servers.  See <ulink
-		url="http://www.cisco.com/en/US/products/sw/iosswrel/ps1839/products_feature_guide09186a0080110bf9.html">
-		http://www.cisco.com/en/US/products/sw/iosswrel/ps1839/products_feature_guide09186a0080110bf9.html"></ulink>
+		Note: <function>fix_nated_contact</function> changes the <quote>Contact</quote>
+		header, thus it breaks the RFC. Although usually this is not an issue, it may
+		cause problems with strict SIP clients.  An alternative is to use
+		<function>add_contact_alias()</function> that together with
+		the <function>handle_ruri_alias()</function> is standards conforming and also
+		supports reuse of TCP/TLS connections.
 	</para>
 	</para>
 	</section>
 	</section>
 
 
@@ -128,7 +124,7 @@
 
 
 	<section>
 	<section>
 	<title>Parameters</title>
 	<title>Parameters</title>
-	<section>
+	<section id="nathelper.p.force_socket">
 		<title><varname>force_socket</varname> (string)</title>
 		<title><varname>force_socket</varname> (string)</title>
 		<para>
 		<para>
 		Socket to be used when sending NAT pings for UDP communication.
 		Socket to be used when sending NAT pings for UDP communication.
@@ -148,7 +144,7 @@ modparam("nathelper", "force_socket", "localhost:33333")
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.p.natping_interval">
 		<title><varname>natping_interval</varname> (integer)</title>
 		<title><varname>natping_interval</varname> (integer)</title>
 		<para>
 		<para>
 		Period of time in seconds between sending the NAT pings to all 
 		Period of time in seconds between sending the NAT pings to all 
@@ -173,7 +169,7 @@ modparam("nathelper", "natping_interval", 10)
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.p.ping_nated_only">
 		<title><varname>ping_nated_only</varname> (integer)</title>
 		<title><varname>ping_nated_only</varname> (integer)</title>
 		<para>
 		<para>
 		If this variable is set then only contacts that have 
 		If this variable is set then only contacts that have 
@@ -194,7 +190,7 @@ modparam("nathelper", "ping_nated_only", 1)
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.p.natping_processes">
 		<title><varname>natping_processes</varname> (integer)</title>
 		<title><varname>natping_processes</varname> (integer)</title>
 		<para>
 		<para>
 		How many timer processes should be created by the module for the
 		How many timer processes should be created by the module for the
@@ -214,7 +210,7 @@ modparam("nathelper", "natping_processes", 3)
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.p.natping_socket">
 		<title><varname>natping_socket</varname> (string)</title>
 		<title><varname>natping_socket</varname> (string)</title>
 		<para>
 		<para>
 		Spoof the natping's source-ip to this address. Works only for IPv4.
 		Spoof the natping's source-ip to this address. Works only for IPv4.
@@ -233,7 +229,7 @@ modparam("nathelper", "natping_socket", "192.168.1.1:5006")
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.p.received_avp">
 		<title><varname>received_avp</varname> (str)</title>
 		<title><varname>received_avp</varname> (str)</title>
 		<para>
 		<para>
 		The name of the Attribute-Value-Pair (AVP) used to store the URI 
 		The name of the Attribute-Value-Pair (AVP) used to store the URI 
@@ -245,8 +241,8 @@ modparam("nathelper", "natping_socket", "192.168.1.1:5006")
 		</para>
 		</para>
 		<note>
 		<note>
 		<para>
 		<para>
-		You must set this parameter if you use "fix_nated_register". In such
-		case you must set the parameter with same name of "registrar"
+		You must set this parameter if you use <function>fix_nated_register</function>. In such
+		case you must set the parameter with same name in the <quote>registrar</quote>
 		module to same value.
 		module to same value.
 		</para>
 		</para>
 		</note>
 		</note>
@@ -264,10 +260,10 @@ modparam("nathelper", "received_avp", "$avp(i:42)")
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.p.sipping_bflag">
 		<title><varname>sipping_bflag</varname> (integer)</title>
 		<title><varname>sipping_bflag</varname> (integer)</title>
 		<para>
 		<para>
-		What branch flag should be used by the module to identify NATed 
+		Which branch flag should be used by the module to identify NATed 
 		contacts for which it should perform NAT ping via a SIP request 
 		contacts for which it should perform NAT ping via a SIP request 
 		instead if dummy UDP package.
 		instead if dummy UDP package.
 		</para>
 		</para>
@@ -285,7 +281,7 @@ modparam("nathelper", "sipping_bflag", 7)
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.p.sipping_from">
 		<title><varname>sipping_from</varname> (string)</title>
 		<title><varname>sipping_from</varname> (string)</title>
 		<para>
 		<para>
 		The parameter sets the SIP URI to be used in generating the SIP
 		The parameter sets the SIP URI to be used in generating the SIP
@@ -307,7 +303,7 @@ modparam("nathelper", "sipping_from", "sip:[email protected]")
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.p.sipping_method">
 		<title><varname>sipping_method</varname> (string)</title>
 		<title><varname>sipping_method</varname> (string)</title>
 		<para>
 		<para>
 		The parameter sets the SIP method to be used in generating the SIP
 		The parameter sets the SIP method to be used in generating the SIP
@@ -327,7 +323,7 @@ modparam("nathelper", "sipping_method", "INFO")
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.p.natping_disable_bflag">
 		<title><varname>natping_disable_bflag</varname> (integer)</title>
 		<title><varname>natping_disable_bflag</varname> (integer)</title>
 		<para>
 		<para>
 		What branch flag should be used by the module to disable NAT pings
 		What branch flag should be used by the module to disable NAT pings
@@ -349,11 +345,11 @@ modparam("nathelper", "natping_disable_bflag", 8)
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.p.nortpproxy_str">
 		<title><varname>nortpproxy_str</varname> (string)</title>
 		<title><varname>nortpproxy_str</varname> (string)</title>
 		<para>
 		<para>
 		The parameter sets the SDP attribute used by nathelper to mark
 		The parameter sets the SDP attribute used by nathelper to mark
-		the packet SDP informations have already been mangled.
+		the packet SDP that information have already been mangled.
 		</para>
 		</para>
 		<para>
 		<para>
 		If empty string, no marker will be added or checked.
 		If empty string, no marker will be added or checked.
@@ -375,7 +371,7 @@ modparam("nathelper", "nortpproxy_str", "a=sdpmangled:yes\r\n")
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.p.keepalive_timeout">
 		<title><varname>keepalive_timeout</varname> (int)</title>
 		<title><varname>keepalive_timeout</varname> (int)</title>
 		<para>
 		<para>
 		The parameter sets the interval in secods after which a natted
 		The parameter sets the interval in secods after which a natted
@@ -429,12 +425,12 @@ modparam("nathelper", "udpping_from_path", 1)
 
 
 	<section>
 	<section>
 	<title>Functions</title>
 	<title>Functions</title>
-	<section>
+	<section id="nathelper.f.fix_nated_contact">
 		<title>
 		<title>
 		<function moreinfo="none">fix_nated_contact()</function>
 		<function moreinfo="none">fix_nated_contact()</function>
 		</title>
 		</title>
 		<para>
 		<para>
-		Rewrites Contact <acronym>HF</acronym> to contain request's source 
+		Rewrites the <quote>Contact</quote> header to contain the request's source 
 		address:port.
 		address:port.
 		</para>
 		</para>
 		<para>
 		<para>
@@ -449,7 +445,7 @@ if (search("User-Agent: Cisco ATA.*") {fix_nated_contact();};
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.f.fix_nated_sdp">
 		<title>
 		<title>
 		<function moreinfo="none">fix_nated_sdp(flags [, ip_address])</function>
 		<function moreinfo="none">fix_nated_sdp(flags [, ip_address])</function>
 		</title>
 		</title>
@@ -511,18 +507,17 @@ if (search("User-Agent: Cisco ATA.*") {fix_nated_sdp("3");};
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.f.add_rcv_param">
 		<title>
 		<title>
 		<function moreinfo="none">add_rcv_param([flag])</function>,
 		<function moreinfo="none">add_rcv_param([flag])</function>,
 		</title>
 		</title>
 		<para>
 		<para>
-		Add received parameter to Contact header fields or Contact URI.
-		The parameter will 
-		contain URI created from the source IP, port, and protocol of the 
-		packet containing the SIP message. The parameter can be then 
-		processed by another registrar, this is useful, for example, when 
-		replicating register messages using t_replicate function to
-		another registrar.
+		Add a received parameter to the <quote>Contact</quote> header fields
+		or the Contact URI. The parameter will contain the URI created from the
+		source IP, port, and protocol of the packet containing the SIP message.
+		The parameter can be then processed by another registrar. This is useful,
+		for example, when replicating register messages using <function>t_replicate</function>
+		function to another registrar.
 		</para>
 		</para>
 		<para>Meaning of the parameters is as follows:</para>
 		<para>Meaning of the parameters is as follows:</para>
 		<itemizedlist>
 		<itemizedlist>
@@ -548,7 +543,7 @@ add_rcv_param("1"); # add the parameter to the Contact URI
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.f.fix_nated_register">
 		<title>
 		<title>
 		<function moreinfo="none">fix_nated_register()</function>
 		<function moreinfo="none">fix_nated_register()</function>
 		</title>
 		</title>
@@ -559,9 +554,9 @@ add_rcv_param("1"); # add the parameter to the Contact URI
 		registrar will store it in the received cloumn in the location table.
 		registrar will store it in the received cloumn in the location table.
 		</para>
 		</para>
 		<para>
 		<para>
-		Note: You have to set the received_avp parameter of the nathelper module
-		and the registrar module (both module parameters must have the same value)
-		to use this function.
+		Note: You have to set the <quote>received_avp</quote> parameter of the
+		nathelper module and the registrar module (both module parameters must
+		have the same value) to use this function.
 		</para>
 		</para>
 		<para>
 		<para>
 		This function can be used from REQUEST_ROUTE.
 		This function can be used from REQUEST_ROUTE.
@@ -575,7 +570,7 @@ fix_nated_register();
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="nathelper.f.nat_uac_test">
 		<title>
 		<title>
 			<function>nat_uac_test(flags)</function>
 			<function>nat_uac_test(flags)</function>
 		</title>
 		</title>
@@ -586,37 +581,38 @@ fix_nated_register();
 		<para>Meaning of the flags is as follows:</para>
 		<para>Meaning of the flags is as follows:</para>
 		<itemizedlist>
 		<itemizedlist>
 			<listitem><para>
 			<listitem><para>
-			<emphasis>1</emphasis> -  Contact header field is searched 
-			for occurrence of RFC1918 or rfc6598 addresses.
+			<emphasis>1</emphasis> -  The <quote>Contact</quote> header field is searched 
+			for occurrence of RFC1918 or RFC6598 addresses.
 			</para></listitem>
 			</para></listitem>
 			<listitem><para>
 			<listitem><para>
 			<emphasis>2</emphasis> -  the "received" test is used: address
 			<emphasis>2</emphasis> -  the "received" test is used: address
-			in Via is compared against source IP address of signaling
+			in the <quote>Via</quote> header is compared against source
+			IP address of signaling
 			</para></listitem>
 			</para></listitem>
 			<listitem><para>
 			<listitem><para>
-			<emphasis>4</emphasis> -  Top Most VIA is searched 
-			for occurrence of RFC1918 or rfc6598 addresses
+			<emphasis>4</emphasis> -  The Top Most <quote>Via</quote> is searched 
+			for occurrence of RFC1918 or RFC6598 addresses
 			</para></listitem>
 			</para></listitem>
 			<listitem><para>
 			<listitem><para>
-			<emphasis>8</emphasis> -  SDP is searched for occurrence of 
-			RFC1918 or rfc6598 addresses
+			<emphasis>8</emphasis> -  The SDP is searched for occurrence of 
+			RFC1918 or RFC6598 addresses
 			</para></listitem>
 			</para></listitem>
 			<listitem><para>
 			<listitem><para>
-			<emphasis>16</emphasis> -  test if the source port is different
-			from the port in Via 
+			<emphasis>16</emphasis> -  Test if the source port is different
+			from the port in the <quote>Via</quote> header
 			</para></listitem>
 			</para></listitem>
 			<listitem><para>
 			<listitem><para>
-			<emphasis>32</emphasis> -  test if the source IP address of
-			signaling is a RFC1918 or rfc6598 address
+			<emphasis>32</emphasis> -  Test if the source IP address of
+			signaling is a RFC1918 or RFC6598 address
 			</para></listitem>
 			</para></listitem>
 			<listitem><para>
 			<listitem><para>
-			<emphasis>64</emphasis> -  test if the source connection of
+			<emphasis>64</emphasis> -  Test if the source connection of
 			signaling is a WebSocket
 			signaling is a WebSocket
 			</para></listitem>
 			</para></listitem>
 			<listitem><para>
 			<listitem><para>
-			<emphasis>128</emphasis> -  test if the Contact URI port differs
-			from the source port of the request (Warning: this is might be legal
-			or even intended combination in non natted scenarios)
+			<emphasis>128</emphasis> -  Test if the <quote>Contact</quote> header
+			URI port differs from the source port of the request (Warning: this is
+			might be legal or even intended combination in non NATted scenarios)
 			</para></listitem>
 			</para></listitem>
 			</itemizedlist>
 			</itemizedlist>
 		<para>
 		<para>
@@ -628,7 +624,7 @@ fix_nated_register();
 		</para>
 		</para>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="nathelper.f.is_rfc1918">
 		<title>
 		<title>
 		<function>is_rfc1918(ip_address)</function>
 		<function>is_rfc1918(ip_address)</function>
 		</title>
 		</title>
@@ -641,12 +637,12 @@ fix_nated_register();
 		</para>
 		</para>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="nathelper.f.add_contact_alias">
 		<title>
 		<title>
 		<function moreinfo="none">add_contact_alias([ip_addr, port, proto])</function>
 		<function moreinfo="none">add_contact_alias([ip_addr, port, proto])</function>
 		</title>
 		</title>
 		<para>
 		<para>
-		Adds ;alias=ip~port~transport parameter to contact URI
+		Adds an <quote>;alias=ip~port~transport</quote> parameter to the contact URI
 		containing either received ip, port, and transport protocol
 		containing either received ip, port, and transport protocol
 		or those given as parameters.
 		or those given as parameters.
 		</para>
 		</para>
@@ -670,24 +666,25 @@ fix_nated_register();
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="nathelper.f.handle_ruri_alias">
 		<title>
 		<title>
 		<function moreinfo="none">handle_ruri_alias()</function>
 		<function moreinfo="none">handle_ruri_alias()</function>
 		</title>
 		</title>
 		<para>
 		<para>
-		Checks if Request URI has alias param and if so, removes
-		it and sets $du based on its value.  Note that this
-		means that routing of request is based on ;alias
-		parameter value of Request URI rather than Request URI
-		itself. If you call handle_ruri_alias() on a request,
-		make thus sure that you screen alias parameter value of
-		Request URI the same way as you would screen
+		Checks if the Request URI has an <quote>alias</quote>
+		parameter and if so, removes it and sets the <quote>$du</quote> based
+		on its value.  Note that this means that routing of request is based on 
+		<quote>;alias</quote> parameter value of the Request URI rather than 
+		the Request URI itself. If you call <function>handle_ruri_alias()</function>
+		on a request, make sure that you screen the alias parameter value of
+		Request URI the same way as you would screen the
 		Request URI itself.
 		Request URI itself.
 		</para>
 		</para>
 		<para>
 		<para>
-		Returns 1 if ;alias param was found and $du was set and
-		$ru rewritten, 2 if alias param was not found and
-		nothing was done, or -1 in case of error.
+		Returns <emphasis>1</emphasis> if <quote>;alias</quote> parameter was
+		found and <quote>$du</quote> was set and the <quote>$ru</quote> rewritten,
+		<emphasis>2</emphasis> if the alias parameter was not found and
+		nothing was done, or <emphasis>-1</emphasis> in case of error.
 		</para>
 		</para>
 		<para>
 		<para>
 		This function can be used from
 		This function can be used from
@@ -722,10 +719,10 @@ fix_nated_register();
 		<function moreinfo="none">set_contact_alias()</function>
 		<function moreinfo="none">set_contact_alias()</function>
 		</title>
 		</title>
 		<para>
 		<para>
-		Adds ;alias=ip~port~transport parameter to contact URI
-		containing received ip, port, and transport protocol. The new
-		contact URI is immediately visible to other modules in the
-		way fix_nated_contact() does it.
+		Adds an <quote>;alias=ip~port~transport</quote> parameter to the
+		contact URI containing the received ip, port, and transport protocol.
+		The new contact URI is immediately visible to other modules in the
+		way the <function>fix_nated_contact()</function> does it.
 		</para>
 		</para>
 		<para>
 		<para>
 		This function can be used from
 		This function can be used from
@@ -793,7 +790,7 @@ fix_nated_register();
 
 
 	<section>
 	<section>
 		<title><acronym>MI</acronym> Commands</title>
 		<title><acronym>MI</acronym> Commands</title>
-		<section>
+		<section id="nathelper.m.nh_enable_ping">
 			<title><function moreinfo="none">nh_enable_ping</function></title>
 			<title><function moreinfo="none">nh_enable_ping</function></title>
 			<para>
 			<para>
 			Enables natping if parameter value greater than 0.
 			Enables natping if parameter value greater than 0.
@@ -817,7 +814,7 @@ $ &ctltool; fifo nh_enable_ping 1
 	<section>
 	<section>
 		<title>Selects</title>
 		<title>Selects</title>
 
 
-		<section id="nathelper.rewrite_contact">
+		<section id="nathelper.s.rewrite_contact">
 		<title>@nathelper.rewrite_contact[n]</title>
 		<title>@nathelper.rewrite_contact[n]</title>
 		<para>
 		<para>
 			Get n-th Contact value with IP:Port rewritten to source ip:port. N is counted from 1.
 			Get n-th Contact value with IP:Port rewritten to source ip:port. N is counted from 1.