Olle E. Johansson wrote: > 6 aug 2009 kl. 12.49 skrev Vivek Batra: > >>>> Greetings, >>>> I am wondering if the below scenario is valid or not. >>>> >>>> <-- 183 (with SDP) then, >>>> <-- 180 (without SDP) >>> Yes it's. >>> However it depends in UAC behaviour on how to render it to the human >>> (it could choose to render the early-media comming from the same 183, >>> or it could choose to render internal ringing due to the 180). >> I would suggest stopping the playback of audio when you receive the >> 180 with SDP and revert to the ringing tone. Users does not like >> silence and sending an 180 would suggest that there's no more early >> media to me. >> >> [Vivek] - With some ITSP's, 183 Session Progress is sent (with SDP) >> to play >> the music (something like, please wait while your call is on wait) >> when >> actual called party is busy. However, 180 Ringing is sent as soon as >> call >> has been placed to called party and called party is ringing. >> ITSP does not disconnect the media after sending 180 Ringing instead >> start >> playing Ring Back Tone (RBT) to caller. Hence, in either manner >> while caller >> disconnects the media or not on receipt of 180 Ringing (without >> SDP), RBT >> will be played to caller either locally (if caller honors 180 >> Ringing) or by >> remote server (if caller does not honors 180 Ringing). >> I believe in having a check in application to check whether any RTP >> stream >> is still there or not after receiving 180 Ringing (without SDP). If >> no RTP >> is coming, then only 180 Ringing should be honored to play RBT >> locally else >> RTP from ITSP should be played. >> > That sounds like a good pragmatic approach. > > On a related topic. What should one do in this case? > > <--- 183 with sdp from UA 1 > (10 secs) > <--- 183 with sdp from UA 2 > (5 secs) > <--- 180 ringing from UA 3 > <--- 200 OK from UA 3
> From testing, different devices do very different things. There are many different things that might make sense. The main problem is that you are trying to multiplex three incoming streams into one, and there is no perfect way to do it. You could mix all the streams you are receiving. But that will most likely be terrible. You can stick with one, ignoring the others, until you stop receiving packets from it, then switch to another. If your phone is capable, you might render a display showing all the different calls you have, with buttons to switch the played audio between them. Obviously you want to switch to the one you get the 200 from eventually. But it isn't necessarily obvious which of the streams you are receiving is from UA3. Thanks, Paul > /O :-) > _______________________________________________ > Sip-implementors mailing list > Sip-implementors@lists.cs.columbia.edu > https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors > _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors