Am attualmente sviluppando una funzione mute per asterisco che posso correre dalla mia fronte web finire con asterisco ARI.cliente ARI JS errore muto
Ma ogni volta che provo a fare funzionare/chiamare la funzione mute mi dà il seguente errore:
Error: {
"message": "Channel not in Stasis application"
}
Ma è, per quanto sono consapevole sto passando i dati del canale direttamente a questa funzione, ma a inutile.
Qualsiasi uno qualsiasi suggerimento o abituati a lavorare con il cliente ARI JS?
lato client
Quando il tasto mute viene cliccato emettono i dati trovati nel td al lato server.
$(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");
}
});
Server Side
memorizzare i dati ricevuti da lato client in una var e quindi chiamare la funzione di stasi.
io.sockets.on('connection', function (socket) {
updateSip();
socket.on('muting', function (data) {
mute(data);
console.log("Reached listener for muting")
});
});
funzione Stasi
Mute il canale che avete appena passato dal client al lato server utilizzando i comandi client ARI, l'utente verrà disattivato e mostrerà in applicazione stasi.
Il canale è nella domanda e che si passa alla funzione muta, quindi non sono sicuro da modo relativo funzionamento attualmente.
EDIT: Ho una funzione hangup/calcio di essere manipolati nello stesso modo e funziona benissimo. Di seguito è riportato tutto il mio debug.
libero PBX registri Asterisk CLI Livello di debug 5
ho anche provato esecuzione tramite socket.io e senza di essa e il risultato è lo stesso, ho altre funzioni e tutti funzionano bene, è proprio la funzione di silenziamento.
Non è un'incongruenza all'interno di ARI - le operazioni richiedono un ID di canale nel percorso, non un nome.Generalmente, questo è dovuto al fatto che, in pratica, gli ID sono più adatti a un canale per due motivi: (1) i nomi possono essere riutilizzati in casi oscuri; (2) Gli ID possono essere forniti dall'app, mentre i nomi sono sempre generati automaticamente. Sono d'accordo che non è coerente con l'asterisco storico, ma che a volte accade con le nuove API/funzionalità. –