Extended ETSI Hayes AT command parameters for SMS

Home

AT+CSMS: Select Message Service:


Command Possible response(s) +CSMS=<Service> +CSMS: <mt>,<mo>,<bm>

+CMS ERROR: <err>

+CSMS?+CSMS: <service>,<mt>,<mo>,<bm> +CSMS=?+CSMS: (List of supported <service>s)


<service>: 0;

<mt>,<mo>,<bm>: 0=not supported, 1=supported


--> Only <mt> and <mo> is implemented;



AT+CPMS: Preferred Message Storage:


Command Possible response(s) +CPMS=<mem1>[,<mem2>[,<mem3>]] +CPMS: <used1>,<total1>,<used2>,<total2>,<used3>,<total3> +CPMS?+CPMS: <mem1>,<used1>,<total1>,<mem2>,<used2>,<total2>,... +CPMS=?+CPMS: (List of supported <mem1>s), (List of supported <mem2>s), (List of supported <mem3>s)


<mem1>: Memory used for reading and deleting of SMS messages (+CMGL, +CMGR, CMGD

command's).

<mem2>: Memory used for writing and sending of SMS messages (+CMGW-commando)


Defined values:

ME : Mobile Equipment, the handset;

SM : SIM card;



AT+CMGF: Message Format:


Command Possible response(s) +CMGF=[<mode>]  +CMGF?+CMGF: <mode> +CMGF=?+CMGF: (list of supported <mode>s)


<mode>: 0: PDU mode;

1: text mode;


--> Only text mode is implemented.



AT+CSCA: Service Center Address:


Command Possible response(s) +CSCA=<sca>[,<tosca>]  +CSCA?+CSCA: <sca>,<tosca> +CSCA=? 


<sca> = service center address;


SCA for Proximus Belgium is "+32 75 16 16 16". This always should contain the country code number!! Sending an SMS message doesn't work when the SCA number is not entered!

AT+CSMP: Set Text Mode Parameters:


Command Possible response(s) +CSMP=[<fo>[,<vp>[,<pid>[,<dcs>]]]]  +CSMP?+CSMP: <fo>,<vp>,<pid>,<dcs> +CSMP=? 


<fo>: First octet of SMS-DELIVER, SMS-SUBMIT (default 17), SMS-STATUS-REPORT, or SMS-COMMAND (default 2);

<vp>: Validity Period, depending on <fo>-setting in integer format or in time-string format;

<pid>: TP-protocol Indentifier;

<dcs>: Data Coding Scheme in integer format;


---> Default values: +CSMP: 17,167,0,0,0

Dit is SMS-SUBMIT, VP=24 uur;

DO NOT TOUCH!!!



AT+CSDH: Show Text Mode Parameters:


Command Possible response(s) +CSDH=[<show>]  + CSDH?+CSDH: <show> +CSDH=?+CSDH: (list of supported <show>s)


<Show>: 0: do not show header values defined in commands +CSCA and +CSMP

(<sca>,<tosca>,<fo>,<vp>,<pid> and <dcs>) nor <length>,<toda>,<tooa> in +CMT, +CMTL,

+CMGR result codes;

1: show the values in result codes;


---> Only '0' is supported, so no extra parameters in the result codes.



AT+CNMI: New Message indication to TE


Command Possible response(s) +CNMI=[<mode>[,<mt>[,<bm>[,<ds>[,<bfr>]]]]]  +CNMI?+CNMI: <mode>,<mt>,<bm>,<ds>,<bfr> +CNMI=?+CSCB: (list of supported <mode>s,<mt>s,<bm>s,<ds>s,<bfr>s)


<mode>: 0: buffer in TA;

1: discard indication and reject new SMs when TE-TA link is reserved; otherwise forward

directly;

2: buffer new Sms when TE-TA link is reserved and flush them to TE after reservation;

otherwise forward directly to the TE;

3: forward directly to TE;

<mt>: 0: no SMS-DELIVER are routed to TE;

1: +CMTI: <mem>,<index> routed to TE;

2: for all SMS_DELIVERs except class 2: +CMT: .... routed to TE;

class 2 is indicated as in <mt>=1;

3: Class 3: as in <mt>=2;

other classes: As in <mt>=1;

<bm>: same as <mt>, but for CBMs;

<ds>: 0: No SMS-STATUS-REPORT are routed to TE;

1: SMS-STATUS-REPORTs are routed to TE, using +CDS: ...

<bfr>: 0: TA buffer is flushed to TE (if <mode>=1..3);

1: TA buffer is cleared (if <mode>=1..3);


---> Only when <mt> is different from 0, you will get a message that a new SMS has been received.



AT+CMGL: List Messages:


Command Possible response(s) +CMGL[=<stat>] +CMGL: message... +CMGL=?+CMGL: (list of supported <stat>s)


<stat>: status of messages to be read.

defined values:

0: received unread

1: received read;

2: stored unsent;

3: stored sent;

4: all;


---> Only "ALL" (4) is supported!!



AT+CMGR: Read Message:


Command Possible response(s) +CMGR=<index> +CMGR: message... +CMGR=? 


1.10 AT+CMGS: Send Message:


Command Possible response(s) +CMGS=<da>[,<toda>] +CMGS: <mr> +CMGS=? 


<da> = Destination Address;



AT+CMGW: Write Message to Memory:


Command Possible response(s) +CMGW=<oa/da>[,<tooa>/<toda>[,<stat>]] +CMGW: <index> +CMGW=? 


1.12 AT+CMGD: Delete Message:


Command Possible response(s) +CMGD=<index>  +CMGD=? 


Examples:
Please check if your current firmware supports SMS commands.

AT+CSMS=0

+CSMS: 1,1,0 ; Only <mo> and <mt> SM's are supported

OK

Important Note :

If the card returns ERROR, then the modem does not support SMS. Please try updating with the latest GSM Activation Kit for GSM-Ready, or for GSM-Only.

AT+CPMS?

AT+CPMS: "SM",1,10,"ME",4,5

OK

AT+CPMS="ME","SM" ; Swap memories

OK

AT+CMGF=1 ; select text-mode (DEFAULT!!)

OK

AT+CSCA="+3275161616" ; Enter SCA number ( for Belgium, Proximus) This number is operator and country dependent. Please check with your local provider.

OK

AT+CNMI=1,1,0,0,0 ; Enable de reception of SM's


+CMTI: "ME",3 ; a SM is received and stored in ME, index 3


AT+CPMS="ME" ; Make sure memory is OK

OK

AT+CMGR=3 ; Read message

+CMGR: "REC UNREAD",,,

Hello world

OK

AT+CMGL=4 ; Read all messages in ME

+CMGL: 3,"REC UNREAD",,, ; --> Only index 3 en 5 are used

Hello world

Send Message :

AT+CMGS="075261001" ; Send message to "075261001"

> Honey….put my dinner in the microwave. I'm on my way!!^Z (Ctrl+Z to finish and send the message)

+CMGS: 3 ; OK, message gone

OK



Important ERROR messages:


CMS Errors:

300: ME Failure;

302: Operation not allowed;

303: Operation not supported;

304: Invalid PDU mode parameter;

305: Invalid text mode parameter;

320: memory failure;

321: invalid memory index;

322: memory full;

330: SCA unknown;

500: Unknown error;
 

 
  http://www.cellular.co.za


 

 



FREE NEWSLETTER