Home

VP-894 Manual

image

Contents

1. GetQueryProp VP894 idProc QueryInfo Get a Query process property information Parameters are VP894 VP894CC s control object idProc The target process QueryInfo This is a variable of QueryProp user defined type in which the uU 138 VP 894 User s Manual property information is to be stored SetQueryProp VP894 ChNum PromptList QueryInfo Set the next process to be Query and also set its properties Parameters are VP894 VP894CC s control object ChNum The target channel s local number ranging from 0 to 3 Promptlist This parameter can be either a null pointer or a character string with the filenanes of the voice pronpts If it is anull pointer then Query will only receive touch tone inputs without playing any voice poart If more than one voice file is to be played the filenames must be separated by Str 0 For example if you want to play the following three files C PATH1 VOICE1 D NPATH2NVOICE2 and E NPATH3NVOICES you must set the Promptlist as following PromptList C PATH1 VOICE1 Str 0 D NPATH2N VOICE2 Str 0 E PATH3 VOICE3 Str 0 If a filename does not include a search path the VP894CC control property Environment Prompt Directory will be used as the search path forte file QueryInfo This is a variable of QueryProp user defined type in
2. attention to the EVI S or the system will no longer work via the calling programs Since only one application instance is required to maintain these Windows resources for the Windows API usually it is the first one which calls the Windows API lling function Close894 before other instances do the Windows API will send an EVI SET CONTFOL event to all other instances and hopefully samecne will call function AcosptControl maintenance Job Therefore the application program must pay close ET CONIFOL event and take proper action to take over the resource After installing the Windows API you should find a VP894 DLL file in your Windows directory To use it all you need to do is to link the application program with the VP894 L B import library Comparison with the DOS API the following They are L EVT SET C Event Type Definitions There are only three new event types in addition to the DOS APT ONTROL As explained earli The Windows API is mostly the same as the DOS API except for r in the Introduction section this event is posted when the resouro calling Close894 must call function Accepi handling application instance terminates by When this event is posted one of the instances chores or the system will stop working 2 EVT REQUE When an application
3. Windows API the Windows API and the l1 Functions GetEvent and Flush Windows API queue directly for th the application program 2 Forthe allows up to VP894 applications at the sa DOS API PI is made available to VP894 system who want to develop applications for Windows The 16 windows to be opened and running me time The major differences between are Event are eliminated from the Instead we use each Windows application s message e communication between the Windows APT and Windows API function Init894 will now return an instance number which serves as an identification number for the application program Note that this instance number is not the same as a Windows instance Instead it is an internal parameter for the Windows API to distinguish the many possible application programs running simultaneously When calling most of the Win dows API functions the instance number so Because DLL instead of a Win appl the Windows Al that ication program must supply this che Windows API knows who is calling PI itself is a dynamic linking library dows task it has no direct access to most Windows resources Therefore it must request Windows resources VP 894 User s Manual 83 Bu if this first instance terminates by cal
4. Note that this process type at runtime is static It means that its process specific properties was set at design time If you need to dynamically change the control parameters at runtime use Method function SetCtrlParamProp 6 Interlink To make break the telephone link between two coupling channels 7 Flash To do a hookswitch flash usually for transferring a call The flash duration is determined by Flash Time 196 VP 894 User s Manual 8 PickUp To pick up the phone 9 Hang Up To hang up the phone 10 Ringing This process is a notification type When an incoming call is detected the VB Event Ringing will be firedto notify the application program if process property Fire Event is set 11 Local Phone Picked Up This process is a notification type When local phone pickup is detected the VB Event PhonePickedUp will be fired to notify the application program if process property ire Event is set 12 Local Phone Hung Up This process is a notification type When local phone hangup is detected the VB Event PhoneHungUp will be fired to notify the application program if process property Fi Event is set 13 Remote Hang Up VP 894 User s Manual 197 This process is a notification type When remote hangup is detected the VB Event RemoteHangUp will be fired to notify the application program if process prope
5. fModified This is a bit mask for indicating which channel control parameters are to be modified There is a set of global constants defined in VP 894 User s Manual 221 VP894INC BAS for this purpose For example if you want to modify the following parameters OnHookDelay FlashTime PlayMode and RecordGain then fModified modON HOOK DELAY or modFLASH TIME or modPLAY MODE or modRECORD GAIN Other Parameters Please refer to Chapter 3 typePCB Control Parameter Definitions Type DutyDuratim OffDuty As Integer OnDuty As Integer OffDutyTolerance As Integer OnDutyTolerance As Integer End Type Type CadenceChar Feature As Integer RecognizeCycle As Integer WaveDuration 0 To 5 As DutyDuration End Type Type SignalOnLine Ring As CadenceChar Busy As CadenceChar InvalidNum As CadenceChar DialTone As CadenceChar UserDefinedl As CadenceChar UserDefined2 As CadenceChar End Type Type CPM_Param 222 VP 894 User s Manual CentralOffice As SignalOnLine PrivateSystem As SignalOnLine Beeper As CadenceChar End Type The above four user defined data types are used to define CPM parameters for the VP894 They correspond to the C API s CPM related data structures in the following way VB C CPM Param typeCPMParam SignalOnLine typeCadenceType CadenceChar typeCadeno DutyDuration
6. possible that the message queue may overflow in a multi line application Therefore SetMessageQueue should be called to increase the message queue size before creati API Functions ng any windows Most of the functions in the DOS API are supported and are not repeated below Please refer to the DOS APT section for descrip 86 VP 894 User s Manual tions However youmust add the instance identifier as the first parameter to these functions Init894 PURPOSE SYNTAX PARAMETER OWN E J VP 894 User s 87 To initialize the instance and allocate necessary resources Init894 HWND hWnd LPINT Instance LPINT ownerAdapter DWORD owner hWnd The Windows handle Instance An integer pointer for storing the instance identifier retumed from the API ownerAdapter Pointer to a 16 element integer array with VP894 allocation information A non ero value in an element means that the corre sponding board has been allocated for this appli cation to use For example if owne er 1 ownerAdapter 5 and owner2dapter 10 all have non zero values then the application program owns board 1 5 and 10 owner The requested board numbers to be allo cated In API894 H there are definitions for constants OWNER 0O OWNER 31 and AIL each representing a corresponding board number Currently o
7. 1 Fy VP 894 User s Manual 73 purpose is to free the buffer The only exception is if you call StapCh after GetDIMF is called there is no need to call GetReceivedDIMF ReadReceivedDTMF PURPOSE SYNTAX PARAMETER RETURNS EVENT TYPE COMMENT 74 Manual To retrieve the received DIMF on a channel ReadReceivedDIVF ChNum Buffer ChNum The channel number O successful or error code None Buffer A referenced variable to store the DIM After invokingthis functian the buffer will not be valid until the next GetD F event arrives VP 894 User s GetEvent PURPOSE SYNTAX PARAMETER RETURNS EVENT TYPE When the buffer is invalid calling this function will result in a ERR894 INVALID CHANNE error to indicate that the buffer is not valid To retrieve the next event information in queue GetEvent Event Event An array of 3 elements used to store event information Event 1 channel number sending the event Event 2 event type Event 3 additional cata 0 if event queue is empty non zero if successful None COMMENT The meaning of Event 3 depends on the event type retumed in Event 2 Event 2 Event 3 EVT DTMF INTERCEPT
8. rectory API function SetQueryProp to change a process properties Visual Basic displays an error message box 162 Manual VP 894 User s This channel does not exist But the channel number given to SetQueryProp is correct what s wrong Make sure the third parameter PromptList of SetQueryProp is clearly declared as String In order to allow the client agolication to set the PramptList to Null Pramptlist is declared as ANY in the SetQueryProp prototype Under normal condition when SetQueryProp is called the Promptlist address is passed to VP894CC VBX as a 4 byte far pointer This will be no problem if Pramtlist is declared as String But if Pramptlist is not declared as String Visual Basic will consider it as a Variant by default Therefore only 2 bytes are passed to VP894CC VBX resulting in mis interpreting of the following parameters Please refer to the VP 894 User s Manual 163 164 VP 894 User s Manual Depulse demo program as a programming example Chapter 8 VP 894 Interface Cards EX 24 Analog Audio Multiplexer The EX 24 is a 24x24 analog crosspoint matrix switch interface card for the VP 894 Up to 24 lines can be connected to the EX 24 card and any two or more lines can be internally connected together via software con that the VP 894 by itself is not capable of The EX 24 can trol The EX 2
9. ERROR To get a string of DIM specified canl GetDIMF int ExXitDTMF G NTERCEPT or pulse input on the ChNum char Buffer unsigned Count unsigned AcceptDTMF unsigned Buffer Points to the code buffer where received codes will be stored The code buffer must be at least one character larger than Count The extra character is for the NULL character at the end of the ASCIT stri ng Count The number of codes to be received AcceptDIMF Defines which codes are accept able It may contain any numoer of the following constants defined in Al e together PI894 H bitwise ORed E DTMF0 E DIMF1 E DTMF2 E DTMF3 E DTMF4 E DIMF5 E DTMF6 E DTMF7 LH DTMF8 E DTMF9 E DTMFa E DTMFb E DTMFc E DIMFd E DTMF POUND E DTMF ASTERISK ExitDIME Defines which codes can be used to stop DIMF input before Count number of codes are received It may contain O0 1 or several of the above constants bitwise CRed together RETURNS 0 successful or error code VP 894 User s EVENT TYPE EVT EOP NORMAL EVT DTIMF INTERCEPT EVT TIME OUT FlushDTMF PURPOSE To clear the DIMF queue on the specified SYNTAX FlushDTMF int ChNum RETURNS 0 successful or error
10. HangUp int ChNum None VP 894 User s RETURNS 0 successful or error code EVENT TYPE EVI EOP NORMAL Flash PURPOSE To doa hookswitch flash on the specified chan nel for a duration specified by control parameter FlashTime SYNTAX Flash int ChNum PARAMETER None VP 894 User s Manual 35 RETURNS EVENT TYPE Play PURPOSE SYNTAX PARAMETER RETURNS EVENT TYPE 36 Manual O successful or error code EVT_EOP_NORMAL To play a voice file on the specified channel DIMF queue is also cleared Play int ChNum int Handle long Length unsigned AcceptDIMF Handle The file handle of the voice file Length The number of bytes to play Playback always starts from wherever the file handle points to in the file It will continue to the erdof file if length is 0 or exceeds remaining file length Use StapCh to stop a playback Tf the file handle has not been moved since a playback is stopped the playback may be resumed from where it is stopped by calling Play again AcceptDIMF Defines which DIMF tone s can be used to stop the playback It may contain any number of the following constants defined in API894 H bitwise ORed together E DTMFO E DTMF1 E DTMF2 E DTMF3 E DTMFA4 E DTMF5 E DTMF6 E DTMF7 E DTMF8 E DTMF9 E DTMFa E DTMFb E DTMFc E DTMFd E DTMF ASTERI
11. Other Parameters Ret894Evt One of the following events EVT EOP NORMAL EVT DTMF INTERCEPTIT ExitDTMF If Ret894Evt is EVT DTMF INTERCEPT then ExitDTMF con 128 VP 894 User s Manual tains the intercept DIM code otherwise it has no meaning PostExecutedSetCtr Param Event fired after process Set Control Parameter is executed if its VP 894 User s Manual 129 property Fire Post Execution Event is TRUE PostExecutedStopCh Event fired after process Stop Channel is executed if its property 130 VP 894 User s Manual Fire Post Execution Event is TRUE FeExecuted Event fired before executing any process if its property Fire Pre VP 894 User s Manual 131 Execution is TRUE min Event fired when process Ringing is detected if its property Fire Event is TRUE Other Parameters idPreProc 132 VP 894 User s Manual The previous processor ID before executing this process DetectPulse Event fired when pulse inputs are detected if CtrlParamMonitor Pulse is enabled Other Parameters Pulse VP 894 User s Manual 133 The pulse digit which was detected LearnPulseSuccess Event fired after pulse learning is completed successfully if CtrlParam leam Pulse is enabled Other Parameters idPreProc 134 VP 894 User s M
12. PostExecutedFlash Evet fired after process Flash is executed if its property Fire Post VP 894 User s Manual 123 Execution Event is TRUE PostExecutedHangUp Event fired after process Hang Up is executed if its porty Fire 124 VP 894 User s Manual Post Execution Event is TRUE PostExecutedInter lirk Event fired after process Interlink is executed if its property Fire VP 894 User s Manual 125 Post Execution Event is TRUE PostExecutedPickUp Event fired after process Pick Up is executed if its porty Fire 126 VP 894 User s Manual Post Execution Event is TRUE PostExecutedQuer y Execution Event is TRUE Other Parameters Ret894Evt One of the following events EVT EOP NO EVT DIMF INTERCEPT EVT TI Chapter 3 API Overview for event descriptions ExitDTMF If Ret894Evt is EVI_DIMF INT ERC EPT then Evet fired after prooess Query is executed if its property Fire Post RMAL ME OUT Please refer to EXitDTM F con tains the intercept DIM code otherwise it has no meaning RxDTMFs VP 894 User s Manual 127 The DIMF string received by the Query process PostExecutedRecord Event fired after process Record is executed if its property Fire Post Execution Event is TRUE
13. 1 Make sure your Visual Basic is version 2 00 or higher 2 There may be hardware conflicts in the system You may use VP894 device diagnosis found in the VP894CC Demo Program Group to check if VP894 DLL can find VP894 equipment in the system If the VP894CC Demo Program Group is not available because you have c hosen not to install it when you installed VP894CC you may run the diagnosis program CHKADPTR EXE directly from the program manager If the diagnosis program can not find any VP894 int he system then you should change VP894 s hardware configuration to avoid conflicts with other boards 2 When running VP894CC demo programs no VP894 equip Make sure VP894 control s property AdapterNumber matches the VP894 equipment installed in the system All the demo programs on the VP894QC installation diskette have a default setting of 0 for AdapterNumber If it does not match the actual installation you must change the demo program accordingly 3 When running VP894CC demo programs no prompt mes sages are played in the Query process Check to see if the Prompt Directory in property envirorment is set to the same search path as the one you installed the demo programs into If you accept the default setting at installation time the search path should match Otherwise you have to manually change the Prompt Di 4 When using the
14. 25 Busy Cadence 4 NoneSilence 26 Busy Cadence 4 SilenceTolerance 27 Busy Cadence 4 NoneSilenceTolerano For a full description about each parameter VP 894 User s please refer to Chapter 3 Al DT Overview RETURNS 0 successful or error code EVENT TYPE None SetHungUpParam PURPOSE To set Hung Up parameters SYNTAX SetHungUpParam HungUpParam PARAMETER HungUpParam See the explanation of parameter VP 894 User s Manual 81 in GetHungUpParam RETURNS 0 successful or error coce EVENT TYPE None Set InterLink PURPOSE To connect or disconnect the interlink between two adjacent chanrels SYNTAX Set InterLink ChNum Connect PARAMETER ChNum The channel number Connect A Boolean value T connect F disconnect RETURNS 0 successful or error code EVENT TYPE EVI EOP NORMAL COMMENT When two channels are interlinked you can record sound or monitor energy CPM only on the even channel 82 VP 894 User s Manual Other Functions Any function not described above has the same syntax as in the C APT Please refer to the C API section for more information Chapter 6 API For W indows Visual C Microsoft Windows provi very suitab Therefore developers le for running mul des a multi tasking environment which is ti line voice processing applications the Windows Al
15. Acospted DIME or use the phone symbol nearby the pressed down keys ar selecter DTMF Amount Sets the maximum number of touch tone keys to receive 2 Record Record is used to record a voice file If you use the New button in Flow Editor to create this process a Next Step Table will be displayed on the Windows desktop This property has the same definition as the Next Step Table property in Query There are three other properties Exit DTMF Has the same definition as Exit DIME in Query Length Specifies the maximum recording length File Name Contain the name of the voice file Note that the voice files are always accessed fran the search path specified in the Record Directory in the VP894CC property Environment If you need to access voice files froma different directory or change the Record properties at run time use function SetRecordProp 3 Call Call is used to make a phone call to an outside nnter an intemal station or a pager If you use the New button in Flow Editor to create this process a new dialog box More Call Properties will be displayed Call has the following process dependent properties Called Type Specifies whether to call an cutside nnter an internal station or a 108 VP 894 User s Manual pager Number Contains the number to call Message Holds the message for calling a pa
16. CPF MONITOR LOCAL P HONE STATUS n ET ET CPF D MonitorDTMF CPF MON DetectRemoteHangUpAlways CPF DE StopOperationRemoteHangUp CPF STOP OP ITOR DTMF ETECT RHU WH ECT ECT HOWL RHU BUSY RHU EN R ECORDING IECT RHU ALWAYS MonitorEnergy CPF MONI IOR DetectVoltReverseRemoteHangUp ENERGY ERAT ION RHU CPF DET DetectSilentWhenRecording ECT VOLT EV ERS _R EN_RECORDI CPF_DETECT_SILENT_WH LearnPulse CPF LEARN PULSE MonitorPulse CPF MONI TOI These are bit field dec R_PULSE NG E RHU arators of structure typeCEB inc Tn contrast there is no similar data type representation in Clipper so we define a group of corresponding constants in the include file API894 CH The corresponding Clipper constants are shown in the parenthesizes You can canbine these constants which control certain operation of the VP894 with operator and then assign the result value to VP894CPB 1 For definitions of these parameters please refer to Chapter3 AE VP 894 User s Manual 7 D I in General for more details RETURNS 0 successful or error code EVENT TYPE None SetCtr Param PURPOSE To set the control p
17. This section presents general information about the VP894 Clipper API Because most definitions about this API are the same as the C API here we only explain the difference between them Please refer to the Chapter on the C API for more information if necessary The following files are included in the Clipper APT Vpi 894 ch irnchrb file epi894 1ib libary Ndemo mk make file for demo programs ar Nest prg Narcverergy prg erc Ncalladt prg Asc beeper pro arc amt prg erc Nchoetect prg src demo prg src cgpulse prg src hockstat prg sr ubi lity ag oin demo exe bin test ce oin dtmf exe oin energy exe pin hockstat exe VP 894 User s Manual 67 bin callat ee oin beaper exe Noinohdstect exe NoirNcepulse exe The api894 ch is an include file which defines camen constants used in the VP894 APT and useful pseudo function or called Macro by others youmust include it on the beginning of each component file which will refer to them The clipper sre subdirectory contains several example programs to illustrate the VP894 API function usage You can launch their executables directly fran NcLigoerNoin to see how they work or use demo mk to rebuild them Before you rebuild these demo programs be sure that api894 ch aoi894 Lib and demo mk are put in same directory with them On the DOS command line you can use th
18. VP 894 User s Manual 29 RETURNS EVENT TYPE Close894 PURPOSE SYNTAX RETURNS 30 Manual 0 successful or error code None To stop operations on all channels in the system and return them to the idle mode Close894 None VP 894 User s PARAMETER None EVENT TYPE None GetCtrParam PURPOSE Toget the control camel SYNTAX GetCtrl Param in parameter for the specified tt ChNum typeCPB CtrlParam PARAMETER CtrlParam Points to a typeCEPB structure which is in API894 H See section Control Param defined eter Definition in Chapter 3 for more details VP 894 User s Manual 31 RETURNS 0 successful or error code EVENT TYPE None SetCtr Param PURPOSE To set the control parameter for the specified camel SYNTAX SetCtrlParam int ChNum typeCPB CtrlParam PARAMETER CtrlParam Points to a typeCEPB structure which is defined in API894 H See section Control Param eter Definition in Chapter 3 for more details 32 VP 894 User s Manual RETURNS 0 successful or error code EVENT TYPE EVI EOP NORMAL PickUp PURPOSE Togo off hook on the specified channel SYNTAX PickUp int ChNum PARAMETER None VP 894 User s Manual 33 RETURNS EVENT TYPE HangUp PURPOSE SYNTAX PARAMETER 34 Manual O successful or error code EVT_EOP_NORMAL To go on hook on the specified channel
19. e eMliaziailn cH 82 her PUNGELONS id dee E TUUS 82 Chapter 6 API For Windows Visual C eee 83 Comparison with the DOS API eere erret nna seen 84 APT FUNCEHONS eren eeeu ti a EVE PR e eaa a Haee eaa eoo ae auda 86 TI GO rus Leti TT 87 aufer EE 88 OPENVOLCER ULES RE 89 CLOSEVOICSPATS Leite de vcee sete ss tee ds 90 ACCEPECONE so em 91 QUG Y VBO94 cetseeve osados 92 RequestAGapEOE eee ves seo depo soto etae ees ne eee ne ee eso EEEN iEn 93 RelcaseAGapbGfE sssrds eek ee F6 ee nano Fee koe Coeur ai EE E VEN TENER 94 GetEreeAdapbGE n eoeeie O 95 A pcm 96 Gettncompat 1bl8 2 54 3 2 Idee ette e ra aida 97 GSEBOAVSTSTOU eh saves scale diet edeethas aa e Uere ege 98 Valid Hand Te 99 TETERA ios 100 Get 894A Wet 3 oie eee ve dee see idas TOT Chapter 7 Visual Basic API ccscccsessccosecssocssocsecssoss 103 go S Sa di EE 104 SIELE E E EA E 104 AdapkerNumbGE 22 2 eese ees eara eo uae eto Es eto a T 104 CELILPACAM CL 105 glo id chio E tias L 05 Haa aE eiS o A Sus census duces vous sdeuadercheesatecct sees 11 DAVOS 12 AUC OR XECP LOC m LLS CPMPa Stai an a e a ae Sena oae r ESE 114 HUNG UPR ALAM eene a aaas eei eTa EES 115 PTOMPEDIT p e is 116 RECODO risa A A ia TX nucis 118 D t ct DIME oradas
20. key to record a message up to 30 seconds long You may press any key to stop recording 62 VP 894 User s Manual earlier After the recording is done the system will play back the recorded message once automatically OHDETECT EXE This program may be used to experiment with Remote Hangup Detection To run this program enter the following command at the DOS prompt OHDETECT me moh b r options voice file me Display line energy values on the screen in real time moh Detect remote hangup based on b busy signal feedback r roaring scund feedback The following are options pg Set the play gain 10 to 10 rg Set the record gain 10 to 10 voice file Specify the filename to play after the line is camected Tf the remote hangup detection results are not accurate you may want to refer to the comments in OHDETECT C and modify the source code to get better results CALLOUT EXE This program demonstrates CPM functions To run this program enter the following at DOS prompt CALLOUT options phone num count phone num specify the phone number to call The following are options A Specify which line to use default is line 1 on the board For example 4 tells the program to use line 4 rg Set the record gain 10 to 10 area Setthe long distance area code me Display line energy values on screen in real time VP 894 Use
21. 0 NoneSilenceTolerance 38 ei These CPM Parameters define the following signals DIAL TONE ON 1000 ms OFF 0ms continuous ON for more than 1 secand BEEPER ACKNOWLEDGE TONE ON 1000 304 ms OFF 240 ms In order to obtain accurate CPM results control parameter RecordGain needs to be set properly Our test shows the best value for RecordGain for Call Progress Monitoring is in the range of 2 to 4 under cur test environment in particular The test results are Accuracy RecordGain 4 99 RecordGain 2 99 RecordGain 0 99 RecordGain 2 93 However the above test results are for your reference only You have to test the board under your particular envirorment to dotain the optimum value for RecordGain If CPM accuracy is low the CPM parameters should be adjusted by using SetCPMParam The utility program ENERGY EXE can Le used to gather energy information To run it enter ENERGY phone number filename 180 VP 894 User s Manual ttout Line Busy in in OdB Off Threshold 50dBm0 each value is 8 Reco ms apart Energy Record Pr 015 16 17 Ip 19 19 19 19 19 39 19 19 19 19 9 19 39 39 19 19 19 9 19 19 9 0 19 19 19 19 19 398 15 12 0 0 19 39 19 119 19 719 19 19 19
22. API Functions GetCtr Param PURPOSE SYNTAX PARAMETER 70 Manual To get the control parameters for a channel GetCtrlParam ChNum VP894CPB ChNum The channel number VP894CPB An array of 21 elements used to store the control parameters returned by the API In C this parameter is a pre cefired struct data type typeCPB Almost every element in VP894CPB has a corresponding member in typeCPB except the first one Below is the mapping between them VP894CPB 2 OffHookDelay VP894CPB 3 OnHookDelay VP894CPB 4 FlashTime VP894CPB 5 PulseMake VP894CPB 6 PulseBreak VP894CPB 7 PulsePostDigitPause VP894CPB 8 ToneDuration VP894CPB 9 InterTonePause VP894CPB 10 OutsideLineAccess VP894CPB 11 RingsToAnswer VP894CPB 12 WaitAnswerDuration VP894CPB 13 InterDigitPause VP894CPB 14 NoSignalTimeOut VP894CPB 15 MexSilence dosolete VP894CPB 16 MaxRoarDuration obsolete VP894CPB 17 PlayGain VP894CPB 18 RecordGain VP894CPB 19 PlayMode VP894CPB 20 RecordMode VP 894 User s VP894CPB 21 OffThreshold VP894CPB 1 is a composition of the following DialMode CPF DIAL PULSI mn LineToPBX CPF_LI NE_TO_PBX DetectRoaringRemoteHangUp CPF_D DetectBusyRemoteHangUp CPF_D DetectRemoteHangUpWhenRecording TriggerMode
23. Manual 119 DTMF The DIMF code detected PhoneHungUp Event fired when process Local Phone Hung Up is executed if its property FireEvent is TRUE Other Parameters idPreProc 120 VP 894 User s Manual The previous process ID before executing this process PhonePickedUp Event fired when process Local Phone Picked Up is executed if its property FireEvent is TRUE Other Parameters idPreProc VP 894 User s Manual 121 The previous process ID before executing this process PostExecutedCall Execution Event is TRUE Other Parameters Ret894Evt Event fired when call process is finished if its property Tire Post The event type returned fram VP894 DLL Possible event types are CallResult If Ret 894Evt is EVI CPM COMPLET EVT NO DIAL TONE EVT CPM COMPLETE Please refer to Chapter 3 API Overview for event type descriptions E CallResult may be one of the following CPMR NO ANSWER dCPMR BUSY I CPMR USER DEFINEDI CPMR USER DEFINED2 CPMR NO SIGNAL CPMR_ AN CPMR INVALID NUM SWER CPMR NO R NGBACK CPMR CALL 122 Manual BEEPER SUCCESS if Ret894Evt is EVI NO DIAL TONE I VP 894 User s then CallResult has no meaning
24. above Since VP894CC OCX is just a function wrapper of VP894_32 DLL all three files VP894CC OCX VP894 32 DLL and VP894 VXD must be installed into the Windows System subdirectory in order to work properly Active X Custom Control To use VP894CC active X control first pull down VB s Project menu or right click the ToolBox to pull up the dialog and select the Components function Then in the Components dialog select VP894CC OCX If everything goes well the button bitmap for VP894 active X control will be displayed in the ToolBox Also you must use the Project Add Module function to add VP894INC BAS and MEMORY BAS code modules In the VP894INC BAS module file we define VP894CC related global constant and user defined dtat type While in the MEMORY BAS module file we define some functions for conversion between user defined data type and OLE Handle VP 894 User s Manual 185 Every VP894 control placed in the Form stands for a VP894 adapter and is represented by two status icons At design time the former indicates that the VP894 adapter is free and the latter indicates that the VP894 adapter does not exist or has been allocated to another task At run time the former indicates that the VP894 adapter has been allocated to the application owning the VP894CC and the latter indicates that the VP894 adapter does not exist or has been allocated to another task Visual Basic Module When calling the method of active X custom control
25. box More Call Properties will be displayed on Windows desktop Call has the following process specific prqperties Called Type Specifies whether to call an outside number an inside station or a peor Number Specifies the number to call Message Holds the message for calling a pager The message must contain any applicable prolog and or epilog such as the key the systenwi11 not insert those keys automatically Called Failure Next Step VP 894 User s Manual 195 Speci fies the next step process ID if the calling fails due to line busy no answer andetc Don t Execute CPM Don t Wait Dial Tone Detect Invalid Number Detect 1st User Defined Signal Detect 2nd User Defined Signal These are the calling modes for calling outside numbers or inside stations Please refer to the descriptions on function CallFamte in Chapter 4 APT for C If the calling is successful the subsequent execution process is determined by Default Next Step If you need to change this process properties dynamically during runtime use Method function SetCallProp 4 Stop Channel Stops the current process 5 Set Control Parameter This process is used to change certain control parameters at runtime Note that the VP894CC property CtrlParam is used to initialize control parameters at runtime For descriptions on its process specific properties please refer to CtrlParam
26. cance dice estsssccecebssstesetedesestectcsescvestesces 119 PhoneHutngUD see detasisnccescdvcseccedsvecesssseecsessseaccsagsenee 120 PhonePicokedUp dencia 121 PosbbxecatecdQall x3 Pepe eee ero ever ave euo eaa ee eveso aes 122 PostExecutedPEIash eret eee nee eee oae ere eee RE eS ena a o eren os 123 PostExecutedHangUp wcavsasscccccecessocscsssecssasccvscecssesecsse 124 PostExecutedInterlink 2 os eee eee eed eee eo ena enr aa aun 125 PostExecutedPickUp u en Ie tetas reete read as 126 PoStEXecutedQUGEyV 4 A 127 BPostExecutedReGOEO nn aa eres oeesee veo stsssessesssas D AO PostExecutedSetCtrlParam eee eee eee eee enne osios 129 PospExecubedStODCL nia SO PLSEXECCUE o caen bel RINGING RM 132 ipsc epi M 133 L arnPulseSUCGGBSS aeneon si veces dvseesd cctescseeacaveceees 134 RemoteHamgUp 3 seis sseu aasan eaan a sS a aranera Esni 135 DineMu te donostia dins 136 TONEPLSSSNCE wi ceveseeaudecavenpracedoussetcesiel ccevtavsleceveteveedde s 137 APT FURCELONS neto iss cos eve ama eee eese ee a ENSE en NER SS E TNT 138 GetOueryBbOD ies E so eese e eae e ee eR SP EE E XE INE E SENE e E EREET 138 SEE QUE TY POD iile eee ena de e Ense e piera EEEE ense ae ode iii 139 GEERECOTORIOD Mm 140 SEERECOMOPT Oi ee sode eoe eee so e Eo E PER SENE Ree se Oye eee is 141 CO crm 142 Setcal IPEP c 143 Geb GUtrIParamBPfOD e eene rere o s eves 144 SEECETIP AY ANP LOD a is 145 GEECBM Param Lia a 146 SGECPM Param ecsceev
27. card fails to respond to the application program This is because 1 the EX 24 card is broken or 2 the card s base address does not match the application program s address setting VP 894 User s Manual 169 EX 2424 Analog Audio Multiplexer The EX 2424 is simi ar to the EX 24 except that the lines in the EX 2424 are separated into 2 groups of 24 lines the left group and the right group Therefore the total number of lines is 48 or twice the amount of the EX 24 Connection can be made between any 2 lines one from each group Lines in the same group can not be connected together The EX 24 can be connected to up to 12 VP 894 boards via 12 on board connectors Connectors M to UM6 are for the left group and connectors JWl to JW6 are for switch S1 provides 4 selections for the 1 I O Base 260H 270H 280H 290H 1 OFF OFF OFF OFF 2 ON ON ON ON 3 4 ON OFF ON OFF OFF ON OFF ON API for DOS amp W indows 170 Manual the right group The on board DIP Obase address as following I O Base Address Selection 5 6 OFF ON OFF OFF ON ON ON OFF VP 894 User s The DOS APT supports Microsoft C 5 0 and higher Turbo C 2 0 and higher Borland CH 2 0 and higher and Clipper 5 01 and higher The Windows API is a DLL called EX2424 DLL Both DOS API and Windows API include these
28. code VP 894 User s Manual 39 PARAMETER The only parameter is the channel number ChNum EVENT TYPE EVI EOP NORMAL Dial PURPOSE Todialastringof digits on the specified hanl SYNTAX Dial int ChNum char String PARAMETER String Points to the string of digits to ke dialed 40 VP 894 User s Manual RETURNS 0 successful or error code EVENT TYPE GetEnergy PURPOSE SYNTAX PARAMETER EVT_EOP_NORMAL To get the energy report on the specified channel the If control parameter MonitorEnergy is set to 1 n event EVI REPORT ENERGY will occur once every 240 ms The energy report is 30 byt S of energy levels in dBmo 8 ms apart and defined as following Value Q 2 4 5 6 7 38 Level 988 4 Y 39 36 3 Value 9 10 11 12 13 14 15 Ievel 21 24 21 18 15 2 3 Value 16 17 18 19 20 21 Level O 3 UA 3e 6 9 There are same energy report examples in Appendix B Note that the energy values indicate the signal strength on the line under certain conditions Factors that affect the energy values are the condition of the line amount of noise and the Geti value of control parameter RecordGain Energy int ChNum unsigned char const Buffer Buffer Points to a 30 byte buffer where energy report is toke stored VP 894 User s Manual 41 RETURNS EVENT TYPE StopCh
29. except Busy are described in the Hangup Parameters section in this manual The signal Busy parameter defines the cadence of the busy returned from the Central Office when remote hangup occurs Its structure is defined as Struct_tagHungUpBusy it typeDutyDuration typeHungUpBusy Varieties Cadence 5 Varieties specifies how many different kinds of are val busy signal idas remote hangup signals and Cadence contains definitions for then Max value for Varieties is 5 None VP 894 User s Manual 51 EVENT TYPE None SetHungUpParam PURPOSE To set up the Hangup Parameters SYNTAX SetHungUpParam typeHungUpParam Param PARAMETER Param Points to a data buffer containing the Hangup Parameters See GetHungUpParam for definition of typeHungUpParam RETURNS 0 successful or error code 52 VP 894 User s Manual EVENT TYPE None Set InterLink PARAMETER PURPOSE To set up channel interlink Any two consecutive even odd channels on the VP 894 board can be interlinked together for example channel 0 and 1 or chanrel 2 and 3 Interlinked channels share the same audio loop like a conference cal two channels are interlinked only the even chan l When nel can record and detect energy level Therefore it is better to receive calls from an even channel and make calls from an odd channel This hangup detection
30. instanoe icentifier AdptrNum The board number to be verified RETURNS 0 The board does not belong to the instance 100 VP 894 User s Manual non zero The board belongs to the instance EVENT TYPE None Get8940wner PURPOSE To learn what VP894 resources are owned by a SYNTAX Get8940wner int inst IPINT installed PARAMETER inst The instanoe identifier installed Pointer to a 16 element integer array with VP894 allocation information A non zero value in an element means that the corresponding board is owned by the instance For example if Installed 1 Installed 5 and Inscalled 10 all have non zero values then the instance owns board 1 5 and 10 RETURNS ADWORD it has the same definition as the owner parameter in Init894 If abit is set to 1 it means the instance owns the board correspond ing to the bit The bit definitions are found in VP 894 User s Manual 101 102 VP 894 User s Manual API894 H Chapter 7 Visual Basic API This version of VP 894CC VBX must be run under Windows 3 1 or Windows 95 and is compatible with Visual Basic version 2 00 and up Since VP894CC VBX is just a function wrapper for VP894 DLL you must install these two dynamic libraries in your WindowsNSystem subdirectory To use VP894CC custam control first pull down VB s File Menu and select Add File The
31. is a utility program used for recording and playback of system messages Before using the program you must properly connect the voice adaptor according to the VP 894 Voice Adaptor Connection Diagram Note that the selection button on the voice adaptor must be set properly to reflect the current operation Otherwise it will not work There are two menus in UTY894 EXE the Play Menu and th Record Menu When the program is first started it will try to fin a file named TEMP VOC If the file doesn t exist in the curren directory or if its length is 0 the programwill enter the Record Men Q 0 a cct VP 894 User s Manual 57 VP 894 VOICE ADAPTER VP 894 VOICE ADAPTER FRONT VIEW REAR VIEW REC PLAY POWER SELEC LIGHT c POWER amp VOL TAPE INPUT DC9V SELECT INPUT INPUT VP 894 Voice Adaptor Connection Diagram 58 VP 894 User s Manual and create the TEMP VOC file if it is missing Otherwise it will nter the Play Menu System Hot Keys Ctrl Enter the Play Menu If current file length is 0 then an error message will appear requesting that same recording be done first CorI R Enter the Record Menu in Append Mode Ctrl S Save the current recording to a file If executed fromthe Play Menu only the portion within the Start Position and End Position will be saved Ctrl O Open a new voice file If the file lengt
32. modify the program in the future you should keep Just one control and delete the others Modify that control and then use oopy and paste to re create th other controls 2 You should not use InputBox or MsgBox in your VP894 application program These two functions will block other message transfers until you close them If you use these functions to communicate with the user and VP894 DLL happens to have messages for VP894 controls these messages can not be delivered successfully The right way to camunicate with the user is to use Form to create dialog box 3 When you are debugging the program in the Visual Basic environment and the program execution enters VB s interrupt mode due to the break point that you have set all subsequent events and 226 VP 894 User s Manual messages generated by VP894 DLL and VP894CC VBX will be blocked cut by VB for reason of synchronization and event serial ization Therefore when you continue program execution from the break point youmay find out that same channels are no longer working due to lost events and or messages This is nomal and you may continue debugging with the working channels or re start the program Questions amp Answers 1 Visual Basic has problem loading VP894CC OCX 1 Make sure your Visual Basic is version 5 00 or higher 2 There may be hardware conflicts in the system You may use VP
33. notify the agplication program if process porty Fire Event is set 11 Local Phone Picked Up This process is a notification type When local phone pickup is detected the VB Event PhonePickedUp will be fired to notify the application program if process property Fire Event is set 12 Local Phone Hung Up This process is a notification type When local phone hangup is detected the VB Event PhoneHungUp will be fired to notify the application program if process property Fire Event is set 13 Remote Hang Up This process is a notification type When remote hangup is detected the VB Event RemoteHangUp will be fired to notify the application program if process property Fire Event is set 14 Learning Pulse Success This process is a notification type In order to create this process the 110 VP 894 User s Manual Lear Pulse parameter in CtrlParam must be checked first After the pulse learning is completed successfully the VB Event leamPulseSuccess will be fired to notify the apgolication program if process property Fire Event is set Environment Design Time RW Run Time NA If you selected this property in the properties box a new dialog box will pop up and show the envirorment options including 1 Prompt Directory The default directory where prapt voice files are stored 2 Record Directory The defau
34. orDIMF digit in ASCII code EVT DETECT DTMF EVT DETECT PULSE pulse digit in ASCII code EVT PCMIO ERROR error code from DOS EVT INTRN QUEUE ERR894 EVENT QUEUE OVERFLOW OVERFLOW or ERR894 PCMIO QUEUE VP 894 User s Manual 75 Inser tFvent PURPOSE SYNTAX PARAMETER RETURNS 76 Manual OVERFLOW The content in Event 3 is undefined if Event 2 contains an event not listed above Please refer to Chapter 3 API Overview for event definitions To insert an event into event queue InsertEvent Event Event See the explanation of parameter in GetEvent O successful or error code VP 894 User s EVENT TYPE None COMMENT Event type from numeric 160 to 255 are reserved for the application for custamized use GetCPMParam PURPOSE To get Call Progress Monitor CPM parameters SYNTAX PARAMETER GetCPMParam CPMParam CPMParam An array used to store the CPM parameters Please refer to Appendix A CPM Principles for more information To represent the struct inC we use an array in Clipper Every 27 consecutive elements in this array are grouped to specify a signal tyce s characteristic You can nly characterize a signal with up to 6 different duty cycles Since there are 13
35. played Tf you want to change the order simply point the mouse to the file press the up arrow or down arrow to move the file to the new Note that unlike the VBX version the OCX version always specifies the voice files in the Prampt List with a absolute search path At runtime if youmust dynamically modify the Prampt List youmay VP 894 User s Manual 193 use VP894CC s Method function SetQueryProp The Default Next Step of this process is defined as the process to execute when no Exit DTMF is received and the maximum number of touch tones are received before timeout Next Step Table Dialog Box Contains the next step process IDs for different remote touch tone inputs and the timeout process if no valid touch tone inputs are received during the waiting period for remote inputs In addition to the above two properties and the common properties Query has the following three properties Exit DTMF Specifies which touch tone key is used to terminate the remote input before entering maximum number of touch tones For example if up to 6 digits are to be entered the caller may enter only 3 digits followed by the Exit DIME key This will terminate the Query process and move on to the next step process Most applications use the and or key for this purpose You may enter the setting directly into the edit control of Exit DIMF or use the phone symbol nearby the key is enabled if it
36. same functions EX INITIAI A d Initialize EX 2424 EX OPENALL Open all connections EX CONNECT Connect EX DISCON Disconnect EX SIAIUS Get the conn EX INITIAL PURPOSE SYNTAX PARAMETER RETURNS COMMENT group To initiali two lines together t two lines ection status of a line in the left and reset the EX 2424 card Al connections are cpen after the initializaion void EX INIT TAL int Port Port is the FX 424 s 1 O base address one of the following 0x260 0x270 0x280 0x290 None This function must be called once at the beginning of the application program EX_OPENALL PURPOSE SYNTAX PARAMETER RETURNS COMMENT To quen all connections void EX OP ENALI void None None None EX_CONNECT VP 894 User s Manual 171 PURPOSE To connect two lines together SYNTAX void EX CONNECT int Lline int Rline PARAMETER Lireisthe Hrennter 0 23 inthe left group Rline is the Lire nnter 0 23 inthe right group RETURNS None EX DISCON PURPOSE Todisconnect two lines SYNTAX void EX DISCON int Lline int Rline PARAMETER Llireisthe Hrennter 0 23 inthe left group Rline is the Lire nnter 0 23 inthe right group
37. the sake of simplicity this program was written so that only the adjacent lines can be connected together For example lin O0 and 1 line 2 and 3 and etc To execute the program enter the following command fram the DOS prapt DRV894 Enter XD894 Enter X3D894 EXE for DOS This program demonstrates how to connect more than two lines together party line agolicaticn Here is the concept L Designate all lines to be inbound 2 Answer any new call that comes in 3 Connect the new line to lines already in use if any To execute the program enter the following command fram the DOS prapt DRV894 Enter X3D894 Enter X3D894 VBP for Windows Visual Basic This program has the same concept as X3D894 EXE for DOS Be sure to copy the EX24 DLL file to the WINDOWSNSYSTEM sub directory before running this program To run this program Activate Visual Basic IDE Load NEX24NWINNX3D894 VBP 168 VP 894 User s Manual Run Questions amp Answers 1 The computer fails to boot up after the EX 24 card is installed This problem may be caused by 1 0 base address conflict between an existing add on card and the EX 24 card Re configure the EX 24 to a different address and try again Also make sure the card is inserted fimly into the expansion slot 2 The EX 24
38. to OxFF are reserved for he who wants to define his own event types InsertEvent typeEvent EvtBuf EytBuf Points to a structure of typebyent defined in API894 H See GetEvent for more details VP 894 User s RETURNS EVENT TYPE FlushEvent PURPOSE SYNTAX PARAMETER 0 successful or error code None To clear the event queue FlushEvent void None VP 894 User s Manual 45 RETURNS None EVENT TYPE None GetCPMParam PURPOSE SYNTAX PARAMETER 46 Manual To get the CPM parameters GetCPMParam typeCPMParam CPMParam CPMParam Points to a buffer of typeCPMParam typeCPMParam contains CPM parameters for central office PRX and pagr It is defined as suut_tagCPMParam typeCadenceType GentralOffice typeCadenceType PrivateSysten typeCadence Beeper typeCPMParam typeCadenceType is defined as smut tagCadenceType typeCadence Ring typeCadence Busy typeCadence InvalidNum typeCadence 4 DialTone typeCadence UserDefinedl typeCadence UserDefined2 typeCadenceType typeCadence is defined as smt tagCadence unsigned char WaveCount 3 unsigned char Type 1 unsigned char 4 unsigned char RecognizeCycle typeDutyDuration Wave 6 typeCadence VP 894 User s RETURNS None EVENT TYPE None SetCPMParam PURPOSE To set the CPM parameters SYNTAX SetCPMPara
39. to notify the application program when one of above conditions is met The VB Events are Ringing PhonePickedUp PhoneHungUp RemoteHangUp and LearnPulseSuccess respectively 192 VP 894 User s Manual 6 Fire Pre Execution Event The following processes do not have this property Ringing Local Phone Picked Up Local Phone Hung Up Remote Hang Up and Pulse Learning Success This property indicates whether to fire a VB Event PreExecuted to notify the application program about the process to be executed 7 Fire Post Execution Event The following processes do not have this property Ringing Local Phone Picked Up Local Phone Hung Up Remote Hang Up and Pulse Learning Success This property indicates whether to fire an VB Event PostExecutedxxx xxx stands for different process types to notify the application program about the process which has been executed Process Specific Properties Now we will describe the properties specific to each process 1 Query Query is used to play one or more voice files and receive touch tone inputs fran the caller If you use the New button in Flow Editor to create this process two dialog boxes will be displayed on the Windows desktop Prampt List and Next Step Table Prompt List Dialog Box Used to select the voice files to ke played The order in which the files are listed in the Prax List will be the order the files are
40. typeDutyDuration Note that two members in typeCadence WaveCount and Type are declared as unsigned char in C API But Visual Basic does not VP 894 User s Manual 223 provide similar declaration in its User Defined data type Therefore in CadenceChar we use the member Feature to represent th combination of WaveCount and Type For example the correct way to specify a signal in the CPM parameter to be CYCLIC WAVE with 3 different duty duration in a cycle is Feature 3 CYCLIC_ WAVE Please refer to Appendix A CPM Principles for more details on the CPM parameters lype HungUpBusy Varieties As Integer WaveDuration 0 To 4 As DutyDuration End Type lype HungUpParam Busy As HungUpBusy MinBusyDuration As Integer MinRoarDuration As Integer BusyThreshold As Integer RoarThreshold As Integer MinSilentDuration As Integer SilentThreshold As Integer End Type These two User Defined cata types are used to define remote hungup parameters for the VP894 They correspond to the C API s hungup 224 VP 894 User s Manual related data structures in the following way VB C HungUpParam typeHungUpParam HungUpBusy typeHungUpBusy Please refer to the C API section in this manual for more details on the HungUp parameters Type ToneMonitorParam ToneThreshold As Integer MinOnDuration As Integer Min
41. use the Flow Editor to design program flow at design time the program flow is static and the interactions among processes are always fixed If you want to make the program flow dynamic i e change the program flow based on same runtime conditions youmay change the content of idCurProc inside the event procedure When the event procedure is finished and program control returns to VP894CC the new process with its ID in idCurProc will be xecuted The only exceptions are event DetectDIM and event DetectPulse since in these two event procedures you can not change the program flow by changing the idCurProc There are three factors affecting the VP894CC program flow at runtime in the following priority order first factor has the highest paandty 1 VP894CC property Active changed from FALSE to TRUE see previous descriptions 2 idCurProc changed at runtime 3 Next Step process selected at design time If all three factors occur at the same time VP894CC will execute the process ID specified in AutoExecProc since factor 1 has the highest 118 VP 894 User s Manual Other than the two parameters described above there are also event specific parameters as described in each event s descripcion below DetectDTMF Event fired when any DIMF input is detected if CtrlParam MonitorDIMF is enabled Other Parameters VP 894 User s
42. version SYNTAX GetIncompatible LPSTR incompatible PARAMETER inoarmatible Pointer to a 16 elenent character array with fimwere compatibility information A non zero value in an element means that the corresponding board has incompatible fimware For example if incampatible 1 inompetible 5 and incampatible 10 all have non zero values then VP894 board 1 5 and 10 all have incompatible fimware versions RETURNS 0 there are no incompatible firmware versions non zero there are some incompatible VP 894 User s Manual 97 firmware versions EVENT TYPE None Get894Ver sion PURPOSE To obtain the firmware version of a VP894 board SYNTAX Get894Version int AdptrNum PARAMETER AdptrNum The VP894 s board number RETURNS An integer with the major version number in the high byte and the minor version number in the 98 VP 894 User s Manual lowbyte EVENT TYPE None Valid894Handle PURPOSE Toverify if a certain VP894 instance identifier is avalid one SYNTAX Valid894Handle int inst PARAMETER inst The instance identifier toke verified RETURNS 0 The instance identifier is invalid VP 894 User s Manual 99 Non zero The instance identifier is valid EVENT TYPE None Test8940wner PURPOSE To verify whether a certain VP894 instance owns a certain board number SYNTAX Test894Owner int inst int AdptrNum PARAMETER inst The
43. will be more accurate SYNTAX SetInterLink int ChNum int Connect 0 tums it off non zero tums it on RETURNS 0 successful or error code VP 894 User s Manual 53 way the Connect Controls the status of the interlink EVENT TYPE EVI EOP NORMAL Che ckWhetherVP894StillAlive PURPOSE SYNTAX To check if a VP894 board is still working CheckWhetherVP894StillAlive int AdptrNum unsigned EchoTimeOut PARAMETER AdptrNum Specifies the board number to check RETURNS EVENT TYPE 54 Manual EchoTimeOut Specifies the time out period for the VP894 to respond It is measured in number of ticks and there are 18 2 ticks per second For example a value of 182 means 10 seconds O successful or error code EVT VP894 ALIVE EVT VP894 DEAD Maker issuer of typeEvent indicates the VP894 s VP 894 User s board number sending these events Pulse Digit Detection Pulse digit detection function was added to API version 2 6x and up for use in areas where touch tone dialing is not widely available Pulse digit detection is very difficult because pulse digits caming from different Central Office may have different timing parameters anddifferent signal levels It is almost impossible to came up with a universal set of parameters to characterize all possible pulse digits Therefore the VP 894 adcpted the learm per call
44. 0 to 10 rg Set the record gain 10 to 10 ot Set the off threshold 0 to 15 S Se busy t the remote hung up busy threshold 0 to 21 roar t the remote hung up roar threshold 0 to 21 64 VP 894 User s Manual Specify Specify gck me chat that Questions amp Answers the VP 894 is connected to a PBX the monitor energy is TRUE 0 After installing the VP 894 the system can t start up and the Screen display garbage This might be caused by memory location conflict Set the 32K shared memory to a different address and try again If you are installing quite a few VP 894s into the same computer make sure thy camputer s power supply has enough current output Q After installing VP 894 the screen becomes unstable and flickers alc Your camputer s power suppl Try taking out a few VP 894 Ly may not have enough current output boards and try again Q When installing DRV894 EXE it reports that it can t find any boards This might be caused byn shared memory to a different location and try again J remory location conf ict for sure check 1 memory location conf manager e g 386MAX or n Th former re EMS emulator software e g I maps extended memory into installed in the syst Len between 640K to 1024 IK to increase usabl mulates expanded m
45. 15 16 15 15 16 14 16 15 15 16 14 16 15 15 16 15 14 1 8 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 g 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0o 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 1 aS 14 15 16 45 15 15 415 16 5 7 Uy 17 17 17 15 16 14 16 15 16 16 14 16 15 15 16 14 16 14 15 16 15 16 15 15 16 15 16 15 15 16 14 15 15 15 16 14 16 15 15 16 15 16 15 15 16 14 16 15 15 16 15 14 15 15 16 14 16 15 15 16 14 16 15 15 14 15 16 15 15 15 15 16 15 15 16 15 16 15 15 16 14 16 15 15 16 14 16 15 15 16 14 16 15 15 16 15 16 15 15 16 14 16 15 15 16 14 16 15 15 16 15 14 M 9 6 2 i 0 0 0 0 0 0 t 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 E o 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 4 2 2 2 un 2 2 2 2 0 2 5 5 4 2 2 0 0 0 0 0 2 0 0 0 0 0 4 2 2 z 2 2 2 9 9 6 4 2 0 2 2 4 2 2 qb 04 8 6 5 4 4 2 2 4 4 eG 4 2 2 2 2 2 2 2 2 2 4 9 8 6 6 6 10 uu 1 13 13 1 1 1 1 no 1 a 1441 aa 1 10 8 9 6 5 4 4 4 5 9 10 10 10 10 10 10 n tt 3 13 13 2 13 13 M 14 15 15 15 15 14 15 16 16 17 17 16 16 16 16 15 182 VP 894 User s Manual The VP 894 Windows 32 bit API
46. 19 19 19 619 19 19 19 19 19 19 19 19 19 19 19 6 0 0 19 19 19 19 19 0 00 0 18 19 19 7 19 719 19 19 19 19 19 819 AQ AG 119 719 19 19 19 19 19 19 19 19 719 19 19 19 19 19 19 19 19 9 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 39 19 19 19 195 19 19 19 19 19 19 197 48 15 12 6 9 18 19 19 9 958ooe228oo2282oo8 58ee828oeo828oo8 9 58oee8528ooH22oo89 9 58oeonug28oouazn oo c 58oeoo288oooZz283ooo 58o6o0o288ooo828o0o0o 58o6o0o288o0oo28ooo 58o6o0o0o28o0o0o28ooo 58o6o0o28o0oo28ooo 58oeoo288oooZ28ooo 9 98 oo28 aoo828 aoo 9 99goo0o088 70022 ooo 9898ooo28ooo28ooo 9 99898o0o289oo229oo AABeoAAHocoAAHoo 2280032920022 X0o 3223002232002 22Xoo AAASSAAARScAAACS AAASSCAAARAcCcAAACOS AAASSAAARcScAAACS 9 988ee82a882ee2822oo 9 988o6o6o2822o0o2222oo 9 528oo228oo228oo AAAecAARAecoAAAco 592g86eo28822o0o2222oo VP 894 User s Manual 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 139 19 19 19 19 19 19 39 19 19 181 Energy Record Printout Ringback Answer RecordGain OdB Off Threshold 50dBm0 each value is 8 ms apart 17 17 17 17 17 15 1 14 16 15 16 16 14 16 15 15 16 14 16 14 15 16 15 16 15 15 16 15 16 15 15 16 144 15 15 15 16 14 1o 4d5 15 36 15 16 15 15 16 14 16 15 15 16 15 14 15 15 16 14 16 15 15 16 14 16 15 15 14 15 16 15 15 15 15 16 15 15 16 15 16 15 15 16 14 16 15 15 16 14 16 15 15 16 14 16 15 15 16
47. 4 42 dBm 8 32 dBm 12 20 dBm 1 49 dBm 5 40 dBm 9 29 dBm 13 17 dBm 2 47 dBm 6 38 dBm 10 26 dBm 14 14 dBm 3 44 dBm 7 35 dBm 11 23 dBm 15 11 dBm 21 DetectRemoteHangUpWhenRecording Determines if Remote Hangup Detection should be enabled during message recording TRUE orFALSE Note that this parameter and DetectRemoteHangUpAlways can not be both TRUE at the same time but they can be both FALSE Remote hangup is detectable only if when remote hangup occurs at least one of the following is true 24 VP 894 User s Manual 1 Abusy tone alternating sound and silence is heard 2 A roaring sound continuous sound is heard 3 A reverse voltage signal is received 4 The line has recorded silence for a certain period of time If this function is enabled at least one of the following control parameters should be set TRUE DetectBusyRemoteHangUp DetectRoaringRemoteHangUp DetectVoltReverseRemoteHangUp DetectSilentWhenRecording Ss 0 N E Note Enabling Remote Hangup Detection only during caller recording is a better choice in most applications Because during recording there is less sound to confuse the system only the voice of the caller Whereas if Remote Hangup Detection is always enabled the system is more likely to get confused by all the different sounds fram the caller and fram the syste
48. 4 opens the door to many applications be connected to up to 6 VP 894 boards via 6 onboard connectors JML to JM6 one connector for each VP 894 board The on board DI P switch S1 provides 4 selections for the I O base address as following I O Base Address Selection I O Base 260H 270H 280H 1 2 3 4 5 6 OFF ON ON OFF OFF ON OFF ON ON OFF OFF OFF OFF ON OFF ON ON ON VP 894 User s Manual 165 290H OFF ON OFF ON ON OFF API for DOS amp W indows The DOS APT supports Microsoft C 5 0 and higher Turbo C 2 0 and higher Borland C 2 0 and higher and Clipper 5 01 and higher The Windows API is a DLL called EX24 DLL Both DOS API and Windows API include the same functions FX INITIAL Initialize EX 24 EX OPENALL Open all connections EX CONNECT Connect two lines together EX_DISCON Disconnect two lines EX STATUS Get the connection status of a line EX INITIAL PURPOSE Toinitialize and reset the EX 24 card All connec tims are qan after the initializaian SYNTAX void EX INITIAL int Port PARAMETER Port is the EX 24 s I O base address one of th following 0x260 0x270 0x280 0x290 RETURNS None COMMENT This function must be called once at the beginning of the application program EX OPENALL PURP
49. 4SMD REV A LEDO VP 894 User s Manual l Figure 6 Interconnection Diagram for DIMF EXE TEST EXE This program shows how to record play and stop on multiple channels Before running this program please connect the Tester Box to the VP 894 as in the VP 894 Voice Adaptor Connection Diagramonpage58 You may use either the Mic or the TAPE input to record messages You must record a message on each channel before testing the non stop repeating playback function ENERGY EXE This program shows how to use function GetEnergy to monitor nergy level on the line Application program can use the energy report to monitor the calling progress A example of the report file generated by this program is listed in Appendix A To run this program enter ENERGY phone number gt report file DEMO EXE This program tests the DIM reception and line recording playback functions of the VP 894 You need to connect a phone line to the channel under test Make sure the file GREET VOC which is the system prompt message exists in the current directory before running this program When the program is first executed the system is in the standby mode and ready to receive phone calls You should call into the system from another phone line The system will answer your call autamati cally adpop you to either enter a string of digits upto 10 digits before the system times out or press the
50. 894 device diagnosis found in the VP894CC Demo Program Group to check if VP894 32 DLL can find VP894 VXD and VP894 equipment in the system If the VP894CC Demo Program Group is not available because you have chosen not to install it when you installed VP894CC you may run the diagnosis program CHKADPTR EXE directly from the program manager If the diagnosis program can not find any VP894 in the system then you should change VP894 s hardware configuration to avoid conflicts with other boards 2 When running VP894CC demo programs no VP894 equip ment is operational Make sure VP894 control s property AdapterNumber matches the VP894 equipment installed in the system All the demo programs on the VP894CC installation diskette have a default setting of 0 for AdapterNunmber If it does not match the actual installation you must modify the demo program and re Make the EXE file 3 When running VP894CC demo programs no prompt mes VP 894 User s Manual 227 Sages are played in the Query process Check to see if the Prampt Directory in property envirorment is set to the same search path as the one you install programs into the search pat ed the demo If you accept the default setting at instal th should match Otherwise you have to manually change the Prompt Directory lation time 4 When using Method function SetQu
51. Chapter 1 General Descriptions The VP 894 voice communications board is designed to provide multi line communications support for applications like automated attendant voice mail systems interactive voice response systems automated banking inquiry systems automated order data entry systems automated telemarketing systems audiotext providers computerized security systems and etc Fach VP 894 operates 4 lines simultaneously andmultiple VP 894s may be installed into a single host computer sharing a single interrupc request Each line works independently and can record and play voice messages answer and via a compatible phone system transfer phone calls detect caller hang ues dial phone numbers in DIMF tone or pulse and receive DIMF tones There is also the Call Progress Monitoring or CPM for short function which monitors cut going calling progress with status report such as busy answer ring no answer and invalid This CPM function plays an inportant role in the implementation of some applications such as automated attendant and automated telemarketing systems A very sophisticated speech compression technique with optional Silence campression is used by the VP894 to achieve different campression rates while maintaining fairly good speech quality This highly efficient speech compression boosts system performance inthe following three ways 1 It reduc
52. DEC CODEC IN aN NV NV LINE LINE LINE LINE INTERFACE INTERFACE INTERFACE INTERFACE A0 A14 DO D7 i LOCAL BUS BUFFER e PC BUS BUFFER IOR le e i v i T low 32K SHARED MEMORY BUFFER MEMORY SELECTION ADAPTER amp MEMORY IRQ AND I O CONTROL SELECTION AND I O CIRCUIT CONTROL CIRCUIT Figure 1 VP 894 System Block Diagram 4 VP 894 User s Manual 16 Kbps 4 1 compression 9 8 Kbps 4 1 compression with silence compression 8 Kops 8 1 comression 4 9 Koos 8 1 campression with silence compression The higher the cata rate the better the voice quality But a higher cata rate also means more storage space is needed for a given message length Note that the 9 8 Koos and 4 9 Koos compression rates are estimated values only Actual data rate may vary due to different amount of silence within the speech All data including control commands and voice data exchanged between VP 894 and the host computer are done through a 32K shared memory Data transfer is requested via system IRQ and a single IRQ is shared by all channels in the same host computer There are four 48 KB voice buffers cn the VP 894 one for each channel Each buffer is divided into 2 equal banks and used in a ping pong fashion For example if a channel is operating at 16 Koos or 2 KB s then each bark will need I O service once every 12 seconds Do not confuse this voice bu
53. FALSE 25 DetectVoltReverseRemoteHangUp Determines if reverse voltage signal sent franthe Central Office should be detected as an indication for Remote Hangup TRUE of FALSE The reverse voltage signal may not be provided in some areas Also if the system is not connected directly to the Central Office then the reverse voltage signal may nct be detectable 26 DetectSilentWhenRecording Determines if silent during recording should be detected as an indication for Remote Hangup TRUE or FALSE The minimum silence duraticn and the energy threshold for silence are specified in Hangup Parameters as MinSilentDuration and SilentThreshold ZI StopOperat ionRemoteHangUp Determines what the system should do when a Remote Hangup is detected If set to TRUE the systemwill hang up the Line and go back to idle autaratically If set to FALSE the systemwill just issue one of the following events 26 VP 894 User s Manual EVT LINE ROARING REMOTE HANG UP EVT LINE BUSY REMOTE HANG UP EVT LINE VOLT REVERSE TOGGLE EVT LINE SILENT HangUp Parameter Definitics The HangUp Parameters define the characteristics of the disconnect signal on the telechone Line after the caller hangs up They are used for Remote Hangup Detection purpose Three types of disconnect signals are sup
54. I O queue to overflow will be discarded and the EVI DISPOSE PCM DATA event will be reported It is up tothe agolication program to determine how to handle this situation Fror Code Definitions Except for Close894 and FlushEvent all other functions in the APIwill retum an integer as a result This integer will ke 0 if the VP 894 User s Manual 19 function is executed successfully otherwise it will be one of the following error codes defined in the API894 H The only exception is GetEvent which returns a 0 if the event queue is empty or a non zero value if successful 1 ERR894 INVALID FUNC The called function is invalid 2 ERR894_INVALID_PARAM Supplied parameters are invalid 3 ERR894_INVALID_CHANNEL Supplied channel number is invalid 4 ERR894 CHANNEL BUSY The channel is busy 5 ERR894 NO MORE VOICE DATA When the Play function is called file pointer is at the erd of file 6 ERR894_EVENT_QUEUE_OVERFLOW The event queue is overflow 7 ERR894 PCMIO QUEUE OVERFLOW The voice data queue is overflow 8 ERR894 PCM FILE IO Voice data file 1 0 error 9 ERR894 DRIVER NOT INSTALLED VP 894 device driver is not installed typeCPB ControlParameter Def initims The API894 H also defines the following control parameters within the tyeeCPB structure 1 DialMode Sets the di
55. INT ERC tains the intercept D EPT then Exitl DTM F con PostExecutedSetCtr Param Event is TRUE PostExecutedStopCh Fire Post Executi E FeExecuted Execution is TRUE 204 Manual VP 894 User s F code otherwise it is meaningless Event fired after process Set Control Parameter is executed if its property Fire Post Execution Event fired after process Stop Channel is executed if its porty on Event is TRUE Event fired before executing any process if its property Fire Pre E Event fired when process Ringing is detected if its porty Fire Event is TRUE Other Parameters idPreProc The previous processor ID before executing this process PreProcName The previous process name before executing this process DetectPulse Event fired when pulse inputs are detected if CtrlParamMonitor Pulse is enabled Other Parameters Pulse The pulse digit which was detected PreProcName he previous process name before executing this process H VP 894 User s Manual 205 Lear nPulseSuccess Even t fired after pulse learning is completed successfully if Ctrl Param learn Pulse is enabled Other Parameters idPreProc The previous processor ID before executing this process PreProcName The previous process name
56. ML Note that the RecordGain level may affect the accuracy of DIME reception and energy report If there is a problem receiving DIME trying lowering the RecordGain 18 PlayMode Selects one of the following playback modes 0 PM HIGHER SAMPLING 16 9 8 Kbps Q PM HIGHER SAMPLING ECHO CANCEL 16 9 8 Kbps with echo cancellation Q PM LOWER SAMPLING 8 4 9 Kbps Y PM LOWER SAMPLING ECHO CANCEL 8 4 9 Kbps VP 894 User s Manual 23 with echo cancellation These four modes are defined in API894 H If echo cancellation is enabled voice playback will be mute momentarily when a DIM is detected Therefore voice quality may be affected if echo cancella tion is enabled 19 RecordMode Selects one of the following record mocks 0 M_STANDARD_RATE 9 8 Kbps RM_PREMIUM_RATE with silence compression M_PREMIUM_RATE 16 Kbps M_INTERMEDIATE_RATE 8 Kbps M_EXTENDED_RATE 4 9 Kbps RM INTERMEDIATE RATE with silence compression BOD a Modes 1 and 4 are estimate rates only Their actual data rates depend on message contents how much silence and OffThreshold how silent is the silence 20 OffThreshold Sets the threshold level for silence compression Valid levels are from 0 to 15 0 50 dBm
57. OSE To cenall connections SYNTAX void EX OPENALL void PARAMETER None RETURNS None 166 VP 894 User s Manual COMMENT None EX CONNECT PURPOSE SYNTAX PARAMETER RETURNS To connect two lines together int EX CONNECT int Lline int Rline Lline is the first line number 0 23 Rline is the second line number 0 23 O successful or 1 failed Lline Rlire EX_DISCON PURPOSE SYNTAX PARAMETER RETURNS EX_STA TUS PURPOSE SYNTAX PARAMETER RETURNS To discomect two lines int EX DISCON int Lline int Rline line is the first line number 0 23 Rline is the second line number 0 23 O successful or 1 failed Lline Rlire To get the connection status of a line int EX STATUS int Lline Lline is the line number 0 23 1 no connection or N connected to line N Demo Programs XD894 EXE for DOS This program impletments a simple telephone transfering system The concept is as following VP 894 User s 167 Manual L Designate the even Lines as the inbound lines 2 Designate the odd lines as the outbound Lines 3 When a call is received from an inbound line the caller enters a telephone number which the system uses to make an outbound call and connect these two Lines together 5 When the caller hang up on the inbound line open the line connection and hang up both lines 6 For
58. OffDuration As Integer End Type This User Defined data type is used to define Tone Monitor parameters for the VP894 ToneThreshold Specifies the threshold energy level for a tone to be recognized Energy level below the threshold is considered to be silence MinOnDuration The VP894CC will fire the VB event TonePresence to notify client application when a tone is detected for a min duration specified in VP 894 User s Manual 225 MinOnDuration The tone must meet the ToneThreshold standard MinOffDuration The VP894CC will fire the VB event LineMute to notify client application when a period of silence is detected for a minimum duration specified in MinOffDuration The silence must meet th ToneThreshold standard Programming Tips 1 Each VP894 control represents only one VP894 adapter therefore if your application supports 3 VP894 adapters you must create 3 VP894 controls Each VP894 control has its own properties changing ane control s properties has no effect an cthers properties Therefore if you want to create multiple VP894 controls with the same properties you should first create a master VP894 control with all the properties configured properly then use the Edit Menu s copy and paste function to create the others If these VP894 controls also have the same execution flow then you should choose to create a control array When you want to
59. PE None AcceptContrd PURPOSE To accept the resource management Job relin quished fran a terminating instance SYNTAX AcosptControl int inst PARAMETER inst The instanoe identifier RETURNS 0 successful otherwise the resource manage ment Job has been taken over by another instance The returred value is really not important as lang as same other instance takes over the resource management job But the application program must call this function when it receives the VP 894 User s Manual 91 EVENT TYPE Query894 PURPOSE SYNTAX PARAMETER 92 Manual EVI SET CONTROL event None To obtain information on the VP894 resources Query894 LPINFO894 lpInfo LPINT Installed lpInfo lpInfo contains the information returned fron the function It is a pointer pointing to data structure INFO894 defined in API894 H as verMajor VP894 DLL s major version num verMinor VP894 DLL s minor version num Msg VP894 s registered message ID under Windows By checking the message ID th application program knows whether the mes sage cames from the VP894 or not TRO VP894 s IRQ setting SRAM Location of VP894 s shared buffer Installed Pointer to a 16 element integer array with VP894 allocation information A non zero value in an element means that the corresponding board has been ins
60. PURPOSE SYNTAX PARAMETER 42 Manual 0 successful or error code None To stop current operation if any on the specified channel If the charnel is playing a file when it is Stopped the playback can be resumed fram where it is stopped by calling Play again assuming the file pointer has not been moved since StopCh int ChNum None VP 894 User s RETURNS EVENT TYPE GetEvent PURPOSE SYNTAX PARAMETER RETURNS 0 successful or error code EVT_ENDOF_STOP To get a new event from the event queue GetEvent typeEvent EvtBuf EytBuf Points to a structure of typebvent defined in API894 H Members in this structure are Issuer Number of the channel sending this event Type Type of this event Data Contains different kind of data based an the event type EVT DTMF INTERCEP amp EVT_DETECT_DTMF the DTMF code EVT PCMIO ERROR the DOS error code EVT INTRN QUEUE OVERFLOW ERR894 EVENT QUEUE OVERFLOW or ERR894 PCMIO QUEUE OVERFLOW Other Events not defined O event queue is empty VP 894 User s Manual 43 EVENT TYPE Inser tFvent PURPOSE SYNTAX PARAMETER 44 Manual non zero successful None To insert a user defined event into the event queue Events OxA0
61. Param This is an OLE Handle pointed user defined type CPMParam variable in which to new CPM parameters are stored GetRemoteHungUpParam Param Get the current Remote Hungup parameters Param This is an OLD Handle pointed user defined type HungUpParam VP 894 User s Manual 213 variable in which the current Hungup parameters are to be stored SetRemoteHungUpParam Param Set new Remote Hungup parameters Param This is an OLE Handle pointed user defined type CPMParam variable in which to new Hungup parameters are stored GetChParam Param Get the current Channel parameters Param This is an OLD Handle pointed user defined type ChParam variable 214 VP 894 User s Manual in which the current Channel parameters are to be stored SetChParam Param Set new Channel parameters Param This is an OLE Handle pointed user defined type ChParam variable in which to new Channel parameters are stored SetNextStep ChNum NextStepString Dynamically set the next step process at runtime IntheVBX version if you want to dynamically change the process flow based on external conditions you must change the idCurProc parameter in Event Handler In the OCX version this is done by using this function This means if you execute SetNextStep before Exit event procedure when control returns to VP894CC i e Exit event procedure it will execute the process specified by
62. RETURNS None EX_STA TUS PURPOSE Togt camectian status of a line in the left group SYNTAX int EX STATUS int Lline PARAMETER Lliris the li nmr 0 23 inthe left group RETURNS 1 no comection or N connected to line N Demo Programs XXD894 EXE for DOS This program impletments a simple telephone transfering system The concept is as following 1 Designate the left group as the inbound group 2 Designate the right group as the outbound groups 3 When a call is received from an inbound line the caller enters a telephone number which the system uses to make an outbound 172 VP 894 User s Manual call from the corresponding outbound line 4 Connect the two lines together 5 When the caller hang up on the inbound line open the channel connection and hang up both lines To execute the program enter the following command fram the DOS pramt DRV894 Enter XXD894 Enter EX2424 VBP for Windows Visual Basic This program has the same concept as XX894 EXE for DOS Be sure to copy the EX2424 DLL file to the WINDOWSNSYSTEM sub directory before running this program To run this program Activate Visual Basic IDE Load NEX2424NWINNEX2424 VBP Run Questions amp Answers 1 The computer fails to boot up after the EX 2424 card is installed This problem may be caused by I O base ad
63. SK E DTMF POUND O successful or error code If less than 255 the error code is actually the one retumed fran DOS EVT EOP NORMAL VP 894 User s Record PURPOSE SYNTAX PARAMETER EVT DTMF INTERCEPT To record a voice fil EVT PCMIO ERROR cn the specified channel DIMF queue is also cleared Record int ChNum int Handle unsigned Length unsigned AcceptDTI F Handle The file handl of the voice file Length The number of seconds to record Recording always starts from wherever the file handle points to in the file It will continue indefinitely until stopeed by an acceptable DIME tone if Length is set to 0 AcceptDIMF Defines which DTMF tone s can be used to stop the recording It may contain any number of the following constants defined in API894 H bitwise ORed together E DTMFO E DTMF1 E DTMF2 E DTMF3 E _DIMF4 E_DTMF5 E DTMF6 E DTMF7 E DIMF8 E DTMF9 E DTMFa E DTIMFb E DTMFc E DIMF E DTMF POUND d E DTMF ASTERISK RETURNS 0 successful or error code EVENT TYPE VP 894 User s Manual 37 EVT EOP NORMAL GetDTMF PURPOSE SYNTAX PARAMETER 38 Manual EVT PCMIO EVT DIMF I
64. SetNextStep The only exceptions are event DetectDTMF and DetectPulse You may not execute SetNextStep within these two event procedure Parameters are ChNum The target channel s local number ranging from 0 to 3 NextStepString The next step process ID or process name VP 894 User s Manual 215 GetFlowProp Param bQueryOrGet For system intemal use only SetFlowProp Param For system intemal use only GetToneDetectParam Param Get the current Tone Detect parameters Param This is an OLD Handle pointed user defined type ToneMonitorParam variable in which the current Tone Detect parameters are to be stored 216 VP 894 User s Manual SetToneDetectParam Param Set new Tone Detect parameters Param This is an OLD Handle pointed user defined type ToneMonitorParam variable in which the new Tone Detect parameters are stored User Def ined Data Types lype QueryProp AcceptDIMF As Integer ExitDIMF As Integer DIMFAmount As Integer NextStepForDIMF Intercept 0 to 15 As Integer NextStepForTimeOut As Integer End Type AcceptDTMF Defines which DIMF keys are acceptable input Each bit in this integer represents one of the 16 DIMF keys You may use the following global constants defined in VP894INC BAS E DIMFO E DTMF9 E DTMF ASTERISK E DTMF POUND and etc For example if you only accept 0 1 and 2 t
65. TAX GetFreeAdapter LPINT freeAdapter PARAMETER freeAdpter Pointer to a 16 elerert integer array RETURNS with VP894 a location information A non zero value inan el lement means that the corresponding board is available For exemple if freeAdacter 1 fresAdapter 5 and fresAdagter 10 all have non zero values are free then it means board 1 5 and 10 A DWORD which has the same definition as the owner parameter in function Init894 This DWORD can be used directly as the 2nd param eter to call function Reguest2cbpter or VP 894 User s Manual 25 function AddAdpter EVENT TYPE None AddAdapter PURPOSE To allocate more VP894 resources The desired resources should be either free or requested from another application by calling function RequestAdapter first SYNTAX AddAdapter int inst DWORD owner PARAMETER inst The instance identifier owner The resources to be allocated It has the same definition as the owner in function RequestAdapter but requested resources board numbers must be available To learn whether a certain instance has successfully dotained requested resources you may call function Get8940wner 96 VP 894 User s Manual RETURNS 0 successful or error code EVENT TYPE None GetIncompatible PURPOSE Check to see if there are in the system any VP894 boards equipped with incompatible fimware
66. ToolBox to change the adapter for this control If the control does not exist the control icon will have an X on it 190 VP 894 User s Manual GrParam Design Time RW Run Time NA This Property Page is used to set the default channel control parameters The channel control parameters are described in Chapter 3 You may modify these parameters as desired These default channel control parameters are used to set the control parameters when a channel is initialized If you need to change themat run time you must use VP894CC s Method functions SetChParamProp and SetCtrlParanProp FlowEditor Design Time RW Run Time NA This Property Page is the key to editing the VP894CC s execution flow control It includes the following two parts 1 Auto Executed Step After Enable It specifies the process ID for the VP894 to execute autaratically when the VP894CC s property Active is set TRUE It can be changed dynamically at runtime by using VP894CC s property AutcExecProc 2 At Process Editor t design time you may edit VP894CC s telecomunication flow control in this dialog box In the VP894CC s flow control we use the process as an execution unit There are 14 different pro cesses in the current version 1 Query 2 Record 3 Call 4 Stop Channel 5 Set Control Parameter 6 Interlink 7 Flash 8 Pick Up 9 Hang Up 10 Ringing 11 Local Phon
67. User s Manual 159 the HungUp parameters Type ToneMonitorParam ToneThreshold As Integer MinOnDuration As Integer MinOffDuration As Integer End Type This User Defined data type is used to define Tone Monitor parameters for the VP894 ToneThreshold Specifies the threshold energy level for a tone to be recognized Energy level below the threshold is considered to be silence MinOnDuration The VP894CC will fire the VB event TonePresence to notify client application when a tone is detected for a min duration specified in MinOnDuration The tone must meet the ToneThreshold standard MinOffDuration The VP894CC will fire the VB event LineMute to notify client application when a period of silence is detected for a minimum duration specified in MinOffDuration The silence must meet the 160 VP 894 User s Manual ToneThreshold standard Programming Tips 1 Each VP894 control represents only one VP894 adapter therefore if your application supports 3 VP894 adapters you must create 3 VP894 controls Each VP894 control has its own properties changing ane control s properties has no effect an cthers properties Therefore if you want to create multiple VP894 controls with the same properties you should first create a master VP894 control with all the properties configured properly then use the Edit Menu s copy and paste function to create the oth
68. a string which specifies the target nnter to be called If the target number is a pager this string contains both the pager nurber and delivered messages separated by a STRS 0 Callinfo This is a variable of CallProp user defined type in which the new VP 894 User s Manual 143 property information is stored GetCtrParamProp VP894 idProc CtrlParam Get a Set Control Parameter process property information Param eters are VP894 VP894CC s control object idProc The target process uU CtrlParam This is a variable of SetCtrlParanProp user defined type in which 144 VP 894 User s Manual the property information is to ke stored SetCtr ParamProp VP894 ChNum CtrlParam Set the next process to be Set Control Parameter and also set its properties Parameters are VP894 VP894CC s control object ChNum The target channel s local number ranging fram 0 to 3 CtrlParam This is a variable of SetCtrlParanProp user defined type in which VP 894 User s Manual 145 the new property information is stored GetCPM Param VP894 Param Get the current CPM parameters VP894 VP894CC s control object Param This is a User Defined Type CPM_Param to store the current CPM 146 VP 894 User s Manual parameters SetCPM Param VP894 Param Set new CPM parameters VP894 VP894CC s control object Param This is a User Def
69. al constants defined E DIMF9 E DTMF AST For example if you only accept 0 ERI MF keys You may in VP894INC BAS use the E DIMEO SK E TL DTMF POUND and etc 1 and 2 then AcceptD E DIMFO or E DTMFlorE DTMF2 EXitDTMF Defines which DIM DTMFAmount Specifies the maximum number of DIM NextStepForDTMFIntercept 0 to 15 This integer array has 16 elements each the Query process is terminated by an sponding process 152 Manual ME F keys can be used for terminating the Query process The key definitions are the same as in AcceptDIMkE contains a process VP 894 User s F keys to be received When ExitDIMF key the corre is executed as the next step The mapping table isas following NextStepForDIMFIntercept DTMF Key 0 X09 S39ooi omnme2o25 ES Y panna s isi a Es Hs dE Xx XOQOUyo0OoJAadRAwNnN RE 5 NextStepForTimeOut Defines the next step process ID if receiving DIMF input is VP 894 User s Manual 153 incomplete before timeout Type RecordProp ExitDIMF As Integer Length As Integer NextStepForDIMFIntercept 0 to 15 As Integer End Type ExitDTMF Defines which DIMF keys can be used for terminating the Record process Th
70. aling mode 0 tone dialing default 20 VP 894 User s Manual 1 pulse dialing 2 LineToPBX Tells the VP 894 whether the channel is connected to a CO line or a PBX 0 CO line default 1 PBX 3 TriggerMode Tells the VP 894 to detect either inbound ringing or local phone hookswitch status On board jumpers W1 W4 and W9 W20 must be set accordingly 0 detect inbound ringing default 1 detect local phone hookswitch status 4 MonitorDTMF Sets whether to generate an EVI_DETECT_DITMF event when a valid DIMF is received O no default 1 yes 5 MonitorEnergy Sets whether to generate an EVI REPORT ENERGY event regu lady O no default 1 yes 6 OffHookDelay Sets the time delay for sending the EVI FOP NORMAL event after PickUp is called 7 OnHookDelay Sets the time delay for sending the EVI FOP NORMAL event after HangUp is called 8 FlashTime Sets the flash time duration VP 894 User s Manual 21 DIGIT 2 DIGIT 1 DIGIT 3 T2 T1 T2 T3 T2 T3 T2 T1 T2 T1 T2 Figure 4 Pulse Dialing Sequence for 213 T1 PulseMake T2 PulseBreak T3 PulsePostDigitPause 9 PulseMake PulseBreak PulsePostDigitPause Sets the make break and post pul se pause duration for pulse dialing Figure 4 shows a sequence of pulse dialing digits 213 10 ToneDuration InterTonePause Sets tone and Inter Foe pa
71. an one board in the system set any one of them to ON and others to OFF S1 2 to S1 5 Select the board number Each board should have a unique number These four switches forma four digit binary code with S1 2 being the MSB and S1 5 the LSB For example S1 2 S1 3 S1 4 S1 5 Board Number 0 1 0 0 4 0 0 1 1 3 1 0 0 1 9 Note 0 OFF 1 ON S1 6 to S1 8 Select the address of the 32K shared memory Sl 6 S1 7 S18 Starting Address 0 0 0 C000 C7FF 0 0 1 C800 CFFF 0 0 D000 D7FF 0 D800 DFFF 0 0 E000 E7FF 0 1 E800 EFFF 0 A000 A7FF A800 AFFF VP 894 User s Manual 11 2 Jumper Settings W5 to W8 Select a common IRQ for all VP 894 boards in the same system On and only one Jumper must be ON installed W5 ON IRQ3 W6 ON TRO5 W7 ON IRQ7 W8 ON IROS9 W1 to W4 W9 to W20 These jumpers are used to enable disable the local phone function Note that each Line can be independently configured Local Phone Disable Local Phone Enable LINE 1 W3 W13 W11 W14 LINE 2 W1 W15 W9 W16 LINE 3 WA W17 W12 W18 LINE 4 W2 W19 W10 W20 The local phone should ke disabled if the application is to detect and answer inbound calls Tf the local phone is enabled the incoming ring can not be detected The loca
72. anual The previous processor ID before executing this process RemoteHangUp Event fired when process Remote Hang Up is detected if its property tireEvent is TRUE Other Parameters idPreProc The previous processor ID before executing this process Ret894Evt One of the following events EVI LINE SILENT EVI LINE ROARING REMOTE HANG UP EVT VOLT REVERSE VP 894 User s Manual 135 IOGGLE EVT LINE BUSY REMOTE HANG UP LineMute If check Monitor Tone is enabled in VP894CC s property CtrlParam and the line energy is lower than the ToneThreshold for a duration longer than or equal to the MinOffDuration in ToneMonitorParam 136 VP 894 User s Manual then VP894QC will fire this event to notify the client application TnePresence If check Monitor Tone is enabled in VP894CC s property CtrlParam and the line energy is higher or equal to the ToneThreshold for a duration longer than the MinOnDuration in ToneMonitorParam VP 894 User s Manual 137 then VP894CC will fire this event to notify the client application API Functions VP894CC provides a set of APT functions so that the application program can dynamically modify process properties at runtime The prototypes of these functions are declared in VP894INC BAS These functions are described below
73. arameters for a channel SYNTAX SetCtrlParam ChNum VP894CPB PARAMETER ChNum The channel number VP894CPB See the parameter explanation of GetCtrlParam 72 VP 894 User s Manual RETURNS 0 successful or error code EVENT TYPE EVI EOP NORMAL GetDTMF PURPOSE Toget a string of DIMF inputs from a channel SYNTAX GetDTMF ChNum Count AcceptDIMF EXitDTMF PARAMETER ChNum The channel number Count The number of DIMF to receive AcceptDIME Which DIMF tones are acceptabl EXitDIMF Which DTMF tones can be used to terminate input before Count number of DIMF tones are received RETURNS 0 successful or error code EVENT TYPE E V T EOP NORMA TL EVT DTMF INTERCEPT EVT TIME OUT COMMENT If GetDIM returns zero to indicate success the API will intemally maintain a buffer which has Count 1 bytes allocated through Fixed Memory Allocator in Clipper to store the received DIM Application can retrieve these DIM by invoking function GetReceivedDIMF when one of the relevant events arrives GetReceivedDIMF will free the previous allocatedbuffer after it copies received DIM into the referenced variable passed by the application The application must invoke GetReceivedDIMF after calling GetDIMF even if event EVI TIME OUT is received The
74. are provided to read and write all channel parameters GetChParam and SetChParam VP894CC OCX Properties The following abbreviations represent the accessibility of a prop erty at design time or run time RW read write RO read only WO write only NA not available When designing with the VP894CC Active X Control you may set certain important parameters in the Property Page There are two ways to bring up the Property Page The first way is to click the right mouse button on the Control and select the Property from the pop up menu The second way is to select Custom from the Property Window VP 894 User s Manual 189 Status Design Time RO Run Time RO Status is an integer which indicates the current status of a VP894 omtrol Its value range is fran 0 to 2 with the following definitians 2 Indicates that the adapter has been allocated to another task 1 Indicates that the adapter is not installed in the system 0 At design time it indicates that the adapter is free at run time it indicates that the adapter is allocatedto this amtrol therefore all its functions are available to this control AdapterNumber Design Time RW Run Time RO AdapterNunber is an integer its value equals the adapter number of this control At run time a VP894 custam control uses this number to request an adapter from VP894 DLL At design time this property can be changed directly in the
75. ascuce esee tte veges ett ete poe ceva vedo ae vede eo yep 210 SSECALIP LOO 4 ack Enn 210 Cdra llo AA EAS 21 SetCErlBaramEPEODs eese eene ee eso ae eoe eet era eE eara S 21 Get CBM Ba AM iia 212 SetCPM Partam ssscactiscseccsccccsesencavescssessecsccsasesessesoss pes 212 GetRemoteHungUpParamM eeeeeee eese eee ee ata enne 213 SetRemoteHungUpParal 2 e etue e noue ee o n ee eaae Ue oia 2 13 GEE CHP ALAM aoeeoe reeeo erosus Eea esasa Decidido 214 SGECHPS LAM pr Em 214 SECNEXUSESD M E 215 GSTELTOWPLOD ey 215 SGUETOWEEOLD esse eeesscsses tene A aida 215 GetToneDetectPatal eee eeee oss See orco sP pue e eR RS Nep e eo Sun 216 SetloneDetectPafrali oce eese eee e eo oue e ena sieaas nsan 216 User Defined Data Types siii tel iege neue 217 TyvpeOuGPyPPOD 3 donando linia sevesceee e even eene aea equ 217 TYPERECOLOP TOP sie eese aa se eese e gs eoe ER ER RR RNO SP EEPRR IP Ne E SER Nee 219 TypeCal IPEOP EP 220 TYPESECCELLPATAMP LOD reete ne ena sonet ado covdeaes s 221 TyPeDuUt VOUT at 1 ON iii 222 TypeCcadenee CHOY dro 222 TypeSignalOnBbrng dai 222 TypeCBM LPARAM see eee ve ee o eo e eo Sua exe o ee vae urn gu 222 TYPCHUNGUD BUSY oce sete e oot boe ost aote eo e o sine ea ee 224 TypeH ngUpEdgCradm a reae say Teese re ere ge eee ere eyes 224 Typerone MonitorPaFam mistica 225 Programming Tips Questions amp Answers VP 894 PC Voice Board User s Manual Third Fdition c 1997 1998 Eletech Enterpri
76. aveCount 1 CPMParam PrivateSystem Busy RecognizeCycle 2 CPMParam PrivateSystem Busy Wave 0 Silence 58 CPMParam PrivateSystem Busy Wave 0 NoneSilence 67 CPMParam PrivateSystem Busy Wave 0 SilenceTolerance 9 CPMParam PrivateSystem Busy Wave 0 NoneSilenoeTolerance 12 CPMParam PrivateSystem Ring Type CYCLIC WAVE CPMParam PrivateSystem Ring WaveCount 2 CPMParam PrivateSystem Ring RecognizeCycle 1 CPMParam PrivateSystem Ring Wave 0 Silence 30 CPMParam PrivateSystem Ring Wave 0 NoneSilence 67 CPMParam PrivateSystem Ring Wave 0 SilenceTolerance 6 CPMParam PrivateSystem Ring Wave 0 NoneSilenoeTolerance 12 CPMParam PrivateSystem Ring Wave 1 Silence 255 CPMParam PrivateSystem Ring Wave 1 NoneSilence 67 178 VP 894 User s Manual CPMParam PrivateSystem Ring Wave 1 SilenceTolerance 45 CPMParam PrivateSystem Ring Wave 1 NoneSilenceTolerance 12 These CPM Parameters define the following signals BUSY Must detect 2 consecutive cycles before recognition ON 536 96 ms OFF 464 72 ms RINGBACK lst ON 536 96 ms 1st OFF 240 48 ms 2nd ON 536 96 ms 2nd OFF 2040 360 ms 2 Cyclic Signals Single Ring PBX CPMParam PrivateSystem Busy Type CYCLIC WAVE CPMParam PrivateSystem Busy WaveCount 1 CPMParam PrivateSyst
77. avoid hi has ih Chapter 3 API Overview The API considers each line as a channel The mapping between lines and channels is as following LINE 1 2 3 4 on board 0 is channel 0 1 2 3 LINE 1 2 3 4 on board 1 is channel 4 5 6 7 LINE m on board dn is channel 4n m 1 Therefore each line in the system should have a unique channel number if boards in the same system are configured with different board numbers There are two types of functions in the API event driven and non event driven The event driven type functions usually take a long time to complete therefore the channel will remain busy for a while even after th function returns The results or error codes are then posted in th vent queue when the function actually finishes For example calling the Play function only activates the playback of a message file The function quickly returns but the channel remain busy playing message until something happens e g the end of fileis reached At that time the result e g playback finished nomally is posted in the event queue and the channel goes back to idle VP 894 User s Manual 15 The non event driven type functions usually takes a short time to camplete and the job is always done when the function returns This type of functions does not update the event queue The following is a li
78. before executing this process RemoteHangUp Event fired when process Remote Hang Up is detected if its property tireEvent is TRUE Other Parameters idPreProc The previous processor ID before executing this process PreProcName The previous process name before executing this process Ret894Evt One ROARING REMOTE HANG UP EVT VOLT REVERSE of the following events EVI LINE SILENT EVT LINE IOGGLE EVT LINE BUSY REMOTE HANG UP LineMute 206 VP 894 User s Manual If Monitor Tone is enabled in VP894CC s property CtrlParam and the line energy is lower than the ToneThreshold for a duration longer than or equal to the MinOffDuration in ToneMonitorParam then VP894CC will fire this event to notify the client application TonePresence If Monitor Tone is enabled in VP894CC s property CtrlParam and the line energy is higher or equal to the ToneThreshold for a duration longer than the MinOnDuration in ToneMonitorParam then VP894CC will fire this event to notify the client application Method Functions VP894CC Method functions are similar to the VBX API functions except for the followingmajor differences The calling method is different VP 894 User s Manual 207 Unlike the API function which calls the whole Active X the Metho
79. cate free selector from Windows 5 ERR894 WINDOWS ERROR SET SELECTOR Can not set the selector base amp ERR894_NO_MORE_ADAPTER There are no more resources available 7 ERR894_BAD_WINDOWS_HANDLE The Windows handle passed to the 894Win APT fran the application program is invalid 8 ERR894_REGISTER_MESSAGE VP 894 User s Manual 85 Can not register VP894 message to Windows 9 ERR894 SET TIMER 10 ERR894 BAD FILE NAME The specified voice file does not exist 11 ERR894_RECORD_FILE The specified voice file can not be created 12 ERR894 NO MORE INSTANCE Can not set up any more VP894 instances 13 ERR894 INVALID OWNER The API calling program does not own the spec 14 ERR894 INVALID HANDLE The VP894 instance number is invalid 15 ERR894 UNKNOWN ERROR There is an unknown error Event Passing The VP894 events are passed through the appl ified channel lication program s message queue To receive VP894 message the agolication program should first call function Query894 to obtain the message s identifier The message retrieved fra the mes sage queue contains the event type in a word parameter and the event data location in a double word parameter The event data i S of the typeEvent structure as defined in API894 H Since the message queue has a capacity of only 8 messages for each Windows agol ication it is quite
80. d function calls only the control object The passing method is different Since passing user defined parameter between the application program and the Active X control must use OLE Handle all user defined parameters must be converted before passing Please refer to MEMORY BAS for conversion function The purpose of Method functions is to allow VB applications to dynamically change process properties at runtime The Method functions are described below GetQueryProp ProcString QueryInfo Get a Query process property information Parameters are ProcString The target process ID or process name QueryInfo This is an OLE Handle pointed user defined type QueryProp variable in which the property information is to ke stored SetQueryProp ChNum PromptList QueryInfo Set the next step process to be Query and also set its properties Parameters are ChNum The target channel s local channel number ranging fram 0 to 3 PromptList This parameter can ke either a null pointer or a character string of the filenares of the voice prampts If it is a null pointer then Query 208 VP 894 User s Manual will only receive touch tone inputs without playing any voice part If more than ane voice file is to be played the filenares must be separated by Str 32 For example if you want to play the following three files C PATH1 VOICE1 D NPATH2NVOICE2 and E PATH3 VOICE3 you must set the Pram
81. different signal types must be defined this array has 351 elements The following table lists definition of each element Central Office CPMParam 1 27 ring tone CPMParam 28 54 busy tone CPMParam 55 81 invalid number CPMParam 82 108 dialtae CPMParam 109 135 1st user oefined tone CPMParam 136 162 2nd user defined tone Private Phone System CPMParam 163 189 ringtae CPMParam 190 216 busy tone CPMParam 217 243 invalid number CPMParam 244 270 daltcre CPMParam 271 297 1st user defined tane CPMParam 298 324 2nduser defined tone VP 894 User s Manual 77 Beeper CPMParam 325 351 beeper acknowledge tone For the 27 elements in each group CPMParam n 0 Wave Count CPMParam n 1 Type CPMParam n 2 Recognize Cycle s CPMParam n 3 Wave 0 Silence CPMParam n 4 Wave 0 None Silence CPMParam n 5 Wave 0 Silence Tolerance CPMParam n 6 Wave 0 None Silence Tolerance CPMParam n 7 Wave 1 Silence CPMParam n 8 Wave 1 None Silence CPMParam n 9 Wave 1 Silence Tolerance CPMParam n 10 Wave 1 Nome Silence Tolerance CPMParam n 23 Wave 5 Silence CPMParam n 24 Wave 5 None Silence CPMParam n 25 Wave 5 Silence Tolerance 78 VP 894 User s Manual CPMParam n 26 Wave 5 None Sile
82. dress conflict between an existing add on card and the EX 2424 card Fe configure the EX 2424 to a different address and try again Also make sure the card is inserted fimly into the expansion slot 2 The EX 24 card fails to respond to the application program This is because 1 the EX 2424 card is broken or 2 the card s base address does not match the application program s address setting Appendix A CPM Principles VP 894 User s Manual 173 174 VP 894 User s Manual achieves highly accurate Call Progress Monitoring CPM by care fully analyzing the sound coming back from the line The sound is represented as a bit string of O s and 1 s in the Energy Record generated by VP 894 By carefully studying these information we can determine if and when the outbound call is answered The basic theory behind Call Progress Monitoring is cadence analysis By analyzing the ringback cadence we can determine th current calling status to be one of the following Ring with no answer Answered Line busy Incamplete when none of the above applies For the Central Office in the United States if the ringback cadence is 1 second on and 1 second off it indicates that the line is busy If the cadence is 2 seconds on and 4 seconds off the line is ringing And if the ringing cadence suchenly disappears it indicates that the line is answered These ringback cadences however
83. e Picked Up 12 Local Phone Hung Up 13 Remote Hang Up 14 Learning Pulse Success These processes all have their own properties to define how they shouldbe executed These different properties can be separated into VP 894 User s Manual 191 two groups Common Process Properties Process Specific Properties Common Process Properties The following properties are cammon to all processes 1 ID The process ID code This ID code is also used in the edit box of property Next Step to indicate the next step for example the Default Next Step described below 2 Type The process type 3 Name The process name which is only used for documentation purpose by the application programmer It may contain a string of any ASII characters exagot the null character 4 Default Next Step It specifies the ID code of the next process to execute if the current process is terminated nomally If this property is blank or 1 it means the next step is to enter the idle state However different types of process may have different definitions for normal termination Please refer to each process description 5 Fire Event Only the following processes have this property Ringing Local Phone Picked Up Local Phone Hung Up Remote Hang Up and Learning Pulse Success This property indicates whether to fire a VB Event
84. e following fomula to make all rmake demo F DEBUG T RMAKE is a program maintenance utility which comes with the Clipper carpiler For more information about this utility and it s options please refer to the Clipper programmer s guide If you want the symbolic information embedded in the built demo programs that you can use Clipper Debugger CLD to trace the execution of program specifies DEBUG T on the trail of RMAKE command In the following description we will briefly explain what makes those difference between C and Clipper APT There are two main reasons to cause those differences 1 data type representation for variable in memory 2 the behavior for runtime memory management 1 InCligger there is no equivalent variable declaration statement like C s struct which can be used to campose relative makers in sequential memory so we use array instead in place where API s function parameter is passed with struct reference data type in C 2 There is a built in Virtual Memory Manager behind each application which is compiled with Clipper It gives application much more memory by using a similar methodology like memory 68 VP 894 User s Manual management in same multi tasking operation system For efficient tilizing the limited amount of real memory most memory object hich are created in runti
85. e key definitions are the same as in AcceptDIMF of QueryProp Length Specifies the maximum recording time in seconds If set to 0 there is no time limit NextStepForDIMFIntercept 0 to 15 This integer array has 16 elements each contains a process ID When the Record process is terminated by an ExitDIMF key the corresponding process ID is executed as the next step The array lements are defined the same way as in NextSteoForDIMF Intercept 154 VP 894 User s Manual of QueryProp Type CallProp Mode As Integer NextStepPorCallFailure As Integer TargetlIype As Integer End Type Mode If the call is made to an outside number or an intemal station then this item specifies the calling mode The calling modes are defined in the VP894 User s Manual see function Calllocal NextStepForCallFailure Defines the next step process ID to be executed if the calling fails Target Type Specifies whether the calling is made to an outside number an intemal station or a pager There are glcbal constant definitions of these three target types in VP894INC BAS comment called target VP 894 User s Manual 155 type Type SetCtr ParamProp fModified As Integer OffHookDelay As Integer OnHookDelay As Integer InterdigitPause As Integer FlashTime As Integer WaitAnswerDuration As Integer NoSignalTimeO
86. eProcName The previous process name before executing this process PhonePickedUp VP 894 User s Manual 201 Event fired when process Local Phone Picked Up is executed if its property FireEvent is TRUE LH Other Parameters idPreProc The previous process ID before executing this process PreProcName The previous process name before executing this process PostExecutedCall Event fired when call process is finished if its property Tire Post Execution Event is TRUE Other Parameters Ret894Evt The event type returned from VP894 32 DLL Possible event types are EVI NO DIAL TONE EVI CPM COMPLETE Please refer to Chapter 3 API Overview for event type descriptions CallResult If Ret 894Evt is EVI CPM COMPLETE CallResult may be one of the following CPMR NO ANSWER CPMR BUSY CPMR INVALID NUM CPMR USER DEFINED1 CPMR USER DEFINED2 CPMR NO SIGNAL CPMR ANSWER CPMR NO RINGBACK CPMR CALL BEEPER_SUCCESS Ret894Evt is EVI NO DIAL TONE then CallResult is meaningless PostExecutedF lash Evet fired after process Flash is executed if its property Fire Post 202 VP 894 User s Manual Execution Event is TRUE PostExecutedHangUp PostEx
87. ecutedInter lirk Event fired after process Post Execution Event is TRUE PostExecutedPickUp LH PostExecutedQuer y Execution Event is TRUE Other Parameters Ret894Evt One of the following events INTE RC EPT EVT TI Overview for event descriptions ExitDTMF Event fired after process Hang Up is executed if its property Fire Post Execution Event is TRUE Interlink is executed if its property Fire EVI FOP NORMAL Event fired after process Pick Up is executed if its porty Fire Post Execution Event is TRUE Evet fired after prooess Query is executed if its property Fire Post EVI DTME Evt is INT ERC ME OUT Please refer to Chapter 3 API If Ret894 tains RxDTMFs the intercept D EVI DTME EXitDTM F con EPT then F code otherwise it is meaning The DIMF string received by the Query process PostExecutedRecord VP 894 User s Manual 203 SS Post Execution Event is TRUE Other Parameters Ret894Evt One of the following events INTERCEPT EXitDTMF EVT Event fired after process Record is executed if its property Fire EOP NORMAL EVI DTME If Ret894Evt is EVI DTME
88. eene 9 DIP Switch and JUMPEES sii 1 Tstallation JS atada LA Chapter 3 API Overview AN 15 Event Type DEFINE TONS aia 16 Error Code Definitions ees escena eo ease en aa ae eee aane eae ee naa uaa 19 typeCPB Control Parameter Definitions 20 HangUp Parameter Definitions sissies ee ient tee edo nani 21 Chapter 4 API For C DOS eee e eee e eee e eee e 29 APT EUACETONS ME 29 o cp 29 aser dani AA aia 30 Ca AAA sucesseas R 31 DEECETIPALCAM 2 ee ce eee ee eee o eres eet ev teo ete sonata net ede eue foveas 32 lchgeld jods rm 3 3 FAT G UD ii ri it 34 Pl terrere hieu 3 5 PIG ist edeeeretesa da FEE eer esame Tora cede dr Dea 36 RE COU cin p E 37 set DIDMB ri ide 38 AA 3 9 Dial 42 59 sete evssesescevss et eee i vae ve ve save euo s aeo oe Unve Puce v Eee ep NU Neun 40 Am ea 41 jojo E 42 eid cim 43 DSerbbVOenb id a didas 44 EX shEVent 1212 5 2 e cio cea euo eae ninia iaa tii 45 Get CPMPA AM 2 ei cesses etae a aaepe aeuo eva et era annee Rao eaa Rae 46 SetCPMParam 43222 i eec ce eee rapa e pu caa rao nap ce dada 47 CAMEO Ssesesssceecvessessees avec sosseeuv asse esce so aree esse vs en vase eene 48 e UMBr ceder 49 SAM mene 50 GetHu rngUpbPatfd
89. em Busy RecognizeCycle 2 CPMParam PrivateSystem Busy Wave 0 Silence 57 CPMParam PrivateSystem Busy Wave 0 NoneSilence 68 CPMParam PrivateSystem Busy Wave 0 SilenceTolerance 9 CEMParam PrivateSystem Busy Wave 0 NoneSilenceTolerance 12 CPMParam PrivateSystem Ring Type CYCLIC WAVE CPMParam PrivateSystem Ring WaveCount 1 CPMParam PrivateSystem Ring RecognizeCycle 1 CPMParam PrivateSystem Ring Wave 0 Silence 246 CPMParam PrivateSystem Ring Wave 0 NoneSilence 129 CPMParam PrivateSystem Ring Wave 0 SilenceTolerance 40 CEMParam PrivateSystem Ring Wave 0 NoneSilenceTolerance 20 These CPM Parameters define the following signals BUSY Must detect 2 consecutive cycles before recognition ON 544 96 ms OFF 456 72 ms RINGBACK ON 1032 160 ms OFF 1968 320 ms 3 Non cyclic Signals Dial Tone Beeper Acknowledge Tone VP 894 User s Manual 179 CPMParam CentralOffice DialTone Type NONE CYCLIC WAVE CPMParam CentralOffice DialTone WaveCount 1 CEMParam CentralOffice DialTone Wave 0 Silence 0 CPMParam CentralOffice DialTone Wave 0 NoneSilence 125 CPMParam Beeper Type NONE CYCLIC WAVE CPMParam Beeper WaveCount 1 CPMParam Beeper Wave 0 Silence 30 CPMParam Beeper Wave 0 NoneSilence 125 CPMParam Beeper Wave
90. emory from exten memory at A000 EFE ict Please set the 32K f there is no to see if there is a memory EMM386 DOS memory The latter ded memory and uses 64K thes F for page frame If the system have 1 ocations are availabl eand software installed move VP894 s 32K s find out what memory 1 hared memory to a non conflicting location When installing DRV894 EXE it finds only some boards VP 894 User s Manual 65 Double check and make sure all boards use the same shared memory set to the same location RO and their 9 When installing DRV894 EXE it reports that it can t find any IRQ This might be caused by IRQ conflict with another add on card Also make sure that all boards use the same IRQ and only one of them have DIP switch S1 1 set to ON 9 Pulse detection is not very accurate Accuracy of pulse detection depends on a lot of factors such as the line condition the dialing telephone set quality and the background noise level Follow these rules to get better pulse detection results A Don t do pulse detection for long distance calls a phone system B Connect VP 894 directly to CO lines instead of going through 66 VP 894 User s Manual C Avoidnoisy environment on the caller side D Avoidusing hands free telephone set on the caller sick Chapter 5 Clipper API O vecview
91. er s Manual Phone System Consideratim Not all phone systems are compatible with the VP 894 Like a fax machine the VP 894 needs analog phone lines one for each channel Most new phone systems offer options which tum the digital ports into analog ports These options go by many different names such as single line port analog port CPXport and 2500 set campatible port VP 894 User s Manual 7 Hard ware Specificatians On Board CPU Intel 8088 On Board Buffer 256KB DRAM total Shared Buffer 32KB SRAM Voice Data Rate 4 9K 16Kbits second Voice DSP Chip Dallas Semi 2132A ISA 8bit fiz or faster RO Requirement one for all chanrels Max Boards System 16 Start Nethod 600 Ohm 900 Ohm Local Phone Leads Equipped outbound Dialing Pure reception 300H 302H fixed Loop Current 20 120mA Crosstalk Call Progress Monitoring adjacent chamels B Voice Encoding u Law PCM with compression 10 80 non condensing 8 VP 894 User s Manual Chapter 2 Hard ware Installations Before installation VP 894 boards need to be configured properly But before you try to configure a board please find out the following specifications about the host camputer 1 Does it have enough available 16 bit slots for the number of VP 894 boards you are going to install 2 Are there any devices in the system c
92. ers If these VP894 controls also have the same execution flow then you should choose to create a control array When you want to modify the program in the future you should keep Just one control and delete the others Modify that control and then use oopy and paste to re create th other controls 2 You should not use InputBox or MsgBox in your VP894 application program These two functions will block other message transfers until you close them If you use these functions to communicate with the user and VP894 DLL happens to have messages for VP894 controls these messages can not be delivered successfully The right way to camunicate with the user is to use Form to create dialog box 3 When you are debugging the program in the Visual Basic environment and the program execution enters VB s interrupt mode due to the break point that you have set all subsequent events and messages generated by VP894 DLL and VP894CC VBX will be blocked cut by VB for reason of synchronization and event serial ization Therefore when you continue program execution from the break point you may find out that some channels are no longer working due to lost events and or messages This is normal and you may continue debugging with the working channels or re start the VP 894 User s Manual 161 program Questions amp A nswers 1 Visual Basic has problem loading VP894CC VBX
93. eryProp to change a process properties Visual Basic displays an error message box This channel does not exist But the channel number given to SetQueryProp is correct what s wrong Make sure the third parameter PromptList of SetQueryProp is clearly declared as String In order to allow the client application to set the Prompt SetQueryProp prot SetQueryProp is cal List to Null PromptList is declared as ANY in the totype Under normal condition when lled the PromptList address is passed to VP894CC CCX as a 4 byte far pointer This will be no problem if Pramtl ist is declared as String But if PramptList is not declared as String Visual Basic will consider it as a Variant Therefore only 2 bytes are mis interpreting of the fol by default passed to VP894CC OCX resulting in lowing parameters Please refer to th Depulse demo program as a programming example C O N T E N T S Chapter 1 General Descriptions EERIE 1 SOttware SUPPOLE dueto OE E eR CET eee EEES OVERSES 2 Hardware Descriptions ense aan a E eco eaa Lean ae PERRO eue 3 Host Computer Consideration 4 iere e Ire etas tese eas ee nenne 6 Phone System CorsTdetatiloOt distin seer eese erede eee beue reo vp raa 7 Hardware SpecificatlODSs stars 8 Chapter 2 Hardware Installations e eee e eee e
94. es the amount of data transferred between the VP894 and the host carputer hence more lines can be supported in a given host camputer VP 894 User s Manual 1 2 It reduces the amount of data stored on the hard disk hence more messages can be stored on a given hard disk 3 Ina network system it reduces the network traffic because less amount of data needs to be transferred between nodes Software development for VP 894 is made quick and easy by an efficient device driver and a powerful Application Program Interface API supporting C Clipper Visual C Windows and Visual Basic Windows Under proper software control VP 894 can do almost anything that a human operator can do such as answering the phone with a pleasant greeting takingmessages transferring calls via phone systems and providing proper information upon request Actually having a VP 894 based system is like having several operators working together at the sare time The potentials and advantages of a VP 894 based system has no limitations The perfect marriage of computers and telecamunica tions has created a market with hundreds of useful applications It is predicted that this trend of automated telecomunication will completely revolutionize the way we live think and work Software Support The VP 894 software support consists of a memory resident device driver anda library of APT Ap
95. f set to 5 then only energy values larger than 5 will be considered as valid roaring sound amp MinSilentDuration Specifies the minimum silence duration for a valid detection 7 SilentThreshold Specifies the energy threshold for silence For example if it is set to 5 then only energy values smaller and equal to 5 will be considered silence In order to properly set the values for parameters BusyThreshold RoarThreshold and SilentThreshold you must take RecordGain into consideration For the same signal level different RecordGain value 28 VP 894 User s Manual will result in different energy values Therefore a standard RecorcGainmust be determined first and the other ters must be tested under the actual application environment with this standard RecordGain value Chapter 4 API For C DOS API Functions Init894 PURPOSE This functiannust be called to initialize the board before any other function can ke called It clears the event queue and terminates all current opera tias ifary SYNTAX Init8 int Install PARAMETER Install Points to a array of 16 integers Fach integer corresponds to a board number A board is present if its corresponding integer is non zero Fore lt nple if Install 2 Instal1 4 and Install 7 contain non zero values then board 2 4 and 7 are present andwill be initialized
96. ffer with the 32K shared memory The line interface part of VP 894 functions similar to a regular telephone set As a matter of fact you my think of the host carputer as an operator and VP 894 as his telephone set The following functions are supported Ring Detection On hook Local Hangup and Off hock Local Pickup Touch Tone Detection PulseDigit Detection Tone Pulse Dialing Remote Hangup Detection Call Progress Monitoring Remote Pickup Detection Local Channel Interlink Although VP 894 works well when connected to the CO Central Office lines directly it is much more powerful when connected to a carpatible private phone system PBX In this case VP 894 is VP 894 User s Manual 5 usually connectedto the station side of the phone system Depending on the nature of the application an inbound call may be answered by a Live Operator first then transferred manually to VP 8 for further processing if necessary Or in other cases inbound calls are answered and processed by the VP 894 line directly without going through a live operator The VP 894 has a special feature which allows two channels on the same board to be interlinked together Interlinked channels shared the same audio loop and can be used to forward calls For example you can call into channel 0 and tell the VP 894 to make a cutbound all fran channel 1 Tf channel 0 and 1 are in
97. fy the telecomunication flow control In the VP894QC flow control we use process as an execution unit There are 14 different processes 1 Query 2 Record 3 Call 4 Stop Channel 5 Set Control Parameter 6 Interlink 7 Flash 8 Pick Up 9 Hang Up 10 Ringing 11 Local Phone Picked Up 12 Local Phone Hung Up 13 Remote Hang Up 14 Learning Pulse Success There are different properties for different processes but the following properties are cammn to all processes 1 ID The process ID code VP 894 User s Manual 105 2 Type The process type 3 Name The process name which is only used for documentation purpose by the application programmer It may contain a string of any ASCII characters exagot the null character 4 Default Next Step It specifies the ID code of the next process to execute if the current process is terminated normally If this property is blank or 1 it means the next step is to enter the idle state However different types of process may have different definitions for normal termination Please refer to each process description 5 Fire Event Only the following processes have this property Ringing Local Phone Picked Up Local Phone Hung Up Remote Hang Up and Teaming Pulse Success This property indicates whether to fire a VB Event to notify the application program when
98. ger The message must contain any applicable prolog and or epilog such as the key the system will not insert those keys autaratically Called Failure Next Step Speci fies the next step process ID if the calling fails dueto line busy no answer and etc Don t Execute CPM Don t Wait Dial Tone Detect Invalid Number Detect 1st User Defined Signal Detect 2nd User Defined Signal These are the calling modes for calling outside numbers or internal staticns Please refer to the descriptions cn function Calllocal If the calling is successful the subsequent execution flow is determined by Default Next Step If you need to change this process properties dynamically during runtime use function SetCallProp 4 Stop Channel Stops the current process 5 Set Control Parameter This process is used to change certain control parameters at run time For descriptions on the process dspendent properties please refer to Chapter 3 APT Overview 6 Interlink To make break the telephone link between two coupling channels VP 894 User s Manual 109 7 Flash To do a hookswitch flash usually for transferring a call Flash duration is determined by Flash Time 8 Pick Up To pick up the phone 9 Hang Up To hang up the phone 10 Ringing This process is a notification type When an incoming call is detected the VB Bvent Ringing will be fired to
99. h is 0 enter the Record Menu otherwise enter the Play Menu Alt X Quit Fl Toggle between the Append Mode and the Overwrite Mod in the Record Menu No use in the Play Menu Record Menu 1 Channel Number Select the channel to operate Q File Name Same purpose at Ctrl O Enter the proper file name 3 Record Gain Sets input signal gain Use the left right arrow keys to change the gain in a 10 to 10 range The Record Gain may affect the voice quality especially when silence carpression is enabled Try record ingat different gain levels and hear the difference Record Mode VP 894 User s Manual 59 Select a data rate with the left right arrow keys Note that 4 9K and 9 8K are 8K and 16K with silence campression enabled 6 Off Threshold Defines the threshold level for silence Use the left right arrow keys to select a level between 0 and15 This is useful only when silence compression is enabled The Off Threshold will affect the voice quality so play with it and use the best level for you Play Menu 1 Channel Number Select the channel to operate Q File Name Same purpose at Ctrl O Enter the proper file name 3 Play Gain Sets output signal gain Use the left right arrow keys to change the gain ina 10 to 10 range Play Mode Select a playback rate with the left right arrow keys Note that voice q
100. har WaveCount 3 Type a 4 RecognizeCycle typeDutyDuration Wave 6 typeCadence Wave 6 176 Manual Beeper are VP 894 User s Wave 6 contains up to six consecutive Duty Cycles necessary for characterizing the signal These Duty Cycles are of typeDutyDuration as defined below struct _tagDutyDuration unsigned Silence unsigned NoneSilence unsigned SilenceTolerance unsigned NoneSilenceTolerance typeDutyDuration typeDutyDuration contains duration information for silence OFF duration andnon silence ON duration as well as their tolerances They are measured in units of 8 ms Each Duty Cycle consists of an ON duration and an OFF duration Up to 6 consecutive Duty Cycles may ke speci fied in typeCacence to daracterize a certain signal In order to detect a complete Duty Cycle VP 894 compares energy values sampled at 8 ms intervals Each energy value is compared with the previous one If the difference is smaller than 4 then the energy change is considered to be noise and ignored If the difference is bigger than 4 then a state transition fram ON to F or vice versa has occurred Note that we don t use absolute energy values to detect Silence or Non silence because there is no standard energy values to represent them The signal level on telephone lirevariesquiteabit from area to area and from country to country Wa
101. he order simply point the mouse to tre file press the left button on the mouse and drag the file to the new position Note that the voice files are always accessed from the search path specified in the Promet Directory in the VP894CC property Environment If you need to access voice files from a different directory or change the Prampt List at run time use function SetQueryProp Next Step Table Contains the next step process IDs for different remote touch tone inputs and the timeout process if no valid inputs are received during the waiting period for remote inputs In addition to the above two properties and the camon properties Query has the following three properties Exit DTMF Specifies which touch tone key is used to terminate the remote input before entering enough touch tones For example if upto 6 digits are to ke entered the caller may enter only 3 digits followedby the Exit DIM key This will terminate the Query process and move on to the next step process Most applications use the and or key for this purpose You may enter the setting directly into the edit control of Exit DIMF or use the phone symbol nearby the VP 894 User s Manual 107 pressed down keys are the settings Accepted DTMF Selects which touch tone keys are acceptable for input You may enter the selections directly in the edit control of
102. hen AcceptDIMF E DTMFO0 or E DTMF1 or E DIMF2 ExitDIMF Defines which DIM keys can be used for terminating the Query S process The key definitions are the same as in AcceptDIMkE DTMFAmount Specifies the maximum number of DIMF keys to be received NextStepForDTMFIntercept 0 to 15 This integer array has 16 elements each contains a process ID When the Query process is terminated by an ExitDIMF key the corre VP 894 User s Manual 217 sponding process ID is executed as the next step The mapping table is as following NextStepForDIMFTntercept DTMF Key O 0 1 di Q 2 Q 3 Q 4 0 5 6 6 7 8 8 9 9 Q0 A 1 B 218 VP 894 User s Manual ann DU C D G 5 NextStepForTimeOut Defines the next step process ID if receiving DIMF input is incamlete before timeout Type RecordProp ExitDIMF As Integer Length As Integer Next StepForDIMF Intercept 0 to 15 As Integer End Type ExitDTMF Defines which DIMF keys can be used for terminating the Record process The key definitions are the same as in AcceptDIMF of QueryProp Length Specifies the maximum recording time in seconds If set to 0 there VP 894 User s Manual 219 is no tire limit NextStepForDIMFInterce
103. includes the VP894 VxD for ring O and the VP894_32 DLL for ring 3 Since the VP894 32 DLL coop erates with the application program through exported function it can be interfaced with any programming language which supports DLL s exported function and can retrieve Windows scheduled message This 32 bit API contains mostly the same functions as the 16 bit version see Chapter 6 for 16 bit API except for the following two additional functions which must be called respectively at the beginning and the end of the application program Init894Dr wer PURPOSE To register to the VP894 32 DLL as a client application and allow the VP894 32 DLL to do its initialization At most 16 applications can be registered at the same time each given a different registration number This function must be called successfully before calling any other functions SYNTAX Init894Driver PARAMETER None RETURNS 0 is retumed if all 16 slots are already taken Otherwise the registration number is returned EVENT TYPE None VP 894 User s Manual 183 Close894Dr ver PURPOSE To un register to the VP894 32 DLL and allow the VP894 32 DLL to do same clean up This function must be called at the end of the program SYNTAX Close894Driver PARAMETER None RETURNS 0 failed or non zero successful EVENT TYPE None 184 VP 894 User s Manual The VP894CC OCX works under Windows 95 only and is compat ble with Visual BASIC 5 00 and
104. ined Typ CPM Param to store new CPM VP 894 User s Manual 147 parameters GetRemoteHungUpParam VP894 Param Get the current Remote Hungup parameters VP894 VP894CC s control object Param This is a User Defined Type HungUpParam to store the current 148 VP 894 User s Manual Hungup parameters SetRemoteHungUpParam VP894 Param Set new Remote Hungup parameters VP894 VP894CC s control object Param This is a User Defined Type CPM Param to store new Hungup VP 894 User s Manual 149 parameters GetToneDetectParam VP894 Param Get the current Tone Detect parameters VP894 VP894CC s control object Param This is a User Defined Type ToneMonitorParam to store the 150 VP 894 User s Manual current Tone Detect parameters SetToneDetectParam VP894 Param Set new Tone Detect parameters VP894 VP894CC s control object Param This is a User Defined Type ToneMonitorParam to store new Tone VP 894 User s Manual 151 Detect parameters User Def ined Data Types lype QueryProp AcceptDIMF As EXitDIMF As I Integer teger End Type AcceptDTMF DIMFAmount As NextStepF orDIM NextStepForTimeOut As Integer Integer Intercept 0 to 15 As Integer tab Defines which DIMF keys are accept integer represents one of the 16 DI input Each bit in this following glob
105. interface program we must use standard type parameters Therefore user defined parameters must be converted to OLE Handle first For your convenience we provide a Visual Basic Module with some conversion functions to convert between OLE Handle and user defined parameters There are two kinds the first kind is Memory Allocation Functions and the second kind is Memory De allocation Functions Here are their descriptions Memory Allocation Functions Function QueryPropToHandle Prop As QueryProp As Long This function will allocate a memory buffer to store the QueryProp parameters It will return the Handle to the memory buffer if the allocation is successful If the allocation fails it will return O Except for the parameters being different the following functions work the same way Function RecordPropToHandle Function CallPropToHandle Function SetCtrlPropToHandle Function ChParamToHandle Function CPMParamToHandle 186 VP 894 User s Manual Function GetHandle MemSize As Long As Long Sometimes when calling OCX method with simple settings we dont need to change the user defined parameters in the method In this case we can call GetHandle to get an OLE Handle first then use this Handle to make GetXXX method and SetXXX method Please note that when an OLE Handle is no longer needed it should be released by calling FreeHandle or HandleToXXXProp Memory De allocation Functions FreeHandle Handle This function releases memor
106. l phone is usually enabled when the application calls for ar line conversation monitoring and or recording In this case the VP 894 is connected to both a outside line and a local phone The following diagram shows how to make the connections Since the incoming ring can no longer be detected by the computer the calls 12 VP 894 User s Manual e LOCAL PHONE PICK UP DETECT VP 894SMD REV A LED3 LED2 LED1 LEDO YELLOW 4ANIRE RJ 11 TELEPHONE CORD Figure 3 Local Phone Connection Diagram VP 894 User s Manual 13 are usually answered manually or the application involves only outbound calling 3 Expansion Connector JP1 JP1 is used to connect the VP 894 to an optional add on card such as the EX24 and the EX2424 Refer to Chapter 8 for more on the EX24 and the EX2424 information 4 I OPort Selection The VP 894 s 1 a different address is desired Installation Tips 2 Make sure there is no IRQ or 1 TRO and The O port is fixed at 300H 302H Please contact us if 1 Double check all switch Jurper settings before installing a board Incorrect settings may cause damages to the board O address conflicts in the system O address used by the VP 894 can not be shared by any other devices 14 Manual VP 894 User s 3 Handle boards with care Discharge yourself first and
107. lication Program Procedure Please don t input any selection until the system message is over event type EVT LEARN PULSE SUCCESS gt received NO lt _ Timeout ls YES Y Sorry your input can not be recognized please call from another telephone Pulse Digit Detection Flowchart 56 VP 894 User s Manual the DIM quae the only way to know if a certain digit is a pulse digit instead of a DIM digit is to set this parameter to TRE Related EVENT TYPE EVT LEARN PULSE SUCCESS Event sent when a pulse digit leaming is successful EVT DETECT PULSE Event sent when a pulse digit is detected The control parameter MonitorPulse must be set TRUE in order for this event to ke sent The ASCTT code of the detected digit is stored in the event structure s member Data Same notes on the pulse digit detection 1 Do not change the record gain after pulse digit detection is completed successfully If the record gain is changed the energy level of the following pulse digits will also be changed and the detection may not be accurate 2 The pulse digit can not be properly detected when the system is playing a message Therefore the VP 894 firmware will automati cally disable the pulse digit detection during any message playback UTY894 EXE UIY894 EXE
108. low based on same runtime conditions youmay use VP894CC Method function SetNextStep When the event procedure is finished and program control returns to VP8940C the new process will be executed The only exceptions are event DetectDIMF and event DetectPulse in these two event procedures you can not change the process flow by using SetNextStep There are three factors affecting the VP894CC process flow at runtime inthe followingpriority order first factor has the highest paandty 1 VP894CC property Active changed from FALSE to TRUE 200 VP 894 User s Manual 2 Execute SetNextStep at runtime 3 Next Step process pre defined in Flow Editor at design time Tf all three factors occur at the same time VP894CC will execute the process ID specified in AutcExecProc since factor 1 has the highest Other than the three parameters described above there are also event specific parameters as described in each event s description below DetectDTMF Event fired when any DIMF input is detected if CtrlParam MonitorDIMF is enabled Other Parameters DTMF The ASCII code of the detected DIMF PhoneHungUp Event fired when process Local Phone Hung Up is executed if its property FireEvent is TRUE Other Parameters idPreProc The previous process ID before executing this process Pr
109. lowing way VB C CPM Param typeCPMParam SignalOnLine typeCadenceType CadenceChar typeCadenc DutyDuration typeDutyDuration Note that two members in typeCadence WaveCount and Type are declared as unsigned char in C APT But Visual Basic does not provide similar declaration in its User Defined data type Therefore in CadenceChar we use the member Feature to represent th combination of WaveCount and Type For example the correct way to specify a signal in the CPM parameter to be CYCLIC_WAVE with 3 different duty duration in a cycle is Feature 3 CYCLIC_ WAVE Please refer to Appendix A CPM Principles for more 158 VP 894 User s Manual details on the CPM parameters lype HungUpBusy Varieties As Integer WaveDuration 0 To 4 As DutyDuration End Type lype HungUpParam Busy As HungUpBusy MinBusyDuration As Integer MinRoarDuration As Integer BusyThreshold As Integer RoarThreshold As Integer MinSilentDuration As Integer SilentThreshold As Integer End Type These two User Defined data types are used to define remote hungup parameters for the VP894 They correspond to the C API s hungup related data structures in the following way VB C HungUpParam typeHungUpParam HungUpBusy typeHungUpBusy Please refer to the C API section in this manual for more details on VP 894
110. lt directory where recorded voice files are stored 3 Auto Executed Step After Enable Specifies the process ID which must be executed autamatically if process property Active is set to TRUE To change this option at run time use property AutoBxecProc VP 894 User s Manual 111 4 Visible At Runtime Indicates whether the VP894 control symbol and status will be displayed at run time Active Design Time NA Run Time RW This property consists of a Boolean integer array of 4 elements each representing the status of a corresponding channel When Active 112 VP 894 User s Manual is set to FALSE the channel enters the idle state When Active is changed from FALSE to TRUE the process I D if valid specified in AutcExecProc will be executed automatically AutoExecProc Design Time NA Run Time RW This property consists of an integer array of 4 elements each VP 894 User s Manual 113 contains the process ID to he executed automatically upon start up of a corresponding channel Please refer to the cescriptions above for the property Active CPMParam Design Time RW Run Time NA If you selected this property in the properties box a dialog box will pop up and show the default values for CPM parameters You may 114 VP 894 User s Manual modify them as needed For descriptions on the CPM parameter
111. m const typeCPMParam CPMParam PARAMETER CPMParam Points to a buffer of typeCPMParam See function GetCPMParam for more details VP 894 User s Manual 47 RETURNS EVENT TYPE Calllocal PURPOSE SYNTAX PARAMETER RETURNS 48 Manual 0 successful or error code None To call an internal PBX extension on the speci fied charmel This function will do a pick up first if the Line is current mho CallLocal int ChNum const char TargetNum unsigned Mode TargetNum Points to a digit string storing the number to be called Mode Specifies one or more of the following calling modes bitwise ORed together CM_NO_DO_CPM don t do CPM CM NO WAIT DIAL TONE don t wait for dial tone CM_DETECT_INVALID_NUM detect in valid number CM_DETECT_USER_DEFINED1 use user defined CPM parameters 1 CM_DETECT_USER_DEFINED2 use user defined CPM parameters 2 The default Mode Mode 0 is do CPM use PrivateSystem CPM parameters wait for dial tone don t detect invalid number O successful or error code VP 894 User s EVENT TYPE EVT NO DIAL TONE EVT CPM COMPLETE CallRemote PURPOSE Tocallan outside number on the specified channel If control parameter LineToPRX is set to 1 the system will dial control parameter OutsideLineAccess code firs
112. m itself 22 DetectRemoteHangUpAlways Determines if Remote Hangup Detection should be enabled at all times after pickup TRUE or FALSE Note that this parameter and DetecthemoteHangUpWhenRecording can not be both TRUE at the same time but they can be both FALSE Remote hangup is detectable only if when remote hangup occurs at least one of the following is true 1 A busy tone alternating sound and silence is heard 2 A roaring sound continuous sound is heard 3 A reverse voltage signal is received 4 The line has recorded silence for a certain period of time If this function is enabled at least one of the following control parameters should be set TRUE 1 DetectBusyRemoteHangUp 2 DetectRoaringRemoteHangUp VP 894 User s Manual 25 3 DetectVoltReverseRemoteHangUp 4 DetectSilentWhenRecording Note Avoid using this function as much as possible because the system is more likely to get confused when Remote Hangup Detection is always enabled If you must use this function test your application program under different line noise conditions 23 DetectBusyRemoteHangUp Determines if busy signal should be detected as an indication for Remote Hangup TRUE or FALSE 24 DetectRoaringRemoteHangUp Determines if roaring sound should ke detected as an indication for Remote Hangup TRUE or
113. may not apply to private phone systems or other countries Central Offices Since there is no universal ringback cadence good for all phone Systems we have to supply the cadence parameters of our target phone system to VP 894 For same applications the system may interface with several different groups of ringoack cadence For xample when we do a call transfer within a PBX system we use the PBX s cadence parameters But when we make a outbound call we have to use the Central Office s cadence parameters If this outbound call is to a beeper we also have to know the pager s acknowledge tone in order to confirm that the paging is successful VP 894 User s Manual 175 The VP 894 s device driver allows you to specify two groups of ringback cadence one for the Central Office and one for a private phone system Additionally you may also specify the acknowledge tone of a beeper These ringback cadences are part of the CPM Parameters and the data structure is as the following Structure Name typeCadenceType typeCadence CentralOffice Ring typeCPMParam The above diagram s Busy T InvalidNum PrivateSystem Ring Busy Inval DialTone User DialTone UserDefinedl UserDefined2 LidNum Definedl User Defined2 Beeper and all of typeCadence typeCadence is defined as struct _tagCadence unsigned char unsigned char unsigned char unsigned c
114. me would not be fixed at same address hroughout the lifetime of application These memory doject include ariables and array declared PUBLIC PRIVATE LOCAL and tc VMM will move them to collect the fragmented free memory between allocated memory or swaps the least recently used memory todisk if necessary a A lt 0 In the VP894 API same event driven function expect parameter passed with reference to string we can t just use the reference to finish the task of called function like in C remember that event driven function operation is still progressing after execution retum back to the calling routire because the reference will nct be valid after returning back to Clipper However there is a Fixed Memory Allocator in Clipper which can help us to solve this problem But it causes additional burden to application to pay attention on de allocating these fixed memory see function GetDTMF and ReadReceiveDIMF explanation for details The API Return Code There is only a new return code ERR894 NO FIXED HEAP AVAIL included in VP894 s Clip per APT ERR894 NO FIXED HEAP AVAIL The virtual memory manager in Clipper finds no available memory in fixed heap that can be allocated VP 894 User s Manual 69 For the other AP return codes please refer to the C API The
115. method for pulse digit detection This method can achieve a very good detection rate under a wide range of signal variations because the system actually leams the pulse timing for each and every call that it receives The only requirement is that the caller must dial a 9 ora 0 first for the systento leam Please refer to the Pulse Digit Detection Flowchart diagram The demo program DEPULSE C shows how to implement the pulse digit detection We recommend that you copy a section of or the whole program into your own program If you must write your own routines please follow the Pulse Digit Detection Flowchart closely to assure problem free integration with the APT Related Parameters in typeCPB LearnPulse This parameter specifies whether to lam and detect pulse digits The default value is FALSE Tf this parameter is set TRUE the fimware an the VP 8 will try to lam pulse digit according to the Pulse Digit Detection Flowchart Therefore the application program must implement the pulse digit detection accordingly MonitorPulse This parameter specifies whether to send an EVI_DETECT_PULSE event to the aplication program when a valid pulse digit is detected The default value is FALSE Since the cstected pulse digit is stored in VP 894 User s Manual 55 Please dial 9 for our system to learn your dialing characteristics Start App
116. mp WINDOWS iiscoditosidnioitnniiscnida rn naa FEN n aA 166 EX ANTTIA 222222122255 0 2 5 tote ee eee aepo eddie 166 EX OPENAD Tn noii eroe erroe aiii 166 EX CONNECI ii ties 167 bx DLS CON inet nda 167 EX STATUS aiii is 167 PSI AA Ue eee ea ei ea eu Eae NE Te PR SERE ES 167 Questions ANS ts 169 EX 2424 Analog Audio Multiplexer esee 170 T O Base Address Selection eerte ir LLO APT for DOS amp WINDOWS 21221 R Ieri nuu Dro tea tias 17 EX INEEIAT aii eoe coves E vo eno eos aa agus ad eae ciun 171 EX OPENA DE 4 ec see dete ee vue cute eue oe eu neenon eame Pine nnm e E e equ eN 171 BEX GONDNEGCI 4z22 2 219 294 5 ici 1 52 EX DAS CON rer TI 172 Ex STATUS iii 172 DEMO Programs EU E 172 Questions E ANSNES tears 173 Appendix A CPM Principles ecce eee eee eee e eee eene 175 Appendix B Energy Record Examples 181 Chapter 9 Visual C 32 Bit APT ccce eeeeee eee nennen 183 TOTES anses 183 CLOSES IB ia p 184 Chapter 10 Visual Basic OCX eee ee eee ee ee eee 185 Active X Custom Gont Ol 9 5 etes otio r eor ineo eo Uere ose ces 185 VP8S94CC OOX PEODOEETGOS a nee e eerte eee eia 189 uci M 189 EBdaptersNumbGEt asocian ina eee ova des eee aseo ve a a 190 CELDA EU 190 ETOWECIEDO Rm 191 AC Ve LI da is 198 PS bisfald relr ao cM PETIERE 198 CPMPA PAM ee
117. n select VP894CC VBX in the dialog box If no error occurs in the above steps the following icon will appear in You will the ToolBox This icon represents VP894 custom control also need to use Add File to add code module VP894INC BAS In this file there are definitions of VP894CC related global constant user defined data type and APT function prototype declaration with its st Each VP894 control placed on the fom represents a VP894 adapter tatus indicated by one of the following two icons At design time it means the adapter is free At nn time it means the adapter has been allocated to the application program VP 894 User s Manual 103 At either design time or run time it means the adapter does not exist or has been allocated to another task Note that these icons may be tumed on or off at run time by setting the Visible At Runtime an environment property of VP8940C to TRUE or FALSE Please refer to the descriptions on environ ment in later sections for details Properties The following adoreviatios represent the accessibility of a property at design time or run time RW read write RO read only Wo write only NA not available Status Design Time RO Run Time RO Status is an integer which indicates the current status of a VP894 catol Its value range is fran 0 to 2 with the following cefini
118. nce Tolerance RETURNS 0 successful or error code EVENT TYPE None SetCPMParam PURPOSE To set CPM parameters SYNTAX SetCPMI Param CPMI Param PARAMETER CPMParam See the explanation of parameter in VP 894 User s Manual 79 GetCPMParam RETURNS 0 successful or error code EVENT TYPE None GetHungUpParam PURPOSE SYNTAX PARAMETER nun nun nun nun nun nun nun nun nun nun 2 12 2 2 12 iO 2 9 o i 2 To get current Hung Up parameters GetHungUpParam HungUpParam HungUpParam An array with 27 elements used to store Hung Up parameters The Hung Up param eters specify the characteristics of disconnect signal on the telephone line after the caller hangs up InG this parameter is a reference toa struct data type typeHungUpParam There is a one to one mapping for the HungUpParam array Param pParam pParam Param pParam Paran pParam pParam pParam pParan pParam 11 pParan nun 80 Manual O00 pParan Param Param n 1 MinBusyDuration 2 MinRoarDuration 3 BusyThreshold 4 RoarThreshold 5 MinSilentDuration 6 SilentThreshold 7 Busy Varieties 8 Busy Cadence 0 Silence 9 Busy Cadence 0 NoneSilence 10 Busy Cadence 0 SilenceTolerance Busy Cadence 0 NoneSilenceTolerana 24 Busy Cadence 4 Silence
119. nly OWNER 0 OWNER 15 and OWNER ALL are valid These constants may be bit wise ORed to request multiple boards Note that OWNER ALL can be used to request all free boards in the system I Manual RETURNS 0 successful or error code EVENT TYPE None Close894 PURPOSE To release all allocated resources back to the pool and do necessary house keeping work before program termination SYNTAX Close894 int inst PARAMETER Inst The instance identifier dotained fran calling function Init894 88 VP 894 User s Manual RETURNS 0 successful or error code EVENT TYPE None OpenVoicFile PURPOSE Toqeawic file SYNTAX OperVoiceFile IPSTR filename long startpos PARAMETER UINT fuMode filename The filename to open startpos After the file is opened move the fil pointer to this positi fuMode The file open mode This parameter is exactly the same as the third parameter in OpenFile which is a Windows API function Please refer to the Windows SDK manuals for more information VP 894 User s Manual 89 RETURNS Same as returned from OpenFile EVENT TYPE None CloseVoiceFile PURPOSE Toclosea file SYNTAX CloseVoiceFile int inst int ChNum PARAMETER inst The instance identifier ChNum The relevant channel number 90 VP 894 User s Manual RETURNS 0 successful or error code EVENT TY
120. ompeting with VP 894 for I O address or IRQ If so can you do without those conflicting devices or can they be moved to another I O address or IRQ Otherwise VP 894 can not be installed 3 Is the systembig available disk space and fast both CPU speed anddisk transfer rate enough for the application A 16 line setup usually requires at least a 12 MHz 286 system with adequate disk speed and space However this issue may have to be handled with a trial and error approach 4 Does the system have enough available system memory for the application program Once the above requirements are met the host camputer is ready for installation of VP 894 boards The last step before the physical installation is to configure the board properly The configuration is fairly simple Basically every VP 894 board in the system should have an unique board number and a common shared memory location Then an IRQ is chosen for all the boards inthe system Another setting is to enable disable the local phone fuctia VP 894 User s Manual 9 W14 16 18 20 w9 W13 151719 W11 VP 894SMD REV A Figure 2 VP 894 Switch and Jumper Locations 10 VP 894 User s Manual DIP Switch and Jumpers 1 DIP Switch S1 Definitions S1 1 Set to ON if there is only one VP 894 board in the system If there are more th
121. one of above condi tions is met The VB Events are Ringing PhonePickedUp PhoneHungUp RemoteHangUp and LearnPulseSuccess re spectively 6 Fire Pre Execution Event The following processes do not have this property Ringing Local Phone Picked Up Local Phone Hung Up Remote Hang Up and Pulse Learning Success This property determines whether to fire a VB Event PreExecuted to notify the application program about the process to ke executed 7 Fire Post Execution Event The following processes do not have this property Ringing Local Phone Picked Up Local Phone Hung Up Remote Hang Up and Pulse learning Success This property determines whether to fire an VB Event PostExecutedxxx xxx stands for different process types 106 VP 894 User s Manual to notify the application program about the process which has been executed Now we will describe the properties unique to each process 1 Query Query is used to play one or more voice files while receiving touch tone inputs If you use the New button in the Flow Editor to create this process the following two dialog boxes will be displayed on the Windows desktop Prompt List and Next Step Table Prampt List Used to select the voice files to be played The order in which the files are listed in the Prompt List will be the order the files are played If you want to change t
122. plication Program Interface functians The memory resident device driver must be installed before running the application program For the most part the device driver is hidden behind the APT and software developers need not to learn much about it Although it is possible to write your own device driver we highly recammend using our device driver since it makes no sense to re invent the wheel If you are using another operating system and therefore have to write your own device driver youmay contact us for more information 2 VP 894 User s Manual The API library supports the following programming languages DOS Microsoft C 7 00 and above DOS Borland C 2 00 and above DOS Clipper 5 01 and above Windows DLL support Windows VBX support The DLL support VP894 DLL is basically campatible with any language capable of cal ling DLL export functions But since the events are sent through t the Windows messaging system you must make sure that the language you use allows the application program to receive messages fram the Windows The VBX support VP894CC VBX is a standard Custom Control Although many languages claim to support VBX most conform to Visual Basic Custam Control 1 00 specification instead of the 2 00 specification which VP894CC VBX supports So make sure the language you use support
123. ported 1 Busy Cadence Type alternating silence and sound 2 Roaring Scund Type continuous sound 3 Continuous Silence Type continuous silence The following parameters define the above three signals Note that when selecting a threshold value e g BusyThreshold you must take the RecordGain into consideration because the same signal will yield different energy values for different RecordGain 1 Busy Busy defines the cadence of a busy signal in a data structure of typeHungUpBusy as the following ut tagHungUpBusy it Varieties typeDutyDuration Cadence 5 typeHungUpBusy Where Varieties specifies howmany different kind of busy signals are to be detected Maximum value is 5 Cadence defines th cadence information of the different busy signals Please refer to Appendix A CPM Principles for descriptions on typeDutyDuration 2 MinBusyDuration Specifies the minimum busy cacence duration for a valid detection 3 BusyThreshold VP 894 User s Manual 27 Specifies the energy threshold for busy cadence type signals For example if set to 5 then energy values larger than 5 will be considered on duty and energy values smaller and equal to 5 will be considered off duty 4 MinRoarDuration Specifies the minimum roaring duration for a valid detection 5 RoarThreshold Specifies the energy threshold for roaring sound type signals For example i
124. progra ST ADAPTER issue this event to other application programs release some VP894 resources ReleaseAdapter to do so 84 Manual tControl to take over resource handLing m needs more VP894 resources it may Tf other progrems can they may call function VP 894 User s 3 EVT FREE ADAPTER Whan an application program receives this event it means that sare other programs have released some VP894 resources These r leased resources may be claimed by calling function AddAdapter When an application program terminates it must call function Close894 to release its resources and etc Therefore it is not necessary for the terminating program to call function ReleaseAdapter before calling function Close894 For the above three events there is no definition for the Issuer As for the Event Data it is the corresponding board number for events EVT REQUEST ADAPTER and EVT FREE ADAPTER and no definition for event EVI SET CONTROL Error Code Definitions These are the error codes for the Windows APT in addition to the ones defined in the DOS APT 1 ERR894_INSTALL_NONE Can not find the VP894 DLL 2 ERR894 IRQ NOT FOUND Can not find VP894 s IFQ setting 3 INCOMPATILBE FIRMWARE The firmware version on VP894 is not compatible with the API 4 ERR894 WINDOWS ERROR ALLOC SELECTOR Can not allo
125. pt 0 to 15 This integer array has 16 elements each contains a process ID When the Record process is terminated by an ExitDTMF key the corresponding process ID is executed as the next step The array lements are defined the same way as in NextSteoForDIMF Intercept of QueryProp Type CallProp Mode As Integer NextStepForCallFailure As Integer TargetlIype As Integer End Type Mode If the call is m to an outside number or an inside station then this item specifies the calling mode The calling modes are defined in Chapter 4 API for C see function Calllocal NextStepForCallFailure 220 VP 894 User s Manual Defines the next step process ID to be executed if the calling fails Target Type Specifies whether the calling is made to an outside number an internal station or a pager There are glcbal constant definitions of these three target types in VP894INC BAS comment called target ty Type SetCtr ParamProp fModified As Integer OffHookDelay As Integer OnHookDelay As Integer InterdigitPause As Integer FlashTime As Integer WaitAnswerDuration As Integer NoSignalTimeOut As Integer RingsToAnswer As Integer Off Threshold As Integer PlayMode As Integer PlayGain As Integer RecordMode As Integer RecordGain As Integer End Type
126. ptList as following PromptList C NPATHINVOICEI Str 32 D PATH2 VOICE2 Str 32 E PATH3 VOICE3 Str 32 QueryInfo This is an OLE Handle pointed user defined type QueryProp variable in which the new property information is stored GetRecordProp ProcString QueryInfo Get a Record process property information Parameters are ProcString The target process ID or process name RecordInfo This is an OLE Handle pointed user defined type RecordProp variable in which the property information is to be stored SetRecordProp ChNum FileName RecordInfo VP 894 User s Manual 209 Set the next process to be Record and also set its properties Parameters are ChNum The target channel s local nunber ranging from 0 to 3 FileName The filename for the recorded file RecordInfo This is an OLE Handle pointed user defined type RecordProp variable in which the new property information is stored GetCallProp ProcString Call Info Get a Call process property information Parameters are ProcString The target process ID or process name RecordInfo This is an OLE Handle pointed user defined type CallProp variable in which the property information is to be stored SetCallProp ChNum CalledNumber CallInfo Set the next process to ke Call and also set i
127. r EN 198 HUNGUPPRA EG essene deese eeu eee euo nane aes vo e anno sles 198 ToneDebectBPa Eam iecit isis essi osea usua ar EE EEr ETEEN 199 Avai lable MC 199 VP894CCOCX EVENES editan eiaa 200 DEBCECEDIME isis ee coto eaa eo eene ii e gu a aaa OO 201 PhguetutigUp4 nimqsseeseeexcereseeete ee ese t eese see eS poer NS 201 PRoneBLCkUpP aii cias 201 PostExecutedCall 1 1 1 Ld iet iaiia 202 POSEEXEGUEEGE LAS i62 a a 202 PostbxecutedHatqUp 4 eevede ee eeeevsesseeeteeenss evo Seen To aene 202 PostExecutedTrnterlink 32 2 eene tero seno e era aa nn pn e 202 PostExecutedPickUp 2 a eee ee ee en es ono sido nea ae aer ausus 203 POSUEXeCULGOQUGEYy es eese eeu ee evan Fue aepo Seu asar 203 PostExecutedRGGCOEG ide ie tdi 203 PostExecutedSetCtrlParam i eiii aieo cesta ssiri 204 PoStbxec bedStopGOb eee ee ee ein tecnicas liada res 204 PreEXGeCUEbGd 1 5 ternera e a 204 RINGING MR 204 DetectPulse u1u 26er veras a 205 LoarnPubseSuGCGSS eee es aeneus eo e eren o es eee e SR aee e Eae aae 205 RemoteHangUp Geieeeed cse ee eso ee eoe oe Foe a ee oS e e Eee Eno 206 NEMUS PER 206 TONEPLESENCE Rm 206 Method Functions sede erra Eee eee Exe dis 207 GESEQUETYPLO eee e eeve ee ia riot 208 Setu ry PrOD aos 208 GetRECOrAPrOP dr 209 SGERGCOEGPEOD i eee eee de ean eee e en ae oe enne Neo ae osa eeu sao ee Enn 209 GSE Cad IP EODT ei ote vec
128. r s Manual 63 count If specified VP 894 will call count number of cor secutive phone numbers starting from phone num If there are more than one VP 894 board installed in the system CALLOUT will always use the board with the smallest board number Only one line will ke making phone calls specified with the n option and other lines will ke playing TEMP VOC must be present in the current directory to simulate a heavy workload situation Also if a remote answer is detected you must type any key on the keyboard to continue on dialing the next number If the CPM results are not accurate refer to Appendix A CPM Principles and experiment with different CPM Parameters in CALLOUT C Also the program defaults to LineToPBX TRUE you must change it if you are not making outside calls fram a PRX INTRLINK EXE This program demonstrates how to use the SetInterLink function To test this program call into any interlinked channel in the system and enter a third party number The system will then use the other interlinked channel to call the third party When the third party answers the call you can talk directly to the third party Before running this program make sure the following files exist in the current directory WAIT VOC QTELNUM VOC and FAIL VOC To run this program enter INTRLINK options pg Set the play gain 1
129. rameter 0 CPMR CALL BEEPER SUCCESS Pager calling was successful 18 VP 894 User s Manual 14 EVT LINE ROARING REMOTE HANG UP A roaring sound has been detected as an indication of Remote Hangup 15 EVT LINE BUSY REMOTE HANG UP A busy signal has been detected as an indication of Remote Hangup 16 EVT LINE VOLT REVERSE TOGGLE A reverse voltage signal has been detected Many telephone ex change systems provide this signal as an indication of remote hangup but there are same that don t So make sure this signal is provided if you are going to use it to detect remote hangup Note that same telephone exchange systems send reverse voltage as a signal for remote answering In order to avoid wrong detection results wait until the call functions Calllocal and CallRemte are camplete before activating the remote hangup detection Or disable the StopOperationRemoteHangUp control parameter tempo rarily so that the line will not be disconnected by mistake 17 EVT LINE SILENT A minimum period of silence on the line has been detected 18 EVT DISPOSE PCM DATA If the host camputer is not fast enough to handle the data I O in sare situations the event queue may became full and start to overflow hen this happens some events are lost and the system could mal function or even lock up In order to avoid this disaster the data frame causing the
130. rty Fire Event is set 14 Iearning Pulse Success This process is anotification type In order to create this process the Learn Pulse parameter in CtrlParam must be checked first After the pulse learning is campleted successfully the VB Event learmPulseSuccess will be fired to notify the apgolication program if process property Fire Event is set Active Design Time NA Run Time RW E his property consists of a Boolean integer array of 4 elements each representing the status of a corresponding channel When Active is set to FALSE the channel enters the idle state When Active is changed from FALSE to TRUE the process ID if valid specified in AutcExecProc will be executed automatically AutoExecProc Design Time NA Run Time RW This property consists of an integer array of 4 elements each contains the process ID to be executed automatically upon start up of a corresponding channel Please refer to the descriptions above for the property Active CPMParam Design Time RW Run Time NA This property page is used to set the default values for CPM parameters For descriptions on the CPM parameters please refer to the C API function GetCPMParam and Appedix A CPM 198 VP 894 User s Manual Principles for more ctails HungUpParam Design Time RW Run Time NA This propert
131. s please refer to the C API function GetCPMParam and Appedix A CPM Principles for more details HungUpParam Design Time RW Run Time NA If you selected this property in the properties box a dialog box will pop up and show the default values for the Hungup Detection VP 894 User s Manual 115 parameters You may modify them as needed For descriptions on the Hungup Detection parameters please refer to the HangUp Parameter Definitions in Chapter 3 API Overview PromptDir Design Time NA Run Time RO 116 VP 894 User s Manual This property consists of a character string storing the search path for the pranpt voice files It is the same as in the Prompt Directory of property Environment RecordDir Design Time NA Run Time RO VP 894 User s Manual 117 This property consists of a character string storing the search path for the recorded voice files It is the same as in the Record Directory of property Envlronment Events All VP894CC events have two common parameters ChNum and idCurProc ChNum is the local channel number firing the event The range of ChNum is from 0 to 3 designating the four channels of a VP894 control To get the global channel number as defined in VP894 User s Manual simply multiply the AdapterNumber by 4 and add the ChNum idCurProc is the current process ID when the event is fired When you
132. s picked up 8 EVT LOCAL PHONE HUNG UP N A when the local phone is disabled Local phone is hung up 9 EVT DETECT DTMF A valid DIMF is received 10 EVT REPORT ENERGY An energy report is received VP 894 User s Manual 17 11 EVT PCMIO ERROR File I O error for the current record and playback function When this happens the current operation continues but may be stoed by calling Stop 12 EVT NO DIAL TONE Outbound calling aborted due to no dial tone 13 EVT CPM COMPLETE Outbound calling completed with one of the following CPM results defined in API894 H if CPM was enabled The CPM result is stored in the Data field of structure typeEvent The data stored in typeEvent can be retrieved by calling function GetEvent CPMR NO ANSWER Normal ringoack was detected but not answered within the time period set in WaitAnswerDuration control parameter Q CPMR BUSY Line busy was detected Q CPMR INVALID NUM The number was invalid 4 CPMR USER DEFINEDI1 CPMR USER DEFINED2 User defined CPM cadence 1 or 2 was detected O CPMR NO SIGNAL No signal was detected within the time period set in the NoSignalTimeOut control parameter 0 CPMR ANSWER The call has been answered CPM NO RINGBACK No ringback was detected within the time period set in the WaitAnswerDuration control pa
133. s pressed down Accepted DTMF Selects which touch tone keys are acceptable for input You may enter the selections directly in the edit control of Accepted DIME or use the phone symbol nearby the key is enabled if it s pressed down DTMF Amount Sets the maximum number of touch tones to receive 2 Record Record is used to record a voice file If you use the New button in Flow Editor to create this process a Next Step Table dialog box will be displayed on the Windows desktop This property has the same definition as the Next Step Table property in Query There are three cther properties 194 VP 894 User s Manual Exit DTMF Has the same definition as the Exit DIME in Query Length Specifies the maximum recording length File Name Contain the rame of the voice file Note that unlike the VBX version the OCX version always specifies the voice files with a absolute search path At runtime if you must dynamically modify the Record properties you may use VP894CC s Method function SetRecordProp The Default Next Step of this process is defined as the process to execute when no Exit DIMF is received before the recording is done 3 Call Call is used to make a phone call to an outside number an inside station or a pager If you use the New button in Flow Editor to create this process a new dialog
134. s the 2 00 specification Although the VP894 DLL and the VP894CC VBX are currently 16 bit codes both can still run under Windows 95 They will be upgraded to 32 bit codes in the future Hard ware Descr iptims The hardware can be functionally divided into two parts the voice T Opart andthe line interface part Te min controller is a high speed CPU 8088 with 48K bytes of voice memory for each channel Please refer to the VP 894 System Block Diagram on the next page The voice I O part of the board is the cirauitry that is responsible for voice recording and playback The VP 894 uses the most common method for voice digiti zation 8 bit POM at 8 KHz sampling rate Without any compression this encoding method yields a data rate of 64 Kbps But VP 894 is able to greatly reduce the data rate by using several different compression techniques There are four possible voice data rates VP 894 User s Manual 3 8088 8259 CPU lt INTERRUPT CONTROLLER lt 46K 48K RAM 48K RAM 48K RAM 48K RAM PROGRAM VOICE VOICE VOICE VOICE DATA BUFFER BUFFER BUFFER BUFFER N NA N LOCAL BUS DN IN IN NY Ne VOICE VOICE VOICE VOICE DSP DSP DSP DSP IN IN N N CODEC CODEC CO
135. se Co Itd All Rights Reserved
136. se curation fprtong dialing Figure 5 shows a sadi NA eO IN b AN Figure 5 Tone Dialing Sequence T1 ToneDuration T2 InterTonePause 11 OutsideLineAccess Sets outside line access code for a PRX Useful only when parameter LineToPBX is set to 1 12 RingsToAnswer 22 VP 894 User s Manual Sets the number of rings before sending back event EVI DETECT RING Default setting is 1 Useful only when TriggerMode is set to detect inbound ringing 13 WaitAnswerDuration Sets the maximum waiting time for an answer after making a call 14 InterDigitPause Sets the maximum waiting time for DIMF reception A DIMF reception is usually initiated by calling GetDIMF and will retum event EVI TIME OUT if no DTMF is received within the InterDigitPause period 15 NoSignalTimeOut Sets the maximum waiting time for the detection of any signal after CEM is initiated 16 MaxRoarDuration Sets the time duration for detecting the roaring sound before sending the EVT_DETECT_ROARING event 17 PlayGain RecordGain Sets the signal amplification gain for playback including tone dialing and record Valid levels are frm 10 highest gain to 10 lowest gain with a 3 dB level difference Therefore the signal level can be adjusted from 30 dB to 30 dB in steps of 3 dB The default value is 0 0 cB
137. seeeeecDaveusausvseeusausb un avs unb aoi eau 147 GetRemoteHungUpP aram eeeeee esee ee eee eee eee een 148 SetRemoteHungUpParamM eeeeee eee eene ease senos e 149 GEETONEDEESCEP ALAM tia 150 SetTorneDe tectParaTi ieeeeeee eo ab ess eov e soa aa ane srs 151 User Defined Data Types xiu eed e en tenen n rne sona een ane 1 52 Typo Q eryP rop ss sern seo ee eye oe aee ete eee bon Uo hene seriada 152 Type ROCOFOP OD M 154 Type Ca IP OP aids esos eee eee o oe ee Sae e SERRE Nee ERR E Ye reae eS Ea aiaa 155 Type SOtCtrlParamBPrOD eee iones e ee ane etna eva eene ave 156 Type D tyD tEabtiOD ise ey esee a seeevesseeseeessos sve ene o aag 157 Type CadenceCham esas oto eoo ea aet barra pan aen Ea nane eee Rao aad 157 Type SionalOnLline L3 eeeen aee orna ae citas 157 Type CPM Paratus eod oes poe rest cape eee dabas 1537 Dype H ndgUpBuSYy torreta des ene veo eee oe Pe Yee e Or Eve EESE 159 Type HungUpPafam i255 eoa sene essa sare n opea dores a eaa canario 1 519 Type IoneMonitorPatali ellemelIle 160 Programming TIPS 1n eversa see ee vineae dee aea EA EE eun 161 Questions E ATSWOUS ica aida 162 Chapter 8 VP 894 Interface Cards eee eere 165 EX 24 Analog Audio Multiplexer ccc eeeeeeee 165 I O Base Address Select iii LOS APT for DOS a
138. st of API functions Event Driven Type SetCtrlParam PickUp HangUp Flash Play Record Get DIVE FlushDTME Dial Stoh CallIccal CallRemte CallBeeper Non Event Driven Type Init894 Close894 GetEvent FlushEvent GetEnergy TnsertEvent GetCtrlParam GetCPMParam SetCPMParam GetHungUpParam SetHungUpParam I Event Type Def initims 16 Manual VP 894 User s The API894 H include file defines the following Event Types These events are inserted into the event queue by event driven type functions upon completion of their tasks 1 EVT EOP NORMAL Operation is comeleted nomally 2 EVT DTMF INTERCEPT Current operation is interrupted by remote DIM input 3 EVT TIME OUT Current operation is terminated due to time out 4 EVI ENDOF STOP StopCh is completed 5 EVT INTRN QUEUE OVERFLOW Internal event queue overflow This is because events are not processed fast enough When this happens the system terminates all cperations resets itself and re initializes all charrels 6 EVT_DETECT_RING N A when local phone is enabled Telephone ring is detected 7 EVT LOCAL PHONE PICKED UP N A when local phone is disabled Local phone i
139. t This function will do a pick up first if the line is current arhook SYNTAX CallRemcte int ChNum const char TargetNum unsigned Mode PARAMETER Same as defined in function Calllocal RETURNS 0 successful or error code VP 894 User s Manual 49 EVENT TYPE CallBeeper PURPOSE SYNTAX PARAMETER RETURNS 50 Manual Ij EVT NO DIAL TONE EVT CPM COMPLETE To call a pager fram the specified channel CallBeeper int ChNum const char TargetNum const char Message TargetNum Points to a digit string storing the pager s number Message Points to a digit string storing the message The message must include necessary prolog and or epilog such as O successful or error code VP 894 User s EVENT TYPE El EVT NO DIAL TONE EVT CPM COMPLETE GetHungUpParam PURPOSE SYNTAX PARAMETER RETURNS To obtain the current Hangup Parameters GetHungUpParam typeHungUpParam Param The current Hangup Parameters are copied into a buffer pointed to by Param struct tagHungUpParam typeHungUpBusy unsigned Min Tts structure is Busy BusyDuration unsigned unsigned char MinRoarDuration BusyIhresho d RoarThreshold unsigned char unsigned MinSilentDuration unsigned char Silent Threshold typeHungUpParam All parameters
140. t s eeoeee ed eeeeno eto Seo eo aeo oo e esee pene eaae nS 5l Si AA n S 52 S Sana al EPEE ONE A 53 CheckWhetherVP894StillAlive sesssscsecesecsoseseseeeose 54 Pulse Digit Detection 5 eee ee eee noue eene e an eeu aa e e p o rana 55 UM Cone Mano dp 57 A Bite eeceeeeeeesce eevesosevt eoe voe ev eee voe eere E av ere eo Te ERE SE TUS 61 DESEE XB e ees cesa ve spo Sa EN S E RERASE T Ee EQ ER eI SS ERES 62 ENERGY SEXE ieeetesesevsectecse ese aee eese eve etos eee o aee uro Sees e a dae us 62 DEMOL EXE eeeceeeeee a pube eee ve ee Eve aono See e uo esee epe e iPad Soe een 62 OR DE TEE CTS EXE tn eee ees sees Seas eee e metus 63 CAT LOU EXE ii aaa e 63 INTREINK EXE i sales euceteses eee e aa ARE AITANA AA 64 Questions ANISWELS 1 etes evo seteve cose toe e eaaet eue eaae vip ee vot 65 Chapter 5i Clipper API 5 22 52 4 634 cea e eor eie sean ea sian 67 OVER ROW ap 67 Phe ABIJORGUGIINSCOGOS iii 69 The APT EUNCELONS 3e sete ee ois noia inicia init 70 eiu CE rlPaVaMm P RTT 70 SGCCELIPALAM TE 72 GSEDEME iii eos cu va ens N TU Ser aO 73 ReadRecenvedDTMFE 75 ees devssesdedestievsctledieveceieeveds 74 COLCEVONE PP 75 ligi siquis igi 76 SEG CPMP aC AM lee rein eo eee dra eno eu o sano Fe ae eaae Se a ee eaa a EE 79 GEEHUNGUPP ALAM oec ee esee e cat eva O 80 SetH ngUpPa Eam morir ee eee ase aea ea sexe ou oue ave ae en ey see ee Re eg 81
141. talled in the system For example if Installed 1 Installed 5 and Installed 10 all have non zero values it means VP 894 User s board 1 5 and 10 are found RETURNS None EVENT TYPE None RequestAdapter PURPOSE To request more VP894 resources When this function is called VP894 DLL will send event EVI REQUEST ADAPTER to the application s owning the requested resources It will then informthe caller about the available resources by sending event EVT FREE ADAPTER to the caller However no resources wi ll be allocated to the caller until function AddAdapter is called SYNTAX RequestAdapter int inst DWORD owner PARAMETER inst The instance identifier VP 894 User s 93 owner The VP894 resources requested Defini tionis the same as the parameter owner in Manual Init8940 RETURNS 0 successful or error code EVENT TYPE None ReleaseAdapter PURPOSE To rel SYNTAX Relea PARAMETER 94 Manual lease some VP894 resources seAdapter int inst DWORD owner inst The instance identifier Owner The VP894 resources to be released Definition is the same as the parameter owner inTInit8940 VP 894 User s RETURNS 0 successful or error code EVENT TYPE None GetFreeAdapter PURPOSE To learn what VP894 resources are available SYN
142. ter between the application program and the Active X control must use OLE Handle all user defined parameters must be converted before passing Please refer to MEMORY BAS for conversion function 3 In the VBX version a numeric Process ID is used to identify the process in functions and events In the Active X control version the process ID has been changed to a character string which can be a string of digits process ID or other characters process name The choice is up to the programmer 4 In the VBX version if you want to dynamically change the process flow based on external conditions you must use API function to change the idCurProc parameter in Event Handler In the OCX version this is done by using Method function SetNextStep This means if you execute SetNextStep before Exit event proce dure when control returns to VP894CC i e Exit event procedure it will execute the process specified by SetNextStep 188 VP 894 User s Manual 5 The voice filename search path is different In the Active X version the voice filename is always specified by absolute search path The PromptDir and RecordDir property provided in the VBX version is no longer provided in the OCX version 6 In the VBX version SetCtrlParamProp API function can be used to set some channel parameters In the Active X version a similar Method function is provided for the sake of compatibility with the VBX version In addition two more Method functions
143. terlinked you will be able to talk to the person who answers the call on channel 1 Host Computer Consideration When a higher sampling rate is used to dotain a better sound quality amore powerful host PC is required However it is very hard to determine exactly what kind of computer is powerful enough for a given agolication It depends heavily an factors like the sampling rate used the maximum number of lines installed the worst case disk overhead involved the carplexity and efficiency of the application program and even the DOS version on the host PC Therefore the only practical way to find out howmany lines a given host computer can handle is to do sare experiment Starting with just one or two lines the system is tested under worst case conditions More lines are then gradually put into operation until the system starts to overload There are several ways to enhance the system performance with minimal cost For example using a virtue RAM disk to store frequently used message files is a very good way of improving the system response time and hardware based disk caching also helps inmost cases Both techniques may significantly reduce the disk access overhead which is usually the performance bottleneck However software based disk caching should usually be avoided because it induces too much overhead on the host computer 6 VP 894 Us
144. tions 2 Indicates that the adapter has been allocated to another task 1 Indicates that the adapter is not installed in the system 0 At design time it indicates that the adapter is free at run time it indicates that the adapter is allocatedto this amtrol therefore all its functions are available to this control AdapterNumber Design Time RW Run Time RO 104 VP 894 User s Manual AdapterNunber is an integer its value equals the adapter number of this control At run time a VP894 custam control uses this number to request an adapter from VP894 DLL GrParam Design Time RW Run Time NA D t design time if you select the CtrlParam property in the roperties box VP894 custom control will display a dialog box howing all the default channel control parameters The channel ontrol parameters are described in Chapter 3 You may modify hese parameters as desired These default channel control param ters are used to set the control parameters when a channel is initialized If you need to change them at run time you must use the SetCtrlParamProp function provided by VP894CC Fol Q U ct FlowEditor Design Time RW Run Time NA FlowEditor is the key to editing the VP894CC s telecarmunica tion flow control At design time if this property is selected VP894 custam control will display a dialog box in which you may add delete and modi
145. ts properties Parameters ae 210 VP 894 User s Manual ChNum The target channel s local number ranging fram 0 to 3 CalledNumber It is a string which specifies the number to call If the nnber is a pager this string contains both the pager number and numeric messages separated by a space STR 32 CallTnfo This is an OLE Handle pointed user defined type CallProp variable in which the new property information is stored GetCtr ParamProp ProcString CtrlParam Get a Set Control Parameter process property information Param eters are ProcString The target process ID or process name RecordInfo This is an OLE Handle pointed user defined type SetCtrlParanProp variable in which the property information is to be stored SetCtr ParamProp VP 894 User s Manual 211 ChNum CtrlParam Set the next process to be Set Control Parameter and also set its properties Parameters are ChNum The target channel s local number ranging fram 0 to 3 CtrlParam This is an OLE Handle pointed user defined type SetCtrlParanProp variable in which the new property information is stored GetCPM Param Param Get the current CPM parameters Param This is an OLE Handle pointed user defined type CPMParam 212 VP 894 User s Manual variable in which the current CPM parameters are to be stored SetCPM Param Param Set new CPM parameters
146. uality may be lowered if echo cancellation is enabled 5 Increment Sets the step size for Start End Positions Use the left right arrow keys to change in a 50 to 10000 bytes range 9 Start Position Sets the Start Position for playback It may be changed in th following ways Left Right Arrow Keys step up down fram current position amp Keys increment decrement 1 byte 60 VP 894 User s Manual Home Key gotothe beginning of file User may also enter the position directly with digit keys End Position Sets the End Position for playback It may be changed in th following ways Left Right Arrow Keys step up down from current position Keys increment decrement 1 byte End Key gotothe endof file User may also enter the position directly with digit keys DTMF EXE This program shows how to dial and read DIMF tones and can be used as a test program for those functions First the even numbered channel will dial a number of digits to the odd numbered channel andthe latter will dial back a Lf it received the digits with no error Then the process will repeat once with the odd numbered channel dialing the even nurbered channel If any error should happen the program terminates immediately with a diagnostic message dis played cn the screen The two channels under test must be connected together with a regular telephone cord VP 89
147. ut As Integer RingsToAnswer As Integer Off Threshold As Integer PlayMode As Integer PlayGain As Integer RecordMode As Integer RecordGain As Integer End Type fModified is a bit mask for indicating which channel control parameters are to be modified There is a set of global constants defined in VP894INC BAS for this purpose For example if you want to modify the following parameters OnHookDelay FlashTime PlayMode and RecordGain then fModified modON HOOK DELAY or modFLASH TIME or 156 VP 894 User s Manual modPLAY MODE or modRECORD GAIN Type DutyDuratim OffDuty As Integer OnDuty As Integer OffDutyTolerance As Integer OnDutyTolerance As Integer End Type Type CadenceChar Feature As Integer RecognizeCycle As Integer WaveDuration 0 To 5 As DutyDuration End Type Type SignalOnLine Ring As CadenceChar Busy As CadenceChar InvalidNum As CadenceChar DialTone As CadenceChar UserDefinedl As CadenceChar UserDefined2 As CadenceChar End Type Type CPM_Param CentralOffice As SignalOnLine PrivateSystem As SignalOnLine Beeper As CadenceChar End Type The above four user defined data types are used to define CPM parameters for the VP894 They correspond to the C API s CPM VP 894 User s Manual 157 related data structures in the fol
148. veCount WaveCount specifies how many Duty Cycles are used to characterize the signal Up to six consecutive Duty Cycles may be used but usually just one or two are enough for cyclic signals For example just one cycle is usually needed to characterize the busy signal but two cycles are needed to characterize a double ring ring signal The parameters of these Duty Cycles are of course specified in the Wave 6 Type VP 894 User s Manual 177 Tf the signal is a cyclic type suchas ringing signal and busy signal then Type must be specified as CYCLIC WAVE Otherwise specify Type as NONE CYCLIC WAVE RecognizeCycle This parameter specifies how many consecutive Duty Cycles of a cyclic signal must be detected before the signal is recognized Usually one cycle is good enough but in same cases two or three cycles are preferred in order tominimi ze incorrect recognitims For example you may want to specify two or three cycles for the busy signal However you don t want to specify more than one cycle for the ringing signal because the phone call may be answered before the second ring is over For phone calls answered before the first ring is over the ring signal may never be recognized The following are a few examples for specifying the CPM Parameters 1 Cyclic Signals Double Ring PBX Ij CPMParam PrivateSystem Busy Type CYCLIC WAVE CPMParam PrivateSystem Busy W
149. which the new VP 894 User s Manual 139 property information is stored GetRecordProp VP894 idProc RecordInfo Get a Record process property information Paramters are VP894 VP894CC s control object idProc The target process uU RecordInfo This is a variable of RecordProp user defined type in which the 140 VP 894 User s Manual property information is to be stored SetRecordProp VP894 ChNum FileName RecordInfo Set the next process to be Record and also set its properties Parameters are VP894 VP894CC s control object ChNum The target channel s local number ranging from 0 to 3 FileName The filename for the recorded file RecordInfo This is a variable of RecordProp user definedtype in which the new VP 894 User s Manual 141 property information is stored GetCallProp VP894 idProc CallInfo Get a Call process property information Parameters are VP894 VP894CC s control object idProc The target process uU CallInfo This is a variable of CallProp user defined type in which the 142 VP 894 User s Manual property information is to be stored SetCallProp VP894 ChNum CalledNumber CallInfo Set the next process to be Call and also set its properties Parameters ae VP894 VP894CC s control object ChNum The target channel s local number ranging fram 0 to 3 CalledNumber It is
150. y buffer pointed to by an OLE Handle The OLE Handle may have been obtained by calling GetHandle or any XXXPropToHandle module function Public Function HandleToQueryProp ByRef Prop As QueryProp ByVal MemHandle As Long As Boolean This function will copy the memory buffer pointed to by MemHandle to QueryProp parameters and then release the memory buffer If the operation is successful the function will return TRUE otherwise it will return FALSE Except for the param eters being different the following functions work the same way HandleToRecordProp HandleToCallProp HandleToSetCtriProp HandleToChParam HandleToCPMParam Differences Between Active X and VBX VP 894 User s Manual 187 1 Active X Custom Control interface progrm can only run under Windows 95 It is compatible with Visual Basic 5 00 and above and suitable for 32 bit Windows applications The VBX version on the other hand is suitable for 16 bit applications under Windows 3 1 or Windows 95 2 The VBX version provides some API for the application program to dynamically modify process property at runtime The OCX version uses Method function instead of the API to provide the same function The main differences between the Method func tion and the API are The calling method is different Unlike the API function which calls the whole Active X the Method function calls only the control object The passing method is different Since passing user defined parame
151. y page is used to set the default values for the Hungup Detection parameters For descriptions on the Hungup Detection parameters please refer to the HangUp Parameter Definitions in Chapter 3 API Overview ToneDetectParam Design Time RW Run Time NA This property page is used to set the default values for the Tone Detect Parameters VP 894 User s Manual 199 Available Design Time RO Run Time RO This property is provided for VP894J users to check if a certain channel exists or not since VP894J has only two channels per board Tt consists of a read only Boolean integer array of four elenrents each representing the existence of a corresponding channel False means does not exist True means exist VP894CC OCX Events All VP894CC events have three common parameters ChNum idCurProc and CurProcName ChNum is the local channel number firing the event The range of ChNum is from 0 to 3 designating the four channels of a VP894 control To get the global channel number as defined in VP894 User s Manual simply multiply the AdapterNumber by 4 and add the ChNum idCurProc and CurProcName is the current process ID and process name when the event is fired When you use the Flow Editor to design process flow at design time the process flow is static and the interactions among processes are pre defined If you want to make the process flow dynamic i e change the process f

Download Pdf Manuals

image

Related Search

Related Contents

    INDUSTRIA FERROVIARIA  IBM ThinkCentre 8171 User's Manual  3172-W2 VXIbus Arbitrary Waveform Generator User Manual  Samsung 275T Computer Monitor User Manual  LDX-3620B Ultra Low Noise Current Source  Kyocera KI-G100 User's Manual  Stellar DBX to PST Converter 2.0  Specifiche tecniche della console laser Vari-Lase  

Copyright © All rights reserved.
Failed to retrieve file