Thanks for your answer.
In fact, in you example, I managed to get your part : 4449313A30204449323A30204449333A302041494E3A323420444F313A3020444F323A30.
And then, to convert it into ASCII message like yours : DI1:0 DI2:0 DI3:0 AIN:24 DO1:0 DO2:0.
However, I would like to know if there is a way to extract some informations of this ASCII message depending of which command was sent. Like new "DI1" or "DI2" value.
For example, I found that the ASCII result of this command "setparam 2001:wap;2002:user;2003:pass" is a little bit different than the "getio" command.
Finally, extract some specific data from ASCII response seems to be possible, but, I don't know which type of command's ACK I am decoding. Because ACK is not associated to the command sent.
For example in a fictive ACK packet it might look like : Command ID (based on timestamp for example) | Command sent | ACK (ASCII).
It should be a great improvement for a lot of people I think.
I am sorry for this post. Also, It's complicated to express it in english.
I have tried the getstatus command. The result is : Data Link: 1 GPRS: 1 Phone: 0 SIM: 0 OP: 20820 Signal: 4 NewSMS: 0 Roaming: 1 SMSFull: 0 LAC: 5 Cell ID: 31814 NetType: 1 FwUpd:-65536
Here I have a problem because unlike to getio, the values are separated by spaces (Data Link: 1).
But with getio command, there is no space (DI1:0).
So my method to extract data from ASCII string can't be the same accordind to the commands sent.
Thus, I can't integrate clear custom ACK with language translation into my user interface.