Call from application


#1

Hi All!
I have problemm to call from application.
adl_atCmdCreate(“atd +79014416723;”,ADL_AT_RSP,(adl_atRspHandler_t)NULL,NULL); is not working, but from AT CMD
atd +79014416723; is working
How can I call from OPEN AT application?
Thx!


#2

Use the ADL Call Service


#3

Hi MariMax,
You can use these ADL:

  • adl_callSubscribe(callHandler);
    make a call: adl_callSetup(PhoneNumber,ADL_CALL_MODE_VOICE);
    hangup a call: adl_callHangup();
    answer a call: adl_callAnswer();

For more detail in the ADL User Guide as awneil advice.
ttt


#4
adl_callHdlr_f OutgoingCall(u16 Event, u32 Call_ID)
{
    
    s8 sReturn;
        
    sReturn = ADL_CALL_NO_FORWARD;
    
        switch (Event)
    {
        case ADL_CALL_EVENT_SETUP_OK_FROM_EXT:  // atd from ext - OK
        case ADL_CALL_EVENT_SETUP_OK:  // atd from int - OK
            MyfcmSend("Call Setup OK \n\r");
        case ADL_CALL_EVENT_ANSWER_OK_FROM_EXT:  // ata from ext - OK/CONNECT
        case ADL_CALL_EVENT_ANSWER_OK:  // ata from int - OK/CONNECT
            MyfcmSend("Answer \n\r");
        break;

        case ADL_CALL_EVENT_RING_VOICE:  // voice phone call ringing
        case ADL_CALL_EVENT_RING_DATA:  // data phone call ringing
            MyfcmSend("Ring \n\r");
        break;

        case ADL_CALL_EVENT_NEW_ID:  // Wind: 5,X
        case ADL_CALL_EVENT_ALERTING:  // Wind: 2
                MyfcmSend("ring \n\r");
        break;

        case ADL_CALL_EVENT_HANGUP_OK_FROM_EXT:  // ath from ext - OK
        case ADL_CALL_EVENT_HANGUP_OK:           // ath from int - OK
                MyfcmSend("hanup \n\r");
                sReturn = ADL_CALL_FORWARD;                
        
        case ADL_CALL_EVENT_RELEASE_ID:  // Wind: 6,X
        break;

        default :
        MyfcmSend("nothink \n \r");
         return ADL_CALL_FORWARD;
//         return ADL_CALL_NO_FORWARD;
        break;
    }
    
MyfcmSend("++++++++++++++++\n\r");    
         return sReturn;
      
}


void adl_main ( adl_InitType_e  InitType )
{
  if (OK ==  adl_callSubscribe(OutgoingCall))
     MyfcmSend("Subscribe call OK\n\r"); 

  adl_callSetup("89014416723;",ADL_CALL_MODE_VOICE);
  adl_callHangup();
}

What is wrong?


#5

You didn’t use the ‘Code’ tags - so your post is illegible!

See the little buttons across the top of the box where you type your post…


#6

Hi MariMax,

-> It should be : adl_callSetup(“89014416723”,ADL_CALL_MODE_VOICE);
after you make a call, you should not call the adl_callHangup(). You can stop the call in the call back function OutgoingCall when you receive the event of call.
ttt


#7
adl_callHdlr_f OutgoingCall(u16 Event, u32 Call_ID)
{
MyfcmSend("++++++++++++++++\n\r");    
}

void adl_main ( adl_InitType_e  InitType )
{
if (OK ==  adl_callSubscribe(OutgoingCall))
     MyfcmSend("Subscribe call OK\n\r"); 

if (OK == adl_callSetup("+79014416723",ADL_CALL_MODE_VOICE))
    MyfcmSend("Setup call OK\n\r"); 
}

Nothing occurs, adl_callSetup is not call OutgoingCall. Why OutgoingCall does not call


#8

Make use of the return codes from the API calls - they may be telling you something…!


#9

Hi MariMax,
Does the GSM led flash? Can you make a call with AT command?
ttt


#10

With AT command I can make a call! (“atd 89014416723” is working)
modem has not time to boot. I made call on click event and all working!
Thx for all!