sip, Sip, SIP – Gulp!

May 22, 2007

Session Initiation Protocol or ‘SIP’ as it is known has become a major signalling protocol in the IP world as it lies at the heart of Voice-over-IP (VoIP). It’s a term you can hardly miss as it is supported by every vender of phones on the planet (Picture credit: Avaya: An Avaya SIP phone).

Many open software groups have taken SIP to the heart of their initiatives and an example of this is IP Multimedia Subsystem (IMS) which I recently touched upon in IP Multimedia Subsystem or bust!

SIP is a real-time IP applications layer protocol that sits alongside HTTP, FTP, RTP and other well known protocols used to move data through the Internet. However it is an extremely important one because it enables SIP devices to discover, negotiate, connect and establish communication sessions with other SIP enabled devices.

SIP was co-authored in 1996 by Jonathan Rosenberg who is now a Cisco Fellow, Henning Schulzrinne who is Professor and Chair in the Dept. of Computer Science at Columbia University and Mark Handley who is Professor of Networked Systems at UCL. SIP became an IETF SIP Working Group which is still supporting the RFC 3261 standard. SIP was originally used on the US experimental Multicast network commonly known as Mbone. This makes SIP an IT /IP standard rather than one developed by the communications industry.

Prior to SIP, voice signalling protocols were essentially proprietary signalling protocols aimed at use by the big telecommunications companies on their big Public Switched Telecommunications Networks (PSTN) voice networks such as SS7 (C7 in the UK). With the advent of the Internet and the ‘invention’ of Voice over IP, it soon became clear that a new signalling protocol was required that was peer-to-peer, scalable, open, extensible, lightweight and simple in operation that could be used on a whole new generation of real-time communications devices and services that are running over the Internet.

SIP itself is based on earlier IETF / Internet standards, principally Hypertext Transport Protocol (HTTP) which is the core protocol behind the World Wide Web.

Key features of SIP

The SIP signalling standard has many key features:

Communications device identification: SIP supports a concept known as Address of Record (AOR) which represents a user’s unique address in the world of SIP communications. An example of an AOR is sip: xxx@yyy.com. To enable a user to have multiple communications devices or services, SIP has a mechanism called a Uniform resource Identifier (URI). A URI is like the Uniform Resource Locator (URL) used to identify servers on the world wide web. URIs can be used to specify the destination device of a real-time session e.g.

  • IM: sip: xxx@yyy.com (Windows Messenger uses SIP)
  • Phone: sip: 1234 1234 1234@yyy.com; user=phone
  • FAX: sip: 1234 1234 1235@yyy.com; user=fax

A SIP URI can use both traditional PSTN numbering schemes AND alphabetic schemes as used on the Internet.

Focussed function: SIP only manages the set up and tear down of real time communication sessions, it does not manage the actual transport of media data. Other protocols undertake this task.

Presence support: SIP is used in a variety of applications but has found a strong home in applications such as VoIP and Instant Messaging (IM). What makes SIP interesting is that it is not only capable of setting up and tearing down real time communications sessions but also supports and tracks a user’s availability through the Presence capability. The open presence standard Jabber uses SIP. I wrote about presence in – The magic of ‘presence’.

Presence is supported through a key SIP extension: SIP for Instant messaging and Presence Leveraging Extensions (SIMPLE) [a really contrived acronym!]. This allows a user to state their status as seen in most of the common IM systems. AOL Instant Messenger is shown in the picture on the left.

SIMPLE means that the concept of Presence can be used transparently on other communications devices such as mobile phones, SIP phones, email clients and PBX systems.

User preference: SIP user preference functionality enables a user to control how a call is handled in accordance to their preferences. For example:

  • Time of day: A user can take all calls during office hours but direct them to a voice mail box in the evenings.
  • Buddy lists: Give priority to certain individuals according to a status associated with each contact in an address book.
  • Multi-device management: Determine which device / service is used to respond to a call from particular individuals.

PSTN mapping: SIP can manage the translation or mapping of conventional PSTN numbers to SIP URIs and vice versa. This capability allows SIP sessions to transparently inter-work with the PSTN. There are organisations, such as ENUM, who provide appropriate database capabilities. To quote ENUM’s home page:

“ENUM unifies traditional telephony and next-generation IP networks, and provides a critical framework for mapping and processing diverse network addresses. It transforms the telephone number—the most basic and commonly-used communications address—into a universal identifier that can be used across many different devices and applications (voice, fax, mobile, email, text messaging, location-based services and the Internet).”

SIP trunking: SIP trunks enable enterprises to group inter-site calls using a pure IP network. This could use an IP-VPN over an MPLS-based network with a guaranteed Quality of Service. Using SIP trunks could lead to significant cost saving when compared to using traditional E1 or T1 leased lines.

