PageRenderTime 48ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/servers/media/doc/jdocbook-mobicents/target/docbook/publish/en-US/html/ittms-Architecture_the_Media_Server.html

http://mobicents.googlecode.com/
HTML | 186 lines | 186 code | 0 blank | 0 comment | 0 complexity | a0c30f5f86abffeb55c1956599226965 MD5 | raw file
Possible License(s): LGPL-3.0, GPL-3.0, LGPL-2.1, GPL-2.0, CC-BY-SA-3.0, CC0-1.0, Apache-2.0, BSD-3-Clause
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE html
  3. PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml"><head><title xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory">Chapter 4. Media Server Architecture</title><link rel="stylesheet" href="css/jbossorg.css" type="text/css"/><meta xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" name="generator" content="DocBook XSL Stylesheets V1.74.0"/><link rel="home" href="index.html" title="Media Server User Guide"/><link rel="up" href="index.html" title="Media Server User Guide"/><link rel="prev" href="chapter-Installing_the_Media_Server.html" title="Chapter 3. Installing the Mobicents Media Server"/><link rel="next" href="ctms-Configuring_the_Media_Server.html" title="Chapter 5. Configuring the Mobicents Media Server"/></head><body><p id="title"><a href="http://www.jboss.org" class="site_href"><strong>JBoss.org</strong></a><a href="http://docs.jboss.org/" class="doc_href"><strong>Community Documentation</strong></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chapter-Installing_the_Media_Server.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ctms-Configuring_the_Media_Server.html"><strong>Next</strong></a></li></ul><div class="chapter" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="ittms-Architecture_the_Media_Server"/>Chapter 4. Media Server Architecture</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="ittms-Architecture_the_Media_Server.html#ittms-Endpoints">4.1. Endpoints</a></span></dt><dd><dl><dt><span class="section"><a href="ittms-Architecture_the_Media_Server.html#ittms-Endpoint_DS0">4.1.1. Digital Channel DSO</a></span></dt><dt><span class="section"><a href="ittms-Architecture_the_Media_Server.html#ittms-Endpoint_AAP">4.1.2. Announcement Access Point</a></span></dt><dt><span class="section"><a href="ittms-Architecture_the_Media_Server.html#ittms-Endpoint_CNF">4.1.3. Conference bridge</a></span></dt><dt><span class="section"><a href="ittms-Architecture_the_Media_Server.html#ittms-Endpoint_PR">4.1.4. Packet Relay</a></span></dt><dt><span class="section"><a href="ittms-Architecture_the_Media_Server.html#ittms-Endpoint_IVR">4.1.5. Interactive Voice Response</a></span></dt><dt><span class="section"><a href="ittms-Architecture_the_Media_Server.html#ittms-Endpoint_Soundcard">4.1.6. Soundcard</a></span></dt></dl></dd><dt><span class="section"><a href="ittms-Architecture_the_Media_Server.html#ittms-Endpoint_Local_Names">4.2. Endpoint local identifiers</a></span></dt><dt><span class="section"><a href="ittms-Architecture_the_Media_Server.html#ittms-Calls_and_Connections">4.3. Calls and Connections</a></span></dt><dt><span class="section"><a href="ittms-Architecture_the_Media_Server.html#ittms-Controller-Modules">4.4. Controller Modules</a></span></dt><dd><dl><dt><span class="section"><a href="ittms-Architecture_the_Media_Server.html#d0e1556">4.4.1. Media Gateway Control Protocol</a></span></dt></dl></dd></dl></div><p>
  5. A media gateway can be represented as a collection of endpoints. An endpoint
  6. is a logical representation of a physical entity, such as an analog phone or
  7. a channel in a trunk.
  8. </p><p>
  9. Endpoints are sources or sinks of data, and can be physical or virtual.
  10. Physical endpoint creation requires hardware installation, while software is
  11. sufficient for creating virtual endpoints.
  12. </p><p>
  13. An interface on a gateway that terminates at a trunk connected to a PTSN
  14. switch would be an example of a physical endpoint. An audio source in an
  15. audio content server would be an example of a virtual endpoint.
  16. </p><p>
  17. The Media Server assumes a connection model where the basic constructs are
  18. endpoints and connections.
  19. </p><p>
  20. Connections are grouped in calls. One or more connections can belong to one
  21. call. Connections and calls are set up at the initiation of one or several
  22. Call Agents.
  23. </p><p>
  24. Controller Modules allow external interfaces to be implemented for the Media
  25. Server. Each controller module implements an industry standard control
  26. protocol, and uses a generic SPI to control processing components or
  27. endpoints.
  28. </p><div class="figure"><a id="d0e1431"/><div class="figure-contents"><div class="mediaobject" align="center"><a id="ittms-mms-MMSArchictecture-dia-MMS"/><img src="images/mms-MMSArchictecture-dia-MMS2.jpg" align="middle" alt="Media Server Architecture"/></div></div><p class="title"><b>Figure 4.1. Media Server Architecture</b></p></div><br class="figure-break"/><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="ittms-Endpoints"/>4.1. Endpoints</h2></div></div></div><p>
  29. There are a number of basic endpoint types:
  30. </p><div class="itemizedlist"><ul><li><p>Digital signal (DS0).</p></li><li><p>Announcement server access point.</p></li><li><p>Conference bridge access point.</p></li><li><p>Packet relay.</p></li><li><p>Interactive Voice Response.</p></li><li><p>Sound card.</p></li></ul></div><div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" class="note"><h2>Note</h2><p>
  31. This list is not final - other endpoint types may be defined in the
  32. future, such as test endpoints which could be used to check network
  33. quality, or frame-relay endpoints that could be used to manage audio
  34. channels multiplexed over a frame-relay virtual circuit.
  35. </p></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="ittms-Endpoint_DS0"/>4.1.1. Digital Channel DSO</h3></div></div></div><p>
  36. Digital channels provide an 8Khz*8bit service. Such channels are found in
  37. the trunk and ISDN interfaces. They are typically part of digital
  38. multiplexes, such as T1, E1, T3 or E3 interfaces. Media gateways that
  39. support such channels are capable of translating the digital signals
  40. received on the channel, which may be encoded according to A or mu-law,
  41. using either the complete set of 8 bits or only 7 of these bits, into
  42. audio packets. When the media gateway also supports a NAS service, the
  43. gateway will be capable of receiving either audio-encoded data (modem
  44. connection) or binary data (ISDN connection), and converting them into
  45. data packets.
  46. </p><p>
  47. In some cases, like SS7 "F" links, or ISDN "D" channels, digital channels
  48. are used to carry signalling. Media gateways that support these
  49. signalling functions are able to send and receive the signalling packets
  50. to and from a call agent, using the "back haul" procedures defined by the
  51. SIGTRAN working group of the IETF.
  52. </p><p>
  53. Digital channels are sometimes used in conjunction with channel
  54. associated signalling, such as "MF R2".
  55. </p></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="ittms-Endpoint_AAP"/>4.1.2. Announcement Access Point</h3></div></div></div><p>
  56. An Announcement Server Endpoint provides access to an announcement
  57. service. After a request from the call agent, the announcement server
  58. will "play" a specified announcement. A given announcement endpoint is
  59. not supposed to support more than one connection at a time. If several
  60. connections were established to the same endpoint, then the same
  61. announcements would be played simultaneously over all the connections.
  62. </p><p>
  63. Connections to an Announcement Server are typically one way, or "half
  64. duplex" - the Announcement Server is not expected to listen the audio
  65. signals from the connection.
  66. </p></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="ittms-Endpoint_CNF"/>4.1.3. Conference bridge</h3></div></div></div><p>
  67. A Conference Bridge Endpoint is used to provide access to a specific
  68. conference. The Media Server establishes several connections between the
  69. endpoint and the packet networks, or between the endpoint and other
  70. endpoints in the same server instance. The precise number of connections
  71. that an endpoint supports is a characteristic of the server's
  72. configuration, and may in fact vary according with the used hardware.
  73. </p></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="ittms-Endpoint_PR"/>4.1.4. Packet Relay</h3></div></div></div><p>
  74. A Packet Relay Endpoint is a specific form of conference bridge, that
  75. typically only supports two connections. Packets relays can be found in
  76. firewalls between a protected and an open network, or in transcoding
  77. servers used to provide interoperation between incompatible gateways,
  78. such as gateways that do not support compatible compression algorithms,
  79. or gateways that operate over different transmission networks.
  80. </p></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="ittms-Endpoint_IVR"/>4.1.5. Interactive Voice Response</h3></div></div></div><p>
  81. An Interactive Voice Response (IVR) endpoint provides access to an IVR
  82. service. Under requests from the call agent, the IVR server will "play"
  83. announcements and tones, and will "listen" to responses from the user.
  84. </p><p>
  85. A given IVR endpoint is not supposed to support more than one connection
  86. at a time. If several connections were established to the same endpoint,
  87. then the same tones and announcements would be played simultaneously over
  88. all the connections.
  89. </p></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="ittms-Endpoint_Soundcard"/>4.1.6. Soundcard</h3></div></div></div><p>
  90. The sound card gives access to both the Analogue-to-Digital Converter
  91. (ADC) and the Digital-to-Analogue Converter (DAC). Data transmission over
  92. the Internet is done digitally. In order for voice to be transmitted it
  93. must be converted to digital using an ADC and be converted into analog
  94. again using a DAC so the voice it can be heard on the other end.
  95. </p></div></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="ittms-Endpoint_Local_Names"/>4.2. Endpoint local identifiers</h2></div></div></div><p>
  96. The syntax of the local name depends on the type of endpoint being named.
  97. However, the local name for each of these types is naturally hierarchical,
  98. beginning with a term which identifies the physical gateway containing the
  99. given endpoint and ending in a term which specifies the individual endpoint
  100. concerned.
  101. </p><p>
  102. The following rules for construction and interpretation of the local
  103. identifier for these entity types MUST be supported:
  104. </p><div class="itemizedlist"><ul><li><p>
  105. The individual terms of the naming path MUST be separated by a single
  106. slash ("/", ASCII 2F hex).
  107. </p></li><li><p>
  108. The individual terms are character strings composed of letters, digits
  109. or other printable characters, with the exception of characters used as
  110. delimitors ("/", "@"), characters used for wildcarding ("*", "$") and
  111. white spaces.
  112. </p></li><li><p>
  113. Wild-carding is represented by square brakets and range using the
  114. following pattern: [a..b] where a and b are integer numbers.
  115. </p></li><li><p>
  116. In the ISUP protocol, trunks are grouped into trunk groups, identified
  117. by the SS7 point codes of the switches that the group connects.
  118. Circuits within a trunk group are identified by a circuit number (CIC
  119. in ISUP).
  120. </p></li></ul></div></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="ittms-Calls_and_Connections"/>4.3. Calls and Connections</h2></div></div></div><p>
  121. Connections are created on the call agent for each endpoint that will be
  122. involved in the "call." Connections may be either point to point or
  123. multipoint.
  124. </p><p>
  125. A point to point connection is an association between two endpoints with
  126. the purpose of transmitting data between those endpoints. Once this
  127. association is established for both endpoints, data transfer between these
  128. endpoints can take place.
  129. </p><p>
  130. A multipoint connection is established by connecting the endpoint to a
  131. multipoint session.
  132. </p><p>
  133. Connections can be established over several types of bearer networks:
  134. </p><div class="itemizedlist"><ul><li><p>
  135. Transmission of audio packets using RTP and UDP over a TCP/IP network.
  136. </p></li><li><p>
  137. Transmission of packets over an internal connection, such as the TDM
  138. backplane or the interconnection bus of a gateway. This is particularly
  139. used for "hairpin" connections - connections that terminate in a
  140. gateway but are immediately rerouted over the telephone network.
  141. </p></li></ul></div><div class="example"><a id="d0e1540"/><p class="title"><b>Example 4.1. Connections Example</b></p><div class="example-contents"><p>
  142. In the classic example of a connection between two "DS0" endpoints (EP1
  143. and EP2), the call agents controlling the end points will establish two
  144. connections (C1 and C2).
  145. </p><p>
  146. Each connection will be designated locally by a connection identifier,
  147. and will be characterized by connection attributes.
  148. </p><p>
  149. Once established, the connection parameters can be modified at any time
  150. by a "modify connection" command. The call agent may, for example,
  151. instruct the gateway to change the compression algorithm used on a
  152. connection, or to modify the IP address and UDP port to which data should
  153. be sent, if a connection is "redirected."
  154. </p><p>
  155. The call agent removes a connection by sending to the gateway a "delete
  156. connection" command. The gateway may also, under some circumstances,
  157. inform a gateway that a connection could not be sustained.
  158. </p></div></div><br class="example-break"/></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="ittms-Controller-Modules"/>4.4. Controller Modules</h2></div></div></div><p>
  159. Controller Modules allow external interfaces to be implemented for the
  160. Media Server. Each controller module implements an industry standard
  161. control protocol, and uses a generic SPI to control processing components
  162. or endpoints. One such controller module is the Media Gateway Control
  163. Protocol.
  164. </p><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="d0e1556"/>4.4.1. Media Gateway Control Protocol</h3></div></div></div><p>
  165. The Media Gateway Control Protocol (MGCP) is designed as an internal
  166. protocol within a distributed system that appears on the outside as a
  167. single VoIP gateway. The MGCP is composed of a Call Agent and a set of
  168. gateways, including at least one "media gateway" which performs the
  169. conversion of media signals between circuits and packets, and at least
  170. one "signalling gateway" when connected to an SS7 controlled network. The
  171. Call Agent can be distributed over several computer platforms.
  172. </p><p>
  173. MGCP is used for controlling telephony gateways from external call
  174. control elements called Media Gateway controllers or call agents. A
  175. telephony gateway is a network element that provides conversion betweekn
  176. the audio signals carried on telephone circuits and data packets carried
  177. over the Internet or over other packet networks.
  178. </p><p>
  179. MGCP assumes a call control architecture where the call control
  180. intelligence is outside the gateways and handled by external call control
  181. elements. The MGCP assumes that these call control elements, or Call
  182. Agents, will synchronize with each other to send coherent commands to the
  183. gateways under their control. MGCP is, in essence, a master/slave
  184. protocol, where the gateways are expected to execute the commands send by
  185. the Call Agents.
  186. </p></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chapter-Installing_the_Media_Server.html"><strong>Prev</strong>Chapter 3. Installing the Mobicents Media Server</a></li><li class="up"><a accesskey="u" href="#"><strong>Top of page</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Front page</strong></a></li><li class="next"><a accesskey="n" href="ctms-Configuring_the_Media_Server.html"><strong>Next</strong>Chapter 5. Configuring the Mobicents Media Server</a></li></ul></body></html>