拨出电话 Twilio 客户端

Outgoing Calls Twillio Client

我正在尝试让两部手机以与 Uber 通过 Twillio 相同的方式相互呼叫:

FROM:客户 A 从他们的移动设备呼叫,他们呼叫的号码显示为我的 Twillio 号码

TO:客户端 B 接到客户端 A 的电话,但该号码显示为我的 Twilio 号码以防止

但是我一直收到错误 11200 - HTTP retrieval failureArchive

错误 returns 406 的价值

我不明白为什么我什至需要这个 url!我只想接电话!

ActionController::UnknownFormat (ActionController::UnknownFormat):

在我的控制器中

def make_twillio_call
account_sid = ENV["twllio_account_sid"]
auth_token = ENV["twillio_auth_token"]
@client = Twilio::REST::Client.new account_sid, auth_token
url_string = "http://myapp.com/customers/Dial_Twillio.xml"

@call = @client.account.calls.create(
    :from => ENV["TWILIO_MOBILE"],
    # :from => params[:From].to_s,
    :to => params[:To],
    :url => url_string
)
respond_to do |format|
  msg = {:status => "SUCCESS", :token => "Call connected"}
  format.json  { render :json => msg } # don't do msg.to_json
  end
end

Customer/Dial_Twillio.xml.erb

<?xml version="1.0" encoding="UTF-8"?>
 <Response>
</Response>

你似乎想在这里进行一些隐私的呼叫转移。通话的第一部分应该是用户 A 拨打您的 Twilio 号码。

然后,您应该使用一些 TwiML 来响应以告诉 Twilio 将呼叫转发给用户 B,而不是像您现在正在做的那样使用 REST API。因此,您的控制器操作将看起来有点像这样:

def forward_call
  response = Twilio::TwiML::Response.new do |r|
    r.Dial :callerId => YOUR_TWILIO_NUMBER do |d|
      d.Number USER_B_NUMBER
    end
  end
  render xml: response.to_xml
end

然后您需要确保您的 Twilio 号码的声音 URL 指向此操作。

我在此处将 callerId 作为您的 Twilio 号码,这意味着它将是用户 B phone 响铃时显示的号码。

这有帮助吗?