DHCP (Dynamic Host Configuration Protocol) evolved from the BOOT protocol (BOOTP). Both protocols are described in RFC 2131 (DHCP) and RFC 951 (BOOTP).
DHCP includes all features known from BOOTP, that means an Internet Software Consortium (ISC) DHCP includes a BOOTP server and additional features along with a dynamic address assignment. Both protocols act for IP address assignment to nodes.
Therefore, the un-configured IP node sends a request for an IP address to a DHCP server. Then this DHCP server assigns an IP address to the client. Furthermore, this answer includes e.g. domain-name, IP address of the name-server or IP address from a router. The transmission of all configuration parameters will be proceeded automatically, depending of the chosen method.
The DNS (Domain Name System) protocol is used to link IP addresses with domain names. Usually, it is more convenient for people to remember names (ngnlab.eu) than IP addresses (147.175.103.213). IP addresses are required by the third layer of the network model to deliver the application data through networks. This chapter will highlight SIP/IMS specific use of DNS and not introduce the protocol itself.
Besides only storing a mapping between IP address and domain name, DNS contains additional information using various record types. DNS can handle for example certificate records, location information records, service information records and much more.
The Hypertext Transfer Protocol (HTTP) is application protocol using the request/response mechanisms and is one of the most used protocols on Internet for web services.
A client sends a request to the server in the form of a request method, URI, and protocol version, followed by a MIME-like message (Multipurpose Internet Mail Extensions) containing request parameters and body content over a TCP connection with a server (HTTP session). Server is replay with response containing status line including the message's protocol version and a success or error code, followed by a MIME-like message containing server information, metadata and body content.
In the following sections, XML (Extensible Markup Language) and its concept will be introduced. The protocol has been standardized by the W3C (World Wide Web Consortium). This section will not go into the very details of the protocol itself. It will rather provide the basics to understand the protocols which are based on XML. XML is a main mechanism for representing structured data. The data in XML documents is represented by a tree with nested elements. Each note in the tree represents an element.
Elements can have attributes, but they are not mandatory. Furthermore, so called “leaf” elements can contain text content. XML documents require a declaration with version and encoding mandatory at the beginning. After this declaration, the elements and the XML encapsulated data itself follow. The elements, which can be used, are defined by the XML schema or DTD (Document Type Definition). As different and more definitions can be used within one document, XML is extensible.
XCAP (XML Configuration Access Protocol) allows clients to read, write and modify data stored in XML format on a server. This can be done by mapping XML document sub-trees and element attributes to HTTP URIs which grants direct access, as for the reason that all content discussed so far is held in XML “containers”. The XML files are stored on a so called XDMS (XML Document Management Server), which is usually a normal HTTP server. The standard describes the interface between client application and the server managing the XML data (e.g. presence resource lists or authorization data for presence management).
SOAP (Simple Object Access Protocol) is also an application layer protocol. The protocol is used for the communication between applications over the internet. SOAP uses HTTP as lower transport layer protocol.
The advantage using HTTP is its support by many applications (browsers, servers, mobile phones) and its easy and cheap implementation. Other protocols for remote communication do not join this advantage.
CORBA (Common Object Request Broker Architecture) is also a standard that defines a protocol for remote procedure communication. It is defined by the OMG (Object Management Group). The core of CORBA is the so called ORB (Object Request Broker). The ORB is the middle-ware that describes the client/server relationship for the communication. The ORB is responsible to:
Thus, the process seems transparent to the client. It uses only the communication via CORBA. The realization of the actual distributed application does not need to be specified any further. The only standard required for the actual communication is the communication standard.
VoiceXML is designed for creating audio dialogs that feature synthesized speech, digitized audio, recognition of spoken and DTMF (Dual-Tone Multi-Frequency) key input, recording of spoken input, telephony, and mixed initiative conversations. Its major goal is to bring the advantages of Web-based development and content delivery to interactive voice response applications.
The top-level element is of the XML description file is the <vxml> tag. It can contain two types of dialogues: