atUnSoSubscribe + RING

I have my q2686 connected with developer studio. I make a call to it, i receive the RING.
However it seems like the atUnSoHandler does not get called. I tested this by sending “ATA” when it gets called to establish a connection but that does not work.

Is it possible that this has to do with RING being redirected to the developer studio, instead of the internal application? (This is just a guess, I actually have no clue)
I did not find a solution on the board

I tried using the flow control manager. With ATS0=2 I set up the connection, i can send and receive data.
But I don’t see how I can subscribe to the RING, I tried to but the handler does not get called.

adl_fcmSubscribe(ADL_FCM_FLOW_GSM_DATA, FCM_GSM_CtrlHandler, FCM_GSM_DataHandler);
	adl_atUnSoSubscribe((ascii *) ADL_STR_RING, ( adl_atUnSoHandler_t ) cmd_RspHandler_RING ); // Bij ring moet een output hoog worden gezet
	adl_atCmdCreate("ATS0=2", TRUE, NULL, NULL); // automatisch opnemen bij RING

I can see the “RING” in the developer studio its console btw

Well, using the call service in combination with the FCM allowed me to accept calls, forward the received data to the serial port and set an output high when i received the call, to let the other terminal equipment know of the data comming through.

So my problem is solved

Three points to note:

  1. You are not checking the return value - so you don’t know whether this call succeeds or not.
    If this call fails, there is no subscription - and then, obviously, the handler can never be called :exclamation:
  2. Check the definition of ADL_STR_RING - is it valid to cast it to a string:question:
  3. Don’t manually cast the handler parameter: if the type is correct, the cast is superfluous;
    if the type is wrong, the cast will mask this and prevent the compiler from warning you :exclamation:

Lazy programming :smiley:

Can you give a few lines of code on how you did this? I have exactly the same problem with “RING.” In my case I only need to detect the incoming call without answering it, and then get the caller ID with CLCC.