如何使用Twilio';s<;拨号>;动词

如何使用Twilio';s<;拨号>;动词,twilio,twilio-twiml,twilio-php,Twilio,Twilio Twiml,Twilio Php,我知道在打电话时,Twilio可以检测到电话答录机,并做出不同的反应 但是,如果我使用动词,就没有明显的地方可以添加此功能,即使它本质上是相同的 我的预期流程是: 客户输入他们的电话号码 Twilio打电话给客户并播放语音信息 Twilio拨了一个代理号码,可能是手机号码 如果代理接电话,请将客户连接到代理 如果代理忙着接听电话或不接听,电话可能会转到代理的语音信箱。 终止对代理的呼叫 录制来自客户的语音邮件 向代理发送语音邮件 来自动词(强调我的): 这是拨号最简单的情况。Twilio将

我知道在打电话时,Twilio可以检测到电话答录机,并做出不同的反应

但是,如果我使用
动词,就没有明显的地方可以添加此功能,即使它本质上是相同的

我的预期流程是:

  • 客户输入他们的电话号码
  • Twilio打电话给客户并播放语音信息
  • Twilio拨了一个代理号码,可能是手机号码
  • 如果代理接电话,请将客户连接到代理
  • 如果代理忙着接听电话或不接听,电话可能会转到代理的语音信箱。
    • 终止对代理的呼叫
    • 录制来自客户的语音邮件
    • 向代理发送语音邮件
来自
动词(强调我的):

这是拨号最简单的情况。Twilio将拨打415-123-4567。如果有人接听,Twilio会将呼叫者连接到被叫方。如果调用方挂断,Twilio会话将结束如果电话占线,没有应答,或者被叫方挂断,
退出,并且在呼叫流结束之前为呼叫者执行
动词


415-123-4567
再见

动词放在
动词之后听起来像是在找什么。您可以更改默认值30秒的超时,如下所示:


415-123-4567
请留言
从动词的
上(强调我的):

这是拨号最简单的情况。Twilio将拨打415-123-4567。如果有人接听,Twilio会将呼叫者连接到被叫方。如果调用方挂断,Twilio会话将结束如果电话占线,没有应答,或者被叫方挂断,
退出,并且在呼叫流结束之前为呼叫者执行
动词


415-123-4567
再见

动词放在
动词之后听起来像是在找什么。您可以更改默认值30秒的超时,如下所示:


415-123-4567
请留言

我确信这已经晚了,但希望它能帮助一些人摆脱困境。听起来你可能只需要屏蔽电话。 基本上,您可以要求您拨打的“代理”接听电话,如果您没有收到输入,则可以挂断电话

我不确定您使用的是什么语言,但这里有一个很棒的php/Laravel教程来解释:

关键在于:

$dialCommand = $response->dial(
    ['action' => route('agent-voicemail', ['agent' => $agent->id], false),
     'method' => 'POST']
);
$dialCommand->number(
    $numberToDial,
    ['url' => route('screen-call', [], false)]
);
请注意,dial命令使用“action”指定在呼叫结束时发送POST请求的位置,即POST to/agent语音邮件

然后,该号码与“url”参数一起拨打。这是在代理拾取后但在连接双方之前将请求的位置。

然后/screen呼叫路由要求代理接受呼叫,如果未收到任何输入,则会挂断并向初始设置/agent语音邮件路由发出POST请求


此方法将处理您的情况,因为如果它转到语音邮件,将不会收到任何输入,呼叫也将结束。

我确信这已经晚了,但希望它能帮助一些人解决问题。听起来你可能只需要屏蔽电话。 基本上,您可以要求您拨打的“代理”接听电话,如果您没有收到输入,则可以挂断电话

我不确定您使用的是什么语言,但这里有一个很棒的php/Laravel教程来解释:

关键在于:

$dialCommand = $response->dial(
    ['action' => route('agent-voicemail', ['agent' => $agent->id], false),
     'method' => 'POST']
);
$dialCommand->number(
    $numberToDial,
    ['url' => route('screen-call', [], false)]
);
请注意,dial命令使用“action”指定在呼叫结束时发送POST请求的位置,即POST to/agent语音邮件

然后,该号码与“url”参数一起拨打。这是在代理拾取后但在连接双方之前将请求的位置。

然后/screen呼叫路由要求代理接受呼叫,如果未收到任何输入,则会挂断并向初始设置/agent语音邮件路由发出POST请求


此方法将处理您的情况,因为如果它转到语音邮件,将不会收到任何输入,呼叫将结束。

如果电话占线或对方挂断电话,此方法将起作用。不幸的是,如果语音信箱应答,它将不起作用;除非呼叫者到达语音邮件的末尾并使其挂断电话。不过,感谢您对这方面的研究。@M1ke我不太清楚您所说的“如果语音邮件应答”是什么意思。如果
动词没有应答,则
动词上的超时将导致调用继续到
动词。这不是你想要实现的吗?如果你的意思是代理的手机可能有一个语音信箱来接听电话,那就有点超出了Twilio的范围,因为电话连接到代理的移动运营商而不是Twilio。您可以将超时时间设置为短于语音信箱铃声时间,但如果代理的电话处于关机状态,则您没有太多选项。如果电话占线或对方挂断电话,则可以使用此选项。不幸的是,如果语音信箱应答,它将不起作用;除非呼叫者到达语音邮件的末尾并使其挂断电话。不过,感谢您对这方面的研究。@M1ke我不太清楚您所说的“如果语音邮件应答”是什么意思。如果
动词没有应答,则
动词上的超时将导致调用继续到
动词。这不是你想要实现的吗?如果你的意思是代理的手机可能有一个语音信箱来接听电话,那就有点超出了Twilio的范围,因为电话连接到代理的移动运营商而不是Twilio。您可以将超时时间设置为短于语音信箱铃声时间,但如果代理的手机处于关机状态,则您没有太多操作