General introduction:
We are developing a new management platform, where we would like to broadcast CCTV streams coming from the Milestone system. In this case the Milestone system is a subsystem.
This requires that we have a server-to-server connection between the management platform and the milestone system.
We are using the XProtect Essential 2019 R1 system and we try to integrate by using the Mobile Server
Problem:
The login seems to be successful, but we are not getting a successful login response:
Result received from Mobile Server: Error 23
Definition of Error 23 in the documentation: “Not allowed in current state”,):
The Web SDK provided is working, and there’s no difference in the Mobile Server logs between the working and not-working integration.
What does error 23 mean? How can we solve this problem?
Hi Marco,
Could you make a Wireshark trace of communication between your server and Milestone Mobile server ?
Btw on what platform / language are making the integration ?
I’m asking in order to understand if it is possible to be used MIP SDK Mobile or have to be made Protocol integration.
Hi Petar,
Thank you for the fast response.
Attached is a Wireshark trace, requests are sent from Java (why does it matter?)
In any case, it should be helpful to understand the meaning of error 23.
Br
Marco
Thanks Marco !
You are right, platform doesn’t matter.
About the trace, I’m a little bit confused, because I do not see in the LogIn response any error code:
<?xml version="1.0" encoding="utf-8"?>
<Communication xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ConnectionId>5ae8a2d0-de14-4775-8cef-b620d0b49788</ConnectionId>
<Command SequenceId="2">
<Type>Response</Type>
<Name>LogIn</Name>
<InputParams />
<OutputParams>
...
</OutputParams>
<Items />
<Result>OK</Result>
</Command>
</Communication>
Please check this screenshot.
Output of Mobile Server logs while performing the connection and login attempts (username is “atms”, using Basic Auth.):
2019-04-08;10:03:53 AM;Info;LicenseWrapper;CheckTwoStepVerification is False
2019-04-08;10:03:53 AM;Info;LicenseWrapper;CheckTwoStepVerification is False
2019-04-08;10:03:53 AM;Info;CommunicationCommandQueue;LogIn; OK;atms
2019-04-08;10:04:23 AM;Info;CommunicationManager.CheckConnectionsAreAlive();User Timed Out! ChannelID: c254d2e1-bf69-48a8-9a3f-09a8dbf6a9de
2019-04-08;10:04:24 AM;Info;CommunicationManager.CheckConnectionsAreAlive();User Timed Out! ChannelID: 86d3a42b-8b23-4b78-b0f0-5623efc6c96f
thanks
Okay,
could you provide wireshark trace in case of fail, please?
In the second trace I do not see “Connect” command before the “LogIn”.
Is it sent ?
I will check, but for the meantime:
Do you know what Error 23 can mean?
BR
Marco
Yep,
Generally two cases:
- Sending LogIn wtihout sending Connect;
- Sending LogIn after completion of another successful LogIn;
(Probably also and sending LogIn without completion of previous Login)
In all the cases this error code indicates error in the workflow.
The command which is send is not expected in this time / order.
Hi Petar,
regarding your question:
the second case is probably happening because on wireshark we can see 4 requests instead of 2 where the final responds returned to the Java client is the error response.
We need to investigate why and where is it happening that we see 4 requests instead of 2.
Do you have an idea, why this could happen?
We will keep you updated after our investigation.
br
Hi Petar,
we fixed the problem. It was the second case. We used a not appropiate component and we tryed to login, but we were already logged in.
Br
Marco