With DandyDialer 1.1.0, we reworked how call scripts are executed and fixed a lot of behavioral bugs. Also, added some fine tuning parameters for campaigns.

In DandyDialer, call scripts are transformed into a low-level semi programmable scripting format (called ddscript) before execution. Previously, we were doing the transformations in front-end. While this seemed like a good approach at first, it became a serious roadblock hindering further development and bugfixes. With the latest changes, we moved ddscript generation to back-end , giving us more flexibility in moving forward.

If you are concerned about whether your existing campaigns became broke or not, don’t worry. We carefully migrated all existing call scripts and campaigns before finalizing the changes.


Previously, key presses were only acknowledged after press-1 voice prompt was finished playing. While we were confident that this is how press-1 should work, a lot of our users complained; saying that it is not the correct behavior. We took your feedback and removed this supposed “feature”. Key presses are now acknowledged as soon as they are detected.


Removed call timeout parameter from campaign creator/editor and call testing prompt. It was replaced by more fine-grained parameters in advanced section (described below).

New feature

DandyDialer now has an advanced section in campaign creator and editor where you can fine tune call behavior. The added parameters are -

  • Gateway connect timeout: This parameter is useful for determining failure from SIP gateway side.

  • Dial timeout: Replacement for now-removed call timeout parameter. This determines how long a call should be in dialing phase before a ring or answer is detected.

  • Vocal pause between plays: Previously, DandyDialer had a fixed pause between two subsequent audio / TTS plays. With this parameter, it is now configurable on a per-campaign basis. We placed convenient markers on the slider so that users can easily choose between standard linguistic vocal pauses - short (150ms), medium (1.5s) and long (2s).

  • Idle looping delay: (Only for press-1 campaigns) Let’s you configure the delay before voice prompt is repeated to callee if they don’t press any key.

  • Maximum idle loops: (Only for press-1 campaigns) It is the number of times a voice prompt will repeat if callee does not press any key.

  • Maximum stage transitions: (Only for press-1 campaigns) It limits the number of stage switches in a call, preventing accidental stalling due to random key-presses. Such a situation can occur more commonly than you might think. For example - mobile phone in pocket, pets or children playing with the phone.

All of these parameters are also available in gateway and script testing wizards.

Titon Barua


Titon Barua

Co-founder and Lead Developer

Titon is a software developer and architect with decades of experience in various web technologies, both in front-end and back-end. He prides himself in making robust and user-friendly software. An avid pythonista for a long time, these days, Titon mostly writes Clojure and Clojurescript.