SlideShare a Scribd company logo
1 of 6
Soft One To One Gateway Protocol
                                            Balachandra G.C 1 and Hanumanathappa J 2
                                                                         delete connection in order to establish and control media
  Abstract— The objective of the paper is to demonstrate a soft          sessions with other multi media generate signals. The end
one to one gateway switch that describes a call control architecture,    points automatically communicate changes in services state to
where the intelligence of the call control is outside the gateways and   the call agent. Furthermore, the call agent can audit endpoints
handled by external call control elements called call agents. The        as well as the connection on endpoints [1], [2].
gateway protocol assumes that these call control elements will
synchronize with each other by sending coherent commands to the
gateways under their control. This gateway switch is master/salve        Block diagram of MGCP
protocol where the gateways are expected to execute commands sent                                                           CA
                                                                                               CA            SIP
by the call control elements. Gateway protocol does not define a
mechanism for synchronizing call control elements.                                      MGCP                    CA : Call agent
   Keywords— MGCP, MGCI, Gateway, Callagent, endpoint,                                         RTP              GW : Gateway
NTFY, DLCX, AUEP, AUCX, CRCX, MDCX, RSIP, hairpin.                                   GW                GW       MGCP: Media Gateway Control
                                                                                                                Protocol
                         I.INTRODUCTION
                                                                                                                RTP: Real Time Protocol
      Media gateway control interface describes an abstract                    EC1        EC2            EC3 SIP: Session initialization protocol
application programming interface (MGCI) and a                                                                  EC : End Connection
corresponding protocol (MGCP) for controlling Media                                Fig 1.1: Block diagram of MGCP
Gateways from external call control elements called media
gateway controllers or Call Agents. A Media Gateway is                   Endpoint and Connection Identifiers
typically a network element that provides conversion between                 Endpoint identifiers have two components that both are
the audio signals carried on telephone circuits and data packets         case- insensitive:
carried over the Internet or over other packet networks. MGCP                 • the domain name of the gateway that is managing the
assumes a call control architecture where the calls control                       endpoint
“intelligence" is outside the gateways and handled by external                • a local name within that gateway
call control elements known as Call Agents.                                Endpoint names are of the form:
   The MGCP assumes that these call control elements, or                     local-endpoint-name@domain-name
Call Agents will synchronize with each other to send coherent                  Where domain-name is an absolute domain-name and
commands and responses to the gateways under their control.              includes a host portion, thus an example domain-name could
If this assumption is violated, inconsistent behavior should be          be:    softonetoone.gataway.net
expected.      MGCP does not define a mechanism for                         Also, domain-name may be an IP-address of the form
synchronizing Call Agents.                                               [192.168.1.2]
      Media Gateway Control Interface functions provide for                    Both IPv4 and IPv6 addresses can be specified, however
connection control and endpoint control. Connections are                 use of IP addresses as endpoint identifiers are generally
grouped in calls. One or more connections can belong to one              discouraged [1], [2].
call. Connections and calls are set up at the initiative of one or       View of call agent and gateway
more Call Agents. Media gateways should be able to establish
                                                                              Call Agent or                       Call Agent or
several connections between the endpoint and the packet                      Media Gateway            SIP        Media Gateway
networks, or between the endpoint and other endpoints in the                Controller (MGC)         H.323      Controller (MGC)
same gateway.
      The decomposed gateway consists of a call agent, which
contains the call control” intelligence”, and a media gateway,                            MGC                                MGC
which contains the media functions. Media gateways contain                                P                                  P
endpoints on which the call agents can create, modify and
                                                                               Media Gateway                        Media Gateway
                                                                                   (MG)                                 (MG)
           1
             Balachandra G.C. Tontadarya College of Engineering,
