Archive

Archive for December, 2008

Driving Towards Innovation (Part 1)

December 30th, 2008by Dorgham Sisalem under SIP

So you want to deploy a SIP based network. Why is that, really?
 
Is it because VoIP minutes are cheaper than PSTN ones? I hope that’s not the answer, since the PSTN providers can fix that very quickly by lowering prices, or providing all you-can-eat packages. We’ve seen a lot of that in the last few years.
 
Is it because SIP lets you serve customers for whom you don’t provide the access infrastructure? Again, I hope not, since the infrastructure owners can fix that with QoS games. We’ve seen a bit of that, too.
 
I’m going to stop there–I’m sure there are thousands of bad reasons to deploy SIP. Let’s focus on one potentially good reason: SIP provides a platform for innovation.
 
“Innovation”, unfortunately, is a rather slippery term. The dictionary definition is less than satisfying. It’s hard to offer a good working definition, at least for successful innovation. It’s sort of an “I’ll know it when I see it” sort of thing. I don’t think we’ve seen the Killer App for SIP yet. Also unfortunately, I can’t tell you how to innovate.
 
But I can tell you some ways to stop innovation in its tracks.
 
First, deploy SIP intermediaries that tightly police SIP itself. For example, have proxies that reject non-standard method or header names. The same applies to B2BUAs,  SBCs,  ALGs, and the like. One reason for this sort of thing is a desire to catch protocol errors as soon as possible. But unless you expect a large fraction of your traffic to be broken, optimizing for the error case rarely makes sense. The real effect of this approach is that new extensions become very hard to deploy. At best, you have to touch the configuration of every such intermediary. At worst, you have to upgrade them, assuming the vendors are willing to supply such an upgrade in the first place.
 
My colleagues and I have seen this happen countless times. A network provider is unable to support presence over SIP because they have devices that reject SUBSCRIBE and NOTIFY requests. Same for MESSAGE. And you can just forget about deploying in-house proprietary extensions.
 
For your next innovation-killer, put lots of application knowledge in the network. Have SBCs that must understand the nuances of SDP in order to pin media sessions. Make your proxies call-aware, and reject requests that don’t fit in the current version of the call model. 
 
We’ve seen many network providers have trouble deploying MSRP for session-mode messaging because it uses novel SDP extensions that many SBCs and ALGs don’t understand. There are so many reasons why MSRP does this that they could make a blog post by themselves, so I won’t go into them now. Suffice it to say that, deploying MSRP is harder than it needs to be.
 
Planning for innovation means planning for the unknown. This comes down to applying the end-to-end principle to SIP and its related protocols.  This is a balancing act–I expect readers will comment that there are very good reasons carriers do the things I mention. I understand that. But it’s important to understand the cost when making this sort of decision. Blumenthal and Clark give a good analysis [PDF] of this balance. Even though they wrote the paper in 2000, it’s still worth reading today. 
 
I will cover part 2 in my next post, in which I will expound on flexible SIP application design and RFC 3087. I expect other near future posts from myself or from others will go into more specific ways that overly smart devices in the network make innovation harder. Until then, I’d love to read your thoughts in the comment section.

Pipes, Killer Applications, and IMS

December 23rd, 2008by Jiri Kuthan under SIP

It seems to me that the notion of killer applications remains a remarkable confusion of senses in telecommunications — everyone has heard of it but few have seen it.

We have witnessed numerous laments about telcos becoming pipe providers and having no applications to offer. The role of infrastructure  and the companies operating it is in fact a complex subject. It is not unique to telecommunications — we find it for example in power distribution, gas distribution and other transportation systems as well. What seems unique to me in telecommunications is the obsession with a “killer application.” Have you even seen a gas or power company  trying to offer you such?

I actually consider representations of network infrastructure as “just pipes” to be a serious understatement. In fact, a study of financial data of providers offering both transport and applications shows that a vast majority of revenues is coming from transport. There is not a single application which gets to its user without network infrastructure. And ownership of this infrastructure is not easy to compete against as it is surrounded by substantial investment barriers.

In fact I see a very compelling value proposition  in companies that offer “just pipes.” Their attempts to add applications to their bundled service portfolio appear interesting too. What however appears unappealing to me is attempts to bind the pipes and applications technically together. Which is in my opinion the key design flaw with IMS.

I would like to add an IMS example which shows how misunderstanding of the value chain results in odd technology. There has been a tremendous effort to introduce facilitation of roaming charges, as we know it from 2G networks, to SIP infrastructure in 3G IMS networks. Is it however a compelling technology for increasing service provider’s revenues? I very much doubt that. The key, compelling, hard-to-get service is in this particular case – international mobile network access. If I travel abroad, I will pay roaming charges for international data access. At the same time I am technically free to use a SIP provider that does not introduce additional roaming charges for my phone calls. What remains is an odd investment in IMS roaming facilities for SIP telephony.

