Welcome to the Voice 2.0 Big House
There is Good News in the IP voice services world this morning. It’s not new news to some of us, but to many I know it is.
The Good News is that the rest of us have been invited into The Big House. The Big House where you don’t need Session Border Controllers, Media Gateways, or a room-filling Advanced Intelligent Network platform. Or captive customers. You don’t need any of these to be a member of the Voice 2.0 producer economy.
All you need is an XML-RPC server process. And Java or Perl or Python or Ruby or Groovy, or whatever scripting language in which you think and which makes you happy.
Then, implement your philosophy.
Take an award winning company like Televolution, to whom I consult [disclaimer], that wants to send you as a developer voice event and signalling data, and award winning Iotum with their call relevance brainchild, and we’ve two companies with complementary services who have shown the way.
And it goes like this: Bob is a customer of both PhoneGnome and Iotum. Bob as an Iotum subscriber is continuously relaying his state and availability information to his Iotum service, via a network plugin that monitors his Outlook calendaring and MSN Messenger state. Bob has also configured call routing rules in his Iotum service. When a call comes in for Bob on his PhoneGnome line, PhoneGnome sends a short XML-RPC message to the Iotum server indicating who is calling Bob. The Iotum server applies Bob’s rules to his realtime state, and instructs PhoneGnome in a simple XML-RPC response in how to dispose of the call: desk phone, mobile phone, or voicemail. Bob takes control of where, when, and under what conditions his calls are terminated.
Because we are programmers, let’s look at the two messages that pass between the PhoneGnome and Iotum platforms on the wire.
Given an inbound call from 9185551212 to Bob at 8165551212, PhoneGnome sends, in realtime
<?xml version="1.0"?>
<methodCall>
<methodName>theMethod</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>From</name>
<value>
<string>"9185551212" <sip:9185551212@televolution.net></string>
</value>
</member>
<member>
<name>Contact</name>
<value>
<string>PHONEGNOME TEST</string>
</value>
</member>
<member>
<name>To</name>
<value>
<string>8165551212</string>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
and after applying Bob’s rules, Iotum replies
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>action</name>
<value>
<string>ACCEPT</string>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>
In this ACCEPT example, Iotum tells Phonegnome to put the call through its normal processing. But it could have been REDIRECTed had Bob’s rules indicated it.
That’s it. PhoneGnome doing what it does best, Iotum doing what it does best, and both doing that best extremely well because the technology and federation allow that focus.
Two text messages announce the Good News: if you know any language for which there exists an XML-RPC implementation — and they are many — you are a member of the modern Voice over IP developer community.
For the first hundred years of voice telephony, you were not invited. You didn’t have the money. You didn’t own a Network.
Welcome. You are now invited — we have running code to prove it.
[tags]phonegnome,iotum,voip,xmlrpc[/tags]
[...] As I wrote in the Voice 2.0 Manifesto last year, the use of published XML protocols is one of the foundations of this new approach to telephony. Platform strategies are most effective when large audiences of developers can be engaged. XML let’s us do that. Following Mark’s comment on Bruce’s blog, Mark wrote on his own blog about how the iotum and PhoneGnome integration actually works. In Welcome to the Voice 2.0 Big House he gives example protocol interactions, and commentary. He finishes up with: if you know any language for which there exists an XML-RPC implementation — and they are many — you are a member of the modern Voice over IP developer community. [...]
Voice 2.0 On A Roll -- Alec Saunders .LOG
May 1, 2006 at 6:09 am