From: =?iso-8859-1?Q?Andreas_Bystr=F6m?= <[EMAIL PROTECTED]>

   I'm working with a case that involves a call from A that a proxy forks to B
   and C. I see a potential problem when the following happens:
   * A sends SDP offer
   <proxy forks the call to B and C>
   * B answers with a 183 including a sdp answer
   * C sends 180 with no spd
   * C answers the call first, which means C sends a sdp response in the 200
   OK.

   I have tried to find info on this but have failed to do so. So I was
   thinking that someone on this forum have already been facing a scenario like
   this, or maybe know where I can find info on how to solve it in a way that
   dont violate specs (and also works of course)

The source of your problem is that there is a *philosophical*
principle that you aren't aware of:  When A starts the call, it
creates an offer-answer state machine.  When A receives the response
from B, it changes the state of the state machine.  But when A
receives the response from C, that response creates a *second* early
dialog, which has its own offer-answer state machine, and that state
machine is set by the response from C (ignoring what B has sent).

   How should A handle this (it already got a sdp answer on the
   offer)?

The 183 from B provides an answer within the dialog A-B.  The 200 from
C provides an answer within the dialog A-C.

Of course, this means that A must juggle two early dialogs, and if
they are both sending/receiving media, A must decide how to multiplex
the media using its user interface.

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

Reply via email to