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.
VARIABLES
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.
FUNCTIONS
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
SEE ALSO
Look at the tcl documentation for any tcl specific questions.