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:
class GSM3VoiceCallServiceEx: public GSM3VoiceCallService
{
public:
GSM3VoiceCallServiceEx()
: GSM3VoiceCallService() {}
void Send(const char* cmd, bool addCR)
{
theGSM3ShieldV1ModemCore.genericCommand_rqc(cmd, addCR);
}
};
Then I use this code:
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