On 10/28/14 11:54 AM, Dale R. Worley wrote:
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.
I disagree here. UA B would be irresponsible if it created an INVITE
including a header field that it doesn't understand.
Thanks,
Paul
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
_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors