Ok - I think we've found the necessary chunks of text needed to put this part of the thread down.

My introduction of the thread had a wrong conclusion in it (per 3254 6.1).

To re-summarize:

If an m-line in the offer offers codecs A, B, and C then until all possible answers are received (think forking), the offerer must be prepared to receive RTP containing A, B, or C. After each answer (again remember forking), that answerer MUST only send RTP packets using the codecs that are in the intersection of the offer and the answer for that m-line. So, for instance, if that m-line in the answer contained only B, the answerer can only send B. Once it's received the answer, the offerer can decide to only render B, but due to race conditions it should anticipate seeing some A or C coded packets, but nobody should expect it to do anything useful with them.

Now we need to find where to put pointers to this so that it isn't so hard for implementers in the future to find.

RjS

On Nov 26, 2007, at 11:34 AM, Paul Kyzivat wrote:



Robert Sparks wrote:
Dale -
What you quoted talks about what the offer can _send_.

The second sentence says what format the offerer MUST use when sending. A corollary of that is that it MUST NOT use some other format. And a corollary of *that* is that the answerer MUST be prepared to receive any of the formats listed in the answer, and MAY NOT be prepared to receive any other format.

Note that this apparently includes formats listed in the answer but not in the offer! So if the offerer is capable of using any of the "extra" formats listed in the answer (which the answerer has no way of knowing) then it may go ahead and use those.

It doesn't talk about what the offerer must be willing to receive (nor does it constrain what the answerer can send).

Yes, you are right - it doesn't.

Section 5.1 says:

   ... If multiple formats are listed, it
   means that the offerer is capable of making use of any of those
formats during the session. In other words, the answerer MAY change
   formats in the middle of the session, making use of any of the
   formats listed, without sending a new offer. ...

That certainly at least *implies* that the offerer MUST initially be capable of receiving any format listed in the offer.

Then Section 6.1 says:

Once the answerer has sent the answer, it MUST be prepared to receive media for any recvonly streams described by that answer. It MUST be
   prepared to send and receive media for any sendrecv streams in the
   answer, and it MAY send media immediately.  The answerer MUST be
prepared to receive media for recvonly or sendrecv streams using any media formats listed for those streams in the answer, and it MAY send media immediately. When sending media, it SHOULD use a packetization
   interval equal to the value of the ptime attribute in the offer, if
   any was present.  It SHOULD send media using a bandwidth no higher
   than the value of the bandwidth attribute in the offer, if any was
   present.  The answerer MUST send using a media format in the offer
   that is also listed in the answer, and SHOULD send using the most
   preferred media format in the offer that is also listed in the
   answer.  In the case of RTP, it MUST use the payload type numbers
   from the offer, even if they differ from those in the answer.

*This* says that the answerer is constrained to send on a format in the intersection of the offer and the answer. So the offerer must be prepared to receive everything it offers initially, and then it can *reduce* what it expects and is capable of receiving once it receives the answer.

        Thanks,
        Paul


RjS
On Nov 23, 2007, at 11:31 AM, [EMAIL PROTECTED] wrote:
   From: Robert Sparks <[EMAIL PROTECTED]>

   On Nov 23, 2007, at 5:12 AM, Christer Holmberg wrote:
AFTER he has received the answer he may accept only what both
parties have indicated support for.

I don't think that's right. Can you show me the text that supports
   that claim?

Here's section 7 of RFC 3264 (found by Ernst Horvath):

7 Offerer Processing of the Answer

   When the offerer receives the answer, it MAY send media on the
accepted stream(s) (assuming it is listed as sendrecv or recvonly in the answer). It MUST send using a media format listed in the answer, and it SHOULD use the first media format listed in the answer when it
   does send.

The reason this is a SHOULD, and not a MUST (its also a SHOULD,
      and not a MUST, for the answerer), is because there will
oftentimes be a need to change codecs on the fly. For example, during silence periods, an agent might like to switch to a comfort noise codec. Or, if the user presses a number on the keypad, the
      agent might like to send that using RFC 2833 [9].  Congestion
control might necessitate changing to a lower rate codec based on
      feedback.

The offerer SHOULD send media according to the value of any ptime and
   bandwidth attribute in the answer.

The offerer MAY immediately cease listening for media formats that
   were listed in the initial offer, but not present in the answer.

I skimmed draft-ietf-sipping-sip-offeranswer-04 and I see nothing in
it that would alter the interpretation of this section.

Dale


_______________________________________________
Sip mailing list  https://www1.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
_______________________________________________
Sip mailing list  https://www1.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



_______________________________________________
Sip mailing list  https://www1.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

Reply via email to