Search code examples
arduinovoice-recognitionivr

Programatically interact with IVR


I am about to develop application that will call IVR and make selections there, like after IVR "says" the text "press 1 to get more info" my application should press 1. I have no idea how to start. Should it be something Arduino based + voice recognition? Any ideas are welcomed.


Solution

  • You can write a simple app for that using Dasha.

    Sample DSL (DashaScript) code:

    start node root {
        do {
            #connectSafe("<PHONE_NUMBER>"); //call phone number
        }
        transitions {
            press_number: goto press_number on #messageHasAnyIntent(["press_one", "press_two"]); //use conversational AI to understand that IVR says "press 1 to get more info"
        }
    }
    
    node press_number {
        do {
            if(#messageHasIntent("press_one")) 
                #sendDTMF("1"); //make selection by sending DTMF code
            if(#messageHasIntent("press_two"))
                #sendDTMF("2");
        }
    }
    

    Then you can save IVR's reply using Dasha's speech recognition and pass it to your app.

    If you need any help, feel free to join our dev community or drop me a line at [email protected].

    Cheers