2015-09-04 35 views
1

我们试图在iOS设备之间实现简单的P2P VoIP连接。我们选择Twilio来处理呼叫,并使用Parse与Twilio进行交互。Twilio on Parse Cloud代码的调用方法

我们正在成功生成每个用户的能力令牌并发起呼叫。但是,成功连接后,呼叫立即挂断。

接收方正在成功接收呼叫并听取试用消息。 启动程序正在听到试用消息,并且还出现“发生应用程序错误”。

我们怀疑我们的Parse Cloud Code调用方法可能有问题。

app.get('/call', function(request, response) { 
var client = require('twilio')('ACC_ID', 'AUTH_ID'); 
// Create a TwiML response generator object 
var fromName = 'client:' + request.query.from; 
var toName = 'client:' + request.query.to; 

    client.makeCall({ 
     to:toName, // Any number Twilio can call 
     from: fromName, 
     url: 'http://xxxyyzz.parseapp.com/consult' // A URL that produces an XML document (TwiML) which contains instructions for the call 

    }, function(err, responseData) { 

     //executed when the call has been initiated. 
     console.log(responseData.from); // outputs "+14506667788" 

    }); 

    }); 

我们不确定url参数应该做什么。

app.post('/consult', function(request, response) { 

    response.send(); 
}); 

谢谢。

回答

2

你几乎在那里,但似乎有一个问题在您的/call服务(您也不需要任何其他网址,/call'应该是足够的)。

Twilio预计作为/call的响应是TwiML消息(https://www.twilio.com/docs/api/twiml)。你的服务器应该响应适当的TwiML,以便Twilio知道该怎么做。

如果你想连接两个客户端,那么/call应该返回Dial TwiML消息。文档(https://www.twilio.com/docs/api/twiml/dial)可以让您知道有关Dial消息的详细信息。有一些有趣的选项,例如将电话限制为40秒。

如果你想拨打一个名为“饭饭”的客户端,然后从/call服务的响应应该是:

<?xml version="1.0" encoding="UTF-8"?> 
<Response> 
    <Dial> 
     <Client>Jenna</Number> 
    </Dial> 
</Response> 

祝你好运与您的应用程序,希望这有助于!

相关问题