From cd4a51504921710816fa44330c2ac35b8136a4ab Mon Sep 17 00:00:00 2001 From: Kamailio Dev Date: Wed, 15 Apr 2020 16:16:13 +0200 Subject: [PATCH] modules: readme files regenerated - tm ... [skip ci] --- src/modules/tm/README | 223 +++++++++++++++++++++++------------------- 1 file changed, 121 insertions(+), 102 deletions(-) diff --git a/src/modules/tm/README b/src/modules/tm/README index 08d245f1e1a..509b5f6390a 100644 --- a/src/modules/tm/README +++ b/src/modules/tm/README @@ -76,6 +76,7 @@ Daniel-Constantin Mierla 3.47. event_callback_lres_sent (str) 3.48. relay_100 (str) 3.49. rich_redirect (int) + 3.50. exec_time_check (int) 4. Functions @@ -224,57 +225,58 @@ Daniel-Constantin Mierla 1.47. Set event_callback_lres_sent parameter 1.48. Set relay_100 parameter 1.49. rich_redirect example - 1.50. t_relay usage - 1.51. t_relay_to_udp usage - 1.52. t_on_failure usage - 1.53. t_on_branch_failure usage - 1.54. t_on_reply usage - 1.55. t_on_branch usage - 1.56. t_newtran usage - 1.57. t_reply usage - 1.58. t_send_reply usage - 1.59. t_lookup_request usage - 1.60. t_retransmit_reply usage - 1.61. t_release usage - 1.62. t_forward_nonack usage - 1.63. t_set_fr usage - 1.64. t_reset_fr usage - 1.65. t_set_max_lifetime usage - 1.66. t_reset_max_lifetime usage - 1.67. t_set_retr usage - 1.68. t_reset_retr usage - 1.69. t_set_auto_inv_100 usage - 1.70. t_branch_timeout usage - 1.71. t_branch_replied usage - 1.72. t_any_timeout usage - 1.73. t_any_replied usage - 1.74. t_grep_status usage - 1.75. t_is_canceled usage - 1.76. t_is_expired usage - 1.77. t_relay_cancel usage - 1.78. t_lookup_cancel usage - 1.79. t_drop_replies() usage - 1.80. t_save_lumps() usage - 1.81. t_load_contacts usage - 1.82. t_next_contacts usage - 1.83. t_next_contact_flow usage - 1.84. t_check_status usage - 1.85. t_check_trans usage - 1.86. t_set_disable_6xx usage - 1.87. t_set_disable_failover usage - 1.88. t_set_disable_internal_reply usage - 1.89. t_replicate usage - 1.90. t_relay_to usage - 1.91. t_set_no_e2e_cancel_reason usage - 1.92. t_replicate usage - 1.93. t_use_uac_headers usage - 1.94. t_is_retr_async_reply usage - 1.95. t_uac_send usage - 1.96. t_get_status_code usage - 1.97. t_clean usage - 1.98. event_route[tm:branch-failure:id] usage - 1.99. event_route[tm:local-request] usage - 1.100. event_route[tm:local-response] usage + 1.50. Set exec_time_check parameter + 1.51. t_relay usage + 1.52. t_relay_to_udp usage + 1.53. t_on_failure usage + 1.54. t_on_branch_failure usage + 1.55. t_on_reply usage + 1.56. t_on_branch usage + 1.57. t_newtran usage + 1.58. t_reply usage + 1.59. t_send_reply usage + 1.60. t_lookup_request usage + 1.61. t_retransmit_reply usage + 1.62. t_release usage + 1.63. t_forward_nonack usage + 1.64. t_set_fr usage + 1.65. t_reset_fr usage + 1.66. t_set_max_lifetime usage + 1.67. t_reset_max_lifetime usage + 1.68. t_set_retr usage + 1.69. t_reset_retr usage + 1.70. t_set_auto_inv_100 usage + 1.71. t_branch_timeout usage + 1.72. t_branch_replied usage + 1.73. t_any_timeout usage + 1.74. t_any_replied usage + 1.75. t_grep_status usage + 1.76. t_is_canceled usage + 1.77. t_is_expired usage + 1.78. t_relay_cancel usage + 1.79. t_lookup_cancel usage + 1.80. t_drop_replies() usage + 1.81. t_save_lumps() usage + 1.82. t_load_contacts usage + 1.83. t_next_contacts usage + 1.84. t_next_contact_flow usage + 1.85. t_check_status usage + 1.86. t_check_trans usage + 1.87. t_set_disable_6xx usage + 1.88. t_set_disable_failover usage + 1.89. t_set_disable_internal_reply usage + 1.90. t_replicate usage + 1.91. t_relay_to usage + 1.92. t_set_no_e2e_cancel_reason usage + 1.93. t_replicate usage + 1.94. t_use_uac_headers usage + 1.95. t_is_retr_async_reply usage + 1.96. t_uac_send usage + 1.97. t_get_status_code usage + 1.98. t_clean usage + 1.99. event_route[tm:branch-failure:id] usage + 1.100. event_route[tm:local-request] usage + 1.101. event_route[tm:local-response] usage Chapter 1. Admin Guide @@ -333,6 +335,7 @@ Chapter 1. Admin Guide 3.47. event_callback_lres_sent (str) 3.48. relay_100 (str) 3.49. rich_redirect (int) + 3.50. exec_time_check (int) 4. Functions @@ -706,6 +709,7 @@ failure_route["serial"] 3.47. event_callback_lres_sent (str) 3.48. relay_100 (str) 3.49. rich_redirect (int) + 3.50. exec_time_check (int) 3.1. fr_timer (integer) @@ -1687,6 +1691,21 @@ modparam("tm", "relay_100", 1) modparam("tm", "rich_redirect", 3) .... +3.50. exec_time_check (int) + + Duration in milliseconds for executing transaction failure callbacks + and failure_route block after which to do a safety check if transaction + is still active. + + Set it to 0 in order to disable this check. + + Default value is 5000 (5 seconds). + + Example 1.50. Set exec_time_check parameter +... +modparam("tm", "exec_time_check", 0) +... + 4. Functions 4.1. t_relay([host, port]) @@ -1764,7 +1783,7 @@ modparam("tm", "rich_redirect", 3) Returns a negative value on failure -- you may still want to send a negative reply upstream statelessly not to leave upstream UAC in lurch. - Example 1.50. t_relay usage + Example 1.51. t_relay usage ... if (!t_relay()) { @@ -1791,7 +1810,7 @@ if (!t_relay()) derived from the message uri (using sip specific DNS lookups), but with the protocol corresponding to the function name. - Example 1.51. t_relay_to_udp usage + Example 1.52. t_relay_to_udp usage ... if (src_ip==10.0.0.0/8) t_relay_to_udp("1.2.3.4", "5060"); # sent to 1.2.3.4:5060 over udp @@ -1831,7 +1850,7 @@ else Meaning of the parameters is as follows: * failure_route - Failure route block to be called. - Example 1.52. t_on_failure usage + Example 1.53. t_on_failure usage ... route { t_on_failure("1"); @@ -1867,7 +1886,7 @@ failure_route[1] { * branch_failure_route - Name of the branch_failure route block to be called (it is prefixed internally with 'tm:branch-failure:'). - Example 1.53. t_on_branch_failure usage + Example 1.54. t_on_branch_failure usage ... route { t_on_branch_failure("myroute"); @@ -1890,7 +1909,7 @@ event_route[tm:branch-failure:myroute] { Meaning of the parameters is as follows: * onreply_route - Onreply route block to be called. - Example 1.54. t_on_reply usage + Example 1.55. t_on_reply usage ... loadmodule "/usr/local/lib/ser/modules/nathelper.so" ... @@ -1922,7 +1941,7 @@ es'); Meaning of the parameters is as follows: * branch_route - branch route block to be called. - Example 1.55. t_on_branch usage + Example 1.56. t_on_branch usage ... route { t_on_branch("1"); @@ -1947,7 +1966,7 @@ branch_route[1] { structure. Use the tmx module function t_flush_flags() to synchronize the modified message flags to the already created transaction. - Example 1.56. t_newtran usage + Example 1.57. t_newtran usage ... if (t_newtran()) { xlog("the transaction has been created\n"); @@ -1979,7 +1998,7 @@ if (t_newtran()) { * code - Reply code number. * reason_phrase - Reason string. - Example 1.57. t_reply usage + Example 1.58. t_reply usage ... t_reply("404", "Not found"); ... @@ -1997,7 +2016,7 @@ t_reply("404", "Not found"); * code - Reply code number. * reason - Reason string. - Example 1.58. t_send_reply usage + Example 1.59. t_send_reply usage ... t_send_reply("404", "Not found"); ... @@ -2010,7 +2029,7 @@ t_send_reply("404", "Not found"); none was found. However this is safely (atomically) done using t_newtran. - Example 1.59. t_lookup_request usage + Example 1.60. t_lookup_request usage ... if (t_lookup_request()) { ... @@ -2021,7 +2040,7 @@ if (t_lookup_request()) { Retransmits a reply sent previously by UAS transaction. - Example 1.60. t_retransmit_reply usage + Example 1.61. t_retransmit_reply usage ... t_retransmit_reply(); ... @@ -2031,7 +2050,7 @@ t_retransmit_reply(); Remove transaction from memory (it will be first put on a wait timer to absorb delayed messages). - Example 1.61. t_release usage + Example 1.62. t_release usage ... t_release(); ... @@ -2045,7 +2064,7 @@ t_release(); * ip - IP address where the message should be sent. * port - Port number. - Example 1.62. t_forward_nonack usage + Example 1.63. t_forward_nonack usage ... t_forward_nonack("1.2.3.4", "5060"); ... @@ -2084,7 +2103,7 @@ t_forward_nonack("1.2.3.4", "5060"); See also: fr_timer, fr_inv_timer, t_reset_fr(). - Example 1.63. t_set_fr usage + Example 1.64. t_set_fr usage ... route { t_set_fr(10000); # set only fr invite timeout to 10s @@ -2111,7 +2130,7 @@ branch_route[1] { See also: fr_timer, fr_inv_timer, t_set_fr. - Example 1.64. t_reset_fr usage + Example 1.65. t_reset_fr usage ... route { ... @@ -2137,7 +2156,7 @@ route { See also: max_inv_lifetime, max_noninv_lifetime, t_reset_max_lifetime. - Example 1.65. t_set_max_lifetime usage + Example 1.66. t_set_max_lifetime usage ... route { if (src_ip=1.2.3.4) @@ -2159,7 +2178,7 @@ route { See also: max_inv_lifetime, max_noninv_lifetime, t_set_max_lifetime. - Example 1.66. t_reset_max_lifetime usage + Example 1.67. t_reset_max_lifetime usage ... route { ... @@ -2194,7 +2213,7 @@ route { See also: retr_timer1, retr_timer2, t_reset_retr(). - Example 1.67. t_set_retr usage + Example 1.68. t_set_retr usage ... route { t_set_retr(250, 0); # set only T1 to 250 ms @@ -2221,7 +2240,7 @@ branch_route[1] { See also: retr_timer1, retr_timer2, t_set_retr. - Example 1.68. t_reset_retr usage + Example 1.69. t_reset_retr usage ... route { ... @@ -2237,7 +2256,7 @@ route { See also: auto_inv_100. - Example 1.69. t_set_auto_inv_100 usage + Example 1.70. t_set_auto_inv_100 usage ... route { ... @@ -2252,7 +2271,7 @@ route { timeout. It can be used from FAILURE_ROUTE and BRANCH_FAILURE_ROUTE event route. - Example 1.70. t_branch_timeout usage + Example 1.71. t_branch_timeout usage ... failure_route[0]{ if (t_branch_timeout()){ @@ -2268,7 +2287,7 @@ failure_route[0]{ taken into account). It can be used from failure_route and branch-failure event route. - Example 1.71. t_branch_replied usage + Example 1.72. t_branch_replied usage ... failure_route[0]{ if (t_branch_timeout()){ @@ -2285,7 +2304,7 @@ failure_route[0]{ Returns true if at least one of the current transactions branches did timeout. - Example 1.72. t_any_timeout usage + Example 1.73. t_any_timeout usage ... failure_route[0]{ if (!t_branch_timeout()){ @@ -2302,7 +2321,7 @@ failure_route[0]{ receive some reply in the past. If called from a failure or onreply route, the "current" reply is not taken into account. - Example 1.73. t_any_replied usage + Example 1.74. t_any_replied usage ... onreply_route[0]{ if (!t_any_replied()){ @@ -2316,7 +2335,7 @@ onreply_route[0]{ Returns true if "code" is the final reply received (or locally generated) in at least one of the current transactions branches. - Example 1.74. t_grep_status usage + Example 1.75. t_grep_status usage ... onreply_route[0]{ if (t_grep_status("486")){ @@ -2329,7 +2348,7 @@ onreply_route[0]{ Returns true if the current transaction was canceled. - Example 1.75. t_is_canceled usage + Example 1.76. t_is_canceled usage ... failure_route[0]{ if (t_is_canceled()){ @@ -2343,7 +2362,7 @@ failure_route[0]{ Returns true if the current transaction has already been expired, i.e. the max_inv_lifetime/max_noninv_lifetime interval has already elapsed. - Example 1.76. t_is_expired usage + Example 1.77. t_is_expired usage ... failure_route[0]{ if (t_is_expired()){ @@ -2364,7 +2383,7 @@ failure_route[0]{ CANCELs were successfully sent to the pending branches, true if the INVITE was not found, and false in case of any error. - Example 1.77. t_relay_cancel usage + Example 1.78. t_relay_cancel usage if (method == CANCEL) { if (!t_relay_cancel()) { # implicit drop if relaying was successful, # nothing to do @@ -2391,7 +2410,7 @@ if (method == CANCEL) { overwritten with the flags of the INVITE. isflagset() can be used to check the flags of the previously forwarded INVITE in this case. - Example 1.78. t_lookup_cancel usage + Example 1.79. t_lookup_cancel usage if (method == CANCEL) { if (t_lookup_cancel()) { log("INVITE transaction exists"); @@ -2421,7 +2440,7 @@ if (method == CANCEL) { Dropping replies works only if a new branch is added to the transaction, or it is explicitly replied in the script! - Example 1.79. t_drop_replies() usage + Example 1.80. t_drop_replies() usage ... failure_route[0]{ if (t_check_status("5[0-9][0-9]")){ @@ -2452,7 +2471,7 @@ failure_route[0]{ The transaction must be created by t_newtran() before calling t_save_lumps(). - Example 1.80. t_save_lumps() usage + Example 1.81. t_save_lumps() usage route { ... t_newtran(); @@ -2526,7 +2545,7 @@ failure_route[1] { This function can be used from REQUEST_ROUTE and FAILURE_ROUTE. - Example 1.81. t_load_contacts usage + Example 1.82. t_load_contacts usage ... if (!t_load_contacts()) { sl_send_reply("500", "Server Internal Error - Cannot load contacts"); @@ -2567,7 +2586,7 @@ if (!t_load_contacts()) { contact_flows_avp are not anymore set. Based on that test, you can then use t_set_fr() function to set timers according to your needs. - Example 1.82. t_next_contacts usage + Example 1.83. t_next_contacts usage ... # First call after t_load_contacts() when transaction does not exist yet # and contacts should be available @@ -2605,7 +2624,7 @@ if (!t_next_contacts()) { syslog). This function can be used from a BRANCH_FAILURE_ROUTE event route. - Example 1.83. t_next_contact_flow usage + Example 1.84. t_next_contact_flow usage ... event_route[tm:branch-failure:outbound] { @@ -2628,7 +2647,7 @@ event_route[tm:branch-failure:outbound] This function can be used from ANY_ROUTE . - Example 1.84. t_check_status usage + Example 1.85. t_check_status usage ... if (t_check_status("(487)|(408)")) { log("487 or 408 negative reply\n"); @@ -2682,7 +2701,7 @@ Note See also: t_lookup_request(), t_lookup_cancel(). - Example 1.85. t_check_trans usage + Example 1.86. t_check_trans usage if ( method == "CANCEL" && !t_check_trans()) sl_reply("403", "cancel out of the blue forbidden"); # note: in this example t_check_trans() can be replaced by t_lookup_cancel() @@ -2697,7 +2716,7 @@ if ( method == "CANCEL" && !t_check_trans()) See also: disable_6xx_block. - Example 1.86. t_set_disable_6xx usage + Example 1.87. t_set_disable_6xx usage ... route { ... @@ -2712,7 +2731,7 @@ route { See also: use_dns_failover. - Example 1.87. t_set_disable_failover usage + Example 1.88. t_set_disable_failover usage ... route { ... @@ -2725,7 +2744,7 @@ route { Turn off/on sending internally a SIP reply in case of relay errors. - Example 1.88. t_set_disable_internal_reply usage + Example 1.89. t_set_disable_internal_reply usage ... t_set_disable_internal_reply(1); # turn off sending internal reply on error if(!t_relay()) { @@ -2758,7 +2777,7 @@ if(!t_relay()) { * hostport - address in "host:port" format. It can be given via an AVP. - Example 1.89. t_replicate usage + Example 1.90. t_replicate usage ... # sent to 1.2.3.4:5060 over tcp t_replicate("sip:1.2.3.4:5060;transport=tcp"); @@ -2792,7 +2811,7 @@ t_replicate_to_udp("1.2.3.4", "5060"); + 0x02 - do not generate reply on internal error. + 0x04 - disable dns failover. - Example 1.90. t_relay_to usage + Example 1.91. t_relay_to usage ... # sent to 1.2.3.4:5060 over tcp t_relay_to("tcp:1.2.3.4:5060"); @@ -2818,7 +2837,7 @@ t_relay_to("0x01"); See also: e2e_cancel_reason. - Example 1.91. t_set_no_e2e_cancel_reason usage + Example 1.92. t_set_no_e2e_cancel_reason usage ... route { ... @@ -2841,7 +2860,7 @@ opying * onreply_route - the function returns true if an onreply route is set to be executed. - Example 1.92. t_replicate usage + Example 1.93. t_replicate usage ... if(!t_is_set("failure_route")) LM_DBG("no failure route will be executed for current transaction\n"); @@ -2855,7 +2874,7 @@ if(!t_is_set("failure_route")) It returns true. - Example 1.93. t_use_uac_headers usage + Example 1.94. t_use_uac_headers usage ... t_use_uac_headers(); ... @@ -2874,7 +2893,7 @@ t_use_uac_headers(); returns true if the transaction is currently reply suspended or false if not. - Example 1.94. t_is_retr_async_reply usage + Example 1.95. t_is_retr_async_reply usage ... if (t_is_retr_async_reply()) { xlog("L_DBG", "Dropping retransmitted reply which is still currently sus @@ -2899,7 +2918,7 @@ pended\n"); Content-Type header must exist. * body - SIP message body (can be empty). - Example 1.95. t_uac_send usage + Example 1.96. t_uac_send usage ... t_uac_send("OPTIONS", "sip:alice@kamailio.org", "", "", "From: bob@kamailio.org;tag=2w3e\r\nTo: bob@kamailio.org", ""); @@ -2910,7 +2929,7 @@ t_uac_send("OPTIONS", "sip:alice@kamailio.org", "", "", Return the status code for transaction - the most relevant SIP reply status code, or -1 in case of error or no status code was set. - Example 1.96. t_get_status_code usage + Example 1.97. t_get_status_code usage ... $var(ts) = t_get_status_code(); if($var(ts) == 500) { ... } @@ -2921,7 +2940,7 @@ if($var(ts) == 500) { ... } Cleans active but very old transactions. Returns true (1). Can be called from any route. - Example 1.97. t_clean usage + Example 1.98. t_clean usage ... t_clean(); ... @@ -3039,7 +3058,7 @@ t_clean(); enabled with the t_on_branch_failure function. This event_route uses the BRANCH_FAILURE_ROUTE route type. - Example 1.98. event_route[tm:branch-failure:id] usage + Example 1.99. event_route[tm:branch-failure:id] usage ... request_route { ... @@ -3065,7 +3084,7 @@ event_route[tm:branch-failure:myroute] { The request can still be updated, i.e., changes are possible to R-URI ($ru), destination URI ($du) or the send socket ($fs). - Example 1.99. event_route[tm:local-request] usage + Example 1.100. event_route[tm:local-request] usage ... event_route [tm:local-request] { xlog("L_INFO", "Routing locally generated $rm to $ru\n"); @@ -3078,7 +3097,7 @@ event_route [tm:local-request] { Executed after the tm module sent a local generated, transaction stateful response. - Example 1.100. event_route[tm:local-response] usage + Example 1.101. event_route[tm:local-response] usage ... event_route[tm:local-response] { xlog("tm:local-response replied locally\n");