On 20.04.21 13:09, Juha Heinanen wrote:
Daniel-Constantin Mierla writes:
Can you try with latest master branch? I pushed a commit to topos module.
Tried with latest master and the following in-dialog code:
if (!loose_route_mode("1")) { if (is_method("ACK")) { if (t_check_trans()) { t_relay(); } else { xinfo("Discarding unmatched $rm <$ru> by <$fu>\n"); }; } else { xnotice("Discarding in-dialog $rm <$ru> without Route header\n"); send_reply("404", "Not found"); }; exit; };
Got this to syslog:
Apr 20 10:53:11 edge /usr/bin/edge-proxy[15624]: NOTICE: {1 2 PRACK HWoFVYqzNT_-3egFTTvu0Q} <script>: Discarding in-dialog PRACK sip:atpsh-607eb272-3d06-1-leg1@46.182.160.60 without Route header
when P1 received PRACK from A (in toplogy A - P1 - P2 - P1 - B).
topos event route in P1 looks like this:
event_route[topos:msg-sending] {
if ($mt == 1) { if (is_method("INVITE") && !has_totag()) { if ($sndto(ip) == "P2") { xinfo("Setting topos leg to <leg1> on <$rm> to $sndto(ip)"); tps_set_context("leg1"); } else { xinfo("Setting topos leg to <leg2> on <$rm> to $sndto(ip)"); tps_set_context("leg2"); }; }; }
Hmm ... the issue seems to be related to missing record-route list for callee side in the transaction record.
I do not have a test bedwhere I can reproduce during the next days, would it be possible for you to use topos with db backend (mysql) instead of redis and send again the logs with debug=3? That should provide details of the db queries and indicate if the record-route values are stored/retrieved to/from database.
Cheers, Daniel