![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/demo.cartinsight.co/vendor/vonage/client-core/src/Voice/NCCO/ |
<?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']); } } }