<?php session_start(); if($_REQUEST['event']=='NewCall') { echo '<response>'; $caller=get_user($_REQUEST['cid']); if($caller != "") echo '<playtext>Welcome '.$caller.'</playtext>'; else echo '<playtext>Welcome</playtext>'; echo '<response><collectdtmf t="#"><playtext>Please enter your ticket I D and terminate with hash</playtext></collectdtmf></response>'; exit; } else if($_REQUEST['event']=='GotDTMF') { $ticket_id=$_REQUEST['data']; if($ticket_id) { $agent_phone=get_agent_phone($ticket_id); if($agent_phone != '-1') { echo '<response filler="yes"><playtext>Please wait, connecting to your agent</playtext><dial moh="default">'.$agent_phone.'</dial></response>'; exit; } else { echo '<response><collectdtmf t="#"><playtext>Sorry, did not get the agent.</playtext><playtext>Please enter your ticket I D</playtext></collectdtmf></response>'; exit; } }else { echo '<response><collectdtmf t="#"><playtext>Sorry, did not get the ticket I D</playtext><playtext>Please enter your ticket I D</playtext></collectdtmf></response>'; exit; } } function get_user($phone_no) { $phone_no = substr($phone_no, -10); $return = get_curl('http://yourcompany.freshdesk.com/contacts.xml'); $users = new SimpleXMLElement($return); foreach($users->user as $user){ if($substr(user->mobile,-10) == $phone_no) return $user->name; } return ""; } function get_agent_phone($ticket_id) { //Replace with your company name $return = get_curl('http://yourcompany.freshdesk.com/helpdesk/tickets/'.$ticket_id.'.xml'); $ticket = new SimpleXMLElement($return); $responder=$ticket->{'responder-id'}; //echo 'test:'.$responder; $return=get_curl('http://yourcompany.freshdesk.com/contacts/'.$responder.'.xml'); //echo $return; $agent=new SimpleXMLElement($return); $agent_no=$agent->{'phone'}; //echo 'agent:'.$agent_no; if($agent_no) return $agent_no; else return '-1'; } function get_curl($url) { $process = curl_init($url); curl_setopt($process, CURLOPT_HEADER, false); //Replace with your credentials curl_setopt($process, CURLOPT_USERPWD, "XXXXXXXXXXXXXXXXXXXX:YYYYYYY"); curl_setopt($process, CURLOPT_TIMEOUT, 30); //curl_setopt($process, CURLOPT_POST, 1); //curl_setopt($process, CURLOPT_POSTFIELDS, $payloadName); curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE); $return = curl_exec($process); return $return; } ?>