RFC 3922:Mapping the Extensible Messaging and Pres...
RFC-Ref

CPIM


Click on the red underlined text to get to the source

... framework is commonly called Common Presence and Instant Messaging or "CPIM". The CPIM family of specifications include a Common Profile for Instant Messaging [CPIM ...
... Common Presence and Instant Messaging or "CPIM". The CPIM family of specifications include a Common Profile for Instant Messaging [CPIM] (also called CPIM ...
... CPIM family of specifications include a Common Profile for Instant Messaging [CPIM] (also called CPIM), a Common Profile for Presence [CPP], a CPIM Message Format ...
... CPIM), a Common Profile for Presence [CPP], a CPIM Message Format [MSGFMT], and a Common Presence Information Data Format [PIDF ...
... PIDF]. (Note: To prevent confusion, Common Presence and Instant Messaging is referred to herein collectively as "the CPIM specifications", whereas the Common Profile for Instant Messaging is referred to as "CPIM".) ...
... "the CPIM specifications", whereas the Common Profile for Instant Messaging is referred to as "CPIM".) This memo describes how the Extensible Messaging and Presence Protocol ...
... XMPP-CORE], [XMPP-IM]) maps to the abstract model contained in the CPIM specifications, mainly for the purpose of establishing gateways between XMPP ...
... IMP-REQS]. Such a gateway, referred to herein as an "XMPP-CPIM gateway", may be established to interpret the protocols of one service and translate them into the protocols of the other ...
... | XMPP | | XMPP-CPIM | | Non-XMPP | | Service ...
... between XMPP and a non-XMPP protocol via the CPIM specifications. Such a gateway is not an intermediate hop on a network ...
... network of non-XMPP servers (whose native formats may or may not be defined by the CPIM specifications), but a dedicated translator between XMPP and a ...
... XMPP and a non-XMPP protocol, where the CPIM specifications define the common formats into which the protocols are translated for purposes of interworking ...
... XMPP service through an XMPP-CPIM gateway, refer to [XMPP-E2E]. ...


