【问题标题】:SMS Forwarding with Phone ringer带电话铃声的短信转发
【发布时间】:2016-02-17 19:12:22
【问题描述】:

寻求一些建议。我的亲戚是聋子。她在 iOS 上有一个小米手环,它会在来电时振动——但没有人会打电话给聋人!她需要的是在收到短信时振动——iOS 不支持。所以我想知道如何设置一个便宜的短信号码来发给她的朋友。当这个号码收到一条短信时,它应该原封不动地转发它并响她的手机并挂断电话。这将使乐队振动。

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

感谢您的所有想法,马特

【问题讨论】:

    标签: twilio


    【解决方案1】:

    这里是 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# 示例。

    让我知道这是否有帮助。

    【讨论】:

    • 谢谢,非常有用,很抱歉延迟确认。我更专注于 c#,但不要担心这将帮助我评估可能性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多