[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: VS: VS: [Sipping] FW: I-DACTION:draft-sawada-sipping-sip-offeranswer-01.txt (Comments 4 to 6)





Christer Holmberg (JO/LMF) wrote:
Hi,

I had a look at chapter 10.2 of RFC 3725, and I think I found an example to explain my issue.

Look at message 14, where "Called party" sends an offer in the 200 OK response. This SDP is then forwarded by the controller as an offer towards "Pre-paid user".

Now, the previous active local SDP of "Called party" (sent as an answer to "Controller" in message 2) contained the negotiated codecs between "Controller" and "Called party". If "Called party" would simply send that SDP as an offer in the 200 OK it is not sure that the session with "Pre-paid user" would succeed, because it may not support the codec set which was used before. So, in this case I guess it is assumed that "Called party" will send an offer as for a new call, including all codecs it supports.

Now, my question: since "Called party" may have no clue about the scenario, and no clue about all the other entities involved, how does it know that it "wants" to send such offer at this point?

[I got off to a bad start at the very beginning of this exchange by initially suggesting that the "prior" SDP should be sent in response to an offerless invite. That was a screw up, inconsistent with my long running position, and I've been trying to dig out of that ever since on this thread.]


This idea of what the UA "wants" to do is a nebulous one, but I think it can be determined without regard to the intent of the other party.

Roughly speaking, I think "want" means "what the UA is *capable* of doing. For example, if the UA is capable of using 5 codecs, then it *ought* to list all five, even though in a prior exchange four of them had been rejected by the other party. (That covers your case here.)

But it isn't quite that simple in all cases. Consider a UA that has both audio and video capabilities. Whether the UA "wants" to use video may change over time depending on options in the UI of the UA. This could change mid-call.

Similarly for "hold". There is typically a control in the UI which indicated the user's desire to hold the call. And each end has such an option. In each offer/answer, the decision of whether to offer sendonly, recvonly, sendrecv, or inactive is determined by the *local* state, not anything learned about the remote party in a prior exchange.

(Some UAs may not have a local control of HOLD. If not, then they probably always offer sendrecv.)

If each end asserts its own interests, as well as following the rules of offer/answer, then the most acceptable mutual agreement will be reached.

	Paul

_______________________________________________
Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use sip-implementors at cs.columbia.edu for questions on current sip
Use sip at ietf.org for new developments of core SIP