2016-01-20 2 views
2

У меня есть один номер телефона с запросом url, который работает (говорит текст, а затем переадресовывает вызов), но затем у меня есть приложение (исходящий вызов браузера), идущий к тому же URL-адресу запроса, и только текст в речь работает, а пересылка вызова дает ошибку и зависает. Почему он не пересылается, как запрос запроса номера? Я проверил и маркер возможности делает хорошо ...Почему перенаправление переадресации twilios не работает, когда я звоню через браузер, но отлично работает при вызове номера twilio с точно таким же запросом url

views.py

def once_connected_view(request): 
    response = twiml.Response() 
    response.say("Please wait while we connect your call.", voice='alice') 
    response.dial("xxx-xx-xxx-xxxx") 
    return HttpResponse(str(response)) 

def home_view(request): 
    capability = TwilioCapability(account_sid, auth_token) 
    capability.allow_client_outgoing(application_sid) 
    token = capability.generate() 
    query_set = Model.objects.all() 
    return render(request, "base.html", {"query_set":query_set, "token":token}) 

urls.py

urlpatterns = [ 
url(r'^$', views.home_view, name="home"), 
    url(r'^once_connected/', views.once_connected_view, name="once_connected"), 
] 

запрос номер URL-адрес

http://xx.xx.com/once_connected/ HTTP GET

приложение request url

http://xx.xx.com/once_connected/ HTTP GET

Главный сайт URL

https://xx.xx.com/

base.html

<!doctype html> 
<head> 
<script type="text/javascript" src="https://static.twilio.com/libs/twiliojs/1.2/twilio.min.js"></script> 
<script type="text/javascript"src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> 
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=320, height=device-height, target-densitydpi=medium-dpi" /> 
{% load staticfiles %} 
<link rel="stylesheet" href="{% static 'cars/responsive.css' %}"> 
</head> 
<body> 
<div class="container" id="wrapper"> 
    <div class="video-background-container"> 
    <video preload="auto" autoplay="" loop="" muted="" class="video-background hidden-xs hidden-sm"> 
     <source type="video/mp4" src="omitted"> 
    </video> 
    </div> 
    <div class="grid-overlay text-center"> 
    <nav class="navbar navbar-default navbar-fixed-top" style="background:none;"> 
     <div class="container"> 
     <div class="navbar-header"> 
      <a class="navbar-brand" id="logo" href="#">Brand Name</a> 
     </div> 
     <div id="navbar" class="navbar-collapse collapse"> 
      <ul class="nav navbar-nav navbar-right"> 
      <li class="replace-call"><a href="#" data-toggle="modal" data-target="#myModal">Contact Us</a></li> 
      </ul> 
     </div> 
     </div> 
    </nav> 

    ... 
<script src="https://code.jquery.com/jquery-2.2.0.min.js" type="text/javascript"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> 
<script type="text/javascript"> 

    /* Create the Client with a Capability Token */ 
    Twilio.Device.setup("{{ token }}"); 

    /* Let us know when the client is ready. */ 
    Twilio.Device.ready(function (device) { 
     $(".replace-call").html("<a href='#' onclick='call()'>Call From Browser</a>"); 
    }); 

    /* Report any errors on the screen */ 
    Twilio.Device.error(function (error) { 
     $(".replace-call").html('<a href="#" data-toggle="modal" data-target="#myModal">Contact Us</a>'); 
    }); 

    Twilio.Device.connect(function (conn) { 
     $(".replace-call").html("<a href='#' onclick='hangup()'>End Call</a>"); 
    }); 

    /* Connect to Twilio when we call this function. */ 
    function call() { 
     Twilio.Device.connect(); 
    } 
    function hangup() { 
     Twilio.Device.disconnectAll(); 
     $(".replace-call").html('<a href="#" data-toggle="modal" data-target="#myModal">Contact Us</a>'); 
    } 
</script> 
</body> 
</html> 

Я принимал на pythonanywhere.

ответ

4

После минимальной выпадения волос я сделал это, добавив атрибут callerID в глагол набора.

def once_connected_view(request): 
    response = twiml.Response() 
    response.say("Please wait while we connect your call.", voice='alice') 
    response.dial("xxx-xx-xxx-xxxx", callerId="+xxxxxxxxxx") # here 
    return HttpResponse(str(response))