Play and Menu nodes

What’s about

This group manages the audio playing.

Playback

Here you can play an audio file without any interaction between the customer and the application. The audio is unstoppable

image-20240530-144228.png
  • Label: here you can type a brief description

  • Audio: name of the audio file you want to play in the current box

Exit Arrows

This box provides just one arrow out to the next step

 

Menu

This is probably one of the most important application box available on Cally Square. Here you can build a complex menu using a single box: you can play the message, count the retries on errors (i.e. to avoid dangerous loops) and set a variable with the digit value(s) pressed by the customers

image-20240530-144639.png

 

  • Label: here you can type a brief description

  • Audio: the name of the audio file you want to play in the current box

  • Response Timeout: the maximum number of seconds the system waits before considering the customer not interacting with the application

  • Max Digit: the maximum number of digits the system waits before moving on to the next step

  • Retries: here you can set the number of loops automatically performed in case of digits not valid or timeout**

  • Variable: the variable you want to fill with the digits pressed by the customer.

** Please consider the menu box gives the top priority to the invalid (i) or timeout (t) branches (if present) before routing the call in a loop.

# key can be used as an escape digit or as a valid exit key.

If the user doesn't press any keys when the message plays, there is $timeout milliseconds of silence then the command ends.
The user has the opportunity to press a key at any time during the message or the post-message silence. If the user presses a key while the message is playing, the message stops playing. When the first key is pressed a timer starts counting for $timeout milliseconds. Every time the user presses another key the timer is restarted. The command ends when the counter goes to zero or the maximum number of digits is entered, whichever happens first.

Exit Arrows

The menu box lets you draw many exit arrows according to the following syntax:

  • N: where N is a digit between 0 and 9. The box waits for one digit if the MaxDigit parameter is set to one

  • N,N: where N is a digit between 0 and 9. The box uses this exit for every digit specified in the exit arrow (eg. 1,2 )

  • NN: where N is a digit between 0 and 9. If MaxDigit is set to 2, the box waits for a number between 00 and 99

  • i: the system takes this path if the entry selected is invalid

  • t: the system takes this path if the box goes in case of timeout

  • -: the system considers this branch when the retry value is reached. Timeout and Invalid branches have higher priority than this branch.

It is possible to add multiple choices for each output branch: use just the comma separated characters.

Say Digits

Here you can play the digits, one by one, in the chosen language (defaults to English)

To be able to choose the language, it is required:

  • to insert the SET block for channel Language variable before saydigits block (to set the language to the indicated channel, so if Asterisk finds e.g. a file playback, it searches for the folder in the corresponding language)

  • to have the language files present on folder /var/lib/asterisk/sounds

