|
@@ -10,9 +10,9 @@
|
|
|
<!-- Module's Admin Guide -->
|
|
|
|
|
|
<chapter>
|
|
|
-
|
|
|
+
|
|
|
<title>&adminguide;</title>
|
|
|
-
|
|
|
+
|
|
|
<section>
|
|
|
<title>Overview</title>
|
|
|
<para>
|
|
@@ -33,7 +33,7 @@
|
|
|
and hasn't been adapted to support IPv6 session keepalives.
|
|
|
</para>
|
|
|
</section>
|
|
|
-
|
|
|
+
|
|
|
<section>
|
|
|
<title>Keepalive functionality</title>
|
|
|
<section>
|
|
@@ -230,7 +230,7 @@
|
|
|
<emphasis>REGISTER</emphasis> - called before save_location() or
|
|
|
t_relay() (depending on whether the proxy that received the
|
|
|
REGISTER is also handling registration for that subscriber or
|
|
|
- not). It will determine from either the stateless reply
|
|
|
+ not). It will determine from either the stateless reply
|
|
|
generated by save_location() or the TM relayed reply if the
|
|
|
registration was successful and what is its expiration time. If
|
|
|
the registration was successful it will mark the given NAT
|
|
@@ -280,7 +280,7 @@
|
|
|
if they are behind NAT. This is done by detecting if any of the
|
|
|
destination endpoints already has a keepalive entry for the
|
|
|
register condition. If so, a dialog condition will be added to
|
|
|
- that entry thus preserving that endpoint visibility even if the
|
|
|
+ that entry thus preserving that endpoint visibility even if the
|
|
|
registration expires during the dialog or is moved to another
|
|
|
proxy. During the call setup stage, multiple entries for the
|
|
|
callee may be added with the dialog condition if parallel
|
|
@@ -354,8 +354,8 @@
|
|
|
</para>
|
|
|
</section>
|
|
|
</section>
|
|
|
-
|
|
|
- <section>
|
|
|
+
|
|
|
+ <section id="nat_traversal.p.keepalive_interval">
|
|
|
<title>Exported parameters</title>
|
|
|
<section>
|
|
|
<title><varname>keepalive_interval</varname> (integer)</title>
|
|
@@ -379,8 +379,8 @@ modparam("nat_traversal", "keepalive_interval", 90)
|
|
|
</programlisting>
|
|
|
</example>
|
|
|
</section>
|
|
|
-
|
|
|
- <section>
|
|
|
+
|
|
|
+ <section id="nat_traversal.p.keepalive_method">
|
|
|
<title><varname>keepalive_method</varname> (string)</title>
|
|
|
<para>
|
|
|
What SIP method to use to send keepalive messages. Typical methods
|
|
@@ -416,8 +416,8 @@ modparam("nat_traversal", "keepalive_method", "OPTIONS")
|
|
|
</programlisting>
|
|
|
</example>
|
|
|
</section>
|
|
|
-
|
|
|
- <section>
|
|
|
+
|
|
|
+ <section id="nat_traversal.p.keepalive_from">
|
|
|
<title><varname>keepalive_from</varname> (string)</title>
|
|
|
<para>
|
|
|
Indicates what SIP URI to use in the From header of the keepalive
|
|
@@ -441,8 +441,8 @@ modparam("nat_traversal", "keepalive_from", "sip:[email protected]")
|
|
|
</programlisting>
|
|
|
</example>
|
|
|
</section>
|
|
|
-
|
|
|
- <section>
|
|
|
+
|
|
|
+ <section id="nat_traversal.p.keepalive_extra_headers">
|
|
|
<title><varname>keepalive_extra_headers</varname> (string)</title>
|
|
|
<para>
|
|
|
Specifies extra headers that should be added to the keepalive messages
|
|
@@ -464,8 +464,8 @@ modparam("nat_traversal", "keepalive_extra_headers", "User-Agent: &kamailio;\r\n
|
|
|
</programlisting>
|
|
|
</example>
|
|
|
</section>
|
|
|
-
|
|
|
- <section>
|
|
|
+
|
|
|
+ <section id="nat_traversal.p.keepalive_state_file">
|
|
|
<title><varname>keepalive_state_file</varname> (string)</title>
|
|
|
<para>
|
|
|
Specifies a filename where information about the NAT endpoints and the
|
|
@@ -497,10 +497,10 @@ modparam("nat_traversal", "keepalive_state_file", "/var/run/kamailio/keepalive_s
|
|
|
</programlisting>
|
|
|
</example>
|
|
|
</section>
|
|
|
-
|
|
|
+
|
|
|
</section>
|
|
|
|
|
|
- <section>
|
|
|
+ <section id="nat_traversal.f.client_nat_test">
|
|
|
<title>Exported functions</title>
|
|
|
<section>
|
|
|
<title>
|
|
@@ -517,7 +517,7 @@ modparam("nat_traversal", "keepalive_state_file", "/var/run/kamailio/keepalive_s
|
|
|
<itemizedlist>
|
|
|
<listitem><para>
|
|
|
1 - tests if client has a private IP address (as defined by RFC1918)
|
|
|
- or one from shared address space (RFC6598) in the Contact field
|
|
|
+ or one from shared address space (RFC6598) in the Contact field
|
|
|
of the SIP message.
|
|
|
</para></listitem>
|
|
|
<listitem><para>
|
|
@@ -527,7 +527,7 @@ modparam("nat_traversal", "keepalive_state_file", "/var/run/kamailio/keepalive_s
|
|
|
</para></listitem>
|
|
|
<listitem><para>
|
|
|
4 - tests if client has a private IP address (as defined by RFC1918)
|
|
|
- or one from shared address space (RFC6598) in the top Via field
|
|
|
+ or one from shared address space (RFC6598) in the top Via field
|
|
|
of the SIP message.
|
|
|
</para></listitem>
|
|
|
</itemizedlist>
|
|
@@ -554,7 +554,7 @@ if (client_nat_test("3")) {
|
|
|
</example>
|
|
|
</section>
|
|
|
|
|
|
- <section>
|
|
|
+ <section id="nat_traversal.f.fix_contact">
|
|
|
<title>
|
|
|
<function moreinfo="none">fix_contact()</function>
|
|
|
</title>
|
|
@@ -580,7 +580,7 @@ if (client_nat_test("3")) {
|
|
|
</example>
|
|
|
</section>
|
|
|
|
|
|
- <section>
|
|
|
+ <section id="nat_traversal.f.nat_keepalive">
|
|
|
<title>
|
|
|
<function moreinfo="none">nat_keepalive()</function>
|
|
|
</title>
|
|
@@ -651,7 +651,7 @@ if ((method=="REGISTER" || method=="SUBSCRIBE" ||
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
|
- <title>Exported pseudo-variables</title>
|
|
|
+ <title>Pseudo Variables</title>
|
|
|
<section>
|
|
|
<title><varname>$keepalive.socket(nat_endpoint)</varname></title>
|
|
|
<para>
|
|
@@ -747,7 +747,7 @@ if (method=="REGISTER") {
|
|
|
force_rport();
|
|
|
$avp(s:received_uri) = $source_uri;
|
|
|
# or we could add some extra parameters to it if needed
|
|
|
- # $avp(s:received_uri) = $source_uri + ";relayed=false"
|
|
|
+ # $avp(s:received_uri) = $source_uri + ";relayed=false"
|
|
|
}
|
|
|
if (!www_authorize("", "subscriber")) {
|
|
|
www_challenge("", "0");
|