Dialplan Verbs

Dial plan verbs actual description

SAY verb

With SAY verb, you are able to convert your desired text (Text to Speech) into a voice message, in a variety of languages.

{
  "type":"SAY",
  "message":{
    "text": string,
    "gender":string,
    "language":string
  },
  "bargeIn":boolean,
  "repeat":int
}
KEYDESCRIPTION
type*"SAY"
repeatDefines the number of repetitions.
bargeInIf it is true then the first DTMF tone will interrupt the current execution. All the collected tones of the call, including the tone that interrupted execution, are sent to the COLLECT eventUrl.
Default value: false.
message*
message.text*The text of the voice message.
message.genderThe gender of the voice.
VALUES: "male", "female"
message.language*The language of the voice message.
VALUES: "en-US", "de-DE", "fr-FR", "it-IT", "pt-BR", "es-ES", "es-LA", "en-GB", "el-GR", "bg-BG", "pl-PL", "hu-HU", "sv-SE", "ru-RU"

Barge In###

The "bargeIn" parameter is useful in implementing cloud IVR solutions.
You can use "bargeIn" parameter to interupt the active PLAY or SAY verb execution and send the collected DTMF tones to the specified eventUrl.

PLAY verb

When a PLAY verb is present in a dialplan, your defined audio file (in .wav format) will be played.

{
  "type": "PLAY",
  "fileURL":string,
  "repeat": int,
  "bargeIn": boolean
}
KEYDESCRIPTION
type*"PLAY"
bargeInIf it is true then the first DTMF tone will interrupt the current execution. All the collected tones of the call, including the tone that interrupted execution, are sent to the COLLECT eventUrl.
Default value: false.
repeatDefines the number of repetitions.
fileURL*The url of the prerecorded file to Play (in .WAV format).

DIAL verb (only 1 DIAL Verb per Dialplan).

With DIAL verb, you can connect another recipient to the call. The recipient of the conversation (in case of outbound conversation) or the caller of the conversation (in case of inbound) will be connected to the defined, in the DIAL verb, recipient.

{
  "type": "DIAL",
  "from":string,
  "to": object,
  "hangupDelay": int,
  "maxDuration":int,
  "callback": object,
  "record": boolean,
  "recordingFormat": string,
  "recordingCallbackUrl": string,
  "machineDetection":object
}
KEYDESCRIPTION
type*"DIAL"
from*The sender Id for this call.
to*The recipient of this call.
to.phoneA valid phone number (mobile or landline)
to.sipA valid SIP URI.
(ex: [email protected]:55080)
hangupDelayThe time in seconds to wait for the second call of the bridge to be answered.
The default value is to wait for the network to terminate the call in case the call is not answered.
maxDurationCall time length after bridge.
callbackDefines the notification callback information for this call. Check here for more information.
callback.urlThe URL that Routee will POST to the callback information.
callback.strategyDefines when the URL will be called.
Two possible values: on every status change (OnChange) or when a final status arrives (OnCompletion).
recordIf the value is true, the conversation will be recorded.
recordingFormatThe format of the recorded file (WAV or MP3).
Default value is MP3
recordingCallbackUrlThe URL that Routee will POST to the information about the recorded file.
machineDetectionIt is used to detect if the call is answered by human or machine and define the desired actions (in case of machine).
machineDetection.strategyThe strategy to follow when a machine has been detected.
Possible values: "Hangup" (terminate the call) or "Continue" (give another dialplan to execute)
machineDetection.eventUrlThe URL that Routee will POST to when a machine is detected (only for "Continue" strategy). A valid dialplan is expected as response.

Recording a call###

With "record" object you are able to record a call between the caller and the callee leg and choose between .mp3 or .wav audio format.
You are able to retrieve the recorded file from the provided "recordingCallbackUrl" parameter or from the Conversation Tracking endpoints Retrieve Conversation Tracking

Handle the ringing and call duration with hangupDelay & maxDuration###

With the "hangupDelay" parameter you can specify the max time a call will stay in ringing mode (until the recipient answers the call) or until the carrier terminates the call.
With the "maxDuration" parameter you can specify the maximum duration of the actual call.

How Machine Detection Works###

With Machine Detection you are able to recognize whether a Human or a Machine (eg Voicemail system) has answered the call and set specific actions (Strategy) for those cases.
You can enable machineDetection when executing a Voice Conversation or when using the Dial Verb inside a Dialplan.
In order to enable the Detect Machine, you have to set the machineDetection.strategy parameter to "Hangup" or "Continue".
In case machineDetection.strategy is set to Hangup, the call will be terminated when a Machine answers the call on the other side. A Callback with the detectMachineStatus is sent to the specified machineDetection.eventUrl. A dialplan is expected as response from the machineDetection.eventUrl.
In case machineDetection.strategy is set to Continue, the call will not be terminated and will continue instead. A Callback with the detectMachineStatus is sent to the specified machineDetection.eventUrl.

PAUSE verb

With PAUSE verb, you are able to temporarily stop the execution of the dialplan for a specified time.

{
  "type":"PAUSE",
  "duration": int
}
KEYDESCRIPTION
type*"PAUSE"
durationThe duration of the pause in seconds.
Default value: 1

COLLECT verb

With the COLLECT verb, you can interact with your audience, by the use of DTMF tones. If a COLLECT verb is placed anywhere inside a dialplan, all the pressed DTMF tones will be gathered and sent to the URL that you define.
You are able to change the dialplan according to the input of your customers. This is possible by providing a new valid dialplan at the eventUrl parameter of the COLLECT verb, by returning and executing a new dialplan.

{
    "type":"COLLECT",
    "submitOnHash":boolean,
    "eventUrl":string,
  	"maxDigits":int
}
KEYDESCRIPTION
type*"COLLECT"
eventUrlDefine the URL that the collected tones will be sent to. A new valid dialplan may be set as response, in order to change the current one.
maxDigitsDefine the maximum collected digits.
Default value: 30.
submitOnHashIf true the collected tones are sent to the eventUrl after pressing #.
Default value: false.

*The DTMF tones during a DIAL verb are not collected.