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