> From: Sourav Dhar Chaudhuri <sourav_mi...@yahoo.co.in> > > Actually my scenario is attended call transfer using REFER > method. So here I want to transfer an attended call using > REFER method. But the User agent B whom I want to send REFER > request with the existing dialog information does not having > Support for replaces header. So in that case how does the User > agent B will behave when it will receive the REFER request > which is having existing Dialog information in that Refer to > header with replaces parameter?
There is some subtlty to the correct answer: "you" send a REFER request to User Agent B. The Refer-To value in the REFER request contains a "replaces" "header parameter" (called "header" in RFC 3261 section 25.1). The result of this header parameter is that the INVITE that User Agent B generates will contain a Replaces header field. This behavior is *not* dependent on whether User Agent B implements "replaces". The fact that UA B generates an INVITE is required by RFC 3515 section 2.4.3. The INVITE must be generated using the Refer-To URI. But the process of creating the INVITE from the URI is defined in RFC 3261 section 19.1.1 (among others) and it requires that *all* header parameters in the URI are used to construct header fields in the INVITE. (Excepting for certain header names that are known to be "dangerous".) UA B must create the Replaces header field regardless of whether it understands or implements Replaces headers itself. Of course, for the attended call transfer to complete successfully, the UA which *receives* the INVITE must implement Replaces. One further consideration: If the other UA does not implement Replaces, the best user experience is obtained if the other UA rejects the INVITE -- otherwise, the user at that UA receives what appears to be an additional incoming call. So it is desirable for the generated INVITE to contain the header field "Require: replaces". This can be accomplished by adjusting the Refer-To URI in the REFER request: Refer-To: sip:user@host?Replaces=....&Require=replaces Dale _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors