Error 23: Unsuccessful login response

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?

ok,

please find it attached.

br

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:

  1. Sending LogIn wtihout sending Connect;
  2. 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

Awesome,

Glad to hear, Marco !