Accept inbound CSD call when in TCP session

To accept inbound CSD call during TCP session I can see the possibilities:

  1. Suspend TCP session and answer call (suggested by Wavecom FAQ for FTP). How to suspend session? Maybe good for voice calls.
  2. Answer call, disconnect TCP socket and subscribe to GSM FCM. Don’t know if this one is supported by CGCLASS=B.
  3. Disconnect TCP socket, answer call and subscribe to GSM FCM.

3 (also 2) does not work 100%, as sometimes wip forgets to close GPRS FCM and does not fire final WIP_BEV_STOPPED for wip_bearerStop() API. Any forced subscribe to GSM FCM sooner or later yields in module reset.

So, what am I missing?

I am working with wip 2.00.31 and OAT 3.13.02

Hi ljweko,

it seems that’s an error in OpenAT — my current workaround is sending an AT+CGATT=0 if the system does not fire final WIP_BEV_STOPPED for wip_bearerStop() API.


Hi Ralf,

this is a nice solution, but here the CGATT command is queued and executed only after the inbound call has timed out. So this call is not answered, which is not perfect, but also not tragic. Still, I am experimenting with the idea to find possible enhancement.

The problem seems to start with the following trace listed during wip_bearerStop() API:

Trace	DATA	1	CloseFlow :: Unknown Flow Mbox: 0x0

and here is nothing I can do.

Which version of the OS are You using?

Thanks and BR

Hi ljweko

I’m using an Q24Plus with OpenAT v3.13.

The problem is known by wavecom and shall be solved with OpenAT v3.15 in september (I’ll hope so)


I am seeing a similar problem - any update on the fix, or any workarounds?

That would be great!

See my post

– edit –

Where can I get info about Open AT v3.15?

– edit –

I just realized that Open AT v3.15 is the one I’m using right now.

Sorry, the version number was a wrong information from my distributor — the current information from wavecom says that the problem will be solved in firmware version 6.57e which will be release in the first or second week in october (maybe)

Best Regards, Ralf

It seems the new date is begin of november :frowning:

Best regards,


I reload this post because I have the same problem, I need to answer to CSD call during a TCP session.
So during ring I close the GPRS bearer. It done it.
I open the CSD flow by adl_fcmSubscribe.
It done it after the bearer was stopped.
I could communicate in CSD, I disconnected CSD.
The GPRS was connected and other time.
But if I asked a new order of closing bearer, it didn’t do it.

I try CGATT but the GPRS never connected after.

Somebody could help me ?
Do you solve this kind of problem ?


Seems to me, Wavecom is heavily working on the problem (July 2008, this thread started end of Jun 2007).

The 6.57f resolves the problem by not fireing the ADL_CALL_EVENT_ANSWER_OK event at all. No CSD connection, problem solved! I don’t dare to try it with flagship R071.

For my customers, when they need CSD, the call has to be answered. After the power up, the first call is allways served. So after the CSD connection (see Ralf’s suggestion on bearer close), while establishing new bearer, I do preventive bearerStop (up to n times), trying to provoke ARM reset, so next call is sure served.

For Q2686 and firmware 6.60-6.63c it is a known problem.
It is supposed to be fixed in 6.63d, but I have no idea when Wavecom will release that.

The workaround for problem with 6.57f according to our distributor is to enter AT+WBHV=7,1 at the called side. It works!

yes I confirm AT+WBHV=7,1 works