[Freeswitch-users] Error receiving second call Verto

Azlain Saavedra servicomputacion2 at gmail.com
Fri Jul 15 03:28:49 MSD 2016


Hi im user verto.js library and i can execute first call verto-client to
verto-client but when i execute second call to same verto-client so failed
bucause this is redirect to destroy event


first receive call into to "ringing" event --> answering --> active
--> hangout --> destroy


second receive call into to "destroy" event

this is my code

(function() {
    var vertoHandle, vertoCallbacks, destinationNumber, currentCall,
ext, passExt;



    function getParameterByName(name) {
        name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
            results = regex.exec(location.search);
        return results === null ? "" :
decodeURIComponent(results[1].replace(/\+/g, " "));
    }

    ext = getParameterByName("ext");
    passExt = getParameterByName("pass");
    $.verto.init({}, bootstrap);

    function bootstrap(status) {
        console.log("extension: " + ext)
        vertoHandle = new jQuery.verto({
            login: ext + '@conference2.cibersys.com',
            passwd: passExt,
            socketUrl: 'wss://conference2.cibersys.com:9061',
            ringFile: 'sounds/bell_ring2.wav',
            tag: 'video-container', // specifying video tag in our html
            deviceParams: {
                useCamera: true, // asking for camera permissions and devices
                useMic: true,
                useSpeak: true
            },
            iceServers: true
        }, vertoCallbacks);

        document.getElementById("make-call").addEventListener("click",
makeCall);
        document.getElementById("answer-call").addEventListener("click",
answerCall);
        document.getElementById("hang-up-call").addEventListener("click",
hangupCall);
        document.getElementById("mute-call").addEventListener("click",
muteCall);
        document.getElementById("unmute-call").addEventListener("click",
unmuteCall);
        document.getElementById("mute-unmute-call").addEventListener("click",
muteUnmuteCall);
        document.getElementById("hold-call").addEventListener("click",
holdCall);
        document.getElementById("unhold-call").addEventListener("click",
unholdCall);
        document.getElementById("transfer-call").addEventListener("click",
transferCall);
        document.getElementById("muteVideo-call").addEventListener("click",
muteVideoCall);
        document.getElementById("unmuteVideo-call").addEventListener("click",
unmuteVideoCall);
    };

    function makeCall() {
        destinationNumber = prompt("Insert destination number");
        if(destinationNumber) {
            currentCall = vertoHandle.newCall({
                destination_number: destinationNumber,
                caller_id_name: "Test Guy",
                caller_id_number: destinationNumber,
                outgoingBandwidth: "default",
                incomingBandwidth: "default",
                useVideo: true, // telling verto to make a call with
video support
                mirrorInput: true, // telling verto to mirror user's webcam
                useStereo: true,
                useMic: true,
                useSpeak: true,
                dedEnc: false,
                userVariables: {
                    avatar: "",
                    email: "test at test.com"
                }
            });
        }

    };

    function answerCall() {
        currentCall.answer({
            useStereo: true,
            useCamera: true,
            useVideo: true,
            useMic: true,
            callee_id_name: "answer ponit",
            callee_id_number: ext
        });
    };

    function hangupCall() {
        currentCall.hangup();
    };

    function muteCall() {
        currentCall.setMute("off");
    };

    function unmuteCall() {
        currentCall.setMute("on");
    };

    function muteVideoCall() {
        currentCall.setVideoMute("off");
    };

    function unmuteVideoCall() {
        currentCall.setVideoMute("on");
    };

    function muteUnmuteCall() {
        currentCall.mute("toggle");
    };

    function holdCall() {
        currentCall.hold();
    };

    function unholdCall() {
        currentCall.unhold();
    };

    function transferCall() {
        destinationNumber = prompt("Insert transfer destination number");
        if(destinationNumber) {
            currentCall.transfer(destinationNumber);
        }
    };

    vertoCallbacks = {
        onWSLogin: onWSLogin,
        onWSClose: onWSClose,
        onDialogState: onDialogState
    };

    function onWSLogin(verto, success) {
        console.log('onWSLogin', success, verto);
    };

    function onWSClose(verto, success) {
        console.log('onWSClose', success);
    };

    function onDialogState(dialog) {
        console.debug('onDialogState', dialog);

        if(!currentCall) {
            currentCall = dialog;
        }

        if (currentCall.state.name == 'ringing') {
            console.warn('onDialogState ringing', currentCall);
        }

        if (currentCall.state.name == 'new') {
            console.warn('Someone is calling you, new!');
        }

        if (currentCall.state.name == 'requesting') {
            console.warn('Someone is calling you, requesting!');
        }

        if (currentCall.state.name == 'recovering') {
            console.warn('Someone is calling you, recovering!');
        }

        if (currentCall.state.name == 'active') {
            //$scope.offLocalVideo();
            console.warn('Someone is calling you, active!');
        }

        if (currentCall.state.name == 'held') {
            console.warn('Someone is calling you, held!');
        }

        if (currentCall.state.name == 'purge') {
            console.warn('Someone is calling you, purge!');
        }

        if (currentCall.state.name == 'early') {
            console.warn('Someone is calling you, early!');
        }

        if (currentCall.state.name == 'answering') {
            console.warn('Someone is calling you, answering!');
        }

        if (currentCall.state.name == 'hangup') {
            //$scope.resetCall();

            console.warn('Someone is calling you, hangup!');
            //$scope.resetCall();
            //console.log("sreamLocalVideo.getVideoTracks()",
sreamLocalVideo.getVideoTracks()[0].stop());
            //sreamLocalVideo.src=null;
        }

        if (currentCall.state.name == 'destroy') {
            console.warn('Someone is calling you, destroy!');
        }
    }
})();


-- 
T.S.U Azlain Saavedra
Movil: +58 04142528099
Skype: azlain.saavedra
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160714/d47587f9/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list