Nokia Siemens Networks
January 2008
The Presence-Specific Static Dictionary
for Signaling Compression (Sigcomp)
Status of This Memo
-
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
Abstract
-
The Session Initiation Protocol (SIP) is a text-based protocol for initiating and managing communication sessions. The protocol is extended by the SIP-events notification framework to provide subscriptions and notifications of SIP events. One example of such event notification mechanism is presence, which is expressed in XML documents called presence documents. SIP can be compressed by using Signaling Compression (SigComp), which is enhanced by using the SIP/ Session Description Protocol (SDP) dictionary to achieve better compression rates. However, the SIP/SDP dictionary is not able to increase the compression factor of (typically lengthy) presence documents. This memo defines the presence-specific static dictionary that SigComp can use in order to compress presence documents to achieve higher efficiency. The dictionary is compression-algorithm independent.
Table of Contents
-
1. Introduction ....................................................2 2. Terminology .....................................................3 3. Design Considerations ...........................................3 4. Binary Representation of the Presence-Specific Static Dictionary ......................................................5 5. Security Considerations ........................................12 6. Acknowledgements ...............................................12 Appendix A. Input Strings to the Presence-Specific Static Dictionary......................................13 References ........................................................22 Normative References ...........................................22 Informative References .........................................22
1. Introduction
-
The Session Initiation Protocol (SIP) [4] is extended by the SIP-events framework [5] to provide subscriptions and notifications of SIP events. One example of such an event-notification mechanism is presence. The presence information is typically carried in Extensible Markup Language (XML) [22] documents that are compliant with a given XML schema [23]. The Presence Information Data Format (PIDF) [8] defines the format for the basic presence document that supplies presence information. Typically, PIDF is used in combination with other extensions to provide a richer user experience, among others: the Presence Data Model [10], Rich Presence Extensions to PIDF (RPID) [11], Contact Information in PIDF (CIPID) [12], the SIP Event Notification Extension for Resource Lists [19] and the SIP User Agent Capability Extensions to PIDF [20], or the Location Object in PIDF [16].
Typically, presence documents can contain large amounts of data. The size of this data is dependent on the number of presentities that a watcher is subscribed to and the amount of information supplied by the presentity. This can impose a problem in environments where resources are scarce (e.g., low bandwidth links with high latency) and the presence service is offered at low or no cost. This is the case, e.g., of some wireless networks and devices. It is reasonable to try to minimize the impact of bringing the presence service to wireless networks under these circumstances.
Work has been done to mitigate the impact of transferring large amounts of presence documents between endpoints. For example, the Partial PIDF [15] reduces the amount of data transferred between the endpoints.
On the other hand, the signaling compression mechanisms specified in the SigComp framework (RFC 3320) [2] provide a multiple compression/ decompression algorithm framework to compress and decompress text-based protocols, such as SIP. When compression is used in SIP, the compression achieves its maximum rate once a few message exchanges have taken place. This is due to the fact that the first message the compressor sends to the decompressor is only partially compressed, as there is not a previously stored state to compress against. As the goal is to compress as much as possible, it seems sensible to investigate a mechanism to boost the compression rate from the first message.
RFC 3485 [7] defines a static dictionary for SIP [4] and SDP [9]. The dictionary is to be used in conjunction with SIP [4], SDP [9], and SigComp [2]. The static SIP/SDP dictionary constitutes a SigComp state that can be referenced in the first SIP message that the compressor sends out. The dictionary boosts the compression of SIP and SDP, but unfortunately does not have any effect in XML-based presence documents.
It sounds reasonable to define a presence-specific static dictionary that can be used in conjunction with SIP and Sigcomp. This dictionary can coexist with the static SIP/SDP dictionary defined in RFC 3485 [7]. Sigcomp endpoints will initially announce the availability of one or both dictionaries until the other end acknowledges that it has received the announcement.
Our initial simulations when developing this dictionary reveal that once the current mitigation mechanisms are applied (e.g., Sigcomp, partial notification, partial publication), a further compression factor of 10% can be achieved when Sigcomp uses the presence-specific static dictionary.
2. Terminology
-
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [1] and indicate requirement levels for compliant implementations.
3. Design Considerations
-
The presence-specific static dictionary is a collection of well-known strings that appear in most of the presence documents used by SIP. The dictionary is not a comprehensive list of reserved words, but it includes many of the strings that appear in presence documents.
The presence static dictionary is unique and MAY be available in SigComp implementations for SIP that support the presence service. The dictionary is not intended to evolve as presence evolves. It is defined once, and it stays as is forever. This solves the problems of updating, upgrading, and finding out the dictionary that is supported at the remote end when several versions of the same dictionary coexist.
Appendix A contains the collection of strings that were contributed to the presence static dictionary. The appendix also includes references to the documents that define those strings.
While this appendix is of an informative nature, Section 4 gives the normative binary form of the presence-specific static dictionary. This is the dictionary that is included in the SigComp implementation. This dictionary has been formed from the collection of individual dictionaries given in Appendix A.
The input set is a collection of UTF-8 [6] encoded character strings. The appendix provides a table where each row represents an entry. Each entry contains the string that actually occurs in the dictionary, its priority (see below), its offset from the first octet and its length (both in hexadecimal), and one or more references that elucidate why this string is expected to occur in presence documents.
-
Note:
-
Length in this document always refers to octets.
-
The columns in the table are described as follows:
String:
-
represents the UTF-8 string that is inserted into the dictionary. Note that the quotes (") are not part of the string itself.
Pr:
-
indicates the priority of this string within the dictionary. Some compression algorithms, such as DEFLATE [3], offer an increased efficiency when the most commonly used strings are located at the bottom of the dictionary. To facilitate generating a dictionary that has the most frequently occurring strings farther down at the bottom, we have decided to allocate a priority to each string in the dictionary. Priorities range from 1 to 5. A low value in the priority column (e.g., 1) indicates that we believe there is a high probability of finding the string in a presence document. A high value in the priority column (e.g., 5) indicates lower probability of finding the string in a presence document. This is typically the case for less frequent extensions or optional, infrequent XML elements or attributes.
Off:
-
indicates the hexadecimal offset of the entry with respect to the first octet in the dictionary. Note that several strings in the collections can share space in the dictionary if they exhibit suitable common substrings.
Len:
-
the length of the string in octets in hexadecimal.
References:
-
contains one or more references to the specification and the section within the specification where the string is defined. Note that the strings stored in the dictionary are case sensitive. (Again, the strings do not include the quotes ("), they are just shown here to increase the readability).
There are a few design considerations that require a bit more explanation:
- Due to the fact that most compression algorithms have a break-even point around three or four characters, we have selected those static strings of characters that consist of four or more characters.
- When a string appears as an XML element in an XML document, it is typically surrounded by the '<' and '>' signs, such as in '<foo>'. It would have been natural to include the '<' and '>' signs of the element in each input string. However, we made the decision to omit the '<' and '>' signs because then we can easily reuse the same string for start-tags (e.g., <foo>), start-tags that contain attributes (e.g., <foo attr="myattr">), empty-element tags (e.g., <foo/>), and end-tags (e.g., </foo>).
- Whenever there is an enumerated string, the string does not contain quotes, following the same pattern as any other input string.
- In a few cases, we have decided to split a string that appears a few times into a few substrings. This is the case of Uniform Resource Names (URNs) in the IETF address space, because this allows the dictionary to reuse the same substring in various URN strings.
4. Binary Representation of the Presence-Specific Static Dictionary
-
This section contains the binary form of the presence-specific static dictionary that is loaded into SigComp as a state.
The binary SigComp dictionary is composed of two parts, the concatenation of which serves as the state value of the state item: A string subset, which contains all strings in the contributing collections as a substring (roughly ordered such that strings with low priority numbers occur at the end), and a table subset, which contains pairs of length and offset values for all the strings in the contributing collections. In each of these pairs, the length is stored as a one-byte value, and the offset is stored as a two-byte value that has had 1024 added to the offset (this allows direct referencing from the stored value if the dictionary state has been loaded at address 1024).
The intention is that all compression algorithms will be able to use the (or part of the) string subset, and some compression methods, notably those that are related to the LZ78 family, will also use the table in order to form an initial set of tokens for that compression method. The text below therefore gives examples for referencing both the table subset and the string subset of the dictionary state item.
As defined in Section 3.3.3 in the Signaling Compression specification [2], a SigComp state is characterized by a certain set of information. For the presence-specific static dictionary, the information in the following table, Table 2, fully characterizes the state item.
Note that the string subset of the dictionary can be accessed using:
STATE-ACCESS (%ps, 6, 0, 0x0955, %sa, 0),
and the table subset can be accessed using:
STATE-ACCESS (%ps, 6, 0x0955, 0x043E, %sa, 0),
where %ps points to Universal Decompressor Virtual Machine (UDVM)
memory containing 0xd942297d0bb3
and %sa is the desired destination address in UDVM memory with UDVM byte copying rules applied.
If only a subset of the dictionary up to a specific priority is desired (e.g., to save UDVM space), the values for the third and forth operand in these STATE-ACCESS instructions can be changed to:
+---------------+------------+------------+------------+------------+ | Priorities | String | String | Table | Table | | desired | offset | length | offset | length | +---------------+------------+------------+------------+------------+ | 1 only | 0x07AB | 0x01AA | 0x0955 | 0x0039 | | 1..2 | 0x06BE | 0x0297 | 0x0955 | 0x0066 | | 1..3 | 0x035A | 0x05FB | 0x0955 | 0x013E | | 1..4 | 0x0254 | 0x0701 | 0x0955 | 0x01AA | | 1..5 | 0x0000 | 0x0955 | 0x0955 | 0x043E | +---------------+------------+------------+------------+------------+
Table 1: Priority Table
-
The state item consists of the following elements:
+----------------------+--------------------------------------------+ | Name | Value | +----------------------+--------------------------------------------+ | state_identifier | 0xd942297d0bb38fc01d6741d6b3b48157ac8e1be0 | | state_length | 0x0D93 | | state_address | 0 (not relevant for the dictionary) | | state_instruction | 0 (not relevant for the dictionary) | | minimum_access_lengt | 6 | | h | | | state_value | Representation of the table of Figure 1 | +----------------------+--------------------------------------------+
Table 2: State Item Table
-
0000 636f 6e76 656e 7469 6f6e 2d63 656e 7465 convention-cente 0010 726d 696e 6174 6564 6570 7265 7373 6564 rminatedepressed 0020 6973 6775 7374 6564 696e 6475 7374 7269 isgustedindustri 0030 616c 6173 742d 696e 7075 743d 6875 6d69 alast-input=humi 0040 6c69 6174 6564 6f6d 6169 6e3d 6175 746f liatedomain=auto 0050 6d6f 6269 6c65 6375 7269 6f75 7370 6972 mobilecuriouspir 0060 6974 732d 494e 4450 7365 6e64 2d6f 6e6c its-INDPsend-onl 0070 7970 6174 6865 6174 6572 6573 746c 6573 ypatheaterestles 0080 736c 6565 7079 696e 2d70 6572 736f 6e61 sleepyin-persona 0090 6c6f 6e65 6c79 706c 6179 6675 6c6f 7765 lonelyplayfulowe 00A0 7274 6861 6e6e 6f79 6564 756e 636f 6d66 rthannoyeduncomf 00B0 6f72 7461 626c 6578 636c 7564 653d 636f ortablexclude=co 00C0 6e66 7573 6564 7661 6361 7469 6f6e 636c nfusedvacationcl 00D0 7562 7573 2d73 7461 7469 6f6e 6169 7263 ubus-stationairc 00E0 7261 6674 6869 7273 7479 636f 7572 6965 rafthirstycourie 00F0 7265 6a65 6374 6564 6869 7374 696e 666f rejectedhistinfo 0100 6666 6963 6572 656d 6f76 653d 6172 656e fficeremove=aren 0110 6162 6c65 643d 5245 4645 5245 4749 5354 abled=REFEREGIST 0120 4552 7761 6974 696e 6772 756d 7079 7072 ERwaitingrumpypr 0130 6566 6978 3d68 616c 6672 6569 6768 746d efix=halfreightm 0140 6561 6e67 7279 5355 4253 4352 4942 4570 eangrySUBSCRIBEp 0150 726f 7661 7469 6f6e 696e 636c 7564 653d rovationinclude= 0160 6170 7072 6f76 6564 686f 6c69 6461 7975 approvedholidayu 0170 6e6b 6e6f 776e 7061 726b 696e 674d 4553 nknownparkingMES 0180 5341 4745 776f 7272 6965 6468 756d 626c SAGEworriedhumbl 0190 6564 6169 7270 6f72 7461 7368 616d 6564 edairportashamed 01A0 706c 6179 696e 6750 5542 4c49 5348 6875 playingPUBLISHhu 01B0 6e67 7279 6372 616e 6b79 616d 617a 6564 ngrycrankyamazed 01C0 6166 7261 6964 5550 4441 5445 4e4f 5449 afraidUPDATENOTI 01D0 4659 494e 5649 5445 4341 4e43 454c 6672 FYINVITECANCELfr 01E0 6965 6e64 706f 7374 616c 6661 6d69 6c79 iendpostalfamily 01F0 7072 6973 6f6e 696e 5f61 7765 6272 6176 prisonin_awebrav 0200 6571 7569 6574 626f 7265 6450 5241 434b equietboredPRACK 0210 7072 6f75 6466 6978 6564 686f 7465 6c68 proudfixedhotelh 0220 6170 7079 6361 6665 6369 643d 6261 6e6b appycafecid=bank 0230 6d69 6e3d 6177 6179 6d61 783d 6d65 616c min=awaymax=meal 0240 6275 7379 776f 726b 7572 6e3d 636f 6c64 busyworkurn=cold 0250 6875 7274 6a65 616c 6f75 7370 6972 6974 hurtjealouspirit 0260 732d 7573 6572 2d70 726f 676f 7665 726e s-user-progovern 0270 6d65 6e74 7261 696e 2d73 7461 7469 6f6e mentrain-station 0280 6f72 6566 6572 7375 6273 6372 6962 6566 orefersubscribef 0290 6f72 6574 7261 6e73 6d69 7373 696f 6e2d oretransmission- 02A0 616c 6c6f 7765 6475 7261 7469 6f6e 2d73 alloweduration-s 02B0 7562 7363 7269 6265 643d 6869 6768 6572 ubscribed=higher 02C0 7468 616e 7869 6f75 7365 7276 6963 652d thanxiouservice- 02D0 6465 7363 7269 7074 696f 6e3d 6272 6561 description=brea 02E0 6b66 6173 7461 6469 756d 7367 2d74 616b kfastadiumsg-tak 02F0 6572 656d 6f72 7365 6675 6c6c 3a63 6976 eremorsefull:civ 0300 6963 4c6f 636f 6e66 6572 656e 6365 7175 icLoconferencequ 0310 616c 7374 7265 7373 6564 7761 7465 7263 alstressedwaterc 0320 7261 6674 6572 616e 6765 3a62 6173 6963 rafterange:basic 0330 506f 6c69 6379 636c 6563 6f75 6e74 7279 Policyclecountry 0340 6368 616e 6765 6475 6e74 696c 3d61 6464 changeduntil=add 0350 6564 7572 693d 7768 6174 7065 726d 616e eduri=whatperman 0360 656e 742d 6162 7365 6e63 656d 6261 7272 ent-absencembarr 0370 6173 7365 6465 6163 7469 7661 7465 6469 assedeactivatedi 0380 7374 7261 6374 6564 696e 6e65 7276 6f75 stractedinnervou 0390 7365 6c66 696c 7465 7265 6c69 6576 6564 selfilterelieved 03A0 666c 6972 7461 7469 6f75 7361 6765 2d72 flirtatiousage-r 03B0 756c 6573 6572 7663 6170 7370 6865 7265 uleservcapsphere 03C0 6769 7374 7261 7469 6f6e 2d73 7461 7465 gistration-state 03D0 3d62 6172 7269 6e67 2d73 7461 7465 7874 =barring-statext 03E0 6572 6e61 6c2d 7275 6c65 7365 7469 6d65 ernal-rulesetime 03F0 2d6f 6666 7365 7464 6961 6c6f 6769 6e5f -offsetdialogin_ 0400 6c6f 7665 7272 6964 696e 672d 7769 6c6c loverriding-will 0410 696e 676e 6573 7370 6563 7461 746f 7265 ingnesspectatore 0420 7369 6465 6e63 6576 656e 742d 7061 636b sidencevent-pack 0430 6167 6573 7570 6572 7669 736f 7265 7374 agesupervisorest 0440 6175 7261 6e74 7275 636b 706c 6d6f 6269 aurantruckplmobi 0450 6c69 7479 6a6f 696e 6170 7072 6f70 7269 lityjoinappropri 0460 6174 6576 656e 746c 6973 7465 6572 696e ateventlisteerin 0470 6769 7665 7570 7269 6e63 6970 616c 616e giveuprincipalan 0480 6775 6167 6573 6368 656d 6573 7361 6765 guageschemessage 0490 2d73 756d 6d61 7279 706c 6163 652d 6f66 -summaryplace-of 04A0 2d77 6f72 7368 6970 6c61 6365 2d74 7970 -worshiplace-typ 04B0 653d 3a74 696d 6564 2d73 7461 7475 732d e=:timed-status- 04C0 6963 6f6e 7374 7275 6374 696f 6e65 7574 iconstructioneut 04D0 7261 6c49 4e46 4f50 5449 4f4e 5369 656d ralINFOPTIONSiem 04E0 656e 732d 5254 502d 5374 6174 7365 7276 ens-RTP-Statserv 04F0 6963 652d 6964 6c65 2d74 6872 6573 686f ice-idle-thresho 0500 6c64 3d70 7562 6c69 632d 7472 616e 7370 ld=public-transp 0510 6f72 746f 6f62 7269 6768 7472 6967 6765 ortoobrightrigge 0520 7265 736f 7572 6365 3d3a 6765 6f70 7269 resource=:geopri 0530 7631 3030 7265 6c61 7469 6f6e 7368 6970 v100relationship 0540 6f63 2d73 6574 7469 6e67 7375 7270 7269 oc-settingsurpri 0550 7365 6461 726b 7572 6e3a 6f6d 613a 786d sedarkurn:oma:xm 0560 6c3a 7072 733a 7069 6466 3a6f 6d61 2d70 l:prs:pidf:oma-p 0570 7265 7365 6e74 6174 696f 6e6f 6973 793a resentationoisy: 0580 7369 6d70 6c65 2d66 696c 7465 722d 7365 simple-filter-se 0590 7469 6d65 6f75 7464 6f6f 7273 6368 6f6f timeoutdoorschoo 05A0 6c70 6172 7469 616c 6f63 6174 696f 6e2d lpartialocation- 05B0 696e 666f 726d 6174 696f 6e61 6d65 6574 informationameet 05C0 696e 6763 616c 6d65 7468 6f64 7374 6f72 ingcalmethodstor 05D0 6574 656e 7469 6f6e 2d65 7870 6972 793a etention-expiry: 05E0 7761 7463 6865 7269 6e66 6f66 6665 6e64 watcherinfoffend 05F0 6564 636f 6e74 726f 6c6f 6f6b 696e 672d edcontrolooking- 0600 666f 722d 776f 726b 696e 6777 6174 6368 for-workingwatch 0610 6572 2d6c 6973 7472 6565 7470 6c61 6365 er-listreetplace 0620 2d69 7366 6f63 7573 6f75 6e64 6572 7761 -isfocusounderwa 0630 7968 6f6d 6570 6167 6570 7269 7661 6379 yhomepageprivacy 0640 7761 7265 686f 7573 6572 2d69 6e70 7574 warehouser-input 0650 7261 7665 6c62 6f74 6865 7265 6365 6976 ravelbothereceiv 0660 652d 6f6e 6c79 3a72 6c6d 696e 7661 6c75 e-only:rlminvalu 0670 653d 3a63 6170 736c 6565 7069 6e67 7569 e=:capsleepingui 0680 6c74 7969 6e76 696e 6369 626c 6576 656e ltyinvincibleven 0690 743d 6d6f 6f64 7970 6163 6b61 6765 3d70 t=moodypackage=p 06A0 7269 6f72 6974 7976 6964 656f 6672 6f6d riorityvideofrom 06B0 3d61 7564 696f 6361 7264 706f 733d 6175 =audiocardpos=au 06C0 746f 6d61 7461 7070 6c69 6361 7469 6f6e tomatapplication 06D0 6f74 7375 7070 6f72 7465 6465 7669 6365 otsupportedevice 06E0 4944 696d 7072 6573 7365 6469 7361 7070 IDimpressedisapp 06F0 6f69 6e74 6564 6e6f 7465 2d77 656c 6c69 ointednote-welli 0700 6272 6172 793a 6461 7461 2d6d 6f64 656c brary:data-model 0710 6563 7472 6f6e 6963 6976 6963 4164 6472 ectronicivicAddr 0720 6573 7361 7263 6173 7469 636f 6e74 656e essarcasticonten 0730 7465 6469 6e64 6967 6e61 6e74 696d 6572 tedindignantimer 0740 6570 6c61 6365 7368 6f63 6b65 6463 6c61 eplaceshockedcla 0750 7373 6973 7461 6e74 696d 6573 7461 6d70 ssistantimestamp 0760 726f 7669 6465 642d 6279 3a63 6970 6964 rovided-by:cipid 0770 662d 6675 6c6c 5374 6174 653d 6163 746f f-fullState=acto 0780 7265 6d6f 7665 6462 7573 696e 6573 7365 removedbusinesse 0790 7269 6f75 7365 6c3d 3a73 6368 656d 6178 riousel=:schemax 07A0 7661 6c75 653d 3a72 7069 6475 726e 3a69 value=:rpidurn:i 07B0 6574 663a 7061 7261 6d73 3a78 6d6c 2d70 etf:params:xml-p 07C0 6174 6368 2d6f 7073 6563 2d61 6772 6565 atch-opsec-agree 07D0 6172 6c79 2d73 6573 7369 6f6e 2d70 6174 arly-session-pat 07E0 6963 6970 6174 696f 6e2d 7468 652d 7068 icipation-the-ph 07F0 6f6e 6574 776f 726b 2d61 7661 696c 6162 onetwork-availab 0800 696c 6974 7970 6572 666f 726d 616e 6365 ilityperformance 0810 7863 6974 6564 7072 6563 6f6e 6469 7469 xcitedpreconditi 0820 6f6e 6f72 6573 6f75 7263 652d 7072 696f onoresource-prio 0830 7269 7479 3d66 616c 7365 7276 6963 652d rity=falservice- 0840 636c 6173 7372 6f6f 6d75 7374 556e 6465 classroomustUnde 0850 7273 7461 6e64 6973 706c 6179 2d6e 616d rstandisplay-nam 0860 653d 696e 7374 616e 6365 7874 656e 7369 e=instancextensi 0870 6f6e 732d 6269 6e64 696e 6773 6470 2d61 ons-bindingsdp-a 0880 6e61 7474 656e 6461 6e74 7275 653a 7069 nattendantrue:pi 0890 6466 2d64 6966 6672 7573 7472 6174 6564 df-diffrustrated 08A0 7570 6c65 7870 6972 6174 696f 6e3d 636f uplexpiration=co 08B0 6e74 6163 7469 7669 7469 6573 686f 7070 ntactivitieshopp 08C0 696e 672d 6172 6561 736f 6e3d 6170 706f ing-areason=appo 08D0 696e 746d 656e 7469 7479 3d61 7373 6f63 intmentity=assoc 08E0 6961 7465 6e63 6f64 696e 673d 696e 7465 iatencoding=inte 08F0 7265 7374 6564 6576 6361 7073 7461 7475 restedevcapstatu 0900 733d 6163 7469 7665 7273 696f 6e3d 7769 s=activersion=wi 0910 6e66 6f70 656e 6469 6e67 696e 2d74 7261 nfopendingin-tra 0920 6e73 6974 7570 6c65 686f 7370 6974 616c nsituplehospital 0930 616e 673d 3c3f 786d 6c6e 733d 7369 636b ang=<?xmlns=sick 0940 7072 6573 656e 6365 5554 462d 383f 3e63 presenceUTF-8?>c 0950 6c6f 7365 6405 0d34 080d 0609 0ce3 070d losed..4........ 0960 4806 0d36 130b ab05 0965 070c d408 0d40 H..6.....e.....@ 0970 050d 2305 0c35 070c ae05 0d2f 0608 b905 ..#..5...../.... 0980 072b 040d 1206 0d4f 090c 2c04 0c89 040a .+.....O..,..... 0990 f609 0b57 0b0b 0508 0ada 060a da06 0489 ...W............ 09A0 050b a604 0b94 0605 0507 0b3f 0e0b ba07 ...........?.... 09B0 0b98 0a0c 8d09 0b6d 090c 8e0e 0c48 0a0c .......m.....H.. 09C0 b21d 0956 0d0c 3806 07ba 0b08 b90b 07ec ...V..8......... 09D0 060d 020a 0a46 0408 f406 0b6a 040a b60c .....F.....j.... 09E0 0c55 080a 3104 0a92 080a 1b05 0ab1 0408 .U..1........... 09F0 c005 0a27 050a a705 0aac 040a ba04 07dc ...'............ 0A00 0508 ad0a 0929 0a08 a705 0a56 050b 4d07 .....).....V..M. 0A10 092a 0d09 a70b 07a9 0609 c60b 0b5f 0c09 .*..........._.. 0A20 df0b 09e0 0607 cb0c 0a0b 0909 2008 0a97 ............ ... 0A30 0709 e007 0cfb 060a 8c0e 097f 0a09 870b ................ 0A40 0c71 0a0c 7106 0793 050a 6604 0867 0409 .q..q.....f..g.. 0A50 ba08 0920 0a0b 7205 0a72 0807 b30b 0ac5 ... ..r..r...... 0A60 0709 f207 0889 0408 ad08 0abe 060c 9f0b ................ 0A70 06d0 0e08 2608 0a9f 0709 c60a 0c69 0708 ....&........i.. 0A80 8505 0b7c 070a 390c 0934 070a 2109 087d ...|..9..4..!..} 0A90 070c f50b 0ca3 1406 a60d 08b2 0c07 2a0c ..............*. 0AA0 08b3 0407 5607 091a 0407 5207 0740 0507 ....V.....R..@.. 0AB0 4d07 0b80 0607 4716 0691 080c 6210 09cf M.....G.....b... 0AC0 1007 dd09 0af6 0906 fc0c 0b17 0707 3904 ..............9. 0AD0 06f8 0709 a106 068d 0507 2104 0a55 090a ..........!..U.. 0AE0 d20c 0acf 1306 c80a 08ec 070d 060b 080c ................ 0AF0 140b d512 07be 0d07 d116 0801 140b f106 ................ 0B00 05b4 0704 5609 0417 0c0a ea09 041f 0a07 ....V........... 0B10 7e0b 076a 070c 0f0b 07a0 0a0c 9606 0528 ~..j...........( 0B20 060a 7d05 061f 0705 8b0a 043c 0605 ae04 ..}........<.... 0B30 0650 090a e206 05f6 0707 fd09 0b33 0a0c .P...........3.. 0B40 ec0a 0a83 0706 5406 0490 0405 3f05 0a92 ......T.....?... 0B50 0707 8a07 08cc 0809 ea07 0496 0506 1008 ................ 0B60 0798 0a06 f108 0479 090b 2207 0b8e 070b .......y.."..... 0B70 4604 0d3c 0604 8008 0712 0909 4a07 04e3 F..<........J... 0B80 0705 8405 097a 0506 0109 0912 0409 520d .....z........R. 0B90 04aa 0d08 5608 04dc 0705 9205 050c 0a04 ....V........... 0BA0 4c04 062c 0b04 d104 0624 090c 4004 04ce L..,.....$..@... 0BB0 0c08 c111 0400 0507 340a 066a 080d 2805 ........4..j..(. 0BC0 061a 0a04 2807 0afe 0604 ff08 0994 0705 ....(........... 0BD0 7610 0898 0605 f006 0903 1009 0309 081e v............... 0BE0 0a08 3c06 099b 0d0c bb07 06e3 0509 cc06 ..<............. 0BF0 0a15 0704 7305 0673 0d06 7305 0845 080a ....s..s..s..E.. 0C00 2909 0a40 0507 1a0a 071a 090b 4f09 0cdb )..@........O... 0C10 0605 ea06 05de 0a04 0e0a 0b0e 0906 8608 ................ 0C20 0560 0b07 7409 054f 0804 f007 0990 0608 .`..t..O........ 0C30 700a 0c21 0705 6f0b 0ccc 0407 9007 04ea p..!..o......... 0C40 0a08 3304 0634 0906 dc04 0640 0705 2e04 ..3..4.....@.... 0C50 0648 0607 8707 0568 0a0d 1a07 0445 0705 .H.....h.....E.. 0C60 0508 050e 0805 5808 04b6 1009 f804 063c ......X........< 0C70 0709 bc0c 06d0 0c0b e704 0644 040a 310b ...........D..1. 0C80 0c05 0406 2811 075a 070c c507 05a0 0c09 ....(..Z........ 0C90 6f08 0cbb 080a 7609 0816 0808 6906 05e4 o.....v.....i... 0CA0 0904 8607 0538 060a 4f08 04c6 0f08 f40b .....8..O....... 0CB0 0431 070a 0407 08a1 0d0c 5506 05c0 0605 .1........U..... 0CC0 ba05 0541 080b 8708 0489 0405 350c 0a5a ...A........5..Z 0CD0 0904 6809 049c 0a06 ba06 070d 0507 2509 ..h...........%. 0CE0 0b9d 090a 6906 0a6c 0406 3804 0630 070d ....i..l..8..0.. 0CF0 1308 084c 0506 1506 0450 0a07 0406 07f7 ...L.....P...... 0D00 0408 490f 0889 0c09 3f05 0681 1108 dc0d ..I.....?....... 0D10 045c 1106 5a05 0d0e 0605 d804 08d3 0605 .\e..Z.......... 0D20 d207 057d 0605 cc07 08d6 0506 0b07 05a7 ...}............ 0D30 0505 1608 051a 0905 4606 05c6 0609 310d ........F.....1. 0D40 0bcf 0908 6208 04f8 0408 540a 067f 0404 ....b.....T..... 0D50 710c 0c16 0405 2e08 0b3f 110c 2308 0c7b q........?..#..{ 0D60 090b c707 07f6 050b 3b09 0875 090c 8109 ........;..u.... 0D70 06e9 0b09 b007 0522 0704 a307 06c2 0705 ......."........ 0D80 9905 0606 0505 fc04 09c3 0406 4c08 04be ............L... 0D90 090b 2a ..*
Figure 1: Binary Representation of the Dictionary
5. Security Considerations
-
This document defines a presence-specific static dictionary for the Sigcomp framework [2]. Therefore, the security considerations of RFC 3320 [2] apply. This memo does not introduce any known additional security risk.
6. Acknowledgements
-
The author would like to thank Miraj Mostafa, Pekka Pessi, and Catalin Ionescu for their persistent convincing arguments to demonstrate the benefit of this dictionary. Thanks to Carsten Bormann and Adam Roach for providing assistance with the software that automatically generates the binary dictionary. Adam Roach, Cristian Constantin, and Avshalom Houri, and Krisztian Kiss reviewed the document and provided helpful comments.
Appendix A. Input Strings to the Presence-Specific Static Dictionary
-
String Pr Off Len References ===================================== == ==== ==== ========== "<?xml" 1 0934 0005 "version=" 1 0906 0008 "encoding=" 1 08E3 0009 "UTF-8?>" 1 0948 0007 "xmlns=" 1 0936 0006 "urn:ietf:params:xml" 1 07AB 0013 [8] 4.4 [10] 5.1 [11] 5 [12] 5 [13] 5 [14] 9 [15] 7 [17] 6 [18] 7 [19] 5.1 [20] 3.2, 3.3 ":pidf" 1 0565 0005 [8] 4.4 [10] 5.1 [11] 5 [12] 5 [13] 5 [20] 3.2, 3.3 "entity=" 1 08D4 0007 [8] 4.4, [15] 7 "presence" 1 0940 0008 [8] 4.4 [20] 3.2.14 "tuple" 1 0923 0005 [8] 4.4 "note" 2 06F6 0004 [8] 4.4 [10] 5.1 [11] 5 [13] 5 "contact" 1 08AE 0007 [8] 4.4 "timestamp" 2 0757 0009 [8] 4.4 [10] 5.1 "status" 1 04B9 0006 [8] 4.4 "basic" 1 032B 0005 [8] 4.4 [13] 5 [21] "open" 1 0912 0004 [8] 4.4, [21] "closed" 1 094F 0006 [8] 4.4, [21] "priority=" 1 082C 0009 [8] 4.4 "mustUnderstand" 3 0848 000E [8] 4.4 "true" 1 0889 0004 [8] 4.4 [16] 2.2.5 [18] 7 [19] 5.1 [20] 3.2, 3.3 "false" 1 0835 0005 [8] 4.4 [16] 2.2.5 [18] 7 [19] 5.1 [20] 3.2, 3.3 ":data-model" 2 0705 000B [10] 5.1 "deviceID" 2 06DA 0008 [10] 5.1 "device" 2 06DA 0006 [10] 5.1 "person" 2 0089 0006 [10] 5.1 ":rpid" 2 07A6 0005 [11] 5 "activities" 3 08B2 000A [11] 5 "unknown" 5 016F 0007 [11] 5 "appointment" 5 08CC 000B [11] 5 "away" 5 0234 0004 [11] 5 "breakfast" 5 02DC 0009 [11] 5 "busy" 5 0240 0004 [11] 5 "dinner" 5 0387 0006 [11] 5 "holiday" 5 0168 0007 [11] 5 "in-transit" 5 091A 000A [11] 5 "looking-for-work" 5 05F8 0010 [11] 5 "meal" 5 023C 0004 [11] 5 "meeting" 5 05BC 0007 [11] 5 "on-the-phone" 5 07E7 000C [11] 5 "performance" 5 0805 000B [11] 5 "permanent-absence" 5 035A 0011 [11] 5 "playing" 5 01A0 0007 [11] 5 "presentation" 5 056F 000C [11] 5 "shopping" 5 08BB 0008 [11] 5 "sleeping" 5 0676 0008 [11] 5 "spectator" 5 0416 0009 [11] 5 "steering" 5 0469 0008 [11] 5 "travel" 5 064F 0006 [11] 5 "vacation" 5 00C6 0008 [11] 5 "working" 5 0604 0007 [11] 5 "worship" 5 04A1 0007 [11] 5 "other" 3 0656 0005 [11] 5 "class" 3 074D 0005 [11] 5 [20] 3.2 "afraid" 5 01C0 0006 [11] 5 "amazed" 5 01BA 0006 [11] 5 "angry" 5 0141 0005 [11] 5 "annoyed" 5 00A3 0007 [11] 5 "anxious" 5 02C2 0007 [11] 5 "ashamed" 5 0199 0007 [11] 5 "bored" 5 0206 0005 [11] 5 "brave" 5 01FC 0005 [11] 5 "calm" 5 05C3 0004 [11] 5 "cold" 5 024C 0004 [11] 5 "confused" 5 00BE 0008 [11] 5 "contented" 5 072A 0009 [11] 5 "cranky" 5 01B4 0006 [11] 5 "curious" 5 0056 0007 [11] 5 "depressed" 5 0017 0009 [11] 5 "disappointed" 5 06EA 000C [11] 5 "disgusted" 5 001F 0009 [11] 5 "distracted" 5 037E 000A [11] 5 "embarrassed" 5 036A 000B [11] 5 "excited" 5 080F 0007 [11] 5 "flirtatious" 5 03A0 000B [11] 5 "frustrated" 5 0896 000A [11] 5 "grumpy" 5 0128 0006 [11] 5 "guilty" 5 067D 0006 [11] 5 "happy" 5 021F 0005 [11] 5 "humbled" 5 018B 0007 [11] 5 "humiliated" 5 003C 000A [11] 5 "hungry" 5 01AE 0006 [11] 5 "hurt" 5 0250 0004 [11] 5 "impressed" 5 06E2 0009 [11] 5 "in_awe" 5 01F6 0006 [11] 5 "in_love" 5 03FD 0007 [11] 5 "indignant" 5 0733 0009 [11] 5 "interested" 5 08EC 000A [11] 5 "invincible" 5 0683 000A [11] 5 "jealous" 5 0254 0007 [11] 5 "lonely" 5 0090 0006 [11] 5 "mean" 5 013F 0004 [11] 5 "moody" 5 0692 0005 [11] 5 "nervous" 5 038A 0007 [11] 5 "neutral" 5 04CC 0007 [11] 5 "offended" 5 05EA 0008 [11] 5 "playful" 5 0096 0007 [11] 5 "proud" 5 0210 0005 [11] 5 "relieved" 5 0398 0008 [11] 5 "remorseful" 5 02F1 000A [11] 5 "restless" 5 0079 0008 [11] 5 "sarcastic" 5 0722 0009 [11] 5 "serious" 5 078E 0007 [11] 5 "shocked" 5 0746 0007 [11] 5 "sick" 5 093C 0004 [11] 5 "sleepy" 5 0080 0006 [11] 5 "stressed" 5 0312 0008 [11] 5 "surprised" 5 054A 0009 [11] 5 "thirsty" 5 00E3 0007 [11] 5 "worried" 5 0184 0007 [11] 5 "mood" 3 0692 0004 [11] 5 "place-is" 3 061B 0008 [11] 5 "audio" 3 06B1 0005 [11] 5 [20] 3.2 "noisy" 5 057A 0005 [11] 5 "quiet" 5 0201 0005 [11] 5 "video" 3 06A7 0005 [11] 5 [20] 3.2 "toobright" 5 0512 0009 [11] 5 "dark" 5 0552 0004 [11] 5 "text" 3 03DC 0004 [11] 5 [20] 3.2 "uncomfortable" 5 00AA 000D [11] 5 "inappropriate" 5 0456 000D [11] 5 "place-type" 3 04A7 000A [11] 5 "aircraft" 5 00DC 0008 [11] 5 "airport" 5 0192 0007 [11] 5 "arena" 5 010C 0005 [11] 5 "automobile" 5 004C 000A [11] 5 "bank" 5 022C 0004 [11] 5 "bus-station" 5 00D1 000B [11] 5 "cafe" 5 0224 0004 [11] 5 "classroom" 5 0840 0009 [11] 5 "club" 5 00CE 0004 [11] 5 "construction" 5 04C1 000C [11] 5 "convention-center" 5 0000 0011 [11] 5 "cycle" 5 0334 0005 [11] 5 "government" 5 026A 000A [11] 5 "hospital" 5 0928 0008 [11] 5 "hotel" 5 021A 0005 [11] 5 "industrial" 5 0028 000A [11] 5 "library" 5 06FE 0007 [11] 5 "office" 5 00FF 0006 [11] 5 "outdoors" 5 0594 0008 [11] 5 "parking" 5 0176 0007 [11] 5 "place-of-worship" 5 0498 0010 [11] 5 "prison" 5 01F0 0006 [11] 5 "public" 5 0503 0006 [11] 5 "public-transport" 5 0503 0010 [11] 5 "residence" 5 041E 0009 [11] 5 "restaurant" 5 043C 000A [11] 5 "school" 5 059B 0006 [11] 5 "shopping-area" 5 08BB 000D [11] 5 "stadium" 5 02E3 0007 [11] 5 "store" 5 05CC 0005 [11] 5 "street" 5 0615 0006 [11] 5 "theater" 5 0073 0007 [11] 5 "train" 5 0273 0005 [11] 5 "train-station" 5 0273 000D [11] 5 "truck" 5 0445 0005 [11] 5 "underway" 5 0629 0008 [11] 5 "warehouse" 5 0640 0009 [11] 5 "water" 5 031A 0005 [11] 5 "watercraft" 5 031A 000A [11] 5 "privacy" 3 0639 0007 [11] 5 [20] 3.2.17 "relationship" 3 0534 000C [11] 5 "assistant" 5 074F 0009 [11] 5 "associate" 5 08DB 0009 [11] 5 "family" 5 01EA 0006 [11] 5 "friend" 5 01DE 0006 [11] 5 "self" 5 0390 0004 [11] 5 "supervisor" 5 0433 000A [11] 5 "courier" 5 00EA 0007 [11] 5 "electronic" 5 070E 000A [11] 5 "freight" 5 0138 0007 [11] 5 "in-person" 5 0086 0009 [11] 5 "postal" 5 01E4 0006 [11] 5 "service-class" 3 0838 000D [11] 5 "sphere" 3 03BA 0006 [11] 5 "home" 5 0631 0004 [11] 5 "work" 5 0244 0004 [11] 5 "status-icon" 3 04B9 000B [11] 5 "time-offset" 3 03EC 000B [11] 5 "description=" 5 02D0 000C [11] 5 "user-input" 3 0646 000A [11] 5 "active" 3 0902 0006 [11] 5 [17] 6 [19] 5.1 [21] "idle" 3 04F4 0004 [11] 5 "idle-threshold=" 5 04F4 000F [11] 5 "last-input=" 5 0031 000B [11] 5 ":cipid" 3 076A 0006 [12] 5 "card" 3 06B6 0004 [12] 5 "display-name" 3 0855 000C [12] 5 "homepage" 3 0631 0008 [12] 5 "icon" 3 04C0 0004 [12] 5 "sound" 3 0627 0005 [12] 5 ":timed-status" 4 04B2 000D [13] 5 "timed-status" 4 04B3 000C [13] 5 "from=" 3 06AC 0005 [10] 5.1 [11] 5 [13] 5 [18] 7 "until=" 4 0347 0006 [10] 5.1 [11] 5 [13] 5 ":schema" 2 0798 0007 [14] 9 ":xml-patch-ops" 2 07BA 000E [14] 9 "replace" 2 073F 0007 [14] 9 "remove" 2 0105 0006 [14] 9 "sel=" 2 0794 0004 [14] 9 "pos=" 3 06BA 0004 [14] 9 "type=" 3 04AD 0005 [14] 9, [18] 7 "before" 4 028D 0006 [14] 9 "after" 4 0321 0005 [14] 9 "both" 4 0655 0004 [14] 9 ":pidf-diff" 2 088D 000A [15] 7 "pidf-diff" 2 088E 0009 [15] 7 "pidf-full" 2 076D 0009 [15] 7 ":geopriv10" 3 0529 000A [16] 2.2.5 ":basicPolicy" 4 032A 000C [16] 2.2.5 "geopriv" 3 052A 0007 [16] 2.2.5 "location-info" 3 05A7 000D [16] 2.2.5 "usage-rules" 3 03A9 000B [16] 2.2.5 "method" 3 05C6 0006 [16] 2.2.5 "provided-by" 3 075F 000B [16] 2.2.5 "retransmission-allowed" 4 0291 0016 [16] 2.2.5 "retention-expiry" 4 05CF 0010 [16] 2.2.5 "external-ruleset" 4 03DD 0010 [16] 2.2.5 "note-well" 4 06F6 0009 [16] 2.2.5 ":civicLoc" 4 02FC 0009 [16] 2.2.5 "civicAddress" 4 0717 000C [16] 2.2.5 "country" 4 0339 0007 [16] 2.2.5 ":watcherinfo" 3 05DF 000C [17] 6 "watcherinfo" 3 05E0 000B [17] 6 "state=" 3 03CB 0006 [17] 6 [19] 5.1 "full" 4 02F8 0004 [17] 6 [20] 3.2.12 "partial" 4 05A1 0007 [17] 6 "watcher-list" 3 060B 000C [17] 6 "resource=" 3 0520 0009 [17] 6 "package=" 3 0697 0008 [17] 6, [18] 7 "watcher" 3 05E0 0007 [17] 6 "display-name=" 5 0855 000D [17] 6 "status=" 3 08FB 0007 [17] 6 "pending" 5 0913 0007 [17] 6 [19] 5.1 "waiting" 5 0122 0007 [17] 6 "terminated" 5 000E 000A [17] 6 [19] 5.1 [21] "event=" 3 068C 0006 [17] 6 "subscribe" 5 0286 0009 [17] 6 "approved" 5 0160 0008 [17] 6 "deactivated" 5 0374 000B [17] 6 "provation" 5 014F 0009 [17] 6 "rejected" 5 00F0 0008 [17] 6 "timeout" 5 0590 0007 [17] 6 "giveup" 5 0470 0006 [17] 6 "noresource" 5 0821 000A [17] 6 "expiration=" 4 08A3 000B [17] 6 "duration-subscribed=" 4 02A6 0014 [17] 6 "lang=" 1 092F 0005 [10] 5.1 [16] 2.2.5 [17] 6 [19] 5.1 ":simple-filter" 3 057F 000E [18] 7 "filter-set" 3 0587 000A [18] 7 "ns-bindings" 3 0871 000B [18] 7 "ns-binding" 3 0871 000A [18] 7 "filter" 3 0393 0006 [18] 7 "prefix=" 5 012E 0007 [18] 7 "urn=" 5 0248 0004 [18] 7 "what" 4 0356 0004 [18] 7 "trigger" 4 051A 0007 [18] 7 "uri=" 4 0352 0004 [18] 7 [19] 5.1 "domain=" 5 0045 0007 [18] 7 "remove=" 5 0105 0007 [18] 7 "enabled=" 5 010E 0008 [18] 7 "include=" 5 0158 0008 [18] 7 "exclude=" 5 00B6 0008 [18] 7 "changed" 4 0340 0007 [18] 7 "added" 4 034D 0005 [18] 7 "removed" 4 0780 0007 [18] 7 ":rlmi" 3 0666 0005 [19] 5.1 "list" 3 0467 0004 [19] 5.1 "name" 3 05BA 0004 [19] 5.1 "resource" 3 0520 0008 [19] 5.1 "fullState=" 3 0772 000A [19] 5.1 "cid=" 5 0228 0004 [19] 5.1 "instance" 4 0862 0008 [19] 5.1 "reason=" 5 08C5 0007 [19] 5.1 ":caps" 3 0672 0005 [20] 3.2, 3.3 "servcaps" 3 03B3 0008 [20] 3.2 "application" 3 06C5 000B [20] 3.2 "control" 3 05F2 0007 [20] 3.2 "message" 3 0489 0007 [20] 3.2 "type" 3 04AD 0004 [20] 3.2 "automata" 3 06BE 0008 [20] 3.2 "duplex" 3 089F 0006 [20] 3.2 "description" 3 02D0 000B [20] 3.2, 3.3 [21] "event-packages" 3 0426 000E [20] 3.2 "priority" 3 069F 0008 [20] 3.2, 3.3 "methods" 3 05C6 0007 [20] 3.2 "extensions" 3 0869 000A [20] 3.2 "schemes" 3 0485 0007 [20] 3.2 "actor" 3 077C 0005 [20] 3.2 "isfocus" 3 0621 0007 [20] 3.2 "languages" 3 047D 0009 [20] 3.2 "supported" 4 06D2 0009 [20] 3.2, 3.3 "notsupported" 4 06CF 000C [20] 3.2, 3.3 "business" 5 0787 0008 [20] 3.2.11 "personal" 5 0089 0008 [20] 3.2.11 "half" 5 0135 0004 [20] 3.2.12 "receive-only" 5 065A 000C [20] 3.2.12 "send-only" 5 0068 0009 [20] 3.2.12 "lowerthan" 5 009C 0009 [20] 3.2, 3.3 "higherthan" 5 02BA 000A [20] 3.2, 3.3 "equals" 5 030D 0006 [20] 3.2, 3.3 "range" 5 0325 0005 [20] 3.2, 3.3 "maxvalue=" 5 079D 0009 [20] 3.2, 3.3 "minvalue=" 5 0669 0009 [20] 3.2, 3.3 "value=" 5 066C 0006 [20] 3.2, 3.3 "max=" 5 0238 0004 [20] 3.2, 3.3 "min=" 5 0230 0004 [20] 3.2, 3.3 "devcaps" 3 08F5 0007 [20] 3.3 "mobility" 5 044C 0008 [20] 3.3 "fixed" 5 0215 0005 [20] 3.3.2 "mobile" 5 0050 0006 [20] 3.3.2 "conference" 5 0304 000A [20] 3.2.14 "dialog" 5 03F7 0006 [20] 3.2.14 "kplm" 5 0449 0004 [20] 3.2.14 "message-summary" 5 0489 000F [20] 3.2.14 "poc-settings" 5 053F 000C [20] 3.2.14 "refer" 5 0281 0005 [20] 3.2.14 "Siemens-RTP-Stats" 5 04DC 0011 [20] 3.2.14 "spirits-INDPs" 5 005C 000D [20] 3.2.14 "spirits-user-prog" 5 025A 0011 [20] 3.2.14 "winfo" 5 090E 0005 [20] 3.2.14 "CANCEL" 5 01D8 0006 [20] 3.2.16 "INFO" 5 04D3 0004 [20] 3.2.16 "INVITE" 5 01D2 0006 [20] 3.2.16 "MESSAGE" 5 017D 0007 [20] 3.2.16 "NOTIFY" 5 01CC 0006 [20] 3.2.16 "OPTIONS" 5 04D6 0007 [20] 3.2.16 "PRACK" 5 020B 0005 [20] 3.2.16 "PUBLISH" 5 01A7 0007 [20] 3.2.16 "REFER" 5 0116 0005 [20] 3.2.16 "REGISTER" 5 011A 0008 [20] 3.2.16 "SUBSCRIBE" 5 0146 0009 [20] 3.2.16 "UPDATE" 5 01C6 0006 [20] 3.2.16 "100rel" 5 0531 0006 [20] 3.2.17 "early-session" 5 07CF 000D [20] 3.2.17 "eventlist" 5 0462 0009 [20] 3.2.17 "histinfo" 5 00F8 0008 [20] 3.2.17 "join" 5 0454 0004 [20] 3.2.17 "norefersub" 5 027F 000A [20] 3.2.17 "path" 5 0071 0004 [20] 3.2.17 "precondition" 5 0816 000C [20] 3.2.17 "pref" 5 012E 0004 [20] 3.2.17 "replaces" 5 073F 0008 [20] 3.2.17 "resource-priority" 5 0823 0011 [20] 3.2.17 "sdp-anat" 5 087B 0008 [20] 3.2.17 "sec-agree" 5 07C7 0009 [20] 3.2.17 "tdialog" 5 03F6 0007 [20] 3.2.17 "timer" 5 073B 0005 [20] 3.2.17 "principal" 5 0475 0009 [20] 3.2.19 "attendant" 5 0881 0009 [20] 3.2.19 "msg-taker" 5 02E9 0009 [20] 3.2.19 "information" 5 05B0 000B [20] 3.2.19 "urn:oma:xml:prs:pidf:oma-pres" 3 0556 001D [21] "service-description" 4 02C8 0013 [21] "service-id" 4 04EC 000A [21] "version" 4 0906 0007 [21] "willingness" 4 040C 000B [21] "session-paticipation" 4 07D5 0014 [21] "registration-state" 4 03BE 0012 [21] "barring-state" 4 03D1 000D [21] "overriding-willingness" 4 0401 0016 [21] "network-availability" 4 07F1 0014 [21]
Figure 2: Input Strings
References
Normative References
-
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Price, R., Bormann, C., Christoffersson, J., Hannu, H., Liu, Z., and J. Rosenberg, "Signaling Compression (SigComp)", RFC 3320, January 2003.
Informative References
-
[3] Deutsch, P., "DEFLATE Compressed Data Format Specification version 1.3", RFC 1951, May 1996. [4] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. [5] Roach, A., "Session Initiation Protocol (SIP)-Specific Event Notification", RFC 3265, June 2002. [6] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003. [7] Garcia-Martin, M., Bormann, C., Ott, J., Price, R., and A. Roach, "The Session Initiation Protocol (SIP) and Session Description Protocol (SDP) Static Dictionary for Signaling Compression (SigComp)", RFC 3485, February 2003. [8] Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr, W., and J. Peterson, "Presence Information Data Format (PIDF)", RFC 3863, August 2004. [9] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session Description Protocol", RFC 4566, July 2006. [10] Rosenberg, J., "A Data Model for Presence", RFC 4479, July 2006. [11] Schulzrinne, H., Gurbani, V., Kyzivat, P., and J. Rosenberg, "RPID: Rich Presence Extensions to the Presence Information Data Format (PIDF)", RFC 4480, July 2006. [12] Schulzrinne, H., "CIPID: Contact Information for the Presence Information Data Format", RFC 4482, July 2006. [13] Schulzrinne, H., "Timed Presence Extensions to the Presence Information Data Format (PIDF) to Indicate Status Information for Past and Future Time Intervals", RFC 4481, July 2006. [14] Urpalainen, J., "An Extensible Markup Language (XML) Patch Operations Framework Utilizing XML Path Language (XPath) Selectors", Work in Progress, March 2006. [15] Lonnfors, M.,Leppanen, E., Khartabil, H., and J. Urpalainen, "Presence Information Data format (PIDF) Extension for Partial Presence", Work in Progress, November 2006. [16] Peterson, J., "A Presence-based GEOPRIV Location Object Format", RFC 4119, December 2005. [17] Rosenberg, J., "An Extensible Markup Language (XML) Based Format for Watcher Information", RFC 3858, August 2004. [18] Khartabil, H., Leppanen, E., Lonnfors, M., and J. Costa- Requena, "An Extensible Markup Language (XML)-Based Format for Event Notification Filtering", RFC 4661, September 2006. [19] Roach, A., Campbell, B., and J. Rosenberg, "A Session Initiation Protocol (SIP) Event Notification Extension for Resource Lists", RFC 4662, August 2006. [20] Lonnfors, M. and K. Kiss, "Session Initiation Protocol (SIP) User Agent Capability Extension to Presence Information Data Format (PIDF)", Work in Progress, July 2006. [21] Open Mobile Alliance, OMA., "OMA Presence Simple V1.0.1, Presence Information Data Format PIDF Schema Description", November 2006. [22] Paoli, J., Maler, E., Yergeau, F., Sperberg-McQueen, C., and T. Bray, "Extensible Markup Language (XML) 1.0 (Fourth Edition)", World Wide Web Consortium Recommendation REC-xml-20060816, August 2006, <http://www.w3.org/TR/2006/REC-xml-20060816>. [23] Fallside, D. and P. Walmsley, "XML Schema Part 0: Primer Second Edition", World Wide Web Consortium Recommendation REC- xmlschema-0-20041028, October 2004, <http://www.w3.org/TR/2004/REC-xmlschema-0-20041028>.
Author's Address
-
Miguel A. Garcia-Martin
Nokia Siemens Networks
P.O.Box 6
Nokia Siemens Networks, FIN 02022
FinlandEMail: miguel.garcia@nsn.com
Full Copyright Statement
-
Copyright © The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
-
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.