Hi,
I want to check whether a parameter exists in a header and I am using the search_hf() function defined in textops module. I am surprised that is always returning true whether the searched pattern exists or not.
To be specific, I need to check if the “received” parameter exists in the top most via header and this is how I do it. The statements inside the if block get executed all the time irrespective of whether the received parameter exists in
the top most via or not. Any help what am I doing wrong here?
if (search_hf("Via", "received=", "f")) {
xdbg("received param $sel(via.received) in top most via header \n");
# perform necessary action
}
Case 1: no received parameter in via
Via header in response message looks like:
Via: SIP/2.0/UDP 192.168.1.5;branch=z9hG4bK39bc.c1076d93.0
Via: SIP/2.0/UDP 192.168.1.3:5060;rport=5060;branch=z9hG4bK56870034
And the corresponding debug message from Kamailio is:
./sbin/kamailio[22600]: DEBUG: <script>: received param <null> in top most via header
Case 2: received parameter exists
Via header in response message looks like:
Via: SIP/2.0/UDP 192.168.1.5;branch=z9hG4bK006e.18417697.0;received=10.139.90.137
Via: SIP/2.0/UDP 192.168.1.3:5060;rport=5060;branch=z9hG4bK960971659
And the corresponding debug message:
./sbin/kamailio[22600]: DEBUG: <script>: received param 10.139.90.137 in top most via header
Thanks,
Ajay