This example shows that IMS design is not really established upon a compelling value hierarchy, otherwise it could never be possible to bypass it so easily. In fact, I argue that the value SIP brings to telecommunications is not SIP itself (which IMS is focused on), but leveraging the Internet pipes underneath it. It is the Internet which breaks international and market segmentation barriers. It is a globalization technology in its truth sense.

The trends we have witnessed with our customers seem to confirm my observations. The leading scenario appears to be SIP trunking, which is aimed at leveraging a single infrastructure with global impact. IMS artifacts haven’t been witnessed in these deployments.

In conclusion, I consider the “pipe business” to be of tremendously compelling value. I see SIP telephony as a great application to leverage the full potential of the Internet global reach. At the same time, I consider IMS artifacts attempting to integrate those two too closely as contradictory to this purpose.

I look forward to hearing your views on this posting, whether supportive or not.

Postel’s Maxim – Improving Interoperability

December 11th, 2008by Robert Sparks under SIP

Standards like SIP define a set of rules for how elements behave, focusing on
how messages are constructed and sent, and how other elements react when they
are received. The specifications focus on describing behavior when the received
messages adhere to the protocol. While they can provide general guidance on
dealing with erroneous input, there are a large number of ways (frequently
unbounded) to say or do something wrong at any given protocol step. It would be
counterproductive, if not impossible, to call each of them out explicitly in
the specification.  

So, implementers have to choose what to do when the peer they are talking to
does something out of spec.  One approach would be to strictly reject any
inputs that contain such errors. While sometimes tempting, this approach
ultimately leads to systems that are easy to break and expensive to maintain.

Jon Postel captured a better approach in the RFC793 (the definition of TCP at
the time) : “TCP implementations will follow a general principle of robustness:
be conservative in what you do, be liberal in what you accept from others.”.
Adhering to this simple approach to achieving robustness differentiates systems
that thrive in real deployments from those that are quickly removed for causing
operational pain.

Let’s look at an example. Twice a year, we bring a large number of SIP
implementations together for a week long test event known as the SIPit.  We’ve
done 23 of these so far, and we’re still seeing new implementations at each
event. In the early days, new implementations tended to be overly strict in
enforcing grammar rules. One of the classic problems involved SIP’s Date header
field. One of these in a SIP message might look like this:

    Date: Sat, 13 Nov 2010 23:29:00 GMT

The specification defines the syntax of the header such that the timezone field
on that line can only contain “GMT”. Use of any other timezone string, even
“UTC”, is invalid according to the grammar rules. Some of these early
implementations would reject a SIP request (or even pretend they never saw it)
if the sender used UTC or some other timezone, even if they did NOTHING with
the value in the Date header field later in their processing. Calls failed
because of bits the recipient wasn’t going to use anyway. These implementers
quickly changed their code so that calls worked, but if they had taken Postel’s
maxim into account in the first place, they would have succeeded on their first
try.

I chose that example because its easy to see how Postel’s maxim applies without
diving too deep into the details of SIP. At recent SIPits, few implementations
have fallen into that well known trap. But many similar pitfalls exists (from
simple syntactic things like handling To-tags in registration and dealing with
spurious quotes in Digest authentication challenges, to semantic violations of
the extensibility mechanisms or the offer/answer exchange).  The
implementations that follow the approach of strictly adhering to the
specification in the messages they send, but ignoring other’s mistakes when
they don’t matter, interoperate with many more implementations than the ones
that take a brittle “protocol-police” path.  Being robust, they’re the ones
that work (and get to remain) in real deployments.

In future posts we’ll explore a bit more about how the approach of being
conservative in what you do, but liberal in what you accept from others can be
applied to applications in addition to protocols.

Welcome again to our new blog. We hope you’ve enjoyed this post and we look
forward to visiting with you going forward.

Welcome to SIP Sessions

December 11th, 2008by admin under SIP

Welcome to SIP Sessions – a new blog dedicated to discussions around emerging
technologies and SIP – authored by folks who have been involved with SIP from
the beginning.

It’s been our experience that the most rapid technological advancements are
driven by frequent and wide collaboration, so we’ll be focusing our posts on
ideas and concepts central to new approaches to spark productive discussions.
Please jump in at any time and enjoy! We look forward to the conversations.

<% Response.Write("" & vbcrlf) %>