CapiCall manual, part 2 · Contents

Voice and SMS servers

Voice server

CC_SERV.EXE is the main module of CapiCall which accepts calls depending on time profiles and launches the SMS server if required. A status window shows the activity on all ISDN channels.

We recommend that you launch the voice server module from the Windows Autostart folder. To ensure an autostart in a network without being asked for a log-in name, either set the network log-in to "Windows" instead of Microsoft client, or use the free TweakUI tool from Microsoft (as a part of the Windows Power Tools) which allows an automatic log-in with a specified user name.

The ISDN line provides the time for each outgoing call. The voice and SMS servers use this feature to update the minutes of the system clock. The hours and the date are left unchanged. This allows you to have the system clock running with UTC/GMT, for instance, while the ISDN line provides the local time.

The following controls are available in the voice server window:

The voice server does a clean-up 10 minutes after it is started and at 4 a.m. every day:

  1. Voicemails of deleted users are removed.
  2. Voicemails and bulletin board messages older than the configured day count (30 days default) are deleted.
  3. Voicemails and answering machine messages where the notification type has been changed to "WAV attachment" in the meantime are sent as e-mail.
  4. If the prepaid function is used, a status file PREPAID.TXT is created or updated.

SMS server

CAPISMS.EXE is the module responsible for sending SMS messages either over an ISDN line, over a GSM radio modem, or an Internet SMS provider.

The SMS editor (SMSEDIT.EXE) can be used to type in SMS messages manually. Each message can have up to 160 characters. The phone book of the SMS editor shows all CapiCall phonebook entries with an area code that matches one of the provider codes in the GSM SMS list.

The protocol module

The protocol module shows a list with all connections the voice server has handled, including which files have been played or recorded. By clicking on a line, the caller's actions are shown, and the associated files can be played using the sound card, including voice mails and answering machine messages. The main window of the protocol module has three areas: The protocol itself, the actions of the caller, and some buttons.

Protocol display

The list shows the date, time and duration of each connection, the caller's number and your own MSN where this call came in. If the user is registered, the user number is also displayed. The lines may have different colors:

Black The caller did not leave a message.
Blue The caller has left a message for the sysop on the answering machine.
Magenta The caller has left you a voicemail.
Red Phone notification call or transferred call (3PTY-O/Copy only).
Orange Chat (two callers talk to each other).
Green Transferred prepaid call (3PTY-O/Copy only).

In a red line with a transferred 3PTY-O or Copy call something like "V081375882" is displayed. "V" is the code for transferred call, and the caller's number follows. If the caller was identified as a registered user, "V#32" means user number 32. For prepaid transferred calls, a green line with "P#" followed by the prepaid PIN is displayed.

By clicking on a protocol line with the secondary mouse key, you get an extra menu which allows calling back a caller using your telephone.

The actions list shows what files the caller listened to, if something was recorded and other things. If a transferred call fails, a 4-digit code is displayed. Typical values are:

The Play/Open button allows spooling through the recorded messages. The matching protocol line is printed bold in this case. You may also skip messages or jump back.

Forward message: This button allows forwarding a voicemail to another user. A list of other users is displayed. If the destination user's notification type is e-mail with WAV attachment, the voicemail is sent as an e-mail.

Rename: Recorded PCM files can be renamed. One typical application is to integrate a message into an info menu or use it to replace an existing internal message.

Export: PCM files can be saved in the WAV format with 8 bit, 8 kHz, mono. (There is no "import" button, however, because you can simply import WAV files with the file box in the info menu configuration, setting the file type to WAV.)

Delete: The marked PCM file is deleted.

Menu functions

In addition to the buttons, the menu of the protocol module and the icons below the menu allow the following additional functions:

Check voicemails: This window shows all voicemails of all users to see the usage frequency. However, for privacy reasons, you can only listen to your own voicemails.

Own voicemails: This window shows a list of your own voicemails. You can listen to them or delete them here.

Check bulletin boards: After selecting a board, you will get an overview of all its messages. You can listen to them and delete them as appropriate. If the configuration settings require new messages to be controlled by the system operator before they can be heard by others, new entries are displayed in the lower section of the window. These can be played via the sound card and then released to the public.

