When you get the 200 from C you can assume that the proxy sent a CANCEL 
to B. But you cannot assume the CANCEL will work. It is still possible 
to receive a 200 from B. You need to be prepared to handle that case 
too. (The usual thing to do is send a BYE on the dialog of any 
subsequent 200 responses.)

        Paul

Bala Neelakantan wrote:
>> -----Original Message-----
>> From: [EMAIL PROTECTED] [mailto:sip-
>> [EMAIL PROTECTED] On Behalf Of Andreas Byström
>> Sent: Thursday, September 13, 2007 9:48 AM
>> To: [email protected]
>> Subject: [Sip-implementors] Early media and forking calls
>>
>> Hi everyone,
>>
>> 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
> 
> Please refer to RFC 3264 as it describes the offer/answer scenarios.
> Also this issue has been discussed in the Sip-implementors list a number of
> times, and you will learn a lot by reading through them.
> 
> So, 183 from B will create a dialog.
> 
>> * C sends 180 with no spd
> 
> This 180 response is another dialog and A should be prepared to handle this
> dialog.  At this point, the final response (200 OK) could be coming from B
> or C.
> 
>> * C answers the call first, which means C sends a sdp response in the 200
>> OK.
>>
> 
> In this scenario, the call is established between A and C.  Typically the
> proxy will CANCEL the forked call to B.
> 
>> 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)
>>
> 
> Please refer to the mailing list archives.
> 
>> How should A handle this (it already got a sdp answer on the offer)? Does
>> A
>> or proxy have to start a renegotiation with C?
> 
> I think your question is how should A handle the answer it received already
> from B?  The proxy CANCELs the call to B.
> 
> When the C comes back with 200 OK with SDP, that is going to be used.
> 
>> Should A see in the tag that this is a  respone from another UA then from
>> where it did get the first spd answer (the on in 183 sent from B) and
>> therefore accept it?
> 
> That could be bad implementation choice. 
> 
>> Proxy needs to send a cancel to B when it sees that C is replying wiht 200
>> OK. Does the proxy also need to say something to A to terminate the media
>> session already set up between A and B?
> 
> Proxy doesn’t tell anything about media/SDP.  It is between endpoints.
> 
>   
>> Thanks in advance
>> // Andreas
> 
> Thanks,
> Neel.
> 
>> _______________________________
>>
>> Andreas Byström
>> Software Engineer
>>
>> Teligent AB
>> Konsul Jonssons väg 17
>> P.O. Box 213
>> SE 14923 Nynäshamn
>>
>> mail: [EMAIL PROTECTED]
>> web: www.teligent.se <http://www.teligent.se/>
>> phone:  +46 (0)8 4101 7221
>> mobile: +46 (0)733 1172 21
>> fax:      +46 (0)8 520 193 36
>> _______________________________
>>
>> _______________________________________________
>> 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