How to return from ATD command immediately

5 thoughts on “How to return from ATD command immediately

  1. While porting GSM part of our device from Siemens to Telit, we find out lack of required for us functionality – return from ATD command immediately.

     

    So with Siemens we turn on compatibility to Siemens mobile phones by AT^SM20 command, and ME will return "OK" immediately after attempting a call with the ATD command.

    Then we check call state with AT+CLCC command.

     

    In Telit we found AT#DIALMODE command, but the quickest mode (0) to recieve "OK" from the ATD command is as soon as it starts remotely ringing. In case of problem in GSM network delay between ATD command send and its result could be quite big.

     

    How could we configure Telit module to return from ATD command immediately, and then check call state with AT+CLCC command or with #ECAM URC?

     

      1. This is what is available; why would you like to have instant return?

        The main reason for instant return for our current implementation is parser logic. Parser thread wait for status from all executed AT command. And in case of ATD command (one of the frequent used command in our device) parser thread could hang up for 30 seconds (Estimated maximum time to get response) in waiting loop.

         

        So in case of "This is what is available" we need to reimplement all parser logic or adopt some RTOS :(.

        1. Many AT commands have appreciable delays and in such environment either be prepared to wait or use a state machine.

  2. Cosmin Buhu, thank you for your clarification.

     

    In this case we really need to change our current parser logic.