Monday, October 11, 2010

Exactly, that one event in year, when whole team is supposed to have fun and work in close quarters(yes).

The PLACE

Whole event has been organized by Eduardo M. M., big thanks. It was one of best events, if not THE best we had so far. We stayed in 5 start hotel & SPA center. Awesome place to chill out. Just look at pictures:

This year was actually special for two reasons. First reason is the fact that whole team has gathered for the first time. Yes, thats true. During past years we always had bad luck and someone either did not make it, or just couldnt. This year even we met all, for the first time. Even Tom, who works from Brisbane office joined us.

Second reason is fact that some community users and customers joined us on short notice. This proved to be very, very good turn of events.

Most of us arrived on 24th night or evening, so start was a bit slow - simple catching up with cold beer in hand at the bar.

The FUN

Next day was strictly fun day, no work(well we talked about roadmaps on the bus, but that does not count). Rafting time! We took a bus from hotel which drove us somewhere in the mountains. Once the bus stopped we got out, our prayers have been heard, we were alive - seriously if you dont buckle up, go there, have a ride, those guys are insane.From that spot we took huge rafts and went down the river. It was quite good fun.

The WORK

Now, enough about fun. Since that point, our regular day looked more or less the same: breakfast, work, 1-2h relax time, more work, party till morning.Total we had three and a half day for our presentations, discussions and everything related. During that period of time, as each year, we went through all projects, their achievements, shortcommings and roadmaps.Additionally this year some other topic were brought up to attention and discussed - like Clustering or SS7 training session. Unfortunetly three days were not enough to go through all of our fields of interest. Certainly sign that we should extended next years event. Example topics that were discussed only with beer in hand are for instance: SIP Presence or IPBX.

Our first day started with private sessions during which we discussed some internal stuff, crucial to our future. After that plan looked as follows:

The meeting started with presentations from customers. The talk was mostly on how they are using the Mobicents Platform, what they liked and what they dont. Most important was what they expect from Mobicents in future, how Mobicents fares in competition from peers etc

Eduardo presented our efforts to bring best open soruce JSLEE container :). So....We had very good year, lots of work, lots of community feedback. Extremly successful 2.x release of container. We completly reworked 2.x core to achieve:

high performance - over 4x compared to 1.x generation of container

low latency

fault tolerance

His presentation covered also major features and development efforts we made, like:

Container's core modularization and SPI

Server's state replication

Fault Tolerant RA API

Congestion Control

Event Router Stats and Execution Mapper

Simplified Global Logging Configuration

New or Reworked RAs (JCC, ISUP, MAP, XCAP Client)

Jopr Web Console

Enhanced or simplified external SLEE Connection.

In the end he covered roadmaps for immediate release and long term efforts:

Mobicents JAIN SLEE 2.2.0

Part I of clustering performance enhancements (8x compared with 2.1.2)

Buddy groups clustering

Twiddle Command Line Interface (CLI), which we believe will be a major tool for developers and platform administrators

Part I of JAIN SLEE 1.1 Extensions, specially the one which allows JAIN SLEE Libraries to depend on other SLEE component types, such as RA Types

Eclipse SLEE Plugin 2.0

SMPP v5 Resource Adaptor

Misc performance optimizations on SLEE facilities, such as Tracers

Mobicents JAIN SLEE 2010/11 Roadmap Draft

JAIN SLEE 1.1 Extensions: Annotations & ConfigProperties

Jopr Web Console 2.x (or something else if we are not able to solve current version limitations)

EclipSLEE 2.1

Mobicents Cluster Framework 3.x with Advanced Buddy Groups features such as high performance intra group broadcasting of notifications

Diameter presentation was a first one I did this year. This was actually a crash course training and as such it can not be disclosed as other presentations.

In crash course Ive covered following:

DIAMETER basics - data structures, encoding, protocol base

DIAMETER domains

Base application

Accounting application

Credit Control Application(rfc4006)

