2016-02-16 3 views
0

Ищите какой-нибудь совет. Мой родственник глухой. У нее есть Mi Band на iOS, которая будет вибрировать при входящих звонках - но никто не звонит глухому человеку! То, что ей нужно, - это вибрировать, когда она получает SMS-сообщение, которое не поддерживается в iOS. Поэтому я хотел бы знать, как я могу настроить дешевый номер СМС для своих друзей. Когда этот номер получает SMS, он должен отправить его неповрежденным и позвонить на мобильный телефон и повесить трубку. Это будет вибрировать группу.SMS-переадресация с помощью телефонного звонка

Может ли Twilio это сделать? Нужен ли мне сервер для его реализации или это можно сделать через конфигурацию в службе Twilio?

Спасибо за все идеи, Мэтт

ответ

0

Twilio разработчик евангелист здесь.

Вы можете абсолютно сделать это с Twilio. Вам понадобится сервер с небольшим приложением, работающим на нем, но я объясню, какой поток вам понадобится.

Приложение должно быть доступно по URL-адресу, который вы можете настроить в качестве URL-адреса запроса обмена сообщениями при покупке номера Twilio. Затем, когда сообщение было отправлено на номер, Twilio отправит HTTP-запрос на URL-адрес.

Ваше приложение должно было бы сделать две вещи в ответ на этот запрос. 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> 

Все вместе, используя Синатру в качестве веб-структуры это будет выглядеть так:

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#.

Дайте мне знать, если это вообще поможет.

+0

Спасибо, очень полезно, и извините за задержку в подтверждении. Я больше сосредоточен на C#, но не беспокойтесь, это поможет мне оценить возможности. – MattPil29

Смежные вопросы