Inter-island communications: In a recent post, Islands of communication or isolation? I wrote about the challenges of communication between islands of standards or users. The adoption of SIP-based services could enable a degree of integration with other companies to extend the reach of what, to date, have been internal services.

Of course, the partner companies need to have adopted SIP as well and have appropriate security measures in place. This is where the challenge would lay in achieving this level of open communications! (Picture credit: Zultys: a Wi-Fi SIP phone)

SIP servers

SIP servers are the centralised capability that manage establishment of communications sessions by users. Although there are many types of server, they are essentially only software processes and could be run on a single processor or device. There are several types of SIP server:

Registrar Server: The registrar server authenticates and registers users as soon as they come on-line. It stores identities and the list of devices in use by each user.

Location Server: The location server keeps track of users’ locations as they roam and provides this data to other SIP servers as required.

Redirect Server: When users are roaming, the Redirect Server maps session requests to a server closer to the user or an alternate device.

Proxy Server: SIP Proxy servers pass on SIP requests that are located either downstream or upstream.

Presence Server: SIP presence servers enable users to provide their status (presentities) to other users who would like to see it (Watchers).

Call setup Flow

The diagram below shows the initiation of a call from the PSTN network (section A), connection (section B) and disconnect (section C). The flow is quite easy to understand. One of the downsides is that if a complex session is being set up it’s quite easy to get up to 40 to 50+ separate transactions which could lead to unacceptable set-up times being experienced – especially if the SIP session is being negotiated across the best-effort Internet.

(Picture source: NMS Communications)

Round-up

As a standard SIP has had a profound impact on our daily lives and lives well along those other protocol acronyms that have fallen into the daily vernacular such as IP, HTTP, www and TCP. Protocols that operate at the application level seem to be so much more relevant to our daily lives than those that are buried in the network such as MPLS and ATM.

There is still much to achieve by building capability on top of SIP such as federated services and more importantly interoperability. Bodies working on interoperability are SIPcenter, SIP Forum, SIPfoundry, SIP’it and IETF’s SPEERMINT working group. More fundamental areas under evaluation are authentication and billing.

More depth information about SIP can be found at http://www.tech-invite.com, a portal devoted to SIP and surrounding technologies.

Next time you just buy a SIP Wi-Fi phone from your local shop, install it, find that it works first time AND saves you money, just think about all the work that has gone into creating this software wonder. Sometimes, standards and open software hit a home run. SIP is just that.

Adendum #1:Do you know your ENUM?


iotum’s Talk-Now is now available!

April 4, 2007

In a previous post The magic of ‘presence’, I talked about the concept of presence in relation to telecommunications services and looked at different examples of how it had been implemented in various products.

One of the most interesting companies mentioned was iotum, a Canadian company. iotum had developed what they called a relevance engine which enabled the provision of ability to talk and willingness to talk information into a telecom service by attaching it to appropriate equipment such as a Private Branch Xchanges (PBX) or a call centre Automatic Call Distribution (ACD) managers.

One of the biggest challenges for any company wanting to translate presence concepts into practical services is how to make it useable rather than just being just a fancy concept that is used to describe a of a number peripheral and often unusable features of a service. Alec Saunders, iotum’s founder, has been articulating his ideas about this in his blog Voice 2.0: A Manifesto for the Future. Like all companies that have their genesis in the IT and applications world, Alec believes that “Voice 2.0 is a user-centric view of the world… “it’s all about me” — my applications, my identity, my availability.

And rather controversially, if you come from the network or the mobile industry: “Voice 2.0 is all about developers too — the companies that exploit the platform assets of identity, presence, and call control. It’s not about the network anymore.” Oh by the way, just to declare my partisanship, I certainly go along with this view and often find that the stove-pipe and closed attitudes sometimes seen in mobile operators is one the biggest hindrances to the growth of data related applications on mobile phones.

There is always a significant technical and commercial challenge to OEMing platform-based services to service providers and large mobile operators so the launch of a stand-alone service that is under complete control of iotum is not a bad way to go. Any business should have to full control of their own destiny and the choice of the relatively open Blackberry platform gives iotum a user base they can clearly focus on to develop their ideas.

iotum launched the beta version of Talk-Now in January and provides a set of features that are aimed at helping Blackberry users to make better use of the device that the world has become addicted to using in the last few years. Let’s talk turkey, what does the Talk-Now service do?

According to web site, as seen in the picture on the left, it provides a simple-in-concept bolt-on service for Blackberry phone users to see and share their availability status to other users.

At the in-use end of the service, the Talk-Now service interacts with a Blackberry user’s address book by adding colour coding to contact names to show the individual’s availability. On initial release only three colours were used, white, red and green.

