Hi, I use Milestone Mobile SDK library for .net and "changeStream" command fails with errorCode "UnknownItemID" time to time. Do you have any clue why this could happen if I have correct videoID?

I use Milestone Mobile SDK library to show video live stream. I send “changeStream” command to Milestone after screen size is changed. Everything works fine but “changeStream” command fails with errorCode “UnknownItemID” time to time. I can’t figure it out why this happens. It looks like video live stream is working fine.

Did you meet such a issue before?

Thanks for reply

Hello Zdenko,

can you please provide WireShark trance of the requests so that we can investigate what may cause this issue that you are facing.

Thanks

Teodor

Hello,

Yes I would like to attach wireshark trace from server where Milestone is installed but it is not possible here (button is disabled). Here is link to drive with trace file. https://drive.google.com/file/d/1A-jadHUaq7bdVioYxYBbRV-YCp40AhNP/view?usp=sharing

Btw here are details about our application architecture.

We have .net web api backend where we use milestone mobile .net sdk. Then we have FE web application where we show video live streams. FE web application requests for websocket url (to show live stream) from our BE web api. BE web api is connected to milestone mobile server and sends commands (requestStream, ChangeStream) to Milestone.

We use milestone mobile .net sdk instead of milestone mobile web sdk because we would like to show video live stream from multiple milestone servers.

Thanks a lot

Zdeno

Hello Zdenko,

from the wireshark we don’t saw any ChangeStream commands so we can’t actually figure out where the problem may be. What we saw is that there are 2 connections that are made and maintain (2 Connect commands + 2 Login commands etc.). This may be the problem that you are facing that you somehow mixed the context between both connections.

If that is not the case please give as another WireShark containing the failed ChangeStream command.

Best regards

Teodor

Hello Teodore,

Thank you for your quick reply. I believe your observation is right. 2 connect and login commands are the key.

Problem is in our BE implementation. If we have two live streams from the same server, we send 2 connect commands but we remember only one connection. Then if we want to change stream for both live streams only one live stream is working. The second one fails because its connection was not remembered.

That’s probably why there is “UnknownItemID” error. Remembered connection cannot recognize provided videoId, because videoId belongs to different connection.

I’m sorry to have disturbed you

Thanks again for your time.

Zdeno