0 votes
403 views
by (21.5k points)

1 Answer

0 votes
by (21.5k points)
selected by
 
Best answer
Create a Coach View with custom html in layout, put the following in the custom html

<span id="ip1"></span>

In Inline Javascript paste the following

/**
 * Get the user IP throught the webkitRTCPeerConnection
 * @param onNewIP {Function} listener function to expose the IP locally
 * @return undefined
 */
function getUserIPPvt(onNewIP) { //  onNewIp - your listener function for new IPs
    //compatibility for firefox and chrome
    var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
    var pc = new myPeerConnection({
        iceServers: []
    }),
    noop = function() {},
    localIPs = {},
    ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,
    key;

    function iterateIP(ip) {
        if (!localIPs[ip]) onNewIP(ip);
        localIPs[ip] = true;
    }

     //create a bogus data channel
    pc.createDataChannel("");

    // create offer and set local description
    pc.createOffer().then(function(sdp) {
        sdp.sdp.split('\n').forEach(function(line) {
            if (line.indexOf('candidate') < 0) return;
            line.match(ipRegex).forEach(iterateIP);
        });
        
        pc.setLocalDescription(sdp, noop, noop);
    }).catch(function(reason) {
        // An error occurred, so handle the failure to connect
    });

    //listen for candidate events
    pc.onicecandidate = function(ice) {
        if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
        ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
    };
}

In Load Event Handler put the following

getUserIPPvt(function(ip){
    document.getElementById("ip1").innerHTML = 'Got your IP ! : '  + ip ;
});

Related questions

0 votes
1 answer 695 views
0 votes
0 answers 226 views
0 votes
0 answers 174 views
0 votes
0 answers 259 views
0 votes
1 answer 536 views
0 votes
1 answer 149 views
asked Aug 31, 2019 by Anil Singh (16.6k points)
0 votes
1 answer 231 views
0 votes
1 answer 1.0k views
0 votes
2 answers 384 views
0 votes
0 answers 648 views
0 votes
0 answers 473 views
0 votes
1 answer 725 views

613 questions

493 answers

91 comments

2.0k users

Welcome to BPM Tips Q&A, Community wiki/forum where you can ask questions and receive answers from other IBM BPM experts and members of the community. Users with 2000 points will automatically be promoted to expert level.
Created by Dosvak LLC
Our Youtube Channel
...