Any way to prevent ATO in AT mode?



When embedded application switches FCM flow into data mode, we can exit data mode using +++ sequence. Then by ATO command port can be returned back into data mode, and corresponding event is sent to flow control handler.

The question: can we reject switching of port into data mode using ATO?

In contrast to +++, we cannot just return FALSE from the handler and ignore external application request. Are there other ways to do so? May be it is possible to subscribe to ATO command to prevent its standard system handling?

Another question: can somebody clearly explain in which situations the ATO command works, and when it just returns ERROR. When in usual GSM data call - no questions, if we have carrier - we can switch into data mode by ATO. But what about simple FCM flow through UART? We cannot control DCD in that case (see my question in other thread), so how can we know or control the ATO behavior?