---
name: "vboxtcl"
section: "5"
platform: "linux"
package: "isdnvboxserver"
version: "1:3.25+dfsg1-10"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/vboxtcl"
---

# vboxtcl(5)

tcl commands for vboxgetty

## NAME

vboxtcl - tcl commands for vboxgetty

## 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

## SEE ALSO

Look at the tcl documentation for any tcl specific questions.

For vbox : **[vboxgetty(8)](/vboxgetty/8.md), [vboxgetty.conf(5)](/vboxgetty.conf/5.md), [vbox.conf(5)](/vbox.conf/5.md)**

## AUTHOR

This manual page was written by Andreas Jellinghaus \<aj@dungeon.inka.de\>, for Debian GNU/Linux and isdn4linux.