Ro & Rf applications

During Diameter time, Alex covered our development efforts and roadmap.

In short it was quite good year. Roadmap was a bit packed. Only two features did not make it since there was no interest - WS Support and HSS. Major features and development efforts on diameter are as follows:

SOAK testing

CPU and memory stability

XML configurable dictionary and validator

implementation of different applications(Cx/Dx,Sh,Ro,Rf,Cca....) along with JSLEE RAs

FT/HA support

performance improvement( over 4x )

documentation

JOPR console

Improved AVP handling

For next year we plan to split work in two directions. Continue 1.4.x branch with improvements and start new one. The 2.x will be testing field for next gen stack, which should be more user friendly and much more performant.

For 1.4.x we have planned following:

1.4.x

parser separation from stack metadata

testing framework for application sessions

profiling and improving clustering code

improve thread management

IPSEC/TLS support

testing framework for JSLEE RAs

support plugable/configurable load balancing algorithm in stack

integration with SIP loadbalancer

...

This is just a short list, full has much much more, its quite packed and scary.

For 2.x we have planed following:

2.x

redesign API to be user friendly

evaluate IoC as good approach

decouple sessions and message creation

SCTP support

greater perofrmance(over 1k exchanges/s)

....

SS7

During one of my time slots I have conducted quick crash course about SS7 and our progress in this field.

Crash course proved to be a bit confusing for some. But it drove our community guest into discussion, in which they shared their experience, field of interest and expectations. It was quite good and valuable discussion.

SS7 progress during last year is tremendous. We have started very slow and picked up pace.

From almost no working code and experience we finished with support for:

Dialogic and Intel based SS7 cards - this includes implementation of MTP levels

M3UA integration

SCCP

ISUP

TCAP

MAP

USSD Gateway

In future we plan to get SS7 training on operators side to be able to meet production quality with our code. In near future we will stabilize SS7 stack layers and test everything end to end with real hardware in our lab, which is being created.

Last but not least we plan to add more protocols to USSD Gateway we have been developing.

Last week was a bit of hell week. We had two releases going on, one for SS7 project second for SLEE container. So lets see what we managed to push to community.

SS7 includes few fixes, but most important improvements are hidden in SCCP and M3UA/MTP. This release brings two things:
- support for M3UA, now you can integrate our stacks with Dialogic M3UA.
- SCCP routing and service. SCCP layers supports now basic routing. Additionally it has been changed to service, in which for instance JSLEE RAs, can register to receive MU which are targeted for specific address.
Release already happened, shortly there will be new bundle available on sourceforge.net.

Sometime ago(end of August I believe) me and Amithadpleasure to performtraining in South Affrica.Trainingtook place in(or near) Johanesburg at CSIRinstitute.

CSIRstands for Council for Scientific and Industrial Research. Itslocated in Pretoria, Johanesburg. The CSIRis South Africa's central and premier scientific research and development organisation in Africa. Constituted by an Act of Parliament in 1945 as a science council, the CSIR undertakes directed and multidisciplinary research, technological innovation as well as industrial and scientific development to improve the quality of life of the country’s people. In short, CSIR hosts researches and create technologies which are implemented by SA government.

We had accommodation provided by Meraka. During whole training we stayed in one of houses at Merakas campus. Campus is a huge playground, not only it looks great but it provides also a lot of places to socialize, like:

football field

tenis/squash courts

gym

etc....

Usually core developers do not provide training. However this case was a bit different. Whole training was customized, to address needs of Meraka team.

Training gave me and Amit rare opportunity to interact with users. Whole gig gave us quite good picture of problems and design traps users fall into. Most of them come simply from missing concepts behind specification. This is something we can address in blog posts and documentation. And we will.

CSIR developers are quite experienced. They've been playing with JSLEE container for quite some time now. They already have few Resource Adaptors and services developed on top of JSLEE container. Some of them quite interesting, for instance MOBI4D.