Red and and green clearly show when a contact is either Not-Available or Available, I’ll talk about white in a minute. Yellow was added later, based on user feedback, to indicate an Interruptible status.

The idea behind Talk-Now is that helps users reduce the amount of time they waste in non-productive calls and leaving voicemails. You may wonder how this availability guidance is provided by users. A contact with a white background provides the first indication of how this is achieved.

Contacts with a white background are not Talk-Now users so their availability information is not available (!) so one of the key features of the service is an Invite People process to get them to use Talk-Now and see your availability information.

If you wish a non-Talk-Now contact to see your availability, you can select their name from the contact list and send them an “I want to talk with you” email. This email will provide a link to an Availability Page as shown below. This email talks about the benefits of using the service (I assume) and asks you to use the service. This is a secure page that is only available to that contact and for a short time only.

Once a contact accepts the invite and signs up to the service, you will be able to see their availability – assuming that they set up the service.

So, how do you indicate your availability? This is set up with a small menu as shown on the left. Using this you can set up status information.

Busy: set your free/busy status manually from your BlackBerry device

In a meeting: iotum Talk-Now synchronizes with your BlackBerry calendar to know if you are in a meeting.

At night: define which hours you consider to be night time.

Blocked group: you can add contacts to the “blocked” group.

You can also set up VIPs (Very Important Persons) who are individuals who receive priority treatment. This category needs to be used with care. Granting VIP status to a group overrides the unavailability settings you have made. You can also define Workdays. Some groups might be VIPs during work hours, while other groups might get VIP status outside of work. This is designed to help you better manage your personal and business communications.

There is also a feature whereby you can be alerted when a contact becomes available by a message being posted on your Blackberry as shown on the right.

 

Many of the above setting can be set up via a web page, for example:

Setting your working week

Setting contact groups

However, it should be remembered that like Plaxo and LinkedIn, this web based functionally does require you to upload – ‘synchronise’ – your Blackberry contact list to the iotum server and many Blackberry users might object to this. It should be noted as well that the calendar is accessed as well to determine when you are in meetings and deemed busy.

If you want to hear more, then take a look at the video that was posted after a visit with Alec Saunders and the team by Blackberry Cool last month:

Talk-Now looks to be an interesting and well thought out service. Following traditional Web 2.0 principles, the service is provided for free today with the hope that iotum will be able to charge for additional features at a future date.

I wish them luck in their endeavours and will be watching intensely to see how they progress in coming months.


The magic of ‘presence’

March 20, 2007

Presence is one of the in-words of the telecoms and web industry for the last few years. It sits alongside Location based services as a capability that is still to “realise its full potential”. A Wikipedia overview of presence can be found here.

I have used Google Alerts for the last couple of years to track market activity of technologies and companies that are of interest to me and presence has been one of the key words that I have looked at. These are typical of the results I see pouring into my in-tray each week:

As you can see, I havn’t seen too many announcements about presence from a telecommunications perspective!

Presence is a very broad church and like the word platform everyone uses it with their own interpretation. Wikipedia defines presence as “A user client may publish a presence state to indicate its current communication status.” Let’s go through some examples of presence as it used today.

One of the most simple examples of presence has been around for many years and that can be seen in email clients like Outlook by using an Out of Office auto reply message. I say simple, but in a typical Microsoft way it can be quite complicated to set up if you are not using an Exchange server. However that aside, by using this facility you can indicate to anyone that sends you an email that you are away from the office for a time. You can use this message to just say that you are not around or it could be helpful by providing an alternative contact.

The use Out of Office feature brings us straight way to the fact that using it can create problems! For example, I am a member of many news groups and Out of the Office auto-responses do create problems as everyone in the newsgroup receives them. following each and every post. If the group is very active, they can really build up and rapidly become an irritant.

Another simple use of presence information can be found on web sites and in email signatures. The one shown on the left is in an email from VerticalResponse where they show information about if their support organisation is open. This is an application of presence showing the availability of the support team.

This shows an interesting aspect of presence. Someone may be present but do they wish to be available? These are different concepts and need to be considered separately. Rolling them together can create all sorts of problems as we will see later.

The VerticalResponse signature shown above shows a live presence element. When Live Chat is available it is shown in green and I assume when it is not available it is shown as Not Available in red (I havn’t seen this). One company that helps provide this type of capability is Contact at Once. According to their web site they use their presence engine to “continually monitor the availability of advertiser sales representatives across multiple devices and aggregates the availability status of each representative into an advertiser-level availability or “presence.”

Another company that provides a presence engine is Jabber: “By integrating presence—i.e., information about the availability of entities, end-points, and content for communication over a network—into applications, devices, and systems you can streamline processes and increase the velocity of information within your organization. Discover the latest best practices organizations are implementing to take advantage of the benefits of adding presence to business processes.”

