Christer Holmberg (JO/LMF) wrote:
Hi,
An offer can have 0 or more media streams and an answer must
have the same number. (RFC3264)
A media stream is rejected by using a 0 port value in the
answer. (RFC3264)
m=audio 0 RTP/AVP 99
A UA should return an answer with no media if it gets an
offer with no media. (3PCC)
So, if a UA receives an INVITE with an offer with media streams,
but can support none of them (no codecs in common), should it
return a 200 with an answer containing rejected streams or a
4XX? (488?)
Is the answer the same for an initial INVITE and a re-INVITE?
I have not seen an UAS that would send 200 with all ports set to zero for an
initial INVITE, but I guess it's not forbidden...
Its not forbidden. Question is whether it is useful. A megative is that
answering a call that you cannot meaningfully participate in may prevent
some other, more qualified, UA from the opportunity to answer.
Potentially this could be a user interface choice of the UAS. A
multimedia UA might present the desired media to the user, to use when
deciding whether to answer the call. If the user decides to answer the
call while rejecting the media, then the UA could go ahead and do it.
I can think of a use case for this:
A multimedia UA supports voice, video, and IM. It has user controlled
options regarding which ones are to be accepted when a call is answered.
(So you can leave video disabled when you are having a bad hair day.)
Right now it is set to accept only IM. A call comes in offering only
voice. The UA alerts, and displays an indicator that only voice is
offered, but is currently disabled. There is an Answer button, as well
as a button to enable voice.
If you simply hit the answer button, then the call is answered with no
media. If you hit the Voice button and then the answer button, then the
call is answered with voice.
If you hit the answer button first, hence answering without any media,
and then hit the voice button, your UA reinvites offering voice.
For re-INVITE, I think it's important to remember:
- If the UAS sends a 4xx reply, the previously exchanged SDP settings are still
valid.
- If the UAS sends a 200 reply, with the ports set to zero, the new SDP settings are
used, which means there are no active streams. In other words, the offer as such is not
rejected, but the streams are "terminated".
Yes, for reinvite, refusing the is probably the better choice.
Paul
Regards,
Christer
Ericsson
_______________________________________________
Sip-implementors mailing list
[email protected]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
_______________________________________________
Sip-implementors mailing list
[email protected]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors