Kasturi Narayanan wrote:
> Two interpretations are around for Re-invite without SDP.
> 1) Return the Currently Negotiated SDP which  is recv only
> 2) Treat that as a new SDP negotiation and return the full capabilities 
> (with send-recv etc).
> 
> I think the second option is more generic.

You don't want to return "full capabilities" if you don't *want* that.

In particular consider a variation on your scenario:

   After Caller A and Callee B construct a dialog,
   A sends a re-invite  request with sdp indicates "sendonly" to hold B.
   B responses 200 OK with sdp indicated "recvonly" correctly.
   If at this moment,  *B* sends a re-invite again but without sdp,
   how does *A* response in sdp? sendreccv? recvonly?

In this case, A should respond not with its "full capabilities", but 
rather with "its desired state". It had previously wanted to have the 
call held, so it presumably should offer sendonly again. However, it is 
possible that it was just toggled off hold but received the reinvite 
before it could send its own. In that case it can offer sendrecv.

The general rule that always works if for the offerer to always offer 
the state *it* desires, without regard for what it thinks the answerer 
might prefer. This preserves the options for the answerer.

Consider yet another case:
- A and B have a dialog
- A reinvites with offer of sendonly to establish hold
- B answers with recvonly to acknowledge the hold
- B also decides to hold the call, so reinvites with offer
   of sendonly. (What it wants.)
- A still wishes hold on its end, so doesn't want to answer
   recvonly. The only valid answer consistent with what it wants
   to do and with the offer is inactive, so it answers that.
- For some reason, B later sends an offerless reinvite to A.
   A still wants a hold initiated by its end, but doesn't care
   that call is held from other end. So it offers sendonly.
   If B still wants the call held from its end as well, it will
   answer with inactive. So the state stays as it was.
- Later A wants to go off hold. So it sends a reinvite with
   an offer of sendrecv.
- B still wants the call held, so it answers with sendonly.
- Later, B wants to go off hold too, so it sends reinvite with
   offer of sendrecv.
- A also wants to be off hold, so it answers with sendrecv.

Summarizing:
- an offer always contains what the offerer *wants*.
- an answer is computed as follows:
   . select the answers that are consistent with the offer
   . choose the one of those that is closest to what the
     answerer *wants"

We intend to write something about this in the offeranswer draft, but 
haven't yet.

        Paul

> Kasturi
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, November 15, 2006 8:47 PM
> To: [email protected]
> Subject: [Sip-implementors] INV without sdp
> 
> Hi ALL:
> 
> I'm a newbie of sip implementation. Here is a question about invite 
> request
> without sdp.
> 
> After Caller A and Callee B construct a dialog, A sends a re-invite 
> request
> with sdp indicates "sendony" to hold B. B responses 200 OK with sdp
> indicated "receonly" correctly. If at this moment,  A sends a re-invite
> again but without sdp, how does B response in sdp? sendrece? receonly?
> 
> Is there any sections in any RFCs defines the behavior described here?
> 
> Thanks you all.
> 
> BR,
> Johnny
> _______________________________________________
> Sip-implementors mailing list
> [email protected]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
> 
> 
> _______________________________________________
> Sip-implementors mailing list
> [email protected]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
> 
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to