I am trying to work with a few GPS-enabled tracking devices one of them being a TK-303 GPS tracker that uses SIM-powered GPRS to access the internet. currently, I can receive messages on my python TCP socket server. but when I tried initiating a connection to the devices using the public address that is broadcasted when the device sends a message, the connection wouldn't connect. my question is how is this done, I would like insight on how to go about doing this. thank you.
Data transfers have to be initiated by the GPRS module; your cellular provider will have a firewall that blocks all connection requests that originate from the internet.
The usual way round this is to send an SMS to the tracker, which can either return its position in an SMS, or be triggered to initiate contact with a server.