Showing posts with label Work. Show all posts
Showing posts with label Work. Show all posts

Monday, 3 December 2012

WebRTC Conference and Expo 2012: Mapping SIP to WebRTC - a misunderstanding?


I was fortunate enough to attend the first WebRTC Conference and Expo in San Francisco last month.  This fascinating conference demonstrated the growing hype and interest around WebRTC.

One of the things I observed at the conference was a lot of discussion about "WebRTC obsoleting SIP" and "mapping SIP to WebRTC", both topics that seemed to indicate a misunderstanding of both SIP and WebRTC amongst those discussing them.

SIP and WebRTC are very different protocols (in fact WebRTC is a set of protocols).  SIP relates to the signalling plane and WebRTC to the media plane.  This means that SIP and WebRTC are complementary protocols not competing protocols.

There was a lot of discussion about WebRTC's ability to establish media sessions without signalling or server infrastructure - this is not possible.  When you use the PeerConnection API in a browser you get and provide SDP which needs to be exchanged by the peers to establish the media connection.  How can the peers exchange this SDP without signalling or server infrastructure?

It is clear that some signalling and server infrastructure is required for WebRTC, and this can take one of three obvious forms:
  • Proprietary HTTP/REST signalling
  • XMPP/Jingle over WebSocket
  • SIP over WebSocket
Each of these has advantages and disadvantages.  HTTP/REST signalling is very simple but as HTTP is a transaction (not a session protocol) dialog state must be maintained within the network - this could easily result in resiliency and scaling issues, or complex server infrastructure that replicates dialogs between servers.  XMPP/Jingle is a session protocol, but like HTTP/REST it is lacking in terms of support for common regulatory and privacy features[1].  SIP in many ways is the ideal protocol - the hint is in the name, "Session Initiation Protocol" - as well established extensions (such as outbound) provide resilience and scaling, while regulatory and privacy issues have long been catered for.

Some people indicated that they believed that the use of SIP with WebRTC would be limited due to its complexity and the unwillingness of web-developers to use it.  However, I am not entirely convinced by this argument.  A web-developer is unlikely to want to implement any of the signalling necessary for his WebRTC application, but he will make use of any good libraries that are available.  I believe that SIP will be extensively used in WebRTC applications as long as a good enough set of libraries are available so that web-developers do not need to deal with it directly.

[1] A lot of web-developers ignore regulatory and privacy requirements simply because the large OTT companies have not had to do anything yet.  "Yet" is the operative word here - regulations and privacy are important and cannot be ignored indefinitely.  Using a protocol like SIP for the signalling future proofs web apps and services.  With a good SDK using SIP for the signalling is no harder than using anything else.

Saturday, 29 September 2012

Kamailio: SIP over WebSockets

There are a lot of really interesting things happening in the world of telecoms today.  One of the coolest is the work the IETF is doing on RTCWeb - that is media (audio and video) sessions between web-browsers without needing plugins.

RTCWeb is going to be a great enabler for all sorts of new types of web application (many of which haven't even been imagined yet) - but RTCWeb only focusses on the media part of communication.  In a lot of cases (particularly if telephony features or integration are required) the media alone isn't enough.  To this end Inaki Baz Castillo, Jose Luis Millan Villegas, and Victor Pascual have been working on an IETF draft, "The WebSocket Protocol as a Transport for the Session Initiation Protocol (SIP)" (draft-ietf-sipcore-sip-websocket-03).

There are now a number of implementations of SIP over WebSockets.  Servers include Asterisk, Kamailio, Mobicents SIP Servlets, OverSIP, and Repro/webrtc2sip.  Clients include jsSIP and sipML5.  This is not bad for a draft.

The Kamailio implementation of SIP over WebSockets (supporting both WebSockets (ws) and Secure WebSockets (wss)) has been available in the master branch of the SIP Router Git repository since early July 2012.  A number of people have tried using this and, aside from some configuration related issues, it appears to be working well.  I have tested (and seen others test) the Kamailio implementation with both the jsSIP and sipML5 clients.

If you want to try SIP over WebSockets, and you want to use it with a SIP server that supports lots of rich features (including scripting in Lua/Mono/Perl/Python, presence server, offline instant message handling, load-balancing, least-cost-routing, and far too many other things to list), Kamailio is an excellent place to start - there is even an example configuration file for SIP over WebSockets that is ready to go.

Monday, 31 January 2011

Geeky t-shirt

I am off to FOSDEM 2011 at the end of this week and a geeky trip would be nothing without a geeky t-shirt.  Unfortunately, geeky t-shirts are expensive.

One of the guys at work came up with a good idea though, so I am currently preparing to make my own geeky t-shirt.  This is the image I will iron onto it:



Any guesses what it is and what it means?

Sunday, 31 October 2010

.ics files on iPhone/iPad (Calendars - Part 2)

One of the rumoured new features in iOS 4.2 is support for .ics event files. This will mean that I can (finally) accept calendar invitations that arrive in my IMAP email from Outlook users.

However, today it doesn't work and I need it to. Fortunately, someone has created a simple "kludge" iPhone app called Calendar Happy. The only downside is that it doesn't work on my iPad and it costs £1.79 - but as I said, I need it now.

Again all I can say is roll-on iOS 4.2.

Saturday, 30 October 2010

Calendars

I've recently started work at a new company and it has become apparent to me how dependant I had become on the Outlook calendar (sync'd with my iPhone) that I had at my old company.

