2015-10-19 7 views
7

वर्तमान में तारांकन के लिए एक म्यूट फ़ंक्शन विकसित कर रहा हूं जिसे मैं अपने वेब फ्रंट एंड से तारांकन एआरआई का उपयोग करके चला सकता हूं।एआरआई जेएस क्लाइंट म्यूट त्रुटि

लेकिन हर बार जब मैं चलाने का प्रयास/मूक समारोह यह मुझे निम्न त्रुटि देता फोन:

Error: { 
    "message": "Channel not in Stasis application" 
} 

लेकिन यह, है जहाँ तक जानकारी है चैनल डेटा इस समारोह के लिए, लेकिन करने के लिए सीधे गुजर रहा असफलता से।

कोई भी कोई सुझाव या एआरआई जेएस क्लाइंट के साथ काम करने के लिए उपयोग किया जाता है?

क्लाइंट साइड

जब म्यूट बटन क्लिक किया जाता है डेटा सर्वर साइड करने के लिए टीडी में पाया फेंकना।

$(document).on('click', '.mute', function() { 
     var mute = $(this).closest('td').siblings(':first-child').text(); 
     socket.emit('muting', mute); 
     if ($(this).hasClass('mute')) { 
      $(this).removeClass('mute').addClass('unmute').find('span').text('Unmute'); 
     } else { 
      console.log("Error"); 
     } 
    }); 

सर्वर साइड

स्टोर डेटा एक वर में ग्राहक के पक्ष से प्राप्त और फिर ठहराव फ़ंक्शन को कॉल करें।

io.sockets.on('connection', function (socket) { 
    updateSip(); 
    socket.on('muting', function (data) { 
     mute(data); 
     console.log("Reached listener for muting") 
    }); 
}); 

ठहराव समारोह

म्यूट चैनल है जो तुम सिर्फ सर्वर साइड करने के लिए ग्राहक से पारित किया है ARI ग्राहक आदेशों का उपयोग करते है, तो उपयोगकर्ता म्यूट कर दिया जाएगा और ठहराव आवेदन में दिखाई देंगे।

चैनल आवेदन में है और मूक कार्य करने के लिए पारित किया जा रहा है, तो जिस तरह से करने के लिए के रूप में अपनी वर्तमान में काम नहीं कर यकीन नहीं है।

संपादित करें: मेरे पास एक हैंगअप/किक फ़ंक्शन को उसी तरह से संभाला जा रहा है और यह ठीक काम करता है। नीचे मेरी सभी डिबगिंग है।

चैनल डंप Channel Dump

नि: शुल्क पीबीएक्स लॉग्स enter image description here तारांकन CLI डिबग स्तर 5 enter image description here

Socket.io त्रुटि enter image description here

मैंने इसे socket.io के माध्यम से चलाने की कोशिश की है और इसके बिना परिणाम भी है, मेरे पास अन्य कार्य हैं और वे सभी ठीक काम करते हैं, यह सिर्फ म्यूट फ़ंक्शन है।

उत्तर

2

बाहर निकलता है यह नहीं चलता क्योंकि इसे चैनल आईडी की आवश्यकता होती है, न कि चैनल का नाम, लेकिन चैनल चैनल नाम के साथ चलेंगे।

यह एस्टेरिक्स्क एआरआई के साथ असंगतता है क्योंकि इसे चैनल नाम के साथ काम करना चाहिए, न केवल चैनल आईडी जैसे अन्य कार्यों जैसे हैंगअप और मूल कार्य।

+1

यह एआरआई के भीतर एक असंगतता नहीं है - संचालन के लिए पथ में एक चैनल आईडी की आवश्यकता होती है, नाम नहीं।आम तौर पर, ऐसा इसलिए है क्योंकि व्यवहार में, आईडी दो कारणों से चैनल के लिए एक बेहतर संभाल है: (1) अस्पष्ट मामलों में नामों का फिर से उपयोग किया जा सकता है; (2) आईडी ऐप द्वारा प्रदान की जा सकती है, जबकि नाम हमेशा स्वतः उत्पन्न होते हैं। मैं मानता हूं कि यह ऐतिहासिक एस्टेरिक के साथ असंगत है, लेकिन कभी-कभी नए एपीआई/सुविधाओं के साथ होता है। –

संबंधित मुद्दे