80 likes | 114 Vues
This draft outlines how SIP utilizes URI lists for efficient request filtering, including server-stored and request-contained lists. It proposes mechanisms for concise subsetting of lists to target specific recipients, beneficial for mobile scenarios like Push to Talk.
E N D
URI List Index Lucent Technologies Tom Hiller Dean Willis Adam Roach
Background • SIPPING has chartered work to specify how SIP uses URI lists • URI lists can be stored on servers and referenced via a URI. This usage is called a “server-stored list”. • URI lists can be contained in a request. This usage is called a “request-contained list”. • Usage of both types of list is being defined for each request type. • Server-stored lists can be arbitrarily long. • We want to be able to have a request apply to a specific subset of the members of a list, with the subset indicated in the request. • We want this subsetting operation to be extremely concise. This would make it very useful for mobile scenarios, especially Push to Talk.
Use Case • Bob has a server-stored list which contains URIs for every member of his athletic club • Bob wishes to invite three specific members (Bill, Joe, Alice) of his club to participate in a conference call. • Bob constructs a SIP request that references the server-stored list and includes selection criteria for the three specific members. • Bob request-handling server extracts the URIs for Bill, Joe, and Alice from Bob’s list and sends the request to them. • They chat.
Proposed Mechanism • Extend resource list XML schema to include “key values” (membercodes) for each member • Define new MIME types to include a list reference and a set of key values • Use new MIME type as a cid: body in a request, as request-contained usage does. • The request-handling application retrieves list and applies membercodes to select intended target set.
Proposed MIME Types • “application/resource-lists-indices” • Only a few member of a relatively large list are included in the SIP request. Applies best for a “sparse” subset of the list. • This MIME is just a list of “membercodes” • “application/resource-lists-bitmap” • Many or most of the members of a list are included in the SIP request. Applies best for a “relatively dense” subset of the list. • This MIME is a binary array represented as hex digits. A bit in the array being set implies the member code of that value is included. Groups of four bits represent hex digits.
Examples • application/resource-lists-indices • Bob wishes to identify Bill in a SIP request . The MIME body based on the previous slide is: athletic-club 2 • application/resource-lists-bitmap • Bob wishes to identify many club members in a SIP request; the membercodes of the individuals are 2, 4, 5, 9, 19, 25, 36. The MIME body might be: athletic-club 010110001000000000100001000000000010000 Or, as per current draft, something like athletic-club A13BD
Issues and Further Steps • Specific MIME format to use • Addition of membercodes to resource list schema • Requires modifying the schema to allow the addition of attributes • Membercodes must be unique; this requires XCAP handling for validation. (server rejects non-unique write attempts with suggestions) • Client offers a membercode, the server validates, possibly rejecting with suggested codes on failure while reserving suggested membercodes briefly • Do we enumerate across embedded list members? • Tentative direction: modify the schema to permit the addition of attributes. Progress this draft separately.