Go Down

Topic: Sending dial tones (i.e. numbers) on a connected call (Read 28 times) previous topic - next topic

cabbi

Hi,

I'm trying to send dial tones during a call. I need to do this on an automated call response system where they ask to dial numbers to navigate different call options (i.e. those calls where a voice tells you: "please dial '1' to enter "this" option, dial '2' to enter "that" option...).

So I tried to use my extended GSM Voice call class, which overrides the 'GSM3VoiceCallService' class providing a 'Send' method:

Code: [Select]
class GSM3VoiceCallServiceEx: public GSM3VoiceCallService
{
    public:
    GSM3VoiceCallServiceEx()
    : GSM3VoiceCallService() {}
   
    void Send(const char* cmd, bool addCR)
    {
       theGSM3ShieldV1ModemCore.genericCommand_rqc(cmd, addCR);
        }
};


Then I use this code:

Code: [Select]
   
    GSM3VoiceCallServiceEx gsmVoiceCall;
    Serial.println(F("\nMaking call..."));
    gsmVoiceCall.voiceCall("401212");
    Serial.println(F("\nCall established!"));
    // Wait for call intro
    delay(10000);
    // Enter option '1'   
    gsmVoiceCall.Send("1", true);   


At this point call should end and the GMS provider might send me back an SMS, but this is not happening.

I tried with gsmVoiceCall.Send("1", true), gsmVoiceCall.Send("1", false) and gsmVoiceCall.Send("1;", ...)

And clues on how to send "dial tones" (i.e. numbers) during a call?

Thanks,
Cabbi

Go Up