Tcl commands for vboxgetty
With vbox version 2.0, tcl can be used as a script language to act on incoming calls.
Incoming calls are still taken by vboxgetty, but further actions are made by the tcl script.
These are additional variables supplied by vboxgetty.
vbox_var_bindir
directory with vbox commands.
vbox_var_savename
name for this message to save. The name is constructed from time and process id. It's a good idea to use this name, but you can also use a different name.
vbox_var_rectime
maximum seconds to record.
vbox_var_spooldir
path of the users spool directory (/var/spool/vbox/<user>).
vbox_var_checknew
path for new files (/var/spool/vbox/<user>/incoming).
vbox_msg_standard
filename with full path of the message to play as the standard message (/var/spool/vbox/<user>/messages/standard.msg).
vbox_msg_beep
filename with full path of the message to play as beep (/var/spool/vbox/<user>/messages/beep.msg).
vbox_msg_timeout
filename with full path of the message to play after a timeout (/var/spool/vbox/<user>/messages/timeout.msg).
vbox_caller_id
CALLERID of current caller. If unknown, this is "0".
vbox_caller_phone
full phone number of current caller. If unknown, this is "*** Unknown ***".
vbox_caller_name
name of current caller. If unknown, this is "*** Unknown ***".
vbox_user_name
name of the user that runs this vboxgetty.
vbox_user_home
home directory of the user that runs this vboxgetty.
vbox_flag_standard
this is TRUE if the script should play the standard message, and FALSE if the script should not.
vbox_flag_beep
this is TRUE if the script should play the beep message, and FALSE if the script should not.
vbox_flag_timeout
this is TRUE if the script should play the timeout message, and FALSE if the script should not.
vbox_flag_record
this is TRUE if the script should record a message, and FALSE if the script should not.
vboxgetty also provides some additional functions to the user.
Return Codes
Most functions will use these return codes:
ERROR
An error occurred.
HANGUP
The connection was ended. Script should end now.
OK
The whole message was played, nothing occurred.
Any other error code is a touchtone sequence, that was detected during playing the message.
vbox_breaklist <add|rem> <sequence> [...]
With this command you can control which touchtone sequences vboxgetty will recognize.
Touchtone sequences have the format *NUMBER#, where NUMBER is a sequence of the characters 0-9 and A-D. Even single numbers must be given in the format *NUMBER#. Vboxgetty detects if the caller gives a number as a single digit or as a part of a sequence.
add <sequence> [...]
Add a touchtone sequence to breaklist. You can add up to 8 sequences at one time.
rem <sequence> [...]
Remove a touchtone sequence from breaklist. You can remove up to 8 sequences at one time. You can use all to remove all sequences.
vbox_put_message <message>
Play a message and returns an error code depending on the reason to stop playing. Default return codes.
message
full name of the message file (with path).
vbox_get_message <savename> <timelimit>
Records a message. Default return codes. Options are:
savename
full name of the file for saving the message.
timelimit
maximum time to record the message.
vbox_wait <seconds>
Waits for several seconds for an input from caller. Default return codes. Options are:
seconds
time to wait.
vbox_init_touchtones
Clears vboxgetty touchtone sequence. Normal way is to append all new touchtones to the sequence, the sequence is only cleared when a "*" touchtone is received.
vbox_pause <ms>
waits a specific number of milliseconds.
ms
number of milliseconds to wait.
vbox_get_nr_new_messages <messagebox>
Return the number of new messages in the directory.
messagebox
the directory to scan
vbox_get_nr_all_messages <messagebox>
Return the number of messages in the directory.
messagebox
the directory to scan
Look at the tcl documentation for any tcl specific questions.
For vbox : vboxgetty(8), vboxgetty.conf(5), vbox.conf(5)
This manual page was written by Andreas Jellinghaus <[email protected]>, for Debian GNU/Linux and isdn4linux.