Posts Tagged ‘Standards’

P-Charge-Info and incredible disconnect between PSTN billing and the new world of SIP

Tuesday, May 13th, 2008

ietflogo-2.jpgDo “intrastate” versus “interstate” billing rates make any sense whatsoever in the world of SIP where geography ceases to be relevant?

There is a fundamental disconnect today between the legacy world of PSTN billing practices and this new world of SIP-based interconnection that we are all building. The Internet ignores geography. We can connect to any random points in the cloud, regardless of where they are physically located.

But until the day when we have truly built the IP-interconnect and can all be bypassing the PSTN, we do have to deal with the PSTN… and all the legacy tariff/billing infrastructure that goes with it. How do you mesh the two worlds?

Consider this case within the US:

  • A company in Massachusetts with phone number 617-555-1111 calls a customer
    also in Massachusetts with phone number 617-555-2222.

  • The Caller ID presented to the receiving party is 617-555-1111.

  • The company calling is billed the intrastate rate because the call appears
    to have originated and terminated within Massachusetts. For this
    example, and purely picking a number out of the air, let’s say the call at intrastate rates would have cost $5.

  • However, the company in MA was actually using a hosted telephony service
    and while the call appears to have originated from Massachusetts based
    on the CallerID presented to the user (and transmitted as “6175551111@sipgw.carrier.com” in the SIP From
    and/or P-Asserted-Identity headers), the number actually entered the PSTN
    from a data center in New York with the number 212-555-1111.

  • Had the calling company presented their billing identifier as 212-555-1111, they
    would have been billed the interstate rate for calling and for this
    example let say that the call would have only cost $3. (And yes, for those of you outside the US, this is true, calls within a state are more expensive than calls between states!)

  • Naturally, the calling company wants to present its Caller ID to the
    end user as its own number of 617-555-1111 but it is contracting with the
    SIP telephony hosting provider in part to get cheaper rates. The hosting provider would
    naturally like to be billed at the interstate rate versus the intrastate rate
    when the calls enter the PSTN from their data centers.

There is the disconnect. PSTN billing is still tied to the identity of the originating number as seen through the carrier’s billing systems. Yet with SIP, the caller identity can be different from the identity of the PSTN interconnect point. (And yes, “Caller ID” can be spoofed on the PSTN but there are still underlying billing identifiers in the PSTN signaling.) As long as we continue to have tariffs in North America that have different rates based on geography, we’ll continue to have this problem.

A few years back, the folks over at Sonus Networks came up with an idea to address this disconnect - pass a custom SIP header called “P-Charge-Info” in the SIP INVITE that sets up the call and include in that header the SIP address to which to charge the call. They added this header to some of their equipment and some carriers started using it. So in the case above, the SIP headers might include headers like these:

From: <sip:617555111@sipgw.carrier.com>
P-Charge-Info: <sip:2125551111@proxy.hostingprovider.com>

To the person receiving the call, nothing has changed. The “Caller ID” that is presented on their phone is the same identity they saw before. But inside the cloud, the billing identity has been changed.

