Module: kamailio
Branch: master
Commit: e99bfd2368c28e920f92af9ade1c29cb2ba709da
URL:
https://github.com/kamailio/kamailio/commit/e99bfd2368c28e920f92af9ade1c29c…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2019-12-17T19:31:12+01:00
modules: readme files regenerated - tm ... [skip ci]
---
Modified: src/modules/tm/README
---
Diff:
https://github.com/kamailio/kamailio/commit/e99bfd2368c28e920f92af9ade1c29c…
Patch:
https://github.com/kamailio/kamailio/commit/e99bfd2368c28e920f92af9ade1c29c…
---
diff --git a/src/modules/tm/README b/src/modules/tm/README
index 4b23eacb58..71ae54e48e 100644
--- a/src/modules/tm/README
+++ b/src/modules/tm/README
@@ -117,7 +117,7 @@ Daniel-Constantin Mierla
4.36. t_lookup_cancel([1])
4.37. t_drop_replies([mode])
4.38. t_save_lumps()
- 4.39. t_load_contacts()
+ 4.39. t_load_contacts([mode])
4.40. t_next_contacts()
4.41. t_next_contact_flow()
4.42. t_check_status(re)
@@ -372,7 +372,7 @@ Chapter 1. Admin Guide
4.36. t_lookup_cancel([1])
4.37. t_drop_replies([mode])
4.38. t_save_lumps()
- 4.39. t_load_contacts()
+ 4.39. t_load_contacts([mode])
4.40. t_next_contacts()
4.41. t_next_contact_flow()
4.42. t_check_status(re)
@@ -1724,7 +1724,7 @@ modparam("tm", "rich_redirect", 3)
4.36. t_lookup_cancel([1])
4.37. t_drop_replies([mode])
4.38. t_save_lumps()
- 4.39. t_load_contacts()
+ 4.39. t_load_contacts([mode])
4.40. t_next_contacts()
4.41. t_next_contact_flow()
4.42. t_check_status(re)
@@ -2473,7 +2473,7 @@ failure_route[1] {
t_relay();
}
-4.39. t_load_contacts()
+4.39. t_load_contacts([mode])
This is the first of the three functions that can be used to implement
serial/parallel forking based on q and +sip.instance values of
@@ -2489,18 +2489,33 @@ failure_route[1] {
nothing.
If the current destination set contains more than one branch, the
- function sorts them according to increasing value of the q parameter
- and then stores the branches in reverse order into the XAVP.
+ function sorts them according to the algorithm selected with the 'mode'
+ paramenter and then stores the branches in reverse order into the XAVP.
The q parameter of a branch contains a value from range 0-1.0 and it
expresses relative preference of the branch among all branches in the
destination set. The higher the q value the more preference the user
- agent gave to the branch. Branches with higher q values will be tried
- before branches with lower ones when serial forking takes place.
+ agent gave to the branch. The parameter 'mode' controls which type of
+ algorithm kamailio will apply to sort the branches based on the q
+ values:
+
+ - '0' or missing: branches with higher q values will be tried before
+ branches with lower ones when serial forking takes place Equals q
+ values will result in a parallel forking.
+
+ - '1': branches are ordered using a proportional algorithm that uses to
+ q value as the weight of the branch. Higher is the q value, higher is
+ the probability to be tried as first. Equals q values means equals
+ probability to be tried. Differently from the previous mode there is no
+ possibility to have parallel forking. Branches with q values equals to
+ 0 or lower are not considered by the ordering algorithm, but just added
+ at the end of the list as backup option if all other branches fail.
+ This algorithm can be useful in case of endpoints in ACTIVE-ACTIVE
+ configuration to load-balance the calls.
After calling t_load_contacts(), function t_next_contacts() and
possibly also t_next_contact_flow() need to be called one or more times
- in order to retrieve the branches based on their q value.
+ in order to retrieve the branches based on their order.
Function returns 1 if loading of contacts succeeded or there was
nothing to do. In case of an error, function returns -1 (see syslog).