Mundargi Road , Gadag-582101, Karnataka . INDIA ( Phone:                             Fig 1.2: View of call agent and gateway
+091-821-236933,      232445;    Fax:    +091-08372-232446,   Email:        A point-to-point connection is an association between two
balutech@rediffmail.com, balutech@yahoo.co.in.                           endpoints with the purpose of transmitting data between these
          2
            Hanumanthappa .J., Dos in Computer Science, University of
Mysore,       Manasagangothri, Mysore, Karnataka .INDIA ( phone:
                                                                         endpoints. Once this association is established for both
+091-821-2419552; fax: +091-0821-2510789,Email: hanums_j@yahoo.com )     endpoints, data transfer between these endpoints can take
                                                                         place [7],[9].
Call agents instructs the gateways to create connections               The gateway immediately acknowledges the command,
 between endpoints and to detect certain events, e.g: off-hook,          repeating in the acknowledgement message the transaction id
 on-hook etc, and generate certain signals, eg: ringing. It is           that the Call Agent attached to the query.
 strictly upto the call agent to specify how and when                                   200 1201 OK
 connections are made, between which endpoints they are                        When the off hook event is noticed, the gateway
 made, as well as what events and signals are to be detected             provides the dial tone to the line (the delay between off-hook
 and generated on the endpoints. The gateway, there by,                  and dial tone is thus minimal.) The gateway will then start
 becomes a simple device, without any call state, that receives          accumulating digits according to that digit map.
 general instructions from the call agent without any need to
 worry about or even understand the concept of calls or call                   When it has noticed a sufficient set of values, it will
 states.                                                                 notify the observed string to the Call Agent:
        When new services are introduced or customer profiles            NTFY 2002 endpoint/1@rgw.whatever.net MGCP 0.1
 changed, the changes are transparent to the gateway. The call                          N: ca@ca1.whatever.ne
 agent implements the changes and generates the appropriate                             X: 0123456789AC
 new mix of instructions to the gateways for the changes made.                          O: 2001
        In the MGCP model, the gateways focus on the audio                 The Call Agent immediately acknowledges that notification.
 signal translation function, while the call agent handles the                            200 2002 OK
 signaling and call processing functions. As a consequences,                   The call agent analyzes the called number and
 the call agent implements the "signaling".                              determines that this is a hairpin connection the called party is
                                                                         located on the same gateway, on endpoint/2.       The         Call
                  Table 1 :Command Formats                               Agent can prepare two simultaneous Create Connection
                                                                         commands, creating the two legs of the connection.
 Comm                           Sent                                           The create connection sent to the first endpoint
            Message Name                        Description
  and                            By
                                         Determines the status of a
                                                                         piggybacks a notification request, to stop collecting digits yet
  AUEP      AuditEndpoint       CA                                       continue watch for an on-hook transition. The Create
                                              given endpoint.
                                                                         Connection sent to the second endpoint piggybacks a request
                                        Retrieves all the parameters
 AUCX      AuditConnection      CA
                                       associated with a connection.
                                                                         to generate ringing and look for off-hook. Both commands can
                                                                         be sent in a single UDP packet:
                                        Creates a connection between     CRCX 1204 endpoint/1@rgw.whatever.net MGCP 0.1
 CRCX      CreateConnection     CA
                                                 two endpoints.
                                              From CallManager:
                                                                                           C: A3C47F21456789F0
                                             Terminates a current                          X: 0123456789AD
  DLCX     DeleteConnection     Both
                                                   connection.                             M: sendrecv
                                        From Gateway: Indicates that                       R: hu
                                        a connection can no longer be
                                                    sustained.
                                                                                           v=0
                                            Changes the parameters        c=LOCAL rgw.whatever.net endpoint/2
 MDCX      ModifyConnection     CA      associated with an established                     m=audio 0 LOCAL 0
                                                   connection.               CRCX 1205 endpoint/2@rgw.whatever.net MGCP 0.1
                                       Instructs the gateway to watch                 C: A3C47F21456789F0
                                           for special events such as
                                          hooks or DTMF tones. It is
                                                                                      X: 9875659876
 RQNT     NotificationRequest   CA          also used to instruct the                  M: sendrecv
                                        gateway to provide a signal to                 R: hd
                                       the endpoint (for example, dial                 S: rg
                                              tone and busy tone).
                                                                                       v=0
                                               Informs the Cisco
  NTFY          Notify          GW      CallManager when requested
                                                                            c=LOCAL rgw.whatever.net endpoint/1
                                                  events occur.                         m=audio 0 LOCAL 0
                                               Informs the Cisco               We should note that the call agent does not send the local
                                        CallManager that an endpoint     connection options since it knows that it is a local (a.k.a.
  RSIP     RestartInProgress    GW         or group of endpoints are
                                         taken out or placed back into   "hairpin") connection are entirely described by the SDP text.
                                                     service.                  The gateway immediately acknowledges the creations,
                                                                         sending back in two messages the identification of the newly
Sequence of Commands for a Call Establishment                            created connections:
   The first command is a NotificationRequest, sent by the Call                            200 1204 OK
 Agent to the Gateway Server. The request will consist of the                              I:FDE234C8
 following lines:                                                                           200 1204 OK
 RQNT 1201 endpoint/1@rgw.whatever.net MGCP 0.1                                            I:9867659A
              N: ca@ca1.w hatever.net:                                         The gateway, at that point, is instructed to look for an
              X: 0123456789AC                                            off-hook event on the second endpoint, and to report it. When
              R: hd(E (dl;hu, D/[0-9#*T](D);)                            the gateway notices the off hook event, it sends a Notify
              D: 2XXX                                                    command to the Call Agent:
NTFY 2001 endpoint/1@rgw.whatever.net MGCP 0.1                            The gateway acknowledges the command, signaling that
             X: 9875659876                                          the second endpoint is now ready [1], [2].
             O: hd                                                          200 1220 OK
   The Call Agent immediately acknowledges that notification:
                   200 2001 OK                                                 II DESIGN AND ARCHITECTURE
   The Call agent will now send a Notification Request
command to the gateway, asking to look for an off-hook event        Design of Call Processing and Feature Processing
on the second end-point:                                                  Also called Call Processor, implements the Call
      RQNT 1206 endpoint/2@rgw.whatever.net MGCP 0.1                processing and feature processing code. This module of the
       X: 987565989A                                                MGCP Call Agent incorporates the basic functionality of the
        R: hu                                                       entire call processing for the MGCP based endpoints. It is a
      The gateway acknowledges that command:                        generic Call Processing, which can work with any kind of
                   200 1206 OK                                      protocol as long as it adheres to the interface message
  At this point the call is active between the two gateway          explained below.
users.                                                              A basic call finite state machine has been designed &
When the first user goes off hook, it sends a notification to the   implemented to achieve a stable & real time call processing
call agent:                                                         between the multiple web clients operating over the LAN.
        NTFY 2010 endpoint/1@rgw.whatever.net MGCP 0.1
          X: 987565989A                                             States Recognosized
            O: hu                                                       • Idlestate
      The call agent acknowledges the notification. It can, in a        • Dialingstate
single UDP message, send the acknowledgement and the                    • Ringingstate
Delete Connection commands that will clear the call.                    • Establishedstate
      For the first gateway, the command embeds a                       • Terminationstate
notification request that readies that gateway for the next call:
       200 2010 OK                                                  Designing Basic Call Flow
                .
        DLCX 1210 endpoint/1@rgw.whatever.net MGCP 0.1                                        Interface
                                                                                   Events                    Actions
        C: A3C47F21456789F0
         I: FDE234C8
         N: ca@ca1.whatever.net
         X: 012345673FDE                                                                         STATE
         R: hd(E(dl;hu, D/[0-9#*T](D);)                                    Idle                                     Terminatin
          .
        DLCX 1211 endpoint/2@rgw.whatever.net MGCP 0.1                         Dialing                      Established
        C: A3C47F21456789F0                                                                                    State
        I: 9867659A                                                                          Ringing
        X: A3C5F0
         R: hu                                                              Fig 2.1: Basic Call FSM with different states
      The gateway will acknowledge the commands in a single
UDP message that will carry the "local connection" version of        Events Interface
the connection parameters.                                                This interface contains all the possible physical events
                   250 1243 OK                                      that are sent by the web clients during Call Processing (To
                   250 1244 OK                                      establish a basic call). It also includes some of the other
  When the second user goes off hook, the gateway sends a           messages, which are for the internal functioning of the FSM.
Notify commands                                                     List of events possible are
NTFY 2020 endpoint/2@rgw.whatever.net MGCP 0.1                           • OnHook
                   X: A3C5F0                                             • OffHook
                   O: hu                                                 • DigitsDialed
      The Call agent follows with a notification requests,               • Flash
transmitted in the same packet as the acknowledgement, in                • TimedOut
order to ready the line for the next call:                               • CallAccepted
                   200 2020 OK                                           • CallTerminated
                   .                                                     • CallRequested
       RQNT 1220 enpoint/1@rgw.whatever.net MGCP 0.1                     The last three messages/events are used for the internal
             N: ca@ca1.whatever.net                                 functioning of the FSM.
             X: 0123456793E5
             R:hd(E(dl;hu, D/[0-9#*T](D);)
Actions                                                                   Change the TONE field of the other set object to
      This interface contains the list of all the generic actions         RING_BACK_TONE
(applicable to all the end users/clients). In appropriate states          Update the two set objects in the HASH table
the required action should be processed & rendered to the web         •   CallAccepted( )
clients                                                                   InvalidEvent ();
List of actions possible are                                          •   CallTerminated( )
     • StopTone                                                           InvalidEvent ();
     • GiveTone                                                       •   TimeOut( ) : yet to design IdleState specific actions are
     • InvalidEvent                                                       taken in each of the above methods / functions.
     • SendMessage
 Other state specific actions are processed in the respective        Dialing State
individual states.                                                         The Dialing State class is one of the classes of the basic
                                                                     call FSM. This class overrides      some of the methods of it’s
                  III IMPLEMENTATION                                 base class STATE which in turn implements the EVENTS &
                                                                     ACTIONS interface
States                                                                     The functions or methods that are overridden by the
      The State class implements the two interfaces EVENTS           DialingState class & the appropriate Actions are:
and ACTIONS. All the states of the basic call FSM are                 • OnHook( )
derived from this common Class STATE.This class adds some                  If (SUB_STATE == SS_CONNECTING)
extra member functions, other than implementing the two                          Send CallTerminated message to the other Set
Interfaces.                                                                Object
                                                                           STATE == IDLE;
Idle State                                                                 SUB_STATE == NONE;
      The Idle State class is one of the classes of the basic call         The set object is removed from the Hash Table
FSM. This class overrides some of the methods of it’s base            • OffHook( )
class STATE which in turn implements the EVENTS and                        InvalidEvent ();
ACTIONS interface[5][6].                                              • DigitsDialed( )
On the occurrence of the following Events appropriate Actions              If (SUB_STATE == SS_CONNECTING) InvalidEvent
are taken on the particular Set Object & the Actions taken are             ();
listed below the event names.                                              Else
     The functions or methods that are overridden by the                   If (SUB_STATE == SS_START_DIALING)
IdleState class are:                                                             Stop the Dial Tone to the set;
  • OnHook( )                                                                    Read the digits dialed;
      InvalidEvent ();                                                           SUB_STATE == SS_CONNECTING;
      Only when Web Clients goes OffHook a set object is                         Update the Call Register associated with the set;
      created which has a state as IdleState                                     Update the Hash table with the modified set object;
  • OffHook( )                                                        • Flash( )
      Dial Tone is fed to the end client. The corresponding set            If (SUB_STATE == SS_CONNECTING) Feed
      object fields are manipulated as follows:                            RING_BACK_TONE to the set;
            STATE == DIALING;                                              Else if (SUB_STATE == SS_START_DIALING) Feed
            SUB_STATE == SS_START_DIALING;                                 DIAL_TONE to the set
            TONEFLAG == TRUE;                                         • CallRequested( )
               PREVSTATE == IDLE;                                          Give BUSY_TONE to the set from which the
               PREVSUBSTATE==NONE;                                         message/event has arrived;
      Update the Hash table with the modified set object                   Get the set object from the Hash Table;
  • DigitsDialed( )                                                        TONE == BUSY_TONE;
      InvalidEvent ();                                                     Update the Hash Table with this set object
  • Flash( )                                                          • CallAccepted( )
      InvalidEvent ();                                                     If (SUB_STATE == SS_CONNECTING)
  • CallRequested( )                                                         Stop the RING on the terminating set;
      Give RING to the set (end client) for which the message/               Stop the RING_BACK_TONE to the; originating set
      event has arrived.                                                      STATE == ESTABLISHEDSTATE;
      Give RING_BACK_TONE to the set from which this                          SUB_STATE == NONE;
      message has come.                                                    Else InvalidEvent ();
      Set Object fields changed are:                                  • CallTerminated( )
            STATE == RINGINGSTATE;                                         InvalidEvent ();
            SUB_STATE == NONE;                                             DialingState specific actions are taken in each of the
            RINGFLAG == TRUE;                                              above methods / functions
Ringing State                                                         Give BUSY_TONE to the set from which this
      The Ringing State class is one of the classes of the basic       message/event has been received with
call FSM. This class overrides some of the methods of its base         CURRENT_TONE == BUSY_TONE;
class STATE which in turn implements the EVENTS &                     Update the Hash Table with this set object;
ACTIONS interface                                                   • CallAccepted( )
      The functions or methods that are overridden & the              InvalidEvent ();
appropriate actions taken by the are:                               • CallTerminated( )
                                                                      STATE == TERMINATIONSTATE;
 •    OnHook( )                                                       SUB_STATE == NONE;
      InvalidEvent ();                                                Update the Hash Table with the modified set object;
 •    OffHook( )                                                        EstablishedState specific actions are taken in each of the
      Send CallAccepted message to the other set object;               above methods / functions
      STATE == ESTABLISHEDSTATE;
      RING_FLAG == False;                                          Terminate State
      Make the call register handle of the RINGINGSTATE                  The Established State class is one of the classes of the
      set object point to the call register of the other           basic call FSM. This class overrides some of the methods of
      (opponent) set object;                                       its base class STATE which in turn implements the EVENTS
 •    DigitsDialed( )                                              & ACTIONS interface
      InvalidEvent ();                                                   The functions or methods that are overridden & the
 •    Flash( )                                                     specific Actions are:
      InvalidEvent ();                                               • OnHook( )
 •    CallRequested( )                                                   STATE == IDLE;
      Give Tone BUSY_TONE to the set object from where                   Remove the set object from the Hash Table;
      the message has arrived whose present TONE ==                  • OffHook( )
      BUSY_TONE;                                                         InvalidEvent ();
            Update the Hash Table with the updated set object;       • DigitsDialed( )
 •    CallAccepted( )                                                    InvalidEvent ();
      InvalidEvent ();                                               • Flash( )
 •    CallTerminated( )                                                  InvalidEvent ();
      Stop Ring to the set;                                          • CallRequested( )
      STATE == IDLE;                                                     Give Tone BUSY_TONE to the set from which this
      RINGFLAG == false;                                                 message/event has arrived; CURRENT_TONE ==
      Remove the set object from the Hash Table;                         BUSY_TONE;
•    TimeOut( )                                                          Update the Hash Table;
      yet to design;                                                 • CallAccepted( )
      RingingState specific actions are taken in each of the             InvalidEvent ();
      above methods / functions                                      • CallTerminated( )
                                                                         InvalidEvent ();
Established State                                                         TerminationState specific actions are taken in each of
      The Established State class is one of the classes of the           the above methods / functions
basic call FSM. This class overrides some of the methods of
its base class STATE which in turn implements the EVENTS           State Machine Diagram
& ACTIONS interface                                                      The FSM implements the Basic Call FSM.This is the
      The functions or methods that are overridden & the           class, which handles & manipulates the call processing with
Actions are:                                                       the aid of the FSM
  • OnHook( )                                                      The public functions of this class are:
     Send CallTerminated to the other (opponent) set object        • void startFsm( )
     STATE == IDLE;                                                      This function is responsible for the start of the Basic Call
     SUB_STATE == NONE;                                                  FSM.It creates objects of all the classes present in the
     Remove the set object from the Hash Table;                    FSM.
  • OffHook( )                                                     • void EventDispatcher(Sets handle , InterfaceMessage
     InvalidEvent ();                                                   iMsgHandle)
  • DigitsDialed( )                                                      This function is responsible for the dispatching of the
          InvalidEvent ();                                         events      in the appropriate state handles.
  • Flash( )                                                       • void printCurrentState( )
     InvalidEvent ();                                                    This function is responsible for printing out in the
  • CallRequested( )                                               console the set object related information & also the call
                                                                   register related information for testing purposes.
IV IMPLEMENTATION RESULTS & ANALYSIS
               Table 2: State Transition Matrix                                                                Authors
       STATE                                           ESTA
                                            RINGI                TERMI        Mr.Hanumanthappa.J. has taken his birth in Harihar on 6-12-1975,which
                    IDL       DIALING                 BLISH
                                              NG                NATED         belongs to Davanagere (D).He has received his Bachelor of Engineering
EVENT                                                   ED                    Degree in computer science and engineering from University B.D.T College of
                                                                                             Engineering , Davanagere, Karnataka( S),India( C),which is
                                            ESTA                                             affiliated to Kuvempu University , Shimoga in the year 1998 and
                   DIALL
  Off- Hook                    InValid      BLISH     InValid    InValid                     Master of Technology in cs & engineering from NITK Surathkal ,
                    ING                                                                      Karnataka( S ), India (C) in the year 2003.He is currently
                                              ED                                             pursuing his doctoral program from Mangalore university ,
                                                                                             Mangalore under the supervision of Dr.Manjaiah. D. H. under
   On- Hook        Invalid      IDLE        InValid    IDLE       IDLE        the title called “Security issues of IPv6”.

       Digits                                                                       He is currently working as a LECTURER in Department of Studies in
                   Invalid   DIALLING       Invalid   Invalid    Invalid      Computer Science ,Manasagangothri, University of Mysore. He has presented
       Dialled
                                                                              2 research papers in National and International Conferences in Network
        Call       RINGI                                                      Engineering. Currently He is writing two Text books on Introduction to “C”
                                Invalid     Invalid   Invalid    Invalid      and one more on Cryptography and Network security for computer science and
   Requested         NG                                                       Engineering students.
        Call                 ESTABLIS
                   InValid                  Invalid   Invalid    Invalid         He is a Life member of CSI, ISTE,AMIE, IAENG, Embedded networking
   Accepted                     HED                                           group of TIFAC – CORE in Network Engineering .
        Call                                                                                            Mr. Balachandra G.C is currently working as
                   Invalid      Invalid      IDLE     Invalid    Invalid
  Terminated                                                                                            Lecturer in Tontadarya College of Engineering,
                                                                                                        Gadag. He received his Master of Technology in
   TimeOut         Invalid      Invalid      IDLE     Invalid    Invalid                                Computer Science and Technology from DOS in
                                                                                                        Computer Studies, University of Mysore, Mysore in
                                                                                                        2006. In the Year 1999 he completed his M..Sc
Analysis                                                                                                (Electronics) from Karnataka University Dharwad.
      The above results are satisfying the requirement of                                               He is having good Knowledge in computer Network;
MGCP 1.0 standard, verified for all the command format of                           his area of interest is Network Security, Algorithms Data Structure and
table 1.1. The webclient is a ‘Browser downloadable secured                         OOAD.
Applet’ which can be downloaded from the web server and
used to make VOIP calls with other similar webclients.

                          Conclusion
      If we look at the development of media gateway control
protocols from simple PSTN/VOIP interworking “enables” to
complex media-specific applications, it is clear that the Media
Gateway Control Protocols have an important role to play.
Like IP centric conferencing and media-related application.
The inherent client/server architecture of the protocol provides
room for growth and possibilities of developing flexible,
scalable applications. The decomposed gateway architecture
greatly eases the problems of management and expansion.
Future Enhancement
      The media-Oriented Design of the protocols provide the
opportunity for better media management as multimedia
conferencing media-rich application become a greater part of
everyday life (IVR announcement servers, call centre
application). New Package- such as a media server package
that defines events and signals for controlling a media server.

                                References
 [1]     Arango, et al. Informational RFC 2705 Media Gateway Control
         Protocol (MGCP) 1999,2003.
 [2]     Network Working Group, Cisco Systems Informational RFC 3661 B.
         Foster C. Sivachelvan 2003
 [3]     Data Communication and Networking 4e-Forouzan
 [4]     Andrew S. Tanenbaum, Computer Networks., Fourth edition,2005.
 [5]     Herbert Schildt Complete Reference Java 2 Tata McGraw Hill 2002 5e
 [6]     E Balaguruswamy Programming with Java A Primer 2000 2e
 [7]     http://www.voip-info.org/wiki/index.php?page=VOIP+phone
 [8]     http://www.ietf.org/rfc.html
 [9]     http://wwwprotocols.com/pbook/voipfamily

More Related Content

Similar to Iccns08 Cp27 Softone To One Gateway Protocol

Presentation of H323 protocol
Presentation of H323 protocolPresentation of H323 protocol
Presentation of H323 protocolMd. Taiseen Azam
 
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...cscpconf
 
M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019Robert Parker
 
Communication between PLC different vendors using OPC server improved with ap...
Communication between PLC different vendors using OPC server improved with ap...Communication between PLC different vendors using OPC server improved with ap...
Communication between PLC different vendors using OPC server improved with ap...TELKOMNIKA JOURNAL
 
The art of control systems 110915
The art of control systems 110915The art of control systems 110915
The art of control systems 110915Moustafa M Elsayed
 
Design of a Remotely Accessible PC based Temperature Monitoring System
Design of a Remotely Accessible PC based Temperature Monitoring SystemDesign of a Remotely Accessible PC based Temperature Monitoring System
Design of a Remotely Accessible PC based Temperature Monitoring SystemIDES Editor
 
Cell phone operated robot synopsis
Cell phone operated robot synopsisCell phone operated robot synopsis
Cell phone operated robot synopsisgopal002
 
Topic2 Understanding Middleware
Topic2 Understanding MiddlewareTopic2 Understanding Middleware
Topic2 Understanding Middlewaresanjoysanyal
 
home autimation using GSM
home autimation using GSMhome autimation using GSM
home autimation using GSMramraj meena
 
Demo Presentation . LEJ
Demo Presentation . LEJDemo Presentation . LEJ
Demo Presentation . LEJMuhammad Saeed
 
enoticeboard-150526024918-lva1-app6892 (2).pdf
enoticeboard-150526024918-lva1-app6892 (2).pdfenoticeboard-150526024918-lva1-app6892 (2).pdf
enoticeboard-150526024918-lva1-app6892 (2).pdfSupriaNandan
 
wireless E notice board
wireless E notice boardwireless E notice board
wireless E notice boardGanesh Gani
 
Cryptanalaysis of an EPCC1G2 Standard Compliant Ownership Transfer Scheme Jor...
Cryptanalaysis of an EPCC1G2 Standard Compliant Ownership Transfer Scheme Jor...Cryptanalaysis of an EPCC1G2 Standard Compliant Ownership Transfer Scheme Jor...
Cryptanalaysis of an EPCC1G2 Standard Compliant Ownership Transfer Scheme Jor...Information Security Awareness Group
 

Similar to Iccns08 Cp27 Softone To One Gateway Protocol (20)

Presentation of H323 protocol
Presentation of H323 protocolPresentation of H323 protocol
Presentation of H323 protocol
 
15-105 v6
15-105 v615-105 v6
15-105 v6
 
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...
 
Voip basics
Voip   basicsVoip   basics
Voip basics
 
M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019M14: MQ security deep dive ITC 2019
M14: MQ security deep dive ITC 2019
 
Communication between PLC different vendors using OPC server improved with ap...
Communication between PLC different vendors using OPC server improved with ap...Communication between PLC different vendors using OPC server improved with ap...
Communication between PLC different vendors using OPC server improved with ap...
 
The art of control systems 110915
The art of control systems 110915The art of control systems 110915
The art of control systems 110915
 
Design of a Remotely Accessible PC based Temperature Monitoring System
Design of a Remotely Accessible PC based Temperature Monitoring SystemDesign of a Remotely Accessible PC based Temperature Monitoring System
Design of a Remotely Accessible PC based Temperature Monitoring System
 
Cell phone operated robot synopsis
Cell phone operated robot synopsisCell phone operated robot synopsis
Cell phone operated robot synopsis
 
Resume
ResumeResume
Resume
 
Topic2 Understanding Middleware
Topic2 Understanding MiddlewareTopic2 Understanding Middleware
Topic2 Understanding Middleware
 
home autimation using GSM
home autimation using GSMhome autimation using GSM
home autimation using GSM
 
GSM CONTROL OF ELECTRICAL APPLIANCES
GSM CONTROL OF ELECTRICAL APPLIANCESGSM CONTROL OF ELECTRICAL APPLIANCES
GSM CONTROL OF ELECTRICAL APPLIANCES
 
Demo Presentation . LEJ
Demo Presentation . LEJDemo Presentation . LEJ
Demo Presentation . LEJ
 
www.ijerd.com
www.ijerd.comwww.ijerd.com
www.ijerd.com
 
enoticeboard-150526024918-lva1-app6892 (2).pdf
enoticeboard-150526024918-lva1-app6892 (2).pdfenoticeboard-150526024918-lva1-app6892 (2).pdf
enoticeboard-150526024918-lva1-app6892 (2).pdf
 
wireless E notice board
wireless E notice boardwireless E notice board
wireless E notice board
 
Gsm based control system
Gsm based control systemGsm based control system
Gsm based control system
 
Cryptanalaysis of an EPCC1G2 Standard Compliant Ownership Transfer Scheme Jor...
Cryptanalaysis of an EPCC1G2 Standard Compliant Ownership Transfer Scheme Jor...Cryptanalaysis of an EPCC1G2 Standard Compliant Ownership Transfer Scheme Jor...
Cryptanalaysis of an EPCC1G2 Standard Compliant Ownership Transfer Scheme Jor...
 
Transport Layer
Transport LayerTransport Layer
Transport Layer
 

Recently uploaded

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 

Recently uploaded (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 

Iccns08 Cp27 Softone To One Gateway Protocol

  • 1. Soft One To One Gateway Protocol Balachandra G.C 1 and Hanumanathappa J 2 delete connection in order to establish and control media Abstract— The objective of the paper is to demonstrate a soft sessions with other multi media generate signals. The end one to one gateway switch that describes a call control architecture, points automatically communicate changes in services state to where the intelligence of the call control is outside the gateways and the call agent. Furthermore, the call agent can audit endpoints handled by external call control elements called call agents. The as well as the connection on endpoints [1], [2]. gateway protocol assumes that these call control elements will synchronize with each other by sending coherent commands to the gateways under their control. This gateway switch is master/salve Block diagram of MGCP protocol where the gateways are expected to execute commands sent CA CA SIP by the call control elements. Gateway protocol does not define a mechanism for synchronizing call control elements. MGCP CA : Call agent Keywords— MGCP, MGCI, Gateway, Callagent, endpoint, RTP GW : Gateway NTFY, DLCX, AUEP, AUCX, CRCX, MDCX, RSIP, hairpin. GW GW MGCP: Media Gateway Control Protocol I.INTRODUCTION RTP: Real Time Protocol Media gateway control interface describes an abstract EC1 EC2 EC3 SIP: Session initialization protocol application programming interface (MGCI) and a EC : End Connection corresponding protocol (MGCP) for controlling Media Fig 1.1: Block diagram of MGCP Gateways from external call control elements called media gateway controllers or Call Agents. A Media Gateway is Endpoint and Connection Identifiers typically a network element that provides conversion between Endpoint identifiers have two components that both are the audio signals carried on telephone circuits and data packets case- insensitive: carried over the Internet or over other packet networks. MGCP • the domain name of the gateway that is managing the assumes a call control architecture where the calls control endpoint “intelligence" is outside the gateways and handled by external • a local name within that gateway call control elements known as Call Agents. Endpoint names are of the form: The MGCP assumes that these call control elements, or local-endpoint-name@domain-name Call Agents will synchronize with each other to send coherent Where domain-name is an absolute domain-name and commands and responses to the gateways under their control. includes a host portion, thus an example domain-name could If this assumption is violated, inconsistent behavior should be be: softonetoone.gataway.net expected. MGCP does not define a mechanism for Also, domain-name may be an IP-address of the form synchronizing Call Agents. [192.168.1.2] Media Gateway Control Interface functions provide for Both IPv4 and IPv6 addresses can be specified, however connection control and endpoint control. Connections are use of IP addresses as endpoint identifiers are generally grouped in calls. One or more connections can belong to one discouraged [1], [2]. call. Connections and calls are set up at the initiative of one or View of call agent and gateway more Call Agents. Media gateways should be able to establish Call Agent or Call Agent or several connections between the endpoint and the packet Media Gateway SIP Media Gateway networks, or between the endpoint and other endpoints in the Controller (MGC) H.323 Controller (MGC) same gateway. The decomposed gateway consists of a call agent, which contains the call control” intelligence”, and a media gateway, MGC MGC which contains the media functions. Media gateways contain P P endpoints on which the call agents can create, modify and Media Gateway Media Gateway (MG) (MG) 1  Balachandra G.C. Tontadarya College of Engineering, Mundargi Road , Gadag-582101, Karnataka . INDIA ( Phone: Fig 1.2: View of call agent and gateway +091-821-236933, 232445; Fax: +091-08372-232446, Email: A point-to-point connection is an association between two balutech@rediffmail.com, balutech@yahoo.co.in. endpoints with the purpose of transmitting data between these 2 Hanumanthappa .J., Dos in Computer Science, University of Mysore, Manasagangothri, Mysore, Karnataka .INDIA ( phone: endpoints. Once this association is established for both +091-821-2419552; fax: +091-0821-2510789,Email: hanums_j@yahoo.com ) endpoints, data transfer between these endpoints can take place [7],[9].
  • 2. Call agents instructs the gateways to create connections The gateway immediately acknowledges the command, between endpoints and to detect certain events, e.g: off-hook, repeating in the acknowledgement message the transaction id on-hook etc, and generate certain signals, eg: ringing. It is that the Call Agent attached to the query. strictly upto the call agent to specify how and when 200 1201 OK connections are made, between which endpoints they are When the off hook event is noticed, the gateway made, as well as what events and signals are to be detected provides the dial tone to the line (the delay between off-hook and generated on the endpoints. The gateway, there by, and dial tone is thus minimal.) The gateway will then start becomes a simple device, without any call state, that receives accumulating digits according to that digit map. general instructions from the call agent without any need to worry about or even understand the concept of calls or call When it has noticed a sufficient set of values, it will states. notify the observed string to the Call Agent: When new services are introduced or customer profiles NTFY 2002 endpoint/1@rgw.whatever.net MGCP 0.1 changed, the changes are transparent to the gateway. The call N: ca@ca1.whatever.ne agent implements the changes and generates the appropriate X: 0123456789AC new mix of instructions to the gateways for the changes made. O: 2001 In the MGCP model, the gateways focus on the audio The Call Agent immediately acknowledges that notification. signal translation function, while the call agent handles the 200 2002 OK signaling and call processing functions. As a consequences, The call agent analyzes the called number and the call agent implements the "signaling". determines that this is a hairpin connection the called party is located on the same gateway, on endpoint/2. The Call Table 1 :Command Formats Agent can prepare two simultaneous Create Connection commands, creating the two legs of the connection. Comm Sent The create connection sent to the first endpoint Message Name Description and By Determines the status of a piggybacks a notification request, to stop collecting digits yet AUEP AuditEndpoint CA continue watch for an on-hook transition. The Create given endpoint. Connection sent to the second endpoint piggybacks a request Retrieves all the parameters AUCX AuditConnection CA associated with a connection. to generate ringing and look for off-hook. Both commands can be sent in a single UDP packet: Creates a connection between CRCX 1204 endpoint/1@rgw.whatever.net MGCP 0.1 CRCX CreateConnection CA two endpoints. From CallManager: C: A3C47F21456789F0 Terminates a current X: 0123456789AD DLCX DeleteConnection Both connection. M: sendrecv From Gateway: Indicates that R: hu a connection can no longer be sustained. v=0 Changes the parameters c=LOCAL rgw.whatever.net endpoint/2 MDCX ModifyConnection CA associated with an established m=audio 0 LOCAL 0 connection. CRCX 1205 endpoint/2@rgw.whatever.net MGCP 0.1 Instructs the gateway to watch C: A3C47F21456789F0 for special events such as hooks or DTMF tones. It is X: 9875659876 RQNT NotificationRequest CA also used to instruct the M: sendrecv gateway to provide a signal to R: hd the endpoint (for example, dial S: rg tone and busy tone). v=0 Informs the Cisco NTFY Notify GW CallManager when requested c=LOCAL rgw.whatever.net endpoint/1 events occur. m=audio 0 LOCAL 0 Informs the Cisco We should note that the call agent does not send the local CallManager that an endpoint connection options since it knows that it is a local (a.k.a. RSIP RestartInProgress GW or group of endpoints are taken out or placed back into "hairpin") connection are entirely described by the SDP text. service. The gateway immediately acknowledges the creations, sending back in two messages the identification of the newly Sequence of Commands for a Call Establishment created connections: The first command is a NotificationRequest, sent by the Call 200 1204 OK Agent to the Gateway Server. The request will consist of the I:FDE234C8 following lines: 200 1204 OK RQNT 1201 endpoint/1@rgw.whatever.net MGCP 0.1 I:9867659A N: ca@ca1.w hatever.net: The gateway, at that point, is instructed to look for an X: 0123456789AC off-hook event on the second endpoint, and to report it. When R: hd(E (dl;hu, D/[0-9#*T](D);) the gateway notices the off hook event, it sends a Notify D: 2XXX command to the Call Agent:
  • 3. NTFY 2001 endpoint/1@rgw.whatever.net MGCP 0.1 The gateway acknowledges the command, signaling that X: 9875659876 the second endpoint is now ready [1], [2]. O: hd 200 1220 OK The Call Agent immediately acknowledges that notification: 200 2001 OK II DESIGN AND ARCHITECTURE The Call agent will now send a Notification Request command to the gateway, asking to look for an off-hook event Design of Call Processing and Feature Processing on the second end-point: Also called Call Processor, implements the Call RQNT 1206 endpoint/2@rgw.whatever.net MGCP 0.1 processing and feature processing code. This module of the X: 987565989A MGCP Call Agent incorporates the basic functionality of the R: hu entire call processing for the MGCP based endpoints. It is a The gateway acknowledges that command: generic Call Processing, which can work with any kind of 200 1206 OK protocol as long as it adheres to the interface message At this point the call is active between the two gateway explained below. users. A basic call finite state machine has been designed & When the first user goes off hook, it sends a notification to the implemented to achieve a stable & real time call processing call agent: between the multiple web clients operating over the LAN. NTFY 2010 endpoint/1@rgw.whatever.net MGCP 0.1 X: 987565989A States Recognosized O: hu • Idlestate The call agent acknowledges the notification. It can, in a • Dialingstate single UDP message, send the acknowledgement and the • Ringingstate Delete Connection commands that will clear the call. • Establishedstate For the first gateway, the command embeds a • Terminationstate notification request that readies that gateway for the next call: 200 2010 OK Designing Basic Call Flow . DLCX 1210 endpoint/1@rgw.whatever.net MGCP 0.1 Interface Events Actions C: A3C47F21456789F0 I: FDE234C8 N: ca@ca1.whatever.net X: 012345673FDE STATE R: hd(E(dl;hu, D/[0-9#*T](D);) Idle Terminatin . DLCX 1211 endpoint/2@rgw.whatever.net MGCP 0.1 Dialing Established C: A3C47F21456789F0 State I: 9867659A Ringing X: A3C5F0 R: hu Fig 2.1: Basic Call FSM with different states The gateway will acknowledge the commands in a single UDP message that will carry the "local connection" version of Events Interface the connection parameters. This interface contains all the possible physical events 250 1243 OK that are sent by the web clients during Call Processing (To 250 1244 OK establish a basic call). It also includes some of the other When the second user goes off hook, the gateway sends a messages, which are for the internal functioning of the FSM. Notify commands List of events possible are NTFY 2020 endpoint/2@rgw.whatever.net MGCP 0.1 • OnHook X: A3C5F0 • OffHook O: hu • DigitsDialed The Call agent follows with a notification requests, • Flash transmitted in the same packet as the acknowledgement, in • TimedOut order to ready the line for the next call: • CallAccepted 200 2020 OK • CallTerminated . • CallRequested RQNT 1220 enpoint/1@rgw.whatever.net MGCP 0.1 The last three messages/events are used for the internal N: ca@ca1.whatever.net functioning of the FSM. X: 0123456793E5 R:hd(E(dl;hu, D/[0-9#*T](D);)
  • 4. Actions Change the TONE field of the other set object to This interface contains the list of all the generic actions RING_BACK_TONE (applicable to all the end users/clients). In appropriate states Update the two set objects in the HASH table the required action should be processed & rendered to the web • CallAccepted( ) clients InvalidEvent (); List of actions possible are • CallTerminated( ) • StopTone InvalidEvent (); • GiveTone • TimeOut( ) : yet to design IdleState specific actions are • InvalidEvent taken in each of the above methods / functions. • SendMessage Other state specific actions are processed in the respective Dialing State individual states. The Dialing State class is one of the classes of the basic call FSM. This class overrides some of the methods of it’s III IMPLEMENTATION base class STATE which in turn implements the EVENTS & ACTIONS interface States The functions or methods that are overridden by the The State class implements the two interfaces EVENTS DialingState class & the appropriate Actions are: and ACTIONS. All the states of the basic call FSM are • OnHook( ) derived from this common Class STATE.This class adds some If (SUB_STATE == SS_CONNECTING) extra member functions, other than implementing the two Send CallTerminated message to the other Set Interfaces. Object STATE == IDLE; Idle State SUB_STATE == NONE; The Idle State class is one of the classes of the basic call The set object is removed from the Hash Table FSM. This class overrides some of the methods of it’s base • OffHook( ) class STATE which in turn implements the EVENTS and InvalidEvent (); ACTIONS interface[5][6]. • DigitsDialed( ) On the occurrence of the following Events appropriate Actions If (SUB_STATE == SS_CONNECTING) InvalidEvent are taken on the particular Set Object & the Actions taken are (); listed below the event names. Else The functions or methods that are overridden by the If (SUB_STATE == SS_START_DIALING) IdleState class are: Stop the Dial Tone to the set; • OnHook( ) Read the digits dialed; InvalidEvent (); SUB_STATE == SS_CONNECTING; Only when Web Clients goes OffHook a set object is Update the Call Register associated with the set; created which has a state as IdleState Update the Hash table with the modified set object; • OffHook( ) • Flash( ) Dial Tone is fed to the end client. The corresponding set If (SUB_STATE == SS_CONNECTING) Feed object fields are manipulated as follows: RING_BACK_TONE to the set; STATE == DIALING; Else if (SUB_STATE == SS_START_DIALING) Feed SUB_STATE == SS_START_DIALING; DIAL_TONE to the set TONEFLAG == TRUE; • CallRequested( ) PREVSTATE == IDLE; Give BUSY_TONE to the set from which the PREVSUBSTATE==NONE; message/event has arrived; Update the Hash table with the modified set object Get the set object from the Hash Table; • DigitsDialed( ) TONE == BUSY_TONE; InvalidEvent (); Update the Hash Table with this set object • Flash( ) • CallAccepted( ) InvalidEvent (); If (SUB_STATE == SS_CONNECTING) • CallRequested( ) Stop the RING on the terminating set; Give RING to the set (end client) for which the message/ Stop the RING_BACK_TONE to the; originating set event has arrived. STATE == ESTABLISHEDSTATE; Give RING_BACK_TONE to the set from which this SUB_STATE == NONE; message has come. Else InvalidEvent (); Set Object fields changed are: • CallTerminated( ) STATE == RINGINGSTATE; InvalidEvent (); SUB_STATE == NONE; DialingState specific actions are taken in each of the RINGFLAG == TRUE; above methods / functions
  • 5. Ringing State Give BUSY_TONE to the set from which this The Ringing State class is one of the classes of the basic message/event has been received with call FSM. This class overrides some of the methods of its base CURRENT_TONE == BUSY_TONE; class STATE which in turn implements the EVENTS & Update the Hash Table with this set object; ACTIONS interface • CallAccepted( ) The functions or methods that are overridden & the InvalidEvent (); appropriate actions taken by the are: • CallTerminated( ) STATE == TERMINATIONSTATE; • OnHook( ) SUB_STATE == NONE; InvalidEvent (); Update the Hash Table with the modified set object; • OffHook( ) EstablishedState specific actions are taken in each of the Send CallAccepted message to the other set object; above methods / functions STATE == ESTABLISHEDSTATE; RING_FLAG == False; Terminate State Make the call register handle of the RINGINGSTATE The Established State class is one of the classes of the set object point to the call register of the other basic call FSM. This class overrides some of the methods of (opponent) set object; its base class STATE which in turn implements the EVENTS • DigitsDialed( ) & ACTIONS interface InvalidEvent (); The functions or methods that are overridden & the • Flash( ) specific Actions are: InvalidEvent (); • OnHook( ) • CallRequested( ) STATE == IDLE; Give Tone BUSY_TONE to the set object from where Remove the set object from the Hash Table; the message has arrived whose present TONE == • OffHook( ) BUSY_TONE; InvalidEvent (); Update the Hash Table with the updated set object; • DigitsDialed( ) • CallAccepted( ) InvalidEvent (); InvalidEvent (); • Flash( ) • CallTerminated( ) InvalidEvent (); Stop Ring to the set; • CallRequested( ) STATE == IDLE; Give Tone BUSY_TONE to the set from which this RINGFLAG == false; message/event has arrived; CURRENT_TONE == Remove the set object from the Hash Table; BUSY_TONE; • TimeOut( ) Update the Hash Table; yet to design; • CallAccepted( ) RingingState specific actions are taken in each of the InvalidEvent (); above methods / functions • CallTerminated( ) InvalidEvent (); Established State TerminationState specific actions are taken in each of The Established State class is one of the classes of the the above methods / functions basic call FSM. This class overrides some of the methods of its base class STATE which in turn implements the EVENTS State Machine Diagram & ACTIONS interface The FSM implements the Basic Call FSM.This is the The functions or methods that are overridden & the class, which handles & manipulates the call processing with Actions are: the aid of the FSM • OnHook( ) The public functions of this class are: Send CallTerminated to the other (opponent) set object • void startFsm( ) STATE == IDLE; This function is responsible for the start of the Basic Call SUB_STATE == NONE; FSM.It creates objects of all the classes present in the Remove the set object from the Hash Table; FSM. • OffHook( ) • void EventDispatcher(Sets handle , InterfaceMessage InvalidEvent (); iMsgHandle) • DigitsDialed( ) This function is responsible for the dispatching of the InvalidEvent (); events in the appropriate state handles. • Flash( ) • void printCurrentState( ) InvalidEvent (); This function is responsible for printing out in the • CallRequested( ) console the set object related information & also the call register related information for testing purposes.
  • 6. IV IMPLEMENTATION RESULTS & ANALYSIS Table 2: State Transition Matrix Authors STATE ESTA RINGI TERMI Mr.Hanumanthappa.J. has taken his birth in Harihar on 6-12-1975,which IDL DIALING BLISH NG NATED belongs to Davanagere (D).He has received his Bachelor of Engineering EVENT ED Degree in computer science and engineering from University B.D.T College of Engineering , Davanagere, Karnataka( S),India( C),which is ESTA affiliated to Kuvempu University , Shimoga in the year 1998 and DIALL Off- Hook InValid BLISH InValid InValid Master of Technology in cs & engineering from NITK Surathkal , ING Karnataka( S ), India (C) in the year 2003.He is currently ED pursuing his doctoral program from Mangalore university , Mangalore under the supervision of Dr.Manjaiah. D. H. under On- Hook Invalid IDLE InValid IDLE IDLE the title called “Security issues of IPv6”. Digits He is currently working as a LECTURER in Department of Studies in Invalid DIALLING Invalid Invalid Invalid Computer Science ,Manasagangothri, University of Mysore. He has presented Dialled 2 research papers in National and International Conferences in Network Call RINGI Engineering. Currently He is writing two Text books on Introduction to “C” Invalid Invalid Invalid Invalid and one more on Cryptography and Network security for computer science and Requested NG Engineering students. Call ESTABLIS InValid Invalid Invalid Invalid He is a Life member of CSI, ISTE,AMIE, IAENG, Embedded networking Accepted HED group of TIFAC – CORE in Network Engineering . Call Mr. Balachandra G.C is currently working as Invalid Invalid IDLE Invalid Invalid Terminated Lecturer in Tontadarya College of Engineering, Gadag. He received his Master of Technology in TimeOut Invalid Invalid IDLE Invalid Invalid Computer Science and Technology from DOS in Computer Studies, University of Mysore, Mysore in 2006. In the Year 1999 he completed his M..Sc Analysis (Electronics) from Karnataka University Dharwad. The above results are satisfying the requirement of He is having good Knowledge in computer Network; MGCP 1.0 standard, verified for all the command format of his area of interest is Network Security, Algorithms Data Structure and table 1.1. The webclient is a ‘Browser downloadable secured OOAD. Applet’ which can be downloaded from the web server and used to make VOIP calls with other similar webclients. Conclusion If we look at the development of media gateway control protocols from simple PSTN/VOIP interworking “enables” to complex media-specific applications, it is clear that the Media Gateway Control Protocols have an important role to play. Like IP centric conferencing and media-related application. The inherent client/server architecture of the protocol provides room for growth and possibilities of developing flexible, scalable applications. The decomposed gateway architecture greatly eases the problems of management and expansion. Future Enhancement The media-Oriented Design of the protocols provide the opportunity for better media management as multimedia conferencing media-rich application become a greater part of everyday life (IVR announcement servers, call centre application). New Package- such as a media server package that defines events and signals for controlling a media server. References [1] Arango, et al. Informational RFC 2705 Media Gateway Control Protocol (MGCP) 1999,2003. [2] Network Working Group, Cisco Systems Informational RFC 3661 B. Foster C. Sivachelvan 2003 [3] Data Communication and Networking 4e-Forouzan [4] Andrew S. Tanenbaum, Computer Networks., Fourth edition,2005. [5] Herbert Schildt Complete Reference Java 2 Tata McGraw Hill 2002 5e [6] E Balaguruswamy Programming with Java A Primer 2000 2e [7] http://www.voip-info.org/wiki/index.php?page=VOIP+phone [8] http://www.ietf.org/rfc.html [9] http://wwwprotocols.com/pbook/voipfamily