Send osmand data from linux command line

Guy4 years ago

Ok!
At least now it works and thats fantastic!
You are doing a great job.

Thanks again.

5of93 years ago

Do you think this happens because of the rewponse of osmand protocol ?HTTP/1.1 200 OK
content-length: 0

Even when I enable header output in curl I don't see the header!? Maybe curl drops everything becauso of zero length!? If so maybe a "Done" as returned content of osmand could fix it?!

Anton Tananaev3 years ago

We have already established the cause. There is no need for guessing.

Jack2 years ago

TL;DR; enabling geocoding breaks local OsmAnd requests in unexpected ways.

EDIT: adding context:
traccar:latest docker container at current date

I'm also stepping on this. This is clearly a bug in how Traccar handles HTTP protocol or generally the incoming requests.

I have nominatim geocoding enabled and forwarding disabled.

If I send a simple GET request to Traccar OsmAnd port via an intermediate TLS termination server (I'm using Traefik) using curl "https://my.public.osmand.server.com/?deviceid=...", everything work as expected, including geocoding.

If I send same GET request via curl from very same TLS termination server container shell to Traccar local address (using docker network so I'm sending to http://traccar:5055/?...) it will return status 200 OK (false positive) but only "last update" is updated and sent GPS data is lost. If that is a new device the panel will be completely blank, there won't be point on map but the "last update" will be 0 minutes.

This means that the way my TLS termination server forge the local (forwarded) HTTP request works, but what curl does on same machine for same path will not. I've tried manually setting request headers 1:1 with the ones of the correctly working forwarded request, but won't work as the problem is subtle. This is very misleading and break the service in unexpected ways.

If I disable geocoding it works for both local and forwarded requests.

Anton Tananaev2 years ago

This is a known issue.

Jack2 years ago

thanks for the feedback.

Is there an issue page I can follow?

Anton Tananaev2 years ago

Not sure. There might be a GitHub issue for it.

Milen2 years ago

Is there fix for this, or some workaround?

I think i hit this issue when trying to use Mikrotik GPS device to Traccar via its integrated tool fetch.
Our Traccar have Geocoding with Nominatim enabled.
If i disable geocoding - data from mikrotik is OK, otherwise it only update "last update"
on traccar-server.log only hex is logged when geocoding is enabled, if i disable it, it logs and recognize id, data and etc.

Milen2 years ago

I understand problem is disconnects and that mikrotik is not keeping one connection, but connect/disconnect on every update
Just asking is there some workaround?
My idea is to put mikrotik data to another script on server, like proxy - and that script will update traccar - but asking for more smart solution :)