Although they offer Instant Messaging services described below they focus on integrating presence information into enterprise process flows to increase the efficiency of business processes. The available flag is an example of this as is the automatic routing of internal calls to an available expert or an available person in a company’s call centre.

On of the most common application of presence is in Instant Messaging (IM) services where you are able to set your status to be on-line or Away. The picture on the right is the status options in Microsoft Messenger.

On the left below is Yahoo Messenger. It is interesting to note the addition of the Invisible to Everyone option. Why is this supplied I wonder? Most instant messaging services and some PC-to-PC VoIP services provide an option to set your availability status. Many users have found that this capability can create real problems.

When you boot your PC, your status is set to On-line automatically. Annoyingly, this often leads to several of your buddies saying “Hi” or work colleagues asking you questions immediately!

Away status. You can choose to set an Away status automatically after say 5 minutes. The IM or VoIP service detects that you are away because you have not touched your keyboard or mouse. As soon as you return to your PC and touch the keyboard you are placed On-line again and open to immediate interruption just as you start working. This is just the exact opposite of what you want!

Multiple services. When you use several services such as IM, VoIP or calendar it is highly unlikely that you will set your status on every application before your leave your desk so that they do not reliably reflect your real status.

These problems can become so severe that the only solution is for many is to opt to appear to be Off-line permanently destroying any benefits of sharing status information.

One of the problems with presence being built into many on-line applications is that you need to set your status on every single one of them every time it changes or your will not see any benefit. There are quite a few companies who aggregate presence information. One such company is PRESENCEWORKS that enables you to integrate presence information from instant messaging into your pre-existing business software as shown below.

In my post about the Would u like to collaborate with YuuGuu? I showed their initial presence option. In its current simple form, this is of limited use because of the difference between presence and Availability. For example when I contacted YuuGuu, Philip was shown as being Available but it was half an hour later when he came back to me saying he was on another call thus demonstrating that he was not Available.

Many new social network services claim to use presence as a component to their service. This is so common it could be said to be ubiquitous. A good example of this is NeuStar who provide “next generation messaging” technology to service providers. To quote their web site: “Presence services enable people within a community to keep connected anytime, any place. When they indicate their availability or see that their contacts are on-line, presence is a catalyst for interactive services for those users who demand an enriched communications environment.”

This capability is similar to that seen in IM services. If your mobile phone is on, you are deemed to be available unless you manually set your status to be unavailable.

Another provider of presence technology is iotum who produce a Relevance Engine™ that can be used as the basis of a number of services.

One of the core applications is call handling: When someone calls you, iotum’s Relevance Engine instantly identifies the caller and cross-references their identity with your address book. Within a fraction of a second, iotum understands the relationship you have with this person.

Just as quickly, iotum accesses your IM presence status and/or online calendar program to determine what you are doing at that moment. It determines which of your communications devices should receive the call and helps to ensure your phone will only ring if you want it to, based on your schedule, your defined preferences and your past behaviour.

iotum has also launched a consumer presence service aimed at Blackberry users – Talk Now.

A recent mobile social networking service that uses presence is jaiku from Finland. Jaiku uses what it terms to be Rich Presence. This is about texting presence updates to your community from any phone.

Note: The above is an old picture and shows how information on your mobile phone can be used to interpret your presence or availability.

These free-form messages can show availability and they can show location but will often just show an irrelevant message commenting on something that is currently happening to the text sender – just like SMS messages really!

Which brings us to Twitter. Twitter is similar in many ways to Jaiku, in that it is a “global community of friends and strangers answering one simple question: What are you doing? Answer on your phone, IM, or right here on the web!”

Sam Sethi at Vecosys recently posted a good update on Twitter and its ecosystem – The Twitterfication of the blogosphere. To me, the best description of Twitter is a microblog – that says it all.

One of the big challenges of today’s on-line world is information overload and although there can be useful presence and availability information contained in Twitter updates if users control what they post, I’m sure that this is often not the case. Twitter is useful and fun in a social context but because of the baggage that goes along with it, I suspect that it will be of limited use in focused business applications today.

I do not use Twitter at the moment so I guess my last post shown above will remain as my current status forever?

This is but a brief overview of the world of presence and I have missed out many areas of interest. I will try and talk about these in future posts. Like Location Based Services, Presence is full of intrigue and promise. We shall see what happens in coming years.

Addendum: I was planning to planning to mention another presence aggregator that was started up up by Jeff Pulver in 2006 – Tello. But, according to Goodbye, Tello they are no longer as of a few days ago. Tello took a technology platform integration of providing presence information; an approach which I believe to be flawed for any start-up – even one with deep pockets.

Addendum: A good post about new presence


Follow

Get every new post delivered to your Inbox.