Error saying "Cannot connect to the toolkit" when we're running

Sorry for the confusion. I’ll try to clarify it here.

In the information that was collected (about VMS_WM3 and DESKTOP-04FGM26), it was a situation where the same MIP SDK (64-bit 2019 R1) was working in one and not working the other.

I further went on to say that, in the machine where it was NOT working, the 32-bit version of MIP SDK 2016 R2 was found to be working without any problem.

To summarize:

case 1: For 64-bit → MIP SDK 2019 R1 Toolkit libs (and dependencies)

case 2: For 32-bit → MIP SDK 2016 R2 Toolkit libs (and dependencies)

Problem 1:

case 1 works in one setup(machine) and doesn’t work in another setup(machine)

Problem 2:

In the setup(machine) where case 1 doesn’t work, case 2 works.

Hope I was a bit clear in my explanation :slight_smile:

Is there any other way to get a descriptive error information on the sourceToolkit->connect() exception?

Currently, the catch block:

catch (const ImToolkitError &error)

{

std::wcerr << "ImToolkitError: " << error.what() << std::endl;

// Write toolkit error to standard error output

cerr << error.GetSpecificError() << endl;

}

is just printing 0s. “ImToolkitError: 0000000000”

There are some options..

https://doc.developer.milestonesys.com/html/index.html?base=mmtkhelp/class_nm_toolkit_1_1_im_toolkit_error.html&tree=tree_search.html?search=imtoolkiterror

GetErrorCause or GetCompleteErrorDescription sound promising, please see if you get more information.

Here’s the information you asked for:

error.what: Unable to connect to toolkit!

error.GetDescription: Unable to connect to toolkit!

error.GetCompleteErrorDescription: Unable to connect to toolkit! : Connection to image server could not be established. Check whether

the correct credentials where supplied!

error.GetErrorCause: Connection to image server could not be established. Check whether the correct credentials where supplied!

error.GetCode: 0

FYI, this is after successfully logging in (after the login call)

Any reason why it could be reporting this error?

Honestly we are a bit at a loss here, since we cannot reproduce. The error you get typically means either a network or credentials issue, but with the other information that sounds a bit unlikely.

Do you run your application on the same machine as the VMS server or another? Is it a basic or Windows user you use for logon?

Milestone Server and Client are on different machines. We tried both Basic and Windows user and got the same error in both the instances.

“Connection to image server could not be established. Check whether the correct credentials where supplied!”

Can you please tell me when is this error reported? Basically, what all constitute the credentials here? Is it only the username and password that we give or can it be related to the RecorderURI, CameraGUID, etc?

Because, username-password combination is correct (as it logs in)

I’m sure the other information that is supplied is also correct. But if there’s a way to verify the same, please let me know. How do I find out what the RecorderURI is and CameraGUID is from the Milestone server?

I’m currently fetching that information using the MIP SDK (written in C#) and supplying the same to my client application (written in C++) which is using the C++ interfaces of MIP SDK.

Hi, is there any other way by which we can get video feed for a camera in a C++ application? Because we’re facing this issue in many client places.

Also, please let me know how do I go about verifying and solving this issue too.

Could you please make a wireshark trace of the full communication between the server and the client while doing the connection attempt and then upload it here?

We will then try to see if we can figure out what goes wrong.

This is the filtered capture from the location where we found this problem (filtered with ip.src and ip.dst). The client is on 10.86.50.91 and the server is on 10.86.50.81.

If you need the unfiltered capture, I can provide it too.

We can see from the wireshark that the login to the Management Server succeeds, but next a connection attempt is performed to port 7563, which is the default Recording Server port and this is refused by the server.

There is no lookup of the Recording Server address, so we assume that it is hardcoded in your application? Please check whether the Recording Server is actually running on the default port or has been reconfigured to some other port (or even some other server - Management and Recording Server does not have to be on same machine). Also please check if there is any firewall or network settings that could cause this port to be unreachable.

If none of the above helps please run the Smart Client on the client machine again and then compare the wiresharks, to see where the Smart Client connects to (after login).

That was precisely it! Milestone was used in a cluster and the recorder server was distributed across different systems.

Thank you for helping us out.