SMS protocol: Shows date, time and status of SMS messages.

E-mail protocol: Shows a list of errors using the MAPI interface of your mail program. Successful e-mails are not logged.

Protocol configuration

The protocol module, as in contrary to the configuration module, allows settings which are private for each workstation in a local-area network.

The file menu in the protocol module

To avoid a long loading time, the protocol file should never get too big. The file menu allows saving the current protocol under any name and deleting it.

The call list module

The program CC_PHONE.EXE shows calls including the ones not accepted and handled by CapiCall. These calls are logged to a text file PHONE.LOG.

If you run CapiCall in a network, start the voice server module on the computer housing the ISDN adapter. The call list module CC_PHONE.EXE can be started over the network on all other workstations to display incoming calls. Therefore the hard disk of the voice server PC must be accessible over the network.

To call back a caller in the list, click on the log line using the secondary mouse key. A small context menu opens. Select callback, and you will be asked for your own telephone number. Some seconds later, your telephone rings, and when you pick it up, the caller's number is dialed.

In the configuration menu of the calls module you will find these options:

Learn number: Used to add the telephone number of the selected call to the phone book.

User management: Opens the phone book.

Activation of MSNs: This setting affects which incoming calls are displayed in a pop-up window. You may enter one or more MSNs (separated by a semicolon) for which this should happen.

Action for call: CapiCall allows the launch of a specified program when a call comes in. This option can either be specified in the phone book for a specified number, or a default action for other callers. The corresponding command line is configured in the configuration menu of the calls module at "action for call". As other settings in the calls module, this only applies to the local single workstation. On the voice server PC the action is taken by the voice server, on other workstations by the calls module, which must be loaded to work.

In the corresponding command line, some special variables can be used to inform a program about the caller's number or about his name:

&NR The telephone number of the caller. If it contains an additional external prefix digit of a PBX, this digit is removed.
&NA The name of the caller, if found in the phone book or if the caller has identified himself/herself by a user number and PIN.
&MSN The local ISDN number (MSN) which was called.
&CN The ISDN bearer (B) channel number (1, 2, ...).

[x] Launch automatically:
With this option activated, the action is taken without asking the user. However, if the same action is programmed for several workstations in a network, you should not set this option to avoid network conflicts.

@echo off
rem Start from CapiCall this way:
rem note.bat &NR "&NA"
if exist %1.txt goto start
echo .LOG >>%1.txt
echo Name: %2>>%1.txt
echo Number: %1>>%1.txt
start %1.txt

Calling CapiCall

Intro message keys

During the intro message, some fixed functions are assigned to the telephone keys. The keys 1 to 4 are only active if voicemail users have been created in the phone book.

The keys 5 and 7 have a different meaning if the caller has been identified as a voicemail user (by using key 2 before) or as the system operator (by using key 9 before, for instance).

