Получите номер телефона с помощью sid участника конференции twilio

Как я могу получить номер телефона участника конференции с помощью Twilio API? Я использую официальную библиотеку PHP Twilio.


person asdf    schedule 05.08.2019    source источник


Ответы (1)


Привет, благовестник разработчиков Twilio. ????

Что вы можете сделать, так это получить всех активных участников с помощью такого фрагмента (более подробную информацию вы можете найти в документации для участники конференции.

<?php

// Update the path below to your autoload.php,
// see https://getcomposer.org/doc/01-basic-usage.md
require_once '/path/to/vendor/autoload.php';

use Twilio\Rest\Client;

// Find your Account Sid and Auth Token at twilio.com/console
// DANGER! This is insecure. See http://twil.io/secure
$sid    = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$token  = "your_auth_token";
$twilio = new Client($sid, $token);

$participants = $twilio->conferences("CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
                       ->participants
                       ->read(array(), 20);

foreach ($participants as $record) {
    print($record->callSid); 
    // "CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
} 

Теперь, когда вы это сделали, вы увидите, что запись участника не включает номер телефона участника. Но он включает call_sid. Идентификатор вызова помогает идентифицировать вызывающего абонента и получать сведения о вызове.

У вас есть два варианта (я недавно описал нечто подобное здесь).

1. Сохраняйте информацию о вызове при маршрутизации вызывающих абонентов в конференцию.

Когда вы направляете людей в конференцию, вы можете сохранить их номера и идентификаторы вызовов в своем приложении. Таким образом, у вас может быть реестр со всеми людьми, которые участвовали в вашей конференции, и вы можете быстро получить доступ к их номерам телефонов, когда они вам понадобятся.

2. Сделайте еще один вызов API, чтобы получить сведения о звонке и номер вызывающего абонента.

Когда у вас есть идентификатор безопасности вызова, вы всегда можете сделать получать информацию о звонках одну за другой.

<?php

$call = $twilio->calls("CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
               ->fetch();

print($call->from);

Первый подход избавляет вас от вызовов API за счет затрат на поддержку вашего собственного уровня сохраняемости. Второй подход делает больше вызовов API, но его проще настроить.

Как всегда, это зависит от ситуации.

Надеюсь, это поможет. :)

person stefan judis    schedule 06.08.2019
comment
Спасибо за развернутый ответ. Функция Dosen't Calls возвращает номер телефона участника в поле «Кому» или «От» в зависимости от того, был ли это входящий или исходящий вызов? - person asdf; 09.08.2019
comment
Да, но участники этого не делают. :) - person stefan judis; 12.08.2019