Distributed Universal Number Discovery

Last updated

Distributed Universal Number Discovery (DUNDi) is a VoIP routing protocol that provides directory services for Asterisk systems. With DUNDi peered nodes share dialplan information with each other. The protocol does not actually carry any calls, but rather provides addressing information.

Contents

Peers in a DUNDi cluster query other peers for a telephone number to which a call is requested by a user. The result of the query is a dial string for the Asterisk application Dial.

The protocol was invented by Mark Spencer, the author of Asterisk.

Peers

Asterisk PBX systems that use DUNDi are peered as a cooperating system of DUNDi nodes, each having certain configuration to access a DUNDI instance on at least one other node.

In the DUNDi configuration one can limit the number of consecutive lookups between peers by setting the TTL.

Advertising extensions

Each DUNDi peer can advertise its own extensions and their context. E.g. if you can connect some local E.164 number(s), you can advertise these.

DUNDi configuration assigns a priority weight to each advertised extension. Low values represent a high priority and must be chosen first when more than one answer is received from a lookup.

Example

In the Asterisk CLI one can do a lookup by hand to test if a DUNDi configuration works.

asterisk1*CLI> dundi lookup 301@priv bypass   1.     0 IAX2/priv:ByWFbOGKgGmZbM43BJHSZw@192.168.1.2/301 (EXISTS)      from 00:0c:29:d2:d8:ec, expires in 3600 s DUNDi lookup completed in 113 ms

The above DUNDi lookup tells the PBX to ask the known peers if they know how to reach extension 301 in the "priv" network. The answer consists of 6 parts:

In order to prevent the network from overloading and at the same time keep the responses as quick as possible, the involved peers will cache the lookups they see. Because the used keys may become invalid after some period, each lookup has some expiry date. This defaults to one hour.

When no context is given with a lookup, DUNDi defaults to the E.164 context. This means you are looking for normal (international) phone-numbers, like 0031201234567 (some bogus number in Amsterdam, the Netherlands) In order to do so, you have to peer with at least one other peer in the E164 trust group. The peers in this group are bound to the Digium GPA (Digium General Peering Agreement) (PDF)

Related Research Articles

The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to each of the associated entities. Most prominently, it translates readily memorized domain names to the numerical IP addresses needed for locating and identifying computer services and devices with the underlying network protocols. The Domain Name System has been an essential component of the functionality of the Internet since 1985.

Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for voice calls for the delivery of voice communication sessions over Internet Protocol (IP) networks, such as the Internet.

Telephone number mapping is a system of unifying the international telephone number system of the public switched telephone network with the Internet addressing and identification name spaces. Internationally, telephone numbers are systematically organized by the E.164 standard, while the Internet uses the Domain Name System (DNS) for linking domain names to IP addresses and other resource information. Telephone number mapping systems provide facilities to determine applicable Internet communications servers responsible for servicing a given telephone number using DNS queries.

Inter-Asterisk eXchange (IAX) is a communications protocol native to the Asterisk private branch exchange (PBX) software, and is supported by a few other softswitches, PBX systems, and softphones. It is used for transporting voice over IP telephony sessions between servers and to terminal devices.

<span class="mw-page-title-main">Asterisk (PBX)</span> PBX software

Asterisk is a software implementation of a private branch exchange (PBX). In conjunction with suitable telephony hardware interfaces and network applications, Asterisk is used to establish and control telephone calls between telecommunication endpoints such as customary telephone sets, destinations on the public switched telephone network (PSTN) and devices or services on voice over Internet Protocol (VoIP) networks. Its name comes from the asterisk (*) symbol for a signal used in dual-tone multi-frequency (DTMF) dialing.

<span class="mw-page-title-main">Business telephone system</span> Telephone system typically used in business environments

A business telephone system is a telephone system typically used in business environments, encompassing the range of technology from the key telephone system (KTS) to the private branch exchange (PBX).

