March 16, 2006

PhoneGnome API

It seems that Alec Saunders received an email regarding the availability of PhoneGnome API. This is an interesting development that could potentially generate useful applications. Indeed, they encourage contributions to the library from third parties and Mark Petrovic has contributed a Java midlet for Java enabled cell phones. What follows is a summary of what is available based on a quick review of their website.

Currently seven API calls have been defined. Basically, these calls are XML-RPCs directed at a server, which will pass on the command request to the appropriate PhoneGnome device. Every call must identify the device by the PhoneGnome number and the caller needs to authorize by supplying the MD5 hash of the account’s PIN. After the execution of the command request, the server will reply with the result.

The calls that have been defined so far I presume are only an initial set of useful functions. I am hoping that they and the user community will add to this list.

The first one is called phonegnome.Dial that will prompt the PhoneGnome to originate a call to a designated number. In other places it is known as third party call setup. It is useful in scenarios like Address Book based dialing or click-to-call applications. In this context, it will be nice if the API allows for including some sort of identification string to indicate the specific location where the link was clicked. This will seriously disintermediate many of the click-to-call services. An associated call is phonegnome.setCdial. This call identifies the ITSP that should be used for subsequent calls, overriding the default ITSP. It will be nice if there is a way to include the pin code issued by that ITSP. This way, the user can dynamically select the ITSP. There is an associated enhancement: a call to handle two stage dialing.

Two directory related calls are phonegnome.addContact and phonegnome.getContact. The first one allows one to add a contact to the online phonebook and the second one retrieves all contacts that match a search string. Some of the enhancements I see here are the following: designate the specific route (PSTN or VoIP) to be used for the call, the ITSP to be used for the call and restricting the search to specific parameters.

The next useful call (phonegnome.Vmsg) allows a user to request the built-in answering machine to forward a new message to a designated email address, thereby creating “unified messaging” service.

phonegnome.cdrQuery allows the user to get a report on the list of calls that fit a set of descriptions. The last one (phonegnome.deliverSound) commands an audio file in wave format to be delivered to PhoneGnome. I am not sure the specific scenario where this can be used.

Alec quotes David as saying, “Basically, plugging PhoneGnome in "opens up" your landline, giving it an API, enabling various kinds of convergence applications…all kinds of things your landline provider, and even today’s VoIP providers are not giving us.” I agree with the general sentiment of this claim, I will take issue with the last portion, if only to suggest where enhancements can be made. I would like to bring to your attention the service offered by Verizon, iobi (my favorite). PhoneGnome can easily offer a similar such service if it reports the status of the calls to a registered client, either directly or via the “RPC2” server. This way, the user who is away from the PhoneGnome can monitor the call activity and even control the disposition of such calls from a remote location. The possibilities are endless and it is only beginning.

Posted by aswath at March 16, 2006 05:59 PM
Related Posts Widget for Blogs by LinkWithin
If you do not have an OpenID, then please use



Copyright © 2003-2014 Moca Educational Products.