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

(Steven Felgate) #1

Figure 20.4 Discovery and call routing in (a) the trapezoid model for CS SIP and (b) in the
P2P SIP model using DHTs in an overlay network


CS SIP Model


The caller in Figure 20.4a must first determine the outgoing SIP proxy (we
don’t show the registrar here for simplicity) by issuing first a DNS SRV request
to get a list of outgoing SIP proxies. After deciding which proxy in the list to
use (for load balancing), a second DNS A record query will return the IP
address of the chosen outbound SIP proxy. The SIP UA of the caller will now
send an INVITEto the outbound proxy.
The outbound proxy will now make three or four DNS queries to find the IP
address of the inbound proxy:



  1. An ENUM NAPTR query the URI of the SIP service

  2. An SRV query to determine a list of incoming SIP proxies

  3. An A query to determine the IP address of the incoming SIP proxy


The outbound proxy can now forward the INVITEto the inbound proxy.
The inbound proxy will check its own location database (DB) and send the
invite to the calling party. This concludes the discovery and routing process in
the CS SIP example.


SIP UA OutboundProxy InboundProxy SIP UA

DNS

Location
DNS DB

SRV & A
queries

ENUM
NAPTR, SRV
& A queries

DB query

INVITE INVITE INVITE

a

Caller Called

DHT

SIP

DHT

SIP

DHT

SIP

DHT

SIP

Location

INVITE

1
2 3 4

5

6

6
b

Caller Called

API

Peer-to-Peer SIP 347
Free download pdf