Voicemail to a registered user
Listen to or delete voicemails
Change identity (i.e. user number)
Play user list (if activated)
Play time of day
Enter alarm time (or delete with #)
Switch phone notification on/off
Record new intro message
Sysop only: Listen to answering machine
To info menu (if configured)
Repeat current message
Skip current message


When you call CapiCall, the intro message is displayed first (except if you have configured the call profile to jump directly to the info menu). If you do not press any key and the call profile is configured for recording a message at the end of the intro message (default), you can leave a message to the system operator.

For using the voicemail system, which is intended to leave personal messages to other users, the following telephone keys can be used during the intro message.

1 = Record voicemail: You will be asked to enter the user number of the person your message is directed to (not your own, normally!). Possibly you will hear the name of this user after entering the number. After recording the message, you may either press # to jump back to the intro message, or simply hang up. If a caller consecutively records several messages to the same user number, they will be joined to one record with a short beep after each.

2 = Listen to your voicemails: You will be asked to enter your own user number and your PIN. The system will hang up if you enter a wrong number for three times. During a received message being played you can use the following keys:

1 Answer message (if sender was identified)
2 Copy message to another user
99 Delete the message
* Repeat the current message
# Skip the rest of the current message
0 Skip the current and all following messages

If you use this function for the very first time, you will be asked to record your own name. This will be played automatically if someone else tries to record a voicemail for you (using key 1) and is also used for the user list (key 4). Stop recording by pressing #. The user names will be saved as IDxxxxx.PCM in the subdirectory MAIL, where xxxxx is the user number.

3 = Change identity and listen to voice mails: This function is quite similar to key 2 but allows to log-in again with a new user number without having to hang up.

4 = User list: Plays a list of all user numbers and the corresponding names if these have been recorded earlier using key 2. You can delete your own entry in the list at any time by pressing 99. The next time you try to listen to your voicemails (key 2), you will be asked to record your name again. (Key 4 can alternatively be used for the carousel.)

5 = Time of day: Plays the system time in hours and minutes. (If you are logged in as the system operator using key 9, for instance, the key 5 has a different function and is used to switch time profiles remotely.)

6 = Alarm timer: CapiCall can wake you up any time you want. Just enter the time as four digits in 24-hour format. This is useful in hotels, for instance. For convenience, the automatic identification of callers should be activated. The time limits used for notifications are ignored. Only one active alarm time is possible for each user.

7 = Phone notification on/off: If activated, users which have a phone notification set in the phone book can switch it on or off. Even changing the notification number is possible. Do not enter the external access digit of a PBX. (If you are logged in as the system operator using key 9, for instance, the key 7 has a different function and is used to record a personal greeting for a specified caller number.)

Using the info system

Afer pressing 0 on the telephone during the intro message, you will hear the first file of the info system (if active). The following keys can then be used:

* Repeat current message
0 Jump to the main file of the info system
# Jump back to the intro message for voicemail functions

All other keys can be assigned freely by configuring the info system.

Using bulletin boards

Bulletin boards are used for public announcements and discussions. Depending on the configuration, any caller can record a message, and every one else can hear it later.

A bulletin board is always reached via an info menu. The caller can use these telephone keys:

* Repeat current message
# Skip to next message
0 Leave the board, back to the info menu
1 Answer a message (goes to private voice mailbox)
5 Record a message for the bulletin board
8 System operator only: Jump to edit mode
99 Delete (by sysop, or if recorded by the caller)

To be able to delete a message with 99 recorded earlier, you must be authorized to do so either by an automatic identification based on your telephone number, or by using key 2 during the intro message.

Answering a message using key 1 only works if the message which is to be answered was recorded by a user who identified himself/herself by pressing key 2 during the intro message or by his telephone number.

The key 8 is only active if the board is configurated not to make recorded messages available instantaneously but after editing by the system operator.

Remote control

The system operator can control a number of CapiCall functions if sysop access is allowed in the configuration, and after identifying himself/herself with the sysop PIN.

5 = Change time profile: If you have created several time profiles, you will have noticed that they were assigned 3-digit short codes automatically, using the telephone keys for the first three characters of their names. These short codes can be used to change a time profile remotely. If you have configured CapiCall for using MSN-dependant time profiles, the change is only valid for the number (MSN) you called.

7 = Record personal greeting: After you are identified as a the system operator (e.g. with key 9), you can assign a special start message to a specified telephone number. It is also possible to shorten the number leaving away the last digits.

8 = Change intro message: The system operator can record a new intro message by phone. Use # at the end to stop recording. The new message will be played and you can either use it to replace the current message (1), or discard it (0).

9 = Listen to answering machine: You will be asked for the system operator PIN, and then all answering machine messages are played. You have the following options:

99 Deletes the current message
2 Transfer message to a private voice mailbox
* Repeat the current message
# Skip the rest of the current message
0 Skip the current and all following messages

Editing bulletin boards by phone

If a bulletin board is configured so that recorded messages cannot be heard immediately by other users, new messages have to be released (or deleted) by the system operator. The following steps are required:

All new messages for this board will be played now, and you can use these keys:

1 Make the current message available to callers
99 Delete the current message
* Repeat the current message
# Skip the current message
0 Leave the bulletin board

Other functions

Calling back a caller

In the call list and in the protocol module you can click on a line using the secondary mouse button to open a context menu which has a callback option. Alternatively, you can use the dial button in the phone book. You will be asked for your own phone number, typically a branch number in a PBX system. The destination number can be edited and changed if it is entered with a trailing "-" in the phone book. You may also enter your name which will be displayed in the log file later. Do not pick up your handset yet but wait until your phone rings. Pick it up then, and CapiCall will connect you to the desired destination number using the LCR. (The callback function utilizes the call transfer and requires an ISDN adapter that supports it.)

If the connection fails, an error message is played offering you to press 1 on the phone to retry the callback later. The callback will also be retried if you hangup your phone before the connection is established or fails.

If your line is busy or you are out of office temporarily, the software will try to call you five times with one minute pause. If the the time of day is not within the "notification" time profile, only two tries take place to avoid that the telephone rings and rings when you are no longer in the office.

It is also possible to use a script for the callback function, e.g. for a call-back button on a web page.

Sounds for incoming calls

Depending on the MSN where a call comes in, different sounds can be played. The wave file names must contain the last eight digits of the MSN, e.g. 42.WAV (for MSN 42) or 87654321.WAV for 987654321.

It's nice to have a WAV file played like "A fax is being received" when a call comes in on your fax number. Or record a WAV file like "Private call" for your private MSN.

Special applications

The following chapter describes the following applications:
Ordering and information systems using the programming interface of CapiCall,
waiting loops for transferring a caller to a telephone service,
transferring calls to any number which the caller may enter himself,
carousel applications where a list of possible partners is played,
notification on/off switching by the user himself,
prepaid applications with time accounts for callers,
call-back jobs created by other applications,
alarm calls initiated by another program,
multilingual systems with several languages, and a
watchdog driver to ensure a running system 24 hours a day.

Ordering and information systems

Some applications require the transfer of the caller's entries to a data base. Very typical is an ordering line. The caller is requested to enter his/her customer number, an ordering number and the required quantity. The order is then checked by another program, and a digital voice tells the caller if the goods are on stock.

Therefore, the Pro and S2M versions of CapiCall have an info menu option called external program. If a caller enters a number here, a file EXTERNx.JOB is written, where x is the channel number. The file consists of a single line:

Called MSN, caller number, user number, info menu PCM file, key sequence

The caller number is empty if no telephone number is available. The user number is empty if the caller was not identified by his/her number, and also did not log-in for checking voicemails. (You may use a info menu branch which requires the user to log-in, however.) In the user number field a P and the prepaid number is added if the prepaid function is in use. The info menu PCM file is the one which was played right before this action. Example:


Now you can write a program (in Visual Basic, for instance) which checks if there is a file EXTERN?.JOB every second or so. While doing so, the caller will hear the file Intern\ccwait.pcm for up to ten seconds. Your program can then:

If your program typically requires more than ten seconds to react, simply use a longer file intern\ccwait.pcm. The answer files your program creates will automatically deleted after the action.

It is possible that the caller hangs up his phone while your program has not yet created the answer file(s). In this case, CapiCall will write a line +HANGUP into the file EXTERNx.JOB. Example:

If the caller records a voicemail after using the programming interface at least once, a new EXTERNx.JOB will be written, containing the name of the recorded .pcm file. This allows your application to monitor which files were recorded by the same caller, e.g. containing his name and address. Example:

If the call is transferred to another number and the programming interface was used before, an EXTERNx.JOB file is written in two steps. In the following sample, 081375882 called 42 and was transferred to 0891234567:
1. Start of transfer: 42,081375882,,+LINK:0,0891234567
2a. Failed transfer: 42,081375882,,+LINK:-349C,0891234567
2b. Sucessful transfer: 42,081375882,,+LINK:120,0891234567
Behind +LINK either 0 for the start of the transfer is written, -1 (timeout) or -3xxx (ISDN error code) for failure, or the duration of the transferred call in seconds (for 3PTY-O or COPY), or 1 (for other transfer mechanisms).

Waiting loop

Sometimes callers should be buffered in a waiting loop and then transferred to one or several telephones. There are several ways to implement this.

Method 1: Trying to transfer to one number
Most PBX systems offer to create one virtual number under which several phones will ring. CapiCall can be programmed to transfer a caller to this virtual number.

Method 2: Using a call distribution
CapiCall has a call distribution feature to transfer a caller to an active user. Users can switch their activity state to on or off by themselves or automatically for a specified time.

Transferring a caller to any number

When a caller is transferred to a telephone, normally the complete destination number is configured. However, you may also enter an asterisk *. In this case, the caller (if not identified as a registered user yet) will be asked for her/his user number and PIN and can enter any telephone number. Examples for configuring destinations:

* The number the caller enters is used.
0171* The area code 0171 is added in front of any number the caller enters.

A text file LINK.INI is used to control allowed and forbidden area codes. (You may also create a similar file LINKxxxx.INI with xxxx = last four digits of one of your MSNs to make this MSN-dependant.)


[Shortcut]   Short-code numbers
33=987654   If the caller enters 33, then 987654 is dialled.
87=08765,9   87xxxx can be used to dial a 9-digit number 08765xxxx.
519=0228519,0   519xxx dials 0228519xxx, any length possible.
[Verboten]   Forbidden numbers
010=0   010... is forbidden, "=0" is a dummy value only.
[Erlaubt]   Allowed numbers:
0=0   Numbers beginning with 0 are allowed, " =0" is a dummy.
11=3   Numbers beginning with 11 are allowed, but length must be 3.
017=11,3   Allows 017..., length must be 11, prepaid factor is 3
[Callback]   Number conversions for callback
01230=012345   If 01230 calls, the callback is redirected to 012345

The optional length value means the actual length including any additional digits configured in the info menu field.

An optional second parameter behind "=" allows different prepaid charges for different area codes. It is an integer multiplicator used for making the specified area codes more expensive. However, this is normally only useful for 3PTY or Copy as a transfer mode because all other modes will not allow CapiCall to monitor the duration of the transferred call.

If [Erlaubt] is empty, all numbers are allowed as long as they are not blocked in [Verboten]. Please note that if you create a line like 0=0 under [Erlaubt], only numbers starting with 0 will be allowed.


In some cases, especially in audiotext systems, a number of possible partners will be presented to the caller so that he/she is able to select one of them by pressing a telephone key. CapiCall-Pro/S2M supports this function with its carousel option by dialing out to the requested partner. (An alternative is a chat between two callers). To make the carousel work, the following prerequisits exist:

A caller can now press 4 during the intro message and will hear a list of all active users as possible partners. Pressing 5 during a partner's name is played will transfer the call. The user whose number was dialled last will be at the end of the carousel list the next time so that other users will get calls, too.

Instead of using key 4 during the intro message, the carousel can also be a part of an info menu. This option additionally allows several user groups within the carousel (e.g. women, men and so on).

For some expensive telephone numbers which are typically used by audiotext systems an additional message is required even before the intro message is played, in order to inform the caller about the costs per minute. To enable this, simply record a PCM file e.g. using the voice mail function, rename it to DEFnnnnn.PCM (nnnnn = last five digits of your MSN) and put it into the CapiCall subfolder HALLO.

Changing the notification by phone

If there is a file CCUSRVW.PCM in the INTERN subfolder of CapiCall, voicemail users are able to activate or deactivate their phone notifications or carousel announcements by pressing the key 7 during the intro message. This voice file should list these options:

0 = deactivate
1 = activate
2 = change carousel message
4 = change phone number
7 = change activity time (*)
Your current carousel message is: ...

The existance of this file is the key for this option. The phone book allows prohibiting a user from changing his notification options.

(*) Changing the activity time requires two additional files in the INTERN subfolder:
CCSTARTT.PCM: "Enter the start hour as two digits"
CCENDT.PCM: "Enter the end hour as two digits"

However, if you have identied yourself as the system operator earlier during the call, the key 7 has a different function: It is then used to record a special message for a specified phone number.

Prepaid applications

Some applications use prepaid time accounts, such as hotline services or transferring calls to other numbers. CapiCall-Pro/S2M allows prepaid accounts for users. These users need not to be registered in the phone book because the prepaid function uses its own database.

You might give special cards to your prepaid users with special PINs printed on them. This PIN is created from a serial number by encryption, and so CapiCall is able to calculate the serial number from the PIN. One card is, for example, good for up to 90 units with 60 seconds each. After entering the PIN the caller will be informed about the units which are still available for his card.
Sunset Enterprises VIP Card
Initial credit:
Duration per unit:
Access number:
Card number (PIN): 
90 units
60 seconds
0900 98765
Powered by CapiCall Serial No. 50001

There are some additional files needed for this function. They are available as PREPAID.ZIP in the Internet. The .pcm files in the archive are for the INTERN subfolder, whereas the other files must be unpacked into the CapiCall folder. The following steps are required to create prepaid accounts:

  1. Use PREPIN.EXE in the CapiCall folder to create a binary file PREPAID.BIN with encrypted serial numbers and PINs. The program will ask you for these parameters:
    Length of serial numbers: We recommend using the same length as configured in CapiCall (common settings) for the length of voicemail user numbers, e.g. 5.
    PIN digits: The number of digits required for the authentification, e.g. 10.
    Random number or ZIP file: Either a secret number with 7 to 9 digits or a ZIP file, used as the "seed" for the encryption algorithm. A ZIP file is nice because it has a good statistical distribution of numbers.
  2. Use PREPAID.EXE to create a text file PREPAID.ASC for a range of card serial numbers. One line of this text file should be given to each user, e.g. printed on a card. In addition, a file PREPAID.INC is created which the voice server will automatically use to update its own database (PREPAID.DAT) and then delete the import file automatically
  3. In the active call profile the option "Request prepaid PIN" must be set so that callers are asked to enter their pepaid number first.
  4. Additional prepaid options in available the CapiCall configuration menu after PREPIN.EXE has been used at least one time. They define if the prepaid units are only counted during transferred calls or during the complete call time, and how many seconds are one unit.

An example, assuming that the length of serial numbers is 5 and the length of prepaid PINs is 10: One serial number could be 50001, and the PIN for it could be 7012368234. CapiCall calculates the serial number out of the PIN and checks if the unit count is above zero. 30 seconds before zero is reached a short beep tone can be heard, two tones 20 seconds before the end and three tones for 10 seconds left.

The source file PREPAID.INC can be created using an editor or a self-made software. Each line in this file has the following format:
Command, serial number, [argument]
Commands are: A=add units, D=delete card, L=lock temporarily, U=unlock.
Example: A,12345,50
adds 50 units to the card with the serial number 12345. To ease the implementation in your software, you will also find the source code of the prepaid utility programms in PREPAID.ZIP.

Once a day (at 4 a.m.) the voice server exports a file PREPAID.TXT with the current status of all registered serial numbers, using this format:
1st line: Date and time of this status report, format TT.MM.JJJJ HH:MM
2nd and following lines: Serial number, units left.

Callback job file

It is possible that you may wish to write your own program in order to connect two persons by phone, or to call back someone. The two persons involved are dialled and connected. This is done by simply appending data to a file DIAL.JOB in the CapiCall folder. Each line in this file must look like this:

Retries, date+time, number1, number2, pause, name [, voice file]

The parameters have the following meaning:

Retries: Defines how many times CapiCall will try to reach number2.
Date+Time: The time when the connection should be established in format hh:mm.
Number1: Typically your own phone number.
Number2: The number to which number1 should be connected to.
Pause: The pause between retries if dialling of number2 fails.
Name: Typically your own name or a reference number, which will be displayed in the log file DIAL.LOG.
Voice file (optional): This file is played to number1 before dialling number2.

A sample DIAL.JOB file could look like this:

10,00.00.0000 00:00,31,081375882,60,Bill

In this case, a user "Bill" with the internal PBX telephone number 31 wants to talk to the phone number 08137 5882. The pause between retries is 60 seconds.

If several ISDN busses exist, Dial job always uses the bus or controller no. 1, just as call.job. If nothing is configured for "Length of internal numbers", CapiCall assumes that there is no PBX involved and two B channels are available per bus even for the same MSN. Otherwise (i.e. in a PBX) only one channel is used because most PBX systems only allow one channel per MSN. The outgoing MSN will be the one configured for notifications.

Alarm calls

You may also write a program which creates a file CALL.JOB (or append a line to an existing file with this name) in order to alarm somebody by phone if some event occurs. The called person hears a predefined voice message. Each line in CALL.JOB must have these parameters:

Retries,date+time,number[:[controller-]MSN],type[:reference][,[voice file][:profile]]

The parameters retries and date+time are the same as for the callback function. The others are:

Here is a sample for a CALL.JOB file for alarming the number 08137 5882 immediately using a voice file theft.pcm:

5,00.00.0000 00:00,081375882,Alarm,theft.PCM

The pause between retries is controlled in the configuration menu at "notifications". The "notification" time profile controls what will happen at the end of the voice file; typically you will choose to hang up, or to repeat the message endlessly until the called person hangs up. The "system active" option in the call profile will be ignored to ensure that the alarm goes out.

Multilingual applications

It is easily possible to use different time profiles on your MSNs. By assigning different intro messages and info menus to the call profiles, a specific language is possible on each ISDN number. However, for internal messages, the voice files in the INTERN subdirectory would still be used.

To have internal voice files like "Enter your PIN" in different languages, it is possible to enter a colon and one character behind the name of a call profile when creating it. The character must be valid in file names, and CapiCall will add it to the directory name "INTERN" for using a different subfolder. Similarly, for outgoing notifications CapiCall will look for a notification time profile with a colon and a character behind it.

An example: If the call profile reads "Accept always: $", all internal voice files will be read from a subfolder INTERN$, which can hold English messages, for instance. If there is no matching voice file, CapiCall will use the one from the default folder INTERN. Similarly, CapiCall will look for a time profile "Benachrichtigung:$" if it tries to notify someone about new voicemails to ensure that the matching language is used.

It is not necessary to use different call profiles for all languages. Instead, you can add an underscore and the language symbol for each .pcm file. Example: If the time profile is "Accept always:$", then the program will search for a file Menu_$.pcm instead of Menu.pcm. Only if Menu_$.pcm does not exist, the original Menu.pcm is played.


It is of vital importance in most professional applications that an audiotext system is available 24 hours a day and seven days a week. Shamrock offers a free tool AppDog which checks if other programs are working and also restarts them if required.


Folders and files

This chapter describes program, voice, configuration-, job/log and prepaid files. If not specified otherwise, all these are in the CapiCall folder.

Program files

CapiCall uses the following program files which can also be launched from a network drive, e.g. cc_phone.exe from other workstations.

file name Purpose
CC_CONF.EXE Configuration module
CC_LOG.EXE Protocol module
CC_PHONE.EXE Call list module
CC_PLAY.EXE Plays PCM files using the sound card
CC_SERV.EXE Voice server
CC_MAPI.EXE E-mail-MAPI interface (Pro/S2M only)
NAMES.DLL Account management DLL
SMSEDIT.EXE Allows typing in SMS messages
CAPISMS.EXE Sends SMS messages

Voice files

The CapiCall directory and subfolders typically contain the following voice files in the ISDN PCM format:

Folder File Purpose
CapiCall abc.PCM *) Intro message or info menu file (abc = sample only)
CapiCall MSNnnnnn.PCM *) MSN-dependant intro msg. (Config./common settings)
CapiCall CyMxxxxx.PCM *) Pro/S2M: Intro msg. for ISDN controller y, MSN xxxxx
BRETTER xxxxxnnn.PCM Pro/S2M: Intro for bulletin board xxxxx, nnn=000-ZZZ
BRETT_IN xxxxxnnn.PCM Pro/S2M: Bulletin board messages not yet edited
INTERN *.PCM Internal voice files (digits, notification etc.)
MAIL RECnnnnn.PCM Answering machine messages, nnnnn=00000-99999
MAIL xxxxxnnn.PCM Voicemails, xxxxxx=user number, nnn=000-ZZZ
MAIL IDxxxxx.PCM Recorded names of registered users
MAIL USRxxxxxx.PCM Optional intro message for redirected numbers
HALLO nnnnn.PCM *) Personal greeting or tarriff message

