> 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

Reply via email to