image-20240530-144929.png
  • Label: here you can type a brief description

  • Digits: the digits you want to be played: they can be both a digit string (i.e. 1234) or a VARIABLE (i.e.  {CALLERID(num)})

  • Escape digits: special character to exit from the playing (i.e. #)

Exit Arrows
This box provides just one arrow out to the next step

Say Number

Here you can play a number (i.e. 2583 will be played like "two thousand, five hundred and eighty threes")

image-20240530-145305.png
  • Label: here you can type a brief description

  • Number: the number you want to be played: they can be both a digit string (i.e. 1234) or a VARIABLE (i.e.  {CALLERID(num)})

  • Escape digits: special character to exit from the playing (i.e. #)

Exit Arrows
This box provides just one arrow out to the next step

SayPhonetics

Here you can sequentially play each asterisk sound file located in /var/lib/asterisk/sounds/phonetic/character_p.gsm for each character in input using the NATO Phonetic Alphabet.

image-20240530-150012.png
  • Label: here you can type a brief description

  • Text: the text you want to be played: it can be both a digit string (i.e. Joe) or a VARIABLE (i.e.  {CALLERID(name)})

  • Escape digits: special character to exit from the playing (i.e. #)

Exit Arrows
This box provides just one arrow out to the next step

 

GetDigits

Here you can prompt the user to insert a series of digits: you can play the message, count the retries on errors (i.e. to avoid dangerous loops) and set a variable with the inserted digits value.

image-20240530-150405.png

 

  • Label: here you can type a brief description

  • Audio: the name of the audio file you want to play in the current box

  • Response Timeout: the maximum number of seconds the system waits before considering the customer not interacting with the application

  • Min Digit: the minimum number of digits the system can accept without considering it an invalid entry

  • Max Digit: the maximum number of digits the system waits before moving on to the next step

  • Retry: here you can set the number of loops automatically performed in case of invalid digits **

  • Variable: the variable you want to fill with the digits pressed by the customer.

** Please consider that the getdigits box gives the top priority to the invalid (i) branch (if present) before routing the call in a loop.

Pressing the # key has the same effect as the timer running out: the command ends and any previously keyed digits are returned. A side effect of this is that there is no way to read a # key using this command.
If you don't specify $max_digits then the user can enter as many digits as they want.
 
If the user doesn't press any keys when the message plays, there is $timeout milliseconds of silence then the command ends.
The user has the opportunity to press a key at any time during the message or the post-message silence. If the user presses a key while the message is playing, the message stops playing. When the first key is pressed a timer starts counting for $timeout milliseconds. Every time the user presses another key the timer is reset. The command ends when the counter goes to zero or the maximum number of digits is entered, whichever happens first.

Exit Arrows
The get digits box lets you draw many exit arrows according to the following syntax:

  • x: is the exit arrow, the path taken when a valid digit is inserted. If not present, on valid entry the call will be dropped.

  • i: the system takes this path if the entry is invalid. If not present it will simply loop the getdigits box until it runs out of retries.

  • -: the system takes this path if it runs out of retries. If not present, when the system runs out of retries will simply drop the call.

GetSecretDigits

Here you can prompt the user to insert a series of digits and some of them will be hidden, for security reasons. You can play the message, set how many digits you want to hide, count the retries on errors (i.e. to avoid dangerous loops) and set a variable with the inserted digits value

image-20240530-150806.png

 

  • Label: here you can type a brief description

  • Audio: the name of the audio file you want to play in the current box

  • Response Timeout: the maximum number of seconds the system waits before considering the customer not interacting with the application

  • Min Digit: the minimum number of digits the system can accept without considering it an invalid entry

  • Max Digit: the maximum number of digits the system waits before moving on to the next step

  • Retry: here you can set the number of loops automatically performed in case of invalid digits **

  • Hidden Digits Number: the number of digits that the system will hide, for security reasons

  • Hidden Digits Position: you can set if the First or Last #N digits will be hidden

  • Variable: the variable you want to fill with the digits pressed by the customer.

** Please consider that the getsecretdigits box gives the top priority to the invalid (i) branch (if present) before routing the call in a loop.

Pressing the # key has the same effect as the timer running out: the command ends and any previously keyed digits are returned. A side effect of this is that there is no way to read a # key using this command.
If you don't specify $max_digits then the user can enter as many digits as they want.
 
If the user doesn't press any keys when the message plays, there is $timeout milliseconds of silence then the command ends.
The user has the opportunity to press a key at any time during the message or the post-message silence. If the user presses a key while the message is playing, the message stops playing. When the first key is pressed a timer starts counting for $timeout milliseconds. Every time the user presses another key the timer is reset. The command ends when the counter goes to zero or the maximum number of digits is entered, whichever happens first.

Exit Arrows

The getsecretdigits box lets you draw many exit arrows according to the following syntax:

  • x: is the exit arrow, the path taken when a valid digit is inserted. If not present, on valid entry the call will be dropped.

  • i: the system takes this path if the entry is invalid. If not present it will simply loop the getsecretdigits box until it runs out of retries.

  • -: the system takes this path if it runs out of retries. If not present, when the system runs out of retries will simply drop the call

Send DTMF

This block allows interaction with the system by sending DTMF (Dual-Tone Multi-Frequency) tones enabling users to provide input using the telephone keypad during a phone call.
So caller can select for example menu option, enter numbers or provide answers through the use of DTMF tones transmitted during the call.

image-20240530-151104.png

 

  • DTMF Tones to play: list of digits accepted 0-9, *#, a-d, A-D, w (for a half-second pause), W (for a second pause) , f (for a flash-hook, if the channel supports it).
    Max 30 digits

  • Timeout between tones: amount of time to wait between tones. expressed in milliseconds (max 60000)

  • Tone duration: duration of each digit, expressed in millseconds (max 60000)

Exit arrows

This box presents one exit arrow

Related topics