Archive for March, 2010

Slides from SIP Tutorial at VoiceCon Orlando 2010

Tuesday, March 30th, 2010

voiceconsiptutorial.jpgLast week at VoiceCon Orlando 2010 I had a great time giving a 3-hour tutorial on the Session Initiation Protocol (SIP). Over 200 people attended and made it a very interactive session with lots of great questions and comments. The abstract for this session was:

SIP (Session Initiation Protocol) has become the dominant protocol for IP communications. This workshop explains SIP — how it works, the major issues impacting deployments and how SIP will evolve in the future.

The session focuses on the technical aspects of SIP and how it is used. It analyzes in detail the major components of SIP architecture, SIP addressing and registration, session establishment, SIP message routing and connecting SIP across the PSTN. You will learn about SIP extensions and how SIMPLE works for IM/presence. The workshop also examines some of the challenges SIP faces, including NAT traversal (and the tools developed to cope with it: STUN, TURN and ICE) and security. The tutorial concludes with an assessment of how SIP may evolve and its role in peer-to-peer environments. You will receive an inventory of SIP resources—books, papers and organizations.

The slides from the session are available at SlideShare and embedded below – I do want to note that my slides were based on a presentation that David Bryan originally created (and are used with his permission). David has taught this tutorial in the past, but was out at IETF 77 last week as a Working Group chair. I built off of David’s slides, added a good number of network diagrams, tweaked a bunch of his text, changed/modified/deleted slides and generally made it into the presentation I gave.

Enjoy the presentation…


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Skype releases source code for SILK super wideband audio codec – the details…

Thursday, March 11th, 2010

skypelogo-shadow.pngWant to implement Skype’s SILK super wideband audio codec? You know, the software that makes Skype’s audio calls sound so rich and like you are “right there”?

If so, just check out Appendix A of this massive Internet-Draft:

http://tools.ietf.org/html/draft-vos-silk

Coming in at 566 pages, this I-D is what the word “ginormous” was meant for… but if you look closer, you’ll see that the first 26 pages describe the SILK codec and provide the usual IETF language. The remaining 540 pages are the C source code for a reference implementation of SILK!

This is part of the work of the IETF’s “CODEC Working Group” (see “MOVING INTO THE IETF” below) to standardize on a new wideband audio codec and essentially upgrade the audio quality of the Internet. Let me lay out some background…


LAUNCHING SILK

Last year at eComm 2009, Skype’s Jonathan Christensen announced the SILK codec and that it was being released for free licensing to third-party software and hard developers. Skype made available a developer site focused on the codec:

https://developer.skype.com/silk

Christensen trumpeted these items as the strengths of SILK:

  • improving audio bandwidth going from 8 kHz to 12 kHz, meaning that a SILK conversation sounds like you are in the same room as the person you are speaking with
  • providing real-time bandwidth scalability to deal with degraded network conditions
  • balancing codec optimization between voice, music and background noise, each of which can have an impact on the overall user experience
  • delivering a robust solution that delivers a more consistent audio experience, regardless of network conditions and an individual user’s voice signature

You can watch his eComm announcement here:

or view his slides here:

As a heavy user of Skype, I can personally attest to the fact that the SILK codec, available in all the latest versions of Skype, really does provide an outstanding audio experience.


MOVING INTO THE IETF

With the SILK codec available, folks at Skype started to look at how the codec could be made an open standard so that more folks would implement it. In May 2009, Skype’s Jason Fischl started a discussion around forming a new IETF working group to produce a standardized wideband audio codec. Much discussion and several meetings followed that did lead to the creation of the CODEC Working Group within the IETF. The group, created in January 2010 and co-chaired by Peter Saint-Andre and Michael Knappe, is open to the public – anyone can join the mailing list – and the problem statement is very clear:

According to reports from developers of Internet audio applications and operators of Internet audio services, there are no standardized, high-quality audio codecs that meet all of the following three conditions:

