2017-05-03 61 views
0

我正在考虑使用Twilio API编写呼叫筛选应用程序。电话可以有“转发”之类的元数据吗?

当来电时,我的应用程序将根据各种规则决定是否拨打我的电话或将来电者发送至语音信箱。

所以通话将源源不绝:

         ┌─────────┐ 
            ┌─▶│Voicemail│ 
┌──────┐ ┌─────────────┐ ┌──────┐ │ └─────────┘ 
│Caller│─▶│Twilio Number│─▶│My App│─┤ 
└──────┘ └─────────────┘ └──────┘ │ ┌─────────┐ 
          depending└─▶│My Phone │ 
          on rules... └─────────┘ 

理想情况下,我可以做这两件事情:

  1. 我的手机环呼叫,将其通过我的应用程序路由
  2. 当我的手机响了,我看到原来的来电者的来电显示

对于#1,我可以让我的运营商阻止所有其他呼叫,或者可以编写一些Android代码在我的手机上运行,​​但无论如何,我需要知道“这是来自我的应用。 “

这两样东西都可能吗?例如,一个电话可以有元数据说明它从哪里转发,或者是唯一可以获得的信息的来电显示?

我可以同时传递原始来电显示和通过我的应用来电的事实吗?

回答

0

Twilio开发者传道这里。

我会从#2开始,因为这是最简单的。 <Dial>的默认行为是将原来呼叫者ID中的呼叫者ID转换为您自己号码的Twilio号码。所以你应该会在Twilio中看到这种情况。

对于#1,我不知道发送元数据作为与Twilio通话的一部分,然后在电话级访问该元数据以阻止通话。

我不知道你是否可以在运营商级别做到这一点。我猜想Twilio会发送特定的SIP标头供运营商查找,但我没有更多的信息。

你可以和Twilio一起,至少让自己知道一个电话来自你的应用程序,而不是直接传给你的电话号码。你可以使用所谓的"whisper"。这允许您在连接通话前给自己留言,说“这是来自您的应用程序的电话”。您可以通过使用<Dial>将号码转接到您的号码以及<Number> noun and setting a url attribute来实现此目的。 url应该指向另一个端点,它将您的消息返回TwiML,您可以使用<Say>

让我知道这是否有帮助。

+0

感谢您的回复! “耳语”很有帮助,但并不理想,因为手机仍然响起,在我知道这是我不想要的电话之前,我仍然必须接听。是否有任何其他方式发送电话,以允许附加一些元数据 - 例如,将VOIP呼叫发送到定制的Android应用程序,该应用程序可以检查来电并决定是否响铃? –

相关问题