SIM900 GPRS doubts

Hello to all!!

I can successfully transfer data with a Server. But I’ve seen a lot of ways to start a connection. Now, my goal is to make the device a little more roboust, to prevent malfunction

Right now, the command sequence I use to connect to the server is:

1- AT+CGATT = 1

2- AT+CSTT=“”,“”,“”

3- AT+CIICR

4- AT+CDNSCFG = “8.8.8.8”,“8.8.4.4” (Google DNS)

5- (wait for IP STATUS)

6- AT+CIPSTART=“TCP”,“”,“”

I do not make use of any of those AT Commands:

AT+CIPCSGP

AT+CLPORT

AT+CIPMUX

AT+CIPMODE

AT+CGDCONT

AT+CDNSORIP

Should I use them? All of them or just a few?

I mean, if for example CDNSORIP is changed (for any reason) to IP mode and I’m sending domain name, then I guess I won’t be able to connect. So maybe it would be a good idea to set CDNSORIP to be DNS before starting the connection.

Also there are some of them I’m not sure I understand it’s functionallity, and please correct me if I’m wrong:

AT+CIPCSGP: With this command I should set the connection to be GPRS instead of CSD, and also set the APN. This APN has to be the same in

AT+CSTT, but why configure the APN two times, isn’t one enough?

AT+CLPORT: Set the Protocolo and the Port… but why, if I already set them in CIPSTART?

AT+CIPMUX: For now, single connection, so should be always set to 0

AT+CIPMODE: I will always use NORMAL MODE

AT+CGDCONT: This is the one that confuse me the most. I don’t understand what is it for. And again APN is requiered

I hope you can help me and clarify my mind. Thanks in advance!