diff --git a/PepperDashEssentials/AppServer/CotijaSystemController.cs b/PepperDashEssentials/AppServer/CotijaSystemController.cs index b2e3c9dd..23af9779 100644 --- a/PepperDashEssentials/AppServer/CotijaSystemController.cs +++ b/PepperDashEssentials/AppServer/CotijaSystemController.cs @@ -47,6 +47,8 @@ namespace PepperDash.Essentials long ServerReconnectInterval = 5000; + DateTime LastAckMessage; + string SystemUuid; List RoomBridges = new List(); @@ -307,14 +309,17 @@ namespace PepperDash.Essentials code = "Not available"; } var conn = WSClient == null ? "No client" : (WSClient.Connected ? "Yes" : "No"); + var secSinceLastAck = DateTime.Now - LastAckMessage; + CrestronConsole.ConsoleCommandResponse(@"Mobile Control Information: Server address: {0} System Name: {1} System UUID: {2} System User code: {3} - Connected?: {4}", url, name, SystemUuid, - code, conn); + Connected?: {4} + Seconds Since Last Ack: {5}", url, name, SystemUuid, + code, conn, secSinceLastAck.Seconds); } /// @@ -430,7 +435,12 @@ namespace PepperDash.Essentials if (WSClient != null && WSClient.Connected) { string message = JsonConvert.SerializeObject(o, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); - Debug.Console(1, this, "Message TX: {0}", message); + + if (!message.Contains("/system/heartbeat")) + Debug.Console(1, this, "Message TX: {0}", message); + //else + // Debug.Console(1, this, "TX messages contains /system/heartbeat"); + var messageBytes = System.Text.Encoding.UTF8.GetBytes(message); var result = WSClient.Send(messageBytes, (uint)messageBytes.Length, WebSocketClient.WEBSOCKET_PACKET_TYPES.LWS_WS_OPCODE_07__TEXT_FRAME); if (result != WebSocketClient.WEBSOCKET_RESULT_CODES.WEBSOCKET_CLIENT_SUCCESS) @@ -656,7 +666,14 @@ namespace PepperDash.Essentials if(string.IsNullOrEmpty(message)) return; - Debug.Console(1, this, "Message RX: {0}", message); + if (!message.Contains("/system/heartbeat")) + Debug.Console(1, this, "Message RX: {0}", message); + else + { + LastAckMessage = DateTime.Now; + //Debug.Console(1, this, "RX message contains /system/heartbeat"); + } + try { var messageObj = JObject.Parse(message); diff --git a/PepperDashEssentials/AppServer/Messengers/AtcDdvc01Messenger.cs b/PepperDashEssentials/AppServer/Messengers/AtcDdvc01Messenger.cs index c1491f83..94b44dfb 100644 --- a/PepperDashEssentials/AppServer/Messengers/AtcDdvc01Messenger.cs +++ b/PepperDashEssentials/AppServer/Messengers/AtcDdvc01Messenger.cs @@ -85,6 +85,7 @@ namespace PepperDash.Essentials.AppServer.Messengers callStatus = EISC.GetString(SHookState), currentCallString = EISC.GetString(SCurrentCallString), currentDialString = EISC.GetString(SCurrentDialString), + isInCall = EISC.GetString(SHookState) == "Connected" }); } diff --git a/essentials-framework b/essentials-framework index 1d210d80..fb712a2a 160000 --- a/essentials-framework +++ b/essentials-framework @@ -1 +1 @@ -Subproject commit 1d210d80f8c142d5281bbc7138aab17bc4c14c7b +Subproject commit fb712a2a0ab9f7a4ff5bd039d5ea4f9d70ed5d5e