| Media Gateway (MG) StackDescription: OpenSS7 Project Manual Pages Media Gateway Switching StackMG(4) provides an introductory manual page for MG Switching stack components and interfaces. You can also select one of the component or interface sections from the diagram below:
ComponentsThis section provides a roadmap to Manual Pages for Voice over IP (VoIP) Stack Manager (VoIP SM). This section provides a roadmap to Manual Pages for Media Gateway (MG). This section provides a roadmap to Manual Pages for Media Gateway Control (H.248/MEGACO). Media Gateway Control Protocol (MGCP) This section provides a roadmap to Manual Pages for Media Gateway Control Protocol (MGCP). This section provides a roadmap to Manual Pages for Multiplex/Channel (MX/CH). Real-Time Transport Protocol (RTP) This section provides a roadmap to Manual Pages for Real-Time Transport Protocol (RTP). MGISection: Media Gateway Interface (MGI) (7)Updated: 2008-10-31 Index Return to Main Contents NAMEmgi - Media Gateway InterfaceSYNOPSIS#include <ss7/mgi.h>
DESCRIPTION
MGI specifies an interface that supports the services provided by the Media Gateway Control Protocol (MGCP), mgcp(4), ITU-T H.248.1 Media Gateway Control (MEGACO), h248(4), and local media switching using the Media Gateway drivers, mg(4). See MG(4) for a description of appropriate drivers and auxiliary modules. These specifications are targeted for use by developers and testers of protocol modules that require media gateway control service. The Media Gateway Control LayerThe Media Gateway Control Layer provides the means to manage the connection and disconnection of channels (or termination points) within multi-party communications sessions. It is a local control protocol in the sense that there are no remote peers entities. Communications is between the local user entity and the local provider entity only. Model of the MGIThe MGI defines the services provided by the media gateway control layer to media gateway controller at the boundary between the media gateway control layer and the media gateway controller entity. The interface consists of a set of primitives defined as STREAMS(4) messages that provides access to the media gateway control layer services, and are transferred between the MGC (MGS user) entity and the MG (MGS provider) entity. These primitives are of two types; ones that originate from the MGC, and others that originate from the MG. The primitives that originate from the MGC make requests to the MG, or respond to an indication of an event of the MG. The primitives that originate from the MG ar either confirmation of a request or are indications to the MGC that the event has occured. The MGI allows the MG to be configured with any media gateway controller (such as ISDN or H.225.0 call control) that also conforms to the MGI. A media gateway controller can also be a user program (such as the OpenSwitch call framework) that conforms to the MGI and accesses the MG via putmsg(2) and getmsg(2) system call.s
Tables 1, 2 and 3 summarizes the MGI service primitives by their state and service. MGI SERVICES DEFINITIONThe MGI services are categorized as Local Management Services, Session Services, Connection Services, Action Services, Event Services or Media Services as follows: Local Management ServicesThe media gateway provides the following local management services: Information Serivce The information service provides the media gateway controller with the ability to query the media gateway concerning options and parameters specific to the media gateway and associated with attached multiplex and channels. The information service uses the following primitives:
Options Management Service. The options management service provides a mechanism whereby the media gateway controller can query and change parameters associated with the attached channels and manage options associated with the media gateway. The options management service uses the following primitives:
Channel Attachment Service. The channel attachement service provides the media gateway controller with the ability to attach a specified channel to a participant slot in the session associated with the requesting stream. The channel attachement service uses the following primitives:
Channel Detachment Service. The channel detachment service provides the media gateway controller with the ability to detach a specified channel from a participant slot in the session associated with the requesting stream. The channel detachment service uses the following primitives:
Receipt Acknowledgement Service. The receipt acknowledgement service provide an indication to the media gateway controller of the positive or negative acknowledgment of the previous primitive issued by the media gateway controller requiring local acknowledgment. The receipt acknowledgment service uses the following primitives:
Session ServicesThe media gateway provides the following session services: Session Join Service. The session join service provides the media gateway controller with the ability to add a participant to the session associated with the requesting stream, or any other session under the control of the media gateway. The session join service uses the following primitives:
Session Leave Service. The session leave service provides the media gateway controller with the ability to remove a participant from the session associated with the requesting stream, or any other session under the control of the media gateway. In addition, it is possible that an autonomous exit from a communication session occurs without the request of the media gateway controller. In this case, the session leave service is used to indicated to the media gateway controller that an autonomous exit from the communications session has occurred. The session leave service uses the following primitives:
Connection ServicesThe media gateway provides the following connection services: Media Connection Service. The media connection service provides the media gateway controller with the ability to connect a channel in the receive and/or transmit directions within a joined session. The media connection service uses the following primitives:
Media Disconnection Service. The media disconnection service provides the media gateway controller with the ability to disconnect a channel from the receive and/or transmit directions within a joined session. In addition, it is possible that an autonomous disconnect from a communications session occurs without the request of the media gateway controller. In this case, the media disconnection service is used to indicate to the media gateway controller that an autnomous disconnect from the communications session has occured. The media disconnection service uses the following primitives:
Action ServicesThe media gateway provides the following action services: Termination Point Action Service. The action service provides the media gateway controller with the ability to perform a specified action on a specified channel within a joined session. The termination point action service uses the following primitives:
Termination Point Action Abort Service. The action abort service provides the media gateway controller with the ability to abort a previously invoked action on a channel associated with a joined session. The termination point action abort service uses the following primitives:
Event ServicesThe media gateway provides the following event services: Termination Point Notification Service. The event service provides the media gateway with the ability to indicate to the media gateway controller when an event has occurred. The termination point notificiation service uses the following primitives:
Media ServicesThe media gateway provides the following media services: Data Transfer Service. The data transfer service is used by the media gateway controller to request the transmission of session media data on the specified channel within a joined session. It is also used by the media gateway to indicate the reception of session media data on the indicated stream. The data transfer service uses the following primitives:
OPTIONStypedef struct MG_channel_opt { ulong mg_obj_type; /* always MG_OBJ_TYPE_CH */ ulong mg_obj_id; /* channel id */ ulong ch_type; /* channel media type */ ulong ch_flags; /* channel media options flags */ ulong ch_block_size; /* data block size (bits) */ ulong ch_encoding; /* encoding */ ulong ch_sample_size; /* sample size (bits) */ ulong ch_rate; /* clock rate (Hz) */ ulong ch_tx_channels; /* number of tx channels */ ulong ch_rx_channels; /* number of rx channels */ ulong ch_opt_flags; /* options flags */ } MG_channel_opt_t; typedef struct MG_connleg_opt { ulong mg_obj_type; /* always MG_OBJ_TYPE_LG */ ulong mg_obj_id; /* channel id */ ulong lg_type; /* conn leg media type */ ulong lg_flags; /* conn leg media options flags */ ulong lg_block_size; /* data block size (bits) */ ulong lg_encoding; /* encoding */ ulong lg_sample_size; /* sample size (bits) */ ulong lg_rate; /* clock rate (Hz) */ ulong lg_tx_channels; /* number of tx channels */ ulong lg_rx_channels; /* number of rx channels */ ulong lg_opt_flags; /* options flags */ } MG_connleg_opt_t; typedef struct MG_session_opt { ulong mg_obj_type; /* always MG_OBJ_TYPE_SE */ ulong mg_obj_id; /* session id */ ulong se_type; /* session media type */ ulong se_flags; /* session media options flags */ ulong se_block_size; /* data block size (bits) */ ulong se_encoding; /* encoding */ ulong se_sample_size; /* sample size (bits) */ ulong se_rate; /* clock rate (Hz) */ ulong se_tx_channels; /* number of tx channels */ ulong se_rx_channels; /* number of rx channels */ ulong se_opt_flags; /* options flags */ } MG_session_opt_t; #define SEF_INTERWORKING 0x01 /* encoding interworking */ #define SEF_CONFERENCING 0x02 /* conferencing in effect */ #define SEF_CLEARCHANNEL 0x04 /* clear channel enforced */ typedef union MG_options { struct { ulong mg_obj_type; /* object type */ ulong mg_obj_id; /* object id */ } obj; struct MG_channel_opt ch; /* channel options */ struct MG_connleg_opt lg; /* conn leg options */ struct MG_session_opt se; /* session options */ } MG_options_t; #define MG_SE_OPT_AUTO_GAIN_CONTROL 0x01 /* perform Automatic Gain Control */ #define MG_SE_OPT_LIMITING 0x02 /* perform limiting */ #define MG_SE_OPT_COMPRESSION 0x04 /* perform compression */ CAVEATSThis documentation is not complete and needs some work before it is finalized. FILESThe Media Gateway Interface (MGI) is defined in the <sys/mgi.h> and <sys/mgi_ioctl.h> header files. Additional header files are specified by specific providers of the MGI interface. DEVICESThe Media Gateway Interface (MGI) does not provide any devices of its own. Specific providers of the interface will provide their own devices. MODULESSome generic STREAMS(4) modules can be provided that convert between the MGI interface and other interfaces (such as the CHI). SEE ALSOMG_ABORT_REQ(7), MG_ACTION_CON(7), MG_ACTION_IND(7), MG_ACTION_REQ(7), MG_ATTACH_ACK(7), MG_ATTACH_REQ(7), MG_CONN_CON(7), MG_CONN_REQ(7), MG_DATA_IND(7), MG_DATA_REQ(7), MG_DETACH_REQ(7), MG_DISCON_CON(7), MG_DISCON_IND(7), MG_DISCON_REQ(7), MG_ERROR_ACK(7), MG_INFO_ACK(7), MG_INFO_REQ(7), MG_JOIN_CON(7), MG_JOIN_REQ(7), MG_LEAVE_CON(7), MG_LEAVE_IND(7), MG_LEAVE_REQ(7), MG_NOTIFY_IND(7), MG_NOTIFY_REQ(7), MG_OK_ACK(7), MG_OPTMGMT_ACK(7), MG_OPTMGMT_REQ(7). VERSIONSThis manpage was written for MGI Version 1. REFERENCES
TRADEMARKS
Other trademarks are the property of their respective owners. IDENTIFICATION
Copyright©1997-2008OpenSS7 Corp.
All Rights Reserved.
Index
This document was created by man2html, using the manual pages. Time: 05:39:56 GMT, November 12, 2014 | |||||||||||||||||||||
Last modified: Thu, 30 Nov 2006 15:29:10 GMT Copyright © 2014 OpenSS7 Corporation All Rights Reserved. |