2017-02-24 77 views
0

我有一個場景,當客戶打電話給一個號碼,然後打電話給代理商的瀏覽器的客戶端與TwiML的網址,該網址有撥打會議名稱的說明。代理瀏覽器連接到conf調用並開始與客戶交談後,它會嘗試將另一個代理添加到同一個會議中以幫助他。 在這一點上,我有第二個代理的客戶名稱,但我如何獲得該代理連接的會議的友好名稱?如何在加入會議後在客戶端獲得Twilio會議名稱?

我正在嘗試的一個選項是對conf名稱進行一些命名約定,以便我可以搜索具有該類名稱的會議,然後使用它來請求第二個代理加入,但這不是確定性方法。

另一種方法是查看設備連接對象以找出呼叫sid並搜索我帳戶中正在進行的所有呼叫,並查找所有參與者並匹配其呼叫sid。這也是矯枉過正。

是否有快速的方式獲取會議詳細信息使用參與者的電話sid?

回答

0

Twilio福音傳教士在這裏。

在過去,我已經走了命名約定路線,將第一個呼叫者的CallSid作爲會議室名稱加入會議。

這樣,只要我知道sid,我就可以生成讓另一個調用者加入而不必通過Twilio API查看任何東西的TwiML。

相反,當我提出撥打第二個代理的要求,我只是追加該SID的URL我給Twilio:

client.makeCall({ 
    to: 'client:sallySecondAgent', 
    from: config.twilioNumber, 
    url: "http://example.com/addAgent?confName=[sid]" 
} 

然後在addAgent路線我使用confName參數可以生成<Dial>

var twiml = new twilio.TwimlResponse(); 
twiml.dial(function(dialNode) { 
    dialNode.conference(request.query.confName); 
}); 
response.type('text/xml'); 
response.send(twiml.toString()); 

希望有幫助。

+0

「_將第一個呼叫者的CallSid作爲會議室名稱加入會議中」 - 這是一個有趣的想法,我會試着看看它是否有效。謝謝@Devin。順便說一句,這仍然感覺不符合我的直覺,應該有一個API用於這種查找。 – ThinkFloyd