PPPD is the Point-to-Point Protocol daemon which is used to manage network connections between two nodes on Unix-like operating systems. It is configured using command-line arguments and configuration files.

Direct inward dialing (DID), also called direct dial-in (DDI) in Europe and Oceania, is a telecommunication service offered by telephone companies to subscribers who operate private branch exchange (PBX) systems. The feature provides service for multiple telephone numbers over one or more analog or digital physical circuits to the PBX, and transmits the dialed telephone number to the PBX so that a PBX extension is directly accessible for an outside caller, possibly by-passing an auto-attendant.

In telecommunication, a dial plan establishes the permitted sequences of digits dialed by telephone subscriber and the manner in which a telephone switch interprets these digits within the definitions of the prevailing telephone numbering plan. Dial plans in the public switched telephone network referred to as dialing procedures.

<span class="mw-page-title-main">Caller ID spoofing</span> Phone caller faking the phone number sent to the recipient of a phone call

Caller ID spoofing is a spoofing attack which causes the telephone network's Caller ID to indicate to the receiver of a call that the originator of the call is a station other than the true originating station. This can lead to a display showing a phone number different from that of the telephone from which the call was placed.

<span class="mw-page-title-main">Jingle (protocol)</span> Peer-to-peer communications protocol

Jingle is an extension to XMPP which adds peer-to-peer (P2P) session control (signaling) for multimedia interactions such as in Voice over IP (VoIP) or videoconferencing communications. It was designed by Google and the XMPP Standards Foundation. The multimedia streams are delivered using the Real-time Transport Protocol (RTP). If needed, NAT traversal is assisted using Interactive Connectivity Establishment (ICE).

Mobile VoIP or simply mVoIP is an extension of mobility to a voice over IP network. Two types of communication are generally supported: cordless telephones using DECT or PCS protocols for short range or campus communications where all base stations are linked into the same LAN, and wider area communications using 3G or 4G protocols.

The SIP URI scheme is a Uniform Resource Identifier (URI) scheme for the Session Initiation Protocol (SIP) multimedia communications protocol. A SIP address is a URI that addresses a specific telephone extension on a voice over IP system. Such a number could be a private branch exchange or an E.164 telephone number dialled through a specific gateway. The scheme was defined in RFC 3261.

FreePBX is a web-based open-source graphical user interface (GUI) that manages Asterisk, a voice over IP and telephony server.

<span class="mw-page-title-main">Elastix</span>

Elastix is a unified communications server software that brings together IP PBX, email, IM, faxing and collaboration functionality. It has a Web interface and includes capabilities such as a call center software with predictive dialing.

A softphone is a software program for making telephone calls over the Internet using a general purpose computer rather than dedicated hardware. The softphone can be installed on a piece of equipment such as a desktop, mobile device, or other computer and allows the user to place and receive calls without requiring an actual telephone set. Often, a softphone is designed to behave like a traditional telephone, sometimes appearing as an image of a handset, with a display panel and buttons with which the user can interact. A softphone is usually used with a headset connected to the sound card of the PC or with a USB phone.

VaxTele SIP Server SDK is a complete development toolkit, which allows software vendors and Internet telephony service providers (ITSP) to develop SIP Server and (SIP) Session Initiation Protocol based VoIP systems for Microsoft Windows to install computer to computer voice chat, chat rooms, IVR systems, call center services, calling card services, dial/receive computer to PSTN and mobile phone calling services.

The 1100-series IP phones are 6 different desktop IP clients manufactured by Avaya for Unified communications which can operate on the SIP or UNIStim protocols. The SIP Firmware supports presence selection and notification along with secure instant messaging.

<span class="mw-page-title-main">FreePBX Distro</span> Software system

The FreePBX Distro is a freeware unified communications software system that consists of a graphical user interface (GUI) for configuring, controlling, and managing Asterisk PBX software. The FreePBX Distro includes packages that offer VoIP, PBX, Fax, IVR, voice-mail and email functions.