
(Please set word_wrap on, Edit Menu)

SVSSAMP2.EXE Information Sheet 2

	This application may be used to gain an understanding of the basic interaction between a client telephony application and the voice server software.  In addition, it provides a means of testing voice commands or sets of voice commands for use in other applications.

	The user is assumed to have an understanding of Visual Basic procedural code as well as the Dialogic voice functions.  The application will not run from Visual Basic.  You must run it from the executes folder.

I. Operation of the application from the "executes" folder

	1)  Start the svssamp2.exe program from the "executes" folder
	2)  Make certain of the correct file paths for:
		- startcfg.exe, The Dialogic Configuration Manager
		- svserver.exe, The Synchronized Voice Server
		- Select Capture Text To File to capture the DDE linkage to svssamp2.txt.
	3)  Shell launch the Dialogic Configuration Manager and start the boards.
	4)  Shell launch the Synchronized Voice Server.
	5)  Select a line, Line1 or Line2.
	6)  Open the line.
	7)  Set up voice commands in the SVServer Function Command List text box.
	8)  Execute and\or Stop the function command list, -1 returned stops execution
	9)  Hangup the line
	10) Close the line

II. Points of Interest

	1)  For Synchronous operations there must be a one-to-one correspondence between the number of client application text controls used for DDE linkage and the server application lines and threads.  That is to say one text control per line in the client application and one thread per line in the server application.  The number of lines in the server application is controled by the term MaxLines nn which you set in the command line of the shell launch procedure for the SVServer app. The number of threads is controlled by the term "MultiThread". (-See Module1.bas ShellSVServer())

	2)  While control "Text1" is used for interacting with the SVServer application, control "Text4" is used to return event status for asynchronous wait events in asynchronous operations.  When an asynchronous wait event completes (other than -1 ATFailure) the SVServer runs Dialogic voice functions sr_getevtdev() and sr_getevttype() and returns the event status just before returning the function status: -See asynch.cmd file for a demonstration.

	LNE=0, HDL=0, DEV=0, TYP=0 where 	LNE = the event line no
						HDL = the event handle
						DEV = the event device
						TYP = the type of event

	The only command permitted to be sent on this link "SVSCallback" is the "status" command.

	3)  Load "playmult.cmd" for an example of stringing numbers together for playback via the ez_playmultp function.  You can record a group of numbers, dates, times, etc. then using an edit program such as "GoldWave" (Shareware www.goldwave.com) break the file into it's individual component files to be regrouped under program control.

III. Procedures of interest. 

	Please note those procedures with direct application to understanding the client-server operation.  Each procedure has it's own documentation with the code.

	1)  Module1.bas
		- Public Function ShellSVServer(AppFilePath As String) As Integer
	2)  Form1.frm
		- Private Sub Command1_Click(Index As Integer)
		- Private Sub Text1_Change()
		- Private Sub Text1_LinkNotify()
		- Private Sub Text4_LinkNotify()
		- Public Function ReturnFromSVServer() As Integer
		- Public Sub UpdateLinkStatus(TheControl As Control)
