Tuesday, September 18, 2007

H.323 versus SIP: An (un)objective Comparison

By Tsahi Levent-Levi

I came across an interesting comparison between H.323 and SIP in a Cisco related blog. They make a pretty good technical analysis, but the comparison lacks in its completeness.

Both H.323 and SIP are used today for VoIP, and they are considered interchangeable solutions. The comparison made covers the following issues:

  • Philosophy – H.323 does calls, SIP does sessions
  • Reliability – H.323 reliable by design, SIP by responsible user agents
  • Message Definition – H.323 uses ASN.1, SIP uses ABNF
  • Message Encoding – H.323 is binary, SIP is mostly textual
  • Media Transport – both use RTP/RTCP and SRTP
  • Extensibility – H.323 extensible by design, SIP breaks interoperability with extensibility
  • Scalability – H.323 scalable by design, SIP by implementation or by additional IETF standards
  • Addressing – H.323 supports multiple addressing schemes, SIP has only URIs
  • Billing – H.323 has billing by design, SIP by implementation

And the list goes on to other issues. It seems strange to me that in all, H.323 either excels or does as good as SIP. This being the case, why does every new developer looking for SIP?

I have been working with H.323 and SIP for several years now, and I can say that both have their advantages and both are broken in some places. H.323 is a lot better today in issues of interoperability – a lot of it can be easily attributed to the IMTC’s work in this area. I also have a warm place in my heart for this particular protocol – I have been working and dealing with it for many years. That said, the comparison above lacks two main points:

IMS

The 3GPP’s next generation network, which has been adopted by the Tispan and CableLabs (making it the de-facto network in the world in the future). This happened as the 3GPP added interfaces scenarios and call flows to SIP, giving more advantages to it.

H.323 is not part of IMS and is irrelevant for IMS.

SIP is at the core of IMS.

Market

H.323 is dominant today and has large deployments around the world. It is a lot better where it comes to video conferencing, and can be found a lot more in the enterprise.

SIP is the protocol of choice for most developers today – it is quite strong in the consumer and service provider markets. If you are a company about to develop a communication product, you will probably be selecting SIP. It is not as good for video conferencing, but it is getting there.

Services

There is another parameter that is important, and that is what services are part of the protocol and what new services can be offered easily?

H.323 focuses on multimedia calls in all of their flavors. Voice only, video, data collaboration, conferences and a rich set of telephony services.

SIP doesn’t seem to focus on anything in particular. You can use sessions to make calls with it (voice, video – whatever), you use it for presence and instant messaging, and you can use it for a large array of additional services as well.

That said, these services can be added to H.323 as well – this statement would be true to trying to add new services to SS7 though…

Now, if you opened a company now, which protocol would you decide use? What would be your decision looking only on technical aspects, and what would it be looking only on market aspects?

Sunday, September 9, 2007

Will 3G-324M MONA be here this Christmas?

By Oren Libis

MONA (H.324 Annex K), the chosen call setup time reduction technique, was approved by the ITU-T and 3GPP over a year ago. How come we don’t see it in the market yet? It is mainly an issue of standardization and timing.

From past experience in 3G market, it takes about 6 – 12 months since a company has a prototype till the first model gets into the market. This happened in other standards and it has happened in 3G-324M time and again – WNSRP and channel negotiation conflicts are examples of this.

During this time many 3G-324M terminal vendors are working vigorously and intensively on their MONA implementations. Some of the implementations are more mature than others but all in all there is much more work to be done.

Implementing is not enough – you now need to test it. Most of the testing sessions are conducted in the 3G-324M Activity Group Face2Face events of IMTC. In these events many vendors perform interoperability testing against others but this is not that easy for new standards. H.324 Annex K is quite a complicated technique, which changed significantly the way 3G-324M call setup was done till now, so one can expect many interoperability clashes in the beginning of the testing – we’ve seen those in the last three events already. Obviously, the prototypes also need to maintain a very high level of interoperability with legacy terminals which makes it even harder. However, the interoperability level gets improved from event to event and the implementations mature as time passes. The upcoming Face2Face event in Tel-Aviv, Israel on October 8-12 will definitely show high level of interoperability as this is the 4th event that MONA is being tested.

Taking into account all of the above, I would expect to see MONA enabled models out in the market during the second half of 2008. Some initial models might actually hit the market prior to that, and maybe, just maybe, there will be a vendor or two that make it to Christmas this year.

Monday, September 3, 2007

IMS, 3GPP and IETF: A standardization complexity

By Tsahi Levent-Levi

How do we get those specifications for IMS? In a complex way.

It started off as a set if requirements for a Next Generation Network (NGN). The 3GPP wanted an all-IP network for its mobile infrastructure, calling it IMS (IP Multimedia Subsystem). As there’s no need to reinvent the wheel, the 3GPP decided to select an existing standard to do the work, and SIP was there – all young and fresh. But SIP is an RFC. It is handled and standardized by the IETF. This need not be changed.

