0 votes
756 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 1.2k views
0 votes
0 answers 1.6k views
0 votes
0 answers 603 views
0 votes
0 answers 418 views
0 votes
0 answers 626 views
0 votes
1 answer 1.0k views
0 votes
1 answer 709 views
0 votes
1 answer 287 views
asked Aug 31, 2019 by Anil Singh (16.3k points)
0 votes
1 answer 1.9k views
0 votes
2 answers 671 views
0 votes
0 answers 1.1k views
0 votes
0 answers 774 views

634 questions

495 answers

97 comments

2.7k users

Join BPM Community Discord Channel

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
...