Tuesday, April 12, 2011

Build a virtual receptionist for your business in 30 lines of code using KooKoo

You have just started up a new venture and things are looking good. You have been able to get a good domain name and you have established your presence in the web world. But what about the telecom world. How are people able to reach you. You would have published your mobile number on the website. But this leads to a lot of problems as people tend to call you at odd hours and you would lose all your privacy. Also you may not be able to attend a call at all times and you may lose business. To solve this and other problems why don't you build a virtual receptionist using KooKoo. Just follow the steps to get a virtual receptionist:


1. Register for KooKoo
2. Upgrade your account to get a phone number. Plans start as low as Rs.500/month. You can also use the development number of KooKoo with a pin to get free access.
3. Download the code from here
4. Host the code on your web server.
5. Login to KooKoo and update your application URL to point to vr.php


Thats it. Now you have virtual receptionist for your company. And you just pay for what you use.


The basic code is explained below:



<?php
session_start();
require_once("response.php");//include KooKoo library.This is available in the download
$r=new Response(); //create a response object
$cd = new CollectDtmf();
if($_REQUEST['event']=="NewCall") //when a new call comes...
{
        $_SESSION['cid']=$_REQUEST['cid'];
        //store details of caller and time in database if you want so you never miss a call
        //Update this with your own company name and your own prompt.
        $cd->addPlayText("Thank you for calling MY COMPANY. Please press 1 for sales, press 2 for support, press 3 for others");
$r->addCollectDtmf($cd);
$r->send();
}
else if($_REQUEST['event']=="GotDTMF") //Caller has provided some input
{
$selection=$_REQUEST['data'];
if($selection == "1")
{
$r->addDial("9912343425");//enter your sales guys number
}
else if($selection == "2")
{
$r->addDial("9912343425");//enter your support guys number
}
else
{
$r->addDial("9912343425");//enter your default number.
                //We use the same number for all 3 options so only one guy receives all the calls
               //But for the outside world you are a big company with different departments :)
//or do 
//$r->addRecord($_SESSION['cid']); //to enable voice mail
}
$r->send();
}
else if($_REQUEST['event']=="Dial" && $_REQUEST['status'] == "noanswer") //when agent doesn't answer
{
$r->addRecord($_SESSION['cid']);
$r->send();
}
else
{
$r->addHangup();
$r->send();
}
?>

You can take this base code and expand it to add call recording capabilities, send alerts, store all call details in your database etc.