Thursday, December 15, 2011

Monday, December 12, 2011

Annual Mobicents Conference - 2011 - Sochi, Russia

Concluded another wonderful Mobicents conference at Sochi, Russia. This time it was biggest every participation from community and customers, each presented about their projects/products and how they leveraged mobicents platform. Thanks to every one for joining and making this experience rich! A big thanks to Oleg who made immaculate arrangements!

It was sad announcement from Rob Cardwell (JBCP Product Manager, RedHat) about sunsetting JBCP. However no surprise here as it was already communicated to existing customers sometime ago.

Like after every sunset is sunrise, TeleStax is born to take care of development, support, training and consultancy around Mobicents. It will be wrong to refer TeleStax as startup, as the founders were working on Mobicents at RedHat and resigned few months ago to keep focusing on Mobicents and take it to next level.

The conference started on 5th December with introduction round and then Ivelin presenting about Transitioning Mobicents leadership from RedHat to Telestax. Below is the agenda

Note : I will keep adding link to pictures and presentation as and when they are shared from respective guys

December 5th
  • Transitioning Mobicents leadership from Red Hat to new company - Ivelin Ivanov
  • Twilio Client and Cloud Communications - Jonas Borjesson, Twilio
  • Multi Modal Video Conferencing - Nick Semergey and Alex Vinogradov, Avistar - Codeminders
  • FOSS Telco Framework for Java Developers - Jason Goecke, Voxeo Labs
  • Mobicents Diameter in MEVEO Open Source Billing - Sébastien Michéa, Manaty (Unfortunately Sebastien couldn't make for conference due to visa issues, however Jean did the presentation for them)
  • Innovation with Mobicents at MTN - Amit Bhayani
  • Unified Cloud Communications for SMBs - Silvano Girardi Jr, Inphonex
  • Cool apps for Next Gen Intelligent Networks - Vilius Panevėžys, Elitnet
  • MVNO complexities - Dmitri, Atel

December 6th and 7th was for mobicents core team to present the roadmap and future of various projects within mobicents platform

December 6th

  • RestComm - Thomas Quintana
  • From SIP Servlets to TelScale - Jean Deruelle
  • SIP Load Balancing - Vladimir Ralev
  • Container independent failover framework - Jean Deruelle
  • CDI Telco Framework and Aquilian - George Vagenas

December 7th
  • TelScale SNMP and JMX management - Jean Deruelle
  • QE achievements, infrastructure review, frameworks, roadmap, expansion to community contributed resources - Luis Barreiro
  • Media Server theory, practice, cloud considerations, design discussion, roadmap - Oleg and Julian
  • JSLEE progress and roadmap - Eduardo Martins
  • Diameter progress, popular use cases, roadmap - Alexandre Mendonca, Bartosz Baranowski
  • SS7 progress, popular use cases, roadmap - Amit Bhayani, Sergey, Bartosz

December 8th was reserved for fun parts where the team visited Sochi downtown and walked on the shore of blacksea. Conference was hosted at Katerina Hotel located in picturesque Krasnaya Polyana which is approximately 40kms from Sochi Airport. If you want to spend some time away from hustle bustle of City, this is the place! However party animals cannot survive on this lonely place ;)

Already waiting for Conference 2012

Thursday, March 24, 2011

Mobicents SMPP 1.1.0.CR1 Released!

Here comes the new release of Mobicents SMPP 1.1.0.CR1!

The Mobicents SMPP stack is implementation of SMPP Version 5.0 Specifications.

This is follow up release of Mobicents 1.0.0.FINAL with following two minor fixes

Mobicents SMPP Home Page:

Where to download from?
The distribution can be found on

Source repositories:
SVN checkout

SVN Browsing

Looking forward to your feedback:

Mobicents Team.

Friday, October 8, 2010

Mobicents Face-2-Face meet Antalya Sept 2010

I have to start with big thanks to Eduardo for such a wonderful arrangement and choosing best location Antalya, Turkey! But still nothing beats Mobicents meet at Varna in 2007 :P

This was first ever Mobicents meeting where not only all team members were present but also accompanied by customers, community users and partners. What works better than having direct feedback from customers?

The meeting started with fun day where entire team went for white water rafting

The Chikens Team! As name given by Rafting Lead Suleman :)

Ok I will leave the fun part for end, lets talk about agenda

We have shared all the presentation here

