Situation:
On a GSM based modem, you start a voice call with ATDxxxxxxxxx;
Some modem issue a "CONNECT" when the remote side has answered, or other modem returns "^CONN: 1, 0" on the diagnostic port.
However, if the remote side rejects the call, this connection feedback is still sent.
AT+CPAS returns 4 (call in progress).
AT+CIND (when supported) returns that a call is running, and the call is not ringing.
Some modem do not have data sent on the data port, but other does (typically silence is sent, or a tone).
After a long time, the network disconnect the call and the modem then finally issue a "^CEND" on diagnostic port, or "HANGUP: 1" on the application port.
I would like to detect when the remote side has rejected the call as soon as possible, not after the network timeout. How do I do that ?
EDIT: BTW, I'm not speaking about the "automatic" answering machine, but a clear reject for the call (so it does not get redirected to the answering machine).
Also, I would like to avoid "detecting a ring-tone on the data port" like solutions which would prove tricky and CPU intensive to get right.