Pārlūkot izejas kodu

registrar Minor doc updates, adding section ID's

Olle E. Johansson 11 gadi atpakaļ
vecāks
revīzija
b5c5090cc9

+ 98 - 90
modules/registrar/README

@@ -242,7 +242,7 @@ Chapter 1. Admin Guide
 
 
    GRUU (RFC5627) is supported with both public and temporary addresses.
    GRUU (RFC5627) is supported with both public and temporary addresses.
 
 
-   The public GRUU is build based on '+sip.instance' parameter as
+   The public GRUU is build based on the '+sip.instance' UUID parameter as
    recommended by RFC.
    recommended by RFC.
 
 
    The temporary GRUU is built based on internal SRUID (unique id
    The temporary GRUU is built based on internal SRUID (unique id
@@ -316,13 +316,12 @@ modparam("registrar", "default_expires", 1800)
 3.2. default_expires_range (integer)
 3.2. default_expires_range (integer)
 
 
    This parameter specifies that the expiry used for newly created usrloc
    This parameter specifies that the expiry used for newly created usrloc
-   records are not fixed(when "default_expires" applies), but a random
-   value in the interval "[default_expires-default_expires_range%,
-   default_expires+default_expires_range%]". The value is between 0 and
-   100 and represent the maximim percentage from default_expires that will
-   be substracted or added when computing the value. Default in 0, meaning
-   default_expires is left unmodified. This parameter can be modified via
-   ser config framework.
+   records are not fixed, but a random value in the interval
+   "[default_expires-default_expires_range%, default_expires]". The value
+   is between 0 and 100 and represent the maximim percentage from expires
+   that will be substracted when computing the value. Default is 0,
+   meaning default_expires is left unmodified. This parameter can be
+   modified via the Kamailio config framework.
 
 
    Default value is 0.
    Default value is 0.
 
 
@@ -334,9 +333,8 @@ modparam("registrar", "default_expires_range", 30) # +- 30% from default_expires
 3.3. expires_range (integer)
 3.3. expires_range (integer)
 
 
    Similar to default_expires_range, but it applies to the incoming
    Similar to default_expires_range, but it applies to the incoming
-   expires value and it only lowers the value. Default in 0, meaning the
-   expires is left unmodified. This parameter can be modified via config
-   framework.
+   expires value. Default in 0, meaning the expires is left unmodified.
+   This parameter can be modified via the Kamailio config framework.
 
 
    Default value is 0.
    Default value is 0.
 
 
@@ -348,9 +346,10 @@ res]
 
 
 3.4. min_expires (integer)
 3.4. min_expires (integer)
 
 
-   The minimum expires value of a Contact, values lower than this minimum
-   will be automatically set to the minimum. Value 0 disables the
-   checking. This parameter can be modified via ser config framework.
+   The minimum expires value of a "Contact". Values lower than this
+   minimum will be automatically set to the minimum. Value 0 disables the
+   checking. This parameter can be modified via the Kamailio config
+   framework.
 
 
    Default value is 60.
    Default value is 60.
 
 
@@ -361,9 +360,10 @@ modparam("registrar", "min_expires", 60)
 
 
 3.5. max_expires (integer)
 3.5. max_expires (integer)
 
 
-   The maximum expires value of a Contact, values higher than this maximum
-   will be automatically set to the maximum. Value 0 disables the
-   checking. This parameter can be modified via ser config framework.
+   The maximum accepted expires value of a "Contact", values higher than
+   this maximum will be automatically set to the maximum. Value 0 disables
+   the checking. This parameter can be modified via the Kamailio config
+   framework.
 
 
    Default value is 0.
    Default value is 0.
 
 
@@ -374,11 +374,11 @@ modparam("registrar", "max_expires", 120)
 
 
 3.6. default_q (integer)
 3.6. default_q (integer)
 
 
-   The parameter represents default q value for new contacts. Because
+   The parameter represents default "q" value for new contacts. Because
    Kamailio doesn't support float parameter types, the value in the
    Kamailio doesn't support float parameter types, the value in the
    parameter is divided by 1000 and stored as float. For example, if you
    parameter is divided by 1000 and stored as float. For example, if you
    want default_q to be 0.38, use value 380 here. This parameter can be
    want default_q to be 0.38, use value 380 here. This parameter can be
-   modified via ser config framework.
+   modified via the Kamailio config framework.
 
 
    Default value is 0.
    Default value is 0.
 
 
@@ -394,7 +394,7 @@ modparam("registrar", "default_q", 1000)
    the master domain can be defined for SIP purposes (like
    the master domain can be defined for SIP purposes (like
    sip.mydomain.net pointing to same IP address as the SRV record for
    sip.mydomain.net pointing to same IP address as the SRV record for
    mydomain.net). By ignoring the realm_prefix "sip.", at registration,
    mydomain.net). By ignoring the realm_prefix "sip.", at registration,
-   sip.mydomain.net will be equivalent to mydomain.net.This parameter can
+   sip.mydomain.net will be equivalent to mydomain.net. This parameter can
    be modified via the Kamailio config framework.
    be modified via the Kamailio config framework.
 
 
    Default value is NULL (none).
    Default value is NULL (none).
@@ -431,7 +431,7 @@ modparam("registrar", "append_branches", 0)
 
 
    If set to 1 then AOR comparison and also storing will be case
    If set to 1 then AOR comparison and also storing will be case
    sensitive, if set to 0 then AOR comparison and storing will be case
    sensitive, if set to 0 then AOR comparison and storing will be case
-   insensitive--This is recommended. This parameter can be modified via
+   insensitive. This is recommended. This parameter can be modified via
    Kamailio config framework.
    Kamailio config framework.
 
 
    Default value is 0.
    Default value is 0.
@@ -446,8 +446,8 @@ modparam("registrar", "case_sensitive", 1)
    Registrar will store the value of the AVP configured by this parameter
    Registrar will store the value of the AVP configured by this parameter
    in the received column in the user location database. It will leave the
    in the received column in the user location database. It will leave the
    column empty if the AVP is empty. The AVP should contain a SIP URI
    column empty if the AVP is empty. The AVP should contain a SIP URI
-   consisting of the source IP, port, and protocol of the REGISTER message
-   being processed.
+   consisting of the source IP, port, and transport protocol of the
+   REGISTER message being processed.
 
 
 Note
 Note
 
 
@@ -463,9 +463,9 @@ modparam("registrar", "received_avp", "$avp(s:rcv)")
 
 
 3.12. received_param (string)
 3.12. received_param (string)
 
 
-   The name of the parameter that will be appended to Contacts of 200 OK
-   when the received URI was set by nathelper module. If the value is
-   empty string, then the parameter is not appended anymore.
+   The name of the parameter that will be appended to Contact URI's of 200
+   OK when the received URI was set by the "nathelper" module. If the
+   value is an empty string, then the parameter is not appended anymore.
 
 
    Default value is "received".
    Default value is "received".
 
 
