It should be noted that the UA with which I am testing (Freeswitch) does
not CANCEL or otherwise hang up the first dialog.

On Mon, Jul 16, 2018 at 01:56:34PM -0400, Alex Balashov wrote:

> Oh, yes — they're different dialogs, for sure. I just wasn't sure if
> that would nevertheless pose a problem for some low-budget UAs.
> 
> On Mon, Jul 16, 2018 at 01:47:32PM -0400, Paul Kyzivat wrote:
> 
> > On 7/16/18 1:17 PM, Alex Balashov wrote:
> > > Hi,
> > > 
> > > I have a scenario where a call is forked through a proxy to an early
> > > media announcement server and then subsequently to a SIP provider for
> > > actual termination.
> > > 
> > > Due to the way the RTP relay works on the server side, this results in
> > > two different SDP offers from the two respective outgoing branches being
> > > sent back to the caller:
> > > 
> > > 1. 183+SDP on branch #1.
> > > 
> > > 2. 183+SDP' on branch #2.
> > >     200 OK+SDP' on branch #2.
> > 
> > These are both sent back to the UAC?
> > 
> > If so, these should arrive with different to-tags, and so will establish
> > distinct early dialogs. Those can coexist. Then when the 200 arrives,
> > (regardless of which dialog it comes on), the UAC should send a CANCEL on
> > the other dialog (to the Contact URI for that dialog. Or it can send a BYE.
> > 
> > There is a race condition where you get a 200 on *both* early dialogs. In
> > that case you have two separate calls to deal with. Then you can send a BYE
> > on one of them, or manage them both separately, or treat them as a
> > conference, or whatever you want.
> > 
> > OTOH, if perchance the two 183 responses have the *same* to-tag, then you
> > have an error situation.
> > 
> >     Thanks,
> >     Paul
> > 
> > > I am not sure offhand whether this is a protocol semantics violation. On
> > > the one hand, RFC 3261 § 13.2.1 ("Creating the Initial INVITE") says:
> > > 
> > >     If the initial offer is in an INVITE, the answer MUST be in a
> > >     reliable non-failure message from UAS back to UAC which is
> > >     correlated to that INVITE.  For this specification, that is
> > >     only the final 2xx response to that INVITE.  That same exact
> > >     answer MAY also be placed in any provisional responses sent
> > >     prior to the answer.  The UAC MUST treat the first session
> > >     description it receives as the answer, and MUST ignore any
> > >     session descriptions in subsequent responses to the initial
> > >     INVITE.
> > > 
> > > So, I always understood that the first answer is the final answer,
> > > absent a session-updating request cycle. On the other hand, RFC 3960
> > > ("Early Media and Ringing Tone Generation in the Session Initiation
> > > Protocol (SIP)") Section 4 says:
> > > 
> > >     The application server model consists of having the UAS behave as an
> > >     application server to establish early media sessions with the UAC.
> > >     The UAC indicates support for the early-session disposition type
> > >     (defined in [2]) using the early-session option tag.  This way, UASs
> > >     know that they can keep offer/answer exchanges for early media
> > >     (early-session disposition type) separate from regular media (session
> > >     disposition type).
> > > 
> > > I take this, along with RFC 3959 Section 3, to imply an amendment to
> > > 3261 § 13.2.1, but I'm not sure. Regardless, I'm not convinced all UAs
> > > will handle this situation.
> > > 
> > > Any insight would be appreciated!
> > > 
> > 
> > _______________________________________________
> > Sip-implementors mailing list
> > Sip-implementors@lists.cs.columbia.edu
> > https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
> 
> -- 
> Alex Balashov | Principal | Evariste Systems LLC
> 
> Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
> Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
> _______________________________________________
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to