Hi Kamailio users
How can I get a failure route to trigger in timeout-to-CANCEL in a parallel forking scenario?
Parallel forking test scenario 1. one(the main - 0) branch picks up the call 2. 2nd branch sends CANCEL (expecting 487 etc) - but the callee does not send any replies
Result: No failure route handlers are called on timeout of this CANCEL - that is kamailio attempts the CANCEL 4 times but neither tm.t_on_failure_route, tm.t_on_branch_failure handlers are called.
Any suggestions on how to resolve this?
Regards Shih-Ping
Hello,
what do you want to do when the 2nd branch does not reply a 487 to the internally generated CANCEL? Send it another four times? This branch has ended already, due to the pickup on the 1st branch.
Cheers,
Henning
From: Richard Chan shihping.chan@gmail.com Sent: Freitag, 31. März 2023 02:12 To: Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org Subject: [SR-Users] CANCEL timeout in branch route does not trigger any failure routes
Hi Kamailio users
How can I get a failure route to trigger in timeout-to-CANCEL in a parallel forking scenario?
Parallel forking test scenario 1. one(the main - 0) branch picks up the call 2. 2nd branch sends CANCEL (expecting 487 etc) - but the callee does not send any replies
Result: No failure route handlers are called on timeout of this CANCEL - that is kamailio attempts the CANCEL 4 times but neither tm.t_on_failure_route, tm.t_on_branch_failure handlers are called.
Any suggestions on how to resolve this?
Regards Shih-Ping
Hello
On 31.03.23 02:12, Richard Chan wrote:
Hi Kamailio users
How can I get a failure route to trigger in timeout-to-CANCEL in a parallel forking scenario?
Parallel forking test scenario
- one(the main - 0) branch picks up the call
- 2nd branch sends CANCEL (expecting 487 etc) - but the callee does
not send any replies
Result: No failure route handlers are called on timeout of this CANCEL - that is kamailio attempts the CANCEL 4 times but neither tm.t_on_failure_route, tm.t_on_branch_failure handlers are called.
Any suggestions on how to resolve this?
CANCEL is not a stand alone transaction, it is tied to the INVITE transaction, thus if CANCEL is not getting 200ok, there is no failure route block executed for it. Furthermore, on a transaction stateful proxy, the CANCEL is hop by hop, the incoming one is absorbed and the outgoing one is generate by Kamailio. Local generated requests don't get failure route executed as well.
Cheers, Daniel