File "event.php"
Full Path: /var/www/vhosts/hogsandbbqs.co.uk/httpdocs/calltest/event.php
File size: 2.53 KB
MIME-type: text/x-php
Charset: utf-8
<?php
// Vonage sends a JSON payload to your event endpoint, so read and decode it
$request = json_decode(file_get_contents('php://input'), true);
//$request = $_REQUEST;
echo '<pre>';
print_r($request);
echo '</pre>';
// Work with the call status
if (isset($request['status'])) {
switch ($request['status']) {
case 'ringing':
record_steps("UUID: {$request['conversation_uuid']} - ringing.");
break;
case 'answered':
$arrData = '{
"to":[{"type": "phone","number": "918758607477"}],
"from": {"type": "phone","number": "918866897945"},
"answer_url": ["https://hogsandbbqs.co.uk/calltest/answer-2.json"],
"machine_detection":"continue"
}';
$sendSMS = sendSMS('https://api.nexmo.com/v1/calls', $arrData);
$sendSMSArr = json_decode($sendSMS, true);
echo '<pre>';
print_r($sendSMSArr);
echo '</pre>';
break;
case 'complete':
record_steps("UUID: {$request['conversation_uuid']} - complete.");
break;
default:
break;
}
}
function record_steps($message) {
file_put_contents('./call_log.txt', $message.PHP_EOL, FILE_APPEND | LOCK_EX);
}
function sendSMS($url, $jsonData) {
$token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2MjIyMjkyMzAsImV4cCI6MTYyMjI1MDgzMCwianRpIjoiSUNmQzdWWHp3bUs1IiwiYXBwbGljYXRpb25faWQiOiJiYzVjMzQ2Mi0zODgxLTQ0NzItYWFjNi0wYzkzOGZlMmMyYWYifQ.tjafXEXjVF9_IYt3paWqBtllIEdGv8OjdnWGuwByBwrjONBs1gU1xVQI2nN9upL5vWYD-20cnAg9nDaYrQaLB47-4Tnw_X12r3Ys0DlNcZy8pE3Vv8V2bdK-4UVVt_6FdrlI9TnMP3klJBGs7VX8WZZLKIRy3ulheGybJPmA2VB-nSpGCBgYtODd22U-roXSbsW78RXTSZAvIMTd9lEDaA5MYcaSH9yzAaGU-n397B6IAUsFK1NxIPpQ5_Zl5yRVZHgY_MX5yJu8tsQC-9HCvrs64c2S0OG_iC6fVONK1eWA7aL-4HfKSb_DZm-R2WtEkrqgQjiNEX65VyHt_d527w';
try {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $jsonData,
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer '.$token
),
));
$response = curl_exec($curl);
curl_close($curl);
}
catch(Exception $e){
throw new Exception("Invalid URL",0,$e);
}
return $response;
}
?>