Forum Keyyo

Version complète : Erreur "Wrong url for SockJS" API JS
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Bonjour,

Très régulièrement, lors de l'utilisation de l'API JS Keyyo, j'ai des erreurs "Wrong url for SockJS" et plus rien ne fonctionne.
Avez-vous une idée du problème ? Surtout que nous n'avons pas la main sur l'erreur et que nous utilisons le script "https://api.keyyo.com/libs/keyyo-cti/1.1/keyyo-cti.min.js"

Merci pour votre retour,
Bonjour,

Cela se produit-il aléatoirement ou à un moment (ou selon un scénario) précis ?

Le script CTI utilise une connexion Websocket vers un serveur Keyyo : peut-être qu'à un moment il est injoignable (perte de réseau par exemple) ?

Cordialement.
Bonjour,

Le problème se situe tout le temps lorsque nous souhaitons mettre en pause un appel (méthode "pause"). Nous n'avons aucun problème sur les autres actions.
Il est complètement aléatoire et apparaît plusieurs fois par jour.
Bonjour,

Nous sommes en train de tester afin d'essayer de reproduire.

Le fonctionnement revient-il après un refresh de la page ?

Cordialement.
Bonjour,

Oui il revient après le rechargement de la page.

Cordialement,
Bonjour,

Dans votre code, vous pouvez mettre un debug (par exemple un console.log) dans l'évènement cti.onDisconnected afin de voir si il s'agit bien d'une perte de connexion.
Il est très probable qu'il s'agit d'une perte de réseau : dans ce cas, dans l'évènement onDisconnected, vous pouvez appeler la fonction de connexion CTI afin que cette dernière se relance automatiquement.

Cordialement.
Bonjour,

Je veux bien l'utiliser mais "cti.onDisconnected" mais la fonction n'est jamais appelée ni même la fonction "cti.onConnected" ! J'en conclu donc que ces fonctions n'existent pas ou ne sont pas fonctionnelles. De plus, je ne vois aucune trace dans votre documentation....
Votre réponse m'étonne également beaucoup car cela voudrait dire que websocket se déconnecterait toujours à l'appel de la même fonction sans qu'il n'y ait aucun problème avec les autres fonctions ? J'ai beaucoup de mal à y croire....

Cordialement,
(08/02/2021 17:29)Keyyo QA a écrit : [ -> ]Bonjour,

Dans votre code, vous pouvez mettre un debug (par exemple un console.log) dans l'évènement cti.onDisconnected afin de voir si il s'agit bien d'une perte de connexion.
Il est très probable qu'il s'agit d'une perte de réseau : dans ce cas, dans l'évènement onDisconnected, vous pouvez appeler la fonction de connexion CTI afin que cette dernière se relance automatiquement.

Cordialement.

bonjour,
Je me permet de vous preciser que je commence a etre assez mecontent de la facon dont les problemes présentés par MAKEO sont traités depuis maintenant presque 3 mois... J'ai une personne de chez vous qui m'a justement appelé aux vues du nombres de ligne dont je dispose chez vous pour savoir si j'etais satisfait de leur service.
Je leur ai expliqué que j'attendais de voir si vous comptiez ou non traiter serieusement mes demandes (celles de MAKEO) afin de decider la suite a donner a long terme à notre collaboration.
Dans l'attente de votre retour concernant le traitement de nos demandes qui trainent depuis maintenant un long moment...
Bonjour,

Nous essayons justement de comprendre ce qui cause ce dysfonctionnement (nous n'avons pas reproduit de notre côté).

Pour utiliser l'évènement onDisconnect, voici un exemple :

Code :
// Initialize Keyyo CTI
var cti = new Keyyo.CTI();
function reconnect_cti() {
        cti.create_session("<csi_token>", function(err, res) {

                if (err) {
                        console.log(err);
                        return;
                }
                clearTimeout(retry);
                console.log("CTI Connected");

                cti.subscribe("callpark", function(err, res) {
                        if (err) {
                            console.log(err);
                            return;
                        }

                        console.log(res);
                });


        });
}

// Try ton connect every 5 seconds
retry=setTimeout(reconnect_cti, 5000);

cti.onDisconnected = function() {

        console.log("CTI disconnected, trying to reconnect in 5s...");
        retry = setTimeout(reconnect_cti, 5000);

}

Vous pouvez également appliquer ce code lors de la fonction pause (si ce n'est déjà fait) :

Code :
call.pause(function(err, res) {

                if (err) {
                        console.log(err);
                        return;
                }

                console.log(res);
        });

Cordialement.
URLs de référence