CONTENT

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

RELATED TO vboxtcl…

Look at the tcl documentation for any tcl specific questions.

For vbox : vboxgetty(8), vboxgetty.conf(5), vbox.conf(5)

AUTHOR

This manual page was written by Andreas Jellinghaus <[email protected]>, for Debian GNU/Linux and isdn4linux.