Does accepting SIP connections at your SIP proxy constitute an "API"? Does providing SIP termination services to the PSTN constitute an "API"?
Those were the questions I found myself asking after AOL announced yesterday their "Open Voice API" (also see CNET article). Since I work with voice application platforms, I'm always interested in new voice APIs and naturally had to check it out.
WHAT IT IS
I have to admit it took some time to figure out what the "Open Voice Program" really is, even after reading the program page and the accompanying blog post. Largely I think the issue was that I was looking for something more.
So here's what is going on. As part of their "AOL Voice Services", AOL has a service called "AIM Call Out". This allows a user of AOL Instant Messenger (AIM) to make outbound calls from their AIM client to the regular phone numbers on the PSTN for competitive rates (under 2 cents a minute here in the US).
From a network topology point-of-view, what happens with the call is that the call goes from your AIM client to the SIP gateway on the edge of AOL's network across some SIP trunks provided by some SIP Service Provider (one of the carriers probably) out to the PSTN. Picture it something like this:
Now what the "Open Voice Program" does is allow you to use an external SIP client to connect to AOL's SIP proxy and make outbound calls. So for example, if you had one of the following:
- a SIP softphone like X-Lite on your laptop or PC
- a SIP "hardphone" on your desk or any of the many WiFi SIP handsets
- a SIP softphone on your dual-mode handset (such as those from Nokia) that would let you make connections over WiFi
you can use the service to make outbound calls using your AIM Call Out connections and minutes. The picture would now look like this:
The SIP phone connects to AOL's SIP gateway, logs in with your username and SIP password and makes the outbound call. You now do not have to be at your PC and can make calls from another device that may be more convenient (like your dual-mode phone or a WiFi SIP handset). In fact, you don't need to be logged into AIM or have the AIM client running anywhere. The SIP device makes calls completely independently.
The process of configuring your SIP phone to work with AIM Call Out is relatively straightforward. (Assuming you have an AOL/AIM "screenname". If you don't, you need one of those first.)
1. Go to the AIM Call Out page and click the Sign Up Now page.
2. Once in the "Dashboard", buy some Call Out credit (I bought $5 for the sake of testing) through a process that is not exactly intuitive but involves:
- Choosing Billing->Payment Method and setting up a credit card.
- (the non-intuitive part to me) Clicking the "Add Credit" link in the upper right corner of your screen and then going through that process.
3. Still in the Dashboard, assign a "SIP device password" on the Settings->SIP Clients page:
4. Switch to your SIP device/phone and configure it with this information (along with the possibly the STUN server found on the config page).
5. Start making calls.
Like I said, it's a relatively straightforward process.
You naturally have to agree to their Terms of Service whose main point (made repeatedly) can be summarized as "This is not a telephone replacement for emergency purposes."
After configuration it worked fine (once I remembered how to configure X-Lite to use the correct microphone and speaker devices) and I made several calls with no problems. I actually wound up calling into today's Squawk Box podcast (where we discussed this AOL Open Voice Program at some length) using the service. It all worked well.
AOL is to be commended for their support of open industry standards like SIP!
While my initial experience was positive from a user point-of-view, there are to me a few problems.
NO INBOUND OR PC-TO-PC CALLS
First, the service is outbound-only. You can make calls from the SIP device, but you cannot receive them. While AOL is very clear about this on the Open Voice Program page, it still is a disappointment. Now, AOL does not appear to have a "Call In" program like Skype's SkypeIn or Yahoo's PhoneIn that ties a PSTN number to your AIM account, so you can't get inbound calls from the PSTN. (I thought they did at one point but I can find no sign of it on AOL's Voice Services pages.)
But you also can't receive inbound calls from other AIM users! It seems to me that if the idea is to make it more convenient to use AIM's voice services, you ought to be able to receive calls from other AIM users on your SIP device. Perhaps this is a future development. (So from a technical point-of-view, they are currently not operating a SIP registrar. Your SIP device does not register with AOL's server.)
NO SIP-TO-SIP CONNECTIONS
My second disappointment was that it did not appear to support direct "dialling" of SIP addresses. I tried both Blue Box comment lines, "sip:[email protected]" and "sip:[email protected]" (with and without "sip:") and the result in both cases was a message "Sorry, that number cannot be dialled":
Now, granted, maybe 0.01% of the public out there actually has an interest in direct SIP-to-SIP dialling, but that is the world in which I move... both with Voxeo's platform and also the work I do with the IETF. If we are to ultimately build the massive interconnect that let's us have an IP-only network, we need to have services and devices that let us do direct SIP connections.
(NOTE: I fully admit that I may not have used the X-Lite client correctly in calling these SIP URIs. I believe I did, but if someone else can get this to work, I certainly am open to my failure being operator error.)
Given my background, you can't NOT expect me to say something about security, eh?
The good news is that they do have you use a "SIP device password" that can be different from your regular AIM password (assuming you set it to be different). Smart move. Well done. (if people use different passwords)
Per the the Open Voice Program page, AOL supports RFC2617 Basic and Digest Authentication and I confirmed with a packet trace that they are, in fact, using Digest authentication. While that isn't incredibly secure (it basically involves a MD5 hash of a password and a server-supplied nonce), it is pretty much what the industry is using right now.
Also like most of the industry, they are not encrypting the SIP with TLS and they are not encrypting the voice with SRTP. Just plain old unencrypted SIP and unencrypted RTP. Given that almost no one else in the industry is doing this, I can't exactly fault them.
SO WHO IS GOING TO USE THIS?
In the end, though, I still do have to wonder who will use this. (And that was part of the Squawk Box discussion today.)
If you already use AIM as your primary IM service and are an existing AIM Call Out customer - and are a techie enough to own and configure a SIP device - then this may be a great way for you to make cheap calls using another more convenient device. (Although some have pointed out there are cheaper services, but again it's the convenience of already living inside of AIM.)
I do like the fact that you can use any SIP device. This is a stark contrast from, say, Skype, which requires either that the device be connected to an always-running PC, have Skype embedded inside of it, or use another software program like iSkoot that essentially proxies your Skype connection. AOL's program lets you use any device you want - and you don't need to be logged in to AIM. So for folks more comfortable with a "hard phone", they can use any of the SIP hard phones out there.
The detail here, however, is:
How many AIM users are actually using AIM Call Out?
Especially when there are competing services from Skype, Yahoo and Microsoft that offer similar rates as well as inbound calling. How many users will actually be able to make use of this?
Perhaps AOL is hoping that this will attract users...
On a different note, it is not entirely clear to me how developers might use this. The AOL blog post from Mark Blomsma in the AOL Developer Network talks about how developers can use this new "API", but I'm still missing... for what?
Essentially it seems to me that all you could really do is create an application that uses AIM Call Out for SIP termination to the PSTN - with the AIM account providing the authentication and also billing/charging. Perhaps that will be useful. I'm not sure.
I am, though, intrigued by one line of the AOL blog post:
Part of the Open Voice program is AIM Call Out.
So are we just seeing the beginning of this program? If so, that's not at all clear - from what I read - anywhere on the pages.
Overall, it's great to see AOL using SIP and it's great to see them opening up their infrastructure in some small way. I'm not sure I'd call this an "API", exactly, but let's hope that this is just the beginning and that they will do more in the months ahead. We'll see.
Meanwhile, I've still got $3.84 of calling time to use...
What do you think about this service? What's in it for developers? Is there value in having access to the AIM credentials for authentication? Or is this ultimately just yet another SIP termination plan?
P.S. For those curious, my 55-minute call into Squawk Box today cost $0.94 or about 1.7 cents a minute.
aol, aim, aim call out, aol open voice, open voice, voip, sip