diff --git a/src/modules/call_control/README b/src/modules/call_control/README index cdde5983df8..f6a639e4dc4 100644 --- a/src/modules/call_control/README +++ b/src/modules/call_control/README @@ -92,6 +92,11 @@ Chapter 1. Admin Guide also instruct the rating engine to debit the balance for the caller with the consumed amount. The callcontrol application is available from http://callcontrol.ag-projects.com/ + * At the moment the callcontrol application only supports the old + “MI” interface for communication with Kamailio. This interface is + unfortunately not available anymore in Kamailio. So this + application can't be used right now together with the call_control + module. * A rating engine that is used to calculate the time limit based on the caller's credit and the destination price and to debit the caller's balance after a call ends. This is available as part of diff --git a/src/modules/dialplan/README b/src/modules/dialplan/README index 3b89fbd7da4..544c2e9a48c 100644 --- a/src/modules/dialplan/README +++ b/src/modules/dialplan/README @@ -8,16 +8,10 @@ Edited by Andreea-Ancuta Onofrei -Edited by - Juha Heinanen -Edited by - Olle E. Johansson -Edited by - Luis Martin Copyright © 2007-2008 Voice Sistem SRL @@ -556,7 +550,9 @@ xlog("translated to var $var(y) \n"); 7.2. dialplan.reload - Forces an update of the translation rules from the database. + Perform a reload of the translation rules from the database. Note that + there is a rate limiting defined by 'reload_delta' paramenter. By + default is allowed maximum one reload in five seconds. Name: dialplan.reload diff --git a/src/modules/uac/README b/src/modules/uac/README index 1add3075d28..4f7aa74d13b 100644 --- a/src/modules/uac/README +++ b/src/modules/uac/README @@ -50,6 +50,7 @@ Ramona-Elena Modroiu 3.17. reg_contact_addr (string) 3.18. reg_keep_callid (int) 3.19. reg_active (int) + 3.20. reg_gc_interval (int) 4. Functions @@ -107,29 +108,30 @@ Ramona-Elena Modroiu 1.17. Set reg_contact_addr parameter 1.18. Set reg_keep_callid parameter 1.19. Set reg_active parameter - 1.20. uac_replace_from usage + 1.20. Set reg_gc_interval parameter 1.21. uac_replace_from usage - 1.22. uac_restore_from usage - 1.23. uac_replace_to usage + 1.22. uac_replace_from usage + 1.23. uac_restore_from usage 1.24. uac_replace_to usage - 1.25. uac_restore_to usage - 1.26. uac_auth usage - 1.27. uac_req_send usage - 1.28. uac_reg_lookup usage - 1.29. uac_reg_status usage - 1.30. uac_reg_request_to usage - 1.31. uac_reg_enable usage - 1.32. uac_reg_disable usage - 1.33. uac_reg_refresh usage - 1.34. event_route[uac:reply] usage - 1.35. uac.reg_dump usage - 1.36. uac.reg_info usage - 1.37. uac.reg_enable usage - 1.38. uac.reg_disable usage - 1.39. uac.reg_reload usage - 1.40. uac.reg_refresh usage - 1.41. uac.reg_active usage - 1.42. lookup remote registrations usage + 1.25. uac_replace_to usage + 1.26. uac_restore_to usage + 1.27. uac_auth usage + 1.28. uac_req_send usage + 1.29. uac_reg_lookup usage + 1.30. uac_reg_status usage + 1.31. uac_reg_request_to usage + 1.32. uac_reg_enable usage + 1.33. uac_reg_disable usage + 1.34. uac_reg_refresh usage + 1.35. event_route[uac:reply] usage + 1.36. uac.reg_dump usage + 1.37. uac.reg_info usage + 1.38. uac.reg_enable usage + 1.39. uac.reg_disable usage + 1.40. uac.reg_reload usage + 1.41. uac.reg_refresh usage + 1.42. uac.reg_active usage + 1.43. lookup remote registrations usage Chapter 1. Admin Guide @@ -162,6 +164,7 @@ Chapter 1. Admin Guide 3.17. reg_contact_addr (string) 3.18. reg_keep_callid (int) 3.19. reg_active (int) + 3.20. reg_gc_interval (int) 4. Functions @@ -273,6 +276,7 @@ Chapter 1. Admin Guide 3.17. reg_contact_addr (string) 3.18. reg_keep_callid (int) 3.19. reg_active (int) + 3.20. reg_gc_interval (int) 3.1. rr_from_store_param (string) @@ -536,6 +540,22 @@ modparam("uac", "reg_keep_callid", 1) modparam("uac", "reg_active", 0) ... +3.20. reg_gc_interval (int) + + Timer interval (in seconds) at which remote registrations are cleaned + up in case of failure or removed. When setting it take in consideration + the maximum value for retransmission timeout, this param should be + greater than it. This value also impacts how ofter the reload for + remote registrations table can be executed -- the RPC command will fail + if executed in less than reg_gc_interval value since the last reload. + + The default value is 150 seconds. + + Example 1.20. Set reg_gc_interval parameter +... +modparam("uac", "reg_gc_interval", 60) +... + 4. Functions 4.1. uac_replace_from(display,uri) @@ -583,7 +603,7 @@ modparam("uac", "reg_active", 0) dialog variables and registering callbacks in dialog module for in dialog requests. - Example 1.20. uac_replace_from usage + Example 1.21. uac_replace_from usage ... # replace both display and uri uac_replace_from("$avp(s:display)","$avp(s:uri)"); @@ -604,7 +624,7 @@ uac_replace_from("",""); This function can be used from REQUEST_ROUTE and from BRANCH_ROUTE. - Example 1.21. uac_replace_from usage + Example 1.22. uac_replace_from usage ... uac_replace_from("sip:batman@gotham.org"); ... @@ -617,7 +637,7 @@ uac_replace_from("sip:batman@gotham.org"); This function can be used from REQUEST_ROUTE. - Example 1.22. uac_restore_from usage + Example 1.23. uac_restore_from usage ... uac_restore_from(); ... @@ -634,7 +654,7 @@ uac_restore_from(); automatically to display variable. That is no longer the case, if you expect that behavior, you will have to add the quotes by yourself. - Example 1.23. uac_replace_to usage + Example 1.24. uac_replace_to usage ... # replace both display and uri uac_replace_to("$avp(display)","$avp(uri)"); @@ -673,7 +693,7 @@ uac_replace_to("",""); variables and registering callbacks in dialog module for in dialog requests. - Example 1.24. uac_replace_to usage + Example 1.25. uac_replace_to usage ... uac_replace_to("sip:batman@gotham.org"); ... @@ -686,7 +706,7 @@ uac_replace_to("sip:batman@gotham.org"); This function can be used from REQUEST_ROUTE. - Example 1.25. uac_restore_to usage + Example 1.26. uac_restore_to usage ... uac_restore_to(); ... @@ -699,7 +719,7 @@ uac_restore_to(); This function can be used from FAILURE_ROUTE. - Example 1.26. uac_auth usage + Example 1.27. uac_auth usage ... modparam("uac","auth_username_avp","$avp(auser)") modparam("uac","auth_password_avp","$avp(apass)") @@ -736,7 +756,7 @@ failure_route[TRUNKAUTH] { This function can be used from REQUEST_ROUTE, FAILURE_ROUTE, BRANCH_ROUTE, ONREPLY_ROUTE, LOCAL_ROUTE. - Example 1.27. uac_req_send usage + Example 1.28. uac_req_send usage ... $uac_req(method)="OPTIONS"; $uac_req(ruri)="sip:kamailio.org"; @@ -753,7 +773,7 @@ uac_req_send(); This function can be used from ANY_ROUTE. - Example 1.28. uac_reg_lookup usage + Example 1.29. uac_reg_lookup usage ... if(uac_reg_lookup("$rU", "$ru")) @@ -777,7 +797,7 @@ if(uac_reg_lookup("$rU", "$ru")) This function can be used from ANY_ROUTE. - Example 1.29. uac_reg_status usage + Example 1.30. uac_reg_status usage ... $var(status) = uac_reg_status("$rU"); ... @@ -796,7 +816,7 @@ $var(status) = uac_reg_status("$rU"); This function can be used from REQUEST_ROUTE, FAILURE_ROUTE, BRANCH_ROUTE. - Example 1.30. uac_reg_request_to usage + Example 1.31. uac_reg_request_to usage ... if(uac_reg_request_to("$fU", 0)) @@ -824,7 +844,7 @@ failure_route[REMOTE_AUTH] { The SIP processing is done on the next timer routine. - Example 1.31. uac_reg_enable usage + Example 1.32. uac_reg_enable usage ... uac_reg_enable("l_uuid", "account123"); ... @@ -838,7 +858,7 @@ failure_route[REMOTE_AUTH] { The SIP processing is done on the next timer routine. - Example 1.32. uac_reg_disable usage + Example 1.33. uac_reg_disable usage ... uac_reg_disable("l_uuid", "account123"); ... @@ -849,7 +869,7 @@ failure_route[REMOTE_AUTH] { record was already loaded, new values are taken from database, otherwise a new record is created. - Example 1.33. uac_reg_refresh usage + Example 1.34. uac_reg_refresh usage ... uac_reg_refresh("account123"); ... @@ -873,7 +893,7 @@ failure_route[REMOTE_AUTH] { then the event_route is executed twice, first for 401/407 and second for final reply of the transaction. - Example 1.34. event_route[uac:reply] usage + Example 1.35. event_route[uac:reply] usage ... $uac_req(method)="OPTIONS"; $uac_req(ruri)="sip:kamailio.org"; @@ -910,7 +930,7 @@ event_route[uac:reply] { Dump the content of remote registration table from memory. - Example 1.35. uac.reg_dump usage + Example 1.36. uac.reg_dump usage ... kamcmd uac.reg_dump ... @@ -931,9 +951,10 @@ event_route[uac:reply] { * 16 (2^4) - registration initialized (after loading from database, the registration process was initialized) - Example 1.36. uac.reg_info usage + Example 1.37. uac.reg_info usage ... kamcmd uac.reg_info l_uuid account123 + kamcmd uac.reg_info l_uuid s:12345678 ... 8.3. uac.reg_enable @@ -944,9 +965,10 @@ event_route[uac:reply] { matched against the value of the attribute in the remote registration record. - Example 1.37. uac.reg_enable usage + Example 1.38. uac.reg_enable usage ... kamcmd uac.reg_enable l_uuid account123 + kamcmd uac.reg_enable l_uuid s:12345678 ... 8.4. uac.reg_disable @@ -957,16 +979,17 @@ event_route[uac:reply] { matched against the value of the attribute in the remote registration record. - Example 1.38. uac.reg_disable usage + Example 1.39. uac.reg_disable usage ... kamcmd uac.reg_disable l_uuid account123 + kamcmd uac.reg_disable l_uuid s:12345678 ... 8.5. uac.reg_reload Reload the records from database for remote registrations. - Example 1.39. uac.reg_reload usage + Example 1.40. uac.reg_reload usage ... kamcmd uac.reg_reload ... @@ -977,9 +1000,10 @@ event_route[uac:reply] { the record exists in memory, it will be replaced with the new values loaded from database. - Example 1.40. uac.reg_refresh usage + Example 1.41. uac.reg_refresh usage ... kamcmd uac.reg_refresh account123 + kamcmd uac.reg_refresh s:12345678 ... 8.7. uac.reg_active @@ -988,7 +1012,7 @@ event_route[uac:reply] { 1 enables remote registrations for all records and 0 disables doing them. - Example 1.41. uac.reg_active usage + Example 1.42. uac.reg_active usage ... kamctl rpc uac.reg_active 0 kamctl rpc uac.reg_active 1 @@ -1033,7 +1057,7 @@ event_route[uac:reply] { if the call is coming from a remote SIP provider and can change the R-URI to local username@domain. Afterwards you can run location lookup. - Example 1.42. lookup remote registrations usage + Example 1.43. lookup remote registrations usage ... if(uac_reg_lookup("$rU", "$ru")) { xlog("request from a remote SIP provider [$ou => $ru]\n");