So what does an organization like the 3GPP does at this point in time? Use the IETF as a subcontractor.

Have you ever worked with a subcontractor? I have never heard of anyone who liked the experience… you provide requirements for a rocket to space, and you get a fire cracker. You want a match, and you get a rocket instead. Time is not time, effort estimations are far from true (sounds like regular development, but it is always harder with a subcontractor).

So we have the 3GPP providing the requirements, while the development of new RFCs (=standards for IMS) done by the IETF, including modifications to RFCs when needed.

The result?

  • We have a whole lot of RFCs coming from the IETF. Some colliding each other, others solving the same problems, but a bit differently.
  • We have a bunch of 3GPP specifications, which point to RFCs (and a lot of drafts!) that are used by the 3GPP’s IMS network – in a way, a selection of the RFCs that are needed.
  • But then, it is not always understood which features from the IETF, or the 3GPP you really need to build an application. And as usual, I haven’t covered GSMA, GCF, OMTP and other organizations.

We at the IMTC IMS AG are actually facing these issue each day. We are currently unraveling the set of specifications required for the implementation and interoperability of the Video Sharing service that is gaining momentum.

Wednesday, August 15, 2007

Beginner’s Guide to 3G-324M MONA

By Oren Libis

MONA is a call setup time reduction technique used in 3G-324M. In the past several weeks I have noticed that a lot of handset developers and operators out there – not members of the IMTC, are a bit confused at what MONA is and how it really works.

The 3G-324M Activity Group in the IMTC is working hard in the past year on MONA. We’re doing interoperability testing whenever we can and we are going to meet again during October 8-12 for a face-to-face interoperability event with MONA as one of the main items.

What is MONA?

MONA is a call setup time reduction specification for 3G-324M. It is a set of 3 different techniques: MPC, SPC and ACP. I won’t go into the technical aspects of each, but it is important to understand the following points:

  1. Each of these techniques alone can reduce call setup time to below 1 second.
  2. Each of these techniques has its advantages and disadvantages – this is why MONA specifies three different techniques and not only one.

MONA Classes

3G-324M MONA specifies in addition to these 3 techniques, 3 different classes. 3G-324M products need to support only one of these classes. Each class indicates which of the 3 techniques (MPC, SPC and ACP) need to be implemented:

  • Class 1, which requires MPC, SPC and ACP
  • Class 2, which requires MPC and ACP
  • Class 3, which requires SPC and ACP

The different MONA classes are interoperable with each other. For example, if two handsets support MONA, one supporting class 1 and the other supporting class 2, the call that will be established will either end up using MPC or ACP; if one supports class 2 and the other supports class 3, the call will simply use ACP.

What does is mean to you?

  • If you are a developer, you should choose to develop the class that makes the most sense to you in terms of resources, footprint, memory and time to market.
  • If you are a mobile operator, you should not force vendors to support a specific class – let your vendors choose their own class – in the end result, you will still get below 1 second of call setup time and you will be giving the vendors some flexibility.

Friday, August 10, 2007

Interoperability in the Real World, Part 2

By Oren Libis

Last time, I tried to explain my view on the GCF test cases. As these are test cases that you need to pass before deploying your product (by going to GCF test labs), no matter how farfetched they are, you need to handle them. But there are another important interoperability issues that the GCF doesn’t handle. These are the real deployments out there today.

There are a large and growing number of 3G handsets out there and they are coming from several handset vendors. Each one has its own behavior and quirks. You’d be amazed how much effort it takes when you develop a 3G-324M stack to handle all of these quirks and how much you need to invest on the codec level and application level to get things done right.

Difference in behavior

This difference in behavior happens due to the complexity and richness of 3G-324M. Granted – it does only a video call, in a straightforward enough scenario, but the amount of options that this single scenario has is almost unlimited:

  • It supports multiple types of codecs each with its own set of configurable parameters
  • There are H.245 messages flowing
  • Media quality needs to be handled differently by the various media systems out there
  • Different developers have implemented 3G-324M, each one understanding the standard in his own way

Server side equipment

There are also servers on the network. These most of the time are using circuit switched networks in front of the handsets, where they are running 3G-324M, but they are also using IP based standards such as H.323 and SIP on the network side, when interacting with media servers for example. They have a different kind of behavior than handsets and they have a different decision making processes designed into them, bringing in more interoperability issues to bear.

What do you do?

The most important suggestion I can give developers of 3G-324M products is to do the GCF test cases that they must in order to get validated, but to focus and invest a lot on the handsets and servers interoperability. Try to get your hands on as much information as possible during your development regarding the differences in behavior of the handsets and servers and make sure you test against as many handsets as possible before you try to deploy your product through an operator.