... XMPP and CPIM are distinctly foreign technologies. Therefore, care must be taken in mapping between XMPP and the abstract syntax defined ...
... must be taken in mapping between XMPP and the abstract syntax defined by the CPIM specifications. At root ...
... human user). The CPIM specifications provide common formats for instant messaging and presence through two [MIME ...
... and presence through two [MIME] content-types: "Message/CPIM" for messages ([MSGFMT]) and "application/pidf+xml" for presence ([PIDF ...
... MSGFMT]) and "application/pidf+xml" for presence ([PIDF]). The syntax of "Message/CPIM" objects is similar to but stricter than that defined in [RFC2822], and provides the ability to include ...


... XMPP to CPIM ...
... CPIM to XMPP ...


... service and a non-XMPP service using a "Message/CPIM" object as the bearer of encapsulated text content in order to comply ...
... Message Syntax Mapping from XMPP to CPIM Specifications ...
... XMPP message stanzas to "Message/CPIM" objects with encapsulated text content. ...
... encapsulated MIME object generated by an XMPP-CPIM gateway MUST set the "Content-type ...
... stanza maps to the 'From' header of a "Message/CPIM" object. In XMPP, the sender's server ...
... resource binding as defined in [XMPP-CORE]. Thus an XMPP-CPIM gateway will receive from the sender's XMPP server a ...
... stanza to the 'From' header of a "Message/CPIM" object, the gateway MUST remove ...
... URI scheme to the front of the address, and MAY include a CPIM "Formal-name" for the sender (if known). ...
... </message> CPIM 'From' header From: Juliet Capulet <im:juliet@example.com> ...
... stanza maps to the 'To' header of a "Message/CPIM" object. In XMPP, the sender SHOULD include a ...
... stanza, and MUST include it if the message is intended for delivery to another user. Thus an XMPP-CPIM gateway will receive from the sender's XMPP server a message stanza ...
... stanza to the 'To' header of a "Message/CPIM" object, the gateway MUST remove ...
... URI scheme to the front of the address, and MAY include a CPIM "Formal-name" for the recipient (if known). Example: To Address Mapping ...
... </message> CPIM 'To' header To: Romeo Montague <im:romeo@example.net> ...
... it is generated to be unique by the XMPP server and that fact is known by the XMPP-CPIM gateway), then it SHOULD be so mapped. ...
... the message. There is no mapping of an XMPP 'type' attribute to a "Message/CPIM" header, common MIME features, or encapsulated ...
... content. Therefore if an XMPP stanza received by an XMPP-CPIM gateway possesses a 'type' attribute, the gateway SHOULD ignore the value provided. ...
... There is no mapping of an XMPP <thread/> element to a "Message/CPIM" header, common MIME ...
... if an XMPP message stanza received by an XMPP-CPIM gateway contains a <thread/> child element, the gateway ...
... included, it maps to the 'Subject' header of a "Message/CPIM" object. To map the XMPP <subject ...
... Subject' header of a "Message/CPIM" object, the gateway SHOULD simply map the XML character data of the XMPP ...
... subject> CPIM 'Subject' header ...
... namespace as defined in [XMPP-E2E], an XMPP-CPIM gateway SHOULD ignore such information and not pass it through the gateway to the intended recipient. No mapping for such ...
... Gateway-Generated CPIM Syntax ...
... CPIM specifies the existence of "Message/CPIM" headers in addition to ...
... CPIM specifies the existence of "Message/CPIM" headers in addition to those described above, but there is no exact analogue for those ...
... o Require -- specifies mandatory-to-recognize features An XMPP-CPIM gateway MAY independently generate such headers based on its own information (e.g., the datetime ...
... Message Syntax Mapping from CPIM Specifications to XMPP ...
... This section defines the mapping of syntax primitives from "Message/CPIM" objects with encapsualted text content to XMPP message stanzas ...
... The 'From' header of a "Message/CPIM" object maps to the 'from' attribute of an XMPP message stanza ...
... attribute of an XMPP message stanza. To map the CPIM 'From' header to the XMPP ...
... address and MUST remove the CPIM "Formal-name" (if provided). Example: From Address Mapping ...
... Address Mapping CPIM 'From' header From: Romeo Montague <im:romeo@example.net> ...
... The 'To' header of a "Message/CPIM" object maps to the 'to' attribute of an XMPP message stanza ...
... of an XMPP message stanza. To map the CPIM 'To' header to the XMPP ...
... URI scheme from the front of the address and MUST remove the CPIM "Formal-name" (if provided). If the gateway ...
... Address Mapping CPIM 'To' header To: Juliet Capulet <im:juliet@example.com> ...
... courtesy copy" (non-primary addressee) for a message stanza. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object that contains a 'cc' header ...
... stanza. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object that contains a 'cc' header, it SHOULD NOT pass the information ...
... datetime at which a message stanza was sent. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object that contains a 'DateTime ...
... stanza was sent. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object that contains a 'DateTime' header ...
... The 'Subject' header of a "Message/CPIM" object maps to the <subject/> child element ...
... element of an XMPP message stanza. To map the CPIM 'Subject' header ...
... tag" value supplied in the string ';lang=tag' included after the CPIM 'Subject' header name and colon. ...
... Subject Mapping CPIM 'Subject' header ...
... "Message/CPIM" objects MAY include an optional 'NS' header to specify ...
... header to specify the namespace of a feature extension. An XMPP-CPIM gateway MUST NOT pass such headers through to the XMPP ...
... "Message/CPIM" objects MAY include an optional 'Require' header to specify mandatory-to-recognize features. In general, such a header ...
... XMPP receiving application rather than the XMPP-CPIM gateway itself, the gateway cannot properly handle the 'Require' header ...
... XMPP receiving application. Therefore, it seems appropriate that the XMPP-CPIM gateway SHOULD return a warning or error to the non-XMPP sending application if it includes one or more ...
... XMPP sending application if it includes one or more 'Require' headers in a "Message/CPIM" object; the exact nature of the warning or error will depend on the nature of the non-XMPP technology ...
... MIME header as specified in [MIME]. If an XMPP-CPIM gateway receives a MIME object that includes a Content-ID ...
... If the Content-Type is not "text/plain", the XMPP-CPIM gateway MAY map the content to an XMPP extension but MUST NOT map it to the ...
... UTF-8", the gateway MUST map the "Message/CPIM" object; otherwise it SHOULD NOT. ...
... context of the message. There is no exact analogue for this attribute in CPIM. An XMPP-CPIM gateway MAY independently generate the 'type' attribute based on its own information, but this is ...
... context of the message. There is no exact analogue for this attribute in CPIM. An XMPP-CPIM gateway MAY independently generate the 'type' attribute based on its own information, but this is OPTIONAL and rules for doing so are out of scope for this memo. ...


... service and a non-XMPP service using a "Message/CPIM" object as the bearer of an encapsulated [PIDF ...
... Presence Syntax Mapping from XMPP to CPIM Specifications ...
... XMPP presence stanzas to "Message/CPIM" objects with encapsulated "application/pidf+xml" objects. ...
... encapsulated MIME object generated by an XMPP-CPIM gateway for presence information MUST set the 'Content-type' header ...
... presence stanza maps to the 'From' header of a "Message/CPIM" object. In XMPP, the sender's server ...
... resource binding as defined in [XMPP-CORE]. Thus an XMPP-CPIM gateway will receive from the sender's XMPP server a ...
... presence stanza to the 'From' header of a "Message/CPIM" object, the gateway MUST remove ...
... URI scheme to the front of the address, and MAY include a CPIM "Formal-name" for the sender (if known). ...
... </presence> CPIM 'From' header From: Juliet Capulet <im:juliet@example.com> ...
... </presence> Finally, an XMPP-CPIM gateway SHOULD map the resource identifier of the XMPP ...
... presence stanza maps to the 'To' header of a "Message/CPIM" object. In XMPP, the sender MAY include a 'to' ...
... address by the sender's server). Thus an XMPP-CPIM gateway will receive from the sender's XMPP ...
... presence stanza to the 'To' header of a "Message/CPIM" object, the gateway MUST remove the resource identifier ...
... Instant Messaging URI scheme to the front of the address, and MAY include a CPIM "Formal-name" for the recipient (if known). ...
... </presence> CPIM 'To' header To: Romeo Montague <im:romeo@example.net> ...
... it is generated to be unique by the XMPP server and that fact is known by the XMPP-CPIM gateway), then it SHOULD be so mapped. ...
... probe for current presence; mappings for these other presence types are defined under XMPP-CPIM Gateway as Presence Service (Section 6). ...
... priority/> element is negative, an XMPP-CPIM gateway MUST NOT map the value. The range of allowable values for the PIDF ...
... priority' attribute is any decimal number from zero to one inclusive, with a maximum of three decimal places. If an XMPP-CPIM gateway maps these values, it SHOULD treat XMPP <priority ...
... priority 0.992; note that this is an example only, and that the exact mapping shall be determined by the XMPP-CPIM gateway). Example: Presence Priority ...
... namespace as defined in [XMPP-E2E], an XMPP-CPIM gateway SHOULD ignore such information and not pass it through the gateway to the intended recipient. No mapping for such ...
... Gateway-Generated CPIM and PIDF Syntax ...
... CPIM Message Headers ...
... CPIM specifies the existence of "Message/CPIM" headers in addition to ...
... CPIM specifies the existence of "Message/CPIM" headers in addition to those described above, but there is no exact analogue for those ...
... subject or topic of the encapsulated "Message/CPIM" object o Require -- specifies mandatory-to-recognize features ...
... o Require -- specifies mandatory-to-recognize features An XMPP-CPIM gateway MAY independently generate such headers based on its own information (e.g., the datetime ...
... URI) at which one may communicate with the presentity; an XMPP-CPIM gateway MAY include this element, in which case it SHOULD set its value to the <user@host ...
... timestamp/> -- specifies the datetime at which the presence information was sent; an XMPP-CPIM gateway MAY independently generate this element based on its own information (e.g., the ...
... Presence Syntax Mapping from CPIM Specifications to XMPP ...
... This section defines the mapping of syntax primitives from "Message/CPIM" objects with encapsulated "application/pidf+xml" objects to XMPP ...
... presence stanzas. Note: An XMPP-CPIM gateway MUST NOT map to an XMPP presence stanza a ...
... XMPP presence stanza a "Message/CPIM" object whose encapsulated MIME object has a ...
... The 'From' header of a "Message/CPIM" object maps to the <user@host> portion of the 'from' attribute of an XMPP ...
... resource identifier portion XMPP 'from' attribute. Therefore, to map the CPIM and PIDF information to the XMPP 'from' attribute, the ...
... front of the address and MUST remove the CPIM "Formal-name" (if provided) in order to generate the <user@host> portion of the XMPP ...
... Address Mapping CPIM 'From' header From: Romeo Montague <im:romeo@example.net> ...
... The 'To' header of a "Message/CPIM" object maps to the 'to' attribute of an XMPP presence stanza ...
... of an XMPP presence stanza. To map the CPIM 'To' header to the XMPP ...
... URI scheme from the front of the address and MUST remove the CPIM "Formal-name" (if provided). If the gateway possesses knowledge of ...
... Address Mapping CPIM 'To' header To: Juliet Capulet <im:juliet@example.com> ...
... courtesy copy" (non-primary addressee) for a presence stanza. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object with encapsulated ...
... presence stanza. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object with encapsulated PIDF ...
... datetime at which a presence stanza was sent. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object with encapsulated ...
... presence stanza was sent. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object with encapsulated PIDF ...
... the 'Subject' header of a "Message/CPIM" object. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM ...
... header of a "Message/CPIM" object. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object with encapsulated ...
... CPIM" object. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object with encapsulated PIDF ...
... "Message/CPIM" objects MAY include an optional 'NS' header to specify ...
... header to specify the namespace of a feature extension. An XMPP-CPIM gateway MUST NOT pass such headers through to the XMPP ...
... "Message/CPIM" objects MAY include an optional 'Require' header to specify mandatory-to-recognize features. An XMPP-CPIM gateway ...
... CPIM" objects MAY include an optional 'Require' header to specify mandatory-to-recognize features. An XMPP-CPIM gateway MUST NOT pass such headers through to the XMPP ...
... MIME header as specified in [MIME]. If an XMPP-CPIM gateway receives a MIME object that includes a Content-ID ...
... entity on the non-XMPP side of an XMPP-CPIM gateway SHOULD NOT send such a PIDF document to an XMPP ...
... PIDF document to an XMPP recipient if possible, and an XMPP-CPIM gateway MUST NOT map such a PIDF document to an XMPP ...
... address is implicit in the 'from' attribute of the XMPP presence stanza. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object with encapsulated ...
... XMPP presence stanza. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object with encapsulated PIDF ...
... XMPP presence stanza. An XMPP-CPIM gateway MUST NOT map PIDF priority ...
... priority/> element. If an XMPP-CPIM gateway maps these values, it SHOULD treat PIDF priority ...
... XMPP priority 126; note that this is an example only, and that the exact mapping shall be determined by the XMPP-CPIM gateway). ...
... timestamp at which a presence stanza was sent. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object with encapsulated ...
... presence stanza was sent. Therefore, if an XMPP-CPIM gateway receives a "Message/CPIM" object with encapsulated PIDF ...
... client may be able to handle such information by parsing a native PIDF document. To make this possible, an XMPP-CPIM gateway MAY include the complete PIDF document as a child element ...


