访问 Polycom VVX250 电话中的 Twilio 语音邮件录音

问题描述 投票:0回答:1

我们使用 Twilio 进行通话,使用 Polycom VVX250 电话。我们在 Twilio 和 Polycom 电话上配置了 SIP 域和凭据。我们的系统检查数据库以根据链接的 IP 电话路由呼叫并发送 Twiml 响应。语音邮件录音使用 Twiml Record 动词,但录音存储在 Twilio 中。

问题:我们如何直接在 Polycom 电话的语音邮件部分访问这些 Twilio 语音邮件录音?

注意:我们不使用 PBX,一切都是基于云的。

twilio sip voicemail polycom
1个回答
0
投票

要通过 Polycom VVX250 电话从 Twilio 手动访问语音邮件录音,从技术上讲,需要 Twilio 语音邮件录音与您的 Polycom 电话系统之间的集成。您可以有效地将 Polycom 电话提供的功能与 Twilio 托管的语音邮件之间的点连接起来。一般来说,您会:

  • 将语音邮件录音存储在可访问的位置
  • 将语音邮件录音传输到您的服务器 (Twilio Webhook)

Express Js Twilio webhook 示例

const express = require('express');
const axios = require('axios');
const fs = require('fs');
const path = require('path');

const app = express();
const PORT = process.env.PORT || 3000;

app.post('/voicemail', express.urlencoded({ extended: true }), async (req, res) => {
  const recordingUrl = req.body.RecordingUrl;
  const recordingSid = req.body.RecordingSid;
  const callSid = req.body.CallSid;

  if (recordingUrl && recordingSid) {
    // Fetch the recording from Twilio
    const response = await axios({
      url: `${recordingUrl}.wav`,
      method: 'GET',
      responseType: 'stream'
    });

    // Save the recording to your server
    const filePath = path.resolve(__dirname, 'recordings', `${recordingSid}.wav`);
    const writer = fs.createWriteStream(filePath);

    response.data.pipe(writer);

    writer.on('finish', () => {
      console.log(`Recording saved: ${filePath}`);
    });

    writer.on('error', (err) => {
      console.error(`Error saving recording: ${err.message}`);
    });
  }

  res.sendStatus(200);
});

app.listen(PORT, () => {
  console.log(`Server listening on port ${PORT}`);
});
© www.soinside.com 2019 - 2024. All rights reserved.