Meetinig room with Ghost man Oleg presenting

Mobicents Media Server

The media server made a very good progress with its 2.x.y releases. Media is a very different beast where predictability matters more than the speed.

To achieve predictability we had to give away multi threading model too! The context switching consumed enough time to distort the quality of media. Even the MGCP Stack was modified to reduce number of threads used, switch to NIO and achieve highest performance ever such that controlling media server via MGCP doesn't hinder the media processing. We give away completely on Java Timers and wrote our own Scheduler from scratch to achieve precision of upto 1ms! The result was best performing media server ever with approx 300 concurrent bidirectional calls, almost zero jitter on simple hardware with 2GB RAM and Dual Core!!

The team made a very good progress from releasing first version 2.0.0.CR1 in March 2010 to 2.0.0.Final release in Aug 2010. However not everything we did in last 5 months went to stable quality. The RTSP support added in 2.0.0.Beta3 was revoked in 2.0.0.CR1 release as it was not correctly designed. Also we added the support for MBROAL TTS Speeches, however the TTS in general is still not very good quality.

Going ahead we will continue newer releases on 2.x.y version with more and more stability and better performance for everything related to Audio.

However for video the work has already begun on trunk which will be 3.x.y releases.

Download Mobicents Media Server presentation here

Mobicents Media Server - SS7

There is very good progress made on SS7 stack in last few months. The MTP layers are almost stable now and capable of handling multiple links. However we have reworked SCCP layer (should be available in next release) and instead of SCCP available as stack, will be deployed as service on JBoss AS. The higher layers can access SCCP via JNDI look-up.

Also the M3UA is re-designed and now uses the UDP behaving as SCTP instead of TCP as designed initially. But we sucked majorly on the several release dates and various release were behind the original deadlines. Nothing is perfect ;)

The roadmap is to stabilize existing layers MTP, SCCP, TACP, ISUP and MAP. Complete the ISUP RA and test with DS0 endpoint in Mobicents Media Server.
Also try to implement SMPP and HTTP layer's for USSD Gateway Application and make it stable quality.

Download Mobicents Media Server SS7 presentation here

The every day in Mobicents face-to-face meet ends with party at night.

Fun part

Team playing pool's

//TODO : Will add more once Bartek shares the snaps :P

Friday, September 17, 2010

Log4j observation and best practice

Just today I realized that setting the Threshold value for logging level at appender has no effect on checking if lower levels are enabled for particular category.

For example consider the log4j.xml config file as shown below

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j=""
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<param name="Threshold" value="INFO" />

<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />

<!-- A time/date based rolling appender -->
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="../log/server.log" />
<param name="Append" value="false" />
<param name="Threshold" value="INFO" />
<layout class="org.apache.log4j.PatternLayout">
The default pattern: Date Priority [Category] (Thread) Message\n
<param name="ConversionPattern" value="%d %-5p [%c{1}] (%t) %m%n" />

The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
<param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x)

<category name="">
<priority value="INFO"/>
<category name="">
<priority value="TRACE"/>

<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />


And in class I have a check

if (logger.isTraceEnabled()) {
logger.trace("Receive " + packet);

What would you expect the 'isTraceEnabled()' to return? false? I too assumed same. But I was wrong. It returns true. So log4j will still create StringBuffer and appends objects to it to create the log statement and call .toString() on StringBuffer only to realize the appender has Threshold logging level higher than TRACE and it will drop this log message :(

So setting Threshold value only doesn't help in production environment. Make sure that you change logging level of individual Category too.

Sunday, September 12, 2010

Mobicents Face-2-Face 2010 at Antalya, Turkey from 24th Sept to 30th Sept

Its time of the year when Mobicents developer from across the world meet at one common place and brain storm on road-map for next year, achievement of past year, experiences, prospects etc. The annual Mobicents Face-2-Face was only for team members till now, but like true Open Source Spirit we have opened this meeting to all users, partners, or even non-users who wants to participate and get the understanding of Mobicents Project and how core team functions. We already have three partners visiting this meeting for this year.

However its not as boring as it sounds. Every evening after hectic day the team visits the best and lively attraction of the city and freaks out, sometimes till next day morning! Don't believe me? Look at blogs and picture from last year meeting

The meet is happening at Antalya, Turkey from 24th Sept 2010 to 30th Sept 2010. If interested in participating follow the public post

Hope to see you guys @ Antalya :)