Skip to main content

Module presence

Module presence 

Source
Expand description

Presence, and publishing it (RFC 3856, RFC 3863, RFC 3903).

S-17’s packages report state sipx already keeps. Presence has none — nothing in a SIP stack knows whether a person is at their desk — so this is the half that lets somebody who does know put it in: PUBLISH creates soft state, an entity tag identifies it, and a subscriber to the presence package is told when it changes.

The entity tag is the whole mechanism and the part that is easy to skip. Without it two publishers for one resource silently overwrite each other and neither can tell; with it, a publisher whose state has expired is told to start again rather than allowed to resurrect a document the server has already forgotten. Supported (S-35, S-39): sipx-call selects Pidf for its live notifier and carries this exact compositor through live inbound PUBLISH. Breaking changes receive migration guidance while sipx remains pre-1.0. No CLI command publishes, and projection from this store into later presence NOTIFY documents remains an application policy.

Structs§

Compositor
The soft state one event state compositor holds.
Pidf
A presence document (RFC 3863).
Tuple
One way of reaching a presentity (RFC 3863 §4.1.2).

Enums§

Basic
Whether a contact is reachable (RFC 3863 §4.1.3).
Publish
What a PUBLISH asked for (RFC 3903 §4.1, §6).
Published
How a publication attempt was answered.

Constants§

CONDITIONAL_REQUEST_FAILED
The status a stale entity tag is refused with (RFC 3903 §6 step 3).
PIDF_TYPE
The MIME type a presence document carries (RFC 3863 §4).