2015-10-19 17 views
7

Yıldız imi ARI kullanarak web ön uçumdan çalıştırabileceğim yıldız işareti için şu anda sessiz bir işlev geliştiriyorum.ARI JS istemcisi sessiz hatası

Ama çalıştırmayı deneyin her zaman/bana aşağıdaki hatayı veriyor susturma işlevi çağırmak:

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

Ama bu işleve ancak doğrudan kanal verilerini geçirerek farkındayım olduğunca uzak olduğunu boşuna.

Herhangi bir öneri veya ARI JS istemcisi ile çalışırken?

ses kapatma düğmesi tıklandığında

İstemci Tarafı sunucu tarafına td bulunan verileri yayarlar.

$(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"); 
     } 
    }); 

Sunucu Tarafı

Mağaza verileri var içine istemci tarafında alınan ve daha sonra staz işlevini çağırın.

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

Durağanlık fonksiyonu Sessiz sadece ARI istemci komutları kullanarak sunucu tarafında istemciden geçti kanalı, kullanıcı kesilir ve durağanlık uygulamasında gösterecektir.

kanal uygulamasında ve dilsiz işleve geçirilen, böylece onun şu anda çalışmıyor yolu olarak emin değilim.

DÜZENLEME: Aynı şekilde ele alınan bir takma/fırlatma işlevim var ve iyi çalışıyor. Aşağıda tüm hata ayıklama.

Kanal dökümü Channel Dump

Ücretsiz PBX Kayıtlar enter image description here Asterisk CLI ayıklama Seviye 5 enter image description here

Socket.io Hata enter image description here

Ayrıca, bunu socket.io üzerinden çalıştırmayı denedim ve onsuz ve sonuç aynı, diğer işlevlerim var ve hepsi gayet iyi çalışıyor, sadece sessiz işlevi.

cevap

2

Kanal adı değil, kanal adına ihtiyaç duyulduğundan çalışmaz, ancak kanal adıyla işlevler çalışır.

Asterisk ARI ile, kanal adıyla çalışması gerektiğinden ve sadece ID'lerin askıda kalması ve menşe işlevleri gibi diğer işlevler gibi çalışmasıyla uyuşmaması tutarsızdır.

+1

ARI içinde bir tutarsızlık değil - işlemler yolunda bir kanal kimliği gerektirir, bir ad değil.Genel olarak, pratikte, ID'ler iki sebepten dolayı bir kanalın daha iyi bir kolu olduğu için: (1) isimler karanlık durumlarda yeniden kullanılabilir; (2) Uygulamalar tarafından kimlikler sağlanabilir, isimler her zaman otomatik olarak oluşturulur. Tarihsel Yıldız ile tutarsız olduğunu kabul ediyorum, ancak bazen daha yeni API'ler/özellikler ile olur. –