我们使用 Twilio 进行通话,使用 Polycom VVX250 电话。我们在 Twilio 和 Polycom 电话上配置了 SIP 域和凭据。我们的系统检查数据库以根据链接的 IP 电话路由呼叫并发送 Twiml 响应。语音邮件录音使用 Twiml Record 动词,但录音存储在 Twilio 中。
问题:我们如何直接在 Polycom 电话的语音邮件部分访问这些 Twilio 语音邮件录音?
注意:我们不使用 PBX,一切都是基于云的。
要通过 Polycom VVX250 电话从 Twilio 手动访问语音邮件录音,从技术上讲,需要 Twilio 语音邮件录音与您的 Polycom 电话系统之间的集成。您可以有效地将 Polycom 电话提供的功能与 Twilio 托管的语音邮件之间的点连接起来。一般来说,您会:
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}`);
});