diff --git a/main.js b/main.js index 99e165f..a2bc7ce 100644 --- a/main.js +++ b/main.js @@ -164,10 +164,13 @@ function createVideochatButton() { } -function createSurflySession(contactId, inviteType) { +function createSurflySession(contactId, inviteType, callback) { var surflyMetadata = { "name": "Customer" }; + + callback && Surfly.on("session_started", function(session, event) { callback(session, event); }); + if (inviteType == 'cobrowse') { var regularSession = Surfly.session({ block_until_agent_joins: false @@ -257,8 +260,13 @@ function loadSurfly() { } = message; if (data.type == 'ElevateToCobrowse' && data.bu == nicBusNumber && data.uniquePageId == localStorage.getItem(nicBusNumber + "-uniquePageId")) { - createSurflySession(data.contactId, 'cobrowse'); - + createSurflySession(data.contactId, 'cobrowse', (session, event) => { + cobrowseRoom.publish({ + type: event, + unique_page_id: localStorage.getItem(nicBusNumber + "-uniquePageId"), + follower_link: session.followerLink, + }); + }); console.log('Co-browsing session requested'); console.log("Message ID: " + id); console.log("Timestamp: " + timestamp); @@ -294,7 +302,13 @@ function loadSurfly() { } = message; if (data.type == 'ElevateToVideo' && data.bu == nicBusNumber && data.uniquePageId == localStorage.getItem(nicBusNumber + "-uniquePageId")) { - createSurflySession(data.contactId, 'videochat'); + createSurflySession(data.contactId, 'videochat', (session, event) => { + videoRoom.publish({ + type: event, + unique_page_id: localStorage.getItem(nicBusNumber + "-uniquePageId"), + follower_link: session.followerLink, + }); + }); console.log('Videochat session requested'); console.log("Message ID: " + id); @@ -341,4 +355,4 @@ function initializeChatNiC() { }); console.log('Initializing NiC'); -} \ No newline at end of file +}