We have a m2m modem with Sierra Wireless Q2687RD engine which support OpenAT and C# programming language.
We need an embedded application, so that this modem can work more powerful to fulfill m2m market need
Features we need for this embedded application are as follow :
1. We can enable / disable / configure gprs connection and can input APN information together with its username and password if needed
2. We can attach and detach gprs connection manually
3. We can activate and deactivate gprs connection manually
4. We can check the ip address we got from the gsm provider
5. We can preset a tcp destination ip address or domain, port number, and working mode (either server or client).
6. We can preset a udp destination ip address or domain, port number, and working mode (either server or client).
7. We can set the application to buffer the data which are going to transmit through gprs network based on preconfigured byte size, command will be like, ‘please buffer the data, until it is 20bytes big, and modem may sent to the preconfigured destination’
8. We can activate and deactivate a keep alive packet to monitor the modem and connection stability
9. We can set the modem to automatically connect tcp
10. We can set the modem to automatically connect udp
11. We can set the buffering data system based on preconfig delay time, like ‘please buffer data first, because the modem only transmit every 30 sec, but it can transmit automatically if detect the modem internal memory is full’
12. It can automatically close socket (for client mode) and can automatically deactivate gprs (for server mode) if the modem detect :
- there is no activity in its tcp or udp socket connection after some preconfig period of time
- in server mode, there is no client connecting to it for some preconfig period of time
- tcp or udp socket period connect reach the preconfig period of time
13. We can store a preconfig ping destination, and can command the modem to execute ping action if need, this feature have connection with point 7
14. We can made the modem connect to a dynamic dns service like dyndns, no-ip, etc, this feature will be useful if we set the modem working as server mode
15. We can activate and deactivate mode which enable us to send Atcommand to modem remotely by sending sms with a 6 password, like ‘123456AT+CSQ’ and then the modem will return the signal result by sms.
Other sms like spam which not match this format will be automatically deleted
16. We can make a list of authorized phone number which can dial to modem, other call except these numbers will be rejected
17. We should be able to set the modem to update its firmware if we have a newer one from a ftp server. People call update the firmware OTA (over the air)
18. We should be able to check balance from prepaid gsm card which we used inside the modem by sms, normally the command to check the balance is using a USSD command
19. We should be able to let the modem to transfer its prepaid gsm card balance to another prepaid gsm card, normally in mobile phone, if we want to transfer our balance to another number, we will send a specific format of sms like ‘TRF 1000 0812XXXXXX’ and send it to gsm provider number, like : 333
And if it success, the gsm provider will return a sms telling that the transfering balance is succesful
20. We can restore default all of this configuration