Monday, December 22, 2008

Media Gateway Control Protocol Stack Performance improved


Media Gateway Control Protocol (MGCP, RFC 3435 and JSR 23: JAINTM MGCP API Specification) is the only piece as of now that connects the Mobicents Media Server (MMS) and remote application and hence the performance of MGCP stack is crucial for MMS to be called as GA (Stable). Before MMS CR4 is released, the team is doing everything possible to make MMS performance reach the magical figure. In attempt MGCP stack was also scrutinized for every little details, tweaked and modified to bring it upto the mark. And voila! MGCP stack performance test showed 175 CPS on my Dell D630 Laptop which has 4GB RAM and Linux OS.

Above shown is the images of test scenario that shows through put in number of calls completed per second.

The flow of message (equivalent to one call) in test is

Call Agent (CA) <------------> Media Gate Way (MGW)

CRCX ------------>
<----------- CRCX Response RQNT ------------>
<----------- RQNT Response DLCX ------------>
<----------- DLCX Response While this may not be the flow of every MGCP cycle in real world, but covers the most generic scenario. The test is available at http://code.google.com/p/mobicents/source/browse/#svn/trunk/servers/media/controllers/mgcp/mgcp-stack/src/test/java/org/mobicents/mgcp/stack/test/concurrency

Steps to execute test
  1. checkout the code from http://code.google.com/p/mobicents/source/browse/trunk/servers/media/controllers/mgcp/mgcp-stack/ and execute 'mvn install' from mgcp-stack directory
  2. Modify the /mgcp-stack/ant-build-config.properties to point to correct jar file's
  3. Start the MGW by executing command 'ant mgw' from /concurrency folder
  4. Start the CA by executing command 'ant ca' form /concurrency folder
By default the number of MGCP calls(cycles) the test will execute is 10000 (look at NDIALOGS parameter of CA.java) and the concurrent cycles is capped at 100, look at MAXCONCURRENTCRCX parameter of CA.java

Next in-line is measuring and improving performance of MGCP Resource Adaptor.

Friday, November 21, 2008

Performance of Mobicents Media Server 1.0.0.CR3


Yesterday I did a performance test of Mobicent Media Server 1.0.0.CR3 on my laptop (Dell D620, Dual Core, 2GB RAM) with server and mms load test client running on same machine. The test was made for 50 concurrent announcements of an average length of announcement 3.74 Seconds. The codec used by UA test client was G711 A-law. The test lasted for 34487595 seconds or 9.58 hours (I stopped test and machine after this as I wanted to move to office ;) ). Number of announcements completed were 231202 out of which only 292 failed which means failure rate of 0.1262 %. The number of successful announcement were 231198. The load on CPU was on an average 60%. This indicates that max load on MMS can be further increased and hence more concurrent announcement

If we calculate the Erlang Number based on this statistics 3.74 (avg announcement in sec) * 231202 (completed announcement ) * 1000 (convert to milli sec ) / 34487595 = 25E. The call set-up and tear down takes time. The signaling used was MGCP stack on client/test tool side and MGCP RA + mgcp-controller-sbb on MMS server side.

These are definitely much better numbers compared to what MMS was capable of before CR3 release.

Performance is always relative to what you are trying to achieve. Its directly proportional to environment, application and fine tunning in addition to what one is trying to measure. Try the MMS performance in your environment, the load test tool is available at http://code.google.com/p/mobicents/source/browse/#svn/trunk/servers/media/test-suite

Soon we will execute load test on actual server and expecting the numbers to be much greater than reported here ... stay tunned!

Saturday, November 15, 2008

A week at MTN, Nigeria


Just finished a four day JBCP training at MTN, Nigeria. This was getting delayed for quite sometime and finally I had an opportunity to meet the brightest of guys. It was really fun spending four days with this team and class was very interactive with lot of questions & answers and brainstorming. The best part is this training made everyone of us rethink the power of open source and how quickly one can implement the services and go to market in jiffy. I learned that Nigerian's love to talk and most of operators revenue still comes through voice calls, but with intense competition in the region VAS is what will separate a winner from rest. Learned that there are more than 8 operators in Nigeria .. wow that's a big number for a country of approximately 140 Million people! Convergence is the key! They have many interesting ideas in development and will go live soon.

Friday, October 3, 2008

Mobicents Metamorphosis

The mobicents team meet at Munich on 16th September 2008 to discuss about the road map. Mobicents has transformed from just a JSLEE server to a multi dimensional Telco middle-ware platform in very short span of time, to be precise 1 year. The 5 days face to face meet with all the core developers produced quite useful discussion on how to proceed with various standards on Telco middle-ware. All the roadmap's and presentations are recorded at http://groups.google.com/group/mobicents-public/web/mobicents-dev-team-meeting---munich-september-2008

Just to give the gist on road map for each of the products


Mobicents JAIN SLEE Server
  • Release JSLEE 1.2.0.GA (full implementation of JSLEE 1.0 Specs)
  • Attack JSLEE 1.1 and pass TCK for JSLEE 1.1
  • Port to JBoss AS 5.0
  • High Availability with Fault tolerance. This will be implemented using the JBoss Cache 3.x
  • JBoss Operations Network plugin for easy administration of JSLEE server from JON Console

Mobicents Sip Servlets Server
  • Mobicents Sip Servlet has already passed JSR 289 TCK. And more over it has High Availability (mid call failover) already implemented
  • Implement the Diameter for Sip Servlets
  • Improve on performance
  • Interoperability of JSLEE RA with Sip Servlets to achieve seamless integration of two technologies


Mobicents Media Server
  • Release 1.0.GA with better performance numbers
  • Implement JSR 309
  • Implement Video capability for MMS
  • Modularize the MMS Core to allow custom implementation of Processors, Codecs, Mixers etc
  • Full fledge Console for administration of MMS and also JON Plugin

