使用电话铃声短信转发

时间:2016-02-16 22:25:35

标签: twilio

寻找一些建议。我的亲戚是聋子。她在iOS上有一个Mi Band,它会在来电时振动 - 但没有人打电话给聋人!她需要的是当她收到短信时会振动 - 这在iOS上是不受支持的。所以我想知道如何设置便宜的短信号码给她的朋友。当这个号码收到一条短信时,它应该完好无损地转发它,然后按下她的手机并挂机。这将振动乐队。

Twilio可以这样做吗?我需要一台服务器来实现它,还是可以通过Twilio服务中的配置完成?

感谢所有想法,马特

1 个答案:

答案 0 :(得分:0)

Twilio开发者传道者在这里。

你绝对可以用Twilio做到这一点。您需要一台运行较小应用程序的服务器,我将解释您需要的流程。

当您购买Twilio号码时,您可以在一个可以设置为消息传递请求URL的URL处获得该应用程序。然后,当消息被发送到该号码时,Twilio将向该URL发出HTTP请求。

您的申请必须做两件事来回应该请求。 To initiate the call, it would need to make a request to the Twilio API。在Ruby中,您可以执行以下操作:

require "twilio-ruby"

client = Twilio::REST::Client.new("YOUR_TWILIO_ACCOUNT_SID", "YOUR_TWILIO_AUTH_TOKEN")
client.calls.create(
  :to => "YOUR_RELATIVES_NUMBER",
  :from => "YOUR_TWILIO_NUMBER",
  :url => "http://your-url.com/hangup"
)

要转发您需要将某些XML(称为TwiML)返回到tell Twilio to forward the message到您的亲戚号码所需的邮件。 XML看起来像是:

<Response>
  <Message to="YOUR_RELATIVES_NUMBER" from="YOUR_TWILIO_NUMBER">params["Body"]</Message>
</Response>

您的应用程序需要另一个端点,即hangup the call when answered。这将返回一些非常简单的TwiML:

<Response>
  <Hangup/>
</Response>

总之,使用Sinatra作为Web框架,这看起来像:

require 'twilio-ruby'
require 'sinatra'

post '/messages' do
  client = Twilio::REST::Client.new("YOUR_TWILIO_ACCOUNT_SID", "YOUR_TWILIO_AUTH_TOKEN")
  client.calls.create(
    :to => "YOUR_RELATIVES_NUMBER",
    :from => "YOUR_TWILIO_NUMBER",
    :url => "http://your-url.com/hangup"
  )
  twiml = Twilio::TwiML::Response.new do |r|
    r.Message params["Body"], :to => "YOUR_RELATIVES_NUMBER", :from => "YOUR_TWILIO_NUMBER"
  end
  return twiml.to_xml
end

post '/hangup' do
  twiml = Twilio::TwiML::Response.new do |r|
    r.Hangup
  end
  return twiml.to_xml
end

唯一的缺点是所有消息都会来自Twilio号码,因为Twilio不允许对SMS消息进行数字欺骗。

我注意到你在StackOverflow上用C#标签回答了一个问题。我不是C#开发人员,因此Ruby示例,但我在上面链接的文档也在C#中有示例。

让我知道这是否有帮助。