[OpenSIPS-Users] replace_from restore redundant from

Gentrice's kaiser kaiser at gentrice.net
Mon Apr 20 19:50:44 CEST 2009


Dear Sir:


I  wrote a failure route  for serial call mechanism, it help for no  
answer call ...
  but all these serial calls need to have a new CallerID,
  so I use replace_from for this purpose.



modparam("uac","from_restore_mode","auto")


failure_route[3]
{
log(1,"******* I'm failure_route[3] *******\n");

        if (avp_pushto("$ru", "$avp(forward)"))
         {
                 append_branch();
                 avp_delete("$avp(forward)");
                 uac_replace_from("sip:1234@$fd");   # change from  
header
                 t_on_failure("3");    # try next , recursive

                 t_relay();

         }

}



If  only one forward number in AVP array , this code working fine,
the issue will happen if multiple forward number trying, ( forward  
2nd,3rd ...number)
the UAC module will restore from header in 200 OK of its following  
message when a UA answered,
we will have a duplicated "from header" in 200 OK (sending out  
opensips).
It means we will have 2 "from" headers (in 200 OK) to caller, if 2nd  
forwarded callee answer.

Caller ---> Invite ---> opensips ----> UA 0, no answer
                                            ----> UA 1, no answer
                                            ---->UA 2, answer
                                           <----200 OK
         <---200OK<---

this 200ok will have 2 "from" header.



Most of UA just ignore redundant from header, but some can not.
I think it should be UAC modules issue, anyone can help me?

best regards
KK






More information about the Users mailing list