diff --git a/modules/uac/README b/modules/uac/README index b60a33b6f48..b2842afcb88 100644 --- a/modules/uac/README +++ b/modules/uac/README @@ -14,9 +14,9 @@ Ramona-Elena Modroiu - Copyright © 2009-2010 asipto.com + Copyright © 2009-2010 asipto.com - Copyright © 2005 Voice Sistem + Copyright © 2005 Voice Sistem __________________________________________________________________ Table of Contents @@ -196,7 +196,7 @@ Chapter 1. Admin Guide increased when authenticating INVITE requests - dialog module has to be used, with CSeq tracking feature enabled (see the readme of dialog module). - * The "uac_replace_*" functions can only be run once on the same SIP + * The “uac_replace_*” functions can only be run once on the same SIP request. Try to save needed changes in a pseudovariable and apply them once. @@ -210,9 +210,9 @@ Chapter 1. Admin Guide The following modules must be loaded before this module: * TM - Transaction Module * RR - Record-Route Module, but only if restore mode for From: URI is - set to "auto". + set to “auto”. * Dialog Module, but only if restore mode for From: URI is set to - "auto" and you want uac_replace_from or uac_replace_to to store the + “auto” and you want uac_replace_from or uac_replace_to to store the values of the URIs as dialog variables. 2.2. External Libraries or Applications @@ -245,7 +245,7 @@ Chapter 1. Admin Guide Name of Record-Route header parameter that will be used to store an encoded version of the original FROM URI. - This parameter is optional, it's default value being "vsf". + This parameter is optional, it's default value being “vsf”. Example 1.1. Set rr_from_store_param parameter ... @@ -257,7 +257,7 @@ modparam("uac","rr_from_store_param","my_param") Name of Record-Route header parameter that will be used to store (encoded) the original TO URI. - This parameter is optional, it's default value being "vst". + This parameter is optional, it's default value being “vst”. Example 1.2. Set rr_to_store_param parameter ... @@ -268,16 +268,16 @@ modparam("uac","rr_to_store_param","my_param") There are 3 modes of restoring the original FROM URI and the original TO URI: - * "none" - no information about original URI is stored; restoration + * “none” - no information about original URI is stored; restoration is not possible. - * "manual" - all following replies will be restored, but not also the + * “manual” - all following replies will be restored, but not also the sequential requests - this must be manually updated based on original URI. - * "auto" - all sequential requests and replies will be automatically + * “auto” - all sequential requests and replies will be automatically updated based on stored original URI. For this option you have to - set "modparam("rr", "append_fromtag", 1)". + set “modparam("rr", "append_fromtag", 1)”. - This parameter is optional, it's default value being "auto". + This parameter is optional, it's default value being “auto”. Example 1.3. Set restore_mode parameter ... @@ -369,9 +369,9 @@ modparam("uac","credential","username:domain:password") This can be used if the realm upstream will be using is not known in advance. - If you define it, you also need to define "auth_username_avp" - (Section 3.10, "auth_username_avp (string)") and "auth_username_avp" - (Section 3.11, "auth_password_avp (string)"). + If you define it, you also need to define “auth_username_avp” + (Section 3.10, “auth_username_avp (string)”) and “auth_username_avp” + (Section 3.11, “auth_password_avp (string)”). Example 1.9. Set auth_realm_avp parameter ... @@ -383,9 +383,9 @@ modparam("uac","auth_realm_avp","$avp(i:10)") The definition of an AVP that might contain the username to be used to perform authentication. - If you define it, you also need to define "auth_realm_avp" - (Section 3.9, "auth_realm_avp (string)") and "auth_username_avp" - (Section 3.11, "auth_password_avp (string)"). + If you define it, you also need to define “auth_realm_avp” + (Section 3.9, “auth_realm_avp (string)”) and “auth_username_avp” + (Section 3.11, “auth_password_avp (string)”). Example 1.10. Set auth_username_avp parameter ... @@ -397,9 +397,9 @@ modparam("uac","auth_username_avp","$avp(i:11)") The definition of an AVP that might contain the password to be used to perform authentication. - If you define it, you also need to define "auth_password_avp" - (Section 3.11, "auth_password_avp (string)") and "auth_username_avp" - (Section 3.11, "auth_password_avp (string)"). + If you define it, you also need to define “auth_password_avp” + (Section 3.11, “auth_password_avp (string)”) and “auth_username_avp” + (Section 3.11, “auth_password_avp (string)”). Example 1.11. Set auth_password_avp parameter ... @@ -446,7 +446,7 @@ modparam("uac", "reg_retry_interval", 300) DB table name to fetch user profiles for registration. - This parameter is optional, it's default value being "uacreg". + This parameter is optional, it's default value being “uacreg”. Example 1.15. Set reg_db_table parameter ... @@ -478,7 +478,7 @@ modparam("uac", "reg_contact_addr", "192.168.1.2:5080") 4.9. uac_reg_lookup(uuid, dst) 4.10. uac_reg_request_to(user, mode) -4.1. uac_replace_from(display,uri) +4.1. uac_replace_from(display,uri) Replace in FROM header the display name and the URI part. @@ -521,7 +521,7 @@ uac_replace_from("","sip:robin@gotham.org"); uac_replace_from("",""); ... -4.2. uac_replace_from(uri) +4.2. uac_replace_from(uri) Replace in FROM header the URI part without altering the display name. @@ -534,7 +534,7 @@ uac_replace_from("",""); uac_replace_from("sip:batman@gotham.org"); ... -4.3. uac_restore_from() +4.3. uac_restore_from() This function will check if the FROM URI was modified and will use the information stored in header parameter to restore the original FROM URI @@ -547,7 +547,7 @@ uac_replace_from("sip:batman@gotham.org"); uac_restore_from(); ... -4.4. uac_replace_to(display,uri) +4.4. uac_replace_to(display,uri) Replace in TO header the display name and the URI part. @@ -572,7 +572,7 @@ uac_replace_to("","sip:robin@gotham.org"); uac_replace_to("",""); ... -4.5. uac_replace_to(uri) +4.5. uac_replace_to(uri) Replace in TO header the URI part without altering the display name. @@ -603,7 +603,7 @@ uac_replace_to("",""); uac_replace_to("sip:batman@gotham.org"); ... -4.6. uac_restore_to() +4.6. uac_restore_to() This function will check if the TO URI was modified and will use the information stored in header parameter to restore the original TO URI @@ -616,7 +616,7 @@ uac_replace_to("sip:batman@gotham.org"); uac_restore_to(); ... -4.7. uac_auth() +4.7. uac_auth() This function can be called only from failure route and will build the authentication response header and insert it into the request without @@ -653,7 +653,7 @@ failure_route[TRUNKAUTH] { } ... -4.8. uac_req_send() +4.8. uac_req_send() This function sends a SIP message from the configuration file. The message is built out of $uac_req(...) pseudo-variable. @@ -671,7 +671,7 @@ $uac_req(callid)=$(mb{s.md5}); uac_req_send(); ... -4.9. uac_reg_lookup(uuid, dst) +4.9. uac_reg_lookup(uuid, dst) This function sets the PV dst to SIP URI that correspond to uuid in uac registations table. uuid and dst must be pseudo-variables. @@ -687,7 +687,7 @@ if(uac_reg_lookup("$rU", "$ru")) } ... -4.10. uac_reg_request_to(user, mode) +4.10. uac_reg_request_to(user, mode) This function can be used to send an authenticated request to a remote user in the uac registrations table. It sets the request-uri, dst-uri @@ -731,7 +731,7 @@ failure_route[REMOTE_AUTH] { 6.1. event_route[uac:reply] -6.1. event_route[uac:reply] +6.1. event_route[uac:reply] Event route executed for the final reply to the request set with uac_req_send(). The associated $uac_req(evroute) has to be set to 1. @@ -768,7 +768,7 @@ event_route[uac:reply] { 8.5. uac.reg_reload 8.6. uac.reg_refresh -8.1. uac.reg_dump +8.1. uac.reg_dump Dump the content of remote registration table from memory. @@ -777,7 +777,7 @@ event_route[uac:reply] { kamcmd uac.reg_dump ... -8.2. uac.reg_info +8.2. uac.reg_info Return the details of a remote registration record based on a filter. The command has two parameter: attribute and value. The attribute can @@ -798,7 +798,7 @@ event_route[uac:reply] { kamcmd uac.reg_info l_uuid account123 ... -8.3. uac.reg_enable +8.3. uac.reg_enable Enable a remote registration record based on a filter. The command has two parameter: attribute and value. The attribute can be: l_uuid, @@ -811,7 +811,7 @@ event_route[uac:reply] { kamcmd uac.reg_enable l_uuid account123 ... -8.4. uac.reg_disable +8.4. uac.reg_disable Disable a remote registration record based on a filter. The command has two parameter: attribute and value. The attribute can be: l_uuid, @@ -824,7 +824,7 @@ event_route[uac:reply] { kamcmd uac.reg_disable l_uuid account123 ... -8.5. uac.reg_reload +8.5. uac.reg_reload Reload the records from database for remote registrations. @@ -833,7 +833,7 @@ event_route[uac:reply] { kamcmd uac.reg_reload ... -8.6. uac.reg_refresh +8.6. uac.reg_refresh Load one record by l_uuid from database for remote registrations. If the record exists in memory, its authentication password is updated, @@ -871,6 +871,12 @@ event_route[uac:reply] { * expires - expiration time for registration, in seconds, e.g.,: 360 + * flags - the state of the registration, see Section 8.2, “ + uac.reg_info ” + + * reg_delay - delay initial registration with at least reg_delay + seconds, e.g.,: 3 + The module takes care of sending REGISTER and refresh registrations before they expire. diff --git a/modules/uac/doc/uac_admin.xml b/modules/uac/doc/uac_admin.xml index dc95ec8fadc..db5f695f6ba 100644 --- a/modules/uac/doc/uac_admin.xml +++ b/modules/uac/doc/uac_admin.xml @@ -1078,7 +1078,16 @@ event_route[uac:reply] { in seconds, e.g.,: 360 - + + + flags - the state of the registration, see + + + + + reg_delay - delay initial registration with at least reg_delay seconds, e.g.,: 3 + + The module takes care of sending REGISTER and refresh registrations before they expire.