Tuesday, November 24, 2009

Enablers and SCIMs for IMS

Services architecture in NGNs
With the advent of realtime Internet applications especially in the mobile domain and the proliferation of social networking platforms like Facebook, MySpace and Skype, operators are finding themselves in difficult terrain. Not only have revenues decreased from voice calls and text messages due to VOIP and chat services, but now their networks are being degraded to the status of "bit pipes" for access third party services. These services are normally free or are being offered for a nominal prices, and thus their popularity. Thus operators have to come up with advanced services to entice customers to stay within their "walled gardens".

Next generation networks that are now be rolled out by the majority of operators in Europe and America such as the IMS are three tiered architectures separating the access, control and application layers (ASs), with services being deployed through application servers located in the upper layer. Criteria known as initial filter criteria (iFC) are used by the Service Call Session Control Function (S-CSCF) in conjunction with user profile information obtained from the Home Subscriber Server (HSS) to direct user requests to the targeted AS. This type of interaction is summarised in the diagram below:

Sh is the Diameter protocol
ISC is SIP
Cx is Diameter protocol
Ut is XCAP


Towards enablers for NGNs 
This monolithic way of service provisioning in the IMS works for some cases, but is based on predictable rules and does not cater for dynamic conditions such as date and time or some result that can only be determined at runtime, that may be interesting to incorporate in the service model.

Organisations such as the Open Mobile Alliance (OMA) and the 3rd Generation Partnership Project (3GPP) are also radically changing the way in which services are being developed in such networks. These organisations are defining and standardising basic technologies that exist in the network and can be re-used among several different applications. These are called service enablers by the OMA and service capabilities by the 3GPP. We will call them enablers here for simplicity. Examples of enablers include presence, conferencing and instant messaging.

This move will eliminate redundancy in the application domain and will make the development of services quicker and easier. Developers will no longer need to have intimate understanding for example of the SIP Presence specification, but will simply need to use easy APIs exposed by the presence enabler to manipulate presence information. Not only this, but the use of enablers can also help operators provide complex and interesting services such as multi-player gaming and multi-party multimedia conferencing by pooling the enablers together to provide such services.

In order to provide complex service, some node in the network is required which is able to handle the interaction between and dynamic interleaving of these enablers. A special group in the 3GPP was setup that would investigate the architecture of such a node. The name service broker (SB) or service capability interaction manager (SCIM) was given to this node. It was suggested that the SCIM would sit between the ASs and the S-CSCF. The figure below shows the modified services architecture of the IMS, with the SCIM included.


1. ISC interface (SIP) is used between the SCIM and the S-CSCF

2. ISC interface is used between the SCIM and the ASs
3. The ISC interface is used between different SCIMs in the network


In general, the SCIM must be able to perform service interaction management through interaction logic that tells it how to coordinate between different enablers and which enablers to invoke and at what time. As yet, there is no technical specification that details the exact operation of this node, and so there is a need for experimentation in this area.



Monday, November 2, 2009

Demo at the DTI Awards in Cape Town - Part 2

We have returned two weeks ago from the DTI (Department of Trade and Industry) awards. As I alluded to earlier, Rhodes University was nominated by the THRIP (Technology and Human Resources for Industry) programme under the Research Collaboration category. Fortunately, we won!.
Preview
We are now releasing the code that we demonstrated at the DTI Technology awards. As you may recall from part 1, we modified the Mobicents Converged Demo that currently allows users to purchase furniture off a SEAM-powered website, to allow users to browse for and purchase videos instead. We put in an added feature that allows users to view the trailers of the movies on their RTSP-enabled SIP phones. As a client, we used a version of the JAIN SIP Applet phone  and added Gstreamer-Java libraries to it, to support RTSP streaming from a Darwin streaming server.

You can grab the code from my site, which includes the JBOSS server with pre-built binaries, Mobicents Media Server (MMS) sources for the Converged Demo, the modified JAIN SIP Applet phone and some videos to try out.

