VoicePHP by TringMe

TringMe, an Indian start-up just released its new VoicePHP service, which allows you to develop voice applications using PHP.

This is definitely cool stuff, though I see quite a few issues with implementation. HTTP, is, by design, a non-persistent transaction, and a phone call requires persistency while the call is in progress; therefore, there is no way for PHP alone, to handle “Voice” requests.

The only way to really make this work, is to have an external server (effectively a PBX of some kind) that handles the call traffic, that is simply polled (in some fashion) by PHP on a per request basis. Those requests could be polled via Ajax, or even a comet-like system, but it’s still not handled directly via PHP. I assume this is where their VoicePHP “Server” comes in.

So, in this sense, it sounds simply like a PHP wrapper around the TringMe REST API, which is something that can already be done in other ways, like accessing the Asterisk Manager interface via PHP using asterisk-php-api, but with one interesting twist-

It looks like (according to their FAQ) you can access the audio streams directly from PHP- which is pretty interesting, depending on how they’ve implemented it. Given the (generally) short transaction lengths of an HTTP request, I’m not sure how you would realistically pull audio from a real-time source (like a phone call), or play-back an audio clip on to a call, unless you used some sort of scheduling system.

ie- use PHP to decode and audio file (say .wav or .mp3), and then send the file to the VoicePHP server, which schedules the audio clip for playback, and returned immediately. It’s then played over the call in “real-time”. PHP could then poll the VoicePHP server to get status about the playback.

I’ve signed up for a beta account to play around with it, hopefully I’ll see something from them soon.

SIP Softphone for iPhone

I’ve been using an iPhone for quite sometime now- I bought one just before the 3G’s came out- I was going to wait, but I figured I’d be able to pickup a first gen pretty cheap with the 3G’s coming out, and I wanted to get an unlocked one anyway, as I didn’t want to end up getting stuck with the Rogers plans/term contract.

I just installed a new app the other day, that gives you a native SIP/IAX2 client for your iPhone- which is pretty awesome, and something I’ve been waiting (and considering writing) for a while now. It’s called SiAX, and currently only available through Cydia (jailbroken phones).

The app works fairly well- the audio quality is good, and seems to be pretty solid. Unfortunately, you only seem to be able to receive calls through the app while you have the application running; it doesn’t maintain any SIP registration information when you close the app, which is a little weird. But for a quick call here and there, especially to avoid roaming charges on the road, it’s pretty decent.

I’ve actually disabled my data plan with Rogers, as it’s a rare occasion that I’m not around a wifi connection- even when I’m travelling, there’s usually at least one Starbucks around. Of course, this was only after incurring hundreds of dollars in roaming data usage.

memcached (and facebook)

I’m really impressed that so many big companies, like facebook and google, have taken the time to release patches and source code, back out to the open-source community. Being able to improve memcached throughput from 50,000 requests/s to 200,000 requests/s is an amazing achievement.

The changes that the facebook guys have made to memcache are going to help a lot of people out there, including fonolo. We’re using memcache heavily in-house, not only for web-based caching, but for a lot of the back-end VoIP and speech recognition applications.

We, obviously, don’t require the throughput that facebook does- given they just recently released data that showed they were adding more than 600,000 new users per day, more than 70% of which are coming from outside the USA. That’s growth at a staggering rate!

I have to say, that I’m a fan of facebook, and what they’ve managed to achieve, in a relatively short amount of time- I just have to wonder how long it will all last? Increasing your user-base by 600,000 users per-day; where is the plateau? Will it all eventually just topple over on itself?

Imagine when the next big social networking app comes out; will there be a mass-exodus from one to the other? or will facebook be so far in-grained in it’s users, that they won’t have any other choice but to stay?

No matter what happens,  it’s nice to know facebook is working out all the bugs for us.