Hi all: Have running this script on Openser 1.2.3-notls version managing forwards this way:
route[3] { ... t_on_failure("1"); if avp_db_load("$ru", "*") { if (is_avp_set("$avp(s:fwdbusy)/s")) { setflag(23); }; ...
failure_route[1] { ... if ((isflagset(23)) && (t_check_status("486"))) { if (avp_pushto("$ru", "$avp(s:fwdbusy)")) { t_reply("302","Moved Temporarily"); return; }; }; ...
User A calls user B and B has fwdbusy parameter set in user preferences; if B is busy, proxy sends 302 message back to A with contact set to $avp(s:fwdbusy) value. This setup usually works fine. However, sometimes the proxy shows a strange behaviour. It starts to append an arbitrary contact to the contact header in every forwarding it does. The contact appended has nothing to do with A or B or the uri set in the avp. The same uri is appended in all call forwardings performed in the system. If the proxy is restarted, the problem disappears.
Example:
SIP/2.0 302 Moved Temporarily Via: SIP/2.0/UDP 10.100.2.254:5060;branch=z9hG4bK51461DD5 From: <sip:30132@10.100.2.254 sip%3A30132@10.100.2.254>;tag=92DAB388-EE7 To: <sip:20050@domain.com sip%3A20050@domain.com
;tag=880a5593aeb097bc75600b31d6e17107-78ac
Call-ID: C0C84A1C-33CE11DE-BEBEEAA9-C0D323DF@192.168.2.40 CSeq: 101 INVITE Contact: sip:30050@domain.com sip%3A30050@domain.com, sip:030410@10.172.0.254:5060;transport=udp;q=0 Server: OpenSER (1.2.3-notls (i386/linux)) Content-Length: 0
sip:030410@10.172.0.254:5060;transport=udp;q=0 is added in all forwardings done the system.
Unfortunately I have no debug info cause it happens in production environment. I couldn't reproduce the problem in test environment. Have you got any idea on what could make it happen?
Thanks a lot: Fran Lizaran