Hi Dale,

Looks pretty reasonable, though I think people will continue to use a 
multiplicity of methods depending on their goals, constraints, and whims.

One thing I was thinking about here is what happens if common codecs 
don't exist at all parties. I think your proposal can still work in that 
environment, but perhaps its worth discussing.

For example, lets take your case and assume codec support is as follows:

- Alice: X,Y
- Bob: X,Z
- Music: Y,Z

So:

- initial invite (F1) offers X,Y
- answer (F3) is for X
- second offer (F6,F7) is again for X,Y
- second answer (F8,F10) is for Y
- third offer (F11) is for X,Z
- third answer (F12) is for X

That all works. The parts that might be questioned are:
- the second offer including X,Y, not just Y
- the third offer including X,Z even though
   neither of those are currently in use

This is all consistent with the offeranswer draft section on hold, that 
recommends always offering everything you would like, constrained only 
by the o/a rules, rather than trying to guess what you think the other 
end wants. Here it is essential to follow that discipline wrt the codecs 
in order that a common codec be discovered.

Since we all know that most implementation is done to examples rather 
than specs, it might be helpful to put this into the example. :-)

On another subject - payload type numbers - there is a *potential* 
problem. The music server *can* choose its own payload numbers. This is 
most likely in an offer (which in these flows it never does), but also 
in an answer. It is preferred to use the same payload number in answer 
as offer, but it isn't required. And the answer can also include codecs 
not present in the offer, in which case the music server will be 
choosing for sure.

In these cases, its possible that the payload number chosen by the music 
server will conflict with one used previously by Bob for some other 
codec. For instance, in my example above, the payload number chosen by 
the music server for Y in F8 might turn out to be the same as the number 
used by Bob for X in F3. If this happens, and if the UAs *care* about 
this violation of the specs, then there is little that Bob can do about 
it. IMO that restriction needs to be relaxed a bit.

        Thanks,
        Paul
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to