modem gprs attach
Hi,
The implementation depend on the modem you will use. The GPRS modems are not all the same, some will have some extra (useful) features, some don't. I recommend you Telit GM862, any of GPRS or PCS version. It has built in TCP/IP stack.
1- It is possible. The easiest way is to initiate the data transfer from the modem side, to a remote location. But if you want to use the GPRS modem as a server (ready to accept incoming connections), you will have to keep the GPRS modem always attached to the GPRS context (thus having an IP address), and to listen to a certain port where you will expect incoming connections. The peer side will have to know the IP which was assigned to the modem in the moment of GPRS attach. Some GSM operators will allow you to have a fixed IP address, some don't, check this with your provider.
2 - It is, but you will have to write the HTTP protocol in the PIC (the telit have only TCP/IP) and manage the resources (documents, scripts, etc.). Again, you will have to use the method described at 1, attach to GPRS, then listen on port 80.
3 - If you use one side to initiate the TCP connection and the other side in listen mode, it is possible. Again, the initiator will have to know the IP of the peer fromn the moment of the GPRS attach.
4 - If you use a modem with built in TCP/IP stack, all the underlying protocols which forms PPP are transparent to you. The only thing you have to do is to manage the connection (set APN, userid, passw, dial socket, listen on port, etc). Otherwise, you will have to write all the protocols from the PPP stack (LCP, PAP, CHAP, IPCP, ...) and this is not easy. The only drawback in the case of modems with TCP/IP (for Telit at least) is that only one TCP (or UDP) socket can be active at one time. Otherwise, it's easy: set parameters, atach to gprs, dial socket (or listen on port), and when you have a connection, exchange data.
/pisoiu