Open metc opened 4 years ago
Example use-case: for quick tests in the field, I can run the client and connect to a know IPv4 or IPv6 address. I do not necessarily need DNS. I get logs from the client application and I should be able to find the NAT timeout value without logs from the server.
You can achieve your quick test using our existing server (nat-test.thingy.rocks
) by observing the logs on the device side, it will print the discovered timeouts.
I see that the server is tightly coupled to a cloud provider, AWS in this case. Would it be possible to provide a version of the server application (as a native Go application or as a Docker image) that I could run anywhere (on any Linux host or Docker platform)? Server-side logs could simply be printed to stdout or to a file.
Yes, this is easily possible (and where we originally started): the saveLog
routine can be replaced with a simpler variant that logs to stdout:
Nother question: the
imei
(part of the scheme) can be used to identify each client. Does the server support multiple connections (I did not look at the server implementation yet)?
Yes, the IMEI is just informative, the server handles connections based on UDP/TCP source addresses and handles multiple connections concurrently.
Hi,
This is an interesting project. It is necessary to know and understand NAT timeouts and the values configured by each carrier when developing cellular-IoT applications in order to configure the keepalive value correctly and save power on the client-side (embedded device running on battery).
Example use-case: for quick tests in the field, I can run the client and connect to a know IPv4 or IPv6 address. I do not necessarily need DNS. I get logs from the client application and I should be able to find the NAT timeout value without logs from the server.
I see that the server is tightly coupled to a cloud provider, AWS in this case. Would it be possible to provide a version of the server application (as a native Go application or as a Docker image) that I could run anywhere (on any Linux host or Docker platform)? Server-side logs could simply be printed to stdout or to a file.
I am asking for a more simple version compared to what you already provide.
Nother question: the
imei
(part of the scheme) can be used to identify each client. Does the server support multiple connections (I did not look at the server implementation yet)?