如何使用Twilio客户端Javascript或Twiml发送语音消息-我们的理解和理解;可能的方法

如何使用Twilio客户端Javascript或Twiml发送语音消息-我们的理解和理解;可能的方法,twilio,twilio-api,twilio-programmable-voice,twilio-amd,Twilio,Twilio Api,Twilio Programmable Voice,Twilio Amd,我们正在处理一个需求,在这个需求中,我们将从Twilio客户端SDK[Javascript]发起一个调用。我们有一个ASP.NETMVC核心应用程序处理来自TwilioTwiml应用程序的传入Webhook请求。为了从客户端发起呼叫,我们使用Twiml拨号动词并提供from和To号码。此外,我们的要求是在检测到应答机后立即发送语音消息 由于我们使用了Twiml的拨号动词,我们无法通过检测应答机,因此无法发送语音消息。这是由拨号动词设计的,因为它是一种有人参与的呼叫机制。在阅读了一个文档之后,我发

我们正在处理一个需求,在这个需求中,我们将从Twilio客户端SDK[Javascript]发起一个调用。我们有一个ASP.NETMVC核心应用程序处理来自TwilioTwiml应用程序的传入Webhook请求。为了从客户端发起呼叫,我们使用Twiml拨号动词并提供from和To号码。此外,我们的要求是在检测到应答机后立即发送语音消息

由于我们使用了Twiml的拨号动词,我们无法通过检测应答机,因此无法发送语音消息。这是由拨号动词设计的,因为它是一种有人参与的呼叫机制。在阅读了一个文档之后,我发现RESTAPI允许检测和应答机,还允许发送语音消息。Twilio REST API应用于无人值守呼叫启动和基于规则的工作流。Twiml拨号谓词使用VoiceResponse类启动调用,而Twilio REST API使用CallResource启动调用。 在我开始研究可能的替代方案之前,我想确认我的理解

我们正在考虑通过以下步骤实现上述用例

进行Twilio REST API调用,以在启用应答机检测选项的情况下发起无人接听的电话呼叫。 如果API响应的值为human或unknown,那么我们将调用一个webhook,该webhook将使用Twiml拨号动词修补调用。
如果API以值应答为机器,则应使用Twiml,该Twiml包含可发送给被叫方的语音消息。

上述内容正确无误。然而,有没有一个具体的问题

Twilio的电话答录机检测现在普遍可用


我们使用TwiML应用程序开发了一种出站呼叫机制,并使用Javascript SDK和ASP.Net核心MVC以及Twilio SDK开发了拨号动词。我们遇到了一个问题,我们发现拨号动词不支持应答机检测和语音消息丢弃。我们采用了一种不同的方法,即使用TwilioRESTAPI来启动调用。它具有检测应答机并响应应答机检测结果的功能,例如修补代理或发送语音消息。此外,还有两种可能的配置和工作流

  • 机器检测:启用 应答者的可能值为机器启动、人工、传真或未知。 1.1如果值为machine_start,则我们无法发送语音消息,因为它没有等待“哔哔”声,然后才能发送语音消息。 1.2如果值是human,那么我们可以调用webhook将用户修补到当前调用中。 1.3如果价值为传真,则我们不会采取任何行动[超出范围] 1.4如果值未知,则我们可以修补用户以采取行动。这可能是提高用户生产力的决定性因素。更多以未知结尾的请求将降低预期结果

  • 机器检测:检测消息和 应答者的可能值为机器提示音、机器提示音、机器提示音、机器提示音、其他、人工、传真或未知。 2.1如果值为machine_end_beep,则我们可以使用TwiML url向被叫方发送语音消息。 2.2如果值为machine\u end\u silent,则我们可以使用TwiML url向被叫方发送语音消息。此类场景需要使用此默认操作进行处理,并在一段时间内进行改进。 2.3如果值为machine\u end\u other,则我们可以使用TwiML url向被叫方发送语音消息。此类场景需要使用此默认操作进行处理,并在一段时间内进行改进。 2.4如果值是human,那么我们可以调用webhook将用户修补到当前调用中。 2.5如果价值为传真,则我们不会采取任何行动[超出范围] 2.6如果值未知,则我们可以修补用户以采取行动。这可能是提高用户生产力的决定性因素。更多以未知结尾的请求将降低预期结果

  • 重新引用:

    基于以上工作流,我们决定使用MachineDetection:DetectMessageand配置选项。我们确实对第2.4点有疑问。下面是一个场景, 我们已经发出了一个API请求,用MachineDetection:DetectMessageEnd配置启动一个调用。一位被叫人拿起一部电话,介绍了自己。Twilio检测到一个人并将其设置为“人”。这触发了一个webhood,它将用户修补到当前呼叫。参加会议的用户很可能不知道谁在另一端,最后可能会问这是谁?这可能会影响被叫方,影响整体客户参与度

    这是我们的客户根据其经验分享的情景。 我想知道Twilio能以多快的速度检测到“answerd_by”? 是否有一种机制可以允许在打电话后播放被叫方的录音,以便用户知道谁在另一端。这是Twilio可以提供的,还是我们需要使用录音功能来实现? 我知道Twilio可以通过Web API调整AMD参数,但是,在项目开始之前,我们可能没有足够的数据来调整AMD参数。我们可能会在生产中推出此功能后达到目标

    我们的客户还提到,有时,语音信息没有完全传递? 这也是Twilio客户观察到的吗? 如果是这样的话,有哪些最佳实践可以确保这种情况不会发生