SIP Call Package by pptfiles


									SIP Call Package
Jonathan Rosenberg dynamicsoft

Three Separate Pieces
• Call Leg State Package • Conference Package • To-Join/To-Replace

Call Leg Package
• Allows a user to subscribe to the call leg state of another user
– R-URI is user to subscribe to – Get back notifications on all active call legs at that user

• Notification data includes
– Status of the leg (in terms of response codes) – Optional leg params – Join/Replace URLs (later)

• Notifications sent on messages that change state
– Provisional/final responses – BYE

Whats it useful for?
• Single Line Extension
– Phones in the group can know whether the calls answered by other phones are still active or not

– Trainer can find out whether trainees are in a call, to join it

• Automatic Callback

Conferencing Package
• Assumes a centralized manager for conferences
– 3-way calling (end system) – Dial-in, dial-out

• Notification data includes:
– List of users and their status – Replaces URL (later) – Floor control state

• SUBSCRIBE to the “conference URL” • Notifications on
– Joins/departures – Floor control changes – Failed dialouts

Whats it useful for?
• Initiating side-bars with conference members
– RTCP id not sufficient

• Web monitor of conference states

Join and Replace URL
• There is an asymmetry in joining and replacing legs
– Join is implicit, based on the URL someone has handed you (or you can construct) – Replace is explicit, based on a header

• First idea
– Unify join/replaces by using the same mechanism for both – Follow idea that interpretation of URL is conveyed separate from URL, interpreted by server that sent it – URL syntax at discretion of server

• To transition from 2-party call to conference
– Allocate conference URL – REFER everyone to it – BUT – how do you know second party isn’t ALREADY a conference URL?

To-Join and To-Replace
• INVITE and 2xx both contain To-Join and ToReplace headers • To-Join contains a URL, which if used, joins to that call leg
– At discretion of UA how that’s done – REFER into bridge, local mix..
INV To-Replace:X 2xx ACK Hands To-Replace URL INV X 200 ACK


• To-Replace contains a URL, which if used, replaces that call leg


Some Benefits
• URL can encode arbitrary data of use to server
– Timestamps, authorization data, etc.

• URL can point to somewhere besides UA
– Join URL goes to conference server, which actively pulls user in – Can be directly routable to THAT UA (solves consultation transfer problem)

• Solves problem of knowing whether you need to get a conference server or not

Discussion Points
• Clearly Replace URL is an alternate to replaces header • To-Join makes more sense than To-Replace
– You’re not really joining a leg, you’re joining a “conversation space” which is broader than a leg
• But you replace a leg

– Sending Join requests to a different host makes more sense than replace

• URL in To-Join is what you would SUBSCRIBE to for conference package • Main benefit of ToReplace is being able to use a URL that routes to UA

What do we want to do?
• Seems a key part of call control framework • Completes the picture • Picture of call control is:
– Finding out about calls and conferences – Joining, replacing, creating, moving call legs and conferences

• We now have all of these pieces • Proposal is to keep Replaces header, drop To-Replace, but consider To-Join

To top