Internet telephony Manager (ITM)
User guide

Table of Content

 


What's ITM for?

In the last few years, Internet, also known as the World Wide Web has been evolving rapidly. Beyond the classical textural-based service like email, rlogin, Telnet. It now can provide vivid sound, image with reasonable quality at a fair speed. Though we may still have to wait someday before the Internet really become a Highway which can carry live video of TV quality from New York to Paris, it is now a practical application to conduct voice conversations across the Internet even form modem-connected personal computers.

So, we have the term Internet Telephony - make telephone calls over the Internet! Since a computer is far more sophisticated than an answering machine, it is quite natural to have the ideal to write a program to manage the calls - that is what we have done now. Our Internet Telephony Manager features:

How ITM works ?

ITM has w working modes - passive and active.

Passive Mode:

When there is a incoming call, the telephony server will invoke the ITM to query for the appropriate action toward the call, providing the caller-ID (which is the caller's email address). In this case, ITM is working at a passive mode. It will read the record from a calendar program(in our UNIX version, CM) to see if the users have defined any particular action to this call. If no matching caller ID is found, it will then read a user profile than ITM generated in the active model. Then it will return the telephony server 2 parameters, action code and action contents. Action code might be reject or forward. If reject, the action content will contain a short description of the reject reason which the server will send back to the caller. If the action code is forward, the action content will contain the forward address. If there is no matching record in CM file or user profile, the default action is reject the call with the very generic reason, i.e. " Sorry, I am not available now, please call me later!"

Active Mode:

User can invoke the ITM from command line. In this case, ITM works in active mode. A graphical Interface will pop up for user to set out message and maintain the caller group list. Caller are divided into 3 groups. Group 1 usually have the highest priority. If a group1's call is rejected, a detailed message will be sent back to the caller. Group 2 has the low priority, its reject reason will be less accurate than group1's. The remaining callers belong to the group3, which has the least priority. For example, if the user is at a meeting until 4. If groupl1 caller, he will receive a message saying " I am in a meeting until 4", group2 caller will get " I am not available until 4", and for group3 caller, only get " Sorry, I am not available".

In the interface, user can browse through group1 and group2 list, change the caller's priority, add/delete callers to/from lists and set default actions, out message and forward address for every group.

How to use ITM

Installing ITM

ITM package is a compressed tar file. In the UNIX shell prompt, run install ( a shell script) will install the ITM software in the ITM directory and then ready to GO!

Let ITM know your activity from CM (Passive mode)

ITM can read CM file to provide the caller accurate information if a call is reject or to tell the server where to forward the call. But now, ITM version 1.0 is not smart enough to understand natural language. If requires that you write a little bit more than you will usually do while taking short notice in CM. The complete syntax is

[-m message] [ -f forward-address] [ [-c caller-list -a code]...]

-m message:

specify the message returned to caller if the call is somehow rejected.

-f forward-address:

specify the forward address

-c caller-list -a code

define a call list with which the appreciate action after the -a tag will be executed. In the caller list wildcard "*" is supported, every caller(s) is separated by ",". The action code might be one of the following four:
	Reject-detail	: reject the call, give the caller complete message with the start and end time
	Reject-partial	: reject the call, give the caller only the time duration that the callee is not accessible.
	Reject-none	: reject the call, give the caller no reason and time information
	Forward		: forward the call 

In the caller list, the group1 and group2 ( not case sensitive ) are the reserved word. You can define 2 groups of callers in the ITM user profile( see maintaining ITM), thus to reduce type load in CM.

Every -m, -f, -c option should start in a new line. Multiple -c tags are allowed. Here is some examples.
 -m I am in a meeting -c *@* -a reject-detail:
                                                     for every imcoming call, reject it but give detailed reason.
 -m Appointment with advisor-c *@cs.columbia.edu, cl205@columbia.edu -a reject-none:
                                                      for the cs call and the call from cl205, reject without giving any reason.
 -f abc@world.com -c *@* -a forward:
                                                     for any calls, forward it to abc@world.com

Maintain ITM (Active mode)

In the active mode , a graphical user interface will pop up.
Main Window

User can maintain group lists, set default action and out message for every groups. The interface is almost self explanatory.

The Add, Modify, Delete is for the group lists. and Provide a quick approach to change caller between 2 groups. Please notice that only after you select a user in either group, will the , ,Add, Delete and Modify buttons be accessible.

Find: find a caller in either groups. A dialog will pop up , enter the user name and click OK. If a matching name is found, it will be selected.

Preference: Another window will pop up if you click this button. In this window, you can set the default action for every group. You can only modify the corresponding text entry field accordion to the action choice, i.e. you can not modify the out message if you set the action to forward.

A Few tips

Trouble shorting:

Q: Group list not found.

A: Run ITM in the same directory that has the *.itm files. This is the ITM's user profile that keep record of group list

Q: ITM does not function as I write in CM.

A: Check the message you write. Every -m, -c, -f should start at a new line. Though the order of these tags can be arbitrary.

Q: Any other error, malfunction, etc.

A: Send email to us-- Ruigang Yang, Yuwen Tu , Caomei Long.


Last modified Dec 1, 1996 by Ruigang Yang