@@ -491,11 +491,12 @@ modparam("registrar", "max_contacts", 10)
 
 
 3.14. retry_after (integer)
 3.14. retry_after (integer)
 
 
-   The registrar can generate 5xx reply to REGISTER in various situations.
-   It can, for example, happen when the max_contacts parameter is set and
-   the processing of REGISTER request would exceed the limit. In this case
-   the registrar would generate "503 Service Unavailable" response. This
-   parameter can be modified via the Kamailio config framework.
+   The registrar can generate a 5xx reply to REGISTER requests in various
+   situations. It can, for example, happen when the max_contacts parameter
+   is set and the processing of REGISTER request would exceed the limit.
+   In this case the registrar would generate "503 Service Unavailable"
+   response. This parameter can be modified via the Kamailio config
+   framework.
 
 
    If you want to add the Retry-After header field in 5xx replies, set
    If you want to add the Retry-After header field in 5xx replies, set
    this parameter to a value grater than zero (0 means do not add the
    this parameter to a value grater than zero (0 means do not add the
@@ -510,9 +511,10 @@ modparam("registrar", "retry_after", 30)
 
 
 3.15. sock_flag (integer)
 3.15. sock_flag (integer)
 
 
-   Message flag to signal to register module to look into REGISTER request
-   for a header which contains a socket description (IP:port). This socket
-   info will be stored by register instead of the received socket info.
+   Message flag to signal to the registrar module to look into REGISTER
+   request for a header which contains a socket description (IP:port).
+   This socket info will be stored by registrar instead of the received
+   socket info.
 
 
    This makes sense only in multiple replicated servers scenarios.
    This makes sense only in multiple replicated servers scenarios.
 
 
@@ -542,6 +544,8 @@ modparam("registrar", "sock_hdr_name", "Sock-Info")
 
 
    Tells if the contact filtering based on supported methods should be
    Tells if the contact filtering based on supported methods should be
    performed during lookup. It's enabled only if it has a non zero value.
    performed during lookup. It's enabled only if it has a non zero value.
+   Supported methods are listed in the "Allow:" header in the REGISTER
+   message and stored in the location database.
 
 
    Default value is 0 (disabled).
    Default value is 0 (disabled).
 
 
@@ -552,8 +556,9 @@ modparam("registrar", "method_filtering", 1)
 
 
 3.18. use_path (integer)
 3.18. use_path (integer)
 
 
-   If set to 1, the Path header is handled according to the parameter This
-   parameter can be modified via ser config framework. "path_mode".
+   If set to 1, the "Path:" header is handled according to the parameter
+   This parameter can be modified via Kamailio config framework.
+   "path_mode".
 
 
    Default value is 0 (disabled).
    Default value is 0 (disabled).
 
 
@@ -570,7 +575,7 @@ modparam("registrar", "use_path", 1)
        the reply.
        the reply.
      * 1 - The Path header is saved into usrloc, but is only included in
      * 1 - The Path header is saved into usrloc, but is only included in
        the reply if path support is indicated in the registration request
        the reply if path support is indicated in the registration request
-       by the "path" option of the "Supported" header.
+       by the "path" option in the "Supported:" header.
      * 2 - The path header is only saved into usrloc, if path support is
      * 2 - The path header is only saved into usrloc, if path support is
        indicated in the registration request by the "path" option of the
        indicated in the registration request by the "path" option of the
        "Supported" header. If no path support is indicated, the request is
        "Supported" header. If no path support is indicated, the request is
@@ -602,7 +607,7 @@ modparam("registrar", "path_use_received", 1)
 
 
 3.21. reg_callid_avp (string)
 3.21. reg_callid_avp (string)
 
 
-   If reg_callid_avp is defined and populated when registered() is
+   If reg_callid_avp is defined and populated when the registered() is
    invoked, the result is TRUE only if an active registration with the
    invoked, the result is TRUE only if an active registration with the
    specified callID is found.
    specified callID is found.
 
 
@@ -618,7 +623,7 @@ modparam("registrar", "reg_callid_avp", "$avp(s:avp)")
    Defines the name of XAVP class to store runtime module config values.
    Defines the name of XAVP class to store runtime module config values.
    The values are stored as inner XAVPs, like $xavp(class=>attribute).
    The values are stored as inner XAVPs, like $xavp(class=>attribute).
    Valid inner XAVP names:
    Valid inner XAVP names:
-     * max_contacts - the number of maximum contacts to be stored for
+     * max_contacts - the number of maximum contacts to be stored for the
        current registration AoR. It overwrites the 'max_contacts' module
        current registration AoR. It overwrites the 'max_contacts' module
        parameter value.
        parameter value.
      * socket - the string representing the socket on which the register
      * socket - the string representing the socket on which the register
@@ -653,7 +658,7 @@ modparam("registrar", "xavp_rcd", "ulrcd")
 
 
 3.24. gruu_enabled (integer)
 3.24. gruu_enabled (integer)
 
 
-   If set to 1 and GRUU "+sip.instance" parameter to Contact header of
+   If set to 1 and the "+sip.instance" parameter to Contact header of
    REGISTER is present, then the value of the parameter is saved to
    REGISTER is present, then the value of the parameter is saved to
    location and pub-gruu and temp-gruu addresses are generated.
    location and pub-gruu and temp-gruu addresses are generated.
 
 
@@ -669,20 +674,21 @@ modparam("registrar", "gruu_enabled", 0)
 3.25. outbound_mode (integer)
 3.25. outbound_mode (integer)
 
 
    If set to 0 this module will accept REGISTER requests that do not
    If set to 0 this module will accept REGISTER requests that do not
-   contain a Supported: header with the outbound options-tag. The 200 OK
+   contain a "Supported:" header with the outbound options-tag. The 200 OK
    response to REGISTER requests that this module generates will not
    response to REGISTER requests that this module generates will not
-   contain Require: or Supported: headers with the outbound options-tag.
-   If the client has a Require: header with the outbound options tag the
-   REGISTER will be rejected with a 420 Bad Extension response.
+   contain "Require:" or "Supported:" headers with the outbound
+   options-tag. If the client has a "Require:" header with the outbound
+   options tag the REGISTER will be rejected with a "420 Bad Extension"
+   response.
 
 
    If set to 1 this module will accept REGISTER requests that do not
    If set to 1 this module will accept REGISTER requests that do not
-   contain a Supported: header with the outbound options-tag and REGISTER
-   requests that do contain a Supported: or Requires: header with the
-   outbound options-tag. When the client supports outbound the appropriate
-   RFC5626 procedures will be followed.
+   contain a "Supported:" header with the outbound options-tag and
+   REGISTER requests that do contain a Supported: or Requires: header with
+   the outbound options-tag. When the client supports outbound the
+   appropriate RFC5626 procedures will be followed.
 
 
    If set to 2 this module will reject REGISTER requests that do not
    If set to 2 this module will reject REGISTER requests that do not
-   contain a Supported: header with the outbound options-tag. When the
+   contain a "Supported:" header with the outbound options-tag. When the
    client supports outbound the appropriate RFC5626 procedures will be
    client supports outbound the appropriate RFC5626 procedures will be
    followed.
    followed.
 
 
@@ -695,12 +701,12 @@ modparam("registrar", "outbound_mode", 2)
 
 
 3.26. regid_mode (integer)
 3.26. regid_mode (integer)
 
 
-   If set to 0 this module will ignore regid contact param when saving
-   REGISTER request if REGISTER request does not indicate support for
+   If set to 0 this module will ignore the "regid" contact param when
+   saving REGISTER request if the request does not indicate support for
    outbound.
    outbound.
 
 
-   If set to 1 this module will use regid contact param (if present) when
-   saving REGISTER request even if REGISTER request does not indicate
+   If set to 1 this module will use "regid" contact param (if present)
+   when saving REGISTER request even if REGISTER request does not indicate
    support for outbound.
    support for outbound.
 
 
    Default value is 0.
    Default value is 0.
@@ -712,22 +718,23 @@ modparam("registrar", "regid_mode", 1)
 
 
 3.27. flow_timer (integer)
 3.27. flow_timer (integer)
 
 
-   If set to 0 then this module will not add a Flow-Timer: header to 200
+   If set to 0 then this module will not add a "Flow-Timer:" header to 200
    OK responses to REGISTER requests.
    OK responses to REGISTER requests.
 
 
-   If set to > 0 then this module will add a Flow-Timer: header containing
-   this value to 200 OK responses to REGISTER requests. This parameter may
-   only be set to a value > 0 when outbound_mode is set to 1 or 2.
-
-   When set to a value > 0 this parameter should be set to slightly less
-   than the connection timeout value between the UAC and the network (this
-   corresponds to the core tcp_connection_lifetime option and websocket
-   keepalive_timeout modparam). This parameter is most useful when you
-   have a single edge proxy/registrar or if you have an edge proxy that
-   cannot modify responses. If you are using a separate edge proxy you
-   should consider leaving this parameter set to 0 and adding the
-   Flow-Timer: header on the edge proxy as this allows you to keep all of
-   the timer values for a specific flow in one configuration.
+   If set to > 0 then this module will add a "Flow-Timer:" header
+   containing this value to 200 OK responses to REGISTER requests. This
+   parameter may only be set to a value > 0 when outbound_mode is set to 1
+   or 2.
+
+   When set to a value greater than 0 this parameter should be set to
+   slightly less than the connection timeout value between the UAC and the
+   network (this corresponds to the core tcp_connection_lifetime option
+   and websocket keepalive_timeout modparam). This parameter is most
+   useful when you have a single edge proxy/registrar or if you have an
+   edge proxy that cannot modify responses. If you are using a separate
+   edge proxy you should consider leaving this parameter set to 0 and
+   adding the "Flow-Timer:" header on the edge proxy as this allows you to
+   keep all of the timer values for a specific flow in one configuration.
 
 
    Default value is 0.
    Default value is 0.
 
 
@@ -750,15 +757,15 @@ modparam("registrar", "flow_timer", 25)
 4.1. save(domain, [, flags [, uri]])
 4.1. save(domain, [, flags [, uri]])
 
 
    The function processes a REGISTER message. It can add, remove or modify
    The function processes a REGISTER message. It can add, remove or modify
-   usrloc records depending on Contact and Expires HFs in the REGISTER
-   message. On success and when called from the REQUEST_ROUTE, 200 OK will
-   be returned listing all contacts that are currently in usrloc. On an
-   error, error message will be send with a short description in reason
-   phrase.
+   location records (in usrloc) depending on Contact and Expires HFs in
+   the REGISTER message. On success and when called from the
+   REQUEST_ROUTE, "200 OK" will be returned listing all contacts that are
+   currently in the location database. On an error, an error message will
+   be sent with a short description in reason phrase.
 
 
    Meaning of the parameters is as follows:
    Meaning of the parameters is as follows:
-     * domain - Logical domain within registrar. If database is used then
-       this must be name of the table which stores the contacts.
+     * domain - Logical domain within the registrar. If a database is used
+       then this must be name of the table which stores the contacts.
      * flags (optional) - the value may be a bitwise OR of the following
      * flags (optional) - the value may be a bitwise OR of the following
        flags:
        flags:
           + 0x01 - save the contacts only in memory cache without no DB
           + 0x01 - save the contacts only in memory cache without no DB
@@ -794,12 +801,12 @@ save("location", "0x00", "sip:[email protected]");
 
 
 4.2. lookup(domain [, uri])
 4.2. lookup(domain [, uri])
 
 
-   The function extracts username from Request-URI and tries to find all
-   contacts for the username in usrloc. If there are no such contacts, -1
-   will be returned. If there are such contacts, Request-URI will be
-   overwritten with the contact that has the highest q value and
-   optionally the rest will be appended to the message (depending on
-   append_branches parameter value).
+   The lookup function extracts username and/or domain from Request-URI
+   and tries to find all contacts for the username in usrloc. If there are
+   no such contacts, -1 will be returned. If there are such contacts,
+   Request-URI will be overwritten with the contact that has the highest q
+   value and optionally the rest will be appended to the message
+   (depending on append_branches parameter value).
 
 
    If the method_filtering option is enabled, the lookup function will
    If the method_filtering option is enabled, the lookup function will
    return only the contacts that support the method of the processed
    return only the contacts that support the method of the processed
@@ -840,7 +847,7 @@ switch ($retcode) {
    Meaning of the parameters is as follows:
    Meaning of the parameters is as follows:
      * domain - Name of table that should be used for the lookup.
      * domain - Name of table that should be used for the lookup.
 
 
-   Return codes are propagated from lookup(domain).
+   Return codes are propagated from the lookup(domain) function.
 
 
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
 
 
@@ -853,7 +860,7 @@ lookup_branches("location");
 
 
    The function returns true if the AOR in the Request-URI is registered,
    The function returns true if the AOR in the Request-URI is registered,
    false otherwise. The function does not modify the message being
    false otherwise. The function does not modify the message being
-   process, it neither rewrites the Request-URI if a contact is found not
+   process, it neither rewrites the Request-URI if a contact is found nor
    append branches.
    append branches.
 
 
    Meaning of the parameters is as follows:
    Meaning of the parameters is as follows:
@@ -873,10 +880,10 @@ if (registered("location")) {
 
 
 4.5. add_sock_hdr(hdr_name)
 4.5. add_sock_hdr(hdr_name)
 
 
-   Adds to the current REGISTER request a new header with "hdr_name" which
+   Adds a new header to the current REGISTER request with "hdr_name" which
    contains the description of the received socket (proto:ip:port)
    contains the description of the received socket (proto:ip:port)
 
 
-   This make sens only in multiple replicated servers scenarios.
+   This makes sense only in multiple replicated servers scenarios.
 
 
    Meaning of the parameters is as follows:
    Meaning of the parameters is as follows:
      * hdr_name - header name to be used.
      * hdr_name - header name to be used.
@@ -890,10 +897,11 @@ add_sock_hdr("Sock-Info");
 
 
 4.6. unregister(domain, uri[, ruid])
 4.6. unregister(domain, uri[, ruid])
 
 
-   The function removes contacts associated with 'uri'. If 'ruid' is
-   provided a specific contact is removed, if 'ruid' is not provided all
-   contacts are removed. If 'ruid' is provided and usrloc is using
-   db_mode=3, 'uri' does not need to be given and can be empty string.
+   The function removes contacts associated with 'uri' from the location
+   database. If 'ruid' is provided a specific contact is removed, if
+   'ruid' is not provided all the current contacts are removed. If 'ruid'
+   is provided and the "usrloc" module is using "db_mode=3", 'uri' does
+   not need to be given and can be empty string.
 
 
    Meaning of the parameters is as follows:
    Meaning of the parameters is as follows:
      * domain - Name of table that should be used for the lookup or
      * domain - Name of table that should be used for the lookup or
@@ -1069,7 +1077,7 @@ Chapter 2. Frequently Asked Questions
 
 
    2.1. What happend with the old "nat_flag" module parameter?
    2.1. What happend with the old "nat_flag" module parameter?
    2.2. What happend with the old "use_domain" module parameter?
    2.2. What happend with the old "use_domain" module parameter?
-   2.3. What happend with the old "save_noreply" and "save_memory"
+   2.3. What happened with the old "save_noreply" and "save_memory"
           functions?
           functions?
 
 
    2.4. Where can I find more about Kamailio?
    2.4. Where can I find more about Kamailio?
@@ -1093,7 +1101,7 @@ Chapter 2. Frequently Asked Questions
 
 
    2.3.
    2.3.
 
 
-   What happend with the old "save_noreply" and "save_memory" functions?
+   What happened with the old "save_noreply" and "save_memory" functions?
 
 
    There functions were merged into the new "save(domain,flags)"
    There functions were merged into the new "save(domain,flags)"
    functions. If a reply should be sent or if the DB should be updated
    functions. If a reply should be sent or if the DB should be updated

+ 102 - 95
modules/registrar/doc/registrar_admin.xml

@@ -13,7 +13,7 @@
 	
 	
 	<title>&adminguide;</title>
 	<title>&adminguide;</title>
 	
 	
-	<section>
+	<section id="rergistrar.overview">
 	<title>Overview</title>
 	<title>Overview</title>
 	<para>The module contains REGISTER processing logic. The actual location
 	<para>The module contains REGISTER processing logic. The actual location
 		database is managed by the USRLOC module.
 		database is managed by the USRLOC module.
@@ -77,8 +77,8 @@
 			addresses.
 			addresses.
 		</para>
 		</para>
 		<para>
 		<para>
-			The public GRUU is build based on '+sip.instance'
-			parameter as recommended by RFC.
+			The public GRUU is build based on the '+sip.instance'
+			UUID parameter as recommended by RFC.
 		</para>
 		</para>
 		<para>
 		<para>
 			The temporary GRUU is built based on internal SRUID (unique
 			The temporary GRUU is built based on internal SRUID (unique
@@ -127,7 +127,7 @@
 	</section>
 	</section>
 	<section>
 	<section>
 	<title>Parameters</title>
 	<title>Parameters</title>
-	<section>
+	<section id="registrar.p.default_expires">
 		<title><varname>default_expires</varname> (integer)</title>
 		<title><varname>default_expires</varname> (integer)</title>
 		<para>
 		<para>
 		If the processed message contains neither Expires 
 		If the processed message contains neither Expires 
@@ -153,14 +153,14 @@ modparam("registrar", "default_expires", 1800)
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="registrar.p.default_expires_range">
 		<title><varname>default_expires_range</varname> (integer)</title>
 		<title><varname>default_expires_range</varname> (integer)</title>
 		<para>
 		<para>
 		This parameter specifies that the expiry used for newly created usrloc records
 		This parameter specifies that the expiry used for newly created usrloc records
 		are not fixed, but a random value in the interval <quote>[default_expires-default_expires_range%, default_expires]</quote>.
 		are not fixed, but a random value in the interval <quote>[default_expires-default_expires_range%, default_expires]</quote>.
 		The value is between 0 and 100 and represent the maximim percentage from expires that
 		The value is between 0 and 100 and represent the maximim percentage from expires that
-		will be substracted when computing the value. Default in 0, meaning default_expires
-		is left unmodified. This parameter can be modified via ser config framework.
+		will be substracted when computing the value. Default is 0, meaning default_expires
+		is left unmodified. This parameter can be modified via the &kamailio; config framework.
 		</para>
 		</para>
 		<para>
 		<para>
 		<emphasis>
 		<emphasis>
@@ -176,12 +176,12 @@ modparam("registrar", "default_expires_range", 30) # +- 30% from default_expires
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="registrar.p.expires_range">
 		<title><varname>expires_range</varname> (integer)</title>
 		<title><varname>expires_range</varname> (integer)</title>
 		<para>
 		<para>
 		Similar to default_expires_range, but it applies to the incoming expires
 		Similar to default_expires_range, but it applies to the incoming expires
 		value. Default in 0, meaning the expires is left unmodified. 
 		value. Default in 0, meaning the expires is left unmodified. 
-		This parameter can be modified via config framework.
+		This parameter can be modified via the &kamailio; config framework.
 		</para>
 		</para>
 		<para>
 		<para>
 		<emphasis>
 		<emphasis>
@@ -198,12 +198,12 @@ modparam("registrar", "expires_range", 30) # expires within [0.7*expires .. expi
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.min_expires">
 		<title><varname>min_expires</varname> (integer)</title>
 		<title><varname>min_expires</varname> (integer)</title>
 		<para>
 		<para>
-		The minimum expires value of a Contact, values lower than this 
+		The minimum expires value of a <quote>Contact</quote>. Values lower than this 
 		minimum will be automatically set to the minimum. Value 0 disables 
 		minimum will be automatically set to the minimum. Value 0 disables 
-		the checking. This parameter can be modified via ser config framework.
+		the checking. This parameter can be modified via the &kamailio; config framework.
 		</para>
 		</para>
 		<para>
 		<para>
 		<emphasis>
 		<emphasis>
@@ -219,12 +219,12 @@ modparam("registrar", "min_expires", 60)
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="registrar.p.max_expires">
 		<title><varname>max_expires</varname> (integer)</title>
 		<title><varname>max_expires</varname> (integer)</title>
 		<para>
 		<para>
-		The maximum expires value of a Contact, values higher than this 
+		The maximum accepted expires value of a <quote>Contact</quote>, values higher than this 
 		maximum will be automatically set to the maximum. Value 0 disables 
 		maximum will be automatically set to the maximum. Value 0 disables 
-		the checking. This parameter can be modified via ser config framework.
+		the checking. This parameter can be modified via the &kamailio; config framework.
 		</para>
 		</para>
 		<para>
 		<para>
 		<emphasis>
 		<emphasis>
@@ -241,13 +241,14 @@ modparam("registrar", "max_expires", 120)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.default_q">
 		<title><varname>default_q</varname> (integer)</title>
 		<title><varname>default_q</varname> (integer)</title>
 		<para>
 		<para>
-		The parameter represents default q value for new contacts. Because 
+		The parameter represents default <quote>q</quote> value for new contacts. Because 
 		&kamailio; doesn't support float parameter types, the value in the parameter 
 		&kamailio; doesn't support float parameter types, the value in the parameter 
 		is divided by 1000 and stored as float. For example, if you want 
 		is divided by 1000 and stored as float. For example, if you want 
-		default_q to be 0.38, use value 380 here. This parameter can be modified via ser config framework.
+		default_q to be 0.38, use value 380 here. This parameter can be modified via 
+		the &kamailio; config framework.
 		</para>
 		</para>
 		<para>
 		<para>
 		<emphasis>
 		<emphasis>
@@ -264,7 +265,7 @@ modparam("registrar", "default_q", 1000)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.realm_prefix">
 		<title><varname>realm_prefix</varname> (string)</title>
 		<title><varname>realm_prefix</varname> (string)</title>
 		<para>
 		<para>
 		 Prefix to be automatically stripped from realm. As an alternative to 
 		 Prefix to be automatically stripped from realm. As an alternative to 
@@ -272,7 +273,7 @@ modparam("registrar", "default_q", 1000)
 		 the master domain can be defined for SIP purposes (like 
 		 the master domain can be defined for SIP purposes (like 
 		 sip.mydomain.net pointing to same IP address as the SRV record for 
 		 sip.mydomain.net pointing to same IP address as the SRV record for 
 		 mydomain.net). By ignoring the realm_prefix "sip.", at registration,
 		 mydomain.net). By ignoring the realm_prefix "sip.", at registration,
-		 sip.mydomain.net will be equivalent to mydomain.net.This parameter 
+		 sip.mydomain.net will be equivalent to mydomain.net. This parameter 
 		 can be modified via the &kamailio; config framework.
 		 can be modified via the &kamailio; config framework.
 		</para>
 		</para>
 		<para>
 		<para>
@@ -318,7 +319,7 @@ modparam("registrar", "append_branches", 0)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.aor_avp">
 		<title><varname>aor_avp</varname> (str)</title>
 		<title><varname>aor_avp</varname> (str)</title>
 		<para>
 		<para>
 		This module parameter has been removed. Use the 'uri' parameter from
 		This module parameter has been removed. Use the 'uri' parameter from
@@ -326,12 +327,12 @@ modparam("registrar", "append_branches", 0)
 		</para>
 		</para>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.case_sensitive">
 		<title><varname>case_sensitive</varname> (integer)</title>
 		<title><varname>case_sensitive</varname> (integer)</title>
 		<para>
 		<para>
 		If set to 1 then <acronym>AOR</acronym> comparison and also
 		If set to 1 then <acronym>AOR</acronym> comparison and also
 		storing will be case sensitive, if set to 0 then <acronym>AOR</acronym>
 		storing will be case sensitive, if set to 0 then <acronym>AOR</acronym>
-		comparison and storing will be case insensitive--This is recommended.
+		comparison and storing will be case insensitive. This is recommended.
 		This parameter can be modified via &kamailio; config framework.
 		This parameter can be modified via &kamailio; config framework.
 		</para>
 		</para>
 		<para>
 		<para>
@@ -349,14 +350,14 @@ modparam("registrar", "case_sensitive", 1)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.received_avp">
 		<title><varname>received_avp</varname> (str)</title>
 		<title><varname>received_avp</varname> (str)</title>
 		<para>
 		<para>
 		Registrar will store the value of the AVP configured by this 
 		Registrar will store the value of the AVP configured by this 
 		parameter in the received column in the user location database. 
 		parameter in the received column in the user location database. 
 		It will leave the column empty if the AVP is empty. The AVP should 
 		It will leave the column empty if the AVP is empty. The AVP should 
 		contain a SIP URI consisting of the source IP, port,
 		contain a SIP URI consisting of the source IP, port,
-		and protocol of the REGISTER message being processed.
+		and transport protocol of the REGISTER message being processed.
 		</para>
 		</para>
 		<note>
 		<note>
 		<para>
 		<para>
@@ -379,12 +380,12 @@ modparam("registrar", "received_avp", "$avp(s:rcv)")
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.received_param">
 		<title><varname>received_param</varname> (string)</title>
 		<title><varname>received_param</varname> (string)</title>
 		<para>
 		<para>
-		The name of the parameter that will be appended to Contacts of 
-		200 OK when the received URI was set by nathelper module. If the
-		value is empty string, then the parameter is not appended anymore.
+		The name of the parameter that will be appended to Contact URI's of 
+		200 OK when the received URI was set by the <quote>nathelper</quote> module. If the
+		value is an empty string, then the parameter is not appended anymore.
 		</para>
 		</para>
 		<para>
 		<para>
 		<emphasis>
 		<emphasis>
@@ -401,7 +402,7 @@ modparam("registrar", "received_param", "rcv")
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.max_contacts">
 		<title><varname>max_contacts</varname> (integer)</title>
 		<title><varname>max_contacts</varname> (integer)</title>
 		<para>
 		<para>
 		The parameter can be used to limit the number of contacts per 
 		The parameter can be used to limit the number of contacts per 
@@ -425,10 +426,10 @@ modparam("registrar", "max_contacts", 10)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.retry_after">
 		<title><varname>retry_after</varname> (integer)</title>
 		<title><varname>retry_after</varname> (integer)</title>
 		<para>
 		<para>
-		The registrar can generate 5xx reply to REGISTER in various 
+		The registrar can generate a 5xx reply to REGISTER requests in various 
 		situations. It can, for example, happen when the 
 		situations. It can, for example, happen when the 
 		<varname>max_contacts</varname> parameter is set and the
 		<varname>max_contacts</varname> parameter is set and the
 		processing of REGISTER request would exceed the limit. In this case 
 		processing of REGISTER request would exceed the limit. In this case 
@@ -455,12 +456,12 @@ modparam("registrar", "retry_after", 30)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.sock_flag">
 		<title><varname>sock_flag</varname> (integer)</title>
 		<title><varname>sock_flag</varname> (integer)</title>
 		<para>
 		<para>
-		Message flag to signal to register module to look into REGISTER 
+		Message flag to signal to the registrar module to look into REGISTER 
 		request for a header which contains a socket description (IP:port). 
 		request for a header which contains a socket description (IP:port). 
-		This socket info will be stored by register instead of the received 
+		This socket info will be stored by registrar instead of the received 
 		socket info.
 		socket info.
 		</para>
 		</para>
 		<para>
 		<para>
@@ -481,7 +482,7 @@ modparam("registrar", "sock_flag", 18)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.sock_hdr_name">
 		<title><varname>sock_hdr_name</varname> (string)</title>
 		<title><varname>sock_hdr_name</varname> (string)</title>
 		<para>
 		<para>
 		Header which contains a socket description (proto:IP:port) to override
 		Header which contains a socket description (proto:IP:port) to override
@@ -506,12 +507,13 @@ modparam("registrar", "sock_hdr_name", "Sock-Info")
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.method_filtering">
 		<title><varname>method_filtering</varname> (integer)</title>
 		<title><varname>method_filtering</varname> (integer)</title>
 		<para>
 		<para>
 		Tells if the contact filtering based on supported methods should be
 		Tells if the contact filtering based on supported methods should be
 		performed during lookup. It's enabled only if it has a non zero 
 		performed during lookup. It's enabled only if it has a non zero 
-		value.
+		value. Supported methods are listed in the <quote>Allow:</quote> 
+		header in the REGISTER message and stored in the location database.
 		</para>
 		</para>
 		<para>
 		<para>
 		<emphasis>
 		<emphasis>
@@ -528,11 +530,11 @@ modparam("registrar", "method_filtering", 1)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.use_path">
 		<title><varname>use_path</varname> (integer)</title>
 		<title><varname>use_path</varname> (integer)</title>
 		<para>
 		<para>
-		If set to 1, the Path header is handled according to the parameter 
-		This parameter can be modified via ser config framework.
+		If set to 1, the <quote>Path:</quote> header is handled according to the parameter 
+		This parameter can be modified via &kamailio; config framework.
 		<quote>path_mode</quote>.
 		<quote>path_mode</quote>.
 		</para>
 		</para>
 		<para>
 		<para>
@@ -550,7 +552,7 @@ modparam("registrar", "use_path", 1)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.path_mode">
 		<title><varname>path_mode</varname> (integer)</title>
 		<title><varname>path_mode</varname> (integer)</title>
 		<para>
 		<para>
 		The registrar module implements three different modes regarding the 
 		The registrar module implements three different modes regarding the 
@@ -567,8 +569,8 @@ modparam("registrar", "use_path", 1)
 			<para>
 			<para>
 			1 - The Path header is saved into usrloc, but is only included in 
 			1 - The Path header is saved into usrloc, but is only included in 
 			the reply if path support is indicated in the registration request 
 			the reply if path support is indicated in the registration request 
-			by the <quote>path</quote> option of the 
-			<quote>Supported</quote> header.
+			by the <quote>path</quote> option in the 
+			<quote>Supported:</quote> header.
 			</para>
 			</para>
 		</listitem>
 		</listitem>
 		<listitem>
 		<listitem>
@@ -599,7 +601,7 @@ modparam("registrar", "path_mode", 0)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.path_use_received">
 		<title><varname>path_use_received</varname> (integer)</title>
 		<title><varname>path_use_received</varname> (integer)</title>
 		<para>
 		<para>
 		If set to 1, the <quote>received</quote> parameter of the first Path 
 		If set to 1, the <quote>received</quote> parameter of the first Path 
@@ -624,11 +626,12 @@ modparam("registrar", "path_use_received", 1)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.reg_callid_avp">
 		<title><varname>reg_callid_avp</varname> (string)</title>
 		<title><varname>reg_callid_avp</varname> (string)</title>
 		<para>
 		<para>
-		If reg_callid_avp is defined and populated when registered() is
-		invoked, the result is TRUE only if an active registration with
+		If reg_callid_avp is defined and populated when the
+		<function>registered()</function> is invoked, the result is 
+		TRUE only if an active registration with
 		the specified callID is found.
 		the specified callID is found.
 		</para>
 		</para>
 		<para>
 		<para>
@@ -646,7 +649,7 @@ modparam("registrar", "reg_callid_avp", "$avp(s:avp)")
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.xavp_cfg">
 		<title><varname>xavp_cfg</varname> (string)</title>
 		<title><varname>xavp_cfg</varname> (string)</title>
 		<para>
 		<para>
 			Defines the name of XAVP class to store runtime module config
 			Defines the name of XAVP class to store runtime module config
@@ -657,7 +660,7 @@ modparam("registrar", "reg_callid_avp", "$avp(s:avp)")
 		<listitem>
 		<listitem>
 			<para>
 			<para>
 				<emphasis>max_contacts</emphasis> - the number of maximum
 				<emphasis>max_contacts</emphasis> - the number of maximum
-				contacts to be stored for current registration AoR. It
+				contacts to be stored for the current registration AoR. It
 				overwrites the 'max_contacts' module parameter value.
 				overwrites the 'max_contacts' module parameter value.
 			</para>
 			</para>
 		</listitem>
 		</listitem>
@@ -688,7 +691,7 @@ modparam("registrar", "xavp_cfg", "reg")
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.xavp_rcd">
 		<title><varname>xavp_rcd</varname> (string)</title>
 		<title><varname>xavp_rcd</varname> (string)</title>
 		<para>
 		<para>
 			Defines the name of XAVP class to store details from the
 			Defines the name of XAVP class to store details from the
@@ -722,10 +725,10 @@ modparam("registrar", "xavp_rcd", "ulrcd")
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.gruu_enabled">
 		<title><varname>gruu_enabled</varname> (integer)</title>
 		<title><varname>gruu_enabled</varname> (integer)</title>
 		<para>
 		<para>
-		If set to 1 and GRUU <quote>+sip.instance</quote> parameter to
+		If set to 1 and the <quote>+sip.instance</quote> parameter to
 		Contact header of REGISTER is present, then the value of the
 		Contact header of REGISTER is present, then the value of the
 		parameter is saved to location and pub-gruu and temp-gruu addresses
 		parameter is saved to location and pub-gruu and temp-gruu addresses
 		are generated.
 		are generated.
@@ -748,28 +751,29 @@ modparam("registrar", "gruu_enabled", 0)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.outbound_mode">
 		<title><varname>outbound_mode</varname> (integer)</title>
 		<title><varname>outbound_mode</varname> (integer)</title>
 		<para>
 		<para>
 		If set to 0 this module will accept REGISTER requests that do
 		If set to 0 this module will accept REGISTER requests that do
-		not contain a Supported: header with the outbound options-tag.
+		not contain a <quote>Supported:</quote> header with the outbound options-tag.
 		The 200 OK response to REGISTER requests that this module
 		The 200 OK response to REGISTER requests that this module
-		generates will not contain Require: or Supported: headers with
-		the outbound options-tag. If the client has a Require: header
+		generates will not contain <quote>Require:</quote> or 
+		<quote>Supported:</quote> headers with
+		the outbound options-tag. If the client has a <quote>Require:</quote> header
 		with the outbound options tag the REGISTER will be rejected
 		with the outbound options tag the REGISTER will be rejected
-		with a 420 Bad Extension response.
+		with a <quote>420 Bad Extension</quote> response.
 		</para>
 		</para>
 		<para>
 		<para>
 		If set to 1 this module will accept REGISTER requests that
 		If set to 1 this module will accept REGISTER requests that
-		do not contain a Supported: header with the outbound
+		do not contain a <quote>Supported:</quote> header with the outbound
 		options-tag and REGISTER requests that do contain a Supported:
 		options-tag and REGISTER requests that do contain a Supported:
 		or Requires: header with the outbound options-tag. When the
 		or Requires: header with the outbound options-tag. When the
-		client supports outbound the appropriate RFC5626 procedures
-		will be followed.
+		client supports <emphasis>outbound</emphasis> the appropriate
+		RFC5626 procedures will be followed.
 		</para>
 		</para>
 		<para>
 		<para>
 		If set to 2 this module will reject REGISTER requests that
 		If set to 2 this module will reject REGISTER requests that
-		do not contain a Supported: header with the outbound
+		do not contain a <quote>Supported:</quote> header with the outbound
 		options-tag. When the client supports outbound the appropriate
 		options-tag. When the client supports outbound the appropriate
 		RFC5626 procedures will be followed.
 		RFC5626 procedures will be followed.
 		</para>
 		</para>
@@ -788,15 +792,15 @@ modparam("registrar", "outbound_mode", 2)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.regid_mode">
 		<title><varname>regid_mode</varname> (integer)</title>
 		<title><varname>regid_mode</varname> (integer)</title>
 		<para>
 		<para>
-		If set to 0 this module will ignore regid contact param
-		when saving REGISTER request if REGISTER request does not
+		If set to 0 this module will ignore the <quote>regid</quote> contact param
+		when saving REGISTER request if the request does not
 		indicate support for outbound.
 		indicate support for outbound.
 		</para>
 		</para>
 		<para>
 		<para>
-		If set to 1 this module will use regid contact param
+		If set to 1 this module will use <quote>regid</quote> contact param
 		(if present) when saving REGISTER request even if 
 		(if present) when saving REGISTER request even if 
 		REGISTER request does not indicate support for outbound.
 		REGISTER request does not indicate support for outbound.
 		</para>
 		</para>
@@ -815,20 +819,20 @@ modparam("registrar", "regid_mode", 1)
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.p.flow_timer">
 		<title><varname>flow_timer</varname> (integer)</title>
 		<title><varname>flow_timer</varname> (integer)</title>
 		<para>
 		<para>
-		If set to 0 then this module will not add a Flow-Timer: header
+		If set to 0 then this module will not add a <quote>Flow-Timer:</quote> header
 		to 200 OK responses to REGISTER requests.
 		to 200 OK responses to REGISTER requests.
 		</para>
 		</para>
 		<para>
 		<para>
-		If set to > 0 then this module will add a Flow-Timer: header
+		If set to > 0 then this module will add a <quote>Flow-Timer:</quote> header
 		containing this value to 200 OK responses to REGISTER requests.
 		containing this value to 200 OK responses to REGISTER requests.
 		This parameter may only be set to a value > 0 when
 		This parameter may only be set to a value > 0 when
 		<emphasis>outbound_mode</emphasis> is set to 1 or 2.
 		<emphasis>outbound_mode</emphasis> is set to 1 or 2.
 		</para>
 		</para>
 		<para>
 		<para>
-		When set to a value > 0 this parameter should be set to slightly
+		When set to a value greater than 0 this parameter should be set to slightly
 		less than the connection timeout value between the UAC and the
 		less than the connection timeout value between the UAC and the
 		network (this corresponds to the core
 		network (this corresponds to the core
 		<emphasis>tcp_connection_lifetime</emphasis> option and
 		<emphasis>tcp_connection_lifetime</emphasis> option and
@@ -838,7 +842,7 @@ modparam("registrar", "regid_mode", 1)
 		proxy/registrar or if you have an edge proxy that cannot modify
 		proxy/registrar or if you have an edge proxy that cannot modify
 		responses. If you are using a separate edge proxy you should
 		responses. If you are using a separate edge proxy you should
 		consider leaving this parameter set to 0 and adding the
 		consider leaving this parameter set to 0 and adding the
-		Flow-Timer: header on the edge proxy as this allows you to
+		<quote>Flow-Timer:</quote> header on the edge proxy as this allows you to
 		keep all of the timer values for a specific flow in one
 		keep all of the timer values for a specific flow in one
 		configuration.
 		configuration.
 		</para>
 		</para>
@@ -863,24 +867,24 @@ modparam("registrar", "flow_timer", 25)
 	
 	
 	<section>
 	<section>
 	<title>Functions</title>
 	<title>Functions</title>
-	<section>
+	<section id="registrar.f.save">
 		<title>
 		<title>
 		<function moreinfo="none">save(domain, [, flags [, uri]])</function>
 		<function moreinfo="none">save(domain, [, flags [, uri]])</function>
 		</title>
 		</title>
 		<para>
 		<para>
-		The function processes a REGISTER message. It can add, remove or 
-		modify usrloc records depending on Contact and Expires HFs in the 
+		The function processes a <emphasis>REGISTER</emphasis> message. It can add, remove or 
+		modify location records (in usrloc) depending on Contact and Expires HFs in the 
 		REGISTER message. On success and when called from the REQUEST_ROUTE, 
 		REGISTER message. On success and when called from the REQUEST_ROUTE, 
-		200 OK will be returned listing all	contacts that are currently in 
-		usrloc. On an error, error message will be send with a short
+		<quote>200 OK</quote> will be returned listing all contacts that are currently in 
+		the location database. On an error, an error message will be sent with a short
 		description in reason phrase.
 		description in reason phrase.
 		</para>
 		</para>
 		<para>Meaning of the parameters is as follows:</para>
 		<para>Meaning of the parameters is as follows:</para>
 		<itemizedlist>
 		<itemizedlist>
 		<listitem>
 		<listitem>
 			<para>
 			<para>
-			<emphasis>domain</emphasis> - Logical domain within registrar. 
-			If database is used then this must be name of the table which 
+			<emphasis>domain</emphasis> - Logical domain within the registrar. 
+			If a database is used then this must be name of the table which 
 			stores the contacts.
 			stores the contacts.
 			</para>
 			</para>
 		</listitem>
 		</listitem>
@@ -952,12 +956,12 @@ save("location", "0x00", "sip:[email protected]");
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.f.lookup">
 		<title>
 		<title>
 		<function moreinfo="none">lookup(domain [, uri])</function>
 		<function moreinfo="none">lookup(domain [, uri])</function>
 		</title>
 		</title>
 		<para>
 		<para>
-		The function extracts username from Request-URI and tries to find 
+		The lookup function extracts username and/or domain from Request-URI and tries to find 
 		all contacts for the username in usrloc. If there are no such 
 		all contacts for the username in usrloc. If there are no such 
 		contacts, -1 will be returned.  If there are such contacts, 
 		contacts, -1 will be returned.  If there are such contacts, 
 		Request-URI will be overwritten with the contact that has
 		Request-URI will be overwritten with the contact that has
@@ -965,7 +969,8 @@ save("location", "0x00", "sip:[email protected]");
 		the message (depending on append_branches parameter value).
 		the message (depending on append_branches parameter value).
 		</para>
 		</para>
 		<para>
 		<para>
-		If the method_filtering option is enabled, the lookup function
+		If the <varname>method_filtering</varname> option is enabled,
+		the <function>lookup</function> function
 		will return only the contacts that support the method of the
 		will return only the contacts that support the method of the
 		processed request.
 		processed request.
 		</para>
 		</para>
@@ -1024,7 +1029,7 @@ switch ($retcode) {
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.f.lookup_branches">
 		<title>
 		<title>
 		<function moreinfo="none">lookup_branches(domain)</function>
 		<function moreinfo="none">lookup_branches(domain)</function>
 		</title>
 		</title>
@@ -1041,7 +1046,8 @@ switch ($retcode) {
 			</para>
 			</para>
 		</listitem>
 		</listitem>
 		</itemizedlist>
 		</itemizedlist>
-		<para>Return codes are propagated from lookup(domain).</para>
+		<para>Return codes are propagated from the <function>lookup(domain)</function> function.
+		</para>
 
 
 		<para>
 		<para>
 		This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
 		This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
@@ -1056,7 +1062,7 @@ lookup_branches("location");
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.f.registered">
 		<title>
 		<title>
 		<function moreinfo="none">registered(domain [, uri])</function>
 		<function moreinfo="none">registered(domain [, uri])</function>
 		</title>
 		</title>
@@ -1064,7 +1070,7 @@ lookup_branches("location");
 		The function returns true if the AOR in the Request-URI is 
 		The function returns true if the AOR in the Request-URI is 
 		registered, false otherwise.  The function does not modify the 
 		registered, false otherwise.  The function does not modify the 
 		message being process, it neither rewrites the Request-URI if a 
 		message being process, it neither rewrites the Request-URI if a 
-		contact is found not append branches.
+		contact is found nor append branches.
 		</para>
 		</para>
 		<para>Meaning of the parameters is as follows:</para>
 		<para>Meaning of the parameters is as follows:</para>
 		<itemizedlist>
 		<itemizedlist>
@@ -1097,17 +1103,17 @@ if (registered("location")) {
 		</example>
 		</example>
 	</section>
 	</section>
 
 
-	<section>
+	<section id="registrar.f.add_sock_hdr">
 		<title>
 		<title>
 		<function moreinfo="none">add_sock_hdr(hdr_name)</function>
 		<function moreinfo="none">add_sock_hdr(hdr_name)</function>
 		</title>
 		</title>
 		<para>
 		<para>
-		Adds to the current REGISTER request a new header with 
+		Adds a new header to the current REGISTER request with 
 		<quote>hdr_name</quote> which contains the description of the
 		<quote>hdr_name</quote> which contains the description of the
 		received socket (proto:ip:port)
 		received socket (proto:ip:port)
 		</para>
 		</para>
 		<para>
 		<para>
-		This make sens only in multiple replicated servers scenarios.
+		This makes sense only in multiple replicated servers scenarios.
 		</para>
 		</para>
 		<para>Meaning of the parameters is as follows:</para>
 		<para>Meaning of the parameters is as follows:</para>
 		<itemizedlist>
 		<itemizedlist>
@@ -1129,15 +1135,16 @@ add_sock_hdr("Sock-Info");
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="registrar.f.unregister">
 		<title>
 		<title>
 		<function moreinfo="none">unregister(domain, uri[, ruid])</function>
 		<function moreinfo="none">unregister(domain, uri[, ruid])</function>
 		</title>
 		</title>
 		<para>
 		<para>
-		The function removes contacts associated with 'uri'. If 'ruid' is
-		provided a specific contact is removed, if 'ruid' is not provided
-		all contacts are removed.  If 'ruid' is provided and usrloc is
-		using db_mode=3, 'uri' does not need to be given and can be
+		The function removes contacts associated with 'uri' from the location
+		database. If 'ruid' is provided a specific contact is removed,
+		if 'ruid' is not provided all the current contacts are removed. 
+		If 'ruid' is provided and the <quote>usrloc</quote> module is
+		using <quote>db_mode=3</quote>, 'uri' does not need to be given and can be
 		empty string.
 		empty string.
 		</para>
 		</para>
 		<para>Meaning of the parameters is as follows:</para>
 		<para>Meaning of the parameters is as follows:</para>
@@ -1178,7 +1185,7 @@ unregister("location", "", "$ruid");
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="registrar.f.reg_fetch_contacts">
 		<title>
 		<title>
 		<function moreinfo="none">reg_fetch_contacts(domain, uri, profile)</function>
 		<function moreinfo="none">reg_fetch_contacts(domain, uri, profile)</function>
 		</title>
 		</title>
@@ -1221,7 +1228,7 @@ reg_fetch_contacts("location", "sip:[email protected]", "caller");
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>
-	<section>
+	<section id="registrar.f.reg_free_contacts">
 		<title>
 		<title>
 		<function moreinfo="none">reg_free_contacts(profile)</function>
 		<function moreinfo="none">reg_free_contacts(profile)</function>
 		</title>
 		</title>

+ 1 - 1
modules/registrar/doc/registrar_faq.xml

@@ -42,7 +42,7 @@
 
 
 	<qandaentry>
 	<qandaentry>
 		<question>
 		<question>
-		<para>What happend with the old <quote>save_noreply</quote> and <quote>save_memory</quote> functions?</para>
+		<para>What happened with the old <quote>save_noreply</quote> and <quote>save_memory</quote> functions?</para>
 		</question>
 		</question>
 		<answer>
 		<answer>
 		<para>
 		<para>