|
@@ -97,11 +97,12 @@ Olle E. Johansson
|
|
6.47. wait_ack (int)
|
|
6.47. wait_ack (int)
|
|
6.48. ka_timer (int)
|
|
6.48. ka_timer (int)
|
|
6.49. ka_interval (int)
|
|
6.49. ka_interval (int)
|
|
- 6.50. timeout_noreset (int)
|
|
|
|
- 6.51. timer_procs (int)
|
|
|
|
- 6.52. enable_dmq (int)
|
|
|
|
- 6.53. track_cseq_updates (int)
|
|
|
|
- 6.54. lreq_callee_headers (string)
|
|
|
|
|
|
+ 6.50. ka_failed_limit (int)
|
|
|
|
+ 6.51. timeout_noreset (int)
|
|
|
|
+ 6.52. timer_procs (int)
|
|
|
|
+ 6.53. enable_dmq (int)
|
|
|
|
+ 6.54. track_cseq_updates (int)
|
|
|
|
+ 6.55. lreq_callee_headers (string)
|
|
|
|
|
|
7. Functions
|
|
7. Functions
|
|
|
|
|
|
@@ -219,28 +220,29 @@ Olle E. Johansson
|
|
1.47. Set wait_ack parameter
|
|
1.47. Set wait_ack parameter
|
|
1.48. Set ka_timer parameter
|
|
1.48. Set ka_timer parameter
|
|
1.49. Set ka_interval parameter
|
|
1.49. Set ka_interval parameter
|
|
- 1.50. Set timeout_noreset parameter
|
|
|
|
- 1.51. Set timer_procs parameter
|
|
|
|
- 1.52. Set enable_dmq parameter
|
|
|
|
- 1.53. Set track_cseq_updates parameter
|
|
|
|
- 1.54. Set lreq_callee_headers parameter
|
|
|
|
- 1.55. set_dlg_profile usage
|
|
|
|
- 1.56. unset_dlg_profile usage
|
|
|
|
- 1.57. is_in_profile usage
|
|
|
|
- 1.58. get_profile_size usage
|
|
|
|
- 1.59. dlg_isflagset usage
|
|
|
|
- 1.60. dlg_setflag usage
|
|
|
|
- 1.61. dlg_resetflag usage
|
|
|
|
- 1.62. dlg_bye usage
|
|
|
|
- 1.63. dlg_refer usage
|
|
|
|
- 1.64. dlg_manage usage
|
|
|
|
- 1.65. dlg_bridge usage
|
|
|
|
- 1.66. dlg_get usage
|
|
|
|
- 1.67. is_known_dlg() usage
|
|
|
|
- 1.68. dlg_set_timeout usage
|
|
|
|
- 1.69. dlg_set_timeout_by_profile usage
|
|
|
|
- 1.70. dlg_set_property usage
|
|
|
|
- 1.71. dlg_remote_profile usage
|
|
|
|
|
|
+ 1.50. Set ka_failed_limit parameter
|
|
|
|
+ 1.51. Set timeout_noreset parameter
|
|
|
|
+ 1.52. Set timer_procs parameter
|
|
|
|
+ 1.53. Set enable_dmq parameter
|
|
|
|
+ 1.54. Set track_cseq_updates parameter
|
|
|
|
+ 1.55. Set lreq_callee_headers parameter
|
|
|
|
+ 1.56. set_dlg_profile usage
|
|
|
|
+ 1.57. unset_dlg_profile usage
|
|
|
|
+ 1.58. is_in_profile usage
|
|
|
|
+ 1.59. get_profile_size usage
|
|
|
|
+ 1.60. dlg_isflagset usage
|
|
|
|
+ 1.61. dlg_setflag usage
|
|
|
|
+ 1.62. dlg_resetflag usage
|
|
|
|
+ 1.63. dlg_bye usage
|
|
|
|
+ 1.64. dlg_refer usage
|
|
|
|
+ 1.65. dlg_manage usage
|
|
|
|
+ 1.66. dlg_bridge usage
|
|
|
|
+ 1.67. dlg_get usage
|
|
|
|
+ 1.68. is_known_dlg() usage
|
|
|
|
+ 1.69. dlg_set_timeout usage
|
|
|
|
+ 1.70. dlg_set_timeout_by_profile usage
|
|
|
|
+ 1.71. dlg_set_property usage
|
|
|
|
+ 1.72. dlg_remote_profile usage
|
|
|
|
|
|
Chapter 1. Admin Guide
|
|
Chapter 1. Admin Guide
|
|
|
|
|
|
@@ -306,11 +308,12 @@ Chapter 1. Admin Guide
|
|
6.47. wait_ack (int)
|
|
6.47. wait_ack (int)
|
|
6.48. ka_timer (int)
|
|
6.48. ka_timer (int)
|
|
6.49. ka_interval (int)
|
|
6.49. ka_interval (int)
|
|
- 6.50. timeout_noreset (int)
|
|
|
|
- 6.51. timer_procs (int)
|
|
|
|
- 6.52. enable_dmq (int)
|
|
|
|
- 6.53. track_cseq_updates (int)
|
|
|
|
- 6.54. lreq_callee_headers (string)
|
|
|
|
|
|
+ 6.50. ka_failed_limit (int)
|
|
|
|
+ 6.51. timeout_noreset (int)
|
|
|
|
+ 6.52. timer_procs (int)
|
|
|
|
+ 6.53. enable_dmq (int)
|
|
|
|
+ 6.54. track_cseq_updates (int)
|
|
|
|
+ 6.55. lreq_callee_headers (string)
|
|
|
|
|
|
7. Functions
|
|
7. Functions
|
|
|
|
|
|
@@ -517,11 +520,12 @@ Chapter 1. Admin Guide
|
|
6.47. wait_ack (int)
|
|
6.47. wait_ack (int)
|
|
6.48. ka_timer (int)
|
|
6.48. ka_timer (int)
|
|
6.49. ka_interval (int)
|
|
6.49. ka_interval (int)
|
|
- 6.50. timeout_noreset (int)
|
|
|
|
- 6.51. timer_procs (int)
|
|
|
|
- 6.52. enable_dmq (int)
|
|
|
|
- 6.53. track_cseq_updates (int)
|
|
|
|
- 6.54. lreq_callee_headers (string)
|
|
|
|
|
|
+ 6.50. ka_failed_limit (int)
|
|
|
|
+ 6.51. timeout_noreset (int)
|
|
|
|
+ 6.52. timer_procs (int)
|
|
|
|
+ 6.53. enable_dmq (int)
|
|
|
|
+ 6.54. track_cseq_updates (int)
|
|
|
|
+ 6.55. lreq_callee_headers (string)
|
|
|
|
|
|
6.1. enable_stats (integer)
|
|
6.1. enable_stats (integer)
|
|
|
|
|
|
@@ -1172,7 +1176,19 @@ modparam("dialog", "ka_timer", 10)
|
|
modparam("dialog", "ka_interval", 300)
|
|
modparam("dialog", "ka_interval", 300)
|
|
...
|
|
...
|
|
|
|
|
|
-6.50. timeout_noreset (int)
|
|
|
|
|
|
+6.50. ka_failed_limit (int)
|
|
|
|
+
|
|
|
|
+ The number of failed keep-alive requests that is accepted before
|
|
|
|
+ generating a dialog timeout.
|
|
|
|
+
|
|
|
|
+ Default value is “1”.
|
|
|
|
+
|
|
|
|
+ Example 1.50. Set ka_failed_limit parameter
|
|
|
|
+...
|
|
|
|
+modparam("dialog", "ka_failed_limit", 5)
|
|
|
|
+...
|
|
|
|
+
|
|
|
|
+6.51. timeout_noreset (int)
|
|
|
|
|
|
If set to 1, the dialog timeout won't be reset each time a sequential
|
|
If set to 1, the dialog timeout won't be reset each time a sequential
|
|
request is processed. It is an alternative to
|
|
request is processed. It is an alternative to
|
|
@@ -1180,12 +1196,12 @@ modparam("dialog", "ka_interval", 300)
|
|
|
|
|
|
Default value is “0”.
|
|
Default value is “0”.
|
|
|
|
|
|
- Example 1.50. Set timeout_noreset parameter
|
|
|
|
|
|
+ Example 1.51. Set timeout_noreset parameter
|
|
...
|
|
...
|
|
modparam("dialog", "timeout_noreset", 1)
|
|
modparam("dialog", "timeout_noreset", 1)
|
|
...
|
|
...
|
|
|
|
|
|
-6.51. timer_procs (int)
|
|
|
|
|
|
+6.52. timer_procs (int)
|
|
|
|
|
|
If set to 1, the dialog module will start a separate dialog timer
|
|
If set to 1, the dialog module will start a separate dialog timer
|
|
process to execute dialog timeout tasks. The default is to use the core
|
|
process to execute dialog timeout tasks. The default is to use the core
|
|
@@ -1193,12 +1209,12 @@ modparam("dialog", "timeout_noreset", 1)
|
|
|
|
|
|
Default value is “0” (use core timer process).
|
|
Default value is “0” (use core timer process).
|
|
|
|
|
|
- Example 1.51. Set timer_procs parameter
|
|
|
|
|
|
+ Example 1.52. Set timer_procs parameter
|
|
...
|
|
...
|
|
modparam("dialog", "timer_procs", 1)
|
|
modparam("dialog", "timer_procs", 1)
|
|
...
|
|
...
|
|
|
|
|
|
-6.52. enable_dmq (int)
|
|
|
|
|
|
+6.53. enable_dmq (int)
|
|
|
|
|
|
If set to 1, the dialog will be synced via dmq. For now, only very
|
|
If set to 1, the dialog will be synced via dmq. For now, only very
|
|
basic dialog info is shared, just enough to have synced profiles.
|
|
basic dialog info is shared, just enough to have synced profiles.
|
|
@@ -1207,12 +1223,12 @@ modparam("dialog", "timer_procs", 1)
|
|
|
|
|
|
Default value is “0”.
|
|
Default value is “0”.
|
|
|
|
|
|
- Example 1.52. Set enable_dmq parameter
|
|
|
|
|
|
+ Example 1.53. Set enable_dmq parameter
|
|
...
|
|
...
|
|
modparam("dialog", "enable_dmq", 1)
|
|
modparam("dialog", "enable_dmq", 1)
|
|
...
|
|
...
|
|
|
|
|
|
-6.53. track_cseq_updates (int)
|
|
|
|
|
|
+6.54. track_cseq_updates (int)
|
|
|
|
|
|
Enable the callbacks for tracking if CSeq number needs to be updated.
|
|
Enable the callbacks for tracking if CSeq number needs to be updated.
|
|
It is the case when the INVITE has to be authenticated to downstream
|
|
It is the case when the INVITE has to be authenticated to downstream
|
|
@@ -1224,12 +1240,12 @@ modparam("dialog", "enable_dmq", 1)
|
|
|
|
|
|
Default value is “0” (disabled).
|
|
Default value is “0” (disabled).
|
|
|
|
|
|
- Example 1.53. Set track_cseq_updates parameter
|
|
|
|
|
|
+ Example 1.54. Set track_cseq_updates parameter
|
|
...
|
|
...
|
|
modparam("dialog", "track_cseq_updates", 1)
|
|
modparam("dialog", "track_cseq_updates", 1)
|
|
...
|
|
...
|
|
|
|
|
|
-6.54. lreq_callee_headers (string)
|
|
|
|
|
|
+6.55. lreq_callee_headers (string)
|
|
|
|
|
|
SIP headers to be added when sending local generated requests (e.g.,
|
|
SIP headers to be added when sending local generated requests (e.g.,
|
|
BYE) to callee. It can be useful when you use topoh module with call-id
|
|
BYE) to callee. It can be useful when you use topoh module with call-id
|
|
@@ -1237,7 +1253,7 @@ modparam("dialog", "track_cseq_updates", 1)
|
|
|
|
|
|
Default value is “null”.
|
|
Default value is “null”.
|
|
|
|
|
|
- Example 1.54. Set lreq_callee_headers parameter
|
|
|
|
|
|
+ Example 1.55. Set lreq_callee_headers parameter
|
|
...
|
|
...
|
|
modparam("dialog", "lreq_callee_headers", "TH: dlh\r\n")
|
|
modparam("dialog", "lreq_callee_headers", "TH: dlh\r\n")
|
|
...
|
|
...
|
|
@@ -1278,7 +1294,7 @@ modparam("dialog", "lreq_callee_headers", "TH: dlh\r\n")
|
|
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
|
|
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
|
|
and FAILURE_ROUTE.
|
|
and FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.55. set_dlg_profile usage
|
|
|
|
|
|
+ Example 1.56. set_dlg_profile usage
|
|
...
|
|
...
|
|
set_dlg_profile("inbound_call");
|
|
set_dlg_profile("inbound_call");
|
|
set_dlg_profile("caller","$fu");
|
|
set_dlg_profile("caller","$fu");
|
|
@@ -1297,7 +1313,7 @@ set_dlg_profile("caller","$fu");
|
|
This function can be used from BRANCH_ROUTE, REPLY_ROUTE and
|
|
This function can be used from BRANCH_ROUTE, REPLY_ROUTE and
|
|
FAILURE_ROUTE.
|
|
FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.56. unset_dlg_profile usage
|
|
|
|
|
|
+ Example 1.57. unset_dlg_profile usage
|
|
...
|
|
...
|
|
unset_dlg_profile("inbound_call");
|
|
unset_dlg_profile("inbound_call");
|
|
unset_dlg_profile("caller","$fu");
|
|
unset_dlg_profile("caller","$fu");
|
|
@@ -1320,7 +1336,7 @@ unset_dlg_profile("caller","$fu");
|
|
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
|
|
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
|
|
and FAILURE_ROUTE.
|
|
and FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.57. is_in_profile usage
|
|
|
|
|
|
+ Example 1.58. is_in_profile usage
|
|
...
|
|
...
|
|
if (is_in_profile("inbound_call")) {
|
|
if (is_in_profile("inbound_call")) {
|
|
log("this request belongs to a inbound call\n");
|
|
log("this request belongs to a inbound call\n");
|
|
@@ -1349,7 +1365,7 @@ if (is_in_profile("caller","XX")) {
|
|
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
|
|
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
|
|
and FAILURE_ROUTE.
|
|
and FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.58. get_profile_size usage
|
|
|
|
|
|
+ Example 1.59. get_profile_size usage
|
|
...
|
|
...
|
|
if(get_profile_size("inbound_call","$avp(size)"))
|
|
if(get_profile_size("inbound_call","$avp(size)"))
|
|
xlog("currently there are $avp(size) inbound calls\n");
|
|
xlog("currently there are $avp(size) inbound calls\n");
|
|
@@ -1368,7 +1384,7 @@ if(get_profile_size("caller","$fu","$avp(size)"))
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.59. dlg_isflagset usage
|
|
|
|
|
|
+ Example 1.60. dlg_isflagset usage
|
|
...
|
|
...
|
|
if(dlg_isflagset("1"))
|
|
if(dlg_isflagset("1"))
|
|
{
|
|
{
|
|
@@ -1386,7 +1402,7 @@ if(dlg_isflagset("1"))
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.60. dlg_setflag usage
|
|
|
|
|
|
+ Example 1.61. dlg_setflag usage
|
|
...
|
|
...
|
|
dlg_setflag("1");
|
|
dlg_setflag("1");
|
|
...
|
|
...
|
|
@@ -1401,7 +1417,7 @@ dlg_setflag("1");
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.61. dlg_resetflag usage
|
|
|
|
|
|
+ Example 1.62. dlg_resetflag usage
|
|
...
|
|
...
|
|
redlg_setflag("1");
|
|
redlg_setflag("1");
|
|
...
|
|
...
|
|
@@ -1417,7 +1433,7 @@ redlg_setflag("1");
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.62. dlg_bye usage
|
|
|
|
|
|
+ Example 1.63. dlg_bye usage
|
|
...
|
|
...
|
|
dlg_bye("all");
|
|
dlg_bye("all");
|
|
...
|
|
...
|
|
@@ -1434,7 +1450,7 @@ dlg_bye("all");
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.63. dlg_refer usage
|
|
|
|
|
|
+ Example 1.64. dlg_refer usage
|
|
...
|
|
...
|
|
dlg_refer("caller", "sip:[email protected]");
|
|
dlg_refer("caller", "sip:[email protected]");
|
|
...
|
|
...
|
|
@@ -1447,7 +1463,7 @@ dlg_refer("caller", "sip:[email protected]");
|
|
|
|
|
|
This function can be used from REQUEST_ROUTE.
|
|
This function can be used from REQUEST_ROUTE.
|
|
|
|
|
|
- Example 1.64. dlg_manage usage
|
|
|
|
|
|
+ Example 1.65. dlg_manage usage
|
|
...
|
|
...
|
|
modparam("dialog", "default_timeout", 100)
|
|
modparam("dialog", "default_timeout", 100)
|
|
...
|
|
...
|
|
@@ -1475,7 +1491,7 @@ request_route {
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.65. dlg_bridge usage
|
|
|
|
|
|
+ Example 1.66. dlg_bridge usage
|
|
...
|
|
...
|
|
dlg_bridge("sip:[email protected]", "sip:[email protected]",
|
|
dlg_bridge("sip:[email protected]", "sip:[email protected]",
|
|
"sip:kamailio.org:5080");
|
|
"sip:kamailio.org:5080");
|
|
@@ -1494,7 +1510,7 @@ dlg_bridge("sip:[email protected]", "sip:[email protected]",
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
ONREPLY_ROUTE and FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.66. dlg_get usage
|
|
|
|
|
|
+ Example 1.67. dlg_get usage
|
|
...
|
|
...
|
|
if(dlg_get("abcdef", "123", "456"))
|
|
if(dlg_get("abcdef", "123", "456"))
|
|
{
|
|
{
|
|
@@ -1518,7 +1534,7 @@ if(dlg_get("abcdef", "123", "456"))
|
|
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
|
|
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
|
|
and FAILURE_ROUTE.
|
|
and FAILURE_ROUTE.
|
|
|
|
|
|
- Example 1.67. is_known_dlg() usage
|
|
|
|
|
|
+ Example 1.68. is_known_dlg() usage
|
|
...
|
|
...
|
|
if(!uri == myself) {
|
|
if(!uri == myself) {
|
|
if(is_known_dlg()) {
|
|
if(is_known_dlg()) {
|
|
@@ -1542,7 +1558,7 @@ if(!uri == myself) {
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.68. dlg_set_timeout usage
|
|
|
|
|
|
+ Example 1.69. dlg_set_timeout usage
|
|
...
|
|
...
|
|
if(dlg_set_timeout("180", "123", "456"))
|
|
if(dlg_set_timeout("180", "123", "456"))
|
|
{
|
|
{
|
|
@@ -1564,7 +1580,7 @@ if(dlg_set_timeout("180", "123", "456"))
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.69. dlg_set_timeout_by_profile usage
|
|
|
|
|
|
+ Example 1.70. dlg_set_timeout_by_profile usage
|
|
...
|
|
...
|
|
# All dialogs belonging to user abc123 (tracked via set_dlg_profile())
|
|
# All dialogs belonging to user abc123 (tracked via set_dlg_profile())
|
|
# will be timed out in 3 seconds.
|
|
# will be timed out in 3 seconds.
|
|
@@ -1596,7 +1612,7 @@ dlg_set_timeout_by_profile("users", "abc123", "3");
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.70. dlg_set_property usage
|
|
|
|
|
|
+ Example 1.71. dlg_set_property usage
|
|
...
|
|
...
|
|
dlg_set_property("ka-src");
|
|
dlg_set_property("ka-src");
|
|
dlg_set_property("ka-dst");
|
|
dlg_set_property("ka-dst");
|
|
@@ -1624,7 +1640,7 @@ dlg_set_property("timeout-noreset");
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.71. dlg_remote_profile usage
|
|
|
|
|
|
+ Example 1.72. dlg_remote_profile usage
|
|
...
|
|
...
|
|
$var(exp) = 3600 + $Ts;
|
|
$var(exp) = 3600 + $Ts;
|
|
dlg_remote_profile("add", "caller", "test", "$sruid", "$var(exp)");
|
|
dlg_remote_profile("add", "caller", "test", "$sruid", "$var(exp)");
|