*) These files have to be created first to use this function since they are not installed by default.

In contrast to WAV files, several PCM files can be combined to one using the DOS command copy /b (with /b for binary). The following command line copies file1.pcm and file2.pcm into a new, longer file big.pcm:

C:\CAPICALL>copy /b file1.pcm + file2.pcm big.pcm

Configuration files

You will also find some configuration files in the CapiCall folder which can be viewed with a text editor like Windows Notepad. However, we strongly recommend NEVER to change them using an editor but using the CapiCall configuration module instead!

Dateiname Zweck
abc.MNU Structure of an info menu, e.g. SAMPLE.MNU
SMS.INI Initialisation data for SMSEDIT
SMSC.INI List of GSM networks and their access codes
TIMEnnnn.INI Time profiles for all weekdays
SETUP.INI Used by SETUP during the installation process
CAPICALL.INI Diverse Konfigurationsparameter für CapiCall
FEIERTAG.INI Holiday list (use Notepad for changes)
LINK.INI Allowed/disallowed numbers for transferred calls
LINKxxxx.INI MSN-specific LINK.INI, xxxx=last 4 MSN digits
TELBOOK.DAT Voicemail user list and phone book

Job and log files

For notifications and SMS messages, for the protocol module and for the programming interface some job and log files are used:

