3 pcc Update and Issues Jonathan Rosenberg dynamicsoft
3 pcc Update and Issues Jonathan Rosenberg dynamicsoft
Initial Call Flow from -00 A Controller | • Big problem: – Retransmissions of 200 from A to controller while we wait for B | | |<---------| | | | INV no SDP B 200 SDP A |---------> | INV SDP A | | |--------->| | | |<---------| | | ACK SDP B | 200 SDP B | | ACK | |--------->| |<---------| | | | RTP | |xxxxxxxxxxxxxxxxxxx |
Call flow from -01 A • Fixes timeout problem completely – Each transaction independent • Big problems though – Relies on A returning same SDP in re. INVITE – Otherwise, infinite re. INVITE loops! – Also assumes controller knows media Controller | |<---------| | | | INV held SDP B 200 SDP A |---------> | | ACK INV SDP A | |--------->| |<--------- | | |<---------| | | INV SDP B 200 SDP B | | ACK | |--------->| |<---------| | | |--------->| | | |<---------| | | 200 OK SDP A ACK | RTP | |xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
A Latest call flow | – No timeouts, since reinvite will generally be answered fast – No infinite recursion – No media assumption • But – Complex – Still requires SDP manipulation for multiple streams and differing codec bindings INV no SDP B | | time t = 0 |<---------| | | | |---------> | | | |<---------| | | | |--------->| | | |<---------| | • Combines best of all call flows Controller | 200 SDP A 1 ACK | SDP held | | 200 SDP B | |<---------| | | | |---------> | | | | | INV SDP B' INV no SDP 200 SDP A 2 ACK SDP A 2' | |--------->| |<---------| | | | RTP | |xxxxxxxxxxxxxxxxxxx |
SIP Issues • Requires that INVITE on hold not generate hold as response – Proposal is to document this in RFC – Whole reason we chose 0. 0 is that normal SDP processing would give hold – Only special case processing would generate hold in response! • Requires that re. INVITE w/ no SDP mean “you tell me what SDP to use” – Response is probably same SDP as before, need not be – Agreed to this at bof – Will document in bis
Recommendations • Call flow 1 still useful in some cases! – When you know that 2 nd party is automata that answers right away – Many examples • Conference servers • Media servers • Messaging servers – Still simplest and best if timeout not problem • Call flow 3 most general, and recommended when you don’t know if 1 will work
Issues that remain • Qo. S preconditions makes my head hurt – A lot more thinking needed here • Allowing ringing to one user – No way for either user to hear ringback when they pick up – One solution is to reverse direction of one call leg • REFER back to yourself! • Anything else? – Early media? • Most important thing are SIP changes/clarifications needed for this service
- Slides: 7