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!