File name Purpose
MAIL.JOB E-mail jobs for CC_MAPI (Pro+S2M only)
MAIL.LOG MAPI protocol file (Pro+S2M)
SMS.JOB SMS send jobs
SMS.LOG SMS protocol file
SMSDEB.TXT SMS debug log of the last connection
CALL.JOB Phone notifications or alarms
CAPICALL.LOG Voice server protocol
DIAL.JOB Callback jobs (potentially by other programs)
DIAL.LOG Callback protocol
PHONE.LOG Call protocol
EXTERNx.JOB File for external program (Pro+S2M only)
EXTERNx.PCM Answer file from ext. program (Pro+S2M)

It is easy to send an SMS message from another program by simply creating a file SMS.JOB or appending a line to an existing file with this name. Example:
3,00.00.0000 00:00,491721234567,,Test message
The parameters of this line are described below.

If you connect a GSM radio modem to the CapiCall PC, text and binary messages can be sent and received. A received SMS text would create a line in SMS.LOG like this:
08.07.2001,09:08:14,GSM <<,+491721234567,0.0,Hello!

A received binary SMS would create a different line in SMS.LOG:
08.07.2001,09:08:14,GSM <<,+491721234567,0.0,FILE=SMS\4822FE00.SMS
In the SMS subfolder the received file is saved with an additional 32-byte header:

