More detailed AT data during the dial (ATDxxx) process


Hi, I have a basic GSM modem (T68i) and Sending AT+CPAS gives +CPAS: 0 Ready, +CPAS:3 Ringing or +CPAS:4 Answered. What I need to know is if the line really is ringing rather than setting up the call - i.e. still dialling, or having dialled and now waiting for the ring, engaged etc.

What I’m trying to achieve is to make the target number ring just once then drop the line, its part of a free alert system for a closed group of users. I need to make sure the line is available, send ATD (dial), then keep sending AT+CPAS until RINGING, then time out after 0.5 sec. The problem is it may take several seconds to setup the call, then ring (e.g. dailling overseas) or be pretty much instant for local calls, so I know I need to start my hangup timer only after the first real RINGING reponse, no matter how long that takes.

I don’t use Wavecom at present but am asking here because it may be some Wavecom kit offers this, if so I’m very interested, or another way to query using AT for more states such as DIALLING, SETUP, RINGING, ENGAGED etc which I may have overlooked. Thanks!


Hi Eric
I am not fimiliar with the T68i
But wavecom can definately do this for you
You have to activate the wind indicators and then when you amke the call you will receive +WIND: 5
and when the phone is ringing onthe other side you will receive +WIND: 2
and when the call is answered you will receive +WIND: 9
and if call is released you will receive +WIND: 6
so as soon as you receive +WIND: 2 you have to do ATH

Best regards


Thats great news - is that all Wavecom modems?
Also, do the WIND indicators come in asyncronously the way you said or do I still have to poll ?


This is a very common, but fundamentally flawed idea!

You have absolutely no way whatsoever to know how many “rings” have occurred on the called line!

All you know is that the called number has started alerting.

The ringing tone that you hear when you dial a call manually is generated by your local exchange (switch) - there is no guarantee that it is synchronised to the cadence of the called line.


Yes - see that appropriate AT Command manual.

Yes - they are unsolicited.


Thanks, and I understand. But “started alerting” - isn’t that enough? I don’t really need to count the rings, just time 0.5 sec or whatever from that point…


For your “free alert system” to be free, it relies upon the called party not answering the call.

The point is, how do you guarantee that the called party won’t answer the call? You can’t tell them to leave a certain number of rings, because you can’t count rings yourself.

So long as you understand this, and are certain that all your users understand it, that’s fine.

People often suggest trying to attach some meaning to the number of rings - a kind of bell code - which obviously won’t work, for the reasons explained.


Thanks again, but its still not quite what I meant. I’m really just asking if the “started alerting” event is on the 1st ring, if so I could start the timer then, but if not I am as you say, in the dark. Thinking more, of course the “ring” sound heard can’t be from the remote end - it may be a mobile with Crazy Frog on it!!!


About giving a meaning to the code, why don’t you give meaning to the ringing duration, since you can’t count how many times it rings?

If it is a cell phone it will show the caller identity.
If the call is from your device ,

if it is short (<5 secs) : means X
if it is medium (>10 secs , < 20secs) means Y
if it is long (>20 secs ) means Z