One of the simpler things we can do with the IVR Designer is construct a phone tree for incoming calls to your small business phone system. In this example, we will greet the customer, offer them three routing possibilities, and offer a recording option if our agents are not available.

  • The <dialplan> is the root tag — every CallFire IVR is inside a Dialplan tag.
  • The first <play> tag is simply the greeting — it doesn’t ask questions or get back responses. A play tag can play a prerecorded sound file or a text-to-speech (tts) voice.
  • The <menu> tag acts as a “container" for a question and its answers, or an instruction and the various possible keypress responses. The menu tells the IVR engine how many digits to expect as a response (maxDigits="1"). The timeout attribute, in milliseconds, says how long to allow for a response — 3500 milliseconds equals 3-1/2 seconds.
  • The menu tag MUST contain at least one <play> tag (to explain what is required at that point) and one keypress (to get back at least one response). In our example, the “play_main" explains the call routing options.
  • Each <keypress> tag gets back the response and contains two dependent tags: a <stash> tag to save the department name in the report (so we can track which department had the most calls that day), and a <transfer> tag to actually transfer the call.
  • Note that all three <stash> tags have the same variable name (“dept") — this serves as a header name in the report for the value (“Sales", “Support", “Billing").
  • The <transfer> tag has several attributes. The variable reference ${call.callerid} sends the incoming caller ID to our agent’s phone. The whisper sound plays for our agent, so they know how to answer the call. The timeout limits how long we will ring the agent’s number.
  • If the agent doesn’t answer within the timeout period (in this case, 20 seconds), the IVR will play the “all agents busy" message and ask the customer to leave a message.

The finished IVR looks like this:

        Hi. Welcome to ABC Company.
           Press 1 for Sales. Press 2 for Support. Press 3 for Billing.
         All of our agents are busy helping other customers. 
          If you would like us to call you back,
          please leave your message after the beep, and press pound when finished.

This completes our simple inbound phone tree. Additional options could include individual extensions, individual voice mails modules, the ability to press “zero" at any time for an operator, or repeating sections for invalid responses. A member of CallFire’s IVR Design Team will be glad to help you with these or any other options.