Dale Worley wrote:
And it seems quite safe that if the REFER receives a 481 response, the
INVITE usage must not be functional any more, since the far end of that
usage has denied that it can act on the REFER.
IIRC, 5057 decided that each dialog usage must get its own 481 before it
goes away. I don't think there are any cases where a single 481 response
can make multiple usages go away.
So the important question is whether the REFER is part of the INVITE
usage and so its 481 takes down the INVITE usage or not. That gets
especially interesting if the dialog already had both an INVITE usage
and a SUBSCRIBE usage. Does it make sense that the refer take down the
INVITE usage and leave up the SUBSCRIBE usage?
I think we're a victim of sloppy terminology here. If I send a REFER,
and the far end responds 481, then clearly the far end knows of no
INVITE usage, or otherwise it would not have responded 481.
This is not "clear".
There are (at least) two alternatives, depending on whether the
recipient believes the REFER to be part of an INVITE usage or not.
If it believes that it must be part of an INVITE usage (in the sense
that BYE is known to be part of an INVITE usage), then the 481 response
can mean that there is no INVITE usage, even though there is an existing
matching dialog without an invite usage.
If the recipient believes that the REFER is *not* part of any usage,
then there can still be a 481 response, indicating that that there is no
matching dialog.
This is why its important to agree whether the REFER is to be considered
part of an INVITE usage.
So I should
delete my belief that there is an INVITE usage. Whether we consider the
REFER in question to be "part of" the INVITE usage or not doesn't change
anything -- the 481 is evidence that the far end has no knowledge of the
usage.
However, we do have this fine paradox: If we assume that a REFER within
an established dialog that has no INVITE usage is to be treated as an
out-of-dialog REFER, then *no* REFER will receive a 481 response!
I disagree here.
If the message is sent with dialog id info (notably, a To-tag in
addition to a From-tag and Call-ID) then it should (or at least may) get
a 481 response if there is no such matching dialog at the recipient.
This is true even if the message is then to be treated as an
out-of-dialog message.
Indeed, if I send a REFER thinking that there is an active INVITE usage,
but the far end believes the INVITE usage has ended, will cause the far
end to do something (initiate an independent dialog) that is
considerably different from what I expected (transfer the current INVITE
usage).
That is why dialog matching should still be done. I have no business
inventing a To-tag for you. It has to be *your* To-tag. If you don't
recognize it then you send me a 481.
Thanks,
Paul
_______________________________________________
Sip mailing list https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email protected] for questions on current sip
Use [email protected] for new developments on the application of sip