On Tue, Jun 27, 2017 at 08:48:07AM +0000, Grant Bagdasarian wrote:
I'm trying to remove all custom headers starting
with X-, except a
certain header, but Kamailio won't start due to an error. ERROR:
<core> [route.c:1154]: fix_actions(): fixing failed (code=-1) at
cfg:/etc/kamailio/kamailio.cfg:455
remove_hf_re("^(?!X-ThisHeaderShouldNotBeRemoved)X-.*") or
remove_hf_re("^(?!X- ThisHeaderShouldNotBeRemoved)X-")
This is valid regex according to
https://regex101.com/
Any idea's why this won't compile?
Maybe because kamailio uses a regular expression lib that doesn't
support this syntax (since there is a seperate regex module that
supports PCRE it implies the "standard" regexes don't).
Easy work around is to remove all X- headers and add them again,
something like:
remove_hf_re("^X-");
if(is_present_hf("X-ThisHeaderShouldNotBeRemoved"))
{
append_hf("X-ThisHeaderShouldNotBeRemoved:
$(hdr(X-ThisHeaderShouldNotBeRemoved))\r\n");
}