One of my clients has a weird Cisco router which is chopping off the end of the Contact headers that are being sent to me. They look like Contact: sip:foo@192.168.28.102:5060;transport=udp;line=8hzddhav;q= Thats right, "q=" So, I figured that as a temporary hack (till they got the Cisco patched), i'd check incoming packets, and replace the "q=" with a "q=1.0" i.e., doing the following
if ( subst( '/^Contact:(.*);q=$/Contact:\1q=1.0/' ) { ... }
however, as far as I can tell, the above substitution never actually takes place? What gives? Do I need to match for '\r' too?
Ideas?