Internet Communications Using SIP : Delivering VoIP and Multimedia Services With Session Initiation Protocol {2Nd Ed.}

(Steven Felgate) #1

control and have the DNS client in the SIP endpoint, although for backward-
compatibility with many legacy SIP UA implementations, the outgoing SIP
proxy can perform these queries as well. Here is an example of how a client
application processes a phone number to make a DNS query:



  1. Start with the complete E.164 phone number:
    +1(404)555-1234

  2. Remove all characters that are not digits:
    14045551234

  3. Reverse the order of the phone number:
    43215554041

  4. Insert dots between digits and at the end:
    4.3.2.1.5.5.5.4.0.4.1

  5. Append the DNS top-level domain (e164.arpa):
    4.3.2.1.5.5.5.4.0.4.1.164.arpa


The client is now ready to make a DNS query using the result from step 5.
The DNS client will make several DNS queries, as shown in Figure 4.3 for
biloxi.com, and retrieve the IP address of an incoming SIP server in the
domain biloxi.comwhere Bob is registered. As a result, the necessary SIP
transactions can proceed to set up a session between Alice and Bob.
Of special interest for understanding ENUM are the first query and
response in Figure 4.3. The query from the client after step 5 is:


4.3.2.1.5.5.5.4.0.4.1.164.arpa

The DNS ENUM response will show several services registered for this
phone number—for example, SIP and e-mail (RFC 3761):


IN NAPTR 100 10 “u” “E2U+sip” “!^.*$!sip:[email protected]!”
IN NAPTR 100 10 “u” “E2U+msg” “!^.*$!mailto:[email protected]!”

The legend for the items in the NAPTR response is similar to the legend for
the previous example, although there are some new items:


■■ “u”flag—Output is a URI for information on the respective service
■■ “E2U+sip”—Service field for ENUM yielding a SIP URI
■■ !^.*$!—’regular expression for greedy search’(it matches
all) starting with the “!”separator
■■ sip:[email protected]—Replacement value for the next query

DNS and ENUM 65
Free download pdf