从录制状态回调中检索 From 和 To
Retrieving From and To from recording status callback
我需要在本地保存拨出电话录音,为此我需要获取 From 和 To 进行录音。
我正在使用本指南创建示例应用程序:https://www.twilio.com/docs/voice/client/javascript/quickstart
唯一的区别是为了记录调用的下一个处理程序:
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
// Wrap the phone number or client name in the appropriate TwiML verb
// if is a valid phone number
const attr = isAValidPhoneNumber(event.To) ? 'number' : 'client';
const dial = twiml.dial({
callerId: context.CALLER_ID,
record: 'record-from-ringing-dual',
recordingStatusCallback: 'https://hooks.mydomain.com/twilio/recording'
});
dial[attr]({}, event.To);
callback(null, twiml);
};
通话结束后我成功收到通知:
{
"AccountSid": "AC****",
"CallSid": "CA****",
"RecordingChannels": 2,
"RecordingDuration": 24,
"RecordingSid": "RE***",
"RecordingSource": "DialVerb",
"RecordingStatus": "completed",
"RecordingUrl": "https://api.twilio.com/2010-04-01/Accounts/****"
}
然而,当我使用 API 接听电话和记录详细信息时,没有发件人和收件人信息:
TwilioClient.Init(accountSid, authToken);
var call = CallResource.Fetch(
pathAccountSid: accountSid,
pathSid: "CA****"
);
//Console.WriteLine(call.From);
var recording = RecordingResource.Fetch(pathAccountSid: accountSid,
pathSid: "RE****");
我从 Twilio 控制台发现这个调用生成了两条记录:
我的录音存在于父通话中,但 From 和 To 用于子通话。
现在,知道父 ID 后我无法获取子调用。
有什么建议吗?
此处为 Twilio 开发人员布道师。
您可以使用父调用 sid 获取子调用。您可以将其用作 Calls list resource 上的过滤器。在 C# 中,它看起来像:
TwilioClient.Init(accountSid, authToken);
var calls = CallResource.Read(
parentCallSid: parentCallSid,
pathAccountSid: accountSid
);
我需要在本地保存拨出电话录音,为此我需要获取 From 和 To 进行录音。
我正在使用本指南创建示例应用程序:https://www.twilio.com/docs/voice/client/javascript/quickstart
唯一的区别是为了记录调用的下一个处理程序:
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
// Wrap the phone number or client name in the appropriate TwiML verb
// if is a valid phone number
const attr = isAValidPhoneNumber(event.To) ? 'number' : 'client';
const dial = twiml.dial({
callerId: context.CALLER_ID,
record: 'record-from-ringing-dual',
recordingStatusCallback: 'https://hooks.mydomain.com/twilio/recording'
});
dial[attr]({}, event.To);
callback(null, twiml);
};
通话结束后我成功收到通知:
{
"AccountSid": "AC****",
"CallSid": "CA****",
"RecordingChannels": 2,
"RecordingDuration": 24,
"RecordingSid": "RE***",
"RecordingSource": "DialVerb",
"RecordingStatus": "completed",
"RecordingUrl": "https://api.twilio.com/2010-04-01/Accounts/****"
}
然而,当我使用 API 接听电话和记录详细信息时,没有发件人和收件人信息:
TwilioClient.Init(accountSid, authToken);
var call = CallResource.Fetch(
pathAccountSid: accountSid,
pathSid: "CA****"
);
//Console.WriteLine(call.From);
var recording = RecordingResource.Fetch(pathAccountSid: accountSid,
pathSid: "RE****");
我从 Twilio 控制台发现这个调用生成了两条记录:
我的录音存在于父通话中,但 From 和 To 用于子通话。
现在,知道父 ID 后我无法获取子调用。
有什么建议吗?
此处为 Twilio 开发人员布道师。
您可以使用父调用 sid 获取子调用。您可以将其用作 Calls list resource 上的过滤器。在 C# 中,它看起来像:
TwilioClient.Init(accountSid, authToken);
var calls = CallResource.Read(
parentCallSid: parentCallSid,
pathAccountSid: accountSid
);