Ver Fonte

rr: regenerated the readme

Daniel-Constantin Mierla há 10 anos atrás
pai
commit
ac2882e1e6
1 ficheiros alterados com 41 adições e 24 exclusões
  1. 41 24
      modules/rr/README

+ 41 - 24
modules/rr/README

@@ -82,18 +82,19 @@ Bogdan-Andrei Iancu
    1.2. Set enable_full_lr parameter
    1.3. Set append_fromtag parameter
    1.4. Set enable_double_rr parameter
-   1.5. Set add_username parameter
-   1.6. enable_socket_mismatch_warning usage
-   1.7. custom_user_avp usage
-   1.8. loose_route usage
-   1.9. record_route usage
-   1.10. remove_record_route usage
-   1.11. record_route_preset usage
-   1.12. record_route_advertised_address usage
-   1.13. add_rr_param usage
-   1.14. check_route_param usage
-   1.15. is_direction usage
-   1.16. $route_uri
+   1.5. Set enable_double_rr to 2 to always have two explicit RR headers
+   1.6. Set add_username parameter
+   1.7. enable_socket_mismatch_warning usage
+   1.8. custom_user_avp usage
+   1.9. loose_route usage
+   1.10. record_route usage
+   1.11. remove_record_route usage
+   1.12. record_route_preset usage
+   1.13. record_route_advertised_address usage
+   1.14. add_rr_param usage
+   1.15. check_route_param usage
+   1.16. is_direction usage
+   1.17. $route_uri
    2.1. record_route usage
    2.2. record_route_advertised_address usage
    2.3. Loading RR module's API from another module
@@ -253,6 +254,22 @@ modparam("rr", "append_fromtag", 0)
    Example 1.4. Set enable_double_rr parameter
 ...
 modparam("rr", "enable_double_rr", 0)
+...
+
+   Some useragents (e. g. Linphone) incorrectly use UDP transport for
+   subsequent requests in dialog, despite being configured to use another
+   SIP transport protocol. This can be worked around by setting
+   Record-Route header with explicit transport attribute. But
+   enable_double_rr enabled in default mode omits transport attribute from
+   being added to header if it detects that both sender and receiver use
+   same protocol (e. g. TCP or TLS), and this results in UDP being used by
+   such broken clients. Set enable_double_rr to value 2 to always have two
+   RR headers with transport attributes expicitly set.
+
+   Example 1.5. Set enable_double_rr to 2 to always have two explicit RR
+   headers
+...
+modparam("rr", "enable_double_rr", 2)
 ...
 
 4.4. add_username (integer)
@@ -266,7 +283,7 @@ modparam("rr", "enable_double_rr", 0)
 
    Default value is 0 (no).
 
-   Example 1.5. Set add_username parameter
+   Example 1.6. Set add_username parameter
 ...
 modparam("rr", "add_username", 1)
 ...
@@ -282,7 +299,7 @@ modparam("rr", "add_username", 1)
 
    Default value is 1 (yes).
 
-   Example 1.6. enable_socket_mismatch_warning usage
+   Example 1.7. enable_socket_mismatch_warning usage
 ...
 modparam("rr", "enable_socket_mismatch_warning", 0)
 ...
@@ -297,7 +314,7 @@ modparam("rr", "enable_socket_mismatch_warning", 0)
    Default value: if not set, the std add_username behaviour is used -
    i.e. Request URI username.
 
-   Example 1.7. custom_user_avp usage
+   Example 1.8. custom_user_avp usage
 ...
 modparam("rr", "custom_user_avp", "$avp(RR_CUSTOMER_USER_AVP)")
 
@@ -359,7 +376,7 @@ record_route();
 
    This function can be used from REQUEST_ROUTE.
 
-   Example 1.8. loose_route usage
+   Example 1.9. loose_route usage
 ...
 loose_route();
 ...
@@ -382,7 +399,7 @@ loose_route();
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE and
    FAILURE_ROUTE.
 
-   Example 1.9. record_route usage
+   Example 1.10. record_route usage
 ...
 record_route();
 ...
@@ -396,7 +413,7 @@ record_route();
 
    This function can be used from REQUEST_ROUTE and FAILURE_ROUTE.
 
-   Example 1.10. remove_record_route usage
+   Example 1.11. remove_record_route usage
 ...
 remove_record_route();
 ...
@@ -424,7 +441,7 @@ remove_record_route();
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE and
    FAILURE_ROUTE.
 
-   Example 1.11. record_route_preset usage
+   Example 1.12. record_route_preset usage
 ...
 record_route_preset("1.2.3.4:5090");
 ...
@@ -451,7 +468,7 @@ record_route_preset("1.2.3.4:5090");
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE and
    FAILURE_ROUTE.
 
-   Example 1.12. record_route_advertised_address usage
+   Example 1.13. record_route_advertised_address usage
 ...
 record_route_advertised_address("1.2.3.4:5080");
 ...
@@ -471,7 +488,7 @@ record_route_advertised_address("1.2.3.4:5080");
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE and
    FAILURE_ROUTE.
 
-   Example 1.13. add_rr_param usage
+   Example 1.14. add_rr_param usage
 ...
 add_rr_param(";nat=yes");
 ...
@@ -488,7 +505,7 @@ add_rr_param(";nat=yes");
 
    This function can be used from REQUEST_ROUTE.
 
-   Example 1.14. check_route_param usage
+   Example 1.15. check_route_param usage
 ...
 if (check_route_param("nat=yes")) {
     setflag(6);
@@ -516,7 +533,7 @@ if (check_route_param("nat=yes")) {
 
    This function can be used from REQUEST_ROUTE.
 
-   Example 1.15. is_direction usage
+   Example 1.16. is_direction usage
 ...
 if (is_direction("downstream")) {
     xdbg("in-dialog request from caller to callee (downstream) ($rm)\n");
@@ -533,7 +550,7 @@ if (is_direction("downstream")) {
 
    Returns the URI of the top route-header.
 
-   Example 1.16. $route_uri
+   Example 1.17. $route_uri
 ...
     xdbg("Route-URI is: $route_uri\n");
 ...