首頁>>廠商>>軟件開發(fā)商>>Vasic

Vasic - The Product of Computer Telephony Engine

downloads (For Developers)

What it does:
Vasic is a telephony engine. You can consider it something similar to web server or database server. Web server will provide interactive media across the IP network using a number of HTML documents and to user's web brower. If you update the HTML document, then the next click (and/or refresh!) will
bring up the new revised web page on the user's browser. Similar to this concept, Vasic telephony engine provides interactive telephony service using our flexible and powerful scripting language (.VS) and to user's telephone (caller). If you update the .vs script, the very next caller will be serviced with the new script. While the web server provides the information via vast IP network, Vasic uses telephone lines (both PSTN and VoIP) and each connection to Vasic is handled with exceptional stability and performance. So as you would need leased line or IP network connection for your web server, you need to install telephone lines (or VoIP infrastructure) to use Vasic engine.

What do I need in a Vasic system:
The system specification and requirement will vary depending on the load and the capacity you want to have with Vasic engine.

What it does not do:
Vasic engine need to be programmed for customized applications. You would need some sort of programming knowledge in order to use Vasic to its fullest potential.

How it runs:
There are three ways of executing a script with Vasic.

1. Incoming call : When there is an incoming call signal from one of the telephone lines connected to the system, the associated telephony hardware (BRI, PRI, E1/T1, analogue) will trigger off an event in Vasic. It will activate an incoming call signal with the telephone number associated with the line. This is either called DDI or DID. In another words, it is the telephone number dialed in by a caller. When Vasic detects that there is an incoming call with DID, let's say 3452344, then Vasic will look for corresponding script file (3452344.vs) in a directory configured in vasic.cfg (it is usually ./Scripts/). Because Vasic script files (.vs) are normal text files, it is easy to open and save. Once you update the file, then Vasic will immediately use the new file. Therefore, you do not need to restart the Vasic engine or the ohter scripts (services) will not be effected while modifing a script file.

If the script file with the DDI does not exists in the designated directory, then Vasic will look for one more file before disconnecting the call. All telephone lines in Vasic system are labeled with NET and TS. NET represents a group of TS (timeslot = line), usually associated with digital interfaces such as E1/T1 or PRI. But in order to uniform labeling, Vasic also labels BRI and analogue lines within NET, followed by two digit ID number. So, first 32 possible telephone line will be in NET00 and the next 32 will be in NET01, and so on. The same convention is used for executing the same script in a NET (no matter what number DDI is received) when there is no associated script file. In short, if 3452344.vs does not exist, then Vasic will look for 'defaultxx.vs' (where xx is the NET ID number) in the same directory.

2. DIALOUT command : While running a script, Vasic can make one or more out-going calls using a different timeslot (= line). You can specify to run the same or different scripts for every out-going calls. You can connect all outgoing calls in to a single conference or play different messages, for example. Please refer to the Vasic Programmer's manual for more information.

3. Socket command : What if you would like Vasic to start a script and make an out-going call all by itself? The solution Vasic provides in this particular application is done via a small socket server running inside the Vasic engine. Once you configure vasic.cfg for correct IP addresses and Valid IPs (firewall protection), you can send a socket-based command to Vasic and 'wake up' one or more out-going calls. This kind of technique is used in preditive dialers for all center. Again, you can run as many different scripts as you like for each out-dialing and the syntax used here is similar to the one used in DIALOUT command.

Vasic engine provides unlimited possibilities in value-added services and call control applications with the three execution techniques which are mentioned above.

Scripts:
The standard script structure has three minimum components.

Init( )
AtExit( )
Main( )

So, if you would like to just play a file after answering a call, here is an
example.


---------------------------------------
int Init( )
{
return 1;
}

int AtExit( )
{
return 2;
}

int Main( )
{
AllocateVoiceResource();
Play(d:\voice\hello.wav);
}
-----------------------------------------

If you save this file as 3452344.vs, then it will only run when 3452344 is called. If you name this file as default00.vs, then any call in NET00, without having individually designated script file, will run this script
file. If you name this file 1000.vs and then issue a socket command 'dial 12 025254444 1000 22', then Vasic will dial the telephone number 025254444 using the line number 12 and the script 1000.vs. Vasic will play the file once the call is answered by the called party. The last number '22' is extra parameter for further option.

Please refer to the Vasic Programmer's manual for more detail information.


Features:
These are the built-in functions in Vasic. You can development more functions as an external program and interface with Vasic using PIPE, SOCKET or HTTP commands.

AbortPlay AbortRecord AllocateVoiceResource
CallCause CallnamedPipe CallSocket
CharlnStr CloseFile Date
DeleteFile DialOut Disconnect
EndBlock FindFiles FloatToChar
FloatToInt FloatToStr FreeVoiceResource
GetCallFineTime GetCallTime GetCLI
GetDDI GetDTMF GetFirstFileName
GetLastFileName GetIntGlobal GetParam
GetStrGlobal GruntDetect IntToChar
IntToStr IsFileExist IsPlaying
IsRecording JoinConf LeaveConf
LineStatus Listen Lock
MoveFile OpenFile Play
PlayDTMF PlayTone ReadFile
Record Rnd SetIntGlobal
SetStrGlobal SetTraceLevel Sleep
SQLCommandAdd SQLCommandEXE

SQLCommandStart

SQLConnect SQLDisconnect SQLExeDirect
SQLFetch SQLGetData StartBlock
StartPlay StartRecord StrCmp
StrGetAt StrLeft StrLen
StrParse StrRight StrSub
StrToChar StrToFloat StrToInt
Time Timeslot Unlock
WriteFile WriteToLog GetHTMLPages
SendFax ReceiveFAX AllocateFAXResource
FreeFAXResource    

downloads (For Developers)