I wish to replace the from address in the following manner
Received From: "05551233" sip:05551233@203.89.001.001
Replaced From: "5551233" sip:18585551233@203.89.001.001
In other words I want to do what the strip and prefix commands do but
on a
from header. Could anyone advise how this can be achieved in OpenSER
1.1?
Use the "uac" module and "uac_replace_from()" function: http://www.openser.org/docs/modules/1.1.x/uac.html#AEN160
The following code worked: avp_write("$fu","$avp(s:replaced_fu)"); avp_copy("$avp(s:replaced_fu)", "$avp(s:original_fu)"); avp_subst("$avp(s:replaced_fu)", "/(sip:)(0)([0-9]+)/99\3/"); uac_replace_from("sip:$avp(s:replaced_fu)");
Curiously I didn't need to add the $fd so the code worked differently to what I expected: original "sip:05551233@203.89.001.001" regex (sip:)(0)([0-9]+) This matches sip:05551233 with the third group of the match being 5551233. We then add the prefix 99 to get 995551233 We then do the uac_replace_from prefixing with sip:. I would have expected to add @ and the domain at the end but I don't need to; if I do so I get a bogus URI with 2 domains i.e. sip:995551233@domain@domain.
Cameron