doc/
subfolder, the README file is autogenerated)loose_route()
in rr
checks request src ip/port against ip/port in flow tokens to detect direction and decide whether to apply flow tokens routing:
static inline int process_outbound(struct sip_msg *_m, str flow_token)
{
...
} else if(!ip_addr_cmp(&rcv->src_ip, &_m->rcv.src_ip)
|| rcv->src_port != _m->rcv.src_port) {
LM_DBG("\"incoming\" request found. Using flow-token for "
"routing\n");
...
there are cases when remote UA changes ip/port for in-dialog messages and this approach does not work.
incoming message has route set with flow tokens and src ip/port different from ones in the flow tokens.
as a result, loose_route()
routes message back to the client using flow tokens instead of using the normal part of the Route headers as expected.
new force_lr_no_outbound_flag
allows to control flow tokens usage in the loose_route()
when we know direction based on the some high level config logic (for example: by the result of ds_is_from_list()
call)
https://github.com/kamailio/kamailio/pull/4280
(3 files)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.