16 bytes sender number (terminated by a null byte)
11 bytes reserved
1 byte UDHI (User Data Header), normally 0
1 byte PID (Protocol IDentifier), normally 0
1 byte DCS (Data Coding Scheme), recommended: hex F7
2 bytes SMS data length, low byte first

It is easy to resend a received binary SMS by creating a line like this in SMS.JOB:
3,00.00.0000 00:00,491721234567,FILE=SMS\4822FE00.SMS
In this case, the sender number in the file header is ignored and the destination number from the job file is used.

Prepaid files

The prepaid function requires some additional files which are available from the Internet:

File name Purpose
PREPAID.EXE Creates PREPAID.ASC with serial numbers and PINs
PREPAID.BIN Binary file with PINs for each possible serial number
PREPAID.ASC Text file with serial numbers and PINs
PREPAID.INC Import file for adding units to prepaid accounts
PREPAID.DAT Internal prepaid account database
PREPAID.TXT Status file with prepaid accounts (created 4:00 a.m.)
PREPIN.BAS Basic source code of PREPIN.EXE
PREPAID.BAS Basic source code of PREPAID.EXE

Hotline, additional modules

Shamrock offers a free hotline service Monday to Friday, 08:00 to 17:00 central European time (07:00 to 16:00 UK and Irish time zone). The number is: +49 8137 5882.

You may also use the web form at http://www.shamrock/en/ to ask questions about the software. In addition, your local dealer will be glad to help you.

Add-on ZIP files

Some additional modules for CapiCall are available from:

Though the page is in German, you will easily find the ADDON.ZIP archive which contains some utilities for converting WAV to PCM files and vice versa. KARUSSEL.ZIP contains files which are used for the carousel and chat functions. The files used for prepaid applications are in the file PREPAID.ZIP also available on this web page.

© Shamrock Software GmbH