diff --git a/html5/verto/demo/verto.js b/html5/verto/demo/verto.js
index 9e47946077..79ca2f2ac7 100644
--- a/html5/verto/demo/verto.js
+++ b/html5/verto/demo/verto.js
@@ -159,6 +159,9 @@ var callbacks = {
}
}
break;
+ case $.verto.enum.message.clientReady:
+// console.error("clientReady", data);
+ break;
case $.verto.enum.message.info:
var body = data.body;
diff --git a/html5/verto/js/src/jquery.verto.js b/html5/verto/js/src/jquery.verto.js
index fe770491cf..b379904c26 100644
--- a/html5/verto/js/src/jquery.verto.js
+++ b/html5/verto/js/src/jquery.verto.js
@@ -606,6 +606,11 @@
break;
+ case 'verto.clientReady':
+ verto.callbacks.onMessage(verto, null, $.verto.enum.message.clientReady, data.params);
+ console.debug("CLIENT READY", data.params);
+ break;
+
default:
console.error("INVALID METHOD OR NON-EXISTANT CALL REFERENCE IGNORED", data.method);
break;
@@ -2682,7 +2687,7 @@
$.verto.enum.state = $.verto.ENUM("new requesting trying recovering ringing answering early active held hangup destroy purge");
$.verto.enum.direction = $.verto.ENUM("inbound outbound");
- $.verto.enum.message = $.verto.ENUM("display info pvtEvent");
+ $.verto.enum.message = $.verto.ENUM("display info pvtEvent clientReady");
$.verto.enum = Object.freeze($.verto.enum);
diff --git a/html5/verto/verto_communicator/src/vertoService/services/vertoService.js b/html5/verto/verto_communicator/src/vertoService/services/vertoService.js
index 6ae35994ec..509182d9a5 100644
--- a/html5/verto/verto_communicator/src/vertoService/services/vertoService.js
+++ b/html5/verto/verto_communicator/src/vertoService/services/vertoService.js
@@ -639,6 +639,11 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
case $.verto.enum.message.display:
$rootScope.$apply(function() {});
break;
+ case $.verto.enum.message.clientReady:
+ $rootScope.$emit('clientReady', {
+ reattached_sessions: params.reattached_sessions,
+ });
+ break;
default:
console.warn('Got a not implemented message:', msg, dialog, params);
break;
diff --git a/html5/verto/video_demo-live_canvas/verto.js b/html5/verto/video_demo-live_canvas/verto.js
index 71d823b392..9894fb2414 100644
--- a/html5/verto/video_demo-live_canvas/verto.js
+++ b/html5/verto/video_demo-live_canvas/verto.js
@@ -750,6 +750,9 @@ var callbacks = {
}
}
break;
+ case $.verto.enum.message.clientReady:
+// console.error("clientReady", data);
+ break;
case $.verto.enum.message.info:
if (data.msg) {
data = data.msg;
diff --git a/html5/verto/video_demo/verto.js b/html5/verto/video_demo/verto.js
index 9041468a54..4c60aba78d 100644
--- a/html5/verto/video_demo/verto.js
+++ b/html5/verto/video_demo/verto.js
@@ -441,6 +441,9 @@ var callbacks = {
}
}
break;
+ case $.verto.enum.message.clientReady:
+// console.error("clientReady", data);
+ break;
case $.verto.enum.message.info:
if (data.msg) {
data = data.msg;
diff --git a/src/mod/endpoints/mod_verto/mod_verto.c b/src/mod/endpoints/mod_verto/mod_verto.c
index afb000a7cf..f7c94afd8b 100644
--- a/src/mod/endpoints/mod_verto/mod_verto.c
+++ b/src/mod/endpoints/mod_verto/mod_verto.c
@@ -1232,6 +1232,11 @@ static void drop_detached(void)
static void attach_calls(jsock_t *jsock)
{
verto_pvt_t *tech_pvt;
+ cJSON *msg = NULL;
+ cJSON *params = NULL;
+ cJSON *reattached_sessions = NULL;
+
+ reattached_sessions = cJSON_CreateArray();
switch_thread_rwlock_rdlock(verto_globals.tech_rwlock);
for(tech_pvt = verto_globals.tech_head; tech_pvt; tech_pvt = tech_pvt->next) {
@@ -1241,9 +1246,14 @@ static void attach_calls(jsock_t *jsock)
}
tech_reattach(tech_pvt, jsock);
+ cJSON_AddItemToArray(reattached_sessions, cJSON_CreateString(jsock->uuid_str));
}
}
switch_thread_rwlock_unlock(verto_globals.tech_rwlock);
+
+ msg = jrpc_new_req("verto.clientReady", NULL, ¶ms);
+ cJSON_AddItemToObject(params, "reattached_sessions", reattached_sessions);
+ jsock_queue_event(jsock, &msg, SWITCH_TRUE);
}
static void detach_calls(jsock_t *jsock)