【问题标题】:Twilio: say message to User if the "number" inside <dial> verb is not "completed"Twilio:如果 <dial> 动词中的“数字”未“完成”,则向用户发送消息
【发布时间】:2015-07-02 11:38:16
【问题描述】:

我正在从我的应用程序中拨出电话。

def connect_outbound_call
  response = Twilio::TwiML::Response.new do |r|
    r.Dial callerId: TWILIO_VOICE_NUMBER do |d|
      d.Number params["phone_number"]
    end
  end
  render text: response.text
end

现在我的要求是,如果params["phone_number"] 忙或没有接听,即呼叫状态值不是"completed",我想向用户播放一条消息
"Couldn't reach &lt;user name&gt; try again soon. Goodbye."

上面我打电话给另一个号码,它被记录为一个子呼叫,所以如果内部呼叫没有完成,就播放消息。

这可能类似于有一些超时,当达到超时时播放消息。(以及处理繁忙状态等)

谁能给我一些提示或方法来实现它?

谢谢。

【问题讨论】:

    标签: javascript ruby-on-rails ruby twilio


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    你绝对可以做到。您需要在指向另一个 TwiML 端点的 &lt;Dial&gt; 动词上设置 action 属性。

    调用完成后,Twilio 将向该端点发出请求,发送 some parameters regarding the call

    您感兴趣的属性是DialCallStatus。如果呼叫被接听并正常继续,它将“完成”,否则您可以检查其他 4 个 ways the call ended 并将 TwiML 返回到 &lt;Say&gt; 一条消息。

    如果这有帮助,请告诉我!

    【讨论】:

    • 是的,我尝试在 &lt;dial&gt; 动词中添加 action,但是当呼叫者结束通话时会调用它。而不是当正在呼叫的号码停止响铃(未接听)时。
    • 您也可以将timeout 属性添加到&lt;Dial&gt; 动词,当它启动时将移动到action
    • 很高兴听到!祝应用程序的其余部分好运。
    • 你好,请问有没有办法在使用Dial 时检测到被叫方接听(接听)而无需等待通话结束(没有依赖action)
    • @Scaramouche 是的,在&lt;Dial&gt;statusCallback attribute 中使用&lt;Number&gt;。当呼叫为 initiated, ringing, answered and completed 时,它将向您发送一个 webhook。
    猜你喜欢
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    相关资源
    最近更新 更多