Mobicents Sip Presence Server
  • Resource List Server that handles subscriptions to sip resource-lists

In addition there were also discussion's on Diameter Resource Adaptor and road map.

No project is widely accepted without proper documentation and hence there was a details discussion on how to proceed with doco part.

Follow Ivelin's blog for further details http://ivelinivanov.blogspot.com/2008/09/mobicents-2008-core-team-meeting.html

Wednesday, July 9, 2008

Tested my SIP enabled mobile phone with Mobicents Server


Today I tested my SIP Enabled Nokia N95 phone with mobicents JAIN SLEE server. It was amazing how easily it integrated with Mobicents and the voice quality was on par with my service provider. Here are the steps in case you too want to give it a try

  1. Start mobicents server and bind it to your actual IP address
  2. Deploy SIP RA
  3. Deploy the sip-services with initial invite as true

Nokia N95 settings

  1. Go to Tools -> Settings --> Connection --> SIP settings
  2. Create a new profile
  • Profile : User1
  • Service Profile : IETF
  • Default access point : your WiFi access point
  • public user name : sip:user1@nist.gov
  • Use Compression : No
  • Registration : Alway on
  • Use Security : No
  • Proxy Server
  • Proxy server address : sip:192.168.0.102 (My mobicents server was bound to 192.168.0.102)
  • Realm : user1
  • username : user1
  • password : user1 (doesn't matter actually)
  • Allow loose routing : yes
  • Transport type : UDP
  • Port : 5060 (The SIP RA is listening at this port. This could be 5070 for you if 5060 is blocked)
  • Registrar Server:
  • Registrara server address : sip:192.168.0.102
  • Rest of it same as proxy Server.

The other SIP UA that I used were Twinkle and XLite.

The only caveat is you don't have the WiFi at all the places ;0)

Tuesday, May 20, 2008

JAIN SLEE / SIP Servlet becoming obvious choice

Recently one of the Indian ISV's MoBitE Technologies started providing consultancy on JAIN SLEE. If you visit Mobicents Partners pages, it already lists 4 companies around the globe who is working on Mobicents suite of products.

The Operators are getting aggressive on their plan of embarking on Next Generation Network and JAIN SLEE becomes the obvious choice. While Mobicents/RedHat provides the infrastructure, Mobicents Partners can provide the development help to Operators. Mobicents is increasing its range of products from core JAIN SLEE Server, SIP Servlet Server, Media Server, XDM Server and now the latest addition is Presence Server. With so many products and many standards it makes sense to involve the experts who understands the products better. The RedHat ISV Partnership program makes sure that these partners are up-to the mark and end customers can rely on them.

Sunday, April 20, 2008

Mobicents is now maven'ized

Mobicents team has mavenized all their code including Mobicents SLEE Server, Sip Servlet Server, Media Server, XDM Server and all the examples. This could be a bit painful for users who are deep into ant and never looked at maven before. However once you start using it you will realize the power of maven and will understand the principle of maven of managing a project's build, reporting, doccumentation from a central piece of information known as pom.xml

For beginners look at link http://maven.apache.org/users/index.html

I have briefly looked at book Better Builds with Maven and can recommend for starters.

Monday, March 24, 2008

Review of book 'Internet Multimedia Communications Using SIP'

Last week I completed book Internet Multimedia Communications Using SIP from Rogelio Martinez Perea. This book is definitely recommended for beginners trying to learn SIP, even veterans can clarify their doubts using this book. The book points to all the RFC and JSR's where ever applicable and hence acts as good reference. Book refers to Mobicents as open source implementation of JAIN SLEE and NIST SIP stack as implementation of JAIN SIP. In fact all the examples are built using the JAIN SIP stack and Java Media Framework (JMF) for media. This shows how Open Source is making an impact in VoIP world :)

The part that I felt could be improved is the explanation of SIP Transaction Sub Layer.

Friday, February 29, 2008

Presentations on Mobicents and JAIN SLEE

The Converged Application presentation at JBoss World 2008 is now uploaded, follow the link http://www.jbossworld.com/downloads/pdf/friday/2-25_NEW_Web_2_and_Communications_Building_Converged_Applications_Amit_Bhayani_JBoss.pdf

The JAIN SLEE presentation at IndicThreads Conference 2007 (Video) is uploaded, follow the link
http://www.indicthreads.com/videos/1157/java_jslee_j2ee_voip.html

Sunday, February 24, 2008

JBoss World 2008 - Orlando, Florida

This JBW event was the biggest in JBoss history with 700+ attendees from all over the world and fortunately this was the first one that I too got a chance to attend. I was also a speaker for Mobicents technology. The presentation 'Web 2.0 and Converged Application' would be uploaded soon http://www.jbossworld.com/downloads/presentations/. It was fun to meet all the JBoss developers, but the most exciting part was to meet most of the team members of Mobicents


The Mobicents Team!!

Left to right

Alex, Bartek, Luis, Eduardo, Vladimir, Amit and Jean





We are already 9 in Mobicents team and have out numbered any other individual team within JBoss. Quite a few guys were surprised to know that Mobicents has such a big team! But what they don't realize is Mobicents has number of sub-projects which in itself is huge. Here is the list

  1. Mobicents Core – SLEE implementation

  2. Sip Servlets implementation

  3. XDM Server

  4. Media Server

  5. There are number of Resource Adaptors

  6. Mobicents Management Console

  7. Eclipse IDE Plugin

The speech on 'Web 2.0 and Converged Application' was good, specially the Convergde Demo at the end excited the attendees! There is definitely a paradigm shift with introduction of Open Source implementation of JAIN SLEE (Mobicents).