In addition to the screenshots we showed last time, we have also put up a video of the program in action. Note that this is work in progress, and we will be updating the service in the coming weeks and months - we have huge plans for it! Firstly, we want to remove Darwin and replace it with MMS RTSP stack [nudge to Jean ;-)]. We also want to add buddy lists and IM abilities. We would also incorporate policies and XCAP support. From there, the sky is the limit.

Hope folks enjoy it. Cheers!





Setting up at the hotel before the throw down :-)


The demo is coming together nicely ...


 The demo and the boys behind it, minus the guy with the cam :-)


The award for Research collboration awarded to the COE (Center of Excellence) at Rhodes

Sunday, October 18, 2009

Demo at the DTI Awards in Cape Town

We have been experimenting with the Mobicents platform for a while now and recently our attention was drawn to the Mobicents Converged Demo. As it stands, the demo shows how you can use the JBOSS Seam framework to hook into the SIP functionality in Mobicents to order products off a web page.

Seam is quite powerful and we saw the potential in the system to do some pretty sweet stuff. We had the idea of using the Converged Demo to allow users to order videos, with the added option of viewing trailers on their devices. Ideally, it would be a community portal, allowing users to subscribe to use the service, define their target devices, and communicate with each other over what they are viewing.

We are planning on integrating contact lists and presence using SEAM + Mobicents Presence service. The system would be transparent as to whether the user is on their mobile phone or on the website itself, and when users order movies, their buddies in their contact lists would get notified via instant message using SIP, or SMS via SMPP. Obviously, XCAP policies would be used to tweak the rules for this.

We played around quite a bit with media services, osculating between JMF, Mobicents Media Server (MMS), Darwin streaming server and VLC. We eventually settled on Darwin for streaming, though we are aware that MMS now has an RTSP stack out. As a client, we initially went for the UCT IMS client due to its ability to support SIP reinvites (needed for re-negotiating and asking for an RTSP address) and its RTSP abilities (courtesy of gstreamer).

UCT IMS is a great piece of software and Open IMS Core is a powerful platform, but for our purposes, it lead to a complex setup. Recently we have scrapped UCT and Open IMS Core, for a straight SIP route. The JAIN SIP Applet phone (for which I am co-project manager) seemed a likely candidate for this, but we had to add some code to make it behave properly. For media, we found that JMF wasn't very reliable with RTSP, so we added gstreamer-java libraries to support this. In addition, we added some code to do the re-invite as well.

We have some screenshots below that show the system in action. This is still work in progress, and we have a team of only 4 programmers working on it, but we're happy with what we have so far, and will be showing off the system in Cape Town next week at the DTI (Department of Trade and Industry) Awards ceremony, where our department had been nominated for the "Research and Collaboration" category. Wish us luck :-)


JAIN SIP Phone registering with Mobicents SIP Server

 We modified the interface of the JAIN Phone to have a panel that embedded a keypad in addition to a buddy list that it had before. We also added DTMF events (SIP INFO) to the buttons. Above we see the phone registering with Mobicents SIP Server successfully.


Diagnostic video screen to grab channels from the RTSP server

We added a diagnostic panel accessible via the menu that allowed us to statically define channels that are hosted on the RTSP server. We have 8 channels in total, and can switch between them using the combo box. Gstreamer is used here to provide the video ability.


One of the videos offered on the system including a synopsis. Notice the View Trailer button ;-)

Each video has a summary page which is seen above. The user can proceed to add the video to the cart, or to view the trailer first.


User viewing a trailer on their phone

Above we see what happens when a user opts to view the movie trailer. An announcement is played prompting the user to press the call button. This event is captured by Mobicents, and an RTSP address is returned to them. We strip the address from the response, and display the movie using gstreamer. As an aside, I liked Brad Pitt in this movie :-)

So there we go, the beginnings of something cool we are working on. We will be releasing the product by posting the JBOSS server including binaries as well as the modified Media server to the Mobicents community very soon, after we have cleaned out the code and got some feedback from the demo at the event. Probably next weekend. We're looking forward to sharing something that hopefully will be appreciated by everyone. Cheers!