MakingChatbots/ivr-tester

Call does not hang-up in twilio

LuisAntezana opened this issue · 4 comments

Hello, this tool is fantastic. I found that even though I set a hang-up in the scenario file or if the test fails, the call should be terminated. The transcription file and the recording audio looks fine BUT if I go to twilio and look for the call, I find that the call is still in progress until the responder hangs up.
This is a big issue because that call's cost will depend not on the scenario file but on when the responder hangs up.

How it should work:
If an error, failed or successful test has occurred. The call must be terminated (hang up) in twilio as well.

Hi, thanks for kind words. That is indeed odd, I just ran a contrived test to ensure terminating the underlying WebSocket connection ends the call in Twilio and it does. So either the hangUp command or the process running the scenario ending should have resulted in the WebSocket connection being terminated.

I'm wondering whether either:

  • The hangUp command didn't terminate the WebSocket connection for some reason, and the process remained open
  • IVR Tester terminated the WebSocket connection, but ngrok kept it open in the background for some reason

I am currently rewriting IVR Tester from the ground up, so will ensure I test this in the new release. Thanks for bringing it to my attention.

Hi @SketchingDev thanks for the response, so far I've done many tests one after another without a problem so I guess the ngrok may not be the issue.
Also, I forgot to mention that I'm using the CLI version + AWS translate service. The scenario file is something similar to this:

{
    "name": "Demo: hang up",
    "steps": [
        {
            "whenPrompt": {
                "type": "similarTo",
                "value": "Thank you for calling."
            },
            "then": {
                "type": "hangUp"
            },
            "silenceAfterPrompt": 2000,
            "timeout": 5000
        }
    ]
}

And my config file:

{
    "transcriber": {
        "name": "amazon-transcribe",
        "options": {
            "languageCode": "en-US",
            "region": "us-east-1"
        }
    },
    "recording": {
        "audio": {
            "outputPath": "./audios"
        },
        "transcript": {
            "outputPath": "./recordings",
            "includeResponse": true
        }
    }
}

I have tested it on my PC (Windows 10) and in an Alpine container with the same result.
I hope this information is helpful.

We are having the same issue :(

Hello @LuisAntezana
Were you able to receive DTMF input in Twilio IVR for the gather input widgets while testing this?
For me it get's stuck at gather cause Twilio IVR is not registering the "press" input provided in the test cases.