[Do note that there's a double-edged sword here. If the hosting provider and the carrier agree to use P-Charge-Info as the authoritative header for billing purposes, and then in my example above the Massachusetts customer starts making a lot of calls into New York they will wind up being charged the higher intrastate rate based on the P-Charge-Info header. So some analysis of calls needs to be done before agreeing to use this special header.]

Anyway, as one of the largest providers of VoiceXML/CCXML hosting, we are always looking at ways to ensure our customers receive the fairest billing. Late last year after one of our carriers suggested we look at using the P-Charge-Info header, we did so and were quite pleased with the results. Subsequently we have now started using this with multiple carriers.

Being strong proponents of open standards, we noticed that P-Charge-Info was not yet registered on IANA’s list of SIP parameters and so we approach Sonus Networks about going through the RFC 3427 process of registering a custom P-header. They agreed and so Tolga Asveren from Sonus Networks and I submitted an Internet Draft defining the P-Charge-Info header. We received a good bit of feedback/critique and our fourth version (-03) was just posted today.

Why are we going through this registration process, which can be quite lengthy? Several reasons:

  • Expanded Usage - We would like to use this with other carriers but until this draft there was no specification for exactly how the header should be used. We would like this to be available as something to point other carriers/service providers to.

  • Prevention of Further P-header Proliferation - Right now, if someone is looking for a SIP header to pass billing information, odds are they will look at IANA’s registry to see what headers have been added to SIP. Today the only billing headers are those of the 3GPP defined in RFC 3455 which do differ in intent from what P-Charge-Info does. If they don’t like the RFC 3455 P-headers, they may very well go off and invent their own P-header (anyone can) to deal with passing billing information.

    Our concern is that as we all in the industry continue building this IP interconnect, sooner or later we’re going to want to find ways to exchange billing information and if we have six different headers in production use it’s going to be a real headache. In the ideal world we would have a standard header (not a P-header) for passing billing information and probably we eventually will… but that will take some time to get developed and then deployed. In the meantime, let’s document and register what’s out there now so that people can see the choices they have and not necessarily go right off creating yet another billing information header.

  • Prevention of Identity Conflict - It’s very possible that someone going off and creating their own SIP P-header could very well choose to call their header “P-Charge-Info”. One would hope that someone creating a new P-header might use Google to search for the header name they are planning to use (in which case they would discover this existing usage of P-Charge-Info), but someone might not and start using it. It could then happen that some day someone out there would wind up needing to interoperate with two different pieces of equipment that both use a “P-Charge-Info” header, but in different ways. IANA registration is designed to help prevent this.

  • It’s The “Right Thing” To Do - If you read section 4.2 of RFC 3427 it states very clearly:

    Any P-header
    used outside of a very restricted research or teaching environment
    (such as a student lab on implementing extensions) MUST meet those
    requirements [of section 4.1] and MUST be documented in an RFC and be IANA registered.

    Now obviously no one is enforcing this. There are many P-headers in common usage today that are not documented. No one will slap you down and revoke your right to use SIP if you don’t. But it’s the right thing to do for the reasons outlined above as well as to respect the process defined in RFC 3427.

So where is P-Charge-Info in the RFC 3427 process of IANA registration? Well, Tolga and I now have a fourth revision of our Internet Draft out (it’s the fourth because the first was “-00″) and we would very definitely like comment on the draft. Please do send them in via email (or leave them as comments here). Once the document has gone through more review (perhaps another draft or two) we will then continue the steps in section 4.1 of RFC 3427 and request “expert review”. Ultimately the goal is to have the document published as informational RFC so that it can be registered with IANA.

As I said, comments and feedback are definitely welcome. What do you think of the document? of the problem we are trying to solve?

Technorati Tags:
, , , , , , , , ,

Did AOL just become the biggest SIP fanboy on the block?

Thursday, May 1st, 2008

aollogo-1.jpgDid AOL, the historical king of walled gardens, just become the biggest public advocate for SIP and open standards for VOIP?

That’s the point David Beckemeyer makes in his blog post challenging my view of the launch of AOL’s “Open Voice Program” as of questionable value. David counters:

However, it is significant for SIP - we now have a household brand not referring just to “VoIP” but referring to “SIP” - the standards-based protocol for VoIP, something neither Skype nor Vonage has done. SIP means interoperability and that’s a good thing for users and the VoIP ecosystem at large. A brand as big as AOL providing awareness for SIP and promoting interoperability is terrific - nobody else is doing it.

He goes on:

It’s important to note that we have never been able to do this so with Skype, even though the service has been out for four years or more - they could have offered this years ago.

Indeed… point taken, David.

While many of us in the VoIP industry have been trumpeting SIP as the VoIP protocol of choice for years, and work of groups like the SIP Forum has helped in that, outside the walls of our telecommunications/networking community a poll of people would probably find that pretty much no one has heard of “SIP” as it relates to VoIP.

On one level, why should they? It’s just a protocol and at the end of the day it shouldn’t really matter. People just want their phone to work… and SIP and other protocols are just the underlying plumbing.

But for those of us who passionately want to see that plumbing be based on open standards like SIP, David’s right… putting the AOL brand behind SIP is a good thing to help raise awareness of SIP and the need for interoperability. AOL is letting users connect any SIP device to their network. Any device. Not just “certified” ones… not “recommended” ones… any device.

It’s a beautiful thing.

And maybe, just maybe, the people who do start using the service will enjoy the freedom of choice that comes with interoperable open standards and maybe… maybe… they’ll start asking for that interoperability in other services. <rosecoloredglasses>Is that too much to hope for?</rosecoloredglasses>

And so while I still may wonder how many people will really use AOL’s service, as a huge believer in open standards… working for Voxeo, a company who bases its existence on open standards… as a believer in the messy but open process of the IETF to create SIP standards… as an advocate for open protocols and interoperability… as all of that I have to join David in applauding AOL’s move. Thank you, AOL, for jumping behind SIP and helping, in some small way, to help tear down the walls that have locked in telephony for way too long.

Go AOL! Go SIP!

Technorati Tags:
, , , , , , , , ,

How to participate in IETF-71 remotely through real-time audio and IM groupchat

Sunday, March 9th, 2008

ietflogo-2.jpgIf you would like to listen to what is going on at the IETF-71 sessions in Philadelphia the sessions will be streamed in real-time courtesy of the Network Startup Resource Center at the University of Oregon. (Tip to Comcast’s IETF71 site for the link.)

You can also join in the IETF group chatrooms to see commentary during the sessions and also to ask your own questions. Each working group typically has someone acting as Jabber “scribe” during the session who will type updates into the chat room and also pose questions from chatroom members.

So here’s how you can participate remotely:

1. LOOK AT THE OVERALL AGENDA - Browse the meeting agenda and find the session(s) you want to attend.

2. FIND THE WORKING GROUP ABBREVIATION AND/OR ROOM - This is the important part. You need the “Working Group” or BOF abbreviation to go on to the next steps. Let’s say that on the agenda you want to following the “Multiparty Multimedia Session Control WG” on Monday morning at 9:00am. The working group abbreviation is “mmusic” and it is going to be in room “Franklin 3/4″.

3. FIND THE AUDIO STREAM FOR THE SESSION - Go to the audio streaming page and look at the row for the room and the column for the day. You should see the Working Group abbreviation there. Click on the audio link for that room. For instance, MMUSIC tomorrow morning at 9am is on audio channel “ietf71-ch2“.

4. JOIN THE IM GROUP CHATROOM - To join the group chatrooms you’ll need a Jabber-based IM client which could be something as simple as GoogleTalk. If you are on a Mac, Adium works great with your GMail/GoogleTalk account. Connect to the Jabber server “jabber.ietf.org” and join the “room” of the working group abbreviation. For instance, MMUSIC would be “mmusic” (and the full Jabber name of the room will be “mmusic@jabber.ietf.org”).

5. LOOK AT THE SESSION AGENDA / MEETING MATERIALS - Look at the session agenda / materials list to see what is specifically being talked about and what slides might be available for you to view. NOTE: Session materials are often not posted until the session is ready to start (or sometimes afterward).

If you’ve followed these steps, you should now be listening to the audio for the session and also connected into Jabber where you can potentially find out who is at the microphone and - if you want - ask your own questions. If you have a questions, the “Jabber scribe” for the session can get to the microphone and ask the question for you.

A couple of notes:

  • Philadelphia is in the US Eastern timezone. Note that we just shifted to Daylight Savings Time so there’s an hour timezone difference from yesterday.

  • Jabber chat rooms will probably be empty until there is an actual session going on.
  • There are Jabber chat rooms for the working groups but not necessarily for BOFs. It’s not always clear what Jabber chat room a BOF will use.
  • When you join a Jabber chat room, if no one identifies themself as the scribe, feel free to ask. (Hint: It’s probably the person typing a lot.)
  • Note that Jabber chat sessions are archived, so please realize that everything you say in them will be public.

All in all it’s a great way for remote participants to join in to what is going on down at IETF…. so check it out!

Technorati Tags:
,

My schedule next week in the long days of IETF-71…

Friday, March 7th, 2008

ietflogo-2.jpgOn Sunday night I head down to Philadelphia for the IETF-71 meeting for the whole week. It will be a crazy week full of discussions and conversations about all the various standards under development. The RUCUS BOF I’ve mentioned before will be on Monday as is the SIPPING Working Group. MEDIACTRL Working Group (of key interest to us here at Voxeo) is on Wednesday as is SPEERMINT and PEPPERMINT (Hey, it’s IETF, you have to have cute names!). Thursday brings SIP, BEHAVE, AVT and ENUM and Friday morning winds it all up with the P2PSIP working group.

Being who I am, I’ll pretty much sit in all of the “Realtime Applications and Infrastructure” (RAI) working groups as sometimes activity in one group turns out to have great relevance to work in other groups (or to work here at Voxeo). I’ll be online the Jabber chat rooms probably much of the whole time as well.

If you’ve never seen the full agenda for an IETF meeting, it’s pretty incredible (at least to me!). In any given timeslot there are typically eight simultaneous meetings of various working groups, BOFs, research groups, etc. This makes sense if you remember that the IETF is developing standards for pretty much all aspects of the Internet. While I usually never leave the world of RAI, there are groups dealing with security, DNS, email, IPv6, network routing, time (seriously!), host configuration and pretty much every other subject you can imagine relating to the Internet. Take a look!

And yes, the days do begin with a breakfast at 8am and meetings that go until 7pm (often with additional ad hoc meetings afterwards). The good news is that the breaks between sessions usually have food and drink to keep you recharged.

For those attending who wish to stalkfind me, here below is the agenda I think I’ll be following (subject to the fact that it can, of course, change). Like I said earlier, it’s pretty much all of the RAI area.


MONDAY, March 10, 2008
0800-0900 Continental Breakfast - Franklin Hall Foyer

0900-1130 Morning Session I

RAI mmusic Multiparty Multimedia Session Control WG

1300-1500 Afternoon Session I

RAI rucus Ruducing Unwanted Communications using SIP BOF

1520-1720 Afternoon Session II

RAI ecrit Emergency Context Resolution with Internet Technologies WG

1740-1950 Afternoon Session III

RAI sipping Session Initiation Proposal Investigation WG

TUESDAY, March 11, 2008
0800-0900 Continental Breakfast - Franklin Hall Foyer

0900-1130 Morning Session I
One of these:

IRTF rrg Routing Research Group
OPS v6ops IPv6 Operations WG
RAI geopriv Geographic Location/Privacy WG

1300-1500 Afternoon Session I

RAI bliss Basic Level of Interoperability for SIP Services WG

1520-1720 Afternoon Session II

RAI avt Audio/Video Transport WG

1740-1840 Afternoon Session III
One of these:

IRTF asrg Anti-Spam Research Group
RAI simple SIP for Instant Messaging and Presence Leveraging Extensions WG

1850-1950 Afternoon Session IV

RAI xcon Centralized Conferencing WG

WEDNESDAY, March 12, 2008
0800-0900 Continental Breakfast - Franklin Hall Foyer

0900-1130 Morning Session I

RAI mediactrl Media Server Control WG

1300-1500 Afternoon Session I

RAI speermint Session PEERing for Multimedia INTerconnect WG

1510-1610 Afternoon Session II

RAI peppermint Provisioning Extensions in Peering Registries for Multimedia INTerconnection BOF

1610-1700 PGP Session
(Yes, I’m one of those people who does actually go to PGP key signings.)

pgp PGP Key Signing

1700-1930 IETF Operations and Administration Plenary - Salon G/H

THURSDAY, March 13, 2008
0800-1700 IETF Registration - Franklin Hall Foyer

0800-0900 Continental Breakfast - Franklin Hall Foyer

0900-1130 Morning Session I

RAI sip Session Initiation Protocol WG

1300-1500 Afternoon Session I
One of these:

IRTF hiprg Host Identity Protocol
SEC saag Security Area Open Meeting
TSV behave Behavior Engineering for Hindrance Avoidance WG

1510-1610 Afternoon Session II
One of these:

RAI avt Audio/Video Transport WG
RAI enum Telephone Number Mapping WG

1700-1930 Technical Plenary - Salon G/H

FRIDAY, March 14, 2008

0800-0900 Continental Breakfast - Franklin Hall Foyer

0900-1130 Morning Session I

RAI p2psip Peer-to-Peer Session Initiation Protocol WG

Want to understand SIP and NAT traversal? Listen to this interview…

Thursday, December 20th, 2007

MD_bluebox157-2.jpgHave you ever wanted to understand why SIP doesn’t work so well across NAT devices and firewalls? Have you heard of STUN, TURN or ICE but didn’t know what they were or how they worked? Over on my Blue Box podcast site I’ve just uploaded Blue Box Special Edition #22 which explores and explains all these details. In this interview I sat down with Dr. Jonathan Rosenberg, a Cisco fellow and author of a wide range of RFCs and Internet-Drafts related to SIP to talk about SIP and NAT traversal. We explore what the problem is, how ALGs and SBCs attempt to solve the problem and how the IETF has looked to address the issue through first STUN, then TURN and now finally ICE. I think you’ll find it a very educational and informative session.

On a similar note, you may also be interested in Blue Box Special Edition #20 where I sat down with Cullen Jennings to talk about overall security issues with SIP. These two podcasts together give you a solid overview of the current security issues with SIP.

Technorati Tags:
, , , , , , , ,

Greetings from Dan Burnett

Wednesday, December 12th, 2007

Hi, I’m Dan Burnett. I’ll be posting here occasionally about the speech-related standards in W3C and IETF.

I’m an editor of VoiceXML 2.0/2.1, SSML 1.0/1.1, and MRCPv2, an author of EMMA 1.0, PLS 1.0, SCXML 1.0, and the forthcoming VoiceXML 3, and a contributor to almost every other specification from the Voice Browser and Multi-modal Working Groups.

What is an “SDO”? (and other glimpses into the TLAs of standards)

Tuesday, December 11th, 2007

Out at IETF last week, there were several conversations where the people mentioned work that “another SDO” was doing. It occurred to me that outside of standards circles that acronym has little meaning, so I thought I’d just mention it for those new to the world of standards.

An “SDO” is a “standards development organization” (or sometimes “standards developing organization”), essentially an entity that exists out there to develop standards. The one we’ve been writing about here is the IETF, which sets standards for Internet-related protocols. Another one with which we in Voxeo are involved is the W3C, which has standardized HTML, XML and other web-based standards. The 3GPP is also important in the world of VoIP and mobile networks. There are, naturally, thousands of such organizations out there.

The tricky part, of course, comes when one SDO goes to use standards developed within another SDO. On the one hand, this is a great example of reusing existing work. For example, there is a draft within the MEDIACTRL Working Group of the IETF that will standardize the use of VoiceXML (a W3C standard) within the IETF’s SIP framework for media control. However, there can also be conflict when the standard being referenced evolves (or does not evolve) in the direction desired by another SDO. An example came up at the IETF meeting last week where the IETF was debating NOT including a particular element in SIP and someone who had recently attended a 3GPP meeting indicated that the 3GPP was expecting this capability to be included in SIP.

Anyway, that’s what a SDO is. If you would like to learn more about SDOs, NSBs and other TLAs (three-letter-acronyms), the Wikipedia article on Standards Organizations is a great place to start.

Heading out to IETF 70 in Vancouver Dec 2-7th

Wednesday, November 21st, 2007

200711211616I’ll be heading out to the 70th meeting of the Internet Engineering Task Force (IETF) in Vancouver, British Columbia, Canada, from December 2-7. If any readers will be out there (either for the IETF or in Vancouver in general), please do drop a note and let me know. This will be my first meeting in my new role with Voxeo and I’m very much looking forward to renewing old acquaintances and also getting more directly involved with the work of the IETF. RJ Auburn, our CTO (and my manager), will also be joining me there for the first few days which will be nice since he’s in our Orlando office and I work out of a home office in Vermont.

If you will be out at IETF 70, please do drop me a note. You can expect to find me in pretty much most all of the RAI (Realtime Appications and Infrastructure) area sessions (which includes SIP and other similar protocols).

Technorati Tags: , ,