atUnSoSubscribe + RING


#1

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


#2

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


#3

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


#4

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:

#5

Lazy programming :smiley:


#6

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.

Thanks!