... XMPP-CPIM Gateway as Presence Service ...
... semantics for an abstract presence service. An XMPP-CPIM gateway MAY function as such a presence service, and if so an XMPP ...
... XMPP interactions with the presence service offered by an XMPP-CPIM gateway, not the translation of such XMPP syntax into PIDF. ...
... presence services can be found in [XMPP-IM]; as much as possible, an XMPP-CPIM gateway SHOULD implement the syntax, semantics, and server business rules ...
... subscribe to the presence information of a non-XMPP presentity through an XMPP-CPIM gateway, it MUST send a presence stanza of type "subscribe ...
... "watcher parameter" field (pres:user@host). The XMPP-CPIM gateway MUST append the "pres:" Presence URI scheme to the front of the ...
... "target parameter" field (pres:user@host). The XMPP-CPIM gateway MUST append the "pres:" Presence URI scheme to the front of the ...
... whatever protocol it uses to interact with the gateway), the XMPP-CPIM gateway MUST return a presence stanza of type "subscribed" to the XMPP ...
... target presentity denies the subscription request, the XMPP-CPIM gateway MUST return a presence stanza of type "unsubscribed ...
... address) does not refer to a valid presentity; if this exception occurs, the XMPP-CPIM gateway MUST return an <item-not-found/> stanza error to the XMPP ...
... subscribe to the target; if this exception occurs, the XMPP-CPIM gateway MUST return a <forbidden/> stanza error to the XMPP ...
... entity and the target presentity; if this exception occurs, the XMPP-CPIM gateway SHOULD return a <conflict/> stanza error to the XMPP ...
... XMPP subscriptions. Therefore, an XMPP-to-CPIM gateway may need to send such refreshes to ...
... subscription does not expire. Whether such refreshes are necessary depends on the native protocol implemented by the CPIM-aware non-XMPP service ...
... information of an XMPP entity through an XMPP-CPIM gateway, it MUST use whatever protocol it uses to interact with the gateway in order ...
... to the XMPP 'from' attribute (user@host). The XMPP-CPIM gateway MUST remove the "pres:" Presence URI scheme ...
... to the XMPP 'to' attribute (user@host). The XMPP-CPIM gateway MUST remove the "pres:" Presence URI scheme ...
... presence stanza of type "subscribed" to the watcher presentity. The XMPP-CPIM gateway MUST then notify the watcher presentity of the target ...
... unsubscribed" to the watcher presentity. The XMPP-CPIM gateway MUST NOT invoke the notify operation. ...
... entity If any of these exceptions occurs, the XMPP-CPIM gateway MUST inform the watcher presentity of failure. ...
... highly dependent on the implementation and requirements of the XMPP-CPIM gateway. Since there are no explicit requirements for supporting a "duration parameter" specified in either [IMP-MODEL ...
... [IMP-REQS], duration parameter mapping is a local issue that falls outside the scope of this memo. However, an XMPP-CPIM gateway MAY keep track of the duration parameter if received from an entity on ...
... An XMPP-CPIM gateway invokes the CPP "notify operation" whenever the presence information associated with an XMPP ...
... address of a presence stanza. Therefore, an XMPP-CPIM gateway that acts as a presence service SHOULD split a PIDF ...
... XMPP stanzas beyond necessity, an XMPP-CPIM gateway SHOULD generate an XMPP presence stanza only if the ...
... information about multiple "resources" in multiple tuples rather than in multiple PIDF documents, an XMPP-CPIM gateway SHOULD include information about all of an XMPP ...
... XMPP context, an XMPP-CPIM gateway SHOULD map a PIDF document with zero tuples to an XMPP ...
... non-XMPP entity. However, an XMPP-CPIM gateway MUST NOT generate a PIDF document with zero <tuple/> children when receiving ...
... unsubscribe from the presence of a non-XMPP presentity through an XMPP-CPIM gateway, it MUST send a presence stanza of type "unsubscribe ...
... "watcher parameter" field (pres:user@host). The XMPP-CPIM gateway MUST append the "pres:" Presence URI scheme to the front of the ...
... "target parameter" field (pres:user@host). The XMPP-CPIM gateway MUST append the "pres:" Presence URI scheme to the front of the ...
... address) does not refer to a valid presentity, the XMPP-CPIM gateway MUST return an <item-not-found/> stanza error to the XMPP ...
... XMPP entity, the XMPP-CPIM gateway MUST NOT send further presence notifications to the XMPP ...
... XMPP presentity's subscription to the entity's presence through an XMPP-CPIM gateway, it MUST send a presence stanza of type "unsubscribed ...
... "watcher parameter" field (pres:user@host). The XMPP-CPIM gateway MUST add the "pres:" Presence URI scheme to the front of the ...
... "target parameter" field (pres:user@host). The XMPP-CPIM gateway MUST add the "pres:" Presence URI scheme to the front of the ...
... XMPP entity, the XMPP-CPIM gateway MUST NOT send further presence notifications to the watcher ...


... and presence user agents that interface through an XMPP-CPIM gateway can be provided only if common formats are supported; these formats are specified fully in [XMPP-E2E ...


... Peterson, J., "Common Profile for Instant Messaging (CPIM)", RFC 3860prop, August 2004. ...
... Klyne, G. and D. Atkins, "Common Presence and Instant Messaging (CPIM): Message Format", RFC 3862prop, August 2004. ...



Google
Web
RFC-Ref