Я пытаюсь записать входящий звонок, но пока получаю только 404 ошибка вызова не найдена когда запись активирована.
Пока это мой код (я использую Laravel и последний Plivo SDK):
public function __construct(Request $request)
{
$this->authId = config('AUTH_ID');
$this->authToken = config('AUTH_TOKEN');
$this->sourceNumber = config('sms.SMS_SOURCE_NUMBER');
$this->_answerURL = config('voiceCall.CALL_ANSWER_URL');
$this->_recordURL = config('voiceCall.INBOUND_RECORD_URL');
$this->_hangupURL = config('voiceCall.HANGUP_URL');
$this->_plivo = new RestClient($this->authId, $this->authToken);
$this->_response = new Response();
$this->_mp3Url = 'https://s3.amazonaws.com/plivocloud/Trumpet.mp3';
$this->_request = $request;
}
Метод ответа:
public function answer()
{
$response = $this->_response;
$response->addPlay($this->_mp3Url);
$response->addRecord([
'action' => $this->_recordURL,
'startOnDialAnswer' => "true",
'redirect' => "false",
'maxLength' => 600
]);
Log::useDailyFiles(storage_path().'/logs/debug.log');
Log::info([
'Record' => 'This is from inbound answer',
'Response' => $response
]);
return response($response->toXML(), 200)
->header('Content-Type', 'text/xml');
}
Метод записи:
public function record()
{
Log::useDailyFiles(storage_path().'/logs/debug.log');$uuid = $this->_request->input('CallUUID');
Log::info(['This is Call UUID' => $uuid]);
$response = $this->_plivo->calls->startRecording($uuid);
Log::info([
'Record' => 'This is from record inbound record',
'Response' => $response,
'CallUUID' => $this->_request->input('CallUUID'),
'Request' => $this->_request->all(),
]);
}
запрос возвращает правильное позвонить UUID, а также
$response = $this->_plivo->calls->startRecording($uuid);
это код, который используется в документах. У кого-нибудь есть идеи, что я здесь делаю не так?
Пливо Инженер по продажам здесь.
Это входящий звонок на ваш номер Plivo? Я вижу, что вы возвращаете XML, содержащий элементы Play и Record. Этот Record XML позаботится о записи звонка после окончания воспроизведения.
Вы делаете запрос API Record, чтобы записать это снова? Какой Call UUID вы передаете на этот запрос API?
Для входящего вызова UUID вызова отправляется на ответный URL. Вы используете этот вызов UUID?
Других решений пока нет …