JBoss.orgCommunity Documentation
The example is designed to demonstrate the usage of JAIN MGCP API including the MGCP RA. At the same time it also demonstrates various features/capabilities of Mobicents Media Server. MGCP messages are transmitted over UDP. Commands are sent to IP addresses defined in the domain for the endpoint. The responses are sent back to the source address (i.e., IP address and UDP port number) of the commands. The domain name specified for Endpoint can include port number as colon separated value. For example 122.64.4.108:2427
When no port is specified for the endpoint, the commands by default is sent:
by the Call Agents, to the default MGCP port for gateways, 2427.
by the Gateways, to the default MGCP port for Call Agents, 2727.
The MGCP RA bounds the MGCP Stack to IP address and Port specified for jain.mgcp.IP_ADDRESS, jain.mgcp.PORT properties in resource-adaptor-jar.xml for MGCP RA. For further details looks at MGCP RA Documentation.
The Example is composed of 3 Services.
First Service is composed of CallSbb as parent/root listening for SIP INVITE as initial event. IVRSbb, RecorderSbb and TTSSbb are its children.
Second Service is composed of only ConferenceSbb acting as root. Its listening for SIP INVITE too and has lower priority than above Service.
Third Service is composed of only ConfLegSbb acting as root. Its listening for Custom Event fired by ConferenceSbb when the first participant joins the Conference.
CallSbb listens for incoming SIP call and depending on To field of INVITE it creates respective child; Child does further processing of SIP Message.
2010 : If user dialed 2010, IVRSbb child is created. As name suggest IVRSbb is responsible for playing announcement to user and listening for DTMF inputs from user. Depending on which DTMF is dialed by user, corresponding announcement is played again.
2011 : If user dialed 2011, RecorderSbb child is created. As name suggest RecorderSbb is responsible for recording user's voice and playing it back after 30 seconds.
2013 : If user dialed 2013, TTSSbb child is created. TTSSbb sends the text to Mobicents Media Server (MMS) and MMS plays back the speech corresponding to this text to user.
ConferenceSbb is responsible for maintaining Conference. User gets connected to Conference endpoint by dialing 2012 from SIP Phone. If this is the first User joining Conference, ConferenceSbb fires Custom Event that is consumed by ConfLegSbb. Multiple users can dial 2012 and get connected to same Conference endpoint and participate in conference call.
ConfLegSbb is acting as one of the automated leg of Conference. As soon as conference is initiated, this leg of conference will start a back ground music so even if there is only one participant in conference he/she can listen to music that verifies Conference has started.
As explained earlier, the main purpose of this demo is to make developers understand how to use the MGCP API and MGCP RA. Once there is clear understanding of MGCP API and RA, the business logic can be written as required. Let us go to Section 4, where MGCP usage from respective SBB is explained.