2015-09-04 38 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> 

祝你好運與您的應用程序,希望這有助於!

相關問題