Module: kamailio Branch: 5.7 Commit: 1b55a80b71bf9a7edfe29eb40627b472565ace69 URL: https://github.com/kamailio/kamailio/commit/1b55a80b71bf9a7edfe29eb40627b472...
Author: Henning Westerholt hw@gilawa.com Committer: Henning Westerholt hw@gilawa.com Date: 2023-05-15T13:28:51Z
topos: fix early-dialog b-side UPDATE requests routing (GH #3437)
(cherry picked from commit 091dc9a76bcec5c8a4bc73e863ed10b1b9d76c92)
---
Modified: src/modules/topos/tps_msg.c
---
Diff: https://github.com/kamailio/kamailio/commit/1b55a80b71bf9a7edfe29eb40627b472... Patch: https://github.com/kamailio/kamailio/commit/1b55a80b71bf9a7edfe29eb40627b472...
---
diff --git a/src/modules/topos/tps_msg.c b/src/modules/topos/tps_msg.c index a19b30dcfc4..a11d544f777 100644 --- a/src/modules/topos/tps_msg.c +++ b/src/modules/topos/tps_msg.c @@ -946,14 +946,22 @@ int tps_request_received(sip_msg_t *msg, int dialog) } }
- if(use_branch && direction == TPS_DIR_DOWNSTREAM) { + if(use_branch) { + LM_DBG("use branch for routing information, request from direction %d\n", direction); if(tps_reappend_route(msg, &stsd, &stsd.s_rr, 1) < 0) { LM_ERR("failed to reappend s-route\n"); return -1; } - if(tps_reappend_route(msg, &stsd, &stsd.y_rr, 1) < 0) { - LM_ERR("failed to reappend b-route\n"); - return -1; + if (direction == TPS_DIR_UPSTREAM) { + if(tps_reappend_route(msg, &stsd, &stsd.x_rr, 0) < 0) { + LM_ERR("failed to reappend a-route\n"); + return -1; + } + } else { + if(tps_reappend_route(msg, &stsd, &stsd.y_rr, 1) < 0) { + LM_ERR("failed to reappend b-route\n"); + return -1; + } } } else { if(tps_reappend_route(msg, &stsd, &stsd.s_rr,