May be some different in CSQ report it is result of GSM network configuration and loading. Your modem will seek nearest free base station for data exchange. You can check it by run the command:
The same base station registration codes correspond to equal CSQ levels if your device not moving across. The CSQ level usually flow around 2-3 points. Modem need to select another base station by GSM network rules…
About TX-LED blinking mode it is very unstable parameter while your MCU transmit data. For example, length of UDP/TCP packets will vary depend on current operator settings. In case of DNS names using, our application need to resolve name to IP-address first but this information will be cashed once (so next session has different time to transmit).
Next possible condition in retry transmission for error recovery or completely fail to transmit data on radio link protocol level at the selected channel/timeslot.
If you want to get more information, you will make a log of your MCU transmissions and receptions time/size and compare the records. Also you will compare traffic volume by GSM-operator billing system report and blinking intensity for some period.
The GSM network is unpredictable time to time… We have to use GSM-CSD connections for data files exchange mobile-to-mobile. Usually a file of fixed volume will send at fixed bitrate 9600 and real speed 800-1000 bytes per second but sometime (at the middle of transmission!) real speed grow up to 2000 bps or more and file transferred for ~4 minutes not for 10! I have to check result! No errors, file transferred - OK. All possible modem tuning parameters will used and applayed automatically the same manner every time but I can not to repeat this situation next time. It work? Good!