1. Are optimized for use in interactive Internet applications.

2. Are published by a recognized standards development organization (SDO) and therefore subject to clear change control.

3. Can be widely implemented and easily distributed among application developers, service operators, and end users.

There exist codecs that provide high quality encoding of audio information, but that are not optimized for the actual conditions of the Internet; according to reports, this mismatch between design and deployment has hindered adoption of such codecs in interactive Internet applications.

There exist codecs that can be widely implemented and easily distributed, but that are not standardized through any SDO; according to reports, this lack of standardization and clear change control has hindered adoption of such codecs in interactive Internet applications.

There exist codecs that are standardized, but that cannot be widely implemented and easily distributed; according to reports, the presence of various usage restrictions (e.g., in the form of requirements to pay royalty fees, obtain a license, enter into a business agreement, or meet other special conditions imposed by a patent holder) has hindered adoptions of such codecs in interactive Internet applications.

According to application developers and service operators, an audio codec that meets all three of these would: (1) enable protocol designers to more easily specify a mandatory-to-implement codec in their protocols and thus improve interoperability; (2) enable developers to more easily easily build innovative, interactive applications for the Internet; (3) enable service operators to more easily deploy affordable, high-quality audio services on the Internet; and (4) enable end users of Internet applications and services to enjoy an improved user experience.

Now, here is a critical point:

The CODEC Working Group is *NOT* just about Skype’s SILK codec!

The CODEC WG is working to identify and standardize a wideband audio codec that could be widely used over the Internet. Skype’s SILK codec is one of the potential codec candidates, as shown on this matrix of codecs from the CODEC WG. Another strong contender is the CELT codec from the Xiph.org team. There is a Internet-Draft out now for discussion that specifies the requirements for a standardized codec:

http://tools.ietf.org/html/draft-ietf-codec-requirements

The goal of the CODEC WG is to either identify an existing codec that meets those requirements or create a new codec. Either way, the goal is to have a standardized high quality audio codec that we can all use.

For those interested, the CODEC working group will be holding its first official face-to-face meeting at IETF 77 in Ananheim, California, on March 22nd. A draft agenda has been posted.


SKYPE’S SILK SOURCE CODE

So back on Monday, March 8, a new version of the SILK Internet-Draft was published and announced on the codec mailing list. As the draft notes:

The source code for the reference implementation of the SILK codec is provided in Appendix A. This fixed-point source code is the normative specification of the codec. The corresponding text description in this document is provided for informative purposes. For more information about SILK, the patent licensing terms, and to download the source code in a convenient format, please visit [silk-website]. For any additional questions, please send an email to SILKSupport@skype.net.

This particular phrase is interesting and amusing to me:

This fixed-point source code is the normative specification of the codec.

I translate that as “the source code is the specification”.

If you do read the source code, you see Skype’s license on the code is rather open:

Copyright (c) 2006-2010, Skype Limited. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, (subject to the limitations in the disclaimer below)
are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of Skype Limited, nor the names of specific
contributors, may be used to endorse or promote products derived from
this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED
BY THIS LICENSE.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Essentially it is a Skype version of the permissive “Simplified BSD License“, which I would summarize as a non-lawyer as essentially “keep the copyrights intact, don’t use Skype’s name for endorsement, and Skype is in no way responsible if bad things happen from using this code”.

Still to be seen is if there are any additional licensing terms from Skype, but overall this is a great step forward for those of us who want to see better overall audio quality on the Internet. Obviously it’s in Skype’s interest to do this so that the CODEC WG might consider SILK as the codec to standardize on versus the others or creating a new one… but still… it’s great to see. What do you all think?


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Fifth working draft of VoiceXML 3.0 spec now available

Tuesday, March 9th, 2010

w3clogo.pngThe W3C Voice Browser Working Group recently released the fifth working draft of the VoiceXML 3.0 specification at:

http://www.w3.org/TR/2010/WD-voicexml30-20100304/

