Voice Messaging Directory Service
Extracted elements (23)
The VPIM directory service is accessed via LDAP using the recipient's telephone number as the lookup key, with the inter-domain address form telephone_number@domain_name. DNS provides redundancy and load-balancing, but latency requirements may necessitate high-availability directory server implementations rather than client-side failover.
vPIMMaxMessageSize is expressed in seconds rather than bytes because ESMTP's byte-based mechanism is an unreliable guide for the composer when multiple encodings, multiple media, or variable bit-rate encodings are supported.
vPIMRfc822Mailbox is defined as an entirely new attribute rather than a subtype of rfc822Mailbox because some directory implementations do not support sub-typing, even though sub-typing would have been preferable.
vPIMTelephoneNumber differs from the standard telephoneNumber attribute in LDAP in its support for sub-addressing information (appended after a second '+') and its specific use as a voice messaging address. In most cases the values will be the same.
Because ADPCM is a required format, the audio32kadpcm value MUST be listed if the vPIMSupportedAudioMediaTypes attribute is present.
If an entry has multiple values for vPIMTelephoneNumber, those values MUST be distinct from each other in the telephone number portion. Each submailbox of a single telephone number is expected to have its own vPIMUser entry.
Messages SHOULD NOT be sent to the recipient if 'MsgBlocked' is returned in the vPIMExtendedAbsenceStatus attribute, indicating the mailbox is currently configured to reject incoming messages.
In many countries, privacy laws prohibit disclosure of certain descriptive information such as text names. Server implementors are encouraged to support DIT structural rules and name forms, and administrators should use access controls to restrict attributes containing sensitive information.
The vPIMExtendedAbsenceStatus attribute is a single-value attribute with three defined values: 'Off' (default, not set), 'On' (extended absence set but mailbox still accepting messages), and 'MsgBlocked' (mailbox configured to reject incoming messages).
The vPIMMaxMessageSize attribute is a single-value integer indicating the maximum message length in seconds that the receiving mailbox may accept. This is preferred over ESMTP byte-based size checking because multiple encodings and variable bit-rates make byte counts unreliable guides for composers.
The vPIMRfc822Mailbox attribute stores the inter-domain SMTP address of the voice mailbox associated with a given telephone number, defined as a distinct attribute from rfc822Mailbox to avoid ambiguity. It uses caseIgnoreIA5Match equality and supports up to 256 characters.
The vPIMSubMailboxes attribute lists sub-mailbox numbers (numeric range 1-9999) associated with the queried telephone number, enabling a post-dial sub-addressing menu. Spoken names for each sub-mailbox may be retrieved by subsequent queries to the VPIMDIR service.
The vPIMSupportedAudioMediaTypes attribute is a multi-value attribute indicating the MIME audio subtypes that can be received at the address in vPIMRfc822Mailbox. Non-standard types must be prefixed with 'X-' or 'x-', and the audio32kadpcm value must be listed if this attribute is present.
The vPIMSupportedMessageContext attribute provides guidance to the sender about message contexts the recipient is likely to accept, as defined in RFC 3458. It is a multi-value attribute offering coarser-grained capability information than media type lists, but more useful in unified messaging environments with media-conversion gateways.
The vPIMSupportedUABehaviors attribute lists optional features supported by the recipient's UA, including MessageDispositionNotification, MessageSensitivity, and MessageImportance. If absent, only VPIM mandatory attributes are assumed supported. Proprietary extensions must use 'X-' or 'x-' prefix.
The vPIMTelephoneNumber attribute stores the full E.164 form of the telephone number including any sub-addressing portion, encoded with no parentheses, spaces, dots, or hyphens, with a leading '+' and a '+' delineating the submailbox. It is the primary search key for directory lookups.
The vPIMTextName attribute is a single-value string of up to 20 characters, designed to be consistent with unstructured text name databases used for calling name delivery service of caller ID.
The vPIMUser object class is an AUXILIARY class that MUST include vPIMRfc822Mailbox and vPIMTelephoneNumber, and MAY include vPIMSpokenName, vPIMSupportedUABehaviors, vPIMSupportedAudioMediaTypes, vPIMSupportedMessageContext, vPIMTextName, vPIMExtendedAbsenceStatus, vPIMMaxMessageSize, and vPIMSubMailboxes. It contains information useful for verifying that the dialed telephone number corresponds to the intended recipient.
IANA registered an LDAP Object Identifier for the VPIM directory schema, serving as a base OID for all schema elements defined in RFC 4237. The OID covers the vPIMUser object class and ten attributes (vPIMRfc822Mailbox through vPIMSubMailboxes).
IANA registered LDAP Descriptors for the vPIMUser object class and ten attributes: vPIMRfc822Mailbox, vPIMTelephoneNumber, vPIMSpokenName, vPIMSupportedUABehaviors, vPIMSupportedAudioMediaTypes, vPIMSupportedMessageContext, vPIMTextName, vPIMExtendedAbsenceStatus, vPIMMaxMessageSize, and vPIMSubMailboxes.
Service provider subscriber data is highly sensitive and subject to 'go fish' attacks via repeated LDAP queries to enumerate active messaging subscribers due to dense telephone number assignments. Providers may limit disclosure of telemarketing-useful data (e.g., text names) while still disclosing sender-useful data (e.g., spoken names).
The LDAP directory service provides unauthenticated, public access to directory data and is therefore vulnerable to attacks that redirect queries to a rogue server offering malicious data. RFC 2829 (LDAP Authentication Methods) describes applicable security considerations.
The vPIMSpokenName attribute is an octet string that MUST be encoded in 32 kbit/s ADPCM exactly as defined by RFC 3802. The length of the spoken name segment MUST NOT exceed five seconds (approximately 20000 octets at 4 kbytes/second).