The new company is a small start up and we don't have luxuries like Microsoft Exchange (and probably don't want them either), but it has left me with a problem over the last month due to the lack of a calendar.  I had some (very simple - I thought) requirements:

  • I need to be able to have separate work and home calendars

  • I need to be able to access (read and write) on my iPhone

  • I need to be able to access (read and write) on my iPad

  • I need it to integrate (read and write) into a Windows mail program

  • I need it to integrate (read and write) into a Linux mail program

  • I need to be able to access (read and write) the calendar online

  • I don't want to pay anything


I have spent a lot of time searching online and couldn't find a solution that met all of my requirements.  But today I have (almost) found one.  Given the number of people who seem to have the same issue I thought it probably worth sharing.

The Calendar

I had hoped to use my MobileMe calendar.  It supports creating multiple calendars and it works well with my iPhone and iPad.  Unfortunately, using this under Windows and Linux with up-to-date, free, software proved a non-starter.  For example, MobileMe does have a CalDav server but the only (up-to-date and free) Windows and Linux mail software I can find with CalDav support is Thunderbird with the Lightning plugin.  Unfortunately for me, that plugin doesn't seem to want to do authentication with MobileMe.

Google Calendar came to my rescue.  Here is what I did:

  1. I created a Google account for my work email address and set-up a "work" calendar and set the week start, event display, and notification preferences to suit my tastes

  2. I created a Google account for my home email address and set-up a "home" calendar and set the week start, event display, and notification preferences to suit my tastes

  3. I then gave my work Google account full access to my "home" calendar and vice-versa

  4. I also added the "UK Holidays" calendar to both

  5. I set the calendar colours for the three calendars so as not to clash


I suppose the main questions people might ask about the above are:

  • Why not just create two calendars on one google account?

  • Why not just create two calendars associated with your Gmail account?


Well, I want calendar emails relating to my "work" calendar to go to my work email address and emails relating to my "home" calendar to my home email address.  I did try creating two calendars on one account, but the calendar emails only went to the primary email address for the account.  Google is even clever enough to work out that both accounts belong to the same person so both calendars appear together in the "My calendars" section of the display ("UK Holidays" remains, correctly, in the "Other calendars" section).

The Linux and Windows Software

Once I had selected Google Calendar this part was easy.  I installed Mozilla Thunderbird, the Lightning calendar extension, and the Provider for Google Calendar extension.

I then set-up Thunderbird to handle my email, and "work" and "home" calendars.  Thunderbird is available for both Linux and Windows.  I even added in the "UK holidays" calendar and adjusted the colours to give myself a consistent view between Thunderbird and the Google Calendar website.

iPhone

[update 31/10/2010: I found an alternative (and possibly better) way to sync the calendars on my iPhone.  See the comments below.]

I already have email working on my iPhone so all I had to do was get both calendars on there.  My first instinct was to add them as Gmail accounts as, if you are using Gmail for email, you can also sync with a Google Calendar.  This does not work.  When you add a Gmail account is tries to log into Gmail with IMAP and this failed because my home and work Google accounts do not have Gmail enabled.