This newest draft made the following changes:

  • Added V2 Convenience Syntax appendix, referenced from convenience syntax section..
  • Updated Core concepts (sections 4.1 and 4.2)
  • Added section stub for the Subdialog Module
  • Added Disconnect Module
  • Added Connection Resource
  • Expanded the description of the Basic Profile
  • Added placeholder for new “Enhanced” profile
  • Added Play RC
  • Added SCXML code and issue list to Grammar module
  • Added Record Module
  • Updated language identifier definition and link to BCP47
  • Added Property Module
  • Added basic Transition Controllers text to the Document Initialization and Execution section

A diff between this draft and the previous draft is available at:

http://www.w3.org/TR/2010/WD-voicexml30-20100304/diff.html

Given that Voxeo’s Dan Burnett is the co-Editor-in-Chief of the VoiceXML 3.0 specification, you can expect to see more postings here about VoiceXML 3.0 as it continues to move along the path toward becoming an actual standard.


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Want to learn about SIP? Come to my SIP Tutorial at VoiceCon March 22

Thursday, March 4th, 2010

Want to learn about the Session Initiation Protocol (SIP)? Would you like to understand how the SIP protocol works and why it is the dominant open standard for communication today? Want to understand the challenges SIP faces and what’s being done to overcome them?

If so… and if you will be attending VoiceCon in Orlando, FL, March 22-25, you’ll be able to join my (Dan York) 3-hour tutorial on “SIP Fundamentals and Prospects” on Tuesday, March 23rd, from 2-5pm. The abstract VoiceCon has posted is this:

SIP (Session Initiation Protocol) has become the dominant protocol for IP communications. This workshop explains SIP — how it works, the major issues impacting deployments and how SIP will evolve in the future.

The session focuses on the technical aspects of SIP and how it is used. It analyzes in detail the major components of SIP architecture, SIP addressing and registration, session establishment, SIP message routing and connecting SIP across the PSTN. You will learn about SIP extensions and how SIMPLE works for IM/presence. The workshop also examines some of the challenges SIP faces, including NAT traversal (and the tools developed to cope with it: STUN, TURN and ICE) and security. The tutorial concludes with an assessment of how SIP may evolve and its role in peer-to-peer environments. You will receive an inventory of SIP resources—books, papers and organizations.

I’m very much looking forward to the session… although I still do have some work to finish up on the materials. For the past while my friend David Bryan has given these tutorials at VoiceCon events, but given that he also chairs IETF working groups he would need to clone himself since this VoiceCon is the same week as IETF 77 in Anaheim, California. It’s a wee bit hard to flip between coasts… and as anyone who has ever been to an IETF event knows, the meetings are intense and he is needed out there.

If you can’t attend VoiceCon this year, I’ll probably do some SIP tutorial webinars in the future and perhaps you’ll see something popping up over at Voxeo University… stay tuned. And if you are at VoiceCon, please do stop by and say hello… or send me an email in advance letting me know.


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


New version of P-Charge-Info (08) Internet Draft available

Wednesday, March 3rd, 2010

FYI, a new version -08 of my P-Charge-Info Internet-Draft is now available:

http://www.ietf.org/id/draft-york-sipping-p-charge-info-08.txt

For an understanding of what P-Charge-Info is all about, read why I first wrote it, P-Charge-Info and incredible disconnect between PSTN billing and the new world of SIP, and then my update last year on the -07 draft.

Version -08 really only has a minor tweak to the ABNF notation for the “npi-value” and then a new Appendix A clarifying the npi-values and their relation to ANSI T1.113.

I am hoping that I can very shortly request IESG consideration to move this document along the path to being an RFC. The only remaining issue is that my co-author, Tolga Asveren, has brought forward a proposal for simplifying the parameters a bit. I’ve forwarded that proposal to several people I know are very interested in this draft. We’ll see where it goes from there. I’d very much like to move this along soon, so we’ll see.


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.