The ENUM Dip Indicator Parameter for the "tel" URI
Extracted elements (13)
A domain provider can populate a NAPTR record with a "tel" URI that already contains the "enumdi" parameter, informing downstream clients that they should not perform their own ENUM query and should pass the request on directly.
The "enumdi" parameter is introduced to prevent redundant ENUM queries when a call is routed through multiple VoIP network elements. Without it, each element in the signalling path would independently query ENUM for the same number, causing unnecessary DNS load.
A recipient network element may reasonably choose to query ENUM if it does not have a trust relationship with the immediate sender of the URI, effectively ignoring the "enumdi" parameter from untrusted sources.
If a URI has been received from an untrusted entity, the recipient may either strip the "enumdi" parameter before forwarding the URI or carry out its own ENUM query and add the parameter accordingly.
When a VoIP network element queries ENUM and the result is a "tel" URI with a different E.164 number that lacks the enum dip indicator, the client can either perform another query against that number or pass the request on, as a matter of local policy.
If a VoIP network element receives a "tel" URI containing the "enumdi" parameter, it SHOULD NOT retrieve the related information for this number from ENUM in e164.arpa, even if it would normally do so.
If the "tel" URI received from a trusted entity is to be passed to the next network element, the VoIP network element MUST pass on the received URI containing the "enumdi" parameter unchanged.
When a VoIP network element queries ENUM and the result includes a NAPTR record containing a "tel" URI with the same E.164 number or with "enumdi" already set, and that URI is passed to another network element, the sending element MUST pass on the URI with the "enumdi" parameter set.
The "enumdi" parameter is defined for the "tel" URI to indicate that an ENUM query has already been performed on the E.164 number. Its presence asserts that a previous VoIP network element has already queried ENUM in e164.arpa for that number.
This document does not itself require any IANA actions, but defines a parameter for the "tel" URI. Further registration is deferred to the IANA "tel" URI Parameter Registry.
If "enumdi" is illegally inserted into the "tel" URI in transit, the call may be routed to the PSTN incurring unexpected charges or causing downstream rejection. Recipients outside a trust boundary may ignore the parameter and perform their own ENUM query to mitigate this attack.
Illegal removal of "enumdi" is less problematic: an additional ENUM query will be performed and the parameter re-added. It is RECOMMENDED that protocols carrying the "tel" URI ensure message integrity to detect unauthorized changes.
The enum-dip-indicator is defined via ABNF as: par =/ enum-dip-indicator; enum-dip-indicator = ";enumdi". It is an optional parameter that can appear at most once in any "tel" URI.