Plugging iotum into PhoneGnome
by Mark Petrovic
A PhoneGnome Application Partner Case Study: iotum
The internet is at its best when an innovator is free to create loose couplings between open systems that reside in different domains of control. An instant classic in this regard is the mashup; developers increase the value of publicly available geographic data by superimposing recreational or economic features of interest. In doing so, map providers do what they do best (aggregate geographical data), while developers do what they do best (manifest ideas in running code based on that data).
The mashup is the result of a data owner making a confident declaration that she cannot conceive of all of that data's possible uses. In a departure from legacy thinking, the owner adds value to her map data by providing access to it, but she permits third-party developers to deliver that added value to the end user. Making data available at bearable prices encourages the creation of these loose couplings, and is known in some circles as Web 2.0: opening data, which was once handled and served exclusively by its owners, for mass movement and consumption.
We are proud to introduce PhoneGnome FieldSig with the same enthusiasm. The combined voice telephony and data needs of the modern user are vastly richer and more nuanced than we can conceive. PhoneGnome FieldSig consists of two expressive interplatform signalling mechanisms, which occur in real time between the PhoneGnome platform and the platforms of our business partners, DeepSig and LiteSig.
PhoneGnome DeepSig is SIP-based and allows not only for simple interplatform informational exchanges, but for partners hooking into deep call flows. Using PhoneGnome DeepSig, partners can place themselves in the SIP signalling and media path of their customer's calls, enabling any number of novel and compelling value-added voice services.
PhoneGnome LiteSig, by contrast, is XML-RPC based and shines in the area of simple query-response interplatform messaging. PhoneGnome LiteSig is ideal when partners don't need access to the call media, but simply to the real-time fact that the call is occurring, with an option for simple call disposition instructions.
By publishing the PhoneGnome FieldSig protocol, we invite third-party developers to add value to PhoneGnome telephony data on behalf of their customers--customers who demand a mixing and matching of their IP voice data and metadata with their contemporary business rules and data.
The focus of this article will be LiteSig, which is extremely lightweight, expressive, and fully capable of rapidly creating couplings between the PhoneGnome platform and the platforms of our developer partners. Under LiteSig, the PhoneGnome platform functions as an XML-RPC client to our partner's XML-RPC server, calling out to the server when telephony events of interest occur. In turn, the server looks inward toward its user base and delivers interpreted value to the called user in question. This value is rich, varied, and best understood and articulated by our partners. LiteSig is simple, easy to deploy, and extends the PhoneGnome developer franchise to any competent generalist developer, independent of her SIP experience.
In the next sections, I'll showcase how PhoneGnome business partner iotum exploits the new PhoneGnome LiteSig to deliver compelling and novel voice-derived services to its user base, and most importantly, without becoming a telephony provider itself. FieldSig allows iotum to focus on its core competency, rather than on the protocol and operational details of modern IP voice services.
PhoneGnome LiteSig in Action: iotum
iotum is a PhoneGnome business partner whose iotum Relevance Engine is at the center of a new Voice 2.0 call processing service. It is the winner of both the 2005 Internet Telephony Product of the Year and the 2006 DemoGod Awards. The iotum service routes voice calls based on customer business rules. iotum describes its Relevance Engine as:
the world's first platform to intelligently filter, rank, and prioritize calls based on their relevance to you. Using your contextual information and preferences, iotum knows who's calling, whether you want to take the call, and which phone you want to use. You get the calls you want, where you want.
In the course of using their iotum service, users generate state and availability information that determines subsequent inbound call routing. Some of that information is configured declaratively in the form of the user's web-based iotum account setup. This information includes a distinction between work time and personal time, and the set of terminal destinations for inbound calls, such as desktop phone number, mobile phone number, voice mail address, and email address. Other state and availability information is developed from the user's calendar entries and IM state.
The iotum service leverages Windows developer techniques to programmatically ascertain a user's Outlook calendar entries and MSN Messenger state. This information is relayed, as needed, in real time to iotum servers, which are connected to the user's desktop with a software plugin provided by iotum as part of their service. All of this current state information is used in the call-routing decision process for inbound calls to that iotum user.
Pages: 1, 2