Пример #1
0
 /**
  * Connect to ARI and optionally AMI
  *
  * @param string $ariAddress
  * @param string|null $amiAddress
  */
 public function connect($ariAddress, $amiAddress = null)
 {
     $this->eventLoop = \React\EventLoop\Factory::create();
     $this->ariClient = new AriClient($this->eventLoop, $this->logger);
     $this->ariClient->connect($ariAddress);
     $this->wsClient = $this->ariClient->getWsClient();
     $this->stasisApplicationName = $this->ariClient->getStasisApplicationName();
     if ($amiAddress !== null) {
         $this->amiClient = new AmiClient($this->ariClient->getWsClient(), $this->eventLoop, $this->logger);
         $this->amiClient->connect($amiAddress)->done();
     }
 }
Пример #2
0
 /**
  * @param string $event
  */
 public function removeAllListeners($event = null)
 {
     if ($event !== null) {
         if (isset($this->listeners[$event])) {
             unset($this->listeners[$event]);
             $this->client->getWsClient()->removeAllListeners($event);
         }
     } else {
         foreach ($this->listeners as $event => $listeners) {
             $this->client->getWsClient()->removeAllListeners($event);
         }
         $this->listeners = [];
     }
 }