Luckily (again) there is an alternative.  You can configure the iPhone to use Google Mobile Sync.  This involves creating a Microsoft Exchange (this is no joke) account for each calendar.  Use the email address and password you use to log into Google for authentication, when given the chance to specify a server use "m.google.com", and make sure that when you choose which services to use (calendar, contacts, and mail) you just choose calendar.

I also subscribed to the iCal version of Google's "UK Holidays" calendar.

iPad

[update 31/10/2010: I found an alternative (and possibly better) way to sync the calendars on my iPad.  See the comments below.]

This is the (almost) bit.  In theory this is set-up in exactly the same way as the iPhone.  In practice my iPhone is running iOS 4.1 but my iPad is running iOS 3.2.2.  The difference here is that iOS 4.x lets you have more than one Microsoft Exchange account, but iOS 3.x does not.   All I can say is roll-on iOS 4.2 (due sometime in the next month) and I will be able to meet all of the requirements I specified above.

In the meantime I need to decide which calendar I want to view on my iPad.

Saturday, 9 October 2010

Updated CV

A wise man once told me (in fact several have told me) that you should always have an up-to-date CV.

It's good advice so, given that my job (and job title) has changed recently, I thought it was time to update mine.  If anyone is interested my new CV is here: http://blog.dunkley.me.uk/files/cv/cv.pdf.

I also (recently) took the trouble to update my LinkedIn profile: http://www.linkedin.com/in/pdunkley.

My new job (Crocodile RCS)

It's been a while since I wrote anything here.  This is mainly due to the fact that I rarely feel I have anything of interest that is worth sharing with the world.  However, in the unlikely event anyone bothers to read this, I thought I should mention that I have just finished the second week at my new job.  This is a big thing for me as I had been working for my previous employer (Telsis Ltd) for over ten years and it was my first job since graduating from university.

I am now working for a start-up company called Crocodile RCS Ltd (http://www.crocodile-rcs.com/ for those interested in what it does).  The first week at my new job was nothing short of hectic as it began with a 4am wake up call (a taxi to Heathrow airport collected me at 5am) on Monday and ended after 12:30am on Saturday (a taxi from Heathrow airport dropped me off).  On the plus side I got to add another country and city (Russia and Moscow) to my long list of work sponsored "holidays".

While less hectic than the first week my second week has been nothing short of busy.  While not (yet?) working the ridiculous hours you sometimes hear associated with start-ups the days have still been quite long, and the stunning part has been how quickly they seem to go by.  The best part, from my point-of-view (I admit I am a glutton for punishment), is that there is so much needing done that it is simply not possible to get everything needed done completed each day.  Of course this means there is a lot of prioritising going on, but it does have the upshot of meaning I never get a chance to be bored.

Friday, 25 April 2008

Why have a blog and never post?

Well, the main reason, is that I usually don't have anything of interest to post.

However, right now I am on vacation in Boston.  I flew out to the US on Saturday a couple of weeks ago (12/04/2008) to attend SIPit 22 (up in Durham, NH) with two colleagues from my work - I must say that the environment up in New Hampshire is wonderful, I believe I am unlikely (for a number of reasons) to ever want to live in the US, but if I had to it wouldn't be too bad if it were up in New Hampshire.  My colleagues flew home last Saturday but I have stayed out an extra week, and it seems like (based on the weather alone) a good week to spend out here.

The only disappointment I have had so far is sunburn on my face and ears (guess which genius went out whale watching on the hottest day of the year without using any sun-cream or wearing a hat), the Prudential Tower (or Towah, as the door man called it) observation deck being closed, and a bit of queasyness cause by my decision to skip breakfast and lunch and then go on the Samuel Adams Brewery Tour (with free beer at the end of it).  I highly recommend the Brewery tour, it is free and the beer is excellent.

I have put the pictures from my vacation (so far) online.  There are a lot of photographs there, but I am particularly pleased with some of them (especially some of the ones from the whale watching and some of those taken in the New England Aquarium).

 My SIPit 22 and vacation pictures are located at: http://gallery.dunkley.me.uk/v/pd/SIPit/SIPit22/

Sunday, 25 November 2007

SIPit 21, Beijing, November 2007

I attended SIPit 21 in Beijing (November 2007).  Pictures of the event (and some touristy stuff I did afterwards) are available at http://gallery.dunkley.me.uk/v/pd/SIPit/SIPit21/