 |
-- Main.hoichin - 07 Jul 2006
WORK IN PROGRESS The MSCML RA is not available for download yet.
MSCML Resource Adaptor interface to SnowShore (Cantata formerly Brooktrout) media server
Any major service deployment will require media interactions. For example:
- Play announcements to subscribers
- IVR interaction
- Conferencing (voice / video)
- IMS environment (MGF, MRFP)
The MSCML protocol is specific to SnowShore, if another media server is required (Convedia) this RA could be adapted to support this as well.
This resource adaptor would support MSCML over SIP to control a media server acting as a slave to mobicents. Possible design consideration for pooled media servers to support load balancing of media servers.
Cantata provides a free 2 port media server for download. Also MSCML development is royalty free.
MSCML
As a quick primer, the Media Server Control Markup Language uses SIP to communicate with media server. MSCML supports Basic Network Media Services with SIP. In addition XML payload is included to provide advance media server control.
Resource Adaptor Design
- General Design: Provide a simple request & response model, where Sbb would issue a request event to MSCML RA. The RA would in turn deal with interactions with media server (i.e. send INVITE, ACK). On successful completion of request a success response would be sent back to the SLEE. If something went wrong, then a failure response is sent back.
- Multiple RA using JAIN SIP stack
- sipra: At deployment, the SIPRA and MSCMLRA will most likely be deployed on the same JSLEE. This presents a problem having two RAs use the same JAIN SIP stack. This has been talked about in form (http://forums.java.net/jive/thread.jspa?threadID=14928&tstart=15). One possible work around is to call SipFactory.resetFactory() and then create a new SipProvider using a different ListeningPoint(newport, transport). This way a new sip stack is created using a different listening point having a different port.
Alternate Design
Another approach, create SBBs that perform MSCML requests to media server and uses the default SIP RA. One reason to use this approach is to get around the "Mulitple RA using JAIN SIP stack" issue.
|