Ok, I tested and it is working but I would kindly need an explanation
1- the setup :
- kamailio 5.1 with three listen (on port 5060, 5063, 5066)
- 2 UAs using UDP on port 5063
- added a log in the script
```
route[WITHINDLG] {
if (!has_totag()) return;
# sequential request withing a dialog should
# take the path determined by record-routing
if (loose_route()) {
route(DLGURI);
if (is_method("BYE")) {
setflag(FLT_ACC); # do accounting ...
setflag(FLT_ACCFAILED); # ... even if the transaction fails
} else if ( is_method("ACK") ) {
# ACK is forwarded statelessly
xlog("forced socket $fs\n");
route(NATMANAGE);
} else if ( is_method("NOTIFY") ) {
# Add Record-Route for in-dialog NOTIFY as per RFC 6665.
record_route();
}
route(RELAY);
```
2- parameter for rr module
```
modparam("rr", "enable_full_lr", 0)
modparam("rr", "enable_double_rr", 1)
```
3- result - on K master, ACK gets forwarded **properly** using source port 5036 with the
following traces
```
Feb 14 17:13:50 mcudev3 /usr/local/sbin/kamailio[21394]: {1 5765 ACK
ffb8d7ca-efae-79ef-6035-dd1043352c55} DEBUG: rr [loose.c:812]: after_loose(): Topmost
route URI: 'sip:172.21.100.108:5063;lr' is me
Feb 14 17:13:50 mcudev3 /usr/local/sbin/kamailio[21394]: {1 5765 ACK
ffb8d7ca-efae-79ef-6035-dd1043352c55} DEBUG: <core> [core/parser/msg_parser.c:89]:
get_hdr_field(): found end of header
Feb 14 17:13:50 mcudev3 /usr/local/sbin/kamailio[21394]: {1 5765 ACK
ffb8d7ca-efae-79ef-6035-dd1043352c55} DEBUG: rr [loose.c:181]: find_next_route(): No next
Route HF found
Feb 14 17:13:50 mcudev3 /usr/local/sbin/kamailio[21394]: {1 5765 ACK
ffb8d7ca-efae-79ef-6035-dd1043352c55} DEBUG: rr [loose.c:842]: after_loose(): No next URI
found
Feb 14 17:13:50 mcudev3 /usr/local/sbin/kamailio[21394]: {1 5765 ACK
ffb8d7ca-efae-79ef-6035-dd1043352c55} ERROR: <script>: forced socket <null>`
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/1428#issuecomment-365662410