Hello,
did you played already with
- local_cancel_reason - e2e_cancel_reason
from the tm module?
Cheers,
Henning
-----Original Message----- From: Benoit Panizzon via sr-users sr-users@lists.kamailio.org Sent: Tuesday, May 13, 2025 10:45 AM To: sr-users@lists.kamailio.org Cc: Benoit Panizzon benoit.panizzon@imp.ch Subject: [SR-Users] How to remove Reason HF from branched CANCEL?
Hi Gang
I try to remove the Reason Header from a CANCEL message.
I use parallel branching on the registrar.
The route below is called very soon in request_route. The cancel matches as I get the log entry just before calling remove_hf("Reason")
But the Reason HF is still present when the CANCEL is forked to the registered CPE.
The INVITE is routed through a branch_route after forking where headers can be altered per branch. But I don't see the CANCEL in the branch route.
Is there a way to alter header in a branched cancel message?
# CANCEL processing if (is_method("CANCEL")) { if (t_check_trans()) { route(FILTER_CANCEL); route(RELAY); } exit; }
route[FILTER_CANCEL] { # Buggy iPhones send wrong cancel cause code 200. if (is_present_hf("Reason")) { $var(cause) = $(hdr(Reason){param.value,cause}); $var(text) = $(hdr(Reason){param.value,text}); if (($var(cause) == 200) && ($var(text) == "Call Rejected By User")) { if ($avp(debug) > 0) { xlog("L_INFO", "$cfg(route): Remove wrong iPhone Cancel Reason HF\n"); } remove_hf("Reason"); } } }
Mit freundlichen Grüssen
-Benoît Panizzon-