Programmer Manual 5326 PDF
Programmer Manual 5326 PDF
Programmer Manual 5326 PDF
Version 5.3.2.6
Contents
Contents .........................................................................................................................................i
Preface .........................................................................................................................................lii
Contents i
Synway Information Engineering Co., Ltd
Contents ii
Synway Information Engineering Co., Ltd
Contents iii
Synway Information Engineering Co., Ltd
Contents iv
Synway Information Engineering Co., Ltd
Contents v
Synway Information Engineering Co., Ltd
Contents vi
Synway Information Engineering Co., Ltd
Contents vii
Synway Information Engineering Co., Ltd
Contents viii
Synway Information Engineering Co., Ltd
Contents ix
Synway Information Engineering Co., Ltd
2.3.6.2 SsmHangupEx....................................................................................................269
2.3.7 Setting Channel’s Call Direction .........................................................................270
2.3.7.1 SsmSetAutoCallDirection ...................................................................................270
2.3.7.2 SsmGetAutoCallDirection ...................................................................................271
2.3.8 Obtaining Release Reason .................................................................................272
2.3.8.1 SsmGetReleaseReason .....................................................................................272
2.3.9 TUP Channel Functions......................................................................................272
2.3.9.1 SsmSetCalleeHoldFlag.......................................................................................272
2.3.9.2 SsmGetTupFlag..................................................................................................273
2.3.9.3 SsmSetTupParameter ........................................................................................274
2.3.9.4 SsmGetTupParameter ........................................................................................274
2.3.10 ISUP Channel Functions.....................................................................................275
2.3.10.1 SsmSetISUPCAT ............................................................................................275
2.3.10.2 SsmSetIsupParameter ....................................................................................276
2.3.10.3 SsmGetIsupParameter ....................................................................................277
2.3.10.4 SsmSetIsupFlag ..............................................................................................278
2.3.10.5 SsmGetIsupFlag..............................................................................................281
2.3.10.6 SsmGetIsupUPPara ........................................................................................281
2.3.10.7 SsmSetIsupUPPara ........................................................................................282
2.3.10.8 SsmSendIsupMsg ...........................................................................................283
2.3.10.9 SsmGetRedirectionInfReason .........................................................................283
2.3.10.10 SsmGetRedirectionInfNum..............................................................................284
2.3.10.11 SsmIsHaveCpg ...............................................................................................285
2.3.10.12 SsmGetCpg.....................................................................................................285
2.3.10.13 SsmIsupGetUsr ...............................................................................................285
2.3.10.14 SsmIsupSendUsr ............................................................................................286
2.3.11 ISDN Channel Function ......................................................................................286
2.3.11.1 Setting Parameters for Setup Message...........................................................287
2.3.11.1.1 SsmISDNSetDialSubAddr...........................................................................287
2.3.11.1.2 SsmISDNSetDialSubAddrEx.......................................................................287
2.3.11.1.3 SsmISDNSetTxSubAddr .............................................................................287
2.3.11.1.4 SsmISDNSetTxSubAddrEx .........................................................................288
2.3.11.1.5 SsmISDNSetCallerIdPresent ......................................................................288
2.3.11.1.6 SsmSetIsdnParameter ................................................................................289
2.3.11.2 Obtaining Incoming Call Information ...............................................................290
2.3.11.2.1 Obtaining Subaddress Information ..............................................................290
2.3.11.2.1.1 SsmISDNGetSubAddr...........................................................................290
2.3.11.2.1.2 SsmISDNGetCallerSubAddr .................................................................290
2.3.11.2.2 Obtaining User-defined Calling Party Number ............................................291
2.3.11.2.2.1 SsmGetUserCallerId .............................................................................291
2.3.11.2.3 Obtaining Designated Field from SETUP Message.....................................291
2.3.11.2.3.1 SsmGetIsdnParameter..........................................................................291
2.3.11.3 Setting Hangup Reason ..................................................................................292
2.3.11.3.1 SsmISDNSetHangupRzn ............................................................................292
Contents x
Synway Information Engineering Co., Ltd
Contents xi
Synway Information Engineering Co., Ltd
Contents xii
Synway Information Engineering Co., Ltd
Contents xiii
Synway Information Engineering Co., Ltd
2.8.2.1 SsmDetectBargeIn..............................................................................................339
2.8.2.2 SsmDetectNoSound ...........................................................................................340
2.8.2.3 SsmGetNoSoundTime ........................................................................................340
2.9 Voice Playing Functions ................................................................................................341
2.9.1 Setting Playing Data’s Destination ......................................................................341
2.9.1.1 SsmSetPlayDest.................................................................................................341
2.9.2 Setting Playing Volume.......................................................................................341
2.9.2.1 SsmSetPlayVolume ............................................................................................341
2.9.2.2 SsmSetPlayGain.................................................................................................342
2.9.3 Setting Termination Condition of Voice Playing ..................................................342
2.9.3.1 SsmSetDtmfStopPlay .........................................................................................342
2.9.3.2 SsmSetDTMFStopPlayCharSet ..........................................................................343
2.9.3.3 SsmGetDtmfStopPlayFlag ..................................................................................344
2.9.3.4 SsmGetDTMFStopPlayCharSet..........................................................................344
2.9.3.5 SsmSetBargeinStopPlay.....................................................................................345
2.9.3.6 SsmGetBargeinStopPlayFlag .............................................................................345
2.9.3.7 SsmSetHangupStopPlayFlag .............................................................................346
2.9.4 Functions for Playing in Single File Mode...........................................................346
2.9.4.1 SsmPlayFile........................................................................................................346
2.9.4.2 SsmStopPlayFile.................................................................................................348
2.9.4.3 SsmPausePlay ...................................................................................................348
2.9.4.4 SsmRestartPlay ..................................................................................................349
2.9.4.5 SsmFastFwdPlay................................................................................................349
2.9.4.6 SsmFastBwdPlay................................................................................................350
2.9.4.7 SsmSetPlayTime ................................................................................................350
2.9.4.8 SsmSetPlayPrct..................................................................................................351
2.9.4.9 SsmGetDataBytesToPlay....................................................................................351
2.9.4.10 SsmGetDataBytesPlayed ................................................................................352
2.9.4.11 SsmGetPlayedTimeEx ....................................................................................352
2.9.4.12 SsmGetPlayingFileInfo ....................................................................................353
2.9.5 Functions for Playing in File List Mode ...............................................................354
2.9.5.1 SsmClearFileList.................................................................................................354
2.9.5.2 SsmAddToFileList ...............................................................................................354
2.9.5.3 SsmPlayFileList ..................................................................................................355
2.9.5.4 SsmStopPlayFileList ...........................................................................................356
2.9.6 Functions for Playing in Single Buffer Mode .......................................................356
2.9.6.1 SsmPlayMem......................................................................................................356
2.9.6.2 SsmStopPlayMem ..............................................................................................358
2.9.6.3 SsmSetStopPlayOffset .......................................................................................358
2.9.6.4 SsmGetPlayOffset ..............................................................................................359
2.9.7 Functions for Playing in Buffer List Mode ...........................................................359
2.9.7.1 SsmAddToPlayMemList......................................................................................359
2.9.7.2 SsmClearPlayMemList .......................................................................................360
2.9.7.3 SsmPlayMemList ................................................................................................361
Contents xiv
Synway Information Engineering Co., Ltd
2.9.7.4 SsmStopPlayMemList.........................................................................................361
2.9.8 Preload Voice Data Playing Functions (CTI Series)............................................362
2.9.8.1 Preload Voice Information Initialization Functions...............................................362
2.9.8.1.1 SsmSetMaxIdxSeg .......................................................................................362
2.9.8.1.2 SsmGetTotalIndexSeg ..................................................................................363
2.9.8.1.3 SsmLoadIndexData ......................................................................................363
2.9.8.1.4 SsmFreeIndexData .......................................................................................364
2.9.8.1.5 SsmLoadChIndexData..................................................................................365
2.9.8.1.6 SsmFreeChIndexData ..................................................................................366
2.9.8.2 Functions for Playing Preload Voice Segments ..................................................366
2.9.8.2.1 SsmPlayIndexString......................................................................................366
2.9.8.2.2 SsmPlayIndexList .........................................................................................366
2.9.8.2.3 SsmStopPlayIndex........................................................................................368
2.9.9 Functions for Playing in Pingpong Buffer Mode(CTI Series)...............................368
2.9.9.1 SsmPlayMemBlock.............................................................................................368
2.9.9.2 SsmStopPlayMemBlock......................................................................................371
2.9.10 General Functions for Terminating Voice Playing ...............................................371
2.9.10.1 SsmStopPlay ...................................................................................................371
2.9.11 Obtaining Relative Information about Voice Playing ...........................................372
2.9.11.1 SsmQueryPlayFormat .....................................................................................372
2.9.11.2 SsmGetPlayType.............................................................................................372
2.9.11.3 SsmCheckPlay ................................................................................................373
2.9.11.4 SsmGetPlayedPercentage ..............................................................................374
2.9.11.5 SsmGetPlayedTime.........................................................................................374
2.10 Voice Recording Functions ...........................................................................................375
2.10.1 Setting Recording Parameters............................................................................375
2.10.1.1 Setting Signal Source and Its Volume .............................................................375
2.10.1.1.1 SsmSetRecVolume .....................................................................................375
2.10.1.1.2 SpySetRecVolume ......................................................................................375
2.10.1.1.3 SsmSetRecMixer ........................................................................................376
2.10.1.1.4 SpySetRecMixer .........................................................................................376
2.10.1.1.5 SsmQueryOpRecMixer ...............................................................................377
2.10.1.1.6 SsmGetRecMixerState................................................................................378
2.10.1.1.7 DTRSetMixerVolum.....................................................................................378
2.10.1.1.8 DTRGetMixerVolume ..................................................................................379
2.10.1.1.9 SsmSetRecBack .........................................................................................380
2.10.1.1.10 SsmSetNoModuleChBusRec ....................................................................380
2.10.1.2 Setting Termination Condition for Voice Recording .........................................381
2.10.1.2.1 SsmSetDTMFStopRecCharSet ...................................................................381
2.10.1.2.2 SsmGetDTMFStopRecCharSet ..................................................................382
2.10.1.2.3 SsmSetHangupStopRecFlag ......................................................................382
2.10.1.3 Setting Prerecord Feature (REC Series) .........................................................383
2.10.1.3.1 SsmSetPrerecord........................................................................................383
2.10.1.3.2 SsmGetPrerecordState ...............................................................................384
Contents xv
Synway Information Engineering Co., Ltd
Contents xvi
Synway Information Engineering Co., Ltd
Contents xvii
Synway Information Engineering Co., Ltd
Contents xviii
Synway Information Engineering Co., Ltd
Contents xix
Synway Information Engineering Co., Ltd
Contents xx
Synway Information Engineering Co., Ltd
Contents xxi
Synway Information Engineering Co., Ltd
Contents xxii
Synway Information Engineering Co., Ltd
Contents xxiii
Synway Information Engineering Co., Ltd
Contents xxiv
Synway Information Engineering Co., Ltd
Contents xxv
Synway Information Engineering Co., Ltd
Contents xxvi
Synway Information Engineering Co., Ltd
3.1.1.4.2.6 CRC-4.....................................................................................................599
3.1.1.4.2.7 Loopback ................................................................................................601
3.1.1.4.2.8 SpySyncAndCCS....................................................................................601
3.1.1.4.2.9 framing....................................................................................................603
3.1.1.4.2.10 coding ...................................................................................................603
3.1.1.4.2.11 syncc.....................................................................................................603
3.1.1.4.3 Setting Logical PCM Number........................................................................604
3.1.1.4.3.1 TotalPcm .................................................................................................604
3.1.1.4.3.2 Pcm ........................................................................................................604
3.1.1.4.3.3 2PcmIn1Line...........................................................................................605
3.1.1.4.4 Setting SpyPCM Number (DTP Series) ........................................................605
3.1.1.4.4.1 TotalSpyPcm ...........................................................................................605
3.1.1.4.4.2 SpyPcm...................................................................................................605
3.1.1.4.4.3 SpyT1TransE1Line .................................................................................607
3.1.1.4.5 Setting SpyCIC Number (DTP Series) ..........................................................607
3.1.1.4.5.1 TotalAppSpyCIC......................................................................................607
3.1.1.4.5.2 AppSpyCIC .............................................................................................607
3.1.1.4.6 Essential Configuration Items for SS7 (DTP Series).....................................607
3.1.1.4.6.1 TotalSpyLinkSet......................................................................................607
3.1.1.4.6.2 SpyLinkSet..............................................................................................608
3.1.1.4.6.3 TotalSpyLinkPcm....................................................................................608
3.1.1.4.6.4 SpyLinkPcm............................................................................................608
3.1.1.4.6.5 SpyCICPcm ............................................................................................608
3.1.1.4.6.6 SpySpCodeLen .......................................................................................608
3.1.1.4.6.7 SpyIsupCICPcm .....................................................................................608
3.1.1.4.7 Essential Configuration Items for SS7 (SHD Series) ....................................609
3.1.1.4.7.1 Setting Digital Trunk Using ISUP Protocol ..............................................609
3.1.1.4.7.1.1 TotalIsupPcm ....................................................................................609
3.1.1.4.7.1.2 IsupPcm............................................................................................609
3.1.1.4.8 Essential Configuration Items for ISDN (SHD Series)...................................610
3.1.1.4.8.1 Setting Operating Mode ..........................................................................610
3.1.1.4.8.1.1 UseISDNMode..................................................................................610
3.1.1.4.8.2 Setting Digital Trunk Using ISDN Signaling (User Side) .........................610
3.1.1.4.8.2.1 TotalUserLinker.................................................................................610
3.1.1.4.8.2.2 UserPcmLink ....................................................................................610
3.1.1.4.8.2.3 UserSendEstablish ...........................................................................610
3.1.1.4.8.2.4 UserTEIValue....................................................................................610
3.1.1.4.8.3 Setting Digital Trunk Using ISDN Signaling (Network Side).................... 611
3.1.1.4.8.3.1 TotalNetLinker................................................................................... 611
3.1.1.4.8.3.2 NetPcmLink ...................................................................................... 611
3.1.1.4.8.3.3 NetSendEstablish ............................................................................. 611
3.1.1.4.8.3.4 NetTEIValue...................................................................................... 611
3.1.1.4.9 Essential Configuration Items for China SS1 (SHD Series) ..........................612
3.1.1.4.9.1 ProtocolType...........................................................................................612
Contents xxvii
Synway Information Engineering Co., Ltd
Contents xxviii
Synway Information Engineering Co., Ltd
Contents xxix
Synway Information Engineering Co., Ltd
Contents xxx
Synway Information Engineering Co., Ltd
Contents xxxi
Synway Information Engineering Co., Ltd
Contents xxxii
Synway Information Engineering Co., Ltd
Contents xxxiii
Synway Information Engineering Co., Ltd
Contents xxxiv
Synway Information Engineering Co., Ltd
Contents xxxv
Synway Information Engineering Co., Ltd
3.1.2.26.3.5 UserChGenerateRingMode...................................................................684
3.1.2.26.3.6 UserSendPolar......................................................................................684
3.1.2.26.4 Special Configuration Item for Fax Channel................................................684
3.1.2.26.4.1 MaxFaxChannel....................................................................................684
3.1.2.26.4.2 DSP3WORKMODE...............................................................................684
3.1.2.26.5 Special Configuration Item for Composite Module ......................................685
3.1.2.26.5.1 UnimoduleState ....................................................................................685
3.1.2.26.6 Special Configuration Item for Non-module channel ...................................685
3.1.2.26.6.1 NoModuleChBusRec ............................................................................685
3.1.2.26.7 Magnet Channel..........................................................................................686
3.1.2.26.7.1 IsMagnetModule ...................................................................................686
3.1.2.27 Common Configuration Item for SHD Series (CTI Series) ..............................686
3.1.2.27.1 Setting Number-receiving Rule for Incoming Call .......................................686
3.1.2.27.1.1 DefaultRcvPhoNumLen.........................................................................686
3.1.2.27.1.2 DefaultRcvCallerID ...............................................................................686
3.1.2.27.1.3 RcvPhoNumCfgLen ..............................................................................686
3.1.2.27.1.4 MaxPhoNumRule ..................................................................................687
3.1.2.27.1.5 Rule ......................................................................................................687
3.1.2.27.1.6 MfcLenCtrlPos ......................................................................................688
3.1.2.27.1.7 MfcLengthTable.....................................................................................688
3.1.2.27.1.8 CallerIdEnTable.....................................................................................688
3.1.2.27.2 Setting ‘Auto-answer of Incoming Call’ Feature ..........................................689
3.1.2.27.2.1 AutoSendKB .........................................................................................689
3.1.2.27.2.2 AutoSendACM ......................................................................................689
3.1.2.27.2.3 UserSideAutoSendAck..........................................................................689
3.1.2.27.2.4 NetSideAutoSendAck ...........................................................................689
3.1.2.27.3 Setting Calling Party Number for Outgoing Call ..........................................690
3.1.2.27.3.1 TxCallerId..............................................................................................690
3.1.2.27.3.2 CalloutCallerId ......................................................................................690
3.1.2.27.3.3 SetSTSignal ..........................................................................................690
3.1.2.27.4 Setting Called Party Number for Outgoing Call ...........................................690
3.1.2.27.4.1 SetCalledSTSignal ................................................................................690
3.1.2.27.5 Connecting to Channel Bank ......................................................................691
3.1.2.27.5.1 UsageMode...........................................................................................691
3.1.2.27.5.2 CBProtocolType ....................................................................................692
3.1.2.27.5.3 CBChannelType....................................................................................693
3.1.2.27.5.4 CBChangeChannelType .......................................................................693
3.1.2.27.6 Setting Board Operating Mode....................................................................693
3.1.2.27.6.1 RunAsSpy .............................................................................................693
3.1.2.27.7 Advanced Setting for SS1 ...........................................................................693
3.1.2.27.7.1 Selecting Country..................................................................................693
3.1.2.27.7.1.1 mfcr2_Protocol................................................................................693
3.1.2.27.7.2 Setting R2 Parameters for SS1 Connection..........................................694
3.1.2.27.7.2.1 tonesgroupA....................................................................................694
Contents xxxvi
Synway Information Engineering Co., Ltd
3.1.2.27.7.2.2 tonesgroupB....................................................................................695
3.1.2.27.7.2.3 Tonesendofinfo................................................................................695
3.1.2.27.7.2.4 Tonesanswer...................................................................................695
3.1.2.27.7.2.5 Tonesrepeatrequest ........................................................................695
3.1.2.27.7.2.6 TonesAnswerA ................................................................................696
3.1.2.27.7.3 Setting Basic Parameters for SS1 Connection......................................696
3.1.2.27.7.3.1 TxCas_CD ......................................................................................696
3.1.2.27.7.3.2 RxCASFilterTime ............................................................................696
3.1.2.27.7.3.3 MaxWaitMfcTime ............................................................................697
3.1.2.27.7.3.4 RxR2FilterTime ...............................................................................697
3.1.2.27.7.3.5 LSRingTimeout ...............................................................................697
3.1.2.27.7.4 Setting Operating Mode of SS1 Channel State Machine.......................697
3.1.2.27.7.4.1 EnableAutoCall ...............................................................................697
3.1.2.27.7.4.2 AutoCallInTimeSlot .........................................................................698
3.1.2.27.7.5 Setting Parameters for China SS1 State Machine ................................698
3.1.2.27.7.5.1 MfcKB .............................................................................................698
3.1.2.27.7.5.2 MaxWaitSetKBTime ........................................................................698
3.1.2.27.7.5.3 MaxWaitKDTime .............................................................................698
3.1.2.27.7.5.4 PcmSyncMask ................................................................................699
3.1.2.27.7.5.5 PhoNumHoldup...............................................................................699
3.1.2.27.7.5.6 A1ToA3pWaitTime ..........................................................................699
3.1.2.27.7.5.7 A3pTime..........................................................................................699
3.1.2.27.7.5.8 Setting Parameters in State Machine for Outgoing Call ..................700
3.1.2.27.7.5.8.1 MaxWaitOccupyAckTime ..........................................................700
3.1.2.27.7.5.8.2 MfcKD .......................................................................................700
3.1.2.27.7.5.8.3 MfcKA .......................................................................................700
3.1.2.27.7.5.8.4 MaxWaitKBTime .......................................................................700
3.1.2.27.7.5.9 Connecting with Dialogic SS1 Channel...........................................700
3.1.2.27.7.5.9.1 ToRingingDelayTime.................................................................700
3.1.2.27.7.5.9.2 RepeatPhoNumOn1stR2bwdIsA5 ............................................701
3.1.2.27.7.5.10 Setting Remote Blocked at Application’s Exit ................................701
3.1.2.27.7.5.10.1 IsBlockSS1In...........................................................................701
3.1.2.27.7.5.11 Outputting Debugging Information.................................................701
3.1.2.27.7.5.11.1 MfcR2ToRxCallerIdBuf ............................................................701
3.1.2.27.7.6 Setting Parameters for LineSide Protocol .............................................702
3.1.2.27.7.6.1 LSWaitPickupTime..........................................................................702
3.1.2.27.7.6.2 Ss1SendIdleState ...........................................................................702
3.1.2.27.7.6.3 LSTxCas .........................................................................................702
3.1.2.27.8 Advanced Setting for SS7 ...........................................................................703
3.1.2.27.8.1 Setting TS16 Property...........................................................................703
3.1.2.27.8.1.1 UseTS16AsCircuit...........................................................................703
3.1.2.27.8.1.2 Ss7SignalingTS ..............................................................................703
3.1.2.27.8.2 Setting Corresponding Characters for Spare Address Codes ...............704
3.1.2.27.8.2.1 AddressSignal.................................................................................704
Contents xxxvii
Synway Information Engineering Co., Ltd
Contents xxxviii
Synway Information Engineering Co., Ltd
Contents xxxix
Synway Information Engineering Co., Ltd
Contents xl
Synway Information Engineering Co., Ltd
Contents xli
Synway Information Engineering Co., Ltd
3.1.2.28.1.31 SipNewRegisterMode..........................................................................740
3.1.2.28.1.32 SipBuildBusyReplaceForbidden..........................................................740
3.1.2.28.1.33 SipFindRingChFromPreRingCh ..........................................................741
3.1.2.28.2 SHN A Series ..............................................................................................741
3.1.2.28.2.1 Advanced Setting for SHN A Series ......................................................741
3.1.2.28.2.1.1 Setting RTP Traversal through NAT and SIP Server .......................741
3.1.2.28.2.1.1.1 EnableRTPStun ........................................................................741
3.1.2.28.2.1.1.2 StunServerIP.............................................................................741
3.1.2.28.2.1.1.3 Register ....................................................................................741
3.1.2.28.2.1.1.4 UserName.................................................................................741
3.1.2.28.2.1.1.5 RegPassword ...........................................................................741
3.1.2.28.2.1.1.6 Domain .....................................................................................741
3.1.2.28.2.1.1.7 RegExpires ...............................................................................741
3.1.2.28.2.1.1.8 MapIP .......................................................................................742
3.1.2.28.2.1.1.9 RegRealm.................................................................................742
3.1.2.28.3 SHN B Series ..............................................................................................742
3.1.2.28.3.1 Advanced Setting for SHN B Series......................................................742
3.1.2.28.3.1.1 Setting RTP Traversal through NAT and SIP Server .......................742
3.1.2.28.3.1.1.1 EnableRTPStun ........................................................................742
3.1.2.28.3.1.1.2 StunServerIP.............................................................................743
3.1.2.28.3.1.1.3 Register ....................................................................................743
3.1.2.28.3.1.1.4 UserName.................................................................................743
3.1.2.28.3.1.1.5 RegPassword ...........................................................................743
3.1.2.28.3.1.1.6 Domain .....................................................................................743
3.1.2.28.3.1.1.7 RegExpires ...............................................................................743
3.1.2.28.3.1.1.8 MapIP .......................................................................................743
3.1.2.28.3.1.1.9 RegRealm.................................................................................743
3.1.2.28.3.1.1.10 DscpFlag.................................................................................744
3.1.2.28.3.1.1.11 DscpValue ...............................................................................744
3.1.2.28.3.1.2 Setting RTP Payload.......................................................................744
3.1.2.28.3.1.2.1 SizeG711A ................................................................................744
3.1.2.28.3.1.2.2 SizeG711U................................................................................744
3.1.2.28.3.1.2.3 SizeG729 ..................................................................................744
3.1.2.28.3.1.2.4 JitterTime ..................................................................................745
3.1.2.29 Common Configuration Items for DST Series (REC Series) ...........................745
3.1.2.29.1 SupplyBoardClockLine................................................................................745
3.1.2.29.2 DEventUpdates ...........................................................................................745
3.1.2.30 Common Configuration Items for ATP Series (REC Series) ............................746
3.1.2.30.1 Setting Input Signal Gain ............................................................................746
3.1.2.30.1.1 MicGain.................................................................................................746
3.1.2.30.2 Setting Idle Channel’s Capability of Energy Detection ................................746
3.1.2.30.2.1 EnableIdleChTA ....................................................................................746
3.1.2.30.3 Acquiring More Recording Formats.............................................................746
3.1.2.30.3.1 DspCoder..............................................................................................746
Contents xlii
Synway Information Engineering Co., Ltd
Contents xliii
Synway Information Engineering Co., Ltd
Contents xliv
Synway Information Engineering Co., Ltd
Contents xlv
Synway Information Engineering Co., Ltd
4.3.2.2 SecondServerIP..................................................................................................779
4.3.2.3 Port .....................................................................................................................779
4.3.3 Setting Operating Mode and Parameters for MTP3 Layer..................................779
4.3.3.1 ConfigMtp3AsSTP ..............................................................................................779
4.3.3.2 SendSNT ............................................................................................................779
4.3.3.3 SubServicefield...................................................................................................780
4.3.4 Setting Client Information ...................................................................................780
4.3.4.1 MaxSs7Client......................................................................................................780
4.3.4.2 IP ........................................................................................................................780
4.3.5 Setting Physical Position of Signaling Link .........................................................781
4.3.5.1 MaxSs7Pcm........................................................................................................781
4.3.5.2 Ss7PcmLink........................................................................................................781
4.3.6 Setting Signaling Link Set...................................................................................781
4.3.6.1 MaxLinkSet .........................................................................................................781
4.3.6.2 LinkSet................................................................................................................781
4.3.7 Setting DPC ........................................................................................................782
4.3.7.1 MaxDPC .............................................................................................................782
4.3.7.2 DPC ....................................................................................................................782
4.3.8 Setting DPC for User Layer Messages ...............................................................783
4.3.8.1 MaxUP_DPC ......................................................................................................783
4.3.8.2 UP_DPC .............................................................................................................783
4.3.9 Setting Route to Distribute TUP/ISUP Messages ...............................................783
4.3.9.1 UP_DPC .............................................................................................................783
4.3.9.2 CIC_PCM ...........................................................................................................783
4.3.9.3 DPC ....................................................................................................................784
4.3.10 Setting Way to Start SS7 Server.........................................................................784
4.3.10.1 ConfigAsGateway............................................................................................784
4.3.11 Setting Display Ability of SS7 Server ..................................................................785
4.3.11.1 RcvMsuListMaxItem ........................................................................................785
4.3.11.2 TxMsuListMaxItem ..........................................................................................785
4.3.12 Special Configuration Item for Windows SS7 Server..........................................785
4.3.12.1 EnDisplayL32Msu ...........................................................................................785
4.3.12.2 EnDisplayL23Msu ...........................................................................................785
4.3.12.3 ShowSNT ........................................................................................................786
4.3.12.4 ShowSNM .......................................................................................................786
4.3.12.5 AutoTranslate ..................................................................................................786
4.3.12.6 WriteToFile ......................................................................................................786
4.3.12.7 ShowDPCOPC ................................................................................................786
4.3.12.8 LogToPcap ......................................................................................................786
4.3.12.9 HeartTimeOut ..................................................................................................787
4.3.13 Special Configuration Item for Linux SS7 Server................................................787
4.3.13.1 EnDisplayL32Msu ...........................................................................................787
4.3.13.2 EnDisplayL23Msu ...........................................................................................787
4.3.13.3 ShowMSU .......................................................................................................787
Contents xlvi
Synway Information Engineering Co., Ltd
Contents xlvii
Synway Information Engineering Co., Ltd
Copyright Declaration
This manual is provided by Synway Information Engineering Co., Ltd (hereinafter referred to as ‘Synway’) as the
support file for the Synway board driver software ( ‘SynCTI’ ). Both the software and this manual are copyrighted
All rights reserved; no part of this manual may be extracted, modified, copied, reproduced or transmitted in any
form or by any means, electronic or mechanical, without prior written permission from Synway. By using this
Synway reserves the right to revise this manual without prior note. Please contact Synway for the latest version of
Synway has made every effort to ensure the accuracy of this manual but does not guarantee the absence of errors.
Moreover, Synway assumes no responsibility in obtaining permission and authorization of any third party patent,
Note: Windows, Windows 2000, Windows XP and etc. mentioned in this book are registered trademarks of
Microsoft Corporation, and Dialogic is of Intel Corporation.
1. Synway Information Engineering Co., Ltd (hereinafter referred to as ‘Synway’) owns the
copyright of ‘this software and its accessories, relative files and archives’ (hereinafter referred
to as ‘this product’). No organization, enterprise, agency or individual may use this product
without our authorization.
2. We authorize those who achieve the following two requirements to use this product for free:
A. Using this product with hardware products purchased from Synway through a legitimate
marketing channel;
B. Promising not to transmit the whole or part of this product to any third party without prior
permission from Synway.
3. Any organization, enterprise, agency or individual, except as otherwise subject to the second
article of this license agreement, must obtain the written permission from Synway before using
this product.
5. The use of this product indicates that you have fully understood and accepted all terms in this
license.
Revision History
Revision History l
Synway Information Engineering Co., Ltd
Note: Only major revisions to this manual itself recorded herein. For detailed information about the
documentation modification undergone with the upgrade of the SynCTI Driver Program, refer to the
corresponding version of SynCTI Upgrade Manual.
Revision History li
Synway Information Engineering Co., Ltd
Preface
Thank you for choosing the Synway boards. SynCTI is a unified driver program for the Synway boards. This
manual, as the biggest help file for SynCTI, aims at those software engineers dedicated to API development and
application. It can also be provided as a reference book for the salesmen as well as the installation and
maintenance technicians who are using products from Synway to set up the CTI application system.
We offer the SynCTI - a unified driver program and development platform – to serve as the link between the
Synway board hardware and software. SynCTI provides a unified API interface for its various board models so that
the application system based on certain model can be easily extended to different environments.
Chapter 1 introduces the fundamental knowledge about programming for voice boards, covering the structure,
classification, system set-up of the Synway boards and the SynCTI driver program, the operation procedure and
the precaution on it. Readers will get to know what the board can do and how to enable all board features via API
functions after they read through this chapter. We suggest those who are in the first use of our products to read this
chapter carefully before programming. You can surely skip over the content in no relation with your application. For
example, if your application is for processing analog phone lines, you can ignore the words about digital trunks.
Chapter 2 elaborates the SynCTI’s API functions, driver-generated events and relative data structures.
Chapter 3 describes all configuration items in detail for the SynCTI driver program and classifies them by function.
Each function has the necessary configuration items as well as the advanced ones which are generally used to
meet requirements from a few of particular environments and users.
Chapter 4 tells you how to configure and use the SS7 system.
Although Synway has scrupulously checked through this manual, but cannot guarantee the absence of errors and
omissions. We sincerely apologize for any consequent inconvenience brought to you and will be very grateful if
you kindly give your advice regarding amendments to this book.
Preface lii
Synway Information Engineering Co., Ltd
The Synway boards are divided into two categories: the CTI Series and the REC Series. The former serves as one
party of a call in communication while the latter is the call-recording board mainly used for high-impedance
recording in parallel. Both drivers for the CTI Series and the REC Series are contained in SynCTI.
The Synway boards are divided into two categories: the CTI Series and the REC Series. The former serves as one
party of a call in communication while the latter is the call-recording board mainly used for high-impedance
recording in parallel. Both drivers for the CTI Series and the REC Series are contained in SynCTI.
The following table displays all voice CODECs supported by the Synway boards and their characteristics.
Sampling Coding
CODEC Abbreviation bps bytes/frame bytes/sec CODEC Engine
Rate Value
Unsigned 8-bit
PCM8 8000 Hz 64 Kbps 1 8000 Host CPU 1
PCM
16-bit linear PCM PCM16 8000 Hz 128 Kbps 2 16000 Host CPU -2
A-law A-law 8000 Hz 64 Kbps 1 8000 On-board DSP 6
μ-law μ-law 8000 Hz 64 Kbps 1 8000 On-board DSP 7
IMA ADPCM IMA ADPCM 8000 Hz 32 Kbps 256 4055 On-board DSP 17
VOX VOX 8000 Hz 32 Kbps 256 4000 On-board DSP 23
On-board DSP
MP3 MP3 8000 Hz 8 Kbps 72 1000 85
Host CPU
GSM 6.10 GSM 8000 Hz 13 Kbps 65 1625 Host CPU 49
G.729A G.729A 8000 Hz 8 Kbps 10 1000 On-board DSP 131
Note:
(1) If the board is marked by ‘/MP3’ in the model, it uses on-board DSP chips as the CODEC engine; otherwise it
uses host CPU.
(2) VOX refers to the ’ADPCM’ format used by Dialogic.
(3) Due to historical reasons, the coding value 65411 which ever represented G.729A is still valid in early versions
and backward compatible. For G.729A recording in new versions, we suggest you use the coding value 131.
ShPcmHandle.dll provides a number of transcoding functions which can be used without the need to initialize the
SynCTI driver program first via the call of SsmStartCti. However, after the call of these functions, it is required to
invoke fPcm_Close to release resources. See below for details.
Functions Description
fPcm_Mp3ConvertALaw Transcodes MP3 files which are recorded by the Synway board to A-law files.
fPcm_Mp3ConvertULaw Transcodes MP3 files to μ-law files.
Transcodes IMA ADPCM files which are recorded by the Synway board to
fPcm_AdpcmToAlaw
A-law files.
fPcm_AdpcmToGsm Transcodes IMA ADPCM files to GSM 6.10 files.
fPcm_AdpcmToMp3 Transcodes IMA ADPCM files to MP3 files.
fPcm_AlawToUlaw Transcodes A-Law files recorded by the Synway board to µ-Law files.
fPcm_UlawToAlaw Transcodes µ-Law files recorded by the Synway board to A-Law files.
Transcodes the IMA ADPCM data which are recorded by the Synway board
fPcm_MemAdpcmToALAW
and saved in the buffer to A-law format.
Transcodes the IMA ADPCM data which are recorded by the Synway board
fPcm_MemAdpcmToULAW
and saved in the buffer to μ-law format.
fPcm_AlawConvertPcm16 Transcodes A-law files to 16-bit linear PCM format.
fPcm_ALawConvertPcm8 Transcodes A-law files to unsigned 8-bit PCM format.
fPCM_AlawConvertGC8 Transcodes A-law files to G.729A files.
fPcm_ALawConvertMp3 Transcodes A-law files to MP3 files.
fPcm_ULawConvertMp3 Transcodes µ-Law files to MP3 files.
fPcm_ALawToVox Transcodes A-Law files to vox files.
fPcm_MemAlawToPcm8 Transcodes A-law data saved in the buffer to unsigned 8-bit PCM format.
fPcm_MemAlawToPcm16
Transcodes A-law/MP3 data saved in the buffer to unsigned 16-bit PCM format.
fPcm_MemMp3ToPcm16
fPcm_MemGSMToPcm16 Transcodes GSM data saved in the buffer to 16-bit PCM format.
fPcm_MemGSMToPcm8 Transcodes GSM data saved in the buffer to unsigned 8-bit PCM format.
fPcm_MemGSMToUlaw Transcodes GSM data saved in the buffer to μ-law format.
fPcm_Pcm16ConvertALaw Transcodes 16-bit linear PCM files to A-law files.
fPcm_MemPcm8ToAlaw Transcodes unsigned 8-bit PCM data saved in the buffer to A-law format.
fPcm_MemAlawToUlaw Transcodes A-Law data saved in the buffer to μ-law format.
fPcm_MemUlawtoAlaw Transcodes μ-Law data saved in the buffer to A-Law format.
fPcm_MemPcm16ToAlaw Transcodes unsigned 16-bit PCM data saved in the buffer to A-law format.
fPcm_GC8Convert Tanscodes G.729A files to other formats.
fPcm_Vox6kTo8k
Enable the sampling rate of VOX files to convert between 6K and 8K.
fPcm_Vox8KTo6K
fPcm_ULawConvertGSM Transcodes µ-Law files to GSM files.
fPCM_Pcm16ConvertG729A Transcodes 16-bit linear PCM files to G.729A files.
fPcm_Pcm8ConvertGSM Transcodes 8-bit PCM files to GSM files.
fPcm_GSMToMp3 Transcodes GSM files to MP3 files.
fPcm_G729AConvert Tanscodes G.729A files to other formats.
fPCM_MemULawToG729A Tanscodes μ-Law data saved in the buffer to G.729A format.
All CODECs supported by the Synway boards in voice playback and recording operation are shown as follows:
IMA
PCM8 PCM16 A-law μ-law VOX MP3 GSM G.729A
Series Board Model ADPCM
DEC COD DEC COD DEC COD DEC COD DEC COD DEC COD DEC COD DEC COD DEC COD
SHT-2A/USB ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHT-4A/USB ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHT-2B/USB ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHT-4B/USB ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHT-8A/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-16A-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-120A-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-8B/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-8B/PCI/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-16B-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT SHT-16B-CT/PCI/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ √ √ ★ -
SHT-16B-CT/PCI/MP3 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ ★ ★ -
SHT-8C/PCI/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-8C/PCI/EC ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-16C-CT/PCI/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-16C-CT/PCI/EC ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-120A-CT/cPCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-16B-CT/cPCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-16B-CT/cPCI/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-16B-CT/cPCI/MP3 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ ★ ★ -
SHT-16D-CT/PCIe ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD SHD-30A-CT/PCI/SS1 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30A-CT/PCI/ISDN ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30A-CT/PCI/SS7 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60A-CT/PCI/SS1 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60A-CT/PCI/ISDN ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60A-CT/PCI/SS7 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120A-CT/PCI/SS1 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120A-CT/PCI/ISDN ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120A-CT/PCI/SS7 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30B-CT/PCI/SS7/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60B-CT/PCI/SS7/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30C-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30C-CT/PCI/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60C-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60C-CT/PCI/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120D-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120D-CT/PCI/EC ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120D-CT/PCI/CAS ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240D-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240D-CT/PCI/EC ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240D-CT/PCI/CAS ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30E-CT/PCI(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30E-CT/PCI/FAX(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30E-CT/PCI/EC(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60E-CT/PCI(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60E-CT/PCI/FAX(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60E-CT/PCI/EC(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120E-CT/PCI(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120E-CT/PCI/FAX(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120E-CT/PCI/EC(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240E-CT/PCI(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240E-CT/PCI/FAX(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240E-CT/PCI/EC(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30E-CT/PCIe ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30E-CT/PCIe/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30E-CT/PCIe/EC ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60E-CT/PCIe ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60E-CT/PCIe/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60E-CT/PCIe/EC ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120E-CT/PCIe ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120E-CT/PCIe/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120E-CT/PCIe/EC ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240E-CT/PCIe ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240E-CT/PCIe/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240E-CT/PCIe/EC ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240E-CT/PCIe/VAR ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30A-CT/cPCI/SS7 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60A-CT/cPCI/SS7 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-120A-CT/cPCI/SS7 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240A-CT/cPCI ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHD-480A-CT/cPCI ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHD-30B-CT/cPCI/SS7/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60B-CT/cPCI/SS7/FAX ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-240S-CT/cPCI ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHD-480S-CT/cPCI ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHN-32A-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ - - ☆ - ★ ★ ★ ★ ★ -
SHN-8B-CT/PCI+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHN-16B-CT/PCI+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHN-32B-CT/PCI+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHN
SHN-60B-CT/PCI+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHN-120B-CT/PCI+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHN-60B-CT/PCIe+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHN-120B-CT/PCIe+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-2A/USB ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHT-4A/USB ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHT-2B/USB ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHT-4B/USB ☆ ☆ ☆ ☆ √ √ √ √ - - √ √ ★ ★ ★ ★ ★ -
SHT-8A/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-16A-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
ATP-24A/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
ATP ATP-24A/PCI+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ √ ★ √
ATP-24A/PCIe ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
ATP-24A/PCIe+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ √ ★ √
SHT-8B/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-16B-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-16B-CT/PCI/MP3 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ ★ ★ -
SHT-16B-CT/cPCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHT-16B-CT/cPCI/MP3 ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ ★ ★ -
DTP SHD-30A-CT/PCI/FJ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-60A-CT/PCI/FJ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHD-30B-CT/PCI/FJ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ √ ★ √
SHD-60B-CT/PCI/FJ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ √ ★ √
DTP-30C/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
DTP-30C/PCI+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ √ ★ √
DTP-60C/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
DTP-60C/PCI+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ √ ★ √
DTP-120C/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
DTP-120C/PCI+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ √ ★ √
DTP-30C/PCIe ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
DTP-30C/PCIe+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ √ ★ √
DTP-60C/PCIe ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
DTP-60C/PCIe+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ √ ★ √
DTP-120C/PCIe ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
DTP-120C/PCIe+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ √ ★ √
SHR-16DA-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ √
SHR-24DA-CT/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ √
DST-24B/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
DST-24B/PCI(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
DST
DST-24B/PCI+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ √ ★ √
DST-24B/PCI+(SSW) ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ √ ★ √
DST-24B/PCIe ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
DST-24B/PCIe+ ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ √ ★ √ ★ √
SHF-2D/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
SHF
SHF-4D/PCI ☆ ☆ ☆ ☆ √ √ √ √ √ √ ☆ - ★ ★ ★ ★ ★ -
IPR SynIPRecorder - ☆ - ☆ ☆ ☆ ☆ ☆ - ☆ - - - ☆ - ☆ ☆ ☆
Legend: COD: Coder DEC: Decoder
√: Hardware-based -: Unsupported
☆: Software-based, enabled via software algorithm by the driver ★: Software-based, enabled via the external ACM program
Note: For more information about the DTP series boards, refer to the section Voice Recording.
The SynCTI driver program supports two mainstream operating systems: WINDOWS and LINUX. See below for
details.
• WINDOWS: Windows 5.0 and above versions all supported, either 32-bit or 64-bit, includes Windows
2000, Windows XP, Windows 2003 server, Vista, Windows 2008 server, Win7.
• LINUX: includes CentOS, Debian, FC4, FC6, FC7, Gentoo, Red Hat A4 U4, Red Hat AS3, RH9.0, Suse,
Tribox2.0, Ubuntu
Note: The board with Compact PCI bus must run in Windows 2000 or above.
Applications
ShdUSBWd
Shp_A3.dll MTP3.dll
cPCI
USB Box PCI Board
Board
Components Description
Applications User applications
Provides API functions for the application; enables conversion between
ShPcmHandle.dll
various audio formats
Provides interfaces for the application; helps users obtain basic information
ShInitPci.dll
about the board
Configuration file of the form where lists voice files used for memory
ShIndex.ini
playback by index
ISDN message processing modules. Via interface functions, analyze and
ISDNUser.dll process the commands and data transferred from A3 according to the
ISDN protocol, and then pass the results back to A3
ShCtiConfig.exe Automatic configuration program
System configuration file which corresponds to ShCtiConfig.exe. Refer to
ShConfig.ini ShConfigAdvanced.ini under the driver installation directory for detailed
information
Provides API functions for the application; helps achieve all functions of the
Shp_A3.dll
board
ShdUSB.dll
Transfer data, states and commands between the A3 layer and the SYS
ShdPci.dll
ShdUSBWdm.sys Constitute the SYS layer. Used to add or remove hardware, communicate
ShdcPCI.sys with the DSP program. These three files respectively process USB, cPCI
ShdPCI.sys and PCI interfaces
SS7Monitor.exe SS7 server
SS7Cfg.exe SS7 configuration program
SS7Server.ini Configuration file for SS7 server
SS7 server scheduling module. Enables transmission of SS7 signaling,
SS7Server.dll
route control, etc
MTP3.dll Constitutes the MTP3 layer in SS7 server
MmfServer.dll Stand-alone version of SS7 server. Communicates with SS7Server.dll and
Applications
SynH323.so
ShPcmHandle.so ShInitPci.so SS7d
Shp_A3.so MTP3.so
cPCI
USB Box PCI Board
Board
Note: Each component in the figure above functions as same as that correspondingly represented in the driver
architecture in Windows.
ShCtiConfig.exe
Applications
ShConfig.ini
ShPcmHandle.dll ShInitPci.dll
Shp_A3.dll
ShdUSB.dll ShdPci.dll
Applications
ShConfig.ini
ShPcmHandle.so ShInitPci.so
Shp_A3.so
ShdUSB.so ShdPci.so
Note: Each component in the driver architecture for the REC Series functions as same as the corresponding one
for the CTI Series.
ShCtiConfig.exe is a software tool for visual configuration of the ShConfig.INI file. It supports configuration of
common parameters for all board models from Synway. Upon the completion of driver (SynCTI) installation, what
you need to do, if you don’t want to edit the configuration file manually, is simply running ShCtiConfig.exe to set
parameters. The configuration program can automatically read information about board model, serial number, etc.
from the board firmware, calculate such basic elements as quantity of channels, provide corresponding control
buttons and write the default value of each configuration item into ShConfig.INI. If you want the driver installation
integrated into this configuration program and the board configured with default settings at the same time, add a
command-line parameter into the program during the startup of ShCtiConfig.exe: 1 which indicates 'default
set->apply->close the configuration program' or 2 which means 'default set->confirm->close the configuration
program'. Regarding how to use these parameters, see the following example.
Failure in call and detection of remote hangup, etc. over analog trunks while using the SHT and ATP Series boards
always result from the mismatch in parameters between the on-board call-processing tone detector and the PBX.
While some small PBXes use different tone frequency, tone cycle from those adopted by Central Office Terminal
(COT), the tone detector on the Synway board is compliant with the COT standard. Therefore, it is essential to set
correct parameters for tone frequency, duty ratio of dial tone, ringback (echo) tone, busy tone, etc. ShTA.exe can
be used in such case to detect and analyze the call-processing tone parameters on the PBX side to obtain
accurate settings.
For detailed information about the use of ShTA.exe, refer to Tone Analyzer Tool User Manual, i.e. the file
ShTA_UserManual_en.chm (English) or ShTA_UserManual_cn.chm (Chinese) under the SynCTI driver
installation directory.
SS7Cfg.exe is a software tool for setting Ss7server.ini (the configuration file of the SS7 Server). For more
information about the use of SS7Cfg.exe, refer to SS7 Server Configuration Program User Manual, i.e. the file
SS7Cfg_UserManual.chm (English) or SS7Cfg_UserManual_cn.chm (Chinese) under the SynCTI driver
installation directory.
Ss7Monitor.exe supports the SS7 MTP3 protocol, can distribute signaling messages and monitor the system. The
application must run the SS7 server first if it requires SS7 signaling.
MsuDecode.exe is a software tool for decoding the messages (MSU) contained in the log file of the SS7 server. A
log file with the ‘.msu’ extension can be generated based on customer requirements to save necessary messages
in binary system during the runtime of Ss7Monitor.exe. This MSU Decoder Tool can translate binary messages into
the intelligible ‘.txt’ document for direct, easy reading. For detailed information about the use of MsuDecode.exe,
refer to MSU Decoder Tool User Manual, i.e. the file MsuDecode_UserManual.chm (English) or
MsuDecode_UserManual_ch.chm (Chinese) under the SynCTI driver installation directory.
It is an on-board physical circuit entity with the capability of completed voice processing for a call, classified as
follows according to supported interfaces and signaling.
It is an on-board physical circuit entity with the capability of completed voice processing for a call, classified as
follows according to supported interfaces and signaling.
Each channel has two numbers in the driver: the physical number and the logical number.
Physical number (referred to as ‘BCh’ for short) indicates the channel number marked on the board, which is
automatically allocated by the driver. Suppose N is the total number of on-board channels and M represents the
total number of fax channels, the physical channel number range is:
Logical number is the unified number given to each channel in the application system. The configuration item
TotalAppCh is used to set the total number of channels in the system. Note that the parameter ‘ch’ used by most
functions in this driver refers to the logical number of a channel.
Each logical channel number maps a physical number, determined by the configuration item AppCh.
Note: The channel number mentioned in this manual is the logical number except as otherwise specified.
A trunk is a line which links user terminal devices (e.g. user PBXes, key telephone systems, call centers, etc.) to
PBX systems in the PTN (Public Telephone Network). The digital trunk serves as a digital subscriber line to the
telecommunication network, usually made up of a pair of coaxial cables or twisted pair cables from the SPC
exchange, one cable for transmission and the other for reception. If the trunk carries signals at 2.048Mbps
(referred to as ‘2M cable’ for short), the interface between it and the user terminal device is called E1 interface; if it
carries signals at 1.544Mbps, the interface is called T1 interface.
The digital trunk uses TDM technology, consisting of multiple time slots (referred to as ‘TS’ for short), each of which
transmits data at 64Kbps. An E1 trunk has 32 time slots while a T1 trunk has 24.
As to the E1 trunk, TS 0 is used for frame synchronization. Hence there are only 31 effective time slots, among
which TS 16 usually transfers signaling and multiframe synchronization information, called D-channel, and the rest
30 time slots are used for transmitting voice data, called B-channel.
As TS 0 over the digital trunk usually carries frame synchronization information, it cannot be used as a voice time
slot. Both the SHD and DTP Series boards are equipped with a frame-synchronization indicator at each port of
digital trunks, tracing the frame synchronization at the link layer: Light on indicates the smooth in frame
synchronization; light off or flash hints the failure.
When the frame synchronization status changes over the digital trunk, the application will immediately receive the
E_CHG_PcmLinkStatus event from the driver, or it can call SsmGetPcmLinkStatus at any time to obtain the current
Each digital trunk requires a clock for normal operation. See the section ‘System Clock Configuration’ in this
chapter for more information.
Each physical digital trunk on the local end must be consistent in configuration with that from the remote PBXes to
ensure good operation.
Setting of digital trunks is based on the board and carried out in the [BoardId=x] section, involving the following
configuration items.
[BoardId=x]
……
PcmNumber=M // Set the total number of on-board digital trunks
PcmSSx[0]=1 // Set Digital Trunk 0 on the board: select the signaling mode
PcmClockMode[0]=j // Select the operating mode of the clock
PcmLinkType[0]=k // Select the type of the physical line
…….
The signaling time slot on the digital trunk functions variously depending on the protocol type as shown in the table
below.
Each digital trunk has two numbers: the physical number and the logical number.
Physical PCM number refers to the on-board digital trunk number, always beginning with 0 and ending with the
total number of on-board digital trunks minus 1. Logical number is given on a unified basis to all digital trunks on
multiple boards in the same application system. At the time when the application has only one board in it, the
physical number of a digital trunk is the same as the logical.
The mapping relationship between the physical number and the logical can be designated via configuration items
TotalPcm and Pcm.
Note: The ‘PCM number’ mentioned in this manual indicates the logical digital trunk number except as
otherwise specified.
The configuration item DefaultVoiceFormat is used for setting the voice CODEC on the digital subscriber line.
The Synway board is designed with an encrypted authorization code identification circuit so that no one except the
manufacturer is able to modify the code. This feature, offering the same effect as installing a dongle in the user
software, enables users to bind the application program with a particular board. By using the authorization code,
your board from Synway becomes a customized, exclusive model. Below tells some merits in the use of this code
to protect the user software.
• Simple operation: When Synway writes the authorization code applied for by users ahead of time into its
supplied product, the user software only need check the code to see if it is valid, requiring neither
algorithm for calculation nor resettings performed after each installation, unlike using the Series number
for software protection which involves complex encrypted calculation as well as a sequence of settings
based on the Series number at each installation.
• High reliability: Software protection by the Series number goes invalid once the encrypted algorithm leaks
out. By comparison, as long as you have applied for an authorization code, you are assured in technology
that no one except the manufacturer can rewrite the code, which therefore eliminates the possibility to run
your software on the voice boards from various channels other than Synway or those provided for other
customers by Synway, even if the code is open to the public.
The function SsmGetAccreditId or SsmGetAccreditIdEx can be used to obtain the user authorization code for the
board.
The DC voltage on analog phone lines is -48V, provided by PBXes. Each channel on the Synway SHT/ATP Series
boards has a voltage detector for examining the operating voltage on the analog trunk. The following figure is a
typical model for phone connection.
Analog Trunk
V
its line voltage changes as follows provided the PBX doesn't support the polarity reversal feature.
0
-Vc
-Vb
-Va
t1 t2 t3 t4 t5 t6 t7
The configuration items or functions in the SynCTI driver used for setting the above parameters are listed in the
following table.
Parameter Name Related Configuration Items or Functions
Vc Configuration item: OffLineSet
toff Configuration item: OffLineDetermineTime
Configuration item: IsHangupDtrmVoltage
Vb
Function: SsmSetDtrmLineVoltage
toffhook Configuration item: LineOncnt
tonhook Configuration item: MaxRecChFlashFilterTime
The line voltage of Analog Phone B changes as follows provided the PBX supports the polarity reversal feature.
Voltage (volt)
Va
Vb
0
-Vc
-Vb
-Va
t1 t2 t3 t4 t5 t6 t7
We can see from the above figure that in case the PBX supports the polarity reversal feature, it changes the
polarity of the line voltage at the calling party once the called party picks up or hangs up. In such way, the PBX
passes the on-hook/off-hook information to the calling party. Over analog lines, it is the most accurate way to judge
whether the called party has picked up by the polarity reversal signal of the line voltage. Remember that this
feature doesn’t work without the support of PBXes.
Both the Synway SHT and ATP Series boards are designed with voltage detectors. Every time when the line
voltage changes and the variation range goes beyond the preset value of 5V which can be set via the function call
of SsmSetEvent, the driver will send the E_CHG_LineVoltage event to the application. Also the application can
¾ Monitor the line connection between the local end and the PBX.
The analog trunk recording channel on the ATP Series supports the off-line detection feature. When the line
voltage gets lower than the set value of the configuration item OffLineSet and keeps for a period of time longer than
the set value of the configuration item OffLineDetermineTime, the driver will conclude that the off-line fault occurs
and transfer the channel state to ‘off-line’.
The recording channel on the ATP Series determines whether the phone has picked up or hung up according to
the variation of the line voltage (absolute value) between Va and Vb.
In default, the analog recording channel judges the on-hook/off-hook phone state by the output value of the voltage
detector. However, you can let the driver ignore the result from the voltage detector by modifying settings of the
function SsmSetIgnoreLineVoltage or the configuration item IgnoreLineVoltage so as to keep the recording
channel in the off-hook state.
When using the microphone recording module, as there is no feed voltage on the line, you should set the
configuration item IgnoreLineVoltage to 1 and keep the recording channel always in the ‘off-hook’ state.
The PBX provides the feed voltage, usually with negative polarity, for the analog line, and can pass some
information to phones by changing the voltage polarity (e.g. change -Vb to Vb).
The polarity reversal signal for the analog phone line can be used to accurately judge the called party’s pickup and
hangup behavior in cooperation with the PBX. Both the ATP Series analog trunk recording channel and the SHT
Series analog trunk channel support the polarity reversal detection. Every time when a channel detects the polarity
reversal, the driver will send the event E_CHG_PolarRvrsCount to the application. Also the application can obtain
information on polarity reversal via the function SsmGetPolarRvrsCount.
Under some circumstances, the interfering signals on the PBX or the line become so large that they will be
mistaken by the driver for the polarity reversal signals. To eliminate such error, set the configuration item
PolarIgnore to ignore large interferring signals.
When the analog trunk channel detects the polarity reversal signal, it is determined by the setting of the
configuration item DisablePolarReverse whether to transfer the channel state or not.
When the PBX calls the phone through an analog line, it will send the ringing current to the phone and make the
phone to ring. This current signal usually goes periodically, involving 1 sec on and 4 sec off.
Both the ATP Series analog trunk recording channel and the SHT Series analog trunk channel are designed with
the ringing current detector. The configuration item RingDetectFilterPara is used to set the minimum durations of
the ringing current respectively at on and off states. The configuration item RingEndDtrTime is used to set the
maximum durations of the ringing current at on and off states. Once the PWL of the ringing current changes, the
driver will send the E_CHG_RingFlag event to the application.
Every time when the driver detects a complete circle of ringing current, it will send the E_CHG_RingCount event to
the application. When the count reaches the specified value N, the channel state will turn to ‘ringing’ from ‘idle’. N
can be set via the configuration item AlwaysToRingingOnRingCntX or ChToRingingOnRingCnt, its value in practice
calculated by the following ways.
(1) If not specified in the configuration item ChToRingingOnRingCnt or set via the function SsmSetFlag which takes
the parameter F_ChToRingingOnRingCnt, it is subject to the set value of the configuration item
AlwaysToRingingOnRingCntX.
(2) If not designated in the configuration item AlwaysToRingingOnRingCntX, it is determined by the driver and N is
2.
Also the application can invoke the function SsmGetRingCount to obtain the count of ringing current signals.
the channel state transfers from ‘ringing’ to ‘off-hook’ and keeps ‘off-hook’ for a period of time longer than the set
value of the configuration item RecChClearRingDelayTime.
Also the application can clear the count via the function call of SsmClearRingCount.
The flash signal is a short temporary on-hook pulse generated by a rapid clap on the hook switch of the analog
phone during a call, generally used for such operations as transferring the call to an extension with the help of the
PBX. You should do the clap as swift as possible lest the PBX mistakes the flash signal for the on-hook signal.
The Caller ID service is a business provided with extra fee charged by corporations on telecommunications, which
usually requires an application submitted ahead of time. There are two modes for the PBX to transmit the calling
party number to the phone.
FSK (Frequency-shift Keying) Mode: The Caller ID, i.e. the calling party number, is transmitted by the
PBX somewhen between the first ring and the second of the phone.
DTMF (Dual-tone Multi-frequency) Mode: Most PBXes transmit the Caller ID before sending the first ring
to the phone. However, a few PBXes send somewhen between the first ring and the second.
In general, the PBX involved in the local area network provides the Caller ID in FSK mode while the small-sized
PBX in DTMF mode. Note that the application program should pick up the phone after the second ring to
ensure a complete reception of the Caller ID. When the analog trunk channel state comes into ‘ringing’ can
be set in the configuration file.
Both the Synway SHT and ATP Series boards are designed with the Caller ID detector for examining the FSK or
DTMF Caller ID. The operation principle is shown below:
SsmGetCallerId
FSK Receiver Caller ID Buffer SsmGetCallerIdA
SsmClearCallerId
Phone Line
K1
SsmGetCallerIdEx
DTMF Detector Extended Caller ID Buffer
SsmClearCallerIdEx
Caller ID Detector
There are 2 buffers in the driver for each channel to save the Caller ID information: Caller ID Buffer and Extended
Caller ID Buffer. The latter holds the original data of the FSK Caller ID, including the calling party number, date,
name of the calling party, etc. The driver processes the original information as follows:
The functions, events and configuration items related to the Caller ID detector are listed in the following table.
Name Description
Sets the operating mode of the Caller ID detector
CallerIdStyle
(FSK/DTMF), i.e. set the switch k1 in the figure above
CloseCallerIdOnReceived
Configuration Set parameters for the Caller ID detector running in FSK
FSKCallerIdDtrmTime
Item mode
FilterInvalidCID
DtmfCallerIDStyleLength Set parameters for the Caller ID detector running in DTMF
DtmfCallerIDInterTimeout mode
SsmSetFlag (with the parameter
Sets the operating mode of the Caller ID detector
F_CALLERIDTYPE)
SsmGetCallerId
SsmGetCallerIdEx Obtain the calling party number
Function
SsmGetCallerIdA
SsmGetCallerName Obtains the name of the calling party
SsmClearCallerId Empty the buffer in the driver which holds the calling party
SsmClearCallerIdEx number
While the Caller ID detector is working in FSK mode, every
Event E_CHG_CIDExBuf time the driver receives a calling party number, it sends this
event to the application
Each Synway board requires a clock for normal operation. Take the following cases into consideration when setting
the clock signal source for the application system based on the Synway board.
If a SHD board serves as the master board, only one digital trunk on it can supply the master clock
while others must work in the Slave Clock mode.
The clock signal from the SHD or DTP boards must keep consistent with that from PTN; otherwise it
may result in noise or high signal error rate during the call.
In the case of board connection not through CT Bus, the board must be set to Master Board.
In the case of connection to third-party boards over CT Bus, if the third-party board is set to Master Board, all
Synway boards should be set to Slave Board.
The master clock derives from two ways: Line-synchronization and Free-run. Line-synchronization is to pick up at
the local end the input signal from the remote PBX as the master clock, applicable to the SHD, DTP and DST
Series boards, to ensure the on-board master clock synchronous with the clock signal at the remote PBX. Free-run
is to generate the clock signal by the on-board clock oscillation circuit, applicable to the SHT and ATP Series.
When setting up a testing system by using the SHD boards and linking it to a real application system, you should
choose ‘Free-run’ for the master clock of the master board.
The SHV Series boards can’t serve as the master board, so they must work in the Slave Clock mode.
Configuration items and functions in relation to the clock signal are listed in the following table.
Name Description
WhoSupplySysClock Sets the clock mode for the board (Master Board/Slave Board)
Configuration
Sets the clock mode for digital trunks on the SHD and DTP Series
Item PcmClockMode
boards
Sets the clock mode for digital trunks on the SHD and DTP Series
Function SsmSetPcmClockMode boards. Identical in function with the configuration item
PcmClockMode
There are 6 modes for voice playing as shown in the following figure.
Preload File Single File File List Buffer List Single Buffer Pingpong Buffer
Mode Mode Mode Mode Mode Mode
Application
Memory
Memory SynCTI
Pre-load
Queue
Playback Buffer
Decoder
In the four voice playing modes – Preload File Mode, Single File Mode, File List Mode and Buffer List Mode, the
driver will first read the source data into the internal Playback Buffer after the voice-playing operation starts. The
buffer size is designated by the configuration item PlayBufSize, with a default value of 32K bytes.
For detailed information about the volume and the direction to play data, refer to relative content in this chapter.
SHD Series: See the section Operation Principle of SHD Series in this chapter.
SHT Series: See the section Operation Principle of SHT Series in this chapter.
SHN Series: See the section Operation Principle of SHN Series in this chapter.
For detailed information about the volume and the direction to play data, refer to relative content in this chapter.
ATP Series: See the section Operation Principle of ATP Series in this chapter.
DST Series: See the section Operation Principle of DST Series in this chapter.
DTP Series: See the section Operation Principle of DTP Series in this chapter.
After the start of voice playing, other than the occasion where the task stops naturally by itself or is terminated by
the driver through function calls, the driver will automatically end it once the channel detects some events triggered
by particular conditions, simplifying compilation of the application program. The ‘particular conditions’ mentioned
here include:
Note: In case that the DTMF detector detects DTMF in the incoming signals, if the configuration item
DefaultPausePlayOnRxDtmf is set to 1, the driver will intermit voice playing to ensure the accuracy of the DTMF
detector, and automatically resume playing when DTMF signals totally disappear.
z The application program invokes the function that takes data off bus.
For particular information about characteristic features of some models in the SHD Series, refer to the section
Operation Principle of SHD Series in this chapter.
The use of IVR and so forth requires the application program to play some voice segments, such as the speech
prompt, date, time, number, etc. To improve the running efficiency of the application system and to reduce the
times that the application visits HD, the SynCTI driver provides Preload File Mode for voice playing, whose
operation principle is: Record some commonly used voice segments, e.g. ‘0’, ‘1’, ‘2’, ……, ‘9’, ‘ten’, ‘hundred’,
‘thousand’, ‘ten thousand’, to one or multiple files and define a number and an alias for each of them ahead of time.
Then the driver will automatically preload those segments to the memory once the function for driver initialization
SsmStartCti is invoked, which offers great facility to play such successive segments as ‘125’. Playing in Preload
File Mode enables the driver to make seamless connection of voice segments and creates much more excellent
effect than playing a number of single files in sequence.
You can preload voice segments by compiling the configuration file ShIndex.ini, the detailed information on which
can be found in Preload Voice Configuration File ShIndex.ini (CTI Series) in Section 3.2.
Also the application program is able to preload voice segments dynamically via function calls. See the table below
for relative functions.
This mode is used for playing a single voice file, including the WAV file, the MP3 file and the non-header file
(without file header, in need of extra designation of CODEC).
Related functions and configuration items are listed in the table below.
In this mode, the application first consecutively submits multiple voice files with the same CODEC. Then the driver
automatically plays those files according to the submitting sequence, making seamless connection of files.
The function SsmAddToFileList is used to submit necessary files to be played to the driver. The maximum amount
of submitted files is determined by the configuration item MaxPlayFileList.
Once the application invokes the function SsmPlayFileList, the driver starts a task of playing multiple files from the
1st one. Every time when a file is completely played, the driver will send the event E_PROC_PlayFileList to the
application and go to the next file. After all files are played, the driver automatically closes all of them, terminates
the play task and launches the E_PROC_PlayEnd to the application.
Related functions and output events are shown in the table below.
In this mode, the application allocates a buffer for itself, writes voice data into the buffer and then submits a play
task to the driver. The driver launches an event to the application upon completing the play of all data in the buffer
and ends the play task.
Related functions and output events are displayed in the table below.
SsmSetStopPlayOffset Resets the position in the buffer where the play stops.
SsmStopPlayMem Stops voice playing in Single Buffer Mode.
Obtains the pointer to data being played in the driver during voice playing in
SsmGetPlayOffset
Single Buffer Mode.
E_PROC_PlayMem An event which tells the playing progress in Single Buffer Mode
In this mode, the application program submits ahead of time a group of voice data blocks respectively in multiple
buffers. Then the driver plays them consecutively according to the set sequence, making seamless connection of
voice data blocks. Note that those blocks are managed by the application itself.
This mode uses double buffers. Its operation principle is: Before the start of voice playing, the application prepares
one (or two) buffer full of voice data to be played, and then invokes the function SsmPlayMemBlock once (or
consecutively twice) to submit the buffer to the driver. When the driver receives the play command, it will perform
voice playing in Pingpong Buffer Mode, that is, upon a complete play of voice data in the first buffer, the driver will
automatically play those in the second and meanwhile invoke the callback function from the application to pass an
end-of-play message to the application. After that, the application will fill data into the next buffer and restart such
process.
Compared with Single Buffer Mode, Pingpong Buffer Mode has the following characteristics.
z The minimum buffer size can be set to 192 bytes;
z Support for callback programming.
Since neither Windows nor Linux is a true real-time operating system, there is bound to be some delay in
transmitting voice data from the application buffer to the on-board voice decoder. Besides, due to the indirect
transmission of voice data, first from the application program (User Mode) to the device driver (Kernel Mode), then
from the device driver to the board, the delay in time is not invariable but changes depending on how busy the
application is. A relatively effective way to shorten the delay time is to reduce the buffer size and enhance the
priority for the application to update voice data at the same time. The driver’s thread priority is quite high, and in
this case all related source codes in the callback function can acquire the priority as high as that of the driver. From
the above we can see that the use of Pingpong Buffer Mode can minimize this kind of delay, so it is applicable to
those occasions that demand high real-time capability in voice playing.
The function SsmStopPlay can be used to stop any kind of play tasks.
The following functions can be called to obtain relative information about voice playing.
Function Name Description
SsmQueryPlayFormat Queries if the channel supports the specified playing format.
SsmGetPlayType Queries the mode of voice playing performed currently on the channel.
SsmCheckPlay Queries various situations during voice playing.
SsmGetPlayedPercentage Obtains the percentage of the played data to the entire.
SsmGetPlayedTime Obtains the duration of voice playing.
The recording signal source varies on the board model. Refer to the operation principle of corresponding board
Series for details.
After the start of voice recording, other than the occasion where the task stops naturally by itself or is terminated by
the application through function calls, the driver will automatically end it once the channel detects some events
triggered by particular conditions, simplifying compilation of the application program. The ‘particular conditions’
mentioned here include:
(1) The DTMF Detector detects DTMF digits in the incoming signals.
Prerecord is a process that the driver starts a prerecord task according to reset parameters and stores the
recorded data in its internal buffers; thus, when the application invokes functions to record data into a file, it can
copy the recorded data in the buffer from the driver to this file before the start of normal recording. This feature
helps prevent loss of the foremost part of voice data during File Mode recording caused by delay in application
response and the like.
As to the buffer for prerecord data, the size can be set via the configuration item RecordBufSize.
When the application stops recording data into files, the driver will automatically truncate the last section of the
recorded voice data. This feature is applicable to some particular occasions, for example, in case the driver’s
detection of DTMF signals stops the File Mode recording and the application doesn’t like those DTMF digits shown
in the file.
This feature only supports File Mode recording and requires cooperation with the settings ‘automatic stop of voice
recording upon detection of DTMF’.
If the AGC (Automatic Gain Control) feature is enabled, the driver will automatically adjust the input signal
amplitude, increasing that of small signals and decreasing that of large signals.
The function SsmSetRecAGC is used to enable or disable the AGC feature, whose parameters can be set via the
following configuration items.
AGCMAXGAIN
AGCMINGAIN
AGCMAXLEVEL
AGCMINLEVEL
AGCDOWNRATIO
AGCUPRATIO
AGCKEEPTIME
For DST-24B/PCI, DST-24B/PCI+, DST-24B/PCIe, DST-24B/PCIe+ boards, the parameters for AGC module can
be set both uplink and downlink via the following configuration items:
AGCMAXGAINUPLINK
AGCMINGAINUPLINK
AGCMAXLEVELUPLINK
AGCMINLEVELUPLINK
AGCDOWNRATIOUPLINK
AGCUPRATIOUPLINK
AGCMAXGAINDOWNLINK
AGCMINGAINDOWNLINK
AGCMAXLEVELDOWNLINK
AGCMINLEVELDOWNLINK
AGCDOWNRATIODOWNLINK
AGCUPRATIODOWNLINK
Note:
z The AGC operation principle for the Synway voice board is to adjust the gain of amplifiers in AGC
circuits according to the voltage level of originally input signals so as to control the output signal
level within an expected range. By setting AGC parameters, we can provide various AGC effects to
satisfy different application environments and different users. Our AGC parameters may be divided
into three categories: first, AGCMAXGAIN (AGCMAXGAINUPLINK, AGCMAXGAINDOWNLINK) and
AGCMINGAIN(AGCMINGAINUPLINK, AGCMINGAINDOWNLINK), used to control the range of DSP
gain increase and decrease; second, AGCMAXLEVEL(AGCMAXLEVELUPLINK,
AGCMAXLEVELDOWNLINK) and AGCMINLEVEL(AGCMINLEVELUPLINK, AGCMINLEVELDOWNLINK),
used to set the expected value of the AGC output voltage level; third, AGCDOWNRATIO
(AGCDOWNRATIOUPLINK,AGCDOWNRATIODOWNLINK),AGCUPRATIO(AGCUPRATIOUPLINK,
AGCUPRATIODOWNLINK) and AGCKEEPTIME, used to control the speed of AGC gain
decrease/increase.
z Our default AGC settings are suitable for most application environments. If you are required to reset
the parameters for AGC in particular cases, please do it under the instruction of our technicians.
z Because the driver will automatically disable the AGC feature when the channel state transfers to
S_CALL_STANDBY, although the application can still perform recording on the channel, the data
recorded afterwards are obviously not endued with the AGC feature. If the application would like to
recover the AGC feature in this case, it is necessary to set the configuration item
OpenRecEnAndPlayEnOnIdle.
The driver will allocate in itself a recording buffer for each channel. The buffer size can be set via the configuration
RecordBufSize item, with a default value of 32768 bytes.
There are 3 categories of recording functions respectively for 3 recording modes: File Mode, Buffer Mode and
Pingpong Buffer Mode.
In this mode, the application program first calls the function SsmRecToMem to submit a buffer to the driver. Then
the driver writes the recorded data into this buffer and throws out progress messages according to the set
conditions.
This mode uses double buffers. Its operation principle is: Before the start of voice recording, the application
prepares one (or two) recording buffer, and then invokes the function SsmRecordMemBlock once (or consecutively
twice) to submit the buffer to the driver. After the application calls SsmRecordMemBlock for the first time, the driver
will start voice recording in Pingpong Buffer Mode and write the recorded data into the buffer. When one buffer is
full, the driver will automatically shift to another and meanwhile invoke the callback function from the application to
pass an end-of-record message to the application. Via this callback function, the application can call
SsmRecordMemBlock to submit a new buffer and do subsequent processing of the recorded data.
Compared with Buffer Mode, Pingpong Buffer Mode has the following characteristics.
z The minimum buffer size can be set to 192 bytes.
z Support for the callback operation mode.
Since neither Windows nor Linux is a true real-time operating system, there is bound to be some delay in
transmitting recorded data from the board to the application buffer. Besides, as voice data need to be passed from
the device driver (Kernel Mode) to the application program (User Mode), involving the switch from Kernel Mode to
User Mode, the delay in time is not invariable but changes depending on how busy the application is. A relatively
effective way to shorten the delay time is to reduce the buffer size and enhance the priority for the application to
process voice data at the same time. The driver’s thread priority is quite high, and in this case all related source
codes in the callback function can acquire the priority as high as that of the driver. From the above we can see that
the use of Pingpong Buffer Mode can minimize this kind of delay, so it is applicable to those occasions that require
high real-time capability in voice recording.
All Synway boards provide an independent DTMF detector for each channel on them.
The following figure shows the operation principle of the DTMF detector.
Î E_PROC_WaitDTMF
WaitDTMF Buffer
K1
Inbound 2
FFT DTMF Filter Pulse-width Filter K2
Voice
1 3
RcvBuffer
Callback
DTMF Detector
Î E_CHG_RcvDTMF
The switch K1 is controlled by the configuration item AlwaysEnableRxDtmf, the driver and the application together.
When AlwaysEnableRxDtmf is set to 1, K1 is switched on; when AlwaysEnableRxDtmf is set to 0, it is the driver
that determines the state of K1 based on channel state transition: switch on K1 as the channel turns to the talking
state; switch off K1 as the channel leaves the talking state followed by call disconnection. Also the application can
invoke the function SsmEnableRxDtmf to control the state of K1.
When a station channel stays in the idle state, the DTMF detector is disabled under the automatic control of the
driver, which however can be enabled via the configuration item RcvDtmfOnIdle.
FFT (Fast Fourier Transform) figured above indicates FFT signal processing provided to transform input voice
signals from the time domain to the frequency domain.
The DTMF filter examines the frequency of input signals to see if there are DTMF digits and outputs its judgement
by voltage level.
The pulse-width filter is used for eliminating the pulse width of DTMF signals so as to avoid the effect of interlarded
DTMF signals on the examining result. The detected DTMF digits are output via the switch K2 while being passed
to the callback function.
The switch K2 is automatically controlled by the driver to determine the outgoing route of DTMF signals. Usually
the driver puts K2 at the 1-3 position, stores the detected DTMF digits to the buffer RcvBuffer, and meanwhile
sends the event E_CHG_RcvDTMF to the application program.
RcvBuffer holds the detected DTMF, whose size can be specified via the configuration item RxDtmfBufSize. The
following functions helps access RcvBuffer.
detector buffer.
SsmGetDtmfStr
Obtains the DTMF digits saved in the DTMF detector buffer.
SsmGetDtmfStrA
SsmGetRxDtmfLen Obtains the number of DTMF digits saved in the DTMF detector buffer.
SsmGet1stDtmf
Obtains the first DTMF digit received by the DTMF detector buffer.
SsmGet1stDtmfClr
SsmGetLastDtmf Obtains the last DTMF digit received by the DTMF detector buffer.
When the application invokes the function SsmSetWaitDtmf to start a task of WaitDtmf, K2 will automatically switch
to the 1-2 position and the detected DTMF digits be sent to the WaitDtmf component for subsequent processing.
Note that none of the detected DTMF digits will enter RcvBuffer after the task of WaitDtmf is started, however, the
DTMF digits which already exist in RcvBuffer will be copied to the buffer.
The DTMF filter examines the frequency of input signals to see if there are DTMF digits involved, and prevents the
mistaking of voice signals for DTMF.
The corresponding relationship between DTMF digits and the frequency is shown in the following table.
The following configuration items and functions help ensure the DTMF filter to make accurate judgements.
The figure below shows the operation principle of the DTMF pulse-width filter.
DTMF signal
Ton Toff
t0 t1 t2 t3
In the figure above, Ton and Toff represent the minimum DTMF signal durations respectively at on and off states
(voltage level). In practice, after the voltage level of the input DTMF signal transforms from low to high, only if the
signal stays at on or off state for more than Ton /Toff will the driver conclude that it is a real DTMF digit that goes
through the line, write this digit into a buffer and send the event E_CHG_RcvDTMF to the application program at
the same time.
Ton and Toff are set via the configuration item ReceiveDtmfSensitive or the function SsmSetFlag (with the
parameter F_RCVDTMFSENS).
The configuration item OmitABCD is used to determine on whether to discard the received a, b, c or d digit. If this
item is set to RESERVED, the a, b, c or d will be sent to the subsequent processing component with other digits,
otherwise be discarded.
The configuration item DtrmOnDtmfHighLevel is used to determine the time for the driver to output the DTMF digit.
In the use of the high-level output setting, the driver will immediately detect the output of DTMF digits when the
signal last at on state for more than Ton (i.e. at the time t1 in the figure above); in the use of low-level output setting,
the driver can detect the output of DTMF digits only when the signal transforms from on to off state and keeps at off
state for more than Toff (i.e. at the time t3 in the figure above).
1.10.3.3 WaitDtmf
WaitDtmf is a task of receiving particular DTMF digits submitted to the driver by the application. It is started when
the application invokes the function SsmSetWaitDtmf. The DTMF digits detected afterwards by the DTMF detector
will not enter RcvBuffer but come directly into the WaitDtmf component. Then the driver determines on whether to
terminate this task according to preset conditions: it will send the event E_PROC_WaitDTMF to the application and
end this WaitDtmf task once the termination condition is satisfied.
The Callback component is used to process the application’s callback function. Provided the application has
configured a callback function by calling the function SsmSetRxDtmfHandler, the driver will invoke this callback
function when it detects DTMF digits.
The DTMF detector for the analog trunk recording channel is able to detect the dial pulse provided the
configuration item EnablePulseKeyDetect is properly reset.
The DTMF generator can produce standard DTMF digits on the line, including ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’,
‘*’, ‘#’, ‘A’, ‘B’, ‘C’, ‘D’.
The following figure shows the operation principle of the DTMF generator.
Î E_PROC_SendDTMF
The Synway board prepares an independent DTMF generator and a TxDtmfBuffer for each channel.
The size of TxDtmfBuffer can be designated via the configuration item TxDtmfBufSize, with a default value of 50
characters.
The DTMF generator is able to create DTMF digits which in frequency and amplitude completely meet the country
criteria for DTMF dialing. Below is a typical DTMF signal produced by the DTMF generator.
A
DTMF signal
Ton Toff
As shown above, Ton and Toff are used to describe the waveform of a DTMF digit: Ton indicates the signal duration
at on state while Toff represents the signal duration at off state. Both of them can be set via the configuration item
TxDtmfTimePara or the function SsmSetTxDtmfPara. The function SsmGetTxDtmfPara is for obtaining the Ton and
Toff settings.
The signal amplitude A can be set via the function SsmSetFlag (with the parameter F_TXDTMFAMP). The default
value is 0X8976, among which the 8 higher bits set the amplitude of low frequency and the 8 lower bits set the
amplitude of high frequency. The conversion between Amplitude A and DB is Y=20*lg(X/16), among which Y is the
DB value and X is the set value. Take the default value 0X8976 for example. According to the conversion formula,
the low-frequency DB value is 18.65=20*lg(137/16) and the high-frequency DB value is 17.35=20*lg(118/16).
After the application invokes the function SsmTxDtmf, the diver will store the DTMF digits to be transmitted in
TxDtmfBuffer and start a task to transmit DTMF at the same time. Every time when the DTMF generator finishes
transmitting a digit, it will automatically take the next one out of TxDtmfBuffer for transmission. As TxDtmfBuffer
gets empty, which indicates termination of the task, the driver will send the event E_PROC_SendDTMF to the
application.
You can use the function SsmStopTxDtmf to stop transmission at any time and the function SsmChkTxDtmf to
query the task progress.
Each channel on the Synway board has an independent tone detector which is mainly for:
Tip: Skip this section if your system does not involve such applications mentioned above. Otherwise, if
your system contains analog trunk channels or analog trunk recording channels, read through this
section carefully as it is quite essential to your system’s compatibility.
The figure below shows the operation principle of the tone detector and the event outputs concerned.
Î E_CHG_RingEchoToneTime
Î E_CHG_BusyTone
Î E_CHG_BusyToneEx
K3
Inbound Voice
Simplified Busy Tone Detector
Energy
K1
1st
Inbound A
FFT Noise Filter K6 Call Progress Tone Detector
V
K2
2nd ÎE_CHG_ToneAnalyze
DSP B K4 +
Call Progress Tone Detector
K5
Fax Progress Tone Detector
ÎE_CHG_VocFxFlag
K7
Answering Machine Detector ÎE_CHG_AMD
Tone Detector
Î E_CHG_ToneDetector
Enhanced Tone Detector
Î E_CHG_ToneDetectorItem
The switch K1, which can be set via the function SsmStartToneAnalyze/ SsmCloseToneAnalyze, controls the
operation of the tone detector as well as the remote pickup detector. It is under an automatic control of the driver
based on channel state transition and switched on after system initialization. Refer to the section on channel state
machine for details.
K2 is automatically controlled by the DSP program: it is switched off when starting the on-channel FSK receiver,
and switched on otherwise.
K6 determines the use of the enhanced tone detector. It can be set by the configuration item ToneDetectorMode.
By default, K6 is connected with A, using the 1st and 2nd call progress tone detectors as well as the fax progress
tone detector for detection. When K6 is connected with B, the enhanced tone detector is used for detection.
• FFT
FFT indicates FFT signal processing provided to transform input voice signals from the time domain to the
frequency domain. The processing results are sent to the subsequent component for analysis and calculation.
Also the overall energy of on-line voice signals is calculated in this component. Since FFT calculation is
performed in DSP chips, no host resource needs to be used.
• Noise Filter
It is used to examine if there are call progress tones, whether single tones or dual tones, on the line. Each tone
detector has 2 call progress tone detectors independent to each other. The switch K4, which is switched off in
default and can be set via the configuration item Enable2ndToneAnalyzer or the function
SsmStart2ndToneAnalyzer, determines whether to use the second call progress tone detector or not.
It is used to examine if there are single fax progress tones on the line. Each tone detector has 2 fax progress
tone detectors independent to each other. This detector becomes useless when K4 is connected to the second
call progress tone detector.
When the application program starts the FSK receiver on the analog trunk channel, the on-board DSP
program will automatically switch off K2 so that the tone detector is disconnected and fails to work in a normal
state. However, some particular occasions using the SHT Series boards require the application to detect busy
tones while receiving FSK data to ensure an accurate judgement on the remote hangup behavior in time. The
simplified busy tone detector is just designed for such requirements. The application can use it simply by
switching on K1 and K3 at the time when K2 is automatically switched off by the DSP program. As this detector
only accepts the energy of incoming signals output by the Barge-in detector, it is unable to conduct sufficient
analysis over the signal frequency but has to examine the signal waveform to make sure if there are busy
tones on the line. Therefore, we name it the simplified busy tone detector.
As a perfect substitute for call progress tone detector and fax progress tone detector, the enhanced tone
detector can detect not only the kinds of tones detected by these two detectors, but also some particular tones
(such as SIT signals).
Note: So far only a part of Synway boards listed below support the enhanced tone detector. See the table for
details.
SHT-16C-CT/PCI/FAX Supported
SHT-16C-CT/PCI/EC Supported
SHT-16D-CT/PCIe Supported
SHT-4A/USB Supported
SHT-2A/USB Supported
SHT-2B/USB Supported
SHT-4B/USB Supported
SHF-2D/PCI Supported
SHF-4D/PCI Supported
It is used to distinguish the answering machine from the human being that answers after remote pickup. K7 is used
to control whether the answering machine auto-run . This function also can be sets via the configuration item
EnableAMD, The default value of K7 is connected (switched on).
The following configuration items also can influence the action of answering machine detector. Details are shows
as below.
AMDNoSoundAfterDialTime: Uses to judge the line silence time after dial tone overtime or not. If the line silence
time is over the value of AMDNoSoundAfterDialTime, events E_CHG_AMD will be throw out.(at this condition, the
value of E_CHG_AMD is 5)
AMDNoSoundTime: Uses to judge the silence time after tone or color ring detected overtime or not. If the silence
time is over the value of AMDNoSoundTime, events E_CHG_AMD will be throw out.(at this condition, the value of
E_CHG_AMD is 4)
AMDTimeOut: Uses to judge the whole AMD detecting process overtime or not. If this process is over the value of
AMDTimeOut, events E_CHG_AMD will be throw out.(at this condition, the value of E_CHG_AMD is 3)
AMDToneCount: Uses to judge if the tone detected time is overtime or not. If this time is over the value of
AMDToneCount, the event E_CHG_AMD will be thrown out (at this condition, the value of E_CHG_AMD is 1).
AMDTOn: Uses to set the lowest duration when the voice goes into the High voltage state.
AMDTOff: Uses to set the lowest duration when the voice goes into the low voltage state.
AMDTimeA: Uses to set the lowest silence duration before the phone pickup by man detected.
AMDTimeB: Uses to set the lowest duration when the phone pickup by man detected.
AMDTimeC: Uses to set the maximal duration when the phone pickup by man detected.
AMDTimeD: Uses to set the lowest silence duration after the phone pickup by man detected.
AMDSilentEnergy: Uses to set an energy value that can judge the voice is silence or not.
1.10.5.1 FFT
The FFT component in the on-board DSP chips provides FFT signal processing, transforming input voice signals
from the time domain to the frequency domain and performing a FFT calculation of on-line voice signals every
16ms. The results are input to the subsequent component.
Following the FFT signal processing, the driver will send the events listed below to the application.
• E_OverallEnergy: sends the overall energy calculated by FFT to the application. The application
need not respond to this event in most cases.
• E_CHG_PeakFrq: sends the calculated frequency and in-band energy of the peak signal in the
spectrum to the application. The function SsmSetPeakFrqDetectBW is used to set the bandwidth of
the peak frequency. The application need not respond to this event in most cases. Note that this
Note:
z We do not use decibel (DB) as the dimensions for the output overall energy with the purpose of
simplifying the calculation. If the application requires DB as the dimensions, the transformational
relation between the output overall energy and DB can be expressed as follows (suppose X is the
energy value obtained via API functions).
SHT Series: DB=10*lg(X/72,000,000)
SHD Series: DB=10*lg(X/33,000,000)
SHN Series: DB=10*lg(X/33,000,000)
ATP Series: DB=10*lg(X/72,000,000)
DTP Series: DB=10*lg(X/33,000,000)
DST Series: DB=10*lg(X/33,000,000)
24DA Boards: DB=10*lg(X/22,000,000,000)
z The FFT component quits working upon the start of the FSK receiver.
Usually there is no need to reconfigure the noise filter, for its default settings are adequate for most situations.
The following figure demonstrates the operation principle of the noise filter.
MinimumVoiceDetermineEnergy / SsmSetMinVocDtrEnergy
When the overall energy is less than the threshold value specified by the configuration item
MinimumVoiceDetermineEnergy (or the function SsmSetMinVocDtrEnergy), the driver will identify the signal as a
noise, otherwise as a true voice or tone.
Since the analysis made by the call progress tone detector on the analog trunk channel has a direct effect on the
call progress, it appears exceptionally important to properly use and configure the call progress tone. In general,
application systems can be divided into two categories based on different connection methods: connection to
direct line and connection to extension line.
Below is the application system that connects to the direct line (COT: Central Office Terminal).
Analog Trunk
ShT-xxB/PCI
…
COT
Application System
Connection to Direct Line
Such application system only requires the board driver to detect one kind of call progress tone.
Since the proprietary PBX and the COT involved in the above situation probably differ in tone from each other, the
board driver is required to detect two kinds of call progress tone at the same time.
There are two call progress tone detectors - the 1st and the 2nd - available for various cases. Its operation principle
is shown in the figure below.
As illustrated above, the call progress tone detector consists of the frequency detector, the pulse-width filter, the
dial tone detector, the echo (ringback) tone detector, the busy tone detector and the user-defined tone detector.
The dial tone detector, the echo (ringback) tone detector, the busy tone detector and the user-defined tone detector
can work in double harness.
• Frequency Detector
The frequency detector examines the frequency of input signals to determine if there contain tones at the specified
frequency. It calculates the percentage of in-band energy of dual tones to overall energy in real time and compares
the result with a set threshold value. If the percentage is greater than the threshold value, it will conclude that the
on-line signals are tones and output the judgement by voltage level (High voltage level means detection of tones
while low level implies nondetection).
You can use the configuration item TonePara or the function SsmSetTonePara to set the two frequency parameters
for the frequency detector in the 1st call progress tone detector, including the center frequency, the bandwidth and
the threshold value for the percentage of in-band energy.
Likewise, you can use the configuration item 2ndTonePara or the function SsmSet2ndTonePara to set the two
frequency parameters for the frequency detector in the 2nd call progress tone detector, including the center
frequency, the bandwidth and the threshold value for the percentage of in-band energy.
• Pulse-width Filter
The pulse-width filter is used to filter signals by pulse width so as to eliminate the effect of interlarded tones on
detection. In case the voltage level of the signal transforms from low to high, only if the signal stays at on state for
more than the time specified by the configuration item ToneHighFilterPoint will the driver confirm the tone’s coming
to being; In case the voltage level of the signal transforms from high to low, only if the signal stays at off state for
more than the time specified by the configuration item ToneLowFilterPoint will the driver confirm the tone’s
disappearing.
Note:
(1) The configuration parameters of the pulse-width filter also work on the 1st and 2nd call
progress tone detectors as well as the fax progress tone detector.
(2) On the analog trunk channel or analog trunk recording channel, the results acquired by the
dial tone detector, the echo (ringback) tone detector, the busy tone detector and the
user-defined tone detector in the 1st call progress tone detector will automatically trigger
corresponding events to change the state machine; however, whether the results obtained in
the 2nd call progress tone detector trigger corresponding events to change the state machine
or not is determined by the configuration item Check2ndToneOnAutoDial.
Detection of dial tones is accomplished by the dial tone detector. The figure below shows the typical dial-tone
waveform.
t0 t1 t2
Tone
Td
The tone detector will throw out the event E_CHG_ToneAnalyze (with the parameter CHKTONE_DIALTONE) once
the tone duration at on state counted by the driver reaches the threshold value Td which is set to judge the dial tone,
and send off E_CHG_ToneAnalyze (with the parameter CHKTONE_NO_RESULT) when the dial tone disappears.
For the 1st call progress tone detector, Td is specified by the configuration item IsDialToneDetermineTime or the
function SsmSetIsDialToneDtrTime; for the 2nd (if available), Td is designated by the configuration item
2ndIsDialToneDetermineTime or the function SsmSet2ndIsDialToneDtrTime.
Detection of ringback tones is accomplished by the ringback tone detector. The figure below shows the typical
ringback-tone waveform.
Count=1 Count=2
Tone
Ton Toff
Î E_CHG_RingEchoToneTime Î E_CHG_RingEchoToneTime
Î E_CHG_ToneAnalyze[CHKTONE_ECHOTONE]
Main parameters for the ringback tone includes Ton (duration at on state) and Toff (duration at off state). Once
detecting a signal either at on or off state lasts for a time that matches the set value, the call progress tone detector
considers the signal as a ringback tone and adds 1 to the ringback tone count. Both Ton and Toff accept the error of
±20%.
For the ringback (echo) tone detector in the 1st call progress tone detector, the configuration item
RingEchoTonePara or the function SsmSetRingEchoTonePara can be used to set Ton and Toff; for that in the 2nd (if
available), the configuration item 2ndRingEchoTonePara or the function SsmSet2ndRingEchoTonePara is used.
The driver will send off the event E_CHG_RingEchoToneTime every time when the count output by the ringback
tone counter on a ringback tone detector in the 1st or 2nd call progress tone detector varies, but throw out the event
E_CHG_ToneAnalyze (with the parameter CHKTONE_ECHOTONE) only when the count turns to 1. Also the
function SsmGetRingEchoToneTime can be used to acquire the duration of ringback tones.
Detection of busy tones is accomplished by the busy tone detector. The figure below shows the typical busy-tone
waveform.
Beginning of 1st busy tone Count=1 Count=2
Tone
Ton Toff Busy-tone Interval
Î E_CHG_BusyTone Î E_CHG_BusyTone
Î E_CHG_ToneAnalyze[CHKTONE_BUSYTONE]
As shown in the figure above, a busy tone cycle falls into two parts: one corresponding to the signal duration at on
state (Ton) and the other to the duration at off state (Toff). Because the duty ratio of busy tones is 50%, the value of
Ton is equal to that of Toff and the driver only uses the busy tone cycle to determine if the on-line signals are busy
Once the signal duration at on or off state matches the set parameters of busy tones, the busy tone detector will
consider the input signals as busy tones, add 1 to the corresponding busy tone counter (i.e. ‘Count’ mentioned in
the above figure) and throw out the E_CHG_BusyTone event; when the count output by the busy tone counter
equals a specified value, it will send off the event E_CHG_ToneAnalyze (with the parameter
CHKTONE_BUSYTONE). The results from the busy tone detector also can be obtained via the following functions.
Each busy tone detector is able to examine 4 groups of busy tones which differ in cycle at one time.
Configuring the busy tone detector in the 1st call progress tone detector:
In practice, the driver may mistake some signals resembling busy tones occasionally involved in voice signals as
busy tones. To solve such problem, the busy tone detector sets a guard time threshold value (marked as Tmax).
When the interval between two busy tone cycles gets longer than Tmax, the busy tone counter will automatically set
the count to 0 so as to avoid misdetection.
The configuration item MaxBsTnOffTime is used to set Tmax and is applicable to busy tone detectors in both the 1st
and 2nd call progress tone detectors.
The conventional method to detect busy tones may become useless on the analog trunk channel in some
particular instances, such as in the application system based on the SHT Series boards shown below.
Subscriber A
Analog Trunk
PBX-A
ShT-xxB/PCI
Subscriber B
Application System
PBX-B
The SHT board in the application system uses two trunk channels to connect with Subscriber A and Subscriber B
respectively through PBX-A and PBX-B, which enables a two-way call between A and B via CT bus. When one
party (e.g. Subscriber A) hangs up and PBX-A sends busy tones to the board, Subscriber B will hang up too upon
hearing the busy tone and command PBX-B to deliver busy tones to the board. At that time if the on-board circuits
are not thoroughly disconnected yet, busy tones on either channel will go distorted and lose the regular waveform
under the influence of echoes. As a result, the busy tone detector fails to detect busy tones accurately and the two
channels stay occupied all the time.
To solve such problem, the busy tone detector is designed with the capability of back-to-back busy tone detection,
which requires no extra configuration. However, the result of back-to-back busy tone detection is not contained in
those output by the tone detector but supplied solely by the E_CHG_BusyToneEx event to the application program.
Also it can be acquired by using the function SsmGetBusyToneEx.
Note: Only the 1st call progress detector supports back-to-back busy tone detection.
The user-defined tone detector is only applicable to some particular occasions, such as when it is required to
detect some user-defined waveforms during the runtime of the dial tone detector, ringback tone detector and busy
tone detector. This detector is able to detect both continuous and periodic tones.
Configuring the user-defined tone detector in the 1st call progress tone detector:
Configuring the user-defined tone detector in the 2nd call progress tone detector:
There are two fax progress tone detectors respectively called the 1st fax progress tone detector and the 2nd fax
progress tone detector, which are used to detect at one time two fax progress tones at different frequency. The fax
progress tone is a single continuous tone.
Tone
Td
The fax progress tone detector starts counting when it detects the signal at specified frequency. When the count
reaches the threshold value Td, the driver will throw out the events E_CHG_VocFxFlag and E_CHG_ToneAnalyze
(with the parameter CHKTONE_VOICEF1 or CHKTONE_VOICEF2) in order. Also the application can obtain the
result via the function SsmGetVocFxFlag.
The parameters of the fax progress tone detector include the center frequency, the bandwidth, the threshold value
for the percentage of in-band energy to overall energy and the minimum guard time Td. Those of the 1st fax
progress tone detector can be set via the configuration item VoiceFreqF1Para or the function SsmSetVoiceFxPara
while those of the 2nd via the configuration item VoiceFreqF2Para or the function SsmSetVoiceFxPara.
Note: The detection of fax answering tones during AutoDial on the analog trunk channel or analog trunk
recording channel usually indicates that the called party (fax machine) has picked up. Therefore, the result
obtained by the fax progress tone detector will automatically trigger the corresponding event to change
the state machine.
Its operation principle, relative configuration items or functions, output events are all shown in the following figure.
K3
ÎE_CHG_BusyTone
Noise Filter Pulse-width Filter Busy Tone Detector ÎE_CHG_ToneAnalyze
As illustrated above, the operation of the simplified busy tone detector is controlled by the switch K3 which can be
set via the configuration item ToneAnalyzeAtRcvFsk.
The noise filter herein works in the same way as the ‘Noise Filter’ described in the previous section except that the
threshold value for judging the noise is set via the configuration item TAARFDetermineEnergy. Usually there is no
need to reconfigure the noise filter, for its default settings are adequate for most situations.
The pulse-width filter herein runs in an identical manner as the ‘Pulse-width Filter’ described in the previous section,
involving the same configuration items.
What makes the simplified busy tone detector different from the call progress detector is that it doesn’t examine the
frequency of input signals, i. e. it assumes all input signals are tones, so that it doesn’t contain the frequency
detector.
The algorithm used to examine the busy tone waveform is the same as that supported by the call progress tone
detector to examine the regular busy tone waveform. Like the busy tone detector in the 1st call progress tone
detector, this detector is able to examine 4 groups of busy tones which differ in cycle at one time and uses the
same waveform parameters, i.e.
The simplified busy tone detector also has the ability to prevent misdetection of busy tones, which is enabled
similarly by setting the guard time Tmax via the configuration item MaxBsTnOffTime.
This detector outputs in an identical manner as a standard busy tone detector. Every time when a busy tone cycle
is detected, the detector will add 1 in the busy tone counter (i.e. ‘Count’ mentioned in the above figure) and throw
out the E_CHG_BusyTone event; when the count reaches a specified value, it will send off the event
E_CHG_ToneAnalyze (with the parameter CHKTONE_BUSYTONE).
Note:
z For the analog trunk channel, the E_CHG_ToneAnalyze event will be automatically triggered at
the same time to change the state machine.
z Only the SHT Series analog trunk channel is designed with the simplified busy tone detector.
the following figure show the principle diagram, relative configuration items, functions and output event of AMD.
EnableAMD SsmGetAMDResult
SsmClearAMDResult
K6
Answering Machine Detector ÎE_CHG_AMD
Answering machine detector is controlled by K6 which also can set by configuration item EnableAMD.
The AMD distinguish the answering machine from the human being through analyzing the on-line voice. This
detector can widely uses in dialing system to improve the woke efficiency of seat telephone operator. Now, the
successful rate of distinguishing the answering machine from the human being is higher then 90%.
The result of AMD can be obtain through output the parameter of event E_CHG_AMD or via calling the function
SsmGetAMDResult to get it return value. calling the function SsmClearAMDResult can clear the detecting result of
last time.
Note:
z If the channel is an analog trunk channel, AMD will auto-start after dialing. If the channel is a digital
trunk channel, AMD will auto-start after the channel turns into the talking state.
The operation principle of the enhanced tone detector is to divide tones into three categories for detection, i.e.
continuous tone, periodic tone and special information tone (SIT - three continuous single tones). Set with different
parameters according to various characteristics of these three kinds of tones, this detector can properly detect all
of them.
All parameters used are described as follows.
The 1st mid-frequency F1
¾ For continuous tones, when a single tone is detected, F1 represents its frequency; when a dual tone is
detected, F1 indicates the 1st mid-frequency of the tone.
¾ For periodic tones, when a single tone is detected, F1 represents its frequency; when a dual tone is
detected, F1 indicates the 1st mid-frequency of the tone.
¾ For a special information tone (SIT), F1 represents the frequency of the 1st band.
The 2nd mid-frequency F2
¾ For continuous tones, when a single tone is detected, F2 is equal to 0; when a dual tone is detected, F2
indicates the 2nd mid-frequency of the tone.
¾ For periodic tones, when a single tone is detected, F2 is equal to 0; when a dual tone is detected, F2
indicates the 2nd mid-frequency of the tone.
¾ For a special information tone (SIT), F2 represents the frequency of the 2nd band.
The frequency of the 3rd band F3
¾ Only valid for special information tones (SIT), F3 represents the frequency of the 3rd band.
Durations T1, T2, T3
¾ For continuous tones, T1 indicates the duration at on state; T2, T3 are invalid.
¾ For periodic tones, T1 indicates the duration at on state in a period; T2 indicates the duration at off state
in a period; T3 is invalid.
¾ For a special information tone (SIT), T1, T2, T3 respectively indicate the durations of three continuous
single tones.
The filtering point number at on and off states Con, Coff (time length at each point is 16ms)
¾ Set the time to judge the wave form (upwards or downwards). When the filtering point number gets
larger than Con, we say the wave goes into the on state; when the filtering point number is larger than
Coff, the wave is considered getting the off state.
The frequency error threshold Ferr(Hz)
¾ Sets the accepted error of the parameters F1, F2, F3.
Tone
T1
Î E_CHG_ToneDetector
T1: F1(Hz), F2(Hz)
ÎE_CHG_ToneDetectorItem
The dial tone and the fax tone F1/F2 belong to this kind and should be configured as continuous tones. Once the
duration at on state T1 is detected, the events E_CHG_ToneDetector and E_CHG_ToneDetectorItem will be
thrown out.
z Periodic Tone
Tone
T1 T2
Tone Periodic
The ringback tone, the howler tone and the busy tone all belong to this kind and should be configured as periodic
tones. Once a complete cycle is detected, the events E_CHG_ToneDetector and E_CHG_ToneDetectorItem will
be thrown out.
T1 T2 T3
SIT Tone
T1: F1(Hz)
ÎE_CHG_ToneDetector Î E_CHG_ToneDetectorItem
T2: F2(Hz)
ÎE_CHG_ToneDetectorItem ÎE_CHG_ToneDetectorItem
T3: F3(Hz)
An SIT tone consists of three continuous single tones, each of which has its own frequency. Such kind of tones
should be configured as SIT tones. Once three continuous single tones are detected, the events
E_CHG_ToneDetector and E_CHG_ToneDetectorItem will be thrown out.
The parameter dwParam of the event E_CHG_ToneDetector tells the kind of tones and the N which this kind of
tones corresponds to in ToneDetectorItem[N]. The event E_CHG_ToneDetectorItem records the period of tones,
and the 2 lower bits of dwParam indicate how many periods the tone lasts.
To be compatible with previously developed application programs, the enhanced tone detector provides the
following interfaces other than the event interfaces E_CHG_ToneDetector and E_CHG_ToneDetectorItem.
API Interface: SsmStartToneAnalyze, SsmCloseToneAnalyze, SsmGetToneAnalyzeResult,
SsmClearToneAnalyzeResult
Event Interface: E_CHG_ToneAnalyze
The ‘tone’ mentioned herein refers to the call progress tone at a constant frequency and a certain tempo. It uses
various tempos to imply different on-line states, for example, the remote end hangs up, the line is busy, etc. Each
channel on the Synway boards has an independent tone generator.
The parameters of the tone generator include the center frequency (either single or dual), the amplitude and the
tempo. Tones can be separated by tempo into two categories: the continuous tone and the periodic tone.
The continuous tone is the tone that keeps going at on state throughout the runtime of the tone generator. The dial
tone is of this kind with the waveform as shown below.
Dial Tone
The periodic tone is the tone which undergoes several signal cycles, each of which involves a duration at on state
and a duration at off state. The busy tone and the ringback tone are of this kind with the typical waveform as shown
below.
Periodic Tone
Ton Toff
T1 T2
In the figure above, T1 and T2 respectively represent the 1st and 2nd cycles while Ton and Toff indicate the signal
durations respectively at on and off states. The rate of Ton to Toff is called duty ratio: the busy tone’s duty ratio is 1:1
and the ringback tone’s is 1:4.
Configuration items or functions related to frequency and amplitude are displayed in the following table.
Functions related to the tone generator are shown in the following table.
Function Name Description
SsmSendTone Starts the tone generator.
SsmSendToneEx Starts the tone generator (allowed to set Ton and Toff in parameters).
SsmStopSendTone Stops the tone generator.
SsmChkSendTone Obtains the type of tones being sent by the tone generator.
Note: The operations listed below are forbidden once the tone generator is started (except for 120A series
boards).
• Voice playing;
• Run of the DTMF generator;
• FSK data transmission.
The echo cancellation feature helps effectively improve the quality of voice communications and greatly enhance
the accuracy of the DTMF detector and the Barge-in detector.
The operating mode of the echo canceller can be set via the function SsmSetEchoCanceller or the configuration
item EnableEchoCancellor, with a default setting of ‘Enabled’. Note: Because the echo canceller once enabled
will change incoming signals, if FSK data reception is required to be performed on a channel, you should
disable the echo canceller and not enable it until the reception is completed to ensure the reliability in data
communication.
You can modify the configuration item LoadFskBin to optimize the performance and the effect of the echo canceller
for the SHD Series 30/60/120-channel boards. However, it may cause those boards to lose the call recording and
FSK data receive/transmit features due to the DSP resources being exhausted.
The echo canceller afforded by the Synway board in default is adequate for most application environments. If you
are required to change the operating mode or reset the parameters of the echo canceller in some particular
instances, please do it under the instruction of our technicians. Its parameters can be set via the function
SsmSetEchoCancelDelaySize or the configuration item EchoCancelDelaySize.
The Barge-in detector is used to detect voice activities on the line, often applicable to those occasions that involve
the voice-controlled recording, the automatic speech recognition (ASR), etc. As long as a channel possesses the
capability of echo cancellation, it will prevent the echoes of outgoing signals from the local end (e.g. voices
generated during voice playing) going to the Barge-in detector, which thereby brings about quite precise results for
the Barge-in detector. To know if a channel has the capability of echo cancellation, refer to relative hardware
manuals.
The Barge-in detector is composed of the noise filter, the voice activity detector and the silence detector as shown
in the figure below.
K1
Inbound Voice
Noise Filter Voice Activity Detector ÎE_SYS_Bargein
Barge in Detector
The switch K1 which is under an automatic control of the driver determines the operating mode of the Barge-in
detector and the driver control mechanism is demonstrated by the following table:
If you are using the SHD Series boards, you can have K1 switched on all the time via the configuration item
AlwaysDetectBargeIn no matter which state the channel transfers to.
If you are using the SHN, DTP or SHV Series boards, Switch K1 can be controlled only by the configuration item
AlwaysDetectBargeIn but not by the driver.
The noise filter is used to distinguish on-line noises from real voice signals. You can use the configuration item
VoiceEnergyMinValue to set the noise threshold value, judging the incoming or outgoing signals as on-line noises if
the signal intensity stays lower than the set value; the function SsmSetBargeInSens or the configuration item
BargeInSensitive to set the sensitivity of the noise filter; and the configuration item DefaultDtmfIsSound to
determine whether to consider the DTMF digits interlarded in incoming signals as voice signals.
The voice activity detector is used to detect the on-line voice activities. The driver will throw out the
E_SYS_BargeIn event once voice activities are detected in incoming signals which continue for more than the set
value of the function SsmGetIsBargeInDtrmTime or the configuration item BargeInDtrmTime. Also the application
can obtain the result via the SsmDetectBargeIn function.
The silence detector is used to judge if the line is silent or not. The E_SYS_NoSound event is triggered when no
voice signal occurs on the line (i.e. the line keeps silent) within a period of time longer than the set value of the
function SsmSetNoSoundDtrmTime or the configuration item IsNoSoundDtrmTime. The detected result can be
obtained via the function SsmDetectNoSound and the silent duration can be acquired via the function
SsmGetNoSoundTime.
¾ Interchannel Exchange: The capability to exchange voice data between on-board channels. Each
Synway board has such capability.
¾ Interboard Exchange: The capability to exchange voice data between channels respectively on different
boards. All Synway boards except the SHT and ATP Series 4-channel (the ‘-USB’ model) and 8-channel
boards are equipped with such capability.
The cPCI boards use H.110 bus while the rest use H.100 bus.
The following figure demonstrates the operation principle of voice exchange by TDM.
Time Slot 0
Time Slot 1
Time Slot 2
Time Slot i
Time Slot j
Inbound Voice
Inbound Voice Ch B
Ch A Outbound Voice
Outbound Voice
In the figure above, the two-way connection between Ch A and Ch B is performed as follows: Put incoming
voice data from Ch A to Time Slot i on TDM bus and then transmit them from Time Slot i to Ch B. In this way,
Ch B is enabled to hear the incoming call from Ch A; likewise, Ch A can hear the incoming call from Ch B as
long as incoming voice data from Ch B are put to Time Slot j on TDM bus and then transmitted from there to
Ch A.
During system initialization, the driver will put incoming signals from each channel to a time slot on TDM bus
provided the configuration item InVoiceToBus is set to 1 (default).
Below lists the advanced TDM functions which are used to establish or tear off the one-way connection between
channels and time slots:
The CTI Series boards equipped with an independent mixer on each channel support teleconferencing without the
need for extra conferencing boards. This technology, which we call Distributed Conferencing Technology, is
Synway’s patent technique. Note that the teleconferencing feature will be unsupported once the driver enables the
soft-exchange over bus, and the multi-boards teleconferencing feature is not supported with those boards
excluding the CT-Bus interface.
¾ Conference Room
A conference room consists of all channels that participate in a same conference. Each conference room has a
unique number which is either specified by the application or allocated by the driver. The total number of channels
in a conference room is allowed to range from 3 to the total number of all channels in the application system, which
can be set via the configuration item ConfDefaultMaxGroupMember or designated by the function
SsmCreateConfGroup while creating the conference room.
The total number of conference rooms can be determined via the configuration item ConfMaxGroup.
Each conference room has a unique number which is called Conference Room Number and ranges from 0 to the
set value of the configuration item ConfMaxGroup minus 1.
¾ Conference Channel
It is the logical number for each channel in the conference room, counted from 0. Note that the conference channel
number is not always the same as the channel number.
Since the available conference mixer sources are limited, when the number of channels speaking at one time in a
conference room containing a relatively large number of members exceeds the maximum accepted by the
conference mixer, there is bound to be some part of the on-channel voices incapable to enter the conference mixer.
The SynCTI driver contains a conference scheduling program which provides an automatic scheduling over the
conference and allows only those on-channel voice signals which meet the scheduling conditions to enter the
conference mixer.
The conference scheduling is based on the priority level of the conference channel. All conference mixers on the
board are allocated first to the channels of high priority level, and then to those of low priority.
Provided the number of schedulable mixer sources is N, the number of organizer channels is m, the number of
chairman channels is n and the number of dynamic speaker channels being speaking is k, the conference
(1) First of all, allocate the conference mixer sources to m organizer channels. Then go to the next step if
still some mixer sources left.
(2) If n≤N-m, all the n chairman channels can obtain mixer sources; if n>N-m, the scheduling program will
arrange them by voice signal intensity (volume) in a high-to-low order and ensure the first N-m ones to
acquire mixer sources. Start the allocation in the next priority level if still some mixer sources left.
(3) If k≤N-m-n, all the k dynamic speaker channels being speaking can obtain mixer sources; if k>N-m-n,
the scheduling program will arrange them by voice signal intensity (volume) in a high-to-low order and
ensure the first N-m-n ones to acquire mixer sources. A dynamic speaker channel, after seizing a mixer,
if there is no other channel with higher priority preempting mixer sources against it, will keep occupying
the mixer.
Each channel is given certain speaking rights when it enters a conference room. The SynCTI driver supports 6
speaking modes as described in the following table.
Speaking Mode Description
Can speak as well as listen to other channels. This mode is of the highest priority level.
Organizer The channel in this mode is called Organizer Channel for short. It is suggested that the
application program set only one organizer channel for each conference room.
Can speak as well as listen to other channels. This mode is of the priority lower than the
Chairman Organizer mode but higher than the Dynamic Speaker mode.
The channel in this mode is called Chairman Channel for short.
Can speak as well as listen to other channels. This mode is of the priority lower than the
Dynamic Speaker Chairman mode.
The channel in this mode is called Dynamic Speaker Channel for short.
Can listen to other channels but not speak.
Listener The channel in this mode is called Listener Channel for short, which is not involved in
conference scheduling.
Can speak, but whether it can listen to other channels is determined by the configuration
item PlayVoiceIsListen. It is usually used to play background music to a conference room.
Note: Whether a channel in this mode takes part in conference scheduling and is of
Background Music
which priority are both determined by the configuration item
BackgroundVoicePriority.
The channel in this mode is called Background Music Channel for short.
Can speak but not listen to other channels.
Dynamic Speaker
The channel which serves as a dynamic speaker but cannot listen to other channels is
ONLY
called Dynamic Speaker ONLY Channel for short.
¾ DTMF Clamping
When a conference participant presses keys on the phone, the on-line DTMF tones will go into the conference
mixer and be heard by other channels. The SynCTI driver supports the DTMF clamping feature which can
effectively eliminate the DTMF signals generated by keypress.
The operation principle of this feature is: The incoming signals will be immediately interrupted once the on-board
DTMF detector detects DTMF signals on the conference channel and resumed when all DTMF signals disappear.
The configuration item ClearInVoiceOnRxDtmf or the function SsmSetFlag (with the parameter
F_ClearInVoiceOnRcvDtmf) is used to determine whether to enable the DTMF clamping feature or not.
In a normal situation, once a conference channel enters a conference room, the incoming voice signals on it are
allowed to go into the conference mixer and be heard by other channels only if it meets the scheduling conditions.
Invoke the function SsmSetFlag (with the parameter F_InVoiceToBus) or use the configuration item InVoiceToBus
if you want to temporarily forbid this channel to speak.
Below is a list of functions and configuration items related to the conference room.
Below is a list of functions and configuration items related to the conference channel.
If you want to play background music and conference notice, etc. to the conference room, do it as follows:
¾ Choose a conference channel to play the voice. There are three ways available:
Set an independent background music channel for the conference room. This method is quite
flexible, allows the application to determine the priority of each channel according to the actual
needs. However, the shortcoming is it requires an extra channel.
Select a channel from those in the conference to be the organizer channel. It is the most ideal
solution to have an organizer channel in the conference, but you should manage by programming
to make this channel the last one to leave the conference.
Select a chairman channel or a dynamic speaker channel if no organizer channel available in the
conference room. In this case, we suggest the chairman channel be your first choice. The
shortcoming of this method is that the application needs to turn over the play task to another
conference channel if the playing channel leaves the conference midway due to some particular
reasons (e.g. an accidental disconnection).
¾ Invoke the function SsmSetPlayDest to switch on k1-1 illustrated in the operation principle of the
SHT/SHD/SHN Series boards. For more information, refer to the section Operation Principle of SHT
Series or Operation Principle of SHD Series or Operation Principle of SHN Series in this chapter.
¾ Invoke the playing functions. See the section Voice Playing in this chapter for more information.
If you need to record the voice played in the conference room, do it as follows:
¾ Choose a conference channel to record the voice. Although any conference channel can be used for
recording, you’d better select the one which won’t leave the conference midway to avoid the handover of
the record task between channels. Below are the suggested ways to make a choice among channels.
¾ Invoke the function SsmSetRecBack to switch on k6-1 and k6-2 illustrated in Operation Principle of SHD
Series or Operation Principle of SHN Series if the channel is on the SHD/SHN board and required to
record the voice and play the background music at the same time.
¾ Invoke the recording functions. See the section Voice Recording in this chapter for more information.
BFSK (Binary Frequency Shift Keying) is a digital communication technology using different carrier frequencies to
represent the digits 0 and 1 in the binary system, often adopted to transmit the calling party number, short
messages and so on through the phone line.
The BFSK data is composed of frames as illustrated below.
Bit7 Bit0
Transmit Direction
1 0 0 1 0 1 0 1 0 1 0 1 0 1 0
A complete BFSK data stream consists of three parts: the syn code, the flag code and the data. The syn code is of
the 0/1 up-and-down waveform and the flag code is 1 at on state. In each data byte which is guided by the start bit
0 and followed by the stop bit 1, the digit at Bit 0 is the first to be transmitted while that at Bit 7 is the last.
Note: In some protocols the flag code is called ‘synchronization end character’, and it is together with the syn code
called ‘synchronization indicator string’ which verifies the synchronization has been established.
The Synway CTI Series boards supply each channel on them with an FSK transceiver which works at the baud
rate of 1200bps in the semiduplex mode. The frequency of the digit 1 herein is 1200Hz while 0 is 2200Hz.
Related functions, configuration items and events are listed in the following table.
It is ascertained that the FSK transceiver on the Synway board works at the baud rate of 1200bps, the frequency of
the binary digit 1 is 1200Hz while 0 is 2200Hz. All these three values are not allowed to be modified via functions or
configuration items.
FSK functions, configuration items and events are listed in the following table
Name Description
Configuration Item: Determines whether the FSK receiver will analyze the tone during
ToneAnalyzeAtRcvFsk its runtime.
Configuration Item:
Sets the way to receive data for the FSK receiver.
FskMarkSignal
Configuration Item:
Sets the frame format that accepted by the FSK receiver.
FskFrameMode
Configuration Item:
FskEchoCancelDelay Sets whether to stop the echo canceller when the FSK receiver is
Function: SsmSetFlag (with the working.
parameter F_EchoCancelInFsk)
Function: SsmStartRcvFSK
Function: SsmStartRcvFSK_II Start/stop the FSK receiver.
Function: SsmStopRcvFSK
Function: SsmGetRcvFSK Obtains the FSK data;
Function: SsmCheckRcvFSK Queries the working progress of the FSK receiver.
Function: SsmClearRcvFSKBuf Clears the driver buffer of the FSK receiver.
The event which is sent to the application when the driver detects
Event: E_PROC_RcvFSK
the end of the FSK task following starting the FSK receiver.
For SHT and SHD Series boards, only the following models marked with ‘/FAX’ support fax channels. They are:
SHT-8B/PCI/FAX
SHT-8C/PCI/FAX
SHT-16B-CT/PCI/FAX
SHT-16B-CT/cPCI/FAX
SHT-16C-CT/PCI/FAX
SHD-30B-CT/PCI/SS7/FAX
SHD-60B-CT/PCI/SS7/FAX
SHD-30B-CT/cPCI/SS7/FAX
SHD-60B-CT/cPCI/SS7/FAX
SHD-30C-CT/PCI/FAX
SHD-60C-CT/PCI/FAX
SHD-30E-CT/PCI/FAX(SSW)
SHD-60E-CT/PCI/FAX(SSW)
SHD-120E-CT/PCI/FAX(SSW)
SHD-240E-CT/PCI/FAX(SSW)
SHD-30E-CT/PCIe/FAX
SHD-60E-CT/PCIe/FAX
SHD-120E-CT/PCIe/FAX
SHD-240E-CT/PCIe/FAX
For SHF Series boards, the following models support fax channels:
SHF-2D/PCI
SHF-4D/PCI
The table below lists the available fax channels of the above boards.
Board Model 2 4 16 24 32 64
NFax NVoc NFax NVoc NFax NVoc NFax NVoc NFax NVoc NFax NVoc
SHT-8B/PCI/FAX - - 4 8 - - - - - - - -
SHT-8C/PCI/FAX - - 4 8 - - - - - - - -
SHT-16B-CT/PCI/FAX - - 4 16 - - - - - - - -
SHT-16B-CT/cPCI/FAX - - 4 16 - - - - - - - -
SHT-16C-CT/PCI/FAX - - 4 16 - - - - - - - -
SHD-30B-CT/PCI/SS7/FAX - - - - - - 24 30 - - - -
SHD-60B-CT/PCI/SS7/FAX - - - - 16 60 - - - - - -
SHD-30B-CT/cPCI/SS7/FAX - - - - - - 24 30 - - - -
SHD-60B-CT/cPCI/SS7/FAX - - - - 16 60 - - - - - -
SHD-30C-CT/PCI/FAX - - - - - - 24 30 - - - -
SHD-60C-CT/PCI/FAX - - - - 16 60 - - - - - -
SHD-30E-CT/PCI/FAX(SSW) - - - - - - - - 32 30 - -
SHD-60E-CT/PCI/FAX(SSW) - - - - - - - - - 64 60
SHD-120E-CT/PCI/FAX(SSW) - - - - - - - - - - 64 120
SHD-240E-CT/PCI/FAX(SSW) - - - - - - - - - - 64 240
SHD-30E-CT/PCIe/FAX - - - - - - - - 32 30 - -
SHD-60E-CT/PCIe/FAX - - - - - - - - - - 64 60
SHD-120E-CT/PCIe/FAX - - - - - - - - - - 64 120
SHD-240E-CT/PCIe/FAX - - - - - - - - - - 64 240
SHF-2D/PCI 2 2 - - - - - - - - - -
SHF-4D/PCI - - 4 4 - - - - - - - -
Note: In this table, NFax is ‘the total number of fax channels’, NVoc means ‘the total number of available voice
channels’, and - implies ‘unsupported’.
The fax channels on the Synway board support the fax protocol T.30 and T.4, and allowed transmitting MH, MR,
MMR data and Tiff files. The coding format can be set via the configuration item.
The Tiff file is the mainstream one used to store fax data, which can be widely used and is easy to read, archive
and modify. And the Tiff file supported by fax channels on the Synway board has the following properties.
9 Color: Black and white
9 Coding Format: MH, MR, MMR
9 Resolution: 204*196, 204 * 98, 200 * 200, 200 * 100
9 Page Data: 1728 pixels per line
9 Other properties. See the table below:
Tiff compression T4 capability Remarks
2 -- CCITT HM – simplified MH code
3 0 CCTIT G3 1D – MH code, without the EOL(end-of-line) flag
3 4 CCTIT G3 1D – MH code, with the EOL(end-of-line) flag
3 1 CCTIT G3 2D – MR code, without the EOL(end-of-line) flag
3 5 CCTIT G3 2D – MR code, with the EOL(end-of-line) flag
not to detect whether there is the EOL flag at the ending or not. In such situation, the self-adaption feature the driver has helps
The operation principle for the application program to send files in any format is shown below.
As illustrated In the figure above, the virtual printer program is used to convert a file of any other format to a tiff file.
The analog/digital trunk channel as well as the fax channel is indispensable for a complete fax transmission or
reception as shown below.
SynCTI API
Analog/Digital
Fax Channel PSTN Fax Machine
Trunk Channel
TDM Bus
The fax transmission (or reception) process is divided into four distinct phases.
(1) Initiate and establish a call on the analog or digital trunk channel.
(2) Establish a two-way connection between the fax channel and the analog/digital trunk channel.
(3) Transmit (or receive) fax files.
(4) Disconnect the call.
Related functions which involve the faxing parameters are listed in the following table.
Related parameters used in the faxing process can be obtained via the following functions.
Channel 0 on each ATP, DST or SHT Series board is equipped with the analog audio amplifier circuit and the
speaker output jack, which allows the board to connect directly with the external speaker and enables the voice to
be delivered to and played through the speaker. For detailed information about the on-board audio power amplifier,
see the operation principle of the corresponding board.
The written program based on the Synway board usually consists of three parts.
• Initialization codes, including both parts for initializing the board and the driver, used only once upon
starting the application program.
• Processing codes, used to give commands to the driver and process in time the information returned via
the event from the driver so as to enable particular features on demand.
• Uninstallation codes, covering the resources needed for releasing the board and the driver, used only
once upon exiting the application program.
only be MESSAGE_INFO as well): The driver sends the events to the Windows message queue and
processes them through the Windows unified message queue processing mechanism. Few applications
use this mode for programming as it carries a limited number of parameters. That's why this manual does
not elaborate this mode.
See how these four programming modes work through the following figure.
Event Sources
SynCTI
Event Filter
k1
Callback
Thread
Event Callback Mode Event Polling Mode Windows Message Mode Polling Mode
Application
Event Handler Event Handler
The switch K1 is controlled by the function SsmSetEvent. Every time the SynCTI driver starts up, it works in the
polling mode. If the application need use Event Polling Mode or Event Callback Mode, the function SsmSetEvent
should be called to change the mode. Refer to the programming examples listed below for details.
void main()
{
//initialize the SynCTI driver and the board
if ( ! SsmStartCti (……) )
{ //failed
……
MessageBox( "Initialize Voice card failure" );
return;
}
//transaction processing
MESSAGE_INFO Event;
While(1)
{
memset(&MessageInfo, 0, sizeof(PMESSAGE_INFO));
If (the application program exits) break; //codes for quitting the application program
//wait for and respond to the event thrown out by the driver
If ( SsmWaitForEvent (50, &Event) == 0 ) //wait for some event
{
switch(Event.EventCode)
{
case E_CHG_ChState: //the channel state changes
…… //transaction processing codes
break;
……
case E_XXXXXX:
……
break;
default:
break;
}
}
}
In need of using the extended data structure of the output event, you may write the ‘transaction processing’ part among the above codes
following the way below.
//transaction processing
UCHAR pucBuffer[300];
SSM_EVENT SsmEvent;
while(1)
{
memset(&SsmEvent, 0, sizeof(SSM_EVENT));
memset(pucBuffer, 0, sizeof(UCHAR)* 300);
SsmEvent.pvBuffer = (PVOID)pucBuffer;
SsmEvent.dwBufferLength = 300;
if(SsmWaitForEventA(50, &SsmEvent) == 0)
{
switch(SsmEvent.wEventCode)
{
case E_CHG_ChState:
…… //do something
break;
case E_RCV_DSTDChannel:
switch(SsmEvent.dwParam)
{
case DST_AUDIO_CHG:
…… //do something
break;
case DST_MSG_CHG:
…… //do something
break;
default:
break;
}
default:
break;
}
}
}
//the callback function supplied by the application program to process the event thrown out by the driver
int CALLBACK MyCallback (WORD wEvent, int nReference, DWORD dwParam, DWORD dwUser)
{
switch(wEvent)
{
case E_CHG_ChState:
…… //do something
break;
case E_XXXXXX:
…… //do something
bExit = TRUE; //exit the application program
break;
……
default:
break;
}
return 1;
}
In need of using the extended data structure of the output event, you may write the callback functions offered by the application program
following the way below.
{
case E_CHG_ChState:
…… //do something
break;
case E_XXXXXX:
…… //do something
bExit = TRUE; //exit the application program
break;
case E_RCV_DSTDChannel:
switch(pEvent->dwParam)
{
case DST_AUDIO_CHG:
…… //do something
break;
case DST_MSG_CHG:
…… //do something
break;
default:
break;
}
default:
break;
}
return 1;
}
Note: When the event callback mode is used for programming, it is necessary to add the keyword CALLBACK
before the callback function declaration. Otherwise the program may crash because of resource release.
There are two data structures optional for the SynCTI driver to send off an event: MESSAGE_INFO and
SSM_EVENT. While MESSAGE_INFO contains common parameters and is applicable to the CTI and REC Series
boards, SSM_EVENT as the extension of MESSAGE_INF can offer more information about events and is mainly
used for the DST Series boards provided the SynCTI driver is of the version 4.7.3.0 or above. But it is not
applicable to the Windows Message programming mode.
For example, if several boards are being used together and one of them is a DST Series board, only the
SSM_EVENT data structure works and only the event polling mode and the event callback mode are choosesable.
1.14.2.1 MESSAGE_INFO
The MESSAGE_INFO structure declaration is:
¾ wEvent
wEvent represents the event code. Generally, the events thrown out by the SynCTI driver can be classified into the
following categories.
E_CHG_xxxx: An internal state or a counter of the driver changes;
The events generated in the SynCTI driver are separated into 2 categories: common event and uncommon event.
All event codes and corresponding behaviors are elaborated in the following table.
Event Common
Macro in shpa3api.h Description
Code Event
0x0000 E_PROC_Recognize √ Voice recognition ends.
0x0001 E_CHG_ISDNStatus — ISDN: The ISDN LAPD layer changes.
SS7: A new message (MSU) is received from the SS7
0x0002 E_RCV_Ss7Msu —
server.
SS7: The SS7 MTP3 layer changes, usually to indicate if
0x0003 E_CHG_Mtp3State —
some DPC route is usable or not.
0x0004 Reserved
Fax Channel: The driver finishes receiving or transmitting a
0x0005 E_CHG_FaxPages √
page of fax data.
Fax Channel: The driver finishes receiving or transmitting
0x0006 E_PROC_FaxEnd √
all fax data.
0x0007 E_CHG_PcmLinkStatus √ The synchronization status of the digital trunk changes.
0x0008 E_CHG_LineVoltage — The voltage on the analog phone line changes.
SS1 Channel: The ABCD signaling code from the remote
0x0009 E_RCV_CAS —
PBX changes.
SS1 Channel: The R2 signal from the remote PBX is
0x000A E_RCV_R2 —
received.
The task of WaitDTMF is completed and submitted via the
0x000B E_PROC_WaitDTMF √ function SsmSetWaitDtmf, SsmSetWaitDtmfEx or
SsmSetWaitDtmfExA.
0x000C E_CHG_RcvDTMF √ DTMF Detector: A DTMF digit is received.
DTMF Generator: The task of transmitting DTMF started by
0x000D E_PROC_SendDTMF √
the function SsmTxDtmf is completed.
0x000E E_PROC_SendFlash √ The task of sending the flash signal is completed.
Voice Playing: The task of playing voice ends, which can be
started by one of the following functions.
SsmPlayFile
SsmPlayIndexString
0x000F E_PROC_PlayEnd √ SsmPlayIndexList
SsmPlayFileList
SsmPlayMem
SsmPlayMemList
SsmPlayMemBlock
0x0010 E_PROC_PlayFile — Voice Playing: It indicates the file playing progress.
Voice Playing: The driver finishes playing a file in the file
0x0011 E_PROC_PlayFileList —
queue.
Voice Playing: It indicates the voice playing progress in
0x0012 E_PROC_PlayMem —
Single Buffer Mode.
0x0013 E_PROC_RecordEnd √ Voice Recording: The task of recording voice terminates.
0x0014 E_PROC_RecordFile — Voice Recording: It indicates the file recording progress.
Voice Recording: It indicates the memory recording
0x0015 E_PROC_RecordMem —
progress.
0x0016 E_PROC_SendFSK √ The FSK transmitter finishes sending all data.
0x0017 E_PROC_RcvFSK √ The task of RcvFSK ends.
0x0018 E_CHG_ChState √ State Machine: The channel state changes.
0x0019 E_PROC_AutoDial √ State Machine: The task of AutoDial progresses.
TUP/ISUP Channel: The operation to block the remote
0x001A E_CHG_RemoteChBlock —
channel is completed.
TUP/ISUP Channel: The operation to block the remote
0x001B E_CHG_RemotePCMBlock —
PCM is completed.
Analog Trunk Channel: The pickup command has been
0x001C E_SYS_ActualPickup —
executed.
Analog Trunk Channel/Analog Trunk Recording Channel:
0x001D E_CHG_RingFlag —
The voltage level of the ringing current changes.
0x0055 E_RCV_SPY_CAS — DTP Series: The monitoring circuit receives the CAS
0x0056 E_CHG_RingEchoToneCnt √ Analog Trunk Channel: The count of ringback tone changes
SS7: MTP2 changes or MTP2 MSU is received. (The
0x0057 E_Ss7_L2ToL3_IND √
configuration item AppHandleMtp2Msu should be set to 2)
0x0060 E_RCV_IPR_DChannel √ IPR Series: The D-channel event
E_RCV_IPR_DONGLE_ADD
0x0061 √ IPR Series: USB KEY detected
ED
E_RCV_IPR_DONGLE_REM
0x0062 √ IPR Series: The removal of USB KEY detected
OVED
IPR Series: Specified network card detected (Reserved.
0x0063 E_RCV_IPR_NIC_LINKED √
Not used at present)
E_RCV_IPR_NIC_UNLINKE
0x0064 √ IPR Series: Specified network card not detected
D
E_RCV_IPR_AUTH_OVERF
0x0065 √ IPR Series: Authorization Overflow
LOW
E_RCV_IPR_MEDIA_SESSI
0x0066 √ IPR Series: Session started
ON_STARTED
IPR Series: Session stopped. After the driver throws out this
E_RCV_IPR_MEDIA_SESSI event, it will automatically stop transmitting RTP. Invoking
0x0067 √
ON_STOPED the function SsmIPRStopSendSession at that time will fail
therefore.
E_RCV_IPR_AUX_MEDIA_S IPR Series: Auxiliary session started. This event occurs
0x0068 √
ESSION_STARTED during an extension-to-extension call.
E_RCV_IPR_MEDIA_SESSI
0x0069 √ IPR Series: Session being forwarded
ON_FOWARDING
E_RCV_IPR_MEDIA_SESSI
0x006a √ IPR Series: Session forwarding stopped
ON_FOWARD_STOPED
E_RCV_IPR_STATION_ADD
0x006b √ IPR Series: The entrance of terminal detected.
ED
E_RCV_IPR_STATION_REM
0x006c √ IPR Series: The exit of terminal detected
OVED
E_IPR_LINK_REC_SLAVER
0x006d √ IPR Series: Recording Slaver connection detected.
_CONNECTED
E_IPR_LINK_REC_SLAVER
0x006e √ IPR Series: Recording Slaver disconnection detected
_DISCONNECTED
0x006f E_IPR_SLAVER_INIT_CB √ IPR Series: Feedback on the recording Slaver initialization
IPR Series: Feedback on the requirement for the IPRR
E_IPR_ACTIVE_SESSION_
0x0070 √ channel to enable Session receiving (for example, invoking
CB
SsmIPRActiveSession)
IPR Series: Feedback on the requirement for the IPRR
E_IPR_DEACTIVE_SESSIO
0x0071 √ channel to disable Session receiving (for example, invoking
N_CB
SsmIPRDeActiveSession)
IPR Series: Feedback on the requirement for the IPRR
0x0072 E_IPR_START_REC_CB √ channel to start recording (for example, invoking
SsmRecToFile, SsmRecToMem)
IPR Series: Feedback on the requirement for the IPRR
0x0073 E_IPR_STOP_REC_CB √ channel to stop recording (for example, invoking
SsmStopRecToFile, SsmStopRecToMem)
IPR Series: Feedback on the requirement for the IPRR
0x0074 E_IPR_PAUSE_REC_CB √ channel to pause recording (for example, invoking
SsmPauseRecToFile)
IPR Series: Feedback on the requirement for the IPRR
0x0075 E_IPR_RESTART_REC_CB √ channel to restart recording (for example, invoking
SsmRestartRecToFile)
IPR Series: Feedback on the requirement of starting Slaver
0x0076 E_IPR_START_SLAVER_CB √
(for example, invoking SsmIPRStartRecSlaver)
IPR Series: Feedback on the requirement of closing Slaver
0x0077 E_IPR_CLOSE_SLAVER_CB √
(for example, invoking SsmIPRCloseRecSlaver)
0x0078 E_IPR_RCV_DTMF √ IPR Series: In-band or RFC2833 DTMF detected
IPR Series: Feedback on the requirement for the IPRR
E_IPR_ACTIVE_AND_REC_
0x0079 √ channel to enable Session receiving and start recording (for
CB
example, invoking SsmIPRActiveAndRecToFile)
Feedback on the requirement for the IPRR channel to
E_IPR_DEACTIVE_AND_ST
0x007a √ disable Session receiving and stop recording (for example,
OPREC_CB
invoking SsmIPRDeActiveAndStopRecToFile)
E_RCV_IPA_DONGLE_ADD
0x007b √ IPA Series: USB KEY detected
ED
0x007c E_RCV_IPA_DONGLE_REM √ IPA Series: The removal of USB KEY detected
OVED
0x007d E_BOARD_ICMP_CHANGE √ SHN B-type Series: The ICMP result changes
E_RCV_IPR_AUX_MEDIA_S IPR Series: Auxiliary session stopped. This event occurs
0x007e √
ESSION_STOPED during an extension-to-extension call.
The physical meanings of both parameters nReference and dwParam have relation to the value of wEvent as
shown in the table below.
CB number E_IPR_SLAVER_INIT_CB
Logical channel same as what dwParam represents in
E_IPR_START_REC_CB
number E_IPR_SLAVER_INIT_CB
Logical channel same as what dwParam represents in
E_IPR_STOP_REC_CB
number E_IPR_SLAVER_INIT_CB
Logical channel same as what dwParam represents in
E_IPR_PAUSE_REC_CB
number E_IPR_SLAVER_INIT_CB
Logical channel same as what dwParam represents in
E_IPR_RESTART_REC_CB
number E_IPR_SLAVER_INIT_CB
Logical channel same as what dwParam represents in
E_IPR_START_SLAVER_CB
number E_IPR_SLAVER_INIT_CB
Logical channel same as what dwParam represents in
E_IPR_CLOSE_SLAVER_CB
number E_IPR_SLAVER_INIT_CB
The 2 higher bytes represent the corresponding SlaverId,
rd
Logical channel the 3 byte represents the DTMF direction (0 represents
E_IPR_RCV_DTMF th
number primary; 1 represents secondary), and the 4 byte
represents the DTMF information
E_IPR_ACTIVE_AND_REC_C Logical channel same as what dwParam represents in
B number E_IPR_SLAVER_INIT_CB
E_IPR_DEACTIVE_AND_STO Logical channel same as what dwParam represents in
PREC_CB number E_IPR_SLAVER_INIT_CB
E_RCV_IPA_DONGLE_ADDE
Unused Unused
D
E_RCV_IPA_DONGLE_REMO
Unused Unused
VED
ICMP result:
1: ICMP normal;
0: ICMP abnormal.
E_BOARD_ICMP_CHANGE Board ID
Note: The driver will throw out this event only when the
ICMP result of the board changes. See the description on
the function SsmCheckBoardIcmp for more information.
SessionId. More Session information can be obtained from
E_RCV_IPR_AUX_MEDIA_SE Logical channel
pvBuffer of SSM_EVENT. pvBuffer can be transformed to
SSION_STOPED number
pIPR_SessionInfo.
1.14.2.2 SSM_EVENT
The SSM_EVENT structure declaration is:
These three parameters have the same meaning as wEvent, nReference and dwParam in the MESSAGE_INFO
structure.
¾ dwUser
The meaning of dwUser varies on the event output mode as shown in the table below.
¾ dwSubReason
The parameter dwSubReason is the subreason value which gets meaningful only when the value of the parameter
wEventCode equals to that of E_RCV_DSTDChannel or E_RCV_IPR_DChannel. The meaning of dwSubReason
bears on the parameter dwParam carried in the event thrown out by the driver. For more information, see SynCTI
Programmer’s Manual - D-channel Event User Manual.
¾ dwXtraInfo
The parameter dwXtraInfo is the extended information which gets meaningful only when the value of the parameter
wEventCode equals to that of E_RCV_DSTDChannel, E_RCV_IPR_DChannel, E_RCV_IPR_STATION_ADDED
or E_RCV_IPR_STATION_REMOVED. The meaning of dwXtraInfo bears on the parameter dwParam carried in
the event thrown out by the driver. In the events E_RCV_IPR_STATION_ADDED and
E_RCV_IPR_STATION_REMOVED, the 16 higher bits represent the transfer protocol, and the 16 lower bits
represent StationId. For more information about E_RCV_DST_DChannel and E_RCV_IPRDChannel, see
D-channel Event Manual.
The parameters pvBuffer, dwBufferLength and dwDataLength get meaningful only when the value of the parameter
wEventCode equals to that of E_RCV_DSTDChannel, E_RCV_IPR_DChannel,
E_RCV_IPR_MEDIA_SESSION_STARTED, E_RCV_IPR_MEDIA_SESSION_STOPED,
E_RCV_IPR_MEDIA_SESSION_STARTED_TOO. Their meanings vary on the event output mode as shown in the
table below.
E_RCV_IPR_MEDIA_SESSION_STARTED,
E_RCV_IPR_MEDIA_SESSION_STOPED,
E_RCV_IPR_MEDIA_SESSION_STARTED_TOO, pvBuffer stores all the information of
structure IPR_SessionInfo and can be compulsorily transformed into pIPR_SessionInfo
to acquire information more conveniently. See D-channel Event Manual for more
information about E_RCV_DST_DChannel and E_RCV_IPR_DChannel. dwDataLength
is the true size of data in pvBuffer (byte).
¾ dwEventFlag
dwEventFlag is the event flag where only Bit0 and Bit2 are in effect and other bits all reserved. See the table below
for what Bit0 and Bit2 mean.
Bit Meaning
=0: This event is created by the driver
Bit0 =1: This event is created by the application. To be exact, it is the self-defined event
submitted to the driver by the function SsmPutUserEventA.
=0: The event information is not truncated
=1: The event information is truncated
Bit2 gets meaningful only in the event polling mode. As long as one of the following two
conditions is met, it will be set to 1 by the driver.
Bit2 The value of dwDataLength in the parameter pEventSet goes greater than 256
when the application invokes the function SsmPutUserEventA.
The value of dwBufferLength in the parameter pEventSet when the application
invokes the function SsmWaitForEventA is less than that of dwDataLength in the
event temporarily saved to the driver before being output.
¾ dwReserved1, llReserved2
1.14.2.3 IPR_SessionInfo
The application program may ask the SynCTI driver to or not to throw out an event. This feature is enabled via the
function SsmSetEvent.
When the application invokes the function SsmSetEvent and uses the parameter wEvent=0xffff, whether the driver
sends out an event or not is determined by the configuration of DefaultEventOutput. See description on this
configuration item for details.
The application may generate events by itself during runtime, which are called self-defined events. To facilitate the
application programming, the driver allows direct transmission of self-defined events, i.e. the application program
can save its self-defined events to the event queue in the driver and process them via the function acquired
through the driver supplied event.
The functions SsmPutUserEvent and SsmPutUserEventA can be used to submit the self-defined event to the
driver.
This section highlights the keys to SynCTI driver programming respectively in MS VC/C++, VB, C++BUILDER,
Delphi, PB6.5 and other compilation environments under Windows, as well as in C language under Linux.
1.14.5.1 MS VC/C++
The SynCTI driver provides the following files which are needed for programming in MS VC/C++:
shpa3api.h: C/C++ header file
shp_a3.lib: C/C++ import library file
1.14.5.2 VB
In Visual Basic 6.0, all functions in the dynamic-link library SHP_A3.DLL are declared by the file Shpa3api.bas
from the driver. See Shpa3api.bas for details.
Actually the board operation in VB is also controlled via the call of shp_a3.dll. Therefore, the above description on
programming in VC is also applicable to this section. Users are strongly recommended to first read through
1.14.5.1 MS VC/C++ and refer to the demo program compiled in C language while developing their application
program based on the SynCTI driver.
In VB 6.0, a DLL function can be called only after it is declared. Regarding how to declare a DLL function, refer to
the help file ‘Declare statement’ for VB.
Programmers can declare functions in VB by themselves referring to the function declaration in C language, if
some new functions in shp_a3.dll are not declared in Shpa3api.bas. For example, below is a function declared in
Shpa3api.h:
int WINAPI SsmPlayFile(int ch, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwLen);
Its declaration in Shpa3api.bas is:
Declare Function SsmPlayFile Lib ‘shp_a3.dll’ (ByVal ch As Long, ByVal pszFileName As String,
Corresponding to 32-bit BOOL, 16-bit WORD and 32-bit DWORD in 32-bit VC environment, 32-bit Long, 16-bit
Integer and 32-bit Long are used in VB environment. Note that each parameter and its return value should
contain the same number of bytes.
Similar to programming in C language under Win9x/NT, programming for our voice boards in VB also can be
performed by three steps:
¾ Initialization codes, including parts for initializing the driver and obtaining the total number and type of
channels, written in the function Form_load.
¾ Processing codes, written in the timer or the function Form_Activate. For detailed information, refer to
the relative demo program.
¾ Uninstallation codes, covering the components for uninstalling the driver and closing the board, written
in the function Form_Unload.
Notes:
z Form_Activate is an endless-loop function. If it is used for writing processing codes, DoEvents must be
called to ensure that other programs run normally.
z The fact that VB is an interpretive programming language requires you to take precautions that while
using a DLL, the size of relative parameters must be defined before the function such as
SsmGetLastErrMsg or SsmGetDtmfDStr, where each parameter takes a string and returns data
following the function call in C language, being invoked in VB. For example:
Dim ErrStr As String * 200
SsmGetLastErrMsg( ErrStr)
z In case of programming in VB under WinNT, when the initialization and main processing codes are
respectively written in the function Form_load and the timer, the codes in timer should not be invoked
before successful call of the function SsmStartCti. See below for details. Method 1: Create a global
variable (with the default value of ‘FALSE’) and set it to ‘TRUE’ at the end of the function Form_load.
The timer will determine whether to run the main processing codes according to the value of this
variable. Method 2: Set Timer.Enable=False at the beginning of the function Form_load and
Timer.Enable=True at the end. At the same time, set Timer.Enable=False in the function Form_unload
before calling the function SsmCloseCti.
z As VB 6.0 doesn’t support multithreading, when the event callback mode is used for programming,
some of the functions (such as Right, Left, etc.) provided with VB 6.0 can’t work properly as part of
callback functions and the IDE of VB 6.0 can’t set break points in callback functions, which bring a big
trouble to debugging. Hence, we suggest using the event polling mode instead of the event callback
mode for progrmaming in VB 6.0.
cd \windows\system
implib shp_a3.lib shp_a3.dll
What you need to do is copy the generated shp_a3.lib to the directory of your developed program.
Notes:
z If there are two C language development systems from Borland installed in the hard disk,
IMPLIB.EXE provided by C++ BUILDER must be in use, or errors may occur at runtime.
1.14.5.4 Delphi
In Delphi, all functions in the dynamic-link library shp_a3.dll are declared by Shpa3api.pas. See Shpa3api.pas for
details.
Just like in VB6.0, a DLL function can be called only after it is declared in Delphi. Regarding how to declare a DLL
function, refer to the help file ‘external declarations’ for Delphi. Programmers can declare functions in Delphi by
themselves referring to the function declaration in C language, if some new functions in shp_a3.dll are not declared
in Shpa3api.pas. For example, below is a function declared in Shpa3api.h:
int WINAPI SsmPlayFile(int ch, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwLen);
Notes:
z The statement “stdcall; external ‘Shp_a3.dll’”must be added to the end of the declaration.
z The char* data type used in C language should be declared as pchar data type in Delphi.
1.14.5.5 PB6.5
In Power Builder, all functions in the dynamic-link library shp_a3.dll are declared via the option ‘Global External
Function’ in the ‘Declare’ menu. Programmers can declare functions in PB6.5 by themselves referring to the
function declaration in C language, if some new functions in shp_a3.dll are not declared in Shpa3api.pas. For
example, below is a function declared in Shpa3api.h:
int WINAPI SsmPlayFile(int ch, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwLen);
Note: The parameter type used in PB6.5 is similar to that in VB. Refer to the preceding section 1.14.5.2 VB.
Under 32-bit Win95/NT, a number of programming languages may be used in various ways to call functions in the
dynamic-link library SHP_A3.DLL. As there are too many programming languages and each has its own
requirements, we cannot describe all of them in this manual. Read carefully about the description on the
programming language you are using.
1.14.5.7 Linux
The SynCTI driver provides the following files which are needed for programming in C/C++:
Generally, programming for our voice boards in C/C++ language under Linux are performed by three steps.
¾ Initialization codes, including parts for initializing the board and obtaining the total number and type of
channels, used only once upon starting the application program.
¾ Processing codes, used to give commands to the driver and process the event from the driver. For
detailed information, refer to the relative demo program.
¾ Uninstallation codes, covering the components for releasing the board and the driver, used only once
upon exiting the application program.
The use of character strings in not a few advanced languages differs from that in C language. Please follow the
norms of C language when invoking functions which include character strings.
For the output character strings, like the second parameter in SsmGetDtmfStr, the application program should
allocate storage space ahead of time. A lot of advanced languages support the automatic management of string’s
space allocation. However, when they are invoked across different language platforms, there is still a need to
allocate space manually because of the unexpected demand of the other end.
For the input character strings, like the two parameters in SsmStartCti, no displayed space is required to be
allocated as our DLL wouldn’t modify its content. However, don’t forget to add the character '\0' at the end of strings
to comply with the standard of C language.
To help developers understand the way to use some functions and features as soon as possible, Synway provides
a large number of demo programs which are listed in the following table.
Programming Environment
Name Description Windows Linux
VB VC C# PB DELPHI gcc
Call Demonstrates how to process inbound calls. √ √ - √ √ √
To help developers understand the way to use some functions and features as soon as possible, Synway provides
a large number of demo programs which are listed in the following table.
Programming
Environment
Name Description Windows Linux
VB VC C# gcc
Demonstrates how to use the ATP Series call-recording boards to
monitor and record the analog phone line. Refer to the file
Recorder-ATP
DemoATPUserManual.pdf (English) or DemoATPUserManual_cn.pdf
- √ √ √
(Chinese) for details.
Demonstrates how to use the DST Series boards to monitor and record
the digital subscriber line through high-impedance and parallel
Recorder-DST √ √ - -
connection. Refer to the file DemoDSTUserManual.pdf (English) or
DemoDSTUserManual_cn.pdf (Chinese) for details.
Demonstrates how to use the DTP Series boards to monitor and record
Recorder-DTP √ √ - -
the digital trunk (E1).
RecPlay
Demonstrates how to record in Pingpong Buffer Mode. - √ - -
UseMemBlock
The driver provides two kinds of timers for the application program: Global Timer and Channel Timer.
Global Timer
The driver has 128 system timers in it, using the hardware interrupt signal as the timed pulse, offering greater
precision than timers provided by the operating system. The function SsmStartTimer is used to apply to the driver
for a timer and set the parameters for it. The driver will throw out the E_SYS_TIMEOUT event every time when
the timer overflows. The function SsmStopTimer is for terminating a timer.
Channel Timer
The channel timer is applicable to the polling mode. When it is started, the driver can only save the current time to
a variable but not judge if the timer overflows or not. Not until the application program calls the function
ElapseTime will the driver return the timer’s duration. Each channel has 10 timers allocated by the driver. They are
started via the function StartTimer.
The SynCTI driver has the capability of API and event debugging, usually for the application system being
developed, tested or preliminarily run. When error occurs in the API function call by the application program, or in
the event message, or in the driver, the driver will output an error message to help the developer find the cause as
soon as possible provided that the corresponding ‘debugging information output’ option is enabled.
The following configuration items are usable for debugging the application.
Configuration Item Description
ApiLogEnable Sets whether to output the API debugging information.
Sets the event range to limit the output events to be written into the
ApiLogSetEventRange
log in the use of ApiLogEnable.
Sets the channel range to limit the output events to be written into the
ApiLogSetChRange
log in the use of ApiLogEnable.
If the application uses the polling mode, it needs to continuously invoke some query functions in the timer, which
leads to the output of a lot of function-call messages. The following configuration items may forbid some common
query functions to output messages on function calls.
Configuration Item Description
Controls whether to output the message on the function call of
Mask_SsmGetNoSoundTime
SsmGetNoSoundTime.
Controls whether to output the message on the function call of
Mask_SsmGetChStateKeepTime
SsmGetChStateKeepTime.
Controls whether to output the message on the function call of
Mask_SsmGetPlayedTime
SsmGetPlayedTime.
Controls whether to output the message on the function call of
Mask_SsmGetPlayedPercentage
SsmGetPlayedPercentage.
Controls whether to output the message on the function call of
Mask_SsmGetPlayOffset
SsmGetPlayOffset.
Controls whether to output the message on the function call of
Mask_SsmGetRecTime
SsmGetRecTime.
Controls whether to output the message on the function call of
Mask_SsmGetRecOffset
SsmGetRecOffset.
The driver-output API debugging information can be displayed and observed with the help of the third-party
software tool Debugview.exe, which supports Windows Me, Windows 2000, Whistler Beta 1, Beta 2 and RC 1.
The features supported by the SHT Series boards are shown in the following table.
Voice
Form Max. Conferencing Voltage Audio TDM Max Fax
Board Model Processing FSK
Factor Ports Capabilities Detector Socket Bus Resource
Capabilities
SHT-2A/USB USB 2 √ √ √ √ √ N/A N/A
SHT-4A/USB USB 4 √ √ √ √ √ N/A N/A
SHT-2B/USB USB 2 √ √ √ √ √ N/A N/A
SHT-4B/USB USB 4 √ √ √ √ √ N/A N/A
SHT-8A/PCI PCI 8 √ √ √ √ √ N/A N/A
SHT-8B/PCI PCI 8 √ √ √ √ √ N/A N/A
SHT-8B/PCI/FAX PCI 8 √ √ √ √ √ N/A 4
SHT-8C/PCI/FAX PCI 8 √ √ √ √ √ N/A 4
SHT-8C/PCI/EC PCI 8 √ √ √ √ √ N/A N/A
SHT-16C-CT/PCI/EC PCI 16 √ √ √ √ √ H’100 N/A
SHT-16D-CT/PCIe PCIe 16 √ √ √ √ √ H.100 N/A*
SHT-16A-CT/PCI PCI 16 √ √ √ √ √ H.100 N/A
SHT-16B-CT/PCI PCI 16 √ √ √ √ √ H.100 N/A
SHT-16B-CT/PCI/FAX PCI 16 √ √ √ √ √ H.100 4
SHT-16C-CT/PCI/FAX PCI 16 √ √ √ √ √ H.100 4
SHT-16B-CT/PCI/MP3 PCI 16 √ √ √ √ √ H.100 N/A
SHT-120A-CT/PCI PCI 120 √ √ N/A N/A N/A N/A N/A
SHT-16B-CT/cPCI cPCI 16 √ √ √ √ √ H.110 N/A
SHT-16B-CT/cPCI/MP3 cPCI 16 √ √ √ √ √ H.110 N/A
SHT-16B-CT/cPCI/FAX cPCI 16 √ √ √ √ √ H.110 8
SHT-120A-CT/cPCI cPCI 120 √ √ N/A N/A N/A N/A N/A
Note: The SHT-16B-CT/PCI/FAX board and the SHT-16B-CT/PCI/MP3 board differ in the hardware structure.
However, they have the same board ID written in the firmware due to historical reasons. Hence it is
essential to set the configuration item DSP3WORKMODE to ensure that the driver can properly distinguish
these two board models.
The SHT-16D-CT/PCIe board, if inserted with an F021 module, can support 4-channel V.17 faxing.
The figure below shows the operation principle of the SHT Series boards.
K8 K1-1
Speaker
∑
A4-1 A4-6 M5
Audio Jack Channel 0 only K5-3
K1-2 K3
∑ M2
AMP
∑
Phone Interface M1
Outbound Voice
CODEC K5-1
Echo Inbound Voice
Canceler
AGC
A1
Analog Subscriber
Line Line A3 A2 K7
Interface Interface K2
Circuit Circuit ∑ M3
Trunk Module Subscriber Module
Voltage Ring Ring Hook Tone DTMF FSK Barge in FSK DTMF/Tone
Encoder Decoder
Detector Detector Control Detector Detector Detector Detector Detector Generator Generator
Name Description
M1 Outbound voice mixer.
The Voice Play/Fsk Transmitter switch, controlled by the driver. When the application calls the playing
function, K7 connects to the component Decoder; when it calls the function SsmStartSendFSK to start
K7
FSK data transmission, K7 connects to the component FSK Generator. For more information about
the playing functions, refer to the Voice Playing section.
The volume adjuster for voice playing. The volume can be set via the configuration item
A1
DefaultPlayVolume or the function SsmSetPlayVolume/SsmSetPlayGain, with the default value of 0.
The switch that controls the voice playing operation, usually keeping off under the automatic control of
the driver. Only when the application program invokes the playing function does the driver
K5-1
automatically switch on K5-1 and then switch off it at the end of voice playing. For more information
about the playing functions, refer to the Voice Playing section.
The switch that controls the signal output of Tone Generator and DTMF Generator, often keeping off
under the automatic control of the driver. Only when the application program invokes the function
K5-3 SsmTxDtmf to start the DTMF generator or calls the function SsmSendTone/SsmSendToneEx to start
the tone generator does the driver automatically switch on K5-3 and then switch off it at the task
termination.
M2 Off-bus mixer.
The volume adjuster used before the off-bus signals entering M2. Use the function
A4-1 SsmSetListenVlmInConf to set the volume, with the default value of 0DB. Or use the following
… configuration item or functions to set the volume for a channel with data to be off the bus.
A4-6 SsmTalkWithEx
SsmListenToEx/SsmLinkFromEx/SsmLinkFromAllCh
Recording mixer
M3
The signals output from M3 enter the Encoder component and become the recording data.
The volume adjuster used before incoming signals entering M3. The volume can be set via the
A3 function SsmSetRecVolume or the configuration item DefaultRecordVolume, with the default value of
0DB.
The volume adjuster used before outgoing signals entering M3, switched on in default. The volume
A2 can be set via the function SsmSetRecMixer or the configuration item DefaultRecordMixerVolume,
with the default value of -7.
Onto-bus mixer.
M5 Mixes the playing data, the incoming signals and those output from the off-bus mixer, and puts the
mixed voice onto TDM bus. Upon board initialization, the output from M5 is transported to a time slot
(marked as ‘ts’ for short) on TDM bus. You can use the function SsmLinkToBus to designate the ts.
The switch that controls whether the incoming signals enter the onto-bus mixer M5 or not, switched on
K3 in default. It can be set via the function SsmSetFlag (with the parameter F_InVoiceToBus) or the
configuration item InVoiceToBus.
The switch that controls whether the signals output from M2 go back onto TDM bus, being switched off
K1-2
in default. It can be set via the function SsmSetFlag (with the parameter F_MixerResToBus).
The switch that controls whether the playing data enter the mixer M5 and go onto TDM bus or not,
K1-1 usually keeping off. It can be set via the function SsmSetPlayDest, used only for playing background
music to the teleconference.
The switch that shifts between the FSK detector and other detectors, usually pointing to other
K2
detectors unless the FSK detector is started.
¾ Voice Playing
After the application invokes functions, the driver will automatically have K7 link to Decoder and switch on K5-1.
The voice data processed by A1 have two places to go:
Entering M1 and forming the final outgoing signals with other signal sources. The outgoing signals, if on
Channel 0, will be sent to the on-board speaker output jack at the same time.
Entering M5 under the control of K1-1 and forming the onto-bus signal sources with other signals, only
for playing background music to the teleconference.
A lot of special applications are available via the flexible use of the above switches for recording control and
volume adjusters. In the following examples, ch1 means Channel 1 and ch2 is just Channel 2.
Example 1: Only record the incoming signals on ch1, using the default volume.
Example 2: Record the incoming signals on ch1 (volume increased by 6DB) and the signals output from M2
(volume decreased by 3DB) at one time based on the establishement of a two-way call between
ch1 and ch2.
SsmTalkWith(ch1, ch2); //establish a two-way connection between ch1 and ch2 via TDM bus
SsmSetRecVolume(ch1, 2); //start A3, set the volume gain to 2*3DB=6DB
SsmSetRecMixer(ch1, TRUE, -1); //start A2, set the volume gain to -1*3DB=-3DB
SsmRecToFile(ch1, ……); //start the task of file recording …
Example 3: When ch1 joins a teleconference (assuming the conference room number is n), play background
music on ch1 and record the conference through ch1. All signal sources go with normal volume,
i.e. the gain is 0.
Channel 0 on the SHT Series boards is enabled by the analog audio amplifier circuit and the spearker output jack
equipped on it to connect directly with the external speaker or headset and monitor voice signals in real time. This
The AMP component in the figure above is the power amplifier for the analog audio amplifier circuit. Its gain can be
set via the function SsmSetPowerAmpVlm.
Channel 0 on the USB voice box (with ‘/USB’ marked in the model) is equipped with not only a speaker output jack
but also an on-board speaker, which enables the voice playing operation. The switch K8, providing choices for the
signals output from Channel 0 to enter the on-board speaker or the speaker jack, can be set via the function
SsmSetLine0OutTo or the configuration item USBLine0Output, with the default setting of ‘to the speaker jack’.
Note: Voices are sent onto the line as outgoing signals at the same time when transported to the on-board
speaker on Channel 0.
The flash signal is a short temporary on-hook pulse generated by a rapid clap on the hook switch of the analog
phone during a call, generally used for such operations as transferring the call to an extension with the help of the
PBX. You should do the clap as swift as possible lest the PBX mistakes the flash signal for the on-hook signal.
In the SynCTI driver, there are two ways available to generate a flash signal on the analog trunk.
¾ Invoke the function SsmTxFlash. In this way, the duration of the generated flash signal can be specified
directly.
¾ Use the parameter – the ‘!’ character - while invoking the function SsmTxDtmf. In this case, the duration
of the generated flash signal can be set via the configuration item DefaultTxFlashTime, with the default
value of 500ms.
For detailed information about the polarity reversal detection, refer to the Change in Analog Phone Line Voltage
section in this chapter.
Start Legend:
SsmXXX Function call by APP
SsmStartCti X Xxxxxxxx Event triggered by driver
RingOn xxxxx Ofen used channel state
Ringing Standby xxxx Channel state
RingOff xxxx? Internal module
SsmPickup
SsmPickup X
SsmHangup
OffHook
X
SsmHangup
SsmAutoDial
SsmHangup
DialToneDetected X
SsmHangup
SsmAppendPhoNum
Dialing
PolarReverse X
EndofDT
A F
SsmHangup
SsmAppendPhoNum BusyTone
WaitRingBackTon Silence1
X
Answered RingBackTone
PolarReverse SsmHangup Kewl Start
BusyTone
WaitAnswer T2Out
Silence2
Answered X
A PolarReverse BusyTone
SsmHangup PolarReverse
Connected
Each state identifier in the above diagram is described in the following table.
the driver:
¾ empties all buffers in the tone detector
and then starts it
¾ empties all buffers in the ringing current
detector and then closes it
¾ starts the DTMF detector if the Caller ID
detector is working in FSK mode
Ringing 2 S_CALL_RINGING ’Ringing’ state
’Talking’ state. Both parties can start talking
when the channel is in such state.
Before the channel state transfers to ‘Talking’,
the driver:
¾ empties all buffers in the tone detector
Connected 3 S_CALL_TALKING
and then starts it
¾ starts the DTMF detector if the Caller ID
detector is working in FSK mode
¾ resets the counter of the ringing current
detector to 0
’Waiting for Dial Tone’ state
Before the channel state transfers to ‘Waiting
for Dial Tone’, the driver:
WaitDialtone 4 S_CALL_ANALOG_WAITDIALTONE
¾ empties all buffers in the tone detector
¾ sets the progress value of the AutoDial
task to DIAL_DIALING
’Dialing’ state
Before the channel state transfers to ‘Dialing’,
the driver:
Dialing 5 S_CALL_ANALOG_TXPHONUM
¾ empties all buffers in the tone detector
and then closes it
¾ closes the DTMF detector
’Waiting for Ringback Tone’ state
Before the channel state transfers to ‘Waiting
for Ringback Tone’, the driver:
¾ empties all buffers in the tone detector
and then starts it
WaitRingBackTone 6 S_CALL_ANALOG_WAITDIALRESULT ¾ starts the enhanced remote pickup
detector (see the Enhanced Remote
Pickup Detector section in this chapter for
details)
¾ starts the DTMF detector
¾ starts Remote Pickup Detector
Pending 7 S_CALL_PENDING ’Pending’ state
’Waiting for Answer’ state. The called party
can hear the ringing tone when the channel
goes into such state. If it is the station
channel that makes an outbound call through
the digital trunk at the local end, there should
be ringback tones sent to this channel.
WaitAnswer 9 S_CALL_WAIT_REMOTE_PICKUP Before the channel state transfers to ‘Waiting
for Answer’, the driver:
¾ sets the progress value of the AutoDial
task to DIAL_ECHOTONE and throw out
the E_PROC_AutoDial event to the
application program
All state values and corresponding macro definitions in the table above can be found in the file ShpA3Api.h.
The internal events automatically triggered by the driver itself are described as follows.
Name Description
This event is triggered once the driver detects ringing tones on the analog trunk. See the
RingOn
Ringing Current on Analog Phone Line section in this chapter for details.
This event is triggered once the driver finds the ringing tone disappears on the analog trunk.
RingOff
See the Ringing Current on Analog Phone Line section in this chapter for details.
The timer T1 overflows. T1 is set via the configuration item MaxWaitDialToneTime, with the
default value of 3sec.
After T1 overflows, the driver:
T1Out ¾ sets the progress value of the AutoDial task to DIAL_NO_DIALTONE and sends the
E_PROC_AutoDial event to the application;
¾ sets PendingReason to ANALOGOUT_NO_DIALTONE and has the channel state
transfer to ‘Pending’.
The timer T2 overflows. T2 is set via the configuration item MaxWaitAutoDialAnswerTime,
with the default value of 25sec.
After T2 overflows, the driver:
T2Out ¾ sets the progress value of the AutoDial task to DIAL_NOANSWER and sends the
E_PROC_AutoDial event to the application;
¾ sets PendingReason to ANALOGOUT_NOANSWER and has the channel state transfer
to ‘Pending’.
This event is triggered once the remote pickup detector outputs the E_CHG_ToneAnalyze
event (with the parameter CHKTONE_NOVOICE). Refer to the Remote Pickup Detector
section in this chapter for more information about the remote pickup detector.
The driver:
Silence1
¾ sets the progress value of the AutoDial task to DIAL_NOVOICE and sends the
E_PROC_AutoDial event to the application;
¾ sets PendingReason to ANALOGOUT_NOVOICE and has the channel state transfer to
‘Pending’.
This event is triggered once the remote pickup detector outputs the E_CHG_ToneAnalyze
event (with the parameter CHKTONE_ECHO_NOVOICE). Refer to the Remote Pickup
Detector section in this chapter for more information about the remote pickup detector.
The driver:
Silence2
¾ sets the progress value of the AutoDial task to DIAL_ECHO_NOVOICE and sends the
E_PROC_AutoDial event to the application;
¾ sets PendingReason to ANALOGOUT_ECHO_NOVOICE and has the channel state
transfer to ‘Pending’.
This event is triggered once the tone detector detects dial tones on the line. See the Tone
DialToneDetected
Detector section in this chapter for details.
This event is triggered when the driver sends out all the digits in TxDtmfBuffer (after
EndofDTMF
dialing).
This event is triggered once the tone detector detects ringback tones on the line. See the
RingBackTone
Tone Detector section in this chapter for details.
This event is triggered once the tone detector detects the following results on the line.
CHKTONE_VOICEF1: The driver sets the progress value of the AutoDial task to
DIAL_VOICEF1 and sends the E_PROC_AutoDial event to the application.
Answered DIAL_VOICEF2: The driver sets the progress value of the AutoDial task to
DIAL_VOICEF2 and sends the E_PROC_AutoDial event to the application.
DIAL_VOICE: The driver sets the progress value of the AutoDial task to DIAL_VOICE
and sends the E_PROC_AutoDial event to the application.
This event is triggered when the voltage detector detects the polarity reversal signal on the
line and the configuration item DisablePolarReverse is set to 0.
PolarReverse
In case a channel stays in the Dialing, WaitRingBackTone or WaitAnswer state, the driver
will set the progress value of the AutoDial task to DIAL_VOICE and send the
The events output by the state machine are depicted in the following table.
E_CHG_ChState The driver sends this event to the application when the channel state changes.
The driver sends this event to the application when the AutoDial task, which has
E_PROC_AutoDial been started by the function call of SsmAutoDial, progresses. Refer to the
preceding content for detailed information on the driver’s throwing out this event.
Note: All event declarations are listed in the file ShpA3Api.h.
The remote pickup detector applies only to the analog trunk channel, used to detect with excruciating precision if
the calling party has picked up in an outgoing call.
Sometimes it is difficult to judge if the called party has picked up or not when the called party number has been
completely sent in an outgoing call on the analog trunk. At present, our boards support two ways to solve such
problem: judging by polarity reversal detection and by voice detection.
For detailed information about the polarity reversal signal, refer to the Change in Analog Phone Line Voltage
section in this chapter.
In case the remote pickup behavior is judged by voice detection, generally there are 2 different situations as stated
below after dialing.
¾ The called party picks up the phone and speaks (e.g. say ‘hello’) after hearing the rings (no matter how
long the phone rings before the pickup). In such situation, the calling channel detects the voice energy
on the line and believes the called party has picked up as long as the voice energy and duration get
greater than the preset threshold value. Note that this method goes invalid if the called party is provided
with color ring service, because the PBX will play the color ring (voice signals) as the ringback tone to
the calling party.
¾ The called party picks up the phone and keeps silent (does not speak) after hearing the rings. In such
case, there will not be ringback tones as well as any other voice signals on the line to the calling party,
which make the calling channel unable to decide if the called party has picked up. Hence the application
The SynCTI driver provides an independent remote pickup detector based on voice detection for each analog
trunk channel. Its operation principle, related configuration items, functions and output events are all illustrated in
the following figure.
RelativeEngyHookDetect
SsmSetFlag
SsmStartPickupAnalyze HookEngyConfigMulti
SsmAutoDial HookValidEngyCnt
SsmStartToneAnalyze
SsmAppendPhoNum SsmSetCalleeHookDetectP
SsmCloseToneAnalyze
SsmHangup
Inbound Barge-in
Detector Enhanced Remote Pickup Detector ÎE_SYS_RemotePickup
Voice
K5 K6
MinimumVoiceDetermineEnergy MaxWaitVocAfterEcho
SsmSetMinVocDtrEnergy WaitAfterDialTime
VoiceOnDetermineTime/SsmSetVoiceOnDetermineTime
The remote pickup detector contains two different combinations: one is of Noise Filter and Ordinary Remote
Pickup Detector and the other of K5, K6 and Enhanced Remote Pickup Detector as shown in the figure above.
Both are controlled by the switch K1 which can be set via the function
SsmStartToneAnalyze/SsmCloseToneAnalyze. Note: K1 controls both the tone detector and the Barge-in
detector at one time.
The ordinary remote pickup detector receives the output from the FFT component, appropriate for ordinary
occasions. The event it throws out is E_CHG_ToneAnalyze.
The enhanced remote pickup detector uses a special algorithm to judge the pickup behavior on the analog phone
line, offering greater precision than the ordinary remote pickup detector. The event it sends off is
E_SYS_RemotePickup.
The ordinary remote pickup detector detects the voice activities on the line.
The noise filter eliminates the noise on the line. Its operation principle and parameter settings are identical to those
of the noise filter mentioned in the Tone Detector section. See relative parts in the Tone Detector section for details.
When the noise filter determine that there exist voice signals on the line, the ordinary remote pickup detector won’t
agree until it is sure that the voice signal are not that specified by the 1st call progress tone detector.
The ordinary remote pickup detector outputs the E_CHG_ToneAnalyze event in one of the three situations stated
below.
(1) The called party picks up the phone immediately when the phone rings and then keeps silent. In such
case, there will not be ringback tones (Some flying ringback tones may appear on the line but are bound
to be filtered out because they can’t constitute an entire cycle so as not to be detected) as well as any
other voice signals on the line to the calling party as shown below.
Ton Toff
Te T1
t0 t1
Î E_CHG_ToneAnalyze
[CHKTONE_NOVOICE]
(2) The called party picks up the phone after at least one entire ring and then keeps silent. In such situation,
the calling channel can detect at least one ringback tone but no voice activities as shown below.
Te T2
t0 t1
Î E_CHG_ToneAnalyze
[CHKTONE_ECHO_NOVOICE]
(3) The called party picks up the phone after hearing the rings (no matter how long the phone rings before the
pickup) and immediately speaks (e.g. say ‘hello’).
Called Party Number Ring Echo Tone Ring Echo Tone Voice
T3
t0 t1
Î E_CHG_ToneAnalyze
[CHKTONE_VOICE]
In the figure above, T3 is the threshold value for judging voice signals, counted from t1 when voice signals appear.
The driver outputs E_CHG_ToneAnalyze (with the parameter CHKTONE_VOICE) as long as the voice signal lasts
longer than T3 which is designated by the configuration item VoiceOnDetermineTime or the function
SsmSetVoiceOnDetermineTime. The function SsmGetVoiceOnDetermineTime can be used to acquire the value of
T3 saved in the driver.
The switch K5 is switched on after the successful system initialization. It is set by the configuration item
RelativeEngyHookDetect or the function SsmSetFlag (with the parameter F_RELATIVEENGYHOOKDETECT)
which also can be used to obtain the state of K5.
The switch K6 can be controlled both by the application program and the driver. It is switched off after the
successful system initialization.
K6 will be automatically switched on to enable the remote pickup detector as one of the following conditions is
satisfied.
K6 will be automatically switched off by the driver to disable the remote pickup detector as one of the following
conditions is satisfied.
¾ The remote pickup detector accomplishes a detection and outputs the E_SYS_RemotePickup event.
¾ The application invokes the function SsmHangup.
¾ The state machine of the analog trunk channel receives the E_CHG_BusyTone event which is thrown
out by the tone detector.
When the enhanced remote pickup detector detects the called party’s pickup behavior, it will send out the
E_SYS_RemotePickup event to the call state machine for subsequent processing. The function SsmGetPickup
can be used to obtain the result.
Offhook
Onhook
Connected
Each state identifier in the above diagram is described in the following table.
The internal events automatically triggered the driver itself are described as follows.
Name Description
Offhook This event is triggered once the driver detects the pickup behavior.
Onhook This event is triggered once the driver detects the hangup behavior.
When the phone is picked up or hung up, some dithering signals may be generated on the line. To prevent
misdetection, those signals should be filtered so as not to affect the accuracy in detecting the pickup/hangup
behavior. The configuration item UserOnHookFilterTime is used to set the minimum pickup signal duration. Only
when the driver detects the pickup signal lasts longer than the set value of this configuration item will it confirm the
pickup behavior.
The driver throws out the E_CHG_HookState event to the application every time when it confirms a pickup/hangup
behavior. Also the function SsmGetHookState can be used to obtain the off-hook/on-hook state of the station
channel.
Because the station channel serves as the user circuit on analog PBXes, it has the capability of detecting flash
signals generated on the phone. Refer to the Flash Signal on Analog Phone Line section in this chapter for more
information about the flash signal.
The function SsmSetLocalFlashTime or the configuration item MaxLocalFlashTime is used to set N, the maximum
interval for judging the flash signal. The user releases the hook switch on the phone in a short period of time
(assumed as n) after pressing it. If n<N, the driver affirms what the user do is sending an flash signal, otherwise it
regards this action as the hangup behavior.
The driver provides a flash signal counter for each station channel, adding 1 to the count and throwing out the
E_CHG_FlashCount event to the application program every time when it detects a flash signal. Also the function
SsmGetFlashCount can be used to acquire the count. The driver will automatically reset the counter to 0 whenever
the channel state transfers to ‘Standby’. You can use the function SsmClearFlashCount to clear the count as well.
Each station channel on the Synway board is equipped with a ringing current generator for sending ringing signals
to the telephone. As viewed from the waveform, the regular ringing signal is periodic with 1sec on and 4sec off.
However, the on and off duration can be adjusted by the function SsmSetRingPeriod, and also the signal can be
set to consecutive by the configuration item UserChGenerateRingMode.
Both SsmStartRing and SsmStartRingWithCIDStr can be used to send ringing signals to the telephone.
SsmStartRing is for the analog and magnet phones; SsmStartRingWithCIDStr is only for the station channel but
can send the calling party information besides ringing signals. Because SsmStartRingWithCIDStr only accepts the
modulated FSK bit stream, so it is often used with the function fPcm_ConvertFskCID.
The driver provides a ringing signal counter for each station or magnet channel, adding 1 to the count every time
when it completes a signal transmission (at on state). Also the function SsmCheckSendRing can be used to
acquire the count.
The application program can invoke the function SsmStopRing any time to stop sending ringing signals to the
phone
For detailed information about the polarity reversal signal, refer to the Change in Analog Phone Line Voltage
section in this chapter.
Whether the station channel on the Synway board has the capability to generate the polarity reversal signal on the
analog phone line depends on if it is equipped with a B-type 1.0 series station module and if the module has the
capability to generate the polarity reversal signal (Note: Some of the B-type 1.0 series station modules don’t have
such capability).
The polarity reversal feature needs to be enabled via the configuration item UserSendPolar.
The function SsmGetPolarState is used to get the current voltage polarity on the phone line and the function
SsmSetPolarState to set the voltage polarity.
It is the configuration item AutoSendDialTone that determines if the driver, after the phone which is linked to the
station channel picks up, will automatically send dial tones to the phone. As to whether the driver automatically
stops sending dial tones upon detecting DTMF digits, it is set via the configuration item StopSendDialToneOnDtmf.
Synway offers a special kind of module to the SHT Series boards, that is, a module fitted with two put-in circuits
respectively to an analog trunk channel and a station channel. This kind of module is called the composite module.
The great advantage of this module is it enables direct connection between trunk and station which keeps call
uninterrupted during power outage. To be exact, when the power of the application system is accidentally cut off,
the analog trunk channel and the station channel linked to a same composite module connects directly to each
other. Therefore, the station channel is still able to communicate with the telephone network via the analog trunk
channel in such case.
The relationship between the analog trunk channel and the station channel on the composite module is set via the
function SsmSetUnimoduleState or the configuration item UnimoduleState.
1.15.6.1 Overview
The channel fitted with the magnet module on the SHT Series boards is called the magnet channel for short, used
to connect with the magnet phone.
The internal structure of the magnet module is similar to that of a magnet phone whose operation principle is
illustrated below.
Electrical Generator
(Crank)
1 Phone Line
Transmitter Circuit Magnet Phone
K2
(Microphone)
K1
Receiver Circuit
(Handset)
Electric Bell
As shown in the figure above, the magnet phone is composed of the transmitter circuit, the receiver circuit, the
electric bell, the electrical generator and the switches K1, K2 (Although it seems all the components are connected
by single lines, the actual thing is they are connected by double lines and form a loop with each other). When the
crank is turned, K2 automatically switches to the point 1 so as to send the ringing current to the electric bell of the
remote telephone; when K1 is pressed (equivalent to the situation that the hook switch on an ordinary telephone is
released), which makes the transmitter circuit be in connection and enabled to send out voices (The main purpose
to set K1 is to disconnect the dry battery at the time as no voices are transmitted).
is identical to that of the ringing current generator on the station module for the SHT/B Series boards or
above model. On the one hand, the magnet module is not allowed to send the ringing current if the
ringing current is already available on the line; on the other hand, the magnet module will automatically
stop sending the ringing current if it detects the ringing current on the line midway in transmission;
¾ The magnet module leaves out K1 so that the receiver circuit and the transmitter circuit are always in
connection when it stays in the ‘idle’ or ‘ringing’ state.
Note:
The on-board module identification circuit cannot recognize the magnet module but mistakes it as the
analog trunk module. Hence it is essential to set the configuration item IsMagnetModule to ensure that the
driver can properly distinguish these two kinds of modules.
SsmStartCti
Standby
SsmStartRing
SsmStopRing
RingDetected
SendRing
RingDetected RingDisappear
Ringing
1.15.7 EM Module
E&M is a universal technology involving trunk signaling over telephone switches and PBXs. EM interface is a type
of analog interface, through which information and signaling are separated. Like other kind of modules from
Synway, an EM module corresponds to two channels: one is an EM Control channel and the other is an EM Voice
channel.
The supported functions for the EM control channel include the API functions SsmPickup, SsmHangup and the
functions SsmGetChState, SsmGetHookState for acquiring status. SsmPickup and SsmHangup are used to send
1 and 0 signals to the remote end; SsmGetHookState is used to detect the 1 or 0 signal from the remote end;
SsmGetChState is used to get the local on-hook and off-hook states which change with the local end invoking
SsmPickup and SsmHangup.
The operations on the EM Voice channel are the same as those on other voice channels.
The SHT Series boards use the modular structure, composed of the main board and different modules. The
on-board DSP chips can work properly even if there is no module installed so that the non-module channel also
supports voice processing. However, since no physical interface circuits for telephone lines available on the board,
voice signals can be acquired only from TDM bus. In some particular occasions when other boards with TDM bus
are required to record voices, what you need do is put the voice data via TDM bus to the non-module channel and
use the output from the Barge-in detector as the pre-requisites for recording control. Such feature can be enabled
via the configuration item NoModuleChBusRec or the function SsmSetNoModuleChBusRec. The non-module
channel has the following voice processing capabilities: recording, data exchange via TDM bus, DTMF reception
and Barge-in detection.
Note: In case there is no module installed on the main board of the SHT Series, the channel type number of 20
means it is the non-module channel.
The features supported by the SHD Series boards are shown in the following table.
Voice SS7
Form Trunk Max. Conferencing Max Fax ISDN
Board Model Processing FSK SS1 SS7 Signaling
Factor Type Ports Capabilities Resource PRI
Capabilities Links
SHD-30A-CT/PCI/SS1 PCI 1 E1 30 √ √ √ N/A √ N/A N/A N/A
SHD-30A-CT/PCI/ISDN PCI 1 E1 30 √ √ √ N/A √ √ N/A N/A
SHD-30A-CT/PCI/SS7 PCI 1 E1 30 √ √ √ N/A √ √ √ 1
SHD-60A-CT/PCI/SS1 PCI 2 E1 60 √ √ √ N/A √ N/A N/A N/A
SHD-60A-CT/PCI/ISDN PCI 2 E1 60 √ √ √ N/A √ √ N/A N/A
SHD-60A-CT/PCI/SS7 PCI 2 E1 60 √ √ √ N/A √ √ √ 2
SHD-120A-CT/PCI/SS1 PCI 4 E1 120 √ √ √ N/A √ N/A N/A N/A
SHD-120A-CT/PCI/ISDN PCI 4 E1 120 √ √ √ N/A √ √ N/A N/A
SHD-120A-CT/PCI/SS7 PCI 4 E1 120 √ √ √ N/A √ √ √ 4
SHD-30B-CT/PCI/SS7/FAX PCI 1 E1 30 √ √ √ 24 √ √ √ 1
SHD-60B-CT/PCI/SS7/FAX PCI 2 E1 60 √ √ √ 16 √ √ √ 2
√(E1 √(E1
SHD-30C-CT/PCI PCI 1 E1/T1 30/23 √ √ √ N/A √ 1
Only) Only)
√(E1 √(E1
SHD-30C-CT/PCI/FAX PCI 1 E1/T1 30/23 √ √ √ 24 √ 1
Only) Only)
√(E1 √(E1
SHD-60C-CT/PCI PCI 2 E1/T1 60/46 √ √ √ N/A √ 2
Only) Only)
√(E1 √(E1
SHD-60C-CT/PCI/ FAX PCI 2 E1/T1 60/46 √ √ √ 16 √ 2
Only) Only)
SHD-120D-CT/PCI PCI 4 E1/T1/J1 120/92 √ √ √ N/A √ √ √ 4
SHD-120D-CT/PCI/EC PCI 4 E1/T1/J1 120/92 √ √ √ N/A √ √ √ 4
The figure below shows the operation principle of the SHD Series boards.
K1-1
∑
A4-1 A4-6 M5
K5-3
K1-2 K3
∑ M2
K5-2
∑
K6-1 M1 K6-2
∑
Outbound Voice M4
K5-1
LIU Framer Echo Inbound Voice
Canceler
E1/T1 AGC A1
Interface
HDLC
ABCD Signaling A3 A2
SS7-MTP2 K2 K7
∑ M3
Below is description on components and symbols related to the recording operation illustrated above:
Name Description
M1 Outbound voice mixer.
The switch that controls the signal output of Tone Generator and DTMF Generator, often being off
under the automatic control of the driver. Only when the function SsmTxDtmf or
K5-3 [1]
SsmSendTone/SsmSendToneEx is called to start the DTMF generator or the tone generator does the
driver switch on K5-3 and switch off it again after the operation concerned is complete.
M2 Off-bus mixer.
The volume adjuster which is used for off-bus signals before they are sent to M2. Use the function
A4-1 SsmSetListenVlmInConf to set the volume, with the default value of 0DB. Or use the following
… configuration item or functions to set the volume for a channel with data to be off the bus.
A4-6 SsmTalkWithEx
SsmListenToEx/SsmLinkFromEx/SsmLinkFromAllCh
The switch that controls output signals from the off-bus mixer, automatically controlled by the driver.
The driver will automatically switch off K5-2 when off-bus operation functions are called by the
K5-2 [1]
application program, and then switch it on again when the input to M2 is thoroughly cut off. See the
TDM Capability section in this chapter for more information.
Recording mixer.
M3
The signals from M3 are sent to the Encoder component for recording purpose.
The volume adjuster which is used for incoming signals before they are sent to M3. The volume can
A3 be set via the function SsmSetRecVolume or the configuration item DefaultRecordVolume, with the
default value of 0DB.
The volume adjuster which is used for outgoing signals before they are sent to M3. By default, it is on.
A2 The volume can be set via the function SsmSetRecMixer or the configuration item
DefaultRecordMixerVolume, with the default value of -7.
Outbound voice mixer for recording.
M4 Mixes signals from the off-bus mixer, data being played on a channel and signals from the tone
generator/DTMF generator, and then puts them onto M3.
K6-1 Switch K6-1 controls whether to put signals form M2 into M3; Switch K6-2 controls whether to put
K6-2 voice data being played into M3. Both can be set via the function SsmSetRecBack.
Onto-bus mixer.
Mixes data being played on a channel, incoming signals and those from the off-bus mixer M2, and
M5 then puts them onto TDM bus. Upon board initialization, the output from M5 is transported to a time
slot (marked as ‘ts’ for short) on TDM bus. You can use the function SsmLinkToBus to designate the
ts.
The switch that controls whether to put incoming signals into M5 or not. By default, it is on. It can be
K3 set via the function SsmSetFlag (with the parameter F_InVoiceToBus) or the configuration item
InVoiceToBus.
The switch that controls whether to put data being played on a channel first into M5 and then onto
K1-1 [1] TDM bus or not, usually being off. It can be set via the function SsmSetPlayDest, used only for playing
background music to a teleconference.
The switch that controls whether to put signals from M2 back onto TDM bus. By default, it is off. It can
K1-2
be set via the function SsmSetFlag (with the parameter F_MixerResToBus).
Below is the description on components and symbols concerning the playback operation
The Voice Play/Fsk Transmitter switch, automatically controlled by the driver. When the application
calls the playing function, K7 connects to the component Decoder; when it calls the function
K7
SsmStartSendFSK to start FSK data transmission, K7 connects to the component FSK Generator. For
more information about the playing functions, refer to the Voice Playing section.
The volume adjuster for voice playing. The volume can be set via the configuration item
A1
DefaultPlayVolume or the function SsmSetPlayVolume/SsmSetPlayGain, with the default value of 0.
The switch that controls the voice playing operation, automatically controlled by the driver. Only when
the application program invokes the playing function does the driver automatically switch on K5-1 and
K5-1 [1]
then switch it off at the end of voice playing. For more information about the playing functions, refer to
the Voice Playing section.
The switch that shifts between the FSK detector and other detectors, usually connected to other
K2
detectors unless the FSK detector is started.
Note[1]:
z For some board models in SHD Series, due to the limited on-board DSP resources, only one of
K5-1, K5-2, K5-3 can be switched on when K1-1 is off. As a result, in case a channel is playing
voices (K5-1 is already on at that time) or starts the tone generator (K5-3 is already on at that
time), and the application program invokes the function for bus operation which causes K5-2 to
be off, if the configuration item LinkFromStopPlayAndTone is set to 1, the playing operation will
be stopped immediately and K5-2 will be switched on; if the configuration item
LinkFromStopPlayAndTone is set to 0, K5-2 will get on only after the playing operation ends up
in a normal way. The bus operation functions which cause K5-2 to get off include:
¾ SsmTalkWith / SsmTalkWithEx
¾ SsmListenTo / SsmListenToEx / SsmLinkFrom / SsmLinkFromEx / SsmLinkFromAllCh
¾ SsmLinkFromBus / SsmLinkFromBusEx
¾ SHD-30A-CT/PCI/SS1
¾ SHD-30A-CT/PCI/ISDN
¾ SHD-30A-CT/PCI/SS7
¾ SHD-30B-CT/PCI/SS7/FAX
¾ SHD-60A-CT/PCI/SS1
¾ SHD-60A-CT/PCI/ISDN
¾ SHD-60A-CT/PCI/SS7
¾ SHD-60B-CT/PCI/SS7/FAX
¾ SHD-120A-CT/PCI/SS1
¾ SHD-120A-CT/PCI/ISDN
¾ SHD-120A-CT/PCI/SS7
¾ SHD-30A-CT/cPCI/SS7
¾ SHD-30B-CT/cPCI/SS7/FAX
¾ SHD-60A-CT/cPCI/SS7
¾ SHD-60B-CT/cPCI/SS7/FAX
¾ SHD-120A-CT/cPCI/SS7
¾ SHD-30C-CT/PCI
¾ SHD-60C-CT/PCI
¾ SHD-30C-CT/PCI/FAX
¾ SHD-60C-CT/PCI/FAX
z If K1-1 is on, K5-1 and K5-2 are allowed to be switched on at the same time but K5-3 must keep
off.
¾ Voice Playing
After the application invokes the playing function, the driver will automatically have K7 linked to Decoder and
switch on K5-1. The voice data processed by A1 will:
Enter M1 and form the final outgoing signals with other signal sources; or
Enter M4 under the control of K6-2 and form the recording signal sources with other signals; or
Enter M5 under the control of K1-1 and form the onto-bus signal sources with other signals, only for
playing background music to the teleconference.
A lot of special applications are available via the flexible use of the above switches for recording control and
volume adjusters. In the following examples, ch1 and ch2 respectively mean Channel 1 and Channel 2.
Example 1: Only record the incoming signals on ch1 and use the default volume.
Example 2: Record the incoming signals on ch1 (volume increased by 6DB) and the signals output from M2
(volume decreased by 3DB) at one time based on the establishement of a two-way call between
ch1 and ch2.
SsmTalkWith(ch1, ch2); //establish a two-way connection between ch1 and ch2, switch on K5-2
SsmSetRecBack(ch1,2); //switch on K6-1, switch off K6-2
SsmSetRecVolume(ch1, 2); //start A3, set the volume gain to 2*3DB=6DB
SsmSetRecMixer(ch1, TRUE, -1); //start A2, set the volume gain to -1*3DB=-3DB
SsmRecToFile(ch1, ……); //start the task of file recording …
Example 3: When ch1 joins a teleconference (assuming the conference room number is n) as the organizer,
play background music on ch1 and record the conference (including the background music)
through ch1. All signal sources go with normal volume, i.e. the gain is set to 0.
SsmJoinConfGroup(n, ch1, ……); //ch1 joins the conference: switch on K5-2 and K3
SsmSetPlayDest(int ch, 1); //switch on K1-1
SsmSetRecBack(ch1,1); //switch on K6-1 and K6-2
SsmPlayFile(ch1, ……); //start the task of voice playing on ch1: link K7 to Decoder, switch on K5-1
SsmSetRecVolume(ch1, 0); //start A3, set the volume gain to 0DB
SsmSetRecMixer(ch1, TRUE, 0); //start A2, set the volume gain to 0DB
SsmRecToFile(ch1, ……); //start the task of file recording …
Incoming calls are automatically handled via the channel state machine. What the application need do is preset the
rule to receive numbers. The number-receiving rule means the rule followed by the local end to receive Caller ID,
Callee ID and other information from the remote PBX.
As to the number-receiving rule, there are two modes available which can be set by the configuration item
DefaultRcvPhoNumLen.
Fixed-length Mode: The local end has only one phone number of fixed length (e.g. ‘110’). When the
driver fully receives the preset length of the called party number, the number-receiving process is
considered to be over. The configuration items DefaultRcvCallerID and RcvPhoNumCfgLen are used to
set particular rules in this mode.
Prefix Mode: You can set several called party numbers for the application program at the local end, each
of which begins with a prefix. The configuration items MaxPhoNumRule and Rule are used to set
particular rules in this mode.
You are allowed to set independent number-receiving rules respectively for TUP channel, ISUP channel, ISDN
channel and SS1 channel.
Signaling Point (SP) is a node in a signaling network that originates and receives signaling messages, or transfers
signaling messages from one signaling link to another, or both. CCITT suggests the use of a signaling point code
(SPC) with a unique 14-bit format used at the international level for signaling message routing and identification of
signaling points involved, i.e. International Signaling Point Code (ISPC). See the table below for the grouping of
ISPC.
3bit 8bit 3bit
ZONE AREA POINT
The format of the 24-bit binary code is used for the identification of national signaling points in China (i.e. National
Signaling Point Code (NSPC) Format in China). NSPC is grouped as follows.
8bit 8bit 8bit
MAIN AREA SUBAREA POINT
The Synway SHD Series boards support both International Signaling Point Code (ISPC) Format and National
Signaling Point Code (NSPC) Format in China.
The specific signaling point code (OPC-Originating Point Code or DPC- Destination Point Code) is configured in
the file Ss7Server.ini.
The PCM time slots on the SHD Series boards are allocated as shown in the following table.
1-15,17-31 16 16 16[1]
SHD-60A-CT/PCI/SS7 0
2-31 - - 1[1]
SHD-120A-CT/PCI/SS1 0 1-15,17-31 16 N/A N/A
SHD-120A-CT/PCI/ISDN 0 1-15,17-31 16 16 N/A
SHD-120A-CT/PCI/SS7 0 1-15,17-31 16 16 16[1]
1-15,17-31 16 16 16[1]
SHD-30B-CT/PCI/SS7/FAX 0
2-31 - - 1[1]
1-15,17-31 16 16 16[1]
SHD-60B-CT/PCI/SS7/FAX 0 [1]
2-31 - - 1
0(E1) 1-15,17-31(E1) 16(E1)
SHD-30C-CT/PCI 16(E1) 16[1](E1)
N/A(T1) 0-22(T1 ISDN) 23(T1)
0(E1) 1-15,17-31(E1) 16(E1)
SHD-30C-CT/PCI/FAX 16(E1) 16[1](E1)
N/A(T1) 0-22(T1 ISDN) 23(T1)
0(E1) 1-15,17-31(E1) 16(E1)
SHD-60C-CT/PCI 16(E1) 16[1](E1)
N/A(T1) 0-22(T1 ISDN) 23(T1)
0(E1) 1-15,17-31(E1) 16(E1)
SHD-60C-CT/PCI/ FAX 16(E1) 16[1](E1)
N/A(T1) 0-22(T1 ISDN) 23(T1)
SHD-120D-CT/PCI 0 1-15,17-31 16 16 16[1]
[1]
SHD-120D-CT/PCI/EC 0 1-15,17-31 16 16 16
SHD-120D-CT/PCI/CAS 0 1-15,17-31 16 - -
SHD-240D-CT/PCI 0 1-15,17-31 16 16 16[1]
SHD-240D-CT/PCI/EC 0 1-15,17-31 16 16 16[1]
-
SHD-240D-CT/PCI/CAS 0 1-15,17-31 16 -
SHD-30E-CT/PCI(SSW) 0 1-15,17-31 16 16 16[1]
SHD-30E-CT/PCI/FAX(SSW) 0 1-15,17-31 16 16 16[1]
SHD-30E-CT/PCI/EC(SSW) 0 1-15,17-31 16 16 16[1]
SHD-60E-CT/PCI(SSW) 0 1-15,17-31 16 16 16[1]
SHD-60E-CT/PCI/FAX(SSW) 0 1-15,17-31 16 16 16[1]
SHD-60E-CT/PCI/EC(SSW) 0 1-15,17-31 16 16 16[1]
SHD-120E-CT/PCI(SSW) 0 1-15,17-31 16 16 16[1]
SHD-120E-CT/PCI/FAX(SSW) 0 1-15,17-31 16 16 16[1]
SHD-120E-CT/PCI/EC(SSW) 0 1-15,17-31 16 16 16[1]
SHD-240E-CT/PCI(SSW) 0 1-15,17-31 16 16 16[1]
SHD-240E-CT/PCI/FAX(SSW) 0 1-15,17-31 16 16 16[1]
SHD-240E-CT/PCI/EC(SSW) 0 1-15,17-31 16 16 16[1]
SHD-30E-CT/PCIe 0 1-15,17-31 16 16 16[1]
SHD-30E-CT/PCIe/FAX 0 1-15,17-31 16 16 16[1]
SHD-30E-CT/PCIe/EC 0 1-15,17-31 16 16 16[1]
SHD-60E-CT/PCIe 0 1-15,17-31 16 16 16[1]
SHD-60E-CT/PCIe/FAX 0 1-15,17-31 16 16 16[1]
SHD-60E-CT/PCIe/EC 0 1-15,17-31 16 16 16[1]
SHD-120E-CT/PCIe 0 1-15,17-31 16 16 16[1]
SHD-120E-CT/PCIe/FAX 0 1-15,17-31 16 16 16[1]
SHD-120E-CT/PCIe/EC 0 1-15,17-31 16 16 16[1]
SHD-240E-CT/PCIe 0 1-15,17-31 16 16 16[1]
SHD-240E-CT/PCIe/FAX 0 1-15,17-31 16 16 16[1]
SHD-240E-CT/PCIe/EC 0 1-15,17-31 16 16 16[1]
SHD-240E-CT/PCIe/VAR 0 1-15,17-31 16 16 16[1]
1-15,17-31 16 16 16[1]
SHD-30A-CT/cPCI/SS7 0
2-31 - - 1[1]
SHD-60A-CT/cPCI/SS7 0 1-15,17-31 16 16 16[1]
2-31 - - 1[1]
1-15,17-31 16 16 16[1]
SHD-120A-CT/cPCI/SS7 0 [1]
2-31 - - 1
SHD-240A-CT/cPCI 0 1-15,17-31 N/A 16 16[1]
SHD-480A-CT/cPCI 0 1-15,17-31 N/A 16 16[1]
1-15,17-31 16 16 16[1]
SHD-30B-CT/cPCI/SS7/FAX 0
2-31 - - 1[1]
1-15,17-31 16 16 16[1]
SHD-60B-CT/cPCI/SS7/FAX 0 [1]
2-31 - - 1
SHD-240S-CT/cPCI 0 1-15,17-31 N/A 16 16[1]
SHD-480S-CT/cPCI 0 1-15,17-31 N/A 16 16[1]
Note [1]: It is the configuration items UseTS16AsCircuit and Ss7SignalingTS that determine if SS7 links are
available on the digital trunk and which time slot serves as the signaling link.
In TUP and ISUP calls, called party number, calling party number and other information within messages are
displayed in address code format instead of ASCII format. However, the driver adopts ASCII characters to present
CallerId and CalleeId, so it is essential to establish a rule for translating address codes into unified ASCII
characters. As shown in the table below, the configuration item AddressSignal is used to map the spare codes to
some particular characters.
Refer to Chapter 4 Application and Configuration Instance for SS7 Server in this manual for details.
Start
Legend:
SsmStartCti SsmXXX Function call by APP
Xxxxxxxx Event triggered by driver
U Unusable xxxxx Ofen used channel state
xxxx Channel state
MTP3Usable
Error xxxx? Internal module
Reseting
RcvRLG
CicReset
X
RcvPhoNum Dialing
Error RcvCLF SsmHangup CallFailure
T5-Out CicReset RcvIAI RcvACM T2Out
U
PhoNumOK C P
C X 1
SsmHangup
CallFailure
WaitAnswer RcvCBK Pending
K1
1 T4-Out
P
2 3 Answered SsmHangup
RcvCLF RcvCLF
RcvCBK SsmSetKB
2 Error
CicReset
Blocking
Ringing Connected 1 2 C X
SsmPickup RcvCCL
The internal events automatically triggered by the driver itself are described as follows.
What the driver does: If the local end blocks the remote end or is waiting for the reply after
sending the blocking message to the remote end, the driver will send the BLO message to
the remote end to keep it blocked and throw out the E_CHG_RemoteChBlock event to the
application program at the same time.
This channel is blocked by the local end (Local Blocking) or the remote end (Remote
Blocking). This event is triggered in the following two situations.
• Remote Blocking: The driver receives the group blocking message (MGB, SGB, HGB)
Blocking
or the circuit blocking message (BLO) from the remote PBX.
• Local Blocking: The application invokes the function SsmBlockLocalCh or
SsmBlockLocalPCM.
Remote Unblocked: This event is triggered when the driver receives the MGU, HGU, SGU or
UnblockedByPBX
UBL message from the remote PBX.
Local Unblocked: This event is triggered after the application invokes the function
UnblockedByApp
SsmUnblockLocalPCM or SsmUnblockLocalCh to unblock the local end.
The driver receives the incoming call request message (i.e. IAI or IAM) from the remote PBX.
That whether the driver accepts this request or not depends on the channel state at that
time.
Channel State Description
BlockedByPBX When the local end is blocked, the channel does not support
BlockedByApp outgoing calls and only accept incoming calls.
The reception of the IAI/IAM message from the remote PBX during
the outgoing call indicates the ‘collision’ phenomenon occurs. As
stipulated in TUP, if the channel’s CIC represents the circuit
Dialing
controlled by the local end, the local end will abandon the IAI/IAM
RcvIAI
message and continue the outgoing call; otherwise, the local end
will quit the outgoing call and process the incoming call.
The channel is preparing to make an outgoing call but does not
OffHook
send the IAI or IAM message yet. The driver will reply the incoming
Locked
call request message received at that time from the remote end.
Standby The channel accepts the incoming call.
Others The channel rejects the incoming call.
In case the driver accepts the incoming call, it will throw out the E_CHG_RxPhoNumBuf
event to the application program after saving the called party number within the IAM
message to the buffer and change the channel state to RcvPhoNum.
RcvRLG The driver receives the RLG (Release-guard signal) message from the remote PBX.
The driver receives the CLF message from the remote PBX. When this event is triggered, if
the channel stays in the state:
• RcvPhoNum or Ringing:
it indicates the remote PBX (the calling party) cancels this call during the incoming call
establishment.
In case the channel stays in the Ringing state and the configuration item RingToPending
is set to 1, the driver will set PendingReason to PEND_RemoteHangupOnRinging and
transfer the channel state to Pending; otherwise, the driver will start to disconnect this
incoming call.
• S_TUP_WaitCLF (a substate of Release):
RcvCLF
it indicates the channel receives the CLF message as expected during the call
disconnection, which ends up the disconnection process.
• Pending:
No matter what causes the channel to go into the Pending state, the reception of the
CLF message in this state will prompt the driver to automatically send the RLG message
and start disconnecting the call.
• Connected:
For the incoming call, the reception of the CLF message in the Connected state means it
is the calling party that first hangs up the phone. The driver will set PendingReason to
PEND_RemoteHangupOnTalking and then transfer the channel state to Pending.
PhoNumOK After this event is triggered, if the application enables the ‘Auto-answer of Incoming Call’
feature via the function SsmEnableAutoSendKB or the configuration item AutoSendACM,
the driver will automatically send the ACM message to the remote PBX and transfer the
channel state to Ringing. The configuration item DefaultACM is used to specify the
message indicator field which shows the called party state in the ACM message
automatically sent by the driver. The configuration item RcvPhoNumCfgLen is used to set
the method for the driver to save the called party number. The function SsmSetKB is for
setting the charge indicator in the backward call indicator field of the ACM message. If the
‘Auto-answer of Incoming Call’ feature is not enabled, the driver will set PendingReason to
PEND_WaitBckStpMsg, transfer the channel state to Suspend, and let the application
determine whether to accept this call or not.
This event is triggered when the driver detects one of the following situations.
¾ The synchronization signal through TS0 on the digital trunk where this channel stays
gets lost (e.g. line disconnected, clock configuration error and so on).
¾ The TCP/IP connection between the TUP stack and the SS7 server is broken.
¾ The signaling unusable message is received from the SS7 server.
When this event is triggered, the driver’s operation is in relation to the channel state. See
below for details.
Error
¾ In the state Dialing, AppSetCallerID or WaitAnswer: The driver will set the progress
value of the AutoDial task to DIAL_FAILURE and the failure reason to
ATDL_PcmSyncLos or ATDL_Mtp3Unusable, and throw out the E_PROC_AutoDial
event to the application;
¾ In the state Dialing, AppSetCallerID, WaitAnswer, Connected or Pending: The
driver will set PendingReason to PEND_PcmSyncLos or PEND_SsxUnusable, and
then transfer the channel state to Pending.
If the call fails during the outgoing process, the driver triggers this event. The outgoing call
fails in the following situations.
¾ The driver receives the call failure message from the remote PBX. The call failure
message includes:
CallFailure
z The CFL message (call failed). The driver will
set the result of the AutoDial task to DIAL_FAILURE and the failure reason to
ATDL_RcvCFL, and throw out the E_PROC_AutoDial event to the application;
transfer the channel state to Pending after setting PendingReason: if the channel
Each state identifier in the above diagram is described in the following table.
The driver judges the received called party number according to the preset number-receiving
rule. If the number complies with the rule, the channel will transfer to the subsequent state. For
more information about the number-receiving rule, refer to the section Number-receiving Rule
for Incoming Call in this chapter.
If the called party number involved in the IAM/IAI message from the remote PBX proves
incomplete, the channel will stay in the S_TUP_WaitSAM substate. Every time when the driver
receives the SAO or SAM message from the remote PBX, it will save the message to its
internal buffer and throw out the E_CHG_RxPhoNumBuf event to the application.
After the driver receives the complete called party number according to the number-receiving
RcvPhoNum rule, if it is required to receive the calling party information (such as Caller ID, Calling party
category, etc.) which is not yet supplied by the remote PBX, the driver will send the GRQ
message to the remote PBX and transfer the channel state to S_TUP_WaitGSM. The
configuration item ReqTypeIndicators is used to customize the Request Type Indicator field in
the GRQ message sent to the remote PBX.
If the called party number received by the channel does not conform to the number-receiving
rule, the driver will automatically send the REL message (carrying the unallocated-number
reason) and transfer the channel state to Release.
The function call of SsmAutoDial or SsmAutoDialEx by the application will prompt the driver to
send the IAM message to the remote PBX and transfer the channel state to
S_TUP_WaitDialAnswer. In the S_TUP_WaitDialAnswer substate, if the remote PBX wants
to receive the calling party information which is not contained in the IAM/IAI message, it will
send the GRQ message to the local end. After the driver receives the GRQ message,
¾ in case the Caller ID buffer is empty during an outgoing call on the channel while the
received GRQ message shows the remote PBX is asking the local end for the calling party
Dialing number,
the driver will automatically send the GSM message provided the configuration item
AutoSendGSM is set to 1;
the driver will bring the channel into the S_TUP_WaitSetCallerID state to wait for
the application to set the calling party number and the like, and start a timer with the
preset value of 2sec at the same time, provided the configuration item
AutoSendGSM is set to 0. If the timer overflows before the application invokes the
function SsmSetTxCallerId, the driver will transfer the channel state back to
S_TUP_WaitDialAnswer.
¾ otherwise, the driver will take the string in the Caller ID buffer as the calling party number
and send the GSM message automatically.
The channel is waiting for the called party to pick up the phone. This state is only applicable to
the outgoing call. The called party should be able to hear ringing tones in such state, and if at
WaitAnswer
the local end is the station channel that makes an outgoing call through the digital trunk
channel it should send the ringback tone to the station channel.
Both parties are connected and able to talk with each other. When the channel state transfers
Connected
to Connected, the driver will
Each state identifier in the state machine is declared in the header file ShpA3Api.h as follows.
In the above state machine, ChUsable is the driver’s internal component to judge the channel’s usability. It will
output values as shown in the table below.
1.16.4.5.2.2 Usage
This feature is only applicable to the digital trunk channel. When the application program is required to stop the
system for maintenance, the 4 steps below must be followed to ensure nomal exit.
(1) Block all local channels to stop new outgoing calls.
(2) Block all remote channels to stop new outgoing calls.
(3) Wait for the current call progress to end up.
(4) Exit the program.
When a channel is blocked, the driver will not process new outgoing calls any more (i.e. all function calls related to
the auto outgoing call progress will fail).
(1) A channel can be blocked by receiving blocking messages from the remote PBX. In TUP, the channel
may be blocked as it receives the circuit blocking message (BLO) or the circuit group blocking
message (SGB, HGB or MGB) from the remote PBX; or
(2) The application program can invoke the function SsmBlockLocalCh() to block the local channel
and/or the function SsmBlockLocalPCM() to block the local PCM.
The functions used for blocking channels are listed in the following table.
The TUP state machine will automatically send the circuit group reset message to the remote PBX and reset all
TUP channels when
the SS7 server detects that the service supplied by the MTP3 level becomes usable again, or
the synchronization signal of the digital trunk is resumed.
The Range field in the circuit group reset message can be set via the configuration item SendGRMRange.
During an incoming call that both parties have joined, if the calling party first hangs up the phone, the remote PBX
will send the CCL message to the local end. Upon reception of the CCL message, the driver will send back the
OPR message to the remote PBX provided the application invokes the function SsmSetCalleeHoldFlag to enable
the ‘Caller Holding’ feature.
The table below shows all relative configuration items for TUP protocol.
Configuration
Configuration Item Description
Section
PcmNumber
set the total number of on-board digital trunks as well as the
PcmSSx
signaling type, the clock operating mode and the line type for
PcmClockMode
each digital trunk.
[BoardId=x] PcmLinkType
determine whether some of the digital trunks serve as SS7
UseTS16AsCircuit
signaling links and specify the time slot number to support the
Ss7SignalingTS
signaling links.
TotalPcm set the total number of all digital trunks involved in the PC and
[PcmInfo] build the mapping relationship between the logical number and
Pcm
the physical number of each digital trunk.
sets whether to use the call state machine supplied by the
AutoHandleTup
driver.
[SS7] Ss7ServerIP
SecondServerIP set the SS7 server address and the IP address of the local PC.
LocalIP
MaxWaitAutoDialAnswerTime Outgoing Call: set relative parameters.
CalloutCallerId
SetSTSignal
AutoSendGSM
ConnectReqMsg
AddressSignal
CalloutIAM_MsgPntr
CalloutIAM_CAT
CallingIndicatorBit Outgoing Call: customize the IAM message to be sent to the
ReqTypeIndicators remote PBX.
OriginalCalleeAddrInd
CallerAddrInd
DefaultACM
AutoSendACM
Incoming Call: set relative parameters.
ReqTypeIndicators
RingToPending
RcvPhoNumCfgLen
DefaultRcvPhoNumLen
DefaultRcvCallerID Incoming Call: set the number-receiving rule.
MaxPhoNumRule
Rule
Incoming Call: set the message type used for refusing the
HangupRingSendCBK
incoming call.
Note: Those written in the XXXX font are essentially configured items while those in XXXX are optionally
configured ones.
The table below lists all relative configuration items for the use of ISUP.
Configuration Description
Configuration Item
Section
PcmNumber set the total number of on-board digital trunks
PcmSSx as well as the signaling type, the clock
PcmClockMode operating mode and the line type for each
[BoardId=x] PcmLinkType digital trunk.
determine whether some of the digital trunks
UseTS16AsCircuit
serve as SS7 signaling links and specify the
Ss7SignalingTS
time slot number to support the signaling links.
TotalPcm set the total number of all digital trunks involved
in the PC and build the mapping relationship
[PcmInfo]
Pcm between the logical number and the physical
number of each digital trunk.
TotalIsupPcm set the digital trunks which uses ISUP in the
IsupPcm local PC.
sets whether to use the call state machine
AutoHandleIsup
[SS7] supplied by the driver.
Ss7ServerIP
set the SS7 server address and the IP address
SecondServerIP
of the local PC.
LocalIP
[ISUP] MaxWaitAutoDialAnswerTime
CalloutCallerId Outgoing Call: set relative parameters.
SetSTSignal
DefaultNatureOfConnectionInd
DefaultIAM_ForwardCallInd
DefaultIAM_CAT
DefaultIAM_TransmissionMediumRequirment
DefaultIAM_CalleeParam
Outgoing Call: customize the IAM message to
DefaultIAM_CallerParam
be sent to the remote PBX.
DefaultIAM_OriginalCalleeParam
DefaultIAM_RedirectingNumber
bSubscriberSI,SubscriberSI
bOptionalFCI,OptionalFCI
Usr2UsrInfo
Outgoing Call: sets the mode to reply to the INF
AutoSendINF
message.
RingToPending
AutoSendACM
DefaultCalledPickupMsg
DefaultBackwardCallInd Incoming Call: set relative parameters.
DefaultHangupRELInd
DefaultCauseInd
SaveRGNTo1stPhoNumStr
DefaultRcvPhoNumLen
DefaultRcvCallerID
Incoming Call: set the number-receiving rule.
MaxPhoNumRule
Rule
AddressSignal sets the parameters of the ISUP state machine.
Note: Those written in the XXXX font are essentially configured items while those in XXXX are optionally
configured ones.
Start
Legend:
SsmStartCti SsmXXX Function call by APP
Xxxxxxxx Event triggered by driver
U Unusable xxxxx Ofen used channel state
xxxx Channel state
MTP3Usable
Error xxxx? Internal module
Reseting
CicReset
X
The internal events automatically triggered by the driver itself are described as follows.
and the outgoing call fails, the driver will throw out the E_PROC_AutoDial event to the
application. The function SsmGetAutoDialFailureReason can be used to acquire the
specific reason why the AutoDial task fails.
This channel is blocked by the local end (Local Blocking) or the remote end (Remote
Blocking).
Blocking
Remote Blocking: The driver receives the group blocking message (CGB) or the circuit
blocking message (BLO) from the remote PBX.
Local Unblocked: This event is triggered when the driver receives the CGU, UBL messages
UnblockedByPBX
from the remote PBX.
The driver receives the incoming call request message (IAM) from the remote PBX.
The driver will automatically save the newly received IAM message. The function
SsmGetIsupUPPara (with the parameter C_ISUP_IAM) can be used to acquire this
message, and SsmGetRedirectionInfReason, SsmGetKA can be used respectively to
obtain the redirection reason value and the ‘Calling Party Category’ parameter in the IAM
message.
That whether the driver accepts this request or not depends on the channel state at that
time.
Channel State Description
When the local end is blocked, although the channel does not
BlockedByPBX support outgoing calls, it still can accept incoming calls. Therefore,
the driver will respond to the IAM message in such case.
The reception of the IAI message from the remote PBX during the
outgoing call progress implementation indicates the ‘collision’
phenomenon occurs. As stipulated in ISUP, if the channel’s CIC
RcvIAM represents the circuit controlled by the local end, the local end will
abandon the IAI message and continue the outgoing call;
AutoDial
otherwise, the local end will quit the outgoing call and process the
incoming call, which indicates this outgoing call fails. At that time
the driver will throw out the E_PROC_AutoDial event to the
application. The function SsmGetAutoDialFailureReason can be
used to acquire the specific reason why the AutoDial task fails.
The channel is preparing to make an outgoing call but does not
OffHook send the IAM message yet. The driver will respond to the incoming
Locked call request message IAM received at that time from the remote
PBX.
Standby The channel accepts the incoming call.
Others The channel rejects this IAM message.
In case the driver accepts the incoming call, it will throw out the E_CHG_RxPhoNumBuf
event to the application program after saving the called party number within the IAM
message to the buffer and change the channel state to RcvPhoNum.
The driver receives all called party numbers according to the preset number-receiving rule.
EnfofRcvPhoNum For more information about the number-receiving rule, refer to the section
Number-receiving Rule for Incoming Call in this chapter.
The driver receives the INF message which contains relative information about the calling
RcvINF
party from the remote PBX.
The driver receives the disconnection message (REL) from the remote PBX. The function
SsmGetReleaseReason can be used to obtain the specific reason why the call gets
disconnected.
When this event is triggered, if the channel stays in the state
• RcvPhoNum:
RcvREL
it indicates the remote PBX (the calling party) cancels this call during the incoming call
establishment.
• Ringing:
it indicates during the incoming call establishment, the remote PBX cancels this call
when the local end is in the Ringing state. The application can determine whether to
interfere in the channel state transition via the control over the switch K2 which is set by
the configuration item RingToPending. If the configuration item RingToPending is set to
1, the driver will set PendingReason to PEND_RemoteHangupOnRinging and transfer
the channel state to Pending for the further processing by the application program;
otherwise, the driver will set out to disconnect this incoming call.
• Connected:
it indicates the calling party has hung up the phone. The driver will set PendingReason
to PEND_RemoteHangupOnConnected and then transfer the channel state to
Pending.
The driver receives the RLC message from the remote PBX which means the
RcvRLC
disconnection phase ends up.
The driver receives the ACM (Address Complete Message) message from the remote PBX.
In the outgoing call progress implementation, the driver will send the IAM message to the
remote PBX when the application calls the function SsmAutoDial to start an outgoing call.
Then the remote PBX will send the ACM message to the local end as it believes all
necessary information including the Callee ID has been received in order to show the idle
state of the called party. After receiving the ACM message via the function
RcvACM
SsmGetIsupUPPara (with the parameter C_ISUP_ACM), the driver will save it to the
internal buffer, set the progress value of the AutoDial task to DIAL_ECHOTONE and then
transfer the channel state to WaitAnswer. The function SsmGetKB can be used to acquire
the 8 lower bits of the backward call indicator field (2 bytes) in this ACM message.
The remote PBX may send the CPG (Call Progress) message following the ACM message.
The function SsmGetCpg can be used to get the CPG message.
During an outgoing call, after the remote PBX finishes receiving the called party number, it
will send ringing signals to the called party if the called party is in the idle state; or it will
send the ANM (Answer) message to the local end if the called party picks up the phone.
Answered
After receiving the ANM message, the driver will set the progress value of the AutoDial task
to DIAL_VOICE, ending up the AutoDial task, and throw out the E_PROC_AutoDial event
to the application.
RcvSUS The driver receives the SUS (Suspend) message from the remote PBX.
RcvRES The driver receives the REC (Recover) message from the remote PBX.
If the driver receives the REL message from the remote PBX during an outgoing call, which
means the call fails, it will send the E_PROC_AutoDial event to the application. The
CallFailure
function SsmGetAutoDialFailureReason can help to acquire the specific reason why the
AutoDial task fails.
The timer T1 overflows. T1 is set to 60sec and will be automatically started when the
T1Out
channel goes into the Locked or OffHook state.
The timer T2 overflows. T2 is set to 25sec and will be automatically started when the
channel goes into S_ISUP_WaitDialAnswer (a substate of AutoDial). After T2 overflows,
T2Out which indicates this call fails, the driver will throw out the E_PROC_AutoDial event to the
application. The function SsmGetAutoDialFailureReason can help to acquire the specific
reason why the AutoDial task fails.
The timer T3 overflows. T3 is set to 60sec and will be automatically started when the
T3Out
channel goes into the Pending state.
The timer T4 overflows. T4 is set by the configuration item MaxWaitAutoDialAnswerTime
and will be automatically started when the channel goes into the WaitAnswer state. After
T4Out T4 overflows, the driver will throw out the E_PROC_AutoDial event to the application. The
function SsmGetAutoDialFailureReason can help to acquire the specific reason why the
AutoDial task fails.
The timer T5 overflows. T5 is set to 10sec and will be automatically started when the
T5Out channel goes into S_ISUP_WaitINF (a substate of RcvPhoNum). After T5 overflows, the
driver will stop waiting for the INF message from the remote PBX.
The timer T6 overflows. T6 is set to 180sec and will be automatically started when the
T6Out
channel goes into the Suspend state.
This event is triggered when the driver detects one of the following situations.
The synchronization signal through TS0 on the digital trunk where this channel
stays gets lost (e.g. line disconnected, clock configuration error and so on).
The TCP/IP connection between the ISUP stack and the SS7 server is broken.
Error The signaling unusable message is received from the SS7 server.
If the channels stays in the AutoDial or WaitAnswer state when this event is triggered, the
outgoing call fails. The driver will throw out the E_PROC_AutoDial event to the application
in such case. The function SsmGetAutoDialFailureReason can help to acquire the specific
reason why the AutoDial task fails.
Each state identifier in the above diagram is described in the following table.
configuration item AutoSendINF is set to 0, the driver will transfer the channel state to
S_ISUP_WaitSetCallerID and start the timer T3 at the same time. In the
S_ISUP_WaitSetCallerID substate, if the application invokes the function
SsmSetTxCallerId, the driver will put the preset calling party information into the INF
message and then send the INF message back to the remote PBX. If the application
does not call the function SsmSetTxCallerId before T3 overflows, the driver will take
the set value of the configuration item CalloutCallerId as the parameter, automatically
send the INF message to the remote end and transfer the channel state to
S_ISUP_WaitDialAnswer.
The channel is waiting for the called party to pick up the phone. This state is only applicable
to the outgoing call.
WaitAnswer The called party should be able to hear ringing tones in such state, and if at the local end is
the station channel that makes an outgoing call through the digital trunk channel it should
send the ringback tone to the station channel.
‘Pending’ state. The function SsmGetPendingReason can help get the specific reason why
the call becomes pending.
¾ If PendingReason is set to PEND_WaitBckStpMsg, it indicates the driver has completed
the incoming call progress implementation and is waiting for the application to accept or
refuse the incoming call. The application program can
invoke the function SsmSetKB to accept or refuse the incoming call.
If KB=1/6/7, the driver will send the ACM message to the remote PBX to
accept the incoming call. If the application has invoked the function
SsmSetIsupUPPara (with the parameter C_ISUP_ACM) to submit a self-built
ACM message to the driver before the function call of SsmSetKB, this ACM
message will be sent to the remote PBX; otherwise, the driver will use the ACM
message which is automatically set up. After the ACM message is transmitted,
the channel will transfer to the S_CALL_RINGING state;
If KB=2/3/4/5/9, the driver will send the REL message to the remote PBX to
refuse the incoming call. The reason value carried in the REL message is
Called Subscriber Busy/Address Incomplete/Call Refused/No Answer/User
Absent. The channel sets out to disconnect the call and goes into the Release
state;
If KB=8, the driver will send the INR message to the remote PBX and transfer
the channel state back to RcvPhoNum.
invoke in order the function SsmSetIsupUPPara (with the parameter
Pending C_ISUP_ACM) and the function SsmSendIsupMsg to accept the incoming call.
Then the channel will go into the S_CALL_RINGING state.
invoke the function SsmHangup or SsmHangupEx to refuse the coming call. The
driver sets out to disconnect the call and transfers the channel state to Release.
See description on relative functions for more information.
invoke the function SsmPickup to accept the incoming call. The driver will send the
CON message to the remote PBX and then transfer the channel state to
Connected.
Note: if the driver receives the REL message from the remote PBX in this state, it
will automatically send the RLC message and then transfer the channel state to
Standby.
¾ No matter what causes the channel to go into the Pending state, the application can
command the driver to send the REL message containing the number redirection
information to the remote PBX and prompt the channel to transfer to the Release state
via the function call of SsmSetIsupFlag (with the parameter ISUP_PhoNumREL).
¾ If PendingReason is set to:
PEND_RemoteHangupOnTalking (the calling party is detected to first hang up the
phone during the connected incoming call);
PEND_CalleeHangupOnTalking (the called party is detected to first hang up the
phone during the connected outgoing call);
PEND_RemoteHangupOnRinging (the calling party cancels the incoming call when
the local end is ringing);
the application program can call the function SsmHangup or SsmHangupEx to hang
up the phone.
It is an internal state during an incoming call progress, including the substates
S_ISUP_Suspend and S_ISUP_WaitINF.
The driver judges the received called party number according to the preset
number-receiving rule. If the number complies with the rule, the channel will transfer to the
subsequent state. For more information about the number-receiving rule, refer to the
section Number-receiving Rule for Incoming Call in this chapter.
¾ In the incoming call, the switch K1 controls the ‘Auto-answer of Incoming Call’ feature.
When the channel receives the complete called party number and other relative
information,
if the ‘Auto-answer of Incoming Call’ feature is enabled, the driver will automatically
send the ACM message to the remote PBX and transfer the channel state to Ringing.
The configuration item DefaultBackwardCallInd is used to set the backward call
indicator in the ACM message sent automatically by the driver while the function
SsmSetKB is used to set the charge indicator contained in the backward call indicator
field in the ACM message.
if the ‘Auto-answer of Incoming Call’ feature is not enabled, the driver will set
RcvPhoNum
PendingReason to PEND_WaitBckStpMsg, transfer the channel state to Suspend,
and let the application determine whether to accept this call or not.
The switch K1 can be set via the function SsmEnableAutoSendKB or the configuration
item AutoSendACM, being switched off by default.
¾ Every time when the driver receives the SAM message from the remote PBX, it will save
the message to its internal buffer and throw out the E_CHG_RxPhoNumBuf event to the
application.
¾ If the called party number received by the channel does not conform to the
number-receiving rule, the driver will automatically send the REL message (carrying the
unallocated-number reason) and transfer the channel state to Release.
¾ Also the application can invoke the function SsmHangup/SsmHangupEx to refuse this
call. In default, the driver will send the REL message with the reason value after that. You
can use the configuration item DefaultHangupRELInd to set the reason value telling why
the call fails in the REL message, or the parameter
nType=ISUP_REL_DENY_SetToOther(=100) in the function SsmSetIsupFlag to change
the reason value.
‘Ringing’ state
The application program can
invoke the function SsmPickup or SsmPickupANX to accept the call. The two
configuration items DefaultCalledPickupMsg and DefaultBackwardCallInd are used
respectively to select the type (ANM or CON) of the message to be sent by the driver
to the remote PBX and to set the backward call indicator in the ACM/COM message.
invoke the function SsmHangup or SsmHangupEx to refuse the call
Ringing If the driver receives the REL message (i.e. the RcvRLC event in the state machine above)
from the remote PBX when the channel is in the Ringing state, it indicates the remote PBX
cancels this call. At that time, the switch K2 which is set via the configuration item
RingToPending can be used to control the channel state transition. If the configuration item
RingToPending is set to 1, the driver will set PendingReason to
PEND_RemoteHangupOnRinging and transfer the channel state to Pending for the further
processing by the application program; otherwise, the driver will set out to disconnect this
incoming call at once.
’Talking’ state. Both parties are connected and able to talk with each other.
When the channel state transfers to Connected, the driver will
start the DTMF Detector if the configuration item AlwaysEnableRxDtmf is set to 0;
Connected start the Barge-in Detector if the configuration item AlwaysDetectBargeIn is set to 0;
clear the Tone Detector and start it.
The application program can
invoke any function related to voice processing.
invoke the function SsmHangup or SsmHangupEx to terminate this call at any time.
If the driver receives the REL message (i.e. the RcvRLC event in the state machine above)
from the remote PBX when the channel is in the Connected state, it indicates the remote
party of the call has hung up the phone.
Paused ’Suspend’ state
’Disconnection’ state
Release When the channel is in the Release state, the driver will wait for the remote PBX to send the
RLC (Release Complete) message.
Each state identifier in the table above is declared in the file ShpA3Api.h as follows.
Declaration in ShpA3Api.h
State Identifier
Value Macro
Standby 0 S_CALL_STANDBY
OffHook 1 S_CALL_PICKUPED
Ringing 2 S_CALL_RINGING
Connected 3 S_CALL_CONNECTED
Pending 7 S_CALL_PENDING
WaitAnswer 9 S_CALL_WAIT_REMOTE_PICKUP
Unusable 11 S_CALL_UNAVAILABLE
Locked 12 S_CALL_LOCKED
Release 121 S_ISUP_WaitRLC
Reseting 122 S_ISUP_WaitReset
BlockingRemote 123 S_ISUP_LocallyBlocked
BlockedByPBX 124 S_ISUP_RemotelyBlocked
Paused 129 S_ISUP_Suspend
120 S_ISUP_WaitSAM
RcvPhoNum
126 S_ISUP_WaitINF
125 S_ISUP_WaitDialAnswer
AutoDial
127 S_ISUP_WaitSetCallerID
In the above state machine, ChUsable is the driver’s internal component to judge the channel’s usability. It will
output values as shown in the table below.
Generally, the SHD Series boards based on ISUP protocol work as the terminating office. However, if necessary,
you can configure the ISUP channel to serve as the tandem exchange following the way below.
Assume that the circuit number on PBX-A that corresponds to Channel m in the application is m and the
‘Auto-answer of Incoming Call’ feature is disabled for Channel m, the circuit number on PBX-B that Channel n
corresponds to is n. The following figure illustrates how the ISUP channel works as the tandem exchange to
establish a call.
PBX-A Tandem Exchange (Application Program) PBX-B
IAMm
Save IAMm, SmÎ ‘Pending’
Obtain IAMm:SsmGetIsupUPPara(m,…)
Submit IAMn:SsmSetIsupUPPara(n,…)
Start outgoing call:SsmAutoDial(n,…)
IAMn
ACMn
Save ACMn, SnÎ ‘WaitAnswer’
Obtain ACMn:SsmGetIsupUPPara(n,…)
Submit ACMm:SsmSetIsupUPPara(m,…)
Send ACMm:SsmSendIsupMsg(m,…)
ACMm
ANMn / CONn
SnÎ ‘Connected’
Channel m picks up:SsmPickup(m)
ANMm / CONm
SmÎ ‘Connected’
Connect voice channel:SsmTalkWith(m, n)
RELn
SmÎ ‘Release’
RLCm
SmÎ ‘Standby’
Channel n hangs up: SsmHangup(m) RLCn
SnÎ ‘Standby’
Disconnect voice channel:SsmStopTalkWith(m, n)
In some case, the application is required to handle MSU messages in ISUP protocol by itself. Such feature can be
enabled via the configuration item AutoHandleIsup. Upon reception of MSU messages from the remote end, the
driver will deliver them to the application directly so that the ISUP state machine is not used. For more information,
refer to the Advanced SS7 Programming section.
The application program is allowed to process any protocol at the 4th level in SS7 via the direct use of the MTP3
interface provided by the SynCTI driver. In case the following configuration items are set to 0:
every time when the driver receives a message from the SS7 server, it will save the message not to its internal
state machine but to a buffer, and at the same time throw out the E_RCV_Ss7Msu event. When receiving
E_RCV_Ss7Msu, the application program can invoke the function SsmGetSs7Msu to take out this message for
subsequent processing. The function SsmSendSs7Msu can be used to send a message.
Every time when the route from the SS7 server to a DPC varies in state (usable or unusable), relative information
will be sent to the SynCTI driver, which prompts the driver to send the E_CHG_Mtp3State event to the application.
In an application system involving only one DPC, the function SsmGetMtp3State can be used to get information of
the route to this DPC; in the system connecting with multiple DPCs, the function SsmGetMtp3StateEx can help
acquire the usability of the route to the specified DPC. The function SsmGetMtp2Status is used to obtain the state
of the specified 64Kbps signaling link.
The client software programming interface on the SS7 server enables those devices which are not compliant with
the SS7 protocol to be capable of handling SS7 signaling messages in cooperation with the SS7 server based on
the SHD series boards, via the connection by TCP/IP. The interface is provided in the form of dynamic link libraries,
consisting of the TCP/IP Communications component and the SS7 Signaling Processing component, facilitating
user-end development. For more information, refer to the manual Client Software Programming Interface on SS7
Server.
The virtual circuit is the circuit which does not occupy any voice resource in the SS7 circuit switching, generally
used for the prepaid system.
The SynCTI driver can configure the virtual circuit that is not bound to some physical digital trunk by setting the
parameter i in the configuration item Pcm[k]=i to -1, and is able to bind the virtual digital trunk and the destination
signaling point code via the [ISUPRouter] section in the configuration file ss7server.ini in the SS7 server. Fore
more information about the API functions related to the virtual circuit, refer to the document SynCTI Programmer’s
Manual – Programming for Virtual Circuit on SS7 server. doc.
The SynCTI driver provides the advanced SCCP programming interface. See the description in relative documents
for details. If the application is required to support SCCP by itself, it needs to set the configuration item
AutoHandleSccp to 0 and use the MTP3 service offered by the SynCTI driver. See the MTP3 Service section in
this chapter for more information.
Because the protocols for connection used at the two ends of a digital trunk may differ from each other, there are
two distinguishing definitions ‘user-side’ and ‘network-side’ used in the ISDN protocol. The User Side indicates the
user terminal, i.e. the end to connect with the ISDN PBX; the Network Side is the other end to connect with the
ISDN user terminal. In this manual, we call the digital trunk working in the User-side mode as the user-side digital
trunk, and that in the Network-side mode as the network-side digital trunk.
TEI, i.e. Terminal Equipment Identifier, is used to identify the service access point in the point-to-point data link
connection. The subfield of TEI is allowed to stipulate 128 TEI values, thereby offering the range of 0~127, among
which 0~63 are fixed TEI values (selected by the device), indicating the TEI used by L2 to receive/transmit the I or
UI frame is unchangeable; 64~126 are dynamic TEI values, indicating the TEI used by L2 to receive/transmit the I
or UI frame is changeable (selected by the network); 127 is only applicable to the broadcast link.
The configuration items UserTEIValue and NetTEIValue are used to set the TEI values respectively for the user
side and the network side.
What tells the information about the channel used in an ISDN call is named the channel identification information
element. It is used to identify channels under the control of the signaling program and can be represented by the
following 2 ways:
Time Slot Diagram: The channel identification information element is represented by 32 Bit (4 bytes),
corresponding to 32 time slots. If bit=1, it indicates this time slot is being used; if bit=0, it indicates this
time slot is unused. In practice, usually only one bit is set to 1 with the rest all set to 0.
Number: The channel identification information element is represented by 8 Bits (1 byte), the highest
Bit7 with the fixed value of 1 and the other 7 bits (i.e. Bit6~Bit0) indicating the corresponding time slot
numbers.
This element contains up to 34 octets, of which the 4th bit in the 3rd octet determines its representation way. The
configuration items NetChIdentify and UserChIdentify are used to set the representation way respectively for the
network side and the user side.
The telephone network is separated into two categories: Local Telephone Network and Long-distance Telephone
Network. The local telephone network is the network covering the area with the same number, composed of the
terminating office, the tandem exchange and the transmission links; the long-distance telephone network is the
network covering the areas with different numbers in communication, composed of the long-distance exchange
and the transmission links. At present, the telephone exchange is the core of the telephone network, using the
digital SPC switching technology. That is, each call is encoded by the 64Kbit/s digital signal and occupies a time
slot in the primary group, connects to different users via data switching between time slots under the control of
signaling. The telephone exchange can be classified depending on the size of the service area into the first-level
centre, the second-level centre, the third-level centre, the fourth-level centre and the fifth-level centre, i.e. C1, C2,
C3, C4 and C5, among which C1, C2, C3, C4 are long-distance tandem exchanges while C5 is the terminating
office. With the digitization of the telephone network, C1 and C2 are integrated into one level, i.e. DC1; C3 and C4
are integrated into one level, i.e. DC2. As a result, the China’s telephone network has evolved from the 5-level
network to the 3-level network, forming a network connection between a number of first-level centres.
The ISDN state machine supplied by the SynCTI driver is allowed to work not only in the Terminating Office mode
but also in the Tandem Exchange mode. It can be set via the configuration item UserIsReceivePhoNum (user-side)
or NetIsReceivePhoNum (network-side). During the incoming call processing, if the driver works in the Terminating
Office mode, it will receives the called party number and other information according to the preset
number-receiving rule; if the driver works in the Tandem Exchange mode, it will accept any incoming number
regardless of the number-receiving rule. For more information about the number-receiving rule, refer to the
section Number-receiving Rule for Incoming Call in this chapter.
The ISDN number is different form the ISDN address according to ITU-T specifications. The ISDN number is the
number in relation to the ISDN network and the ISDN numbering scheme. It contains enough information for the
network to choose a correct route for the call. An ISDN address includes the ISDN number as well as the
appended necessary and/or optional addressing information which is not for the ISDN network to select the call
route but for users to allocate the call to appropriate terminals.
Start
SsmStartCti Legend:
x SsmXXX Function call by APP
Xxxxxxxx Event triggered by driver
Unusable
xxxxx Often used channel state
xxxx Channel state
DataLinkDisconnect DataLinkConnected
xxxx? Internal module
ChUsable?
Standby
u
Error
SsmAutoDial SsmPickup
x
1
K1 OffHook SsmPickup Locked
SsmHangup
Error RcvDisconnect
T302Out Dialing
x PhoNumOK c
C SsmHangup RcvSetupAck
1 T303Out
K2
T304Out
P c RcvAlerting RcvDisconnect
2 3
RcvCallProceeding P
SsmHangup 2
1 T310Out
RcvConnect CallFailure
WaitAnswer RcvDisconnect Pending
Ringing WaitAnswerTimer
Error
RcvDisconnect RcvConnect SsmSetKB
SsmHangup Error x Error
c c SsmHangup
x SsmPickup
C SsmHangup RcvDisconnect
U 1 2 x
RcvDisconnect Error
T313Out SsmHangup
SsmHangup x
c
Pending1
In the diagram above, the internal events automatically triggered by the driver itself are described as follows.
driver works in the Tandem Exchange mode, the number-receiving rule for
incoming calls will be ignored. Therefore, any number can be accepted by the
driver. In such case, the driver will directly transfer the channel state to Ringing.
The switch K1 is used to control if the call is progressed in the Tandem Exchange
mode or not. Its state can be set by the configuration item UserIsReceivePhoNum
(user-side) or NetIsReceivePhoNum (network-side). For more information, refer
to the section Terminating Office Mode vs. Tandem Exchange Mode in this
chapter.
In other states: to discard the SETUP message.
The driver receives all numbers (including both the calling party number and the called
PhoNumOK
party number) according to the preset number-receiving rule.
The driver receives the DISCONNECT message from the remote PBX.
When this event is triggered, if the channel stays in the state
RcvPhoNum, WaitAnswer or Ringing: it indicates the remote PBX (the calling
party) cancels this call during the incoming call establishment;
Connect: for the incoming call, the reception of the DISCONNECT message in
RcvDisconnect
the Connect state indicates the remote PBX first hangs up the phone. The driver
will send the RELEASE message to the remote PBX and transfer the channel
state to Pending after setting PendingReason to PEND_ ISDN_CALLOVER;
Dialing: it indicates the outgoing call fails. The specific reason why the call fails
can be acquired via the function SsmGetAutoDialFailureReason.
The driver receives the CONNECT ACK message from the remote PBX. If the local
RcvConnectAck end receives the CONNECT ACK message after sending the CONNECT message to
the remote PBX, it indicates the call has been connected.
The driver receives the CONNECT message from the remote PBX. If the channel stays
RcvConnect in the WaitAnswer state at that time, the driver will automatically reply to the remote
PBX by sending the CONNECT ACK message.
The driver receives the ALERTING message from the remote PBX. At that time the
RcvAlerting
called party has gone into the ringing state.
The driver receives the CALL PROCEEDING message from the remote PBX. At that
RcvCallProceeding
time the called party has gone into the ringing state.
The driver receives the SETUP ACK message from the remote PBX. The event has no
RcvSetupAck
effect on the state transition.
The driver receives the RELEASE message from the remote PBX. It will automatically
RcvRelease respond to the remote PBX by sending the RELEASE COMPLETE message and set
out to disconnect the call.
The driver receives the RELEASE COMPLETE message from the remote PBX. If the
RcvReleaseComplete local end receives the RELEASE COMPLETE message after sending the RELEASE
message to the remote PBX, it indicates the call has been thoroughly disconnected.
The timer T300 overflows. T300 is set to 60sec, the time limit on the operation after
finding an idle channel and performing the pickup behavior on it to ensure the full use
T300Out
of the channel. The time can be set via the configuration item UserDialTime (user-side)
or NetDialTime (network-side).
In an incoming call, when the driver receives the SETUP message from the remote
PBX, it will check the called party number in the message according to the preset
number-receiving rule. If the number is incomplete, the driver will transfer the channel
state to S_ISDN_IN_RCVING_NO (a substate of RcvPhoNum) and start the timer
T302Out
T302. If T302 overflows, this call fails and the driver will automatically send the
RELEASE message to the remote PBX and change the channel state to Standby.
T302 can be set via the configuration item UserT302 (user-side) or NetT302
(network-side).
In an incoming call, when the channel goes into the Ringing state, if the application
calls the function SsmPickup to pick up the phone, the driver will automatically send
the CONNECT message to the remote PBX, transfer the channel state to
T313Out
WaitConnect, and start the timer T313 at the same time. If T313 overflows, this
incoming call fails and the driver will send the DISCONNECT message to the remote
PBX.
T313 can be set via the configuration item UserT313, only for user-side.
In an outgoing call, when the local end sends out the SETUP message, the driver will
start the timer T303. If the driver does not yet receive the ALERTING, CALL
PROCEEDING, SETUP ACK or CONNECT message from the remote PBX before
T303 overflows, it will send the SETUP message once again and restart T303. If T303
T303Out
overflows, this outgoing call fails and the driver will send the RELE COMP message to
the remote PBX and change the channel state to Pending.
T303 can be set via the configuration item UserT303 (user-side) or NetT303
(network-side).
In an outgoing call, if the remote PBX can not obtain all necessary information (such as
the called party number) from the SETUP message which has been sent by the local
end, it will transmit the SETUP ACK message to the local end. Then the local end will
wait for the application to append the called party number and start the timer T304 at
the same time after receiving the SETUP ACK message. In this case, the application
can invoke the function SsmAppendPhoNum to append the called party number. The
T304Out driver will send the INFO message to the remote PBX and restart T304 when receiving
the new number. If the driver does not yet receive the CALL PROCEEDING,
ALERTING, CONNECT or DISCONNECT message from the remote PBX before T304
overflows, this outgoing call fails and the driver will send the DISCONNECT message
to the remote PBX and transfer the channel state to Pending.
T304 can be set via the configuration item UserT304 (user-side) or NetT304
(network-side).
In an outgoing call, after the local end sends out the SETUP message and receive the
CALL PROCEEDING message from the remote PBX, the driver will start the timer
T310. If the driver does not yet receive the ALERTING or CONNECT message from
the remote PBX before T310 overflows, this outgoing call fails and the driver will send
T310Out
the DISCONNECT message to the remote PBX and transfer the channel state to
Pending.
T310 can be set via the configuration item UserWaitAfterCallProceeding (user-side) or
NetWaitAfterCallProceeding (network-side).
This event is triggered when the driver detects one of the following situations.
The synchronization signal through TS0 on the digital trunk where this channel
stays gets lost (e.g. line disconnected, clock configuration error and so on).
The driver receives error messages from the remote PBX.
The data link level can not be connected with the remote PBX.
What the driver does:
Error
If the channel stays in Dialing or WaitAnswer state: the outgoing call fails. The
driver will set the progress value of the AutoDial task to DIAL_FAILURE, the
reason value to ATDL_PcmSyncLos, and throw out the E_PROC_AutoDial
event to the application.
If the channel stays in other states: the driver will transfer the channel state to
Unusable.
In an outgoing call, after the local end sends out the SETUP message and receives the
ALERTING message from the remote PBX, the driver will start the timer
WaitAnswerTimer. If the driver does not yet receive the CONNECT message from the
WaitAnswerTimer remote PBX before WaitAnswerTimer overflows, it will transfer the channel state to
Pending. Note that the call is not released at this time and you are required to invoke
the function SsmHangup to release the call.
WaitAnswerTimer can be set via the configuration item MaxWaitAutoDialAnswerTime.
Each state identifier in the above diagram is described in the following table.
The channel should go into this state provided the ISDN data link level is properly
connected to the remote PBX after the successful driver initialization. The application can
invoke the function SsmAutoDial to start an outgoing call in this state.
The driver will automatically clear the Caller ID buffer when the channel state transfers to
Standby at the end of the call, provided the configuration item
AutoClearCallerIdBufOnHangup is set to 1.
’Off-hook’ state
The driver will start the timer T300 when the channel goes into the OffHook state. If the
OffHook
application does not call the function SsmAutoDial before T300 overflows, the driver will
reset the channel back to the idle state.
’Outgoing Call Locked’ state
When the application calls the function SsmSearchIdleCallOutCh, the driver will
Locked temporarily lock the channel specified by its return value and start the timer T300 at the
same time. If the application does not call the function SsmPickup or SsmAutoDial before
T300 overflows, the driver will reset the channel back to the idle state.
It is an internal state during the outgoing call, including the substates
S_ISDN_OUT_WATI_NET_RESPONSE and S_ISDN_OUT_PLS_APPEND_NO. After
the application invokes the function SsmAutoDial, the driver will:
send the SETUP message to the remote PBX;
start the timer T303 at the same time;
transfer the channel state to S_ISDN_OUT_WATI_NET_RESPONSE, waiting for the
Dialing responding signals from the remote PBX;
throw out the E_PROC_AutoDial event to the application.
The reception of the SETUP ACK message from the remote PBX in the
S_ISDN_OUT_WATI_NET_RESPONSE substate means the remote party wants the local
end to provide more information about numbers. In such case, the driver will transfer the
channel state to S_ISDN_OUT_PLS_APPEND_NO and start the timer T304 at the same
time.
The channel is waiting for the called party to pick up the phone. The driver will start the
timer T310 when the channel goes into this state.
WaitAnswer
The function SsmGetFlag (with the parameter F_ISDNNet_WaitRemotePickup) can be
used to acquire the specific reason why the channel goes into this state.
The channel is waiting for the remote PBX to respond by sending back the CONNECT
WaitConnect
ACK message. The driver will start the timer T313 when the channel goes into this state.
’Talking’ state. Both parties are connected and able to talk with each other.
When the channel state transfers to Connected, the driver will
start the DTMF Detector if the configuration item AlwaysEnableRxDtmf is set to 0;
start the Barge-in Detector if the configuration item AlwaysDetectBargeIn is set to 0;
clear the Tone Detector and start it.
Connect The driver’s internally triggered events:
RcvDisconnect: indicates the remote party first hangs up the call. This event is
triggered when the driver sets the hangup reason to ISDN_CALLOVER and transfers
the channel state to ‘Pending’;
Error: The channel will go into the ‘Unusable’ state if it receives one of the Error
events in a call.
’Ringing’ state
Ringing
The channel has received all called party numbers and other relative information.
’Pending’ state. The channel is waiting for further commands from the application in this
Pending
state.
’Pending’ state, which can be ignored by the application. Without further commands, the
Pending1
driver program will automatically jump to the ‘Standby’ state.
It is an internal state during the incoming call, including the substates
S_ISDN_IN_CHK_CALL_IN and S_ISDN_IN_RCVING_NO.
RcvPhoNum If the SETUP message received from the remote PBX contains all necessary information
for the local end, the driver will trigger the internal event PhoNumOK; otherwise, it will send
the SETUP ACK message to the remote PBX and transfer the channel state to
S_ISDN_IN_CHK_CALL_IN, waiting for further number information from the remote PBX.
If receiving the INFO message from the remote PBX in the S_ISDN_IN_CHK_CALL_IN
substate, the driver will transfer the channel state to S_ISDN_IN_RCVING_NO.
If the received called party number does not comply with the number-receiving rule, the
driver will automatically send the RELEASE message to the remote PBX and transfer the
channel state to S_CALL_STANDBY.
The configuration items DefaultRcvPhoNumLen, DefaultRcvCallerID and
RcvPhoNumCfgLen or DefaultRcvPhoNumLen, MaxPhoNumRule and Rule can be used
together to set the number-receiving rule. For more information about the
number-receiving rule, refer to the section Number-receiving Rule for Incoming Call in this
chapter.
Which state the channel will go into after completing the number reception depends on the
switch K2. It is K2 that determines the ALERTING message is sent by the driver itself or
the application for responding. The state of K2 can be set via the configuration item
UserSideAutoSendAck (user-side)/NetSideAutoSendAck (network side) or the function
SsmEnableAutoSendKB. If the setting of ‘driver’s automatic response’ is chosen, the driver
will transfer the channel state to SsmEnableAutoSendKB after sending the ALERTING
message to the remote PBX; otherwise, it will start a timer whose time length is specified
via the configuration item UserSideDefaultAckTimer (user-side) or
NetSideDefaultAckTimer (network-side), set PendingReason to PEND_WaitBckStpMsg
and then transfer the channel state to Pending, asking the application to decide the
acceptance of this call. If the timer overflows, the driver will automatically send the reply
message to the remote PBX according to settings of the configuration item
UserSideDefaultAck (user-side) or NetSideDefaultAck (network-side).
Each state identifier in the table above is declared in the file ShpA3Api.h as follows.
In the above state machine, ChUsable is the driver’s internal component to judge the channel’s usability. It will
output values as shown in the table below.
Note: At this stage, the driver also performs the following operations.
• Automatically close the Barge-in detector if the configuration item AlwaysDetectBargeIn is set to 0;
• Automatically clear the Caller ID buffer if the configuration item AutoClearCallerIdBufOnHangup is set to
1.
The output events of the state machine are described in the following table.
The configuration items concerning ISDN calls are listed in the table below.
UserSideDefaultAckTimer parameters.
UserIsReceivePhoNum
sets the hardware-based CODEC in the ISDN user-side
UserVoiceFormat
mode.
TotalNetLinker set the total number of all digital trunks working in the
ISDN network-side mode involved in the PC and build
NetPcmLink the mapping relationship between the logical number
and the physical number of each digital trunk.
NetTEIValue
NetRestarTime
NetEstablishTime
set the main parameters for the ISDN network side.
NetT302
NetCrcMode
NetStatusReason
NetDialTime Outgoing Call in ISDN Network-side Mode: set relative
NetWaitAfterCallProceeding parameters.
NetChIdentify
NetCalledNoSet
NetCallingNoSet
NetNumIsFull Outgoing Call in ISDN Network-side Mode: customize
NetChPreference the SETUP message to be sent to the remote PBX.
NetHighLayerCompatible
NetLowLayerCompatible
CalloutCallerId
NetSideAutoSendAck
NetSideDefaultAckTimer Incoming Call in ISDN Network-side Mode: set relative
NetIsReceivePhoNum parameters.
DefaultRcvCallerID
sets the hardware-based CODEC in the ISDN
NetVoiceFormat
Network-side mode.
DefaultRcvPhoNumLen
Incoming Call in ISDN User-side and Network-side
MaxPhoNumRule
Modes: set the number-receiving rule.
Rule
UserStatusReason Advanced items for the ISDN user side and network
NetStatusReason side.
IsdnLogEnable
DecodeIsdnMsg
IsdnDebugLog
set the log output in the ISDN user side and network
[DebugView] LogCreatePeriod
side.
LogMaxKeep
LogMaxPeriod
LogFilePath
Note: Those written in the XXXX font are essentially configured items while those in XXXX are optionally
configured ones.
The SynCTI driver also provides the advanced programming interface to output the original messages at the HDLC
level. The ISDN messages are processed by the application program itself. See the table below for the
configuration items and functions related to the advanced ISDN programming interface.
Name Description
sets whether to use the advanced ISDN programming interface or
Configuration Item AutoHandleIsdn
not
Function SsmSendIsdnMSU sends a message
SynCTI supports SS1 and the Line side protocol, which can be set via the configuration item ProtocolType. To
configure the SS1 protocol, you can use the configuration item mfcr2_Protocol to select countries.
The configuration item TxCas_CD is used to set the value of the C/D code element in the ABCD signaling code
sent by the local end to the remote end. The configuration item RxCASFilterTime is used to set the minimum
duration of the ABCD signaling send out by the remote PBX so as to eliminate the signal dithering on the line,
appropriate for the E1/T1 line of low quality.
The minimum duration of the R2 signal can be set via the configuration item RxR2FilterTime or the function
SsmSetFlag (with the parameter F_RXR2FILTERTIME).
When the application program exits, the configuration item IsBlockSS1In is used to decide whether to send the
blocking command to the remote PBX, asking it not to start any new call towards the local end.
The configuration item EnableAutoCall helps decide if to use the call state machine provided by the SynCTI driver;
the function SsmSetAutoCallDirection or the configuration item AutoCallInTimeSlot is used to set the call direction
for a channel. For example, a channel can be set to process incoming calls only or outgoing calls only as required.
The ‘Called Number Hold-up’ feature is often used by some key sectors for the purpose of eliminating the effect of
the calling party’s misdialing on the application system. For example, a 110 alarm system set up on the Synway
board will process the call only if the dialed number is ‘110’. That is, it will reject the call in detection of any other
number, such as 1101.
The ‘Called Number Hold-up’ feature as well as the way it works is controlled by the configuration item
PhoNumHoldup or the function SsmSetFlag (with the parameter F_RCVPHONUMHOLDUP). Relative parameters
can be set via the configuration items A1ToA3pWaitTime and A3pTime. For example, you can configure the 110
alarm system to hold up the called number in the form of 110x as follows.
PhoNumHoldup=1
A1ToA3pWaitTime=1000
A3pTime=150
While connecting the SS1 channel on the Synway board with the Dialogic SS1 channel to establish a call, you
need to set the configuration item ToRingingDelayTime if the Synway board is required to serve as the incoming
end.
Start
SsmStartCti
X
Unusable
R SyncOK C
X
SyncLos SyncLos
RcvPhoNum Setup Standby ReleaseOK Release
C Accepted
SsmHangup T6Out
SyncLos
WaitAnswer RemoteCancel
C Answered
SsmHangup
SyncLos
Connected RemoteCancel
In the diagram above, the internal events automatically triggered by the driver itself are described as follows.
The timer T2 overflows. The SS1 channel is required to wait for the response signal from
the remote PBX during the call process. T2 is used to set the maximum waiting time. The
T2Out
T2 overflow indicates this interactive process fails.
T2 can be set via the configuration item MaxWaitMfcTime.
The timer T3 overflows. In an incoming call, after the local end receives the complete called
party number, the SS1 channel will send the A3 signal to the remote PBX and start T3 at the
T3Out same time, waiting for the KD signal. If T3 overflows before the remote PBX sends out the
KD signal, the incoming call progress fails.
T3 can be set via the configuration item MaxWaitKDTime.
The timer T4 overflows. In an incoming call, after the local end receives the complete called
party number, the SS1 channel will go into the ‘Pending’ state and start T4 at the same time
provided the configuration item is set to 0, which indicates the application wants to decide
T4Out
by itself whether to respond to this call. If T4 overflows before the application invokes the
function SsmSetKB to reply, the driver will refuse this call.
T4 can be set via the configuration item MaxWaitSetKBTime.
The timer T5 overflows.
After the application program calls the function SsmAutoDial to start an outgoing call, the
driver will send the use request signal to the remote PBX and wait for the acknowledge
T5Out
signal from it. If T5 overflows before the reception of the acknowledge signal from the
remote PBX, this call fails.
T5 can be set via the configuration item MaxWaitOccupyAckTime.
The timer T6 overflows.
After the application invokes the function SsmAutoDial to start an outgoing call, the channel
T6Out will start T6 provided the called party is idle. If T6 overflows before the called party picks up
the phone, this outgoing call fails.
T6 can be set via the configuration item MaxWaitAutoDialAnswerTime.
Receives the A4 signal (key congestion, the encounter with an unallocated number before
RcvA4 the call reaches the called party) from the remote PBX in the outgoing call progress,
indicating this call fails.
Receives the A5 signal (unallocated-number signal) in the outgoing call progress, indicating
RcvA5
this call fails.
Receives the KB signal of 4 (user’s busy or key congestion) from the remote PBX in the
RcvKB4
outgoing call progress, indicating this call fails.
Receives the KB signal of 5 (the called party number unallocated) from the remote PBX in
RcvKB5
the outgoing call progress, indicating this call fails.
The remote PBX sends the KB signal of 1 or 6 to the local end after receiving the complete
Accepted called party number in the outgoing call progress, indicating the called party is in the idle
state.
Answered The called party accepts the call in the outgoing call progress.
ReleaseOK Finishes the disconnection from the remote PBX.
Each state identifier in the above diagram is described in the following table.
The driver will set the progress value of the AutoDial task to DIAL_BUSYTONE and
the failure reason to ATDL_SS1RcvKB4, and throw out the E_PROC_AutoDial event
to the application;
set the pending reason to SS1OUT_BWD_KB4.
¾ The RcvA5 Event:
The driver will set the progress value of the AutoDial task to DIAL_INVALID_PHONUM
and the failure reason to ATDL_SS1RcvA5, and throw out the E_PROC_AutoDial
event to the application;
set the pending reason to SS1OUT_BWD_A5.
¾ The RcvKB5 Event:
The driver will set the progress value of the AutoDial task to DIAL_INVALID_PHONUM
and the failure reason to ATDL_SS1RcvKB5, and throw out the E_PROC_AutoDial
event to the application;
set the pending reason to SS1OUT_BWD_KB5.
¾ The T2Out Event:
The driver will set the progress value of the AutoDial task to DIAL_FAILURE and the
failure reason to one of the following values:
ATDL_SS1WaitAxTimeout
ATDL_SS1WaitAxStopTimeout
ATDL_SS1WaitAxTimeoutOnTxCallerId
ATDL_SS1WaitAxStopTimeoutOnTxCallerId
ATDL_SS1WaitKBTimeout
ATDL_SS1WaitKBStopTimeout
respectively set the corresponding pending reason to:
SS1OUT_TIMEOUT_BWD_A
SS1OUT_TIMEOUT_BWD_A_STO
SS1OUT_TIMEOUT_CALLERID_BWD_A1
SS1OUT_TIMEOUT_CALLERID_BWD_A1_STOP
SS1OUT_TIMEOUT_BWD_KB
SS1OUT_TIMEOUT_BWD_KB_STOP;
and throw out the E_PROC_AutoDial event to the application;
Each state identifier and its corresponding value are listed in the table below.
S_CALL_Ss1OutWaitAppendPhoNum
S_CALL_Ss1OutTxCallerID
S_CALL_Ss1OutWaitKB
S_CALL_Ss1OutDetectA3p
The output events of the state machine are shown in the table below.
The configuration item MfcR2ToRxCallerIdBuf is used to control whether to save the R2 signal sent by the remote
PBX during the call into the Extended Caller ID Buffer to facilitate the observation on the entire call process. And
the function SsmGetCallerIdEx is used to take out strings form this buffer.
The configuration item Ss1LogEnable helps control whether to output the received/sent ABCD signaling codes and
R2 signals to the log file Ss1Output.log.
SyncOK
R
Reseting
SyncLos
SsmHangup
X
ABCDÎ01xx
ABCDÎ11xx
ResetRemote
S
SyncLos
X
Pending SsmHangup S
In the diagram above, the internal events automatically triggered by the driver itself are described as follows.
Each state identifier in the above diagram is described in the following table.
manufacturers for details. T1 is started when the channel goes into the ‘Off-hook’ state.
The local end is ringing.
Ringing In this state, the application program can invoke the function SsmPickup to accept the call
or the function SsmHangup to refuse the call.
’Talking’ state. Both parties are connected and able to talk with each other.
Connected The driver will automatically start the DTMF detector when the channel state transfers to
‘Connected’.
’Pending’ state.
Pending Note that the driver won’t set the pending reason. Hence there is no sense for the
application to invoke the function SsmGetPendingReason.
Unusable The channel is unusable.
Reseting The circuit is being reset.
Each state identifier and its corresponding value are listed in the table below.
The output events of the state machine are shown in the table below.
The state machine provided by the SynCTI driver is enough for most application instances. If the application likes
to perform the entire call process by itself, the low-level API functions can be used. The driver-provided state
machine can be disabled via the configuration item EnableAutoCall or the function SsmSetAutoCallDirection after
the system start-up. The driver can enable the mutual control between the SS1 stack and MFC by
transmitting/receiving CAS and R2 after it disables the SS1 state machine.
z E_RCV_CAS
z E_RCV_R2
The advanced programming interface functions related to the China SS1 progress control contain:
z SsmSendCAS
z SsmGetSendingCAS
z SsmGetCAS
z SsmSetRxR2Mode
z SsmGetR2
z SsmSendR2
z SsmSendR2Ex
z SsmStopSendR2
z SsmGetSendingR2
z SsmEnableRxDtmf
Note:
z If the application program wants to receive DTMF digits after using the low-level progress control
functions to finish the signaling progress, it must call the function SsmEnableRxDtmf to start the
DTMF receiver and should call this function again to close the DTMF receiver at the end of the call.
z If the application is required to have the SS7 signaling cover for SS1 in a smooth way, it is not the
functions in this section but the auto call progress functions provided by the system that should be
used to control the call progress.
PhoNumHoldup
A3pTime
DefaultRcvPhoNumLen
DefaultRcvCallerID
MaxPhoNumRule
Rule
MfcR2ToRxCallerIdBuf
set the log output for SS1 CAS and R2.
IsBlockSS1In
Ss1LogEnable
Ss1LogCreateMode
LogCreatePeriod
[DebugView] set the log output for SS1 CAS and R2.
LogMaxKeep
LogMaxPeriod
LogFilePath
Note: Those written in the XXXX font are essentially configured items while those in XXXX are optionally
configured ones.
All SHD Series boards can connect directly to the channel bank to set up the large-capacity station system. After
they are connected to the channel bank, the channel on them will be set to the station channel which has all
features owned by the station channel on the SHT Series boards.
The configuration item UsageMode helps decide whether the SHD Series boards are used to start a call or connect
to the channel bank.
The configuration item CBProtocolType is used to set the signaling protocol used in connecting the board to the
channel bank.
The configuration item CBChannelType is used to set the channel type after the board connects to the channel
bank.
After the SHD Series boards are connected to the channel bank, the outward features of the channel on them are
identical to those of the corresponding channel on the SHT Series boards. Therefore, both the SHD and SHT
channels in this case have the same configuration items and are configured in the same way. See description on
the SHT boards for details.
The features supported by the SHV Series boards are shown in the following table.
The figure below shows the typical application of the SHV Series boards.
ts i
ts j TDM Bus
ts k
In the figure above, the two-way connection is established between ChA and ChB via TDM bus. The incoming
signals on ChB arrive at ChA through TS i and form the outgoing signals on ChA; the incoming signals on ChA
enter the voice-alteration channel through TS j for processing, and then reach ChB via TS k and form the outgoing
signal on ChB. In this way, the voice on ChB heard by ChA is the original voice while that on ChA heard by ChB is
the altered voice.
The SHV Series are the resource board and must be used with the SHD or SHT Series boards. Here is a list of
functions related to voice alteration.
The features supported by the SHN Series boards are shown in the following table.
The figure below shows the operation principle of the SHN-32A-CT/PCI board.
K3
A3
Inbound Voice A2
∑ M3
A1
Recording Playing
Incoming call format
Outgoing call format
energy energy
Recording control
calculation calculation
Playing Control
Encoder Decoder
Encoder Decoder
DTMF/Tone DTMF/Tone
Recording/playing energy onto bus
Buffer Buffer Generator Detector Buffer Buffer
Below is the description on symbols in the figure above which are related to the recording operation:
Name Description
M1 Outbound voice mixer
M2 Off-bus mixer
Recording mixer
M3
The signals from M3 is sent to the Encoder component for recording purpose.
Outbound voice mixer for recording
M4 Mixes signals from the off-bus mixer, data being played on a channel and signals from the tone
generator/DTMF generator, and then puts them into M3.
Onto-bus mixer
Mixes data being played on a channel, incoming signals and those from the off-bus mixer M2, and
M5
then puts them onto TDM bus. Upon board initialization, the output of M5 is transported to a time slot
(marked as ‘ts’ for short) on TDM bus. You can use the function SsmLinkToBus to designate the ts.
The volume adjuster for voice playing. The volume can be set via the configuration item
A1
DefaultPlayVolume or the function SsmSetPlayVolume/SsmSetPlayGain, with the default value of 0.
The volume adjuster which is used for outgoing signals before they are sent to M3. By default, it is on.
A2 The volume can be set via the function SsmSetRecMixer or the configuration item
DefaultRecordMixerVolume, with the default value of -7.
The volume adjuster which is used for incoming signals before they are sent to M3. The volume can
A3 be set via the function SsmSetRecVolume or the configuration item DefaultRecordVolume, with the
default value of 0.
A4-1
The volume adjuster which is used for off-bus signals before they are sent to M2. The volume can be
…
set via the function SsmSetListenVlmInConf, with the default value of 0DB.
A4-6
The switch that controls whether to put data being played on a channel first into M5 and then onto
K1-1 TDM bus or not, usually being off. It can be set via the function SsmSetPlayDest, used only for playing
background music to a teleconference.
The switch that controls whether to put signals from M2 back onto TDM bus. By default, it is off. It can
K1-2
be set via the function SsmSetFlag (with the parameter F_MixerResToBus).
K3 The switch that controls whether to put incoming signals into M5 or not. By default, it is on. It can be
set via the function SsmSetFlag (with the parameter F_InVoiceToBus) or the configuration item
InVoiceToBus.
K4 DTMF signals or tones cannot be sent at the same time when voices are played outbound.
K6-1 Switch K6-1 controls whether to put signals form M2 into M3; Switch K6-2 controls whether to put
K6-2 voice data being played into M3. Both can be set via the function SsmSetRecBack.
¾ Voice Playing
After the application invokes the playing function, the decoded voice data after being processed by A1 will:
Enter M1 and form the final outgoing signals with other signal sources; or
Enter M4 under the control of K6-2 and form the recording signal sources with other signals; or
Enter M5 under the control of K1-1 and form the onto-bus signal sources with other signals, only for
playing background music to the teleconference.
A lot of special applications are available via the flexible use of the above switches for recording control and
volume adjusters. In the following examples, ch1 and ch2 respectively mean Channel 1 and Channel 2.
Example 1: Only record the incoming signals on ch1 and use the default volume.
Example 2: Record the incoming signals on ch1 (volume increased by 6DB) and the signals output from M2
(volume decreased by 3DB) at one time based on the establishement of a two-way call between
ch1 and ch2.
Example 3: When ch1 joins a teleconference (assuming the conference room number is n) as the organizer,
play background music on ch1 and record the conference (including the background music)
through ch1. All signal sources go with normal volume, i.e. the gain is set to 0.
CT-BUS
Power Supply Circuit
NIU
Embedded Voice Voice Voice ... Voice
CPU CODEC1 CODEC2 Processing1 Processing4
...
Clock
Ciruit CPLD
PCI
Bridge
¾ SIP Message
¾ Message Format
The start-line, each message-header line, and the empty line must be terminated by a carriage-return line-feed
sequence (CRLF). Note that the empty line must be present even if the message-body is not.
¾ SDP
SDP is a session description protocol for multimedia sessions (RFC2327). It specifies the way to encode
necessary information about the session. The SDP message is carried by the SIP message in a way that is
analogous to a document attachment being carried by an email message, or a web page being carried in an HTTP
message.
An SDP package usually contains both session information and media information.
Start
U evResetCh
SsmStartCti
K2 SsmHangup
P evRecvCancel SsmHangup
evError
SsmAutoDial
evReject
SsmAutoDial
evCountUnauth
RINGING SsmHangup
evError
evRecvCancel Notes:
evTimeout(*1)
SsmPickup SsmPickup evRedire 1. State Symbol
evStunFailed evUnauth I :IDLE state
DIALING
U :UNUSABLE state
P WaitConnected
P :PENDING state
I
evRingback evSessionProgress
SsmHangup SsmHangup L :LOCKED state
3. evResetCh Event
evRingback This event is triggered when
evAnswered 1) the local network state changes from
evReject evReject ‘Error’ to ‘Recovered’.
evTimeout(*1) evTimeout(*1)
4. evDisableCh Event
evRecvACK
evAnswered The channel, staying in whichever state
P in this diagram, will turn into the
‘UNUSABLE’ state upon the reception
of this event. It is triggered when
TALKING 1) error occurs at the local network
evRecvBye
evRecvRefer
5. evTimeout Event
SsmHangup
This event reports the overflow of current
evError L
timers, including
1) SIP T1/T4 call timer
evRecvBye
P I evRedire
6. evReject Event
This event indicates the reception of the
final non-2xx response to INVITE,
PENDING including 4xx, 5xx, 6xx.
7. evStunFailed
This event indicates the failure of the
SsmHangup stun traversal.
Each state identifier in the above diagram is described in the following table.
Each state identifier in the above diagram is described in the header file ShpA3Api.h as follows.
In the above state machine, the driver’s internal component for judging the channel’s usability has two values to
output as shown in the table below.
Note: At this stage, the driver also performs the following operations.
• Automatically clear the Caller ID buffer if the configuration item AutoClearCallerIdBufOnHangup is set to
1;
• Reset all timers in SynSIP.
The output events of the state machine are described in the following table.
Configuration items for using the SHN-32A-CT/PCI board with SIP protocol are listed below.
Configuration items for using the SHN B Series boards with SIP protocol are listed below.
Subnet mask
DNS Gateway address
DNS address
RTPRange Set operation parameters for an SIP session. They are in
sequence:
DisplayName
RTP port range
SendDtmfType
Displayed name
AudioCodecList DTMF transmission mode
Adopted voice CODECs
UserName Set the parameters of the Register request. They are in
Register sequence:
Domain Register a user name upon the start of registration,
RegPassword or set the part before @ in SIP Uri as the user name.
RegRealm Whether to enable the registration
Address of the registered server
Password for registration (if necessary)
RegExpires Alias of the SIP server
Register a valid expiration time, with the default value of
3600 and the minimum value of 300.
LocalSiplp
Set the intercepted address and port for the SIP protocol.
LocalSipPort
RTPRange RTP port range
LogFile Set the advanced board configuration items. They are in
LogLevel sequence:
EventThreadNum Log file
[SIP] Log level
HeartInterval Size of the thread pool to capture SIP events
Port heartbeat interval (for NAT traversal)
SipTransportProtocol Set whether SIP is used over TCP or UDP
Sets if it is necessary for the board to wait for the ACK
RetransmitLost200OK message after sending the 200OK message to establish
a call.
Note: Those written in the XXXX font are essentially configured items while those in XXXX are optionally
configured ones.
1.18.5.1 RTP Transmit and Receive Modes for VoIP Resource Boards
#define IPM_SENDRECV 0x0000 // Receive and transmit
#define IPM_SENDONLY 0x0001 // Transmit only
#define IPM_RECVONLY 0x0002 // Receive only
struct MediaParam
{
int mode;
char localIP[50];
int localPort;
char remoteIP[50];
int remotePort;
int sendCodecType;
int dtmfpayload;
};
mode: RTP transmit and receive modes, having the following three values.
IPM_SENDRECV (Receive and transmit)
IPM_SENDONLY (Transmit only)
IPM_RECVONLY (Receive only)
localIP: The local address intercepted in RTP.
localPort: The local port intercepted in RTP.
remoteIP: The remote address sent in RTP.
remotePort: The remote port sent in RTP.
SendCodecType: The codec for RTP load. 0: 711U, 8: 711A, 18: G729, 3: GSM.
dtmfpayload: DTMF digits sent in RFC2833.
The DST Series boards are the proprietary call-recording board used for recording the voice data on the B-channel
and the signaling data on the D-channel in the digital subscriber line. They have the high-impedance circuits for the
input lines, equip the instantly-programmable chips in the signal recording circuit, and can enable a same board to
support different PBX and digital phone models via simple settings with the application program.
So far, the DST Series boards are classified into two types : A and B.
¾ High-impedance recording of voice data on the B-channel, neither to cause any interruption on both
parties in a call nor to be detected by them;
¾ Compression and recording of voice data by using the specified voice CODEC;
¾ Automatic Gain Control (AGC) support in data recording;
¾ DTMF detection;
¾ Detection of voice activities;
¾ Detection of single or dual tones at a specific frequency;
¾ Real-time playing of recorded voice signals;
¾ TDM capability;
¾ Playback of recorded voice data.
Besides these mentioned above, the DST series B-type boards also support the following new features.
¾ Detection of line faults, including line break and errors in voltage level, signal-to-noise ratio and frame
synchronization;
¾ Flexible switch between voice channels B1 and B2;
¾ Board models with the suffix + support GSM, G.729A and MP3 encoding in hardware.
The D-channel signaling messages can be used to acquire the relative call information. The D-channel on the DST
Series boards has the signaling processing capabilities that include the detection of the following operations by the
digital phone as well as the changes in channel state.
¾ Off-hook, On-hook;
¾ Dial keys;
¾ Function keys;
¾ Voice channel open/closed;
¾ LED;
¾ Content displayed on LCD.
The board models in the DST Series are shown in the table below.
Board Model Form Factor Max. Ports per Board Module Type Max. Modules per Board
SHR-16DA-CT/PCI PCI / PCI-X 16 MOD_16DA 4
SHR-24DA-CT/PCI PCI / PCI-X 24 MOD_24DA 3
DST-24B/PCI PCI 24 MOD_24DB 3 (including a module for board fixing)
DST-24B/PCI(SSW) PCI 24 MOD_24DB 3 (including a module for board fixing)
DST-24B/PCI+ PCI 24 MOD_24DB 3 (including a module for board fixing)
DST-24B/PCI+(SSW) PCI 24 MOD_24DB 3 (including a module for board fixing)
DST-24B/PCIe PCIe 24 MOD_24DB 3 (including a module for board fixing)
DST-24B/PCIe+ PCIe 24 MOD_24DB 3 (including a module for board fixing)
The module types supported by the DST Series boards are listed in the table below.
Module Type Number of channels in the case of 2-line input Number of channels in the case of 4-line input
MOD_16DA 4 2
MOD_24DA 8 4
MOD_24DB 8 4
For the PBX models supported by the DST Series boards, refer to the document DST Boards Supported PBX
Models supplied separately by Synway.
The figure below shows the operation principle of the DST Series A-type boards.
Application System
contector Inbound
Digital Phone
Outbound
PBX
Inbound Outbound
Phone Voice Voice
B-Ch Decoder
interface Processor AGC AGC
A5
A4-1 A4-2 AMP
∑ Speaker
M2 Jack
Signal Channel 0 only
LIU Decoder
A3
Device Driver
State Machine
Event Filter
K1
Callback Event Queue Poll Event Queue
Components and symbols in the figure above are described in the following table.
Name Description
M2 Off-bus mixer, used to mix outgoing signals with incoming ones.
The volume adjuster for incoming signals (by reference to the digital phone). The volume can be set
A4-1
via the function DTRSetMixerVolume, with the default value of 0DB.
The volume adjuster for outgoing signals (by reference to the digital phone). The volume can be set
A4-2
via the function DTRSetMixerVolume, with the default value of 0DB.
Recording volume adjuster. The volume can be set via the configuration item DefaultRecordVolume
A3
or the function SsmSetRecVolume.
Used to put the output signals from the mixer onto bus for recording and monitoring purpose. Usually
A5
there is no need to operate A5.
The figure below shows the operation principle of the DST Series B-type boards.
Application System
Connector Inbound
Digital Phone
Outbound
PBX
AGC
CODEC
Speaker B-Ch
Processor V2 V3
Jack
∑ M2
AMP
Signal
LIU Decoder V1
Device Driver
State Machine
Event Filter
K1
Callback Event Queue Poll Event Queue
Components and symbols in the figure above are described in the following table.
Name Description
M2 Off-bus mixer, used to mix outgoing signals with incoming ones.
The volume adjuster for incoming signals (by reference to the digital phone). The volume can be set
V-2
via the function DTRSetMixerVolume, with the default value of 0DB.
The volume adjuster for outgoing signals (by reference to the digital phone). The volume can be set
V-3
via the function DTRSetMixerVolume, with the default value of 0DB.
V1 Recording volume adjuster. The volume can be set via the configuration item DefaultRecordVolume
A lot of special applications are available via the flexible use of the above switches for recording control and
volume adjusters.
Example 1: Record both the incoming and the outgoing signals, using the normal volume.
DTRSetMixerVolume(ch, 0, 0, 0); //set the volume gain of A4-1 and that of A4-2 to 0DB
SsmSetRecVolume(ch, 0); //start A3, set the volume gain to 0DB
SsmRecToFile(ch, ……); //start the task of file recording …
Example 2: Only record the incoming signals, using the default volume.
DTRSetMixerVolume(ch, 0, 3, -7); //set the volume gain of A4-1 to 3*3DB=9DB and that of A4-2 to -∞
SsmSetRecVolume(ch, -3); //start A3, set the volume gain to -3*3DB=-9DB
SsmRecToFile(ch, ……); //start the task of file recording …
Only Channel 0 supports the voice playing operation. When the application program invokes the playing functions
for Channel 0, the driver will automatically put the voices to be played onto bus and then get them off bus to arrive
at the on-board audio power amplifier.
Channel 0 on each DST board is enabled by the analog audio amplifier circuit and the spearker output jack
equipped on it to connect voice signals directly with the external speaker or headset. This design is mainly for the
following purposes.
To transport incoming signals from any channel on this board (or transport voice signals from channels on
other board via CT-BUS) to the on-board speaker for play. This purpose can be achieved via the function
SsmListenTo or SsmListenToEx.
To send voice data recorded by the application straight to the on-board speaker for play via the call of
playing functions for Channel 0. See the Voice Playing section in this chapter for details.
The AMP component in the figure above is the power amplifier for the analog audio amplifier circuit. Its gain can be
set via the function SsmSetPowerAmpVlm.
The configuration items PBXType and PhoneType are used respectively to set the PBX and the digital phone
models; the configuration item DefaultVoiceFormat is used to set the CODEC supported by the digital subscriber
line.
The configuration item DEventUpdates is used to filtrate repeated events.
Besides, some new configuration items are added for B-type digital station tap boards. DstRecRawData is used to
set the board working mode; SetVoxChSelectEnable and VoxChSelect are used to select voice channels;
SetAnalogCtrlEnable, AnalogCtrl, SetFilterSwitchEnable, FilterSwitch, SetVoltageReferenceEnable and
VoltageReference are advanced configuration items which don’t need to be reconfigured in most situations (If it is
necessary to reconfigure them, please do under the instruction from our technicians).
The signaling protocol used for the D-channel has not been unified and is usually decided by the PBX or telephone
manufacturers. As a result, different manufacturers, even one manufacturer, may produce various product Series
which are quite distinct.
The driver picks up the original signaling messages on the D-channel and passes them to the application by
throwing out D-channel events. Then according to these D-channel events, the application program completes the
signaling analysis over the call process.
Among the D-channel signaling messages, those sent from the PBX to the phone are called PBX messages, and
the corresponding events are PBX events; those sent from the phone to the PBX are called phone messages, and
the corresponding events are phone events. Common PBX events include:
Ring events;
Audio events;
Display events;
Hook events;
Button events.
Besides, the phone doesn’t need to report some particular operations on it to the PBX, so it won’t send any
message to the PBX in such case. Thus even if the driver acquires all original signaling messages on the
D-channel, it is probably not able to get any information about those operations on the phone, which include:
For detailed information about the D-channel signaling messages, refer to DST Event Manual.
The application should set up an exclusive state machine for a particular PBX/phone model by using some or all of
the D-channel signaling messages as the condition to trigger the state transition, then properly record the relative
information during the call process and the relevant voice operations, like the start and stop of recording, according
to the changes in the channel state.
Those events which may affect the call state machine but are unavailable in the D-channel signaling messages,
such as busy tones, ringback tones on the B-channel, can be obtained via other voice processing features the
driver provides. See the Voice Processing section in this chapter for more information.
The features supported by the ATP Series boards are shown in the following table.
The figure below shows the operation principle of the ATP Series boards.
K8
Speaker
AGC A1
Analog Microphone
Line Line A3 A2 K5-1 K5-3
Interface Interface K2
Circuit Circuit ∑ M3
Recording Module Microphone Module
Voltage Ring Gain Tone DTMF FSK Barge in Tone
Encoder Decoder Generator
Detector Detector Control Detector Detector Detector Detector
Symbols related to the recording operation in the figure above are described in the following table.
Name Description
Real-time monitoring mixer. Either the off-bus voices or the voices played on channel 0 are allowed
M1
to enter this mixer at a time.
A4-1 The volume adjuster for off-bus signals
The volume adjuster for voice playing on Channel 0. The volume can be set via the function
A1 SsmSetPlayVolume/SsmSetPlayGain or the configuration item DefaultPlayVolume, with the default
value of 0.
The switch that controls the voice playing operation, usually keeping off under the automatic control
of the driver. Only when the application program invokes the playing function on Channel 0 does the
K5-1
driver automatically switch on K5-1 and then switch off it at the end of voice playing. For more
information about the playing functions, refer to the Voice Playing section.
The control switch of tone generator which is automatically controlled by the driver. It is turned off by
default. Only when the driver invokes the function SsmSendTone or SsmSendToneEx to start the
K5-3
tone generator will K5-3 be turned on. After the tone generation task is finished, K5-3 will be turned
off automatically.
Recording mixer
M3
The signals from M3 are sent to the Encoder component for recording purpose.
The volume adjuster which is used for incoming signals before they are sent to the recording mixer.
The volume can be set via the configuration item DefaultRecordVolume or the function
A3
SsmSetRecVolume, with the default value of 0. Note: A3 will become invalid once the AGC feature is
enabled.
The volume adjuster which is used for bus signals before they are sent to M3, switched on in default.
The volume can be set via the function SsmSetRecMixer or the configuration item
A2 DefaultRecordMixerVolume, with the default value of -7. This volume adjuster is only applicable to a
few particular occasions. It only supports the boards with bus in ATP Series boards. Boards like
ATP-24A/PCI are unsupported as they don’t include bus.
The switch that controls whether to put the incoming signals into the onto-bus mixer or not, switched
K3 on in default. It can be set via the function SsmSetFlag (with the parameter F_InVoiceToBus) or the
configuration item InVoiceToBus.
K2 The switch that shifts between the FSK detector and other detectors, usually connected to other
The ATP Series boards (excluding ATP-24A series boards) accept two kinds of modules installed on them. They
are Analog Trunk Recording Module and Microphone Recording Module. The driver does not distinguish these two
kinds of modules and regards their corresponding channel types both as the analog recording channel. The
configuration item MicGain is used to set the gain of the input signals to the analog trunk recording channel. For
Analog Trunk Recording Module, as the voice signals come from the analog phone line, the gain should be set to
the normal value; for Microphone Recording Module, the gain should be set to 20DB.
¾ Voice Playing
Only Channel 0 supports the voice playing operation. When the application calls playing functions for Channel 0,
voice data will be sent to the on-board audio power amplifier.
¾ Voice Recording
The recording operation based on the ATP Series boards is quite easy to be performed. The only one thing
required is to control the gain of A3.
Example 1: Record the incoming signals on Ch1, using the default volume.
Channel 0 on each ATP board is enabled by the analog audio amplifier circuit and the speaker output jack
equipped on it to connect directly with the external speaker or headset and monitor voice signals in real time. This
design is mainly for the following purposes.
To transport incoming signals from any channel to the on-board speaker for play via TDM bus. This
purpose can be achieved via the function SsmListenTo or SsmListenToEx.
To send voice files recorded by the application straight to the on-board speaker for play via the call of
playing functions. See the Voice Playing section in this chapter for details.
The AMP component in the figure above is the power amplifier for the analog audio amplifier circuit. Its gain can be
set via the function SsmSetPowerAmpVlm.
Channel 0 on the USB recording box (with ‘/USB’ marked in the model) is equipped with not only a speaker output
jack but also an on-board speaker, which enables the voice playing operation. The switch K8, providing choices for
the signals output from Channel 0 to enter the on-board speaker or the speaker jack, can be set via the function
SsmSetLine0OutTo or the configuration item USBLine0Output, with the default setting of ‘to the speaker jack’.
Note: Although there is no TDM bus available on the 8-channel ATP boards, the driver provides the soft-switch
feature which also allows the transmission of voice data from one board to another (it is usually the board linked
with an external speaker) for real-time monitoring. Don’t forget to set the configuration item BusPlayListen in such
case.
A channel on the ATP Series boards equipped with no modules can be used as the recording channel. In such
case, the Barge-in detector and the recording encoder still work in a normal way, and the off-bus operation goes
well as usual, which allow the recording of voice data from TDM bus via function calls. The Barge-in detector is
used for voice control purpose. This special application can be set via the configuration item NoModuleChBusRec
or the function SsmSetNoModuleChBusRec.
Note:
The volume adjuster A3 should be switched off via the function SsmSetRecVolume or the configuration
item DefaultRecordVolume before the start of voice recording.
Start
SsmStartCti
RingSignalOn OnLine
Ringing Standby OffLine
RingSignalOff OffLine
OffLine OffHook
OffHook
OffLine
1
1
Each state identifier in the above diagram is described in the following table.
In the diagram above, the internal events automatically triggered by the driver itself are described as follows.
Event Description
RingSignalOn The driver detects the ringing signal. See the Ringing Current on Analog Phone Line
For detailed information about the detection of the pickup and hangup behaviors on the recording channel, see the
Change in Analog Phone Line Voltage section in this chapter.
The features supported by the DTP Series boards are shown in the following table.
9 DTMF Detector
9 Tone Detector
9 Barge-in Detector
9 Voice Recording
9 Voice Playing
9 TDM Capability
The line interface unit (LIU) on the DTP Series boards is enabled by the high-impedance circuit equipped on it to
connect directly with the monitored E1/T1 lines, without the need of extra devices for high-impedance parallel
connection.
In monitoring one E1/T1 link, the onto-PCM and off-PCM signals must be recorded and processed at the same
time. Therefore, two E1/T1 LIU which only need to process input signals are essential for this process.
The information acquired through monitoring can be separated into two parts: signaling messages and voice
channel data.
The figure below shows the operation principle of the DTP Series boards.
PCM 0#
Voice of
Framer
LIU Called Party
Calling Party Channel K1 Called Party Channel K1
Voice of
Framer
LIU Calling Party
A3 A2 A3 A2
Boards SS7
Signaling Bargein DTMF Tone Bargein DTMF Tone
Encoder Encoder
Detector Detector Detector Detector Detector Detector
Device Driver
SynCTI Driver
Global Call Translator
Global Call API Low Level API Voice API
Those symbols related to the board in the figure above are described in the following table.
Name Description
Recording mixer.
M3
The signals from M3 are sent to the Encoder component for recording purpose.
The volume adjuster which is used for incoming signals before they are sent to M3. The volume can
A3 be set via the function SsmSetRecVolume or the configuration item DefaultRecordVolume, with the
default value of 0.
The volume adjuster which is used for outgoing signals before they are sent to M3, switched off in
A2 default. The volume can be set via the function SsmSetRecMixer or the configuration item
DefaultRecordMixerVolume, with the default value of -7.
The signaling/protocol switch. It can be set via the configuration item PcmSSx. Note that so far the
K3 driver is not yet able to pass original signaling messages directly to the application program
through Msg Queue.
The driver is capable of analyzing SS1, ISDN, SS7-TUP and SS7-ISUP signaling with the help of its internal call
state machine. The application can control and visit this state machine by using the unified API functions (i.e.
Global Call API in the figure above). This section focuses on the content concerning the Global Call API functions.
In a SS7 ISUP or TUP call, the call state machine provided by the driver can save the received original messages
to its internal buffer while processing the ISUP or TUP message, provided the configuration item
bOpenSpySS7Msu is set to 1. And the application may call the function SsmGetSs7SpyMsu to acquire the original
ISUP or TUP message from this buffer.
The operation on voice data is also quite easy. The DTP Series boards provide independent voice channels
respectively for incoming signals and outgoing signals. Each voice channel is designed with the independent
DTMF detector, tone detector, Barge-in detector, decoder and recording mixer.
• Physical PCM
It indicates the on-board hardware circuit which has the capability of data processing for digital trunks. Unlike that
on the SHD Series boards, the PCM on the DTP boards only processes input signals, incapable of outputting
signals. That is, the PCM on the DTP Series works in a simplex mode.
See the Digital Trunk section in this chapter for detailed information about the physical PCM.
SpyPCM is the E1/T1 line parallelly connected through high-impedance circuits as shown in the figure above.
Because the E1/T1 line works in the full-duplex mode (one for transmission, one for reception), to record and
process the onto-SpyPCM and off-SpyPCM signals at the same time, the board requires two sets of PCM circuits
(i.e. the physical PCM) independently for processing the onto-SpyPCM signals and the off-SpyPCM signals.
These two physical digital trunks are logically combined with necessary circuits and well able to support the
recording and processing of voice signals and signaling messages on SpyPCM.
The application is required to provide the SpyPCM number (i.e. the logical SpyPCM number) while calling relative
functions. The logical SpyPCM number is numbered from 0. The binding relationship between this number and
the two physical PCM is determined by the configuration items TotalSpyPcm and SpyPcm.
When one of the two physical PCM bound to SpyPcm changes in status, the function SpyGetLinkStatus can be
used to obtain the SpyPcm state.
SpyCic indicates a specific time slot (circuit) in the SpyPCM. For SS7 signaling, SpyCic is just the CIC field in the
TUP or ISUP message; for ISDN PRI and SS1 signaling, SpyCic is the time slot number in PCM.
Each SpyCic has two numbers: the physical number and the logical number. The physical SpyCic number means
the SpyCic number in one PCM which corresponds to the time slot number in the same PCM as shown below.
The logical SpyCic number is the unified number given to each SpyCic in all PCM involved in the whole
application system, beginning with 0. All SpyCic functions provided by the driver take the logical SpyCic number
as the input parameter. The mapping relationship between the logical SpyCic number and the physical SpyCic
number is determined by the configuration items TotalAppSpyCIC and AppSpyCIC in the [AppSpyCICTable]
section in the configuration file. The function SpyGetMaxCic can be used to acquire the total number of SpyCic in
the application system.
Because one SpyPCM is bound to two physical PCM, there is a one-to-one correspondence between the logical
SpyCic number and the physical SpyCic number. Logically, one SpyCic is made up of two channels in the driver.
The 2 channels bound to SpyCic may serve as either the calling party or the called party in a call. In the
SynCTI-provided state machine for signaling analysis, the channel processing the voice signals from the calling
party to the called party is named the calling party channel, and that processing the signals from the called party
to the calling party is named the called party channel. What you should pay attention is the calling party channel
or the called party channel is changeable, depending mainly on the call direction. For example, a channel serves
as the calling party in a call, so this time it is the calling party channel; however, it may serve as the called party in
the next call, then it becomes the called party channel.
The functions SpyGetCallInCh and SpyGetCallOutCh are used respectively to obtain the calling party channel
number and the called party channel number for the 2 channels bound to SpyCic in this call. The function
SpyChToCic can be used to query the logical SpyCic number according to the channel number.
The SynCTI-provided state machine for signaling analysis is based on SpyCic. However, the application can
invoke relative functions for voice processing on any bound channel to acquire DTMF digits and other information
in the onto-PCM and off-PCM signals.
When the call based on a SpyCic is established, the calling party channel number and the called party channel
number in this call can be obtained respectively via the functions SpyGetCallInCh and SpyGetCallOutCh. And
those DTMF detection functions having these two numbers contained in their parameters can be invoked to
acquire DTMF signals from both parties. For more information about the DTMF detector, refer to the DTMF
Detector section in this chapter.
The voice recording feature support both the file mode and the buffer mode. Relative functions and events are
listed below.
SpyStopRecToFile A function based on the circuit number, used to stop the file recording task
E_PROC_RecordFile The event thrown out by the driver at the end of the file recording task
SpyRecToMem A function based on the circuit number, used to start the buffer recording task
SpyStopRecToMem A function based on the circuit number, used to stop the buffer recording task
E_PROC_RecordMem The event thrown out by the driver during the buffer recording task
There are many ways available to perform voice recording on the DTP Series boards. Assuming that a SpyCic is
made up of a calling party channel (referred to as CallingPartyCh) and a called party channel (referred to as
CalledPartyCh), the calling party’s voice (using the default volume) and the called party’s voice (using the default
volume) on this SpyCic should be recorded in a mixed way after both parties come into the call. The processing
codes for this purpose are written as follows.
If the voice recording process should be controlled more precisely, you can use the functions based on the channel.
For example, to achieve the above purpose, but to increase the volume of the calling party’s voice by 3DB and
decrease that of the called party’s voice by 3DB, the processing codes are as follows.
People who use G.729A or GSM for recording should pay attention that as GSM and G.729A recordings are
enabled by extra DSPs, there are limits to use of these two formats. See below for details:
1. One board can use only one of the two formats for recording. That is, it is not allowed to use different
formats for different channels. (Use of other formats like A-Law, μ-Law, etc. is not confined to such limit.)
2. You may perform independent-recording or mixed-recording of calling or called channel, but cannot do it
of both at the same time.
3. Because the available ways for bus exchange have been locked, when you use the precise volume
control mode, parameters of the function SsmListenTo must be calling and called channels for a same
CIC. Whereas, for those bus functions with volume parameters, such as SsmListenToEx, the volume
parameters will be ignored.
1.21.5.1 Universal State Machine Model for Digital Trunk Recording Channel
Below is the SynCTI-provided state machine commonly used by the DTP Series boards.
Every time when the SpyCic state changes, the driver will throw out the E_CHG_SpyState event to the application.
The function SpyGetState can be used to obtain the current SpyCic state.
The functions and events used to obtain the information about the call state machine include:
ShD-30A /PCI/FJ
ShD-30A /PCI/FJ
In the figure above, SpyPCM[0] uses the SS1 protocol while SpyPCM[1] uses the ISDN protocol. This system
involves two SHD-30A-CT/PCI/FJ boards. Relative configuration items in the configuration file ShConfig.ini could
be set as follows.
[BoardId=0]
······
PcmNumber=2
PcmSSx[0]=1 //SS1
PcmSSx[1]=1 //SS1
PcmClockMode[0]=2 //slave clock
PcmClockMode[1]=2 //slave clock
[BoardId=1]
······
PcmNumber=2
PcmSSx[0]=0 //ISDN
PcmSSx[1]=0 //ISDN
PcmClockMode[0]=0 //master clock, line synchronization
PcmClockMode[1]=2 //slave clock
[PcmInfo]
TotalPcm=4
Pcm[0]=0,0
Pcm[1]=0,1
Pcm[2]=1,0
Pcm[3]=1,1
[SpyPcm]
TotalSpyPcm=2
SpyPcm[0]=Pcm[0],Pcm[1]
SpyPcm[1]=Pcm[2],Pcm[3]
[AppSpyCICTable]
As to the system used to monitor SS7 links, except the above configuration items necessarily set for the system
using SS1 or ISDN, the section [SS7Spy] is also required. See below for the typical application.
SpyPCM[0]
(Signaling+Voice ) E1 Trunk
SpyPCM[1
PBX-A ] PBX-B
(V i )
ShD-60A/PCI/FJ
Application Program
In the figure above, there are 2 digital trunks between PBX-A and PBX-B. TS16 of SpyPCM[0] serves as the
signaling link, using the SS7 TUP protocol. TS16 of SpyPCM[1] is unused while the rest all used as voice channels.
Assume SpyPCM[0] is numbered as 4 in the CIC field of the TUP message and SpyPCM[1] is numbered as 5.
Taking the TUP protocol for example, you can follow the way below to set the configuration file in the application
program.
[BoardId=0]
······
PcmNumber=4
PcmSSx[0]=7 //SS7
PcmSSx[1]=7 //SS7
PcmSSx[2]=7 //SS7
PcmSSx[3]=7 //SS7
PcmClockMode[0]=0 //master clock, line synchronization
PcmClockMode[1]=2 //slave clock
PcmClockMode[2]=2 //slave clock
PcmClockMode[3]=2 //slave clock
[PcmInfo]
TotalPcm=4
Pcm[0]=0,0
Pcm[1]=0,1
Pcm[2]=0,2
Pcm[3]=0,3
[SpyPcm]
TotalSpyPcm=2
SpyPcm[0]=Pcm[0],Pcm[1]
SpyPcm[1]=Pcm[2],Pcm[3]
[AppSpyCICTable]
[SS7Spy]
The features supported by the SHF Series boards are shown in the following table.
Voice
Form Max. Conferencing Voltage Audio TDM Max Fax
Board Model Processing FSK
Factor Ports Capabilities Detector Socket Bus Resource
Capabilities
SHF-2D/PCI PCI 2 √ √ √ √ √ N/A 2
SHF-4D/PCI PCI 4 √ √ √ √ √ N/A 4
The figure below shows the operation principle of the SHF Series boards.
Mother Board
K5
Playback to Bus
AGC AGC ∑
V3 K4 K3
Phone Interface ∑ ∑
Outbound Voice
CODEC Echo Inbound Voice
Canceller AGC K1
V1 V2
Analog Subscriber
Line Line K2 ∑
Interface Interface
Circuit Circuit
Tone DTMF FSK Barge in DTMF/Tone FSK
Encoder Decoder
Detector Detector Detector Detector Generator Generator
Voltage Ring Ring Hook
Detector Detector Control Detector
Trunk Board Subscriber Recording Playback
Board Buffer Buffer
Modules and symbols in the figure above are described in the following table.
Name Description
M1 Outbound voice mixer
M2 Off-bus mixer
Recording mixer
M3
The signals from M3 are sent to the Encoder component for recording purpose.
M5 Onto-bus mixer
The Voice Play/Fsk Transmitter switch, controlled by the driver. When the application calls the playing
function, K1 connects to the component Decoder; when it calls the function SsmStartSendFSK to start
K1
FSK data transmission, K1 connects to the component FSK Generator. For more information about
the playing functions, refer to the Voice Playing section.
The switch that shifts between the FSK detector and other detectors, usually pointing to other
K2
detectors unless the FSK detector is started.
The switch that controls whether the incoming signals enter the onto-bus mixer M5 or not, switched on
K3 in default. It can be set via the function SsmSetFlag (with the parameter F_InVoiceToBus) or the
configuration item InVoiceToBus.
The switch that controls whether the signals output from M2 go back onto TDM bus, being switched off
K4
in default. It can be set via the function SsmSetFlag (with the parameter F_MixerResToBus).
The switch that controls whether the playing data enter the mixer M5 and go onto TDM bus or not,
K5 usually keeping off. It can be set via the function SsmSetPlayDest, used only for playing background
music to the teleconference.
The volume adjuster used before incoming signals entering M3. The volume can be set via the
V1 function SsmSetRecVolume or the configuration item DefaultRecordVolume, with the default value of
0DB.
The volume adjuster used before outgoing signals entering M3. The volume can be set via the
V2 function SsmSetRecMixer or the configuration item DefaultRecordMixerVolume, with the default value
of -7(off).
The volume adjuster used before the off-bus signals entering M2. The volume can be set via the
V3
function SsmSetListenVlmInConf, with the default value of 0DB.
Voice Playing
After the application invokes playing functions, the driver will automatically have K1 link to Decoder. The decoded
voice data has two places to go:
Entering M1 and forming the final outgoing signals with other signal sources.
Entering M5 under the control of K5 and forming the onto-bus signal sources with other signals, only for
playing background music to the teleconference.
A lot of special applications are available via the flexible use of the above switches for recording control and
volume adjusters. In the following examples, ch1 means Channel 1 and ch2 is just Channel 2.
Example 1: Only record the incoming signals on ch1, using the default volume.
Example 2: Record the incoming signals on ch1 (volume increased by 6DB) and the signals output from M2
(volume decreased by 3DB) at one time based on the establishement of a two-way call between
ch1 and ch2.
SsmTalkWith(ch1, ch2); //establish a two-way connection between ch1 and ch2 via TDM bus
SsmSetRecVolume(ch1, 2); //start V1, set the volume gain to 2*3DB=6DB
SsmSetRecMixer(ch1, TRUE, -1); //start V2, set the volume gain to -1*3DB=-3DB
SsmRecToFile(ch1, ……); //start the task of file recording …
Example 3: When ch1 joins a teleconference (assuming the conference room number is n), play background
music on ch1 and record the conference through ch1. All signal sources go with normal volume,
i.e. the gain is 0.
The IPR series products include SynIPAanalyzer and SynIPRecorderSynIPAnalyzer has the following processing
capabilities:
z Uses port mirroring to record the voice data on the network, neither causing any interruption on both
parties of a call nor being detected by them
z Detects DTMF signaling messages
z Supports multiple PBX and phone models, as well as simultaneous monitoring to multiple ports
z Forwards the recorded RTP packages
z Supports terminal and call managements, assigning them independent IDs
The signaling messages over D-channels can be used to acquire relative call information. The D-channel’s
signaling processing capabilities include the detection of such IP phone’s operations and state changes as follows.
z Off-hook, On-hook
z Dial keys
z Function keys
z Voice Channel open/close
z LED
z Content displayed on LCD
The notes for IPR Series are shown in the following table.
Applicaion
Record_slaver.exe
SHP_A3.dll
SWCodecConvAPI32.dll
IPAnalyzer.dll Record_master.dll ShdPci.dll
SynGCI.dll
SIPParser.dll PTLib.dll PWLib.dll SWG729API32.dll SWGSM610API32.dll
SynRTP.dll
Pcap.dll(winpcap) SynGCI.dll Hasp_windows.dll SLAVER Service
Legend:
Input voice stream
npf.sys(winpcap) USB KEY Output voice stream
Control flow
The modules illustrated in the figure above are described in the following table:
Module Name Description
Application User application program
SHP_A3.DLL Provides API functions for applications to achieve all functions of the board
IPAnalyzer.dll Core module for signaling parsing, sole of SynIPAnalyzer
SIPParser.dll Parser module for SIP messages
PTLib.dll, PWLib.dll Parser module for H.323 messages
pcap.dll, npf.sys Data packet capturing module
Master module for SynIPRecorder, responsible for signaling passing,
record_master.dll
receiving and parsing
Communication module, responsible for data communication at the bottom
SynGCI.dll
layer
ShdPci.dll DLL that is responsible for interaction with the hardware layer
hasp_windows.dll DLL that is responsible for interaction with the USB KEY
USB KEY For authorization management
Slaver module for SynIPRecorder, responsible for RTP receiving,
record_slaver.exe
decoding, encoding, mixing and recording
SynRTP.dll RTP receiving module, used to achieve the Jitter function
SwCodecConvAPI32.dll Master module for voice data CODEC
SWG729API32.dll Module for G.729 CODEC
SWGSM610API32.dll Module for GSM CODEC
z Port Mirroring
It is a method used on a network switch to send a copy of network packets seen on one or more than one switch
port (or VLAN) to another one or more than one switch port.
z Station
It is a terminal on VoIP line, that is, a VoIP phone either in software or in hardware.
z Call
It means the entire process of a call, which starts with the dialing or sending call messages with terminals and ends
with the hang-up or sending hang-up messages with terminals. A Station may make more than one call. For
example, a mobile phone can hold several calls at the same time.
z Session
It means the establishment of a session. To be exact, it is the establishment of a voice stream. Although there may
be several Sessions in a call, they appear one after another, not existing concurrently. For example, when a call to
your mobile phone is connected, a Session is established; when a party of the call presses the HOLD key, the
Session is stopped; then when you cancel the HOLD command to re-enter the call, it is another new Session that
is established.
z Channel
Channels on SynIPAnalyzer correspond to Sessions. When a new Session is established, the system will
automatically search for an idle channel and bind it to the Session. Meanwhile, the channel goes into the USING
state. When the Session is stopped, the system will automatically unbind the channel and the channel will go back
into the IDLE state. See the channel state machine of SynIPAnalyzer for details.
z Authorization Strategy
The authorized number of channels equals to that of monitored Stations in SynIPAnalyzer. That is, if you have
purchased a license for 30, it means 30 channels are available and can be bound to 30 available Sessions. When
all the 30 channels have been occupied, the new detected Session will send the event
E_RCV_IPR_AUTH_OVERFLOW instead of E_RCV_IPR_MEDIA_SESSION_STARTED to represent
authorization overflow. At that time, the number of current active Stations cannot be reflected from the number of
channels, but you can obtain it via the function SsmIPRGetStationCount. Vice verse, when the number of current
active Stations is more than 30, the event E_RCV_IPR_AUTH_OVERFLOW will be sent for reminding.
IDLE
SessionStart SessionEnd
USING
Each state identifier in the above diagram is described in the following table:
z Distributed Recording
SynIPRecorder, whose Master end and Slaver end can work in different machines and establish communications
through the TCP protocol, can adopt two distributed architectures. One is that the Master connects with multiple
Record Slavers and takes a unified management over them, making recording channel expansion easily. The other
is that multiple Masters connect to one Slaver, facilitating recording file management. See below for how they work
exactly.
Legend
Data flow SHP_A3
Control flow
SynGCI Record_Master
SynGCI Record_Slaver
SynGCI Record_Slaver
Service Record Resources
SHP_A3 SHP_A3
SynGCI Record_Slaver
Legend
Data flow
Control flow
Service Record Resources
z Record Master
Master is responsible for the dispatch and the channel authorization management over all of the Slavers. It
provides the application with API functions via SHP_A3.DLL to control the Slaver.
z Record Slaver
Running as Service on the machine, each Slaver in the initial state only has the capability of communicating with a
specific Master. Only when the function SsmIPRStartRecSlaver is called in the Master and it is assigned with
certain record resources and threads does it really go into work. At this time, the Master may call the functions
SsmIPRActiveSession and SsmRecToFile to start a Slaver for the reception and recording of corresponding RTP
packets.
z Record Resources
How many Sessions can be held in a Slaver at the same time is determined by the number of Record Resources. It
is designated by the Master from the very beginning. Each Resource can be regarded as an independent
recording unit.
z Session
This concept to SynIPRecorder is the same as to SynIPAnalyzer. Actually, the session in SynIPRecorder is just the
Session forwarded from SynIPAnalyzer.
Authorization Strategy: SynIPRecorder authorizes by number of channels and take a unified management in the
Master. If you have purchased a license for 30, it means a Master, but not the slavers connected to the master, can
record up to 30 channels concurrently. The Master has the right to decide how to distribute these 30 channels on
the Slavers connected to it. For example, a master that connects with two Slavers - Slaver A and Slaver B can
decide to distribute 10 Record Resources to Slaver A and another 20 Record Resources to Slaver B.
UNUSABLE
Return
SsmIPRStartRecSlaver
ERROR
Slaver response
Return OK
IDLE
Return OK
SsmIPRActiveSession
Return
ERROR
Slaver response
COMMUNICATING
Slaver response
Return COMMUNICATING
Return OK
ERROR
USING SsmIPRDeActiveSession
SsmRecToFile
Call Other SsmRecToMem
API SsmStopRecToFile
SsmStopRecToMem
SsmPauseRecToFile
Slaver response SsmRestartRecToFile
COMMUNICATING
‘COMMUNICATING’ state
COMMUNICATING When the Master sends a request to the Slaver and is waiting for the response, a
channel is in the COMMUNICATING state
‘USING’ state
USING
A channel is occupied by a Session and cannot deal with any other Session.
Without unified standard, the signaling protocols used for the D-channel are usually decided by the PBX or
telephone manufacturers. As a result, products from different manufacturers, even products in different series from
a same manufacturer, are rather distinct.
The driver picks up the original signaling messages on the D-channel and passes them to the application by
throwing out D-channel events. Then according to these D-channel events, the application program completes the
signaling analysis over the call process.
Among the original signaling messages on D-channel, those sent from the PBX to the phone are called PBX
messages, and the corresponding events are PBX events; those sent from the phone to the PBX are called phone
messages, and the corresponding events are phone events. Common PBX events include:
Ring events
Audio events
LCD (Display) events
LED (Light) events
Hook events
Button events
In addition, the phone doesn’t need to report some particular operations on it to the PBX, so it won’t send any
message to the PBX in such case. Thus even if the driver acquires all original signaling messages on the
D-channel, it is probably not able to get any information about those operations on the phone, which include:
The LED on the phone varies in the state, which is unnecessary to be reported to the PBX.
For detailed information about the D-channel signaling messages, refer to D-channel Event Manual.
The application should set up an exclusive call state machine for a particular PBX or phone model by using some
or all of the original signaling messages on the D-channel as the condition to trigger the state transition, then
properly record the relative information during the call process and the relevant voice operations, like the start and
stop of recording, according to the changes in the channel state.
Those events which may affect the call state machine but are unavailable from the D-channel original signaling
messages, such as busy tones, ringback tones on voice channels, can be obtained via other voice processing
features the driver provides.
typedef struct
{
IPR_MONITOR_ITEM Transport; // main monitoring port and transfer type in SIP
ULONG ProxyIPAddress; // SIP Proxy/ALG/PBX IP Address
USHORT NonStationListCount; // amount of non-Station IP
ULONG NonStationList [IPR_MAX_NON_STATION_LIST]; // address of non-Station IP
USHORT TransportAdditionalCount; // number of additional monitoring ports in SIP
IPR_MONITOR_ITEMTransport_Additional[IPR_MAX_SIP_PTL_PORT_LIST]; // additional monitoring port
in SIP
DWORD dwSpecial; // auxiliary processing for some special PBXes. Currently, it can only be set to 1 to
support the SIP/AASP protocol.
BOOL bMixCSProtocol; // necessary when both UDP and TCP protocols are used in a call.
} IPR_SIP_CFGS;
typedef struct
{
IPR_MONITOR_ITEM SCCP; // monitoring port and transferring type in SCCP
}IPR_SCCP_CFGS;
typedef struct
{
IPR_MONITOR_ITEM H225CS; // monitoring port and transfer type in AVAYA H323
IPR_MONITOR_ITEM H225RAS; //registration management port and transfer type in AVAYA H323
USHORT NonStationListCount; //count of none-Station IP
ULONG NonStationList [IPR_MAX_NON_STATION_LIST]; //address of none-Station IP
USHORT H225CSAdditionalCount; //count of additional monitoring port in AVAYA H323
IPR_MONITOR_ITEM H225CS_Additional[IPR_MAX_H323_PTL_PORT_LIST]; //additional monitoring port
in AVAYA H323
USHORT H225RASAdditionalCount; //count of additional monitoring port in AVAYA H323
IPR_MONITOR_ITEM H225RAS_Additional[IPR_MAX_H323_PTL_PORT_LIST]; //additional registration
management port in AVAYA H323
}IPR_H323_CFGS;
typedef struct
{
IPR_MONITOR_ITEM CallAgent; //agent port and transfer type in Shortel MGCP
IPR_MONITOR_ITEM Gateway; //gateway port and transfer type in Shortel MGCP
}IPR_SHORTEL_MGCP_CFGS;
typedef struct
{
IPR_MONITOR_ITEM H225CS; //monitoring port and transfer type in H323
IPR_MONITOR_ITEM H225RAS; //registration management port and transfer type in H323
USHORT NonStationListCount; //count of none-Station IP
ULONG NonStationList [IPR_MAX_NON_STATION_LIST]; //address of none-Station IP
USHORT H225CSAdditionalCount; //count of additional monitoring port in H323
IPR_MONITOR_ITEM H225CS_Additional[IPR_MAX_H323_PTL_PORT_LIST]; //additional monitoring port
in H323
USHORT H225RASAdditionalCount; //count of additional registration management port in H323
IPR_MONITOR_ITEM H225RAS_Additional[IPR_MAX_H323_PTL_PORT_LIST]; //additional registration
management port in H323
}IPR_H323_CFGS;
typedef struct
{
IPR_MONITOR_ITEM CallAgent; //agent port and transfer type in Panasonic MGCP
IPR_MONITOR_ITEM Gateway; //gateway port and transfer type in Panasonic MGCP
}IPR_PANASONIC_MGCP_CFGS;
typedef struct
{
IPR_MONITOR_ITEM Megaco_H248; //port and transfer type in Toshiba MEGACO
}IPR_TOSHIBA_MEGACO_CFGS;
typedef struct
{
IPR_MONITOR_ITEM Proprietary; // Siemens H323 Proprietary Parameters
IPR_MONITOR_ITEM H225CS; // Siemens H323 H225CS Parameters
} IPR_SIEMENS_H323_CFGS;
typedef struct
{
IPR_MONITOR_ITEM Alcatel; // Alcatel Parameters
}IPR_ALCATEL_CFGS;
typedef struct
{
IPR_MONITOR_ITEM Mitel; // Mitel Parameters
}IPR_MITEL_CFGS;
}
// Step 3: Obtain the total number of channels
MaxLine=SsmGetMaxCh();
nIPRChNum = 0;
nUsedIPRChNum = 0;
nIPAChNum = 0;
bUpdateSlaverDisplay = FALSE;
// Step 4: Obtain the channel type for each channel
for(int i = 0; i < MaxLine; i++)
{
if(SsmGetChType(i) == IPRR_CH)
{
nIPRChNum++;
}
else if(SsmGetChType(i) == IPRA_CH)
{
nIPAChNum++;
}
}
nResult = 0;
pIPRecorderDlg->bErrorOccurred = FALSE;
switch(pEvent->wEventCode)
{
case E_CHG_ChState:
// Channel state in SynIPAnalyzer or SynIPRecorder changes
UpdateChannelState();
break;
case E_RCV_IPR_DChannel:
// SynIPAnalyzer receives the D-channel events for IPR series
// Update relative information according to the D-channel events
if(pEvent->dwParam == DST_CISCO_SCCP_CALL_INFO)
{
{
ChannelInfo[i].nWorkState = SsmGetChState(i);
if(ChannelInfo[i].nWorkState == S_CALL_STANDBY)
{
bFind = TRUE;
break;
}
}
}
if(!bFind)
break;
//Step 4: Store the RTP transmitting port to the corresponding IPR channel for use with the function
SsmIPRSendSession.
ChannelInfo[pEvent->nReference].nFowardingPPort = pSessionInfo->nFowardingPPort;
ChannelInfo[pEvent->nReference].nFowardingSPort = pSessionInfo->nFowardingSPort;
}
break;
case E_RCV_IPR_MEDIA_SESSION_STARTED_TOO:
// This event indicating the repeated detection of the event E_RCV_IPR_MEDIA_SESSION_STARTED
is not necessary to be administrated.
break;
case E_RCV_IPR_MEDIA_SESSION_STOPED:
// SynIPAnalyzer detects the stop of a new Session
// Step1: Obtain the Session information from the event
pSessionInfo = (pIPR_SessionInfo)pEvent->pvBuffer;
// Step 4: Find the SynIPRecorder channel which receives the RTP message
for(i=0; i<MaxLine; i++)
{
if(ChannelInfo[i].dwSessionId == pSessionInfo->dwSessionId
&& ChannelInfo[i].nChType == IPRR_CH)
{
ChannelInfo[i].dwSessionId = 0;
ChannelInfo[i].nPtlType = -1;
ChannelInfo[i].nStationId = -1;
bFind = TRUE;
break;
}
}
if(!bFind)
break;
break;
case E_IPR_START_SLAVER_CB:
// The Slaver responds to the Master‘s function call of SsmIPRStartRecSlaver
UpdateChannelState();
break;
case E_IPR_CLOSE_SLAVER_CB:
// The Slaver responds to the Master’s function call of SsmIPRCloseRecSlaver
break;
case E_IPR_ACTIVE_SESSION_CB:
// The Slaver responds to the Master‘s function call of SsmIPRActiveSession
// Step 1: First check whether the call of SsmIPRActiveSession is successful in the Slaver
if(pEvent->dwParam != 0)
{
// If failed
//do something
//...
break ;
}
// Step 2: If the function call is successful, invoke the API function SsmRecToFile in SynIPRecorder
// Inform the Slaver to start recording
if(SsmRecToFile(pEvent->nReference, szRecFilePath, 6, 0, -1, -1, 0) != 0)
{
SsmGetLastErrMsg(szErrMsg);
nResult = -1;
}
return nResult;
2.1.1.1 SsmStartCti
SsmStartCti is the entry function for the entire SynCti API which can be used to initialize the SynCTI driver platform
and voice boards.
Format:
int SsmStartCti(LPSTR lpSsmCfgFileName, LPSTR lpIndexCfgFileName)
Parameter Description:
The name of the configuration file (*.INI). If it’s a NULL string, under Windows operating
system, the driver will automatically use the configuration file ‘ShConfig.ini’ under the
lpSsmCfgFileName
system directory; under Linux operating system, the driver will automatically use the
configuration file ‘ShConfig.ini’ under the directory of ‘/etc/shcti/’.
The configuration file for preload voice data (*.INI). If it’s a NULL string, under Windows
operating system, the driver will automatically use the configuration file ‘ShIndex.ini’
lpIndexCfgFileName
under the system directory; under Linux operating system, the driver will automatically
use the configuration file ‘ShIndex.ini’ under the directory of ‘/etc/shcti/’.
Return Value:
-2 Initialization is failed, because the driver has been loaded
-1 Initialization is failed, the failure reason can be obtained by SsmGetLastErrMsg
0 Initialization is successful
Function Description:
This function is the entry of the SynCTI driver program. After invoking this function, the following operations will be
executed:
z Initializes the voice board;
z If lpIndexCfgFileName is not NULL, loads the preload voice data into the memory from the configuration
file ‘lpIndexCfgFileName’.
z Registers and initializes the voice boards and allocates the system resources based on the basic
information such as the model and quantity of voice board, port address, and interruption number.
z Allocates system resources for voice recording and playback.
z Establishes an interrupt service routine (ISR).
Note:
z Only when this function or the function SsmStartCtiEx has been called successfully, can the other
functions in the driver platform be called (except SsmGetLastErrMsg and SsmGetLastErrCode).
z Before exiting the application program, SsmCloseCti must be called to close the driver program in order
to release the resources occupied by the driver.
z For detailed information about the configuration file, refer to Chapter 4.
z If multiple boards have been configured and only a part of them is successfully initialized, the driver also
returns 0. The application program can determine whether all the boards are initialized successfully
through the functions SsmGetMaxCfgBoard and SsmGetMaxUsableBoard.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Functions: SsmStartCtiEx, SsmCloseCti, SsmGetMaxCfgBoard , SsmGetMaxUsableBoard
2.1.1.2 SsmStartCtiEx
SsmStartCtiEx is the entry function for the entire SynCti API which can be used to initialize the SynCTI driver
platform and voice boards. Besides the features of SsmStartCti, it can set the event output mode.
Format:
file ‘lpIndexCfgFileName’.
z Registers and initializes the voice boards and allocates the system resources based on the basic
information such as the model and quantity of voice board, port address, and interruption number.
z Allocates system resources for voice recording and playback.
z Establishes an interrupt service routine (ISR).
Note:
z Only When this function or the function SsmStartCti has been called successfully, can the other functions
in the driver platform be called (except SsmGetLastErrMsg and SsmGetLastErrCode).
z The last parameter pEventSet of this function uses the same struct as the parameter pEventSet of the
function SsmSetEvent, but they differ slightly in usage. Please refer to the corresponding descriptions.
z Before exiting the application program, SsmCloseCti must be called to close the driver program in order
to release the resources occupied by the driver.
z For detailed information about the configuration file, refer to Chapter 4.
z If multiple boards have been configured and only a part of them is successfully initialized, the driver also
returns 0. The application program can determine whether all the boards are initialized successfully
through the functions SsmGetMaxCfgBoard and SsmGetMaxUsableBoard.
Related Information:
Driver version SynCTI Ver. 5.3.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Functions: SsmStartCti, SsmCloseCti, SsmGetMaxCfgBoard, SsmGetMaxUsableBoard, SsmSetEvent
2.1.1.3 SsmCloseCti
Format:
Parameter Description:
None
Return Value:
1 Successful to close the SynCTI driver program
Function Description:
Closes the SynCTI driver program.
Note:
• Before the application program exits the operating system, this function must be called.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStartCti
2.1.2.1 SsmSetLogEnable
Sets whether to output the logs of specified types and the way to output.
Format:
Parameter Description:
Log type, with the value range of 0~8:
=0: ShCtiApiLog
=1: ShCtiSs1Log
=2: ShCtiIsdnLog
=3: ShCtiSpySs7Log
nLogType
=4: ShCtiSpySs1Log
=5: ShCtiSpyIsdnLog
=6: ShCtiSystemInfoLog
=7: ShCtiDstLog
=8: ShCtiFaxLog
Sets whether to output logs.
When nLogType=0, nLogEnable can be of the following values:
=0: Not output logs
=1: Output API function call information to DebugView
=2: Output API function call information to the LOG file
nLogEnable =3: Output event information to the LOG file
=4: Output both API function call information and event information to the LOG file
When nLogType=1, 2, 3, 4, 5, 6, 7, 8 nLogEnable can be of the following values:
=0: Not output
=1: Output to the LOG file
=2: Output to DebugView
The mode to create a log. It gets valid only when nLogEnable is set to output logs.
=0: All channel information written into a log file
nLogCreateMode
=1: Each channel has an independent log file. This value gets valid only when
nLogType=0, 1, 4, 7, 8
Return Value:
-1 Call failed
0 Call successful
Function Description:
Sets whether to output the logs of specified types and the way to output. No matter which type of logs the driver
outputs, it will create the ShCtiLog folder and save all generated log files in this folder.
The log types described by nLogType are as follows.
Log Type Definition
ShCtiApiLog Records information about API function calls and events thrown out by the
driver.
ShCtiSs1Log Records received and sent ABCD codes and R2
ShCtiIsdnLog Records a frame of messages on the data link layer of ISDN protocol
ShCtiSpySs7Log Records a frame of messages that the driver receives
ShCtiSpySs1Log Records information about SS1 CAS and R2 that the driver receives
ShCtiSpyIsdnLog Records a frame of messages that the driver receives
ShCtiSystemInfoLog Records system information, such as the link sync, the local-end impedance,
Note: None
Related Information:
Driver version SynCTI Ver.5.1.1.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetLogAttribute, SsmGetLogAttribute, SsmSetApiLogRange
2.1.2.2 SsmSetLogAttribute
Sets the period to generate a log, the maximum number of saved latest logs, the number of cycles to stop log
output and the log output path.
Format:
int WINAPI SsmSetLogAttribute(int nLogCreatePeriod,int nLogMaxKeep,int nLogMaxPeriod,LPSTR
pLogFilePath)
Parameter Description:
nLogCreatePeriod The generation period of the log (hour), with the value range of nLogCreatePeriod>0.
When the number of generated log files is greater than the set value of this parameter,
the first generated files will be deleted automatically. The value range is
nLogMaxKeep
nLogMaxKeep >0. If nLogMaxKeep =-1, it means there is no limit on the number to
save log files and no log files will be deleted.
When the number of log generating periods reaches the set value of this parameter,
nLogMaxPeriod the log output will be stopped automatically. The value range is nLogMaxPeriod >0. If
nLogMaxPeriod = -1, it means there is no limit on the number to generate log files.
The path to save logs. Note that it must be a path already existing, such as ‘D:\’, or the
function call will fail. If pLogFilePath is set to null, it indicates the current working path;
pLogFilePath
if pLogFilePath is set to a name, a folder with such name will be created under the
current working path.
Return Value:
-1 Call failed
0 Call successful
Function Description:
Sets the period to generate a log, the maximum number of saved latest logs, the number of cycles to stop log
output and the log output path.
Settings of this function are valid to the following logs.
Log Type Definition
ShCtiApiLog Records information about API function calls and events thrown out by the
driver.
ShCtiSs1Log Records received and sent ABCD codes and R2
ShCtiIsdnLog Records a frame of messages on the data link layer of ISDN protocol
ShCtiSpySs7Log Records a frame of messages that the driver receives
ShCtiSpySs1Log Records information about SS1 CAS and R2 that the driver receives
ShCtiSpyIsdnLog Records a frame of messages that the driver receives
ShCtiSystemInfoLog Records system information, such as the link sync, the local-end impedance,
E1/T1, CRC-4 and other running information
ShCtiDstLog Records the digital call monitoring signaling message
The following configuration items can be used to achieve the same purpose.
LogCreatePeriod
LogMaxKeep
LogMaxPeriod
LogFilePath
Note: None
Related Information:
Driver version SynCTI Ver.5.1.1.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetLogEnable, SsmGetLogAttribute, SsmSetApiLogRange
2.1.2.3 SsmSetApiLogRange
Sets the range of channels where events and API functions should be written into the log and the range of events
that should be recorded into the log.
Format:
int WINAPI SsmSetApiLogRange(int nChStart, int nChEnd, int nEventStart, int nEventEnd)
Parameter Description:
Indicates the start channel number for logging events and API functions. When
nChStart
nChStart=-1, it means the channel range is <nChEnd.
Indicates the end channel number for logging events and API functions. When
nChEnd
nChEnd=-1, it means the channel range is >nChStart.
Indicates the start event number that should be written into the log. When nEventStart
nEventStart
=-1, it means the event range is <nEventEnd.
Indicates the end event number that should be written into the log. When
nEventEnd
nEventEnd=-1, it means the event range is >nEventStart.
Return Value:
-1 Call failed, the failure reason can be obtained from the function SsmGetLastErrMsg
0 Call successful
Function Description:
Sets the range of channels where events and API functions should be written into the log and the range of events
that should be recorded into the log on condition that ApiLogEnable is set to output logs.
The following configuration items can be used to achieve the same purpose.
ApiLogSetEventRange
ApiLogSetChRange
Note: None
Related Information:
Driver version SynCTI Ver. 5.1.1.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetLogEnable, SsmSetLogAttribute, SsmGetLogAttribute
2.1.2.4 SsmGetLogAttribute
Gets the period to generate a log, the maximum number of saved latest logs, the number of cycles to stop log
output and the log output path.
Format:
int WINAPI SsmGetLogAttribute(PINT pLogCreatePeriod,PINT pLogMaxKeep,PINT pLogMaxPeriod,LPSTR
pLogFilePath)
Parameter Description:
The period to generate a log, calculated by hour, with the value range of
pLogCreatePeriod
pLogCreatePeriod>0.
When the number of generated log files is greater than the set value of this parameter,
the first generated files will be deleted automatically. The value range is
pLogMaxKeep
pLogMaxKeep >0. If pLogMaxKeep =-1, it means there is no limit on the number to
save log files and no log files will be deleted.
When the number of log generating periods reaches the set value of this parameter,
pLogMaxPeriod the log output will be stopped automatically. The value range is pLogMaxPeriod >0. If
pLogMaxPeriod = -1, it means there is no limit on the number to generate log files.
The path to save logs. Note that it must be a path already existing, such as ‘D:\’, or the
function call will fail. If pLogFilePath is set to null, it indicates the current working path;
pLogFilePath
if pLogFilePath is set to a name, a folder with such name will be created under the
current working path.
Return Value:
-1 Call failed
0 Call successful
Function Description:
Gets the period to generate a log, the maximum number of saved latest logs, the number of cycles to stop log
output and the log output path.
Note: None
Related Information:
Driver version SynCTI Ver.5.1.1.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetLogEnable, SsmSetLogAttribute, SsmSetApiLogRange
2.1.3.1 SsmStartTimer
Format:
int SsmStartTimer(WORD wDelay, WORD wMode)
Parameter Description:
wDelay The initial value (millisecond) of the timer, range of value: 0x0008~0xffff
Sets the timer operating mode:
=0(TIMER_ONE): One-shot mode: Once the timer overflows, it stops
automatically
wMode
=1(TIMER_PERIODIC): Periodic mode: Every time when the timer overflows, the
driver program automatically reloads the initial value
wDelay until the application program calls SsmStopTimer
Return Value:
-1 Failed
≥0 The timer application is successful and ‘SsmStartTimer’ returns the timer ID
Function Description:
The application is applicable to the driver for a system timer and sets the operating parameter of the timer. Every
time when the timer overflows, the driver throws out an event E_SYS_TIMEOUT For more details, refer to
‘Driver-provided Timer’ in Chapter 1.
Note:
z This function must be called after SsmSetEvent, otherwise the driver won’t output the event TIMEOUT.
Related Information:
Driver version SynCTI Ver.4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Functions: SsmStopTimer,StartTimer
2.1.3.2 SsmStopTimer
Stops a Timer.
Format:
int SsmStopTimer(int nTimer)
Parameters Description:
nTimer Timer ID ,the return value of SsmStartTimer
Return Value:
-1 Failed
0 Successful
Function Description:
Note:
Related Information:
Driver version: SynCTI Ver. 4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStartTimer
2.1.3.3 StartTimer
Format:
Parameter Description:
ch Channel Number
wClockID Timer ID, range of value: 0~9
Return Value:
-1 Failed
0 Successful
Function Description:
Note:
z The timer started by StartTimer() doesn’t output any events.
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: ElapseTime
2.1.3.4 ElapseTime
Parameter Description:
ch Channel number
ClockType: Timer ID, value range: 0~9
Return Value:
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: StartTimer
2.1.4.1 SsmGetLastErrCode
Obtains the error code when the application is failed to call the API functions.
Format:
int SsmGetLastErrCode()
Parameter Description:
None
Return Value:
Below are the return values:
Return Value Macro in shpa3api.h Description
0 C_ERROR_INIT_FAILURE Initialization is failed
The API interface of the driver is not open to the
1 C_ERROR_SSMAPI_UNOPENED
application
2 C_ERROR_INVALID_APPCH Invalid channel number
3 C_ERROR_UNSUPPORTED_OP Unsupported operation
The function of the voice playback via memory is not
4 C_ERROR_INDEX_UNOPENED
open to application
5 C_ERROR_INVALID_BUSCH Invalid logical number of the CT-Bus channel
6 C_ERROR_OP_UNOPENED The specified operation is not open to the application
7 C_ERROR_INVALID_FORMAT Invalid voice CODEC format
8 C_ERROR_INVALID_PARAMETER Invalid parameters
9 C_ERROR_FILEOP_FAILURE File operation failed
10 C_ERROR_MEMORY_FAILURE Memory access failed
11 C_ERROR_RESOURCE_USEUP The related resource is exhausted
12 C_ERROR_SYSTEM System error
13 C_ERROR_IdleChNotFound No idle channel is available
14 C_ERROR_OP_FAILURE Operation failed
15 Invalid monitored CIC(Circuit Identification Code)
C_ERROR_INVALID_APPSPYCIC
number
16 C_ERROR_FAX_NOFILE Fax file error
17 C_ERROR_VCH_INVALID_SCALE Parameter value is out of range
Function Description:
Obtains the error code when the application is failed to call the API functions.
Note:
Related Information:
Driver version SynCTI Ver.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:SsmGetLastErrMsg
2.1.4.2 SsmGetLastErrMsg
Refer to SsmGetLastErrMsgA
2.1.4.3 SsmGetLastErrMsgA
Obtains the error message generated by the last failed API function call.
Format:
void SsmGetLastErrMsg(LPSTR szErrMsgBuf)
char* SsmGetLastErrMsgA(void)
Parameter Description:
The first address pointer pointing to the string which stores error messages. The
szErrMsgBuf
storage buffer is allocated by the application and no less than 300 bytes
Return Value:
void Nil
char* The first address pointer pointing to the string which stores error messages in the driver
Function Description:
Obtains the error message generated by the last failed API function call.
Note:
z Needs to be called immediately upon the failure of the API function call.
Related Information:
Driver version SynCTI Ver.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetLastErrCode
2.1.4.4 fBmp_GetErrMsg
Obtains the error message generated by the last failed function call of Bmp.
Format:
void fBmp_GetErrMsg(char *buf)
Parameter Description:
buf Pointer pointing to the buffer area storing the error information string
Return Value: None
Function Description:
When the function call of Bmp is failed, the driver will provide the detailed error message and the error code which
can be obtained by invoking this function.
Note:
Related Information:
2.1.5.1.1 SsmGetMaxCfgBoard
Obtains the total number of the voice boards which is set in the configuration file.
Format:
int SsmGetMaxCfgBoard()
Return Value:
-1 Failed
≥0 Returns the total number of the boards
Function Description:
Obtains the total number of the voice boards which is set in the configuration file.
Note: None.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetMaxUsableBoard
2.1.5.1.2 SsmGetMaxUsableBoard
Obtains the total number of the boards which are successfully initialized by the driver.
Format:
int SsmGetMaxUsableBoard()
Return Value:
-1 Failed
≥0 Maximum usable boards number
Function Description:
Obtains the total number of the boards which are successfully initialized by the driver.
Note: None.
Related Information:
2.1.5.1.3 GetTotalPciBoard
Format:
Parameter Description:
pTotalBoards The integer pointer storing the total number of boards
Return Value:
-1 Call failed
0 Successful
Function Description:
Obtains the total number of the installed boards in the system. If this function is called successfully, the total
number of the boards will be put into pTotalBoards.
Note:
This function call can be performed without the control of Shp_a3.dll. The total number of installed boards can be
obtained directly. Because this function can be called before Shp_a3.dll is started, the configuration file of
ShConfig.ini may be modified by some application program to ensure the successful call of the function
SsmStartCti.
If you install or uninstall a board after the load of Shinitpci.dll, you should invoke ReloadPciBoardInfo before
invoking this function to get the latest information.
Related Information:
Driver Version Independent of SynCTI driver
Header Shinitpci.h
Library Shinitpci.lib
DLL Shinitpci.dll
Related Functions: GetPciBoardSerialNo, GetPciBoardModel, ReloadPciBoardInfo
2.1.5.1.4 ReloadPciBoardInfo
Format:
int ReloadPciBoardInfo()
Return Value:
-1 Call failed
0 Successful
Function Description:
Rereads the board information. Usually it is invoked only after a board is installed or uninstalled
The information about GetPciBoardSerialNo, GetPciBoardModel and GetTotalPciBoard has been initialized in
loading Shinitpci.dll.
If you install or uninstall a board after the load of Shinitpci.dll, you should invoke this function before invoking others
in Shinitpci.dll.
Note:
This function call can be performed without the control of Shp_a3.dll.
Related Information:
Driver Version Independent of SynCTI driver
Header Shinitpci.h
Library Shinitpci.lib
DLL Shinitpci.dll
Related Functions: GetTotalPciBoard, GetPciBoardSerialNo, GetPciBoardModel
2.1.5.2.1 SsmGetAccreditId
Refer to SsmGetAccreditIdEx
2.1.5.2.2 SsmGetAccreditIdEx
Obtains the authorization code saved in the board firmware. The return values of SsmGetAccreditId() include the
board model and authorization code. SsmGetAccreditIdEx() only returns the authorization code.
Format:
int SsmGetAccreditId(int nBId)
int SsmGetAccreditIdEx(int nBId)
Parameter Description:
nBId The board ID number specified in the configuration file
Return Value:
-1 Call failed, the failure reason can be acquired from the function SsmGetLastErrMsg
0 There is no authorization code on the board
Return value includes 16 bits, namely Bit15…Bit0:
SsmGetAccreditId Bit15~Bit10:Board model
>0
Bit 9~Bit0 :Authorization code
SsmGetAccreditIdEx Returns the authorization code
Function Description:
Note:
Related Information:
Driver version SynCTI Ver.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetBoardModel
2.1.5.3.1 SsmGetBoardModel
Format:
Parameter Description:
nBId The board ID specified in the configuration file
Return Value:
If the return value is -1,the call failed (the failure reason can be obtained by function SsmGetLastErrMsg); If the
return value is not -1, below are the corresponding models:
Return Value Board Model
0x07 SHD-60A-CT/PCI/SS1
0x09 SHT-16A-CT/PCI
0x0a SHT-8A/PCI
0x0b SHD-60A-CT/PCI/SS7
0x0c SHD-60A-CT/PCI/ISDN
0x0d SHD-120A-CT/PCI/SS1
0x0e SHD-120A-CT/PCI/SS7
0x0f SHD-120A-CT/PCI/ISDN
0x14 SHT-16B-CT/cPCI
0x15 SHD-60A-CT/PCI/FJ
0x16 SHD-30A-CT/cPCI
0x17 SHD-60A-CT/cPCI
0x18 SHD-120A-CT/cPCI
0x1d SHD-30A-CT/PCI/SS1
0x1e SHD-30A-CT/PCI/SS7
0x1f SHD-30A-CT/PCI/ISDN
0x20 SHD-30A-CT/PCI/FJ
0x24 SHT-16B-CT/PCI
0x25 SHT-16B-CT/PCI/FAX or SHT-16B-CT/PCI/MP3 [1]
0x26 SHT-8B/PCI
0x27 SHT-8B/PCI/FAX
0x28 SHD-30B-CT/PCI/FAX
0x29 SHD-60B-CT/PCI/FAX
0x2c SHD-240A-CT/cPCI
0x2d SHD-480A-CT/cPCI
0x2f SHD-240S-CT/cPCI
0x30 SHD-480S-CT/cPCI
0x31 SHT-16B-CT/cPCI/MP3
0x32 SHT-16B-CT/cPCI/FAX or SHT-16B-CT/cPCI/MP3 [1]
0x36 SHD-60B-CT/cPCI/FAX
0x3b SHR-16DA-CT/PCI
0x43 DST-1600
0x46 SHT-2A/USB
0x47 SHT-4A/USB
0x4b SHD-30C-CT/PCI
0x4c SHD-30C-CT/PCI/FAX
0x4d SHD-60C-CT/PCI
0x4e SHD-60C-CT/PCI/FAX
0x55 SHV-120A-CT/PCI
0x56 SHV-240A-CT/PCI
0x57 SHD-240D-CT/PCI
0x58 SHD-240D-CT/PCI/EC
0x59 SHD-120D-CT/PCI
0x5a SHD-120D-CT/PCI/EC
0X5b SHT-8C/PCI/FAX
0x5c SHT-16C-CT/PCI/FAX
0x5d SHN-32A-CT/PCI
0x5f SHT-2B/USB
0x60 SHT-4B/USB
0x65 SHV-240A-CT/cPCI
0x66 SHD-30B-CT/PCI/FJ
0x67 SHD-60B-CT/PCI/FJ
0x68 ATP-24A/PCI
0x69 DST-24B/PCI
0x69 DST-24B/PCI(SSW)
0x6a SHT-16C-CT/PCI/EC
0x6b SHT-8C/PCI/EC
0x6c ATP-24A/PCI+
0x6d SHN-120B-CT/PCI+
0x6e DST-24B/PCI+
0x6e DST-24B/PCI+(SSW)
0x6f DTP-30C/PCIe
0x70 DTP-30C/PCIe+
0x71 DTP-60C/PCIe
0x72 DTP-60C/PCIe+
0x73 DTP-120C/PCIe
0x74 DTP-120C/PCIe+
0x75 SHD-30E-CT/PCIe
0x76 SHD-30E-CT/PCIe/EC
0x77 SHD-30E-CT/PCIe/FAX
0x78 SHD-60E-CT/PCIe
0x79 SHD-60E-CT/PCIe/EC
0x7a SHD-60E-CT/PCIe/FAX
0x7b SHD-120E-CT/PCIe
0x7c SHD-120E-CT/PCIe/EC
0x7d SHD-120E-CT/PCIe/FAX
0x7e SHD-240E-CT/PCIe
0x7f SHD-240E-CT/PCIe/EC
0x80 SHD-240E-CT/PCIe/FAX
0x83 SHN-60B-CT/PCI+
0x84 ATP-24A/PCIe
0x85 ATP-24A/PCIe+
0x86 SHD-120D-CT/PCI/CAS
0x87 SHD-240D-CT/PCI/CAS
0x88 SHN-32B-CT/PCI+
0x89 SHN-16B-CT/PCI+
0x8a SHN-8B-CT/PCI+
0x8b DST-24B/PCIe
0x8c DST-24B/PCIe+
0x8e SHD-120E-CT/PCI(SSW)
0x8f SHD-120E-CT/PCI/EC(SSW)
0x90 SHD-120E-CT/PCI/FAX(SSW)
0x91 SHD-240E-CT/PCI(SSW)
0x92 SHD-240E-CT/PCI/EC(SSW)
0x93 SHD-240E-CT/PCI/FAX(SSW)
0x94 SHD-30E-CT/PCI(SSW)
0x95 SHD-30E-CT/PCI/EC(SSW)
0x96 SHD-30E-CT/PCI/FAX(SSW)
0x97 SHD-60E-CT/PCI(SSW)
0x98 SHD-60E-CT/PCI/EC(SSW)
0x99 SHD-60E-CT/PCI/FAX(SSW)
0x9b SHF-2D/PCI
0x9c SHF-4D/PCI
0x9d DTP-30C/PCI
0x9e DTP-30C/PCI+
0x9f DTP-60C/PCI
0xa0 DTP-60C/PCI+
0xa1 DTP-120C/PCI
0xa2 DTP-120C/PCI+
0xa4 SHT-16D-CT/PCIe
0xa6 PCM1280E
0xa7 SHD-240E-CT/PCIe/VAR
0xa9 SHN-60B-CT/PCIe+
0xaa SHN-120B-CT/PCIe+
0xfd SynIPRecorder
0xfe SynIPAnalyzer
Note[1]: The SHT-16B-CT/PCI/FAX board and the SHT-16B-CT/PCI/MP3 board differ in the hardware structure.
However, they have the same board ID written in the firmware due to historical reasons.The configuration
item DSP3WORKMODE is used to distinguish these two board models.
Function Description:
Note:
Related Information:
Driver version SynCTI Ver.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetAccreditIdEx, SsmGetAccreditId
2.1.5.3.2 GetPciBoardModel
Format:
int GetPciBoardModel(int nBId, LPSTR lpBoardModel)
Parameter Description:
nBId The ID number of the actually installed board
lpBoardModel The model of the board with designated number, it’s denoted in the below list of strings
cancellation
“SHD-60E-CT/PCIe” 2 E1/T1/J1 PCIe digital trunk board
“SHD-60E-CT/PCIe/FAX” 2 E1/T1/J1 PCIe digital trunk board with soft-faxing component
“SHD-60E-CT/PCIe/EC” 2 E1/T1/J1 PCIe digital trunk board, having enhanced capability in echo
cancellation
“SHD-120E-CT/PCIe” 4 E1/T1/J1 PCIe digital trunk board
“SHD-120E-CT/PCIe/FAX” 4 E1/T1/J1 PCIe digital trunk board with soft-faxing component
“SHD-120E-CT/PCIe/EC” 4 E1/T1/J1 PCIe digital trunk board, having enhanced capability in echo
cancellation
“SHD-240E-CT/PCIe” 8 E1/T1/J1 PCIe digital trunk board
“SHD-240E-CT/PCIe/FAX” 8 E1/T1/J1 PCIe digital trunk board with soft-faxing component
“SHD-240E-CT/PCIe/EC” 8 E1/T1/J1 PCIe digital trunk board, having enhanced capability in echo
cancellation
“SHD-240E-CT/PCIe/VAR” 8 E1/T1/J1 PCIe digital trunk board with voice alteration resources
“SHT-16D-CT/PCIe” 16-channel PCIe D-type analog voice board
“PCM1280E” 128-channel PCIe PCM32 recording board
Return Value:
0 Successful
-1 Failed
Function Description:
This function obtains the model of the board with designated ID number. If this function is successfully called, the
model will be put in lpBoardModel.
Note:
This function call can be performed without the control of Shp_a3.dll. The model of installed boards in the
operating system can be obtained directly.
If you install or uninstall a board after the load of Shinitpci.dll, you should invoke ReloadPciBoardInfo before
invoking this function to get the latest information.
Related Information:
Driver Version Independent of SynCTI driver
Header Shinitpci.h
Library Shinitpci.lib
DLL Shinitpci.dll
Related Function: GetTotalPciBoard,GetPciBoardSerialNo, ReloadPciBoardInfo
2.1.5.3.3 SsmGetBoardName
Format:
int SsmGetBoardName (int nBId, LPSTR lpBoardModel)
Parameter Description:
“SHD-60E-CT/PCIe/EC” 2E1/T1/J1 PCIe digital trunk board, having enhanced capability in echo
cancellation
“SHD-120E-CT/PCIe” 4E1/T1/J1 PCIe digital trunk board
“SHD-120E-CT/PCIe/FAX” 4E1/T1/J1 PCIe digital trunk board with soft-faxing component
“SHD-120E-CT/PCIe/EC” 4E1/T1/J1 PCIe digital trunk board, having enhanced capability in echo
cancellation
“SHD-240E-CT/PCIe” 8E1/T1/J1 PCIe digital trunk board
“SHD-240E-CT/PCIe/FAX” 8E1/T1/J1 PCIe digital trunk board with soft-faxing component
“SHD-240E-CT/PCIe/EC” 8E1/T1/J1 PCIe digital trunk board, having enhanced capability in echo
cancellation
“SHD-240E-CT/PCIe/VAR” 8 E1/T1/J1 PCIe digital trunk board with voice alteration resources
“SHT-16D-CT/PCIe” 16-channel PCIe D-type analog voice board
“PCM1280E” 128-channel PCIe PCM32 recording board
“SynIPAnalyzer” SynIPAnalyzer
“SynIPRecorder” SynIPRecorder
Return Value:
0 Successful
-1 Failed
Function Description:
This function obtains the model of the board with designated ID number. If this function is successfully called, the
model will be put in lpBoardModel.
Note:
This function can achieve the same purpose as GetPciBoardModel. However, this function call is performed under
the control of Shp_a3.dll.
Related Information:
Driver Version SynCTI Ver.5.2.0.3
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetAccreditIdEx, SsmGetAccreditId, SsmGetBoardModel
2.1.5.4.1 SsmGetPciSerialNo
Format:
DWORD SsmGetPciSerialNo(int nBId)
Parameter Description:
Board ID, corresponding to the value of x in the section [BoardId=x] of the configuration
nBId
file
Return Value:
0 Call failed, the failure reason can be acquired from the function SsmGetLastErrMsg
>0 Board serial number
Function Description:
Obtains the board serial number. The leaving factory boards have a label with serial number sticked on the back
side. For more information, refer to the hardware manual of voice boards.
Note:
Related Information:
2.1.5.4.2 GetPciBoardSerialNo
Format:
Parameter Description:
nBId The ID number of the actually installed board
pSerialNo The pointer storing the serial number of the board
Return Value:
-1 Call failed
0 Successful
Function Description:
Obtains the serial number of the designated board. If it’s successfully called, the board serial number will be put
into pSerialNo.
Note:
This function call can be performed without the control of Shp_a3.dll. The serial number of the installed board in
the operating system can be obtained directly.
If you install or uninstall a board after the load of Shinitpci.dll, you should invoke ReloadPciBoardInfo before
invoking this function to get the latest information.
Related Information:
Driver Version Independent of SynCTI driver
Header Shinitpci.h
Library Shinitpci.lib
DLL Shinitpci.dll
Related Functions: GetPciBoardModel , GetTotalPciBoard, ReloadPciBoardInfo
2.1.5.5.1 SsmGetDllVersion
Format:
int SsmGetDllVersion(PSSM_VERSION pDLLVersion)
Parameter Description:
pDLLVersion Struct pointer storing the file version information
Return Value:
Call failed, the failure reason can be obtained from the function call of
-1
SsmGetLastErrMsg
0 Successful
Function Description:
Obtains the version information of the file ‘shp_a3.dll’.
The structure of the returned version information is as follows:
typedef struct _VERSION
{ UCHAR ucMajor;// Major version
UCHAR ucMinor;// Minor version
USHORT usInternal;// Internal version
USHORT usBuild;// Build number
UCHAR ucRelease;// Compilation mode
UCHAR ucFeature;// Compilation environment
}SSM_VERSION, *PSSM_VERSION;
For example, invoke this function based on SynCTI 5.0.3.0 and the following information appears:
typedef struct _VERSION
{ UCHAR ucMajor;//=5
UCHAR ucMinor;//=0
USHORT usInternal;//=3
USHORT usBuild; //=0
UCHAR ucRelease; //= blank (Reserved)
UCHAR ucFeature; //= blank (Reserved)
}SSM_VERSION, *PSSM_VERSION;
Note:
Related Information:
Driver Version SynCTI Ver.3.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Functions:
2.1.6.1 SsmGetMaxCh
Format:
int SsmGetMaxCh(void)
Return Value:
-1 Failed
≥0 Total channel number
Function Description:
Note:
Related Information:
Driver version SynCTI Ver.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetChType
2.1.6.2 SsmGetChType
Format:
Parameter Description:
ch The logical number of the channel
Return Value:
-1 Failed
0 Analog trunk channel
2 Station channel
3 Analog trunk recording channel
4 SS1 channel
6 TUP channel
7 ISDN channel (user side)
8 ISDN channel (network side)
9 Fax channel
10 Magnetic channel
11 ISUP channel (China SS7 signaling ISUP)
12 Digital trunk recording channel
13 Channel Bank EM channel
14 Voice-alteration channel
16 SIP channel
17 IP channel
19 DASS2 channel
20 SHT board channel without any module
21 EM Control channel
22 EM Voice channel
25 IPR channel, i.e. SynIPR recording channel
26 IPA channel, i.e. SynIPR channel for data package analysis
Function Description:
Obtains the channel type.
Note:
z To obtain more detailed information about the channel type, use this function with
SsmGetAutoCallDirection.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetMaxCh
2.1.6.3 SsmGetChHdInfo
Obtains the ID of the board where the channel is located ,also obtains the channel’s physical number on the board.
Format:
int SsmGetChHdInfo(int ch, int * pnBId, int * pnBCh)
Parameter Description:
ch Channel number
Returns the ID of the board where the channel is located. Its storage space is allocated
pnBId
by the application program
Returns the channel’s physical number on the board. Its storage space is allocated by
pnBCh
the application program
Return Value:
-1 Failed. The failure reason can be acquired by the function SsmGetLastErrMsg .
0 Successful
Function Description:
Obtains the ID of the board where the channel is located ,also obtains the channel’s physical number on the board.
Note:
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetAppChId
2.1.6.4 SsmGetAppChId
Inquires the channel logical number based on the board ID and the channel physical number.
Format:
Parameter Description:
Returns the channel logical number. The storage space is allocated by the application
ch
program
nBId The ID of the board where the channel is located
nBCh The channel physical number
Return Value:
-1 Failed. The failure reason can be acquired by the function SsmGetLastErrMsg .
0 Successful
Function Description:
Inquires the channel logical number based on the board ID and the channel physical number.
Note:
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetChHdInfo
2.1.7.1 SsmSetFlag
Format:
int SsmSetFlag(int ch, int nType, long lPara)
Parameter Description:
ch Channel Number
nType is the parameter type, Ivalue is the parameter value.
The value range and the physical meaning of nType and Ivalue are listed in the table below:
nType
Description lPara
Value Macro in shpa3api.h
Sets the minimum DTMF signal durations
Please refer to the
respectively at on and off states. For more
1 F_RCVDTMFSENS configuration item
information, refer to configuration item
ReceiveDtmfSensitive
ReceiveDtmfSensitive
High 8 bits and low 8 bits
Sets the magnitude of the DTMF signal generated
respectively indicate the two
2 F_TXDTMFAMP by the DTMF generator, with the default value of
frequency magnitudes of the
0X8976.
DTMF signal.
Sets the minimum duration for MFC R2 signal. For Range of value: 16~96 ( Must
5 F_RXR2FILTERTIME more information, refer to the configuration item be integer times of 16 ).
RxR2FilterTime. Calculated by ms.
Sets the DTMF clamping function. For more
=0: Disabled
9 F_ClearInVoiceOnRcvDtmf information, refer to the configuration item:
=1: Enabled
ClearInVoiceOnRxDtmf .
Sets whether to use the output signal of ‘off-bus
nType mixer” as the incoming signal source of ‘onto-bus
lPara mixer’. This function only supports SHT Series =0: No
10 F_MixerResToBus
( 8/16 Channels) and SHD Series voice boards. =1: Yes
For more information, refer to the switch of K1-2 in
the corresponding voice board’s principle diagram.
Sets the proportion between the high-frequency
Refer to the description of the
energy and the low-frequency energy in the DTMF
11 F_HighAndLowFreqEnScale configuration item
signal. For more information, refer to the
HighAndLowFreqEnScale .
configuration item HighAndLowFreqEnScale.
Sets the threshold percentage of the in-band
energy in the overall frequency energy in the Refer to the configuration item
12 F_DualAndAllFreqEnScale
DTMF signal. For more details, refer to the of DualAndAllFreqEnScale .
configuration item DualAndAllFreqEnScale .
Sets whether to disable the echo-canceller when
=0: Disabled
the FSK receiver is working. For more details,
13 F_EchoCancelInFsk =1: Enabled
refer to the configuration item
FskEchoCancelDelay.
=0: Onto bus (default)
17 F_ClearInVoiceOnRcv450Hz Sets whether to put tones onto bus.
=1: Not onto bus
=0: No threshold value
18 FSKMinGate Sets an energy threshold value for FSK receiving.
n(n>0): The set threshold value
Return Value:
-1 Call Failed, this function is not supported
0 Call failed, the failure reason can be obtained from the function SsmGetLastErrMsg
1 Successful
Function Description
Note:
Related Information:
Driver Version SynCTI Ver. 4.0.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetFlag
2.1.7.2 SsmGetFlag
Format:
int SsmGetFlag(int ch, int nType, long* plValue)
Parameter Description:
ch Channel Number
nType: selects the parameter type to be set. For the value of the parameters, refer to the description
of the functions. plValue returns the parameter’s setup value.
Below are the physical meanings of nType and plValue.
nType
Description
Value MACRO in shpa3api.h
1 F_RCVDTMFSENS
2 F_TXDTMFAMP
5 F_RXR2FILTERTIME
9 F_ClearInVoiceOnRcvDtmf For more details, refer to the function SsmSetFlag.
10 F_MixerResToBus
11 F_HighAndLowFreqEnScale
12 F_DualAndAllFreqEnScale
plValue returns the detailed reason that the driver transfers the
channel state to the state of S_CALL_WAIT_REMOTE_PICK, i.e,
nType
the type of the message which is received from remote PBX:
plValue
15 F_ISDNNet_WaitRemotePickup plValue=4:CALL PROCEEDING;
plValue=5:ALERTING;
plValue=6:CONNECT;
Note: This function requires SynCTI version 4.7.1.5 or above.
17 F_ClearInVoiceOnRcv450Hz
18 F_FSKMinGate
19 F_RECTOFILEA_CALLBACKTIMEA
20 F_CALLERIDTYPE
21 F_InVoiceToBusA
Refer to the description of the function SsmSetFlag for details.
22 F_EchoCancelInFskA
23 F_ChToRingingOnRingCntA
24 F_SetAdjustCtlA
25 F_RCVPHONUMHOLDUPA
26 F_RELATIVEENGYHOOKDETECTA
Return Value:
-1 Call failed, the failure reason can be acquired from the function SsmGetLastErrMsg.
0 Successful.
Function Description:
Obtains the status of the functional switch on the channel.
Note:
Related Information:
Driver Version SynCTI Ver. 4.0.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetFlag
2.2.1.1 SsmWaitForEvent
Refer to SsmWaitForEventA.
2.2.1.2 SsmWaitForEventA
Obtain the events thrown out by the Synway driver program. SsmWaitForEvent and SsmWaitForEventA are
asynchronous functions. If there are events generated, these functions will return immediately; if there are no
events generated, the caller’s thread will be blocked and these functions will not return until there are events
generated or timeout.
Format:
Parameter Description:
Set the operating mode of the function SsmWaitForEvent(), the value range:
0: SsmWaitForEvent works under the synchronization mode, i.e, the function
will return immediately regardless of whether there are events or not. In
this mode, SsmWaitForEvent and SsmGetEvent perform a same
function.
dwTimeOut 0xffffffff: If there are no events, the function will get suspended and not return until
there are events generated.
Others: Set the maximum waiting time, calculated by millisecond. When waiting
for events, if there are events generated, the function will return
immediately; if there are no events, the function will not return until the
waiting time exceeds the set value of dwTimeOut.
The pointer to the MESSAGE_INFO(pEvent) structure or the
pEvent SSM_EVENT(pEventEx) structure, used to return the event information, and valid
pEventEx only when the return value of the function is 0. For more information, refer to
‘MESSAGE_INFO’ or ‘SSM_EVENT’ in Chapter 1.
Return Value:
In any of the following situations:
API interfaces are unopened;
-2
The event polling mode is not set as the programming mode;
In-memory message queues are unallocated.
-1 Timeout
There are events generated and the event information is returned by pEvent or
0
pEventEx.
Function Description:
Obtain the events thrown out by the Synway driver program. If the event buffer of the driver is not empty,
SsmWaitForEvent or SsmWaitForEventA will return immediately; if there are no events available, the function will
wait for the events and not return until the waiting time exceeds the set value of dwTimeOut.
Note:
z The functions can be invoked successfully only when the driver is working under the event polling mode.
z When MESSAGE_INFO is used, only SsmWaitForEvent can be invoked successfully. When
SSM_EVENT is used, only SsmWaitForEventA can be invoked successfully.
z Functions SsmWaitForEvent and SsmWaitForEventA are the same except for the data structures of the
output events. SsmWaitForEventA is usually used for the D-channel event programming of the DST
Series boards.
Related Information:
SynCTI Ver. 4.0 or above for SsmWaitForEvent
Driver Version
SynCTI Ver. 4.7.3.0 or above for SsmWaitForEventA
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetEvent
2.2.1.3 SsmGetEvent
Refer to SsmGetEventA.
2.2.1.4 SsmGetEventA
Obtain the events thrown out by the Synway driver program. SsmGetEvent and SsmGetEventA are synchronous
functions which will return immediately regardless of whether there are events generated or not.
Format:
int SsmGetEvent(PMESSAGE_INFO pEvent)
int SsmGetEventA(PSSM_EVENT pEventEx)
Parameter Description:
The pointer to the MESSAGE_INFO(pEvent) structure or the
pEvent SSM_EVENT(pEventEx) structure, used to return the event information and valid
pEventEx only when the return value of the function is 0. For more information, refer to
‘MESSAGE_INFO’ or ‘SSM_EVENT’ in Chapter 1.
Return Value:
In any of the following situations:
API interfaces are unopened;
-1
The event polling mode is not set as the programming mode;
There is no event output.
There are events generated and the event information is returned by pEvent or
0
pEventEx.
Function Description:
Note:
z The function can be called successfully only when the driver is working under the event polling mode.
z When MESSAGE_INFO is used, only SsmGetEvent can be called successfully. When SSM_EVENT is
Related Information:
SynCTI Ver. 4.0 or above for SsmGetEvent
Driver Version
SynCTI Ver. 4.7.3.0 or above for SsmGetEventA
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetEvent
2.2.2.1 SsmSetEvent
Sets the event output mode of the driver program and permits or forbids the driver to output one particular event.
Format:
int SsmSetEvent(WORD wEvent, int nReference, BOOL bEnable, PEVENT_SET_INFO pEventSet)
Parameter Description:
Selects the event and the range of values:
0~0xfffe: Event code. For the value range of values, refer to MESSAGE_INFO in
Chapter 1. The function SsmSetEvent informs the driver program whether to
throw out a specified event or not.
wEvent 0xffff: Sets the working mode of the driver program, i.e. the event polling mode and
the event callback mode, where the parameter nReference must be -1. The
event queue depth in the driver can be set with the configuration item
MaxEventPerChannel. For more information, please refer to ‘Setting Event
Output Mode’ in Chapter 1.
The reference value of the event. If wEvent=0xffff, this parameter must be -1, used to
set the working mode for the whole driver; if wEvent≠oxffff, the physical meaning of
nReference depends on the type of wEvent as shown in the following list:
The meaning of nReference and it’s range of
wEvent
values
The logical number of the digital trunk:
nReference=-1: Sets all the digital trunks in the system.
E_CHG_ISDNStatus
0≤nReference≤M-1: Sets the digital trunk designated by
E_CHG_PcmLinkStatus
E_CHG_RemotePCMBlock this parameter.
Note: M is the total number of the digital trunks in
the system.
E_RCV_Ss7Msu 0-Reserved
E_RCV_Ss7SpyMsu 0-Reserved
nReference DPC number:
E_CHG_Mtp3State nReference=-1: Sets all the DPCs in the system.
0≤nReference≤M-1: Sets the DPC designated by this
parameter.
Timer ID:
E_SYS_TIMEOUT nReference=-1: Sets all the timers in the system.
0≤nReference≤M-1: Sets the timer designated by this
parameter
Logical SpyCic number:
E_CHG_SpyState nReference=-1: Sets all the SpyCics in the system.
0≤nReference≤M-1: Sets the SpyCic designated by this
parameter
Logical SpyCic number:
E_CHG_SpyHangupInfo
nReference=-1: Sets all monitored circuits in the
system;
0≤nReference≤M-1: Sets the monitored circuits which
are specified by this parameter.
Virtual CIC number:
E_CHG_CICRxPhoNumBuf
E_CHG_CICState nReference=-1: Sets the virtual CIC in the system.
E_PROC_CICAutoDial 0≤nReference≤M-1: Sets the virtual CIC designated by
this parameter
Logical channel number:
nReference=-1: Sets all the channels (total is N) in the
Other Events system.
0≤nReference≤N-1: Sets the channel designated by this
parameter.
The control sign of the event output. When wEvent=0xffff and nReference=-1, if
bEnable=FALSE, the driver will by default not output any event; if bEnable=TRUE, the
driver will output an default event specified by DefaultEventOutput. When wEvent≠
bEnable
0xffff, the value range of bEnable is as follows:
=TRUE: Throws out wEvent;
=FALSE: Not throws out wEvent.
Pointer which points to the struct object of EVENT_SET_INFO. It’s used for setting up
the output conditions of the events. If the parameter wEvent=0xffff, this parameter can’t
be NULL. The declaration of the struct EVENT_SET_INFO is:
dwOutParamVal=MEM_OFFSET:
After a certain time period of voice playback, the driver throws out the event
E_PROC_PlayMem and outputs the play pointer (i.e., the offset in the buffer)
in the driver. The time length (ms) is specified by dwOutCondition.
dwOutParamVal=MEM_BYTES:
After playing a certain amount of voice-data bytes, the driver throws out the
event E_PROC_PlayMem and outputs the play pointer (i.e., the offset in the
buffer) in the driver. The amount of the bytes is specified by dwOutCondition
(default value may be 64).
When wEvent=0xffff and nReference=-1, dwOutParamVal will be automatically set
to MEM_OFFSET and dwOutCondition will be set to 64 ms.
wEvent = E_PROC_RecordFile:
dwOutCondition is set to be the time interval (ms) that the driver throws out the
event E_PROC_RecordFile (default value may be 1000).
dwOutParamVal is set to be the types of output values, the optional values are:
=RECORD_TIME: Outputs the time (ms) spent on the finished recording;
=RECORD_BYTES: Outputs the total finished recorded bytes( bytes).
When wEvent=0xffff and nReference=-1, dwOutCondition will be automatically
set to 1000 and dwOutParamVal set to RECORD_TIME.
wEvent = E_PROC_RecordMem:
dwOutParamVal=END_HALF_BUFFER:
When the record pointer gets across the middle position or the tail part of the
recording buffer, the driver throws out the event E_PROC_RecordMem. If the
record pointer points to the front part of the buffer, the output value is -1; If the
pointer points to the rear part, the output value is -2.
dwOutParamVal=END_BUFFER:
When the record pointer in the driver gets across the tail part of the buffer, the
driver throws out the event of E_PROC_RecordMem and the output value is
-2.
dwOutParamVal=MEM_OFFSET:
After a certain time period of voice recording, the driver throws out the event
E_PROC_RecordMem and outputs the record pointer (i.e., the offset in the
buffer) in the driver. The time length (ms) is specified by dwOutCondition.
dwOutParamVal=MEM_BYTES:
After recording a certain amount of voice-data bytes, the driver throws out the
event of E_PROC_RecordMem and outputs record pointer (i.e., the offset in
the buffer) in the driver. The bytes number is specified by dwOutCondition
(default value may be 64).
When wEvent=0xffff and nReference=-1, dwOutParamVal will be automatically
set to MEM_OFFSET and dwOutCondition will be set to 64 ms.
wEvent = E_OverallEnergy:
When the change range of the full-frequency energy exceeds the set value of
dwOutCondition (default value may be 1000) the driver throws out the event
E_OverallEnergy. dwOutParamVal is reserved and unused. When wEvent=0xffff
and nReference=-1, dwOutCondition will be automatically set to 1000.
wEvent = E_CHG_PeakFrq:
When the change range of the peak frequency exceeds the set value of
dwOutCondition (default value may be 100), the driver throws out the event
E_CHG_PeakFrq. dwOutParamVal is reserved and unused. When wEvent=0xffff
and nReference=-1, dwOutCondition will be automatically set to 100.
wEvent = Other events:
Both of dwOutParamVal and dwOutParamVal are reserved and unused. They
can be set to be 0.
Return Value:
-1 Failed
0 Successful
Function Description:
If wEvent=0xffff, this function is used to set the event output mode for the driver. For more information about the
output mode supported by the SynCTI driver, refer to ‘Setting Driver Event Output Mode’ in Chapter 1.
If wEvent≠0xffff, this function is used to permit or forbid the driver to output one particular event. If there are some
output parameters, they should be set. First set the output mode for the event. Then adjust the output rule for an
undetermined event.
Notes:
z After the SynCTI driver is started, it automatically works under the polling mode. If the programming is done
in the event polling or event callback mode, this function must be invoked to change the driver’s event
output mode after driver initialization.
z If wEvent=0xffff, the application can call this function only once and the parameter pEventSet can’t be NULL
otherwise the function returns failure.
z If wEvent≠0xffff, pEventSet can be NULL. If pEventSet is not NULL, its member variable dwWorkMode
must be consistent with the previous set event output mode. At present, the driver does not support different
modes to output multiple events.
Related Information:
Driver version SynCTI Ver.4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmWaitForEvent, SsmWaitForEventA, SsmGetEvent, SsmGetEventA, SsmPutUserEvent,
SsmPutUserEventA
Sample Code: Refer to ‘Programming demo for event polling mode’ or ‘Programming demo for event callback
mode’ in chapter 1.
2.2.3.1 SsmGetEventMode
Format:
int SsmGetEventMode(WORD wEvent, int nReference, PWORD pwEnable, PEVENT_SET_INFO pEventSet)
Parameter Description:
Event code:
wEvent Regarding the value range, refer to the section MESSAGE_INFO in Chapter 1. Note
that the value can not be 0xffff.
The reference value of the event:
nReference The physical meaning of nReference varies on the type of wEvent, just as the
parameter nReference in the function SsmSetEvent. However, its value can not be -1.
Stores the flag to control the event output. Value range:
pwEnable =TRUE: Output wEvent;
=FALSE: Not output wEvent
The point that points to the objects which have the EVENT_SET_INFO structure. It is
pEventSet used to save the event output condition set by the function SsmSetEvent. See
SsmSetEvent for the EVENT_SET_INFO structure declaration.
Return Value:
-1 Failed
0 Successful
Function Description:
Obtains the driver event output mode set by the application.
Note:
z When this function is called to get the appplication’s event programming mode, an event code but 0xffff
should be assigned to the parameter wEvent .
Related Information:
Driver version SynCTI Ver.4.8.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetEvent
2.2.4.1 SsmPutUserEvent
Refer to SsmPutUserEventA
2.2.4.2 SsmPutUserEventA
Appends the application defined events to the internal event queue of the driver.
Format:
int SsmPutUserEvent( WORD wEvent, int nReference, DWORD dwParam)
int SsmPutUserEventA(PSSM_EVENT pEvent)
Parameter Description:
User-defined event code. Note: The user-defined event code should not be the
wEvent same as the event code defined by the driver. Suggestion: Set the starting event
code value to be 0xfffe and reduce it gradually.
Event output reference. It will be transparently passed back to the application via the
nReference
internal event queue of the driver.
Event output parameter. It will be transparently passed back to the application via the
dwParam
internal event queue of the driver.
Pointer pointing to the struct object SSM_EVENT. It inputs the event information to the
pEvent driver. The struct object pointed by pEvent will be transparently passed back to the
application via the internal event queue of the driver.
Return Value:
-1 Failed.
0 Successful.
Function Description:
Appends the application defined events to the internal event queue of the driver. Function SsmPutUserEvent and
SsmPutUserEventA have the same functions except for the different data structures of the event.
SsmPutUserEventA is normally used for the D-channel event programming of the DST Series board.
The driver puts the events submitted by the application in a temporary buffer in advance and appends the events to
the event output queue of the driver when the hardware interrupt occurs. The configuration item
MaxUserEventSize is used to set the depth of the temporary buffer.
Note:
z This function can only be invoked under ‘event polling’ programming mode. For more information about
event polling mode, refer to ‘Setting Driver Event Output Mode’ in chapter 1.
z When MESSAGE_INFO is used, only the function SsmPutUserEvent can be used. When SSM_EVENT
is used, only the function SsmPutUserEventA can be used.
z If the configuration MaxUserEventSize is set to be 0, the function returns failure immediately.
Related Information:
SsmPutUserEvent requires SynCTI Ver. 4.0 or above;
Driver version
SsmPutUserEventA requires SynCTI Ver. 4.7.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmWaitForEvent, SsmWaitForEventA, SsmGetEvent, SsmGetEventA
2.3.1.1.1 SsmSearchIdleCallOutCh
Searches for an idle channel in the channels which are able to make outgoing calls.
Format:
Parameter Description:
Specify the searching mode based on the bit value:
Bit Description
Whether to search among analog trunk channels.
Bit0
=1: Yes; =0: No
Whether to search among SS1 channels.
Bit1
=1: Yes; =0: No
Whether to search among TUP channels.
Bit2
=1: Yes; =0: No
Whether to search among ISDN channels (user side).
Bit3
=1: Yes; =0: No
Whether to search among ISDN channels (network side).
Bit4
=1: Yes; =0: No
wSearchMode
Whether to search among ISUP channels.
Bit5
=1: Yes; =0: No
Whether to search among those TUP channels corresponding to the
Bit6 specified signaling link set.
=1: Yes; =0: No
Whether to search among those ISUP channels corresponding to the
Bit7 specified signaling link set.
=1: Yes; =0: No
Whether to search among SIP channels.
Bit8
=1: Yes; =0: No
Bit9 Reserved
Bit10 Whether to search among those SS7 channels corresponding to the
specified PCM.
=1: Yes; =0: No
Whether to search among those ISDN channels corresponding to the
Bit11 specified PCM.
=1: Yes; =0: No
Whether to specify the searching range among ISDN channels or SIP
Bit12 channels.
=1: Yes; =0: No
Bit15~Bit13 Reserved and should be set to 0.
Bit6 or Bit7 in wSearchMode (TUP or ISUP channel) set to 1: Select a signaling link set;
Bit10 or Bit11 in wSearchMode (SS7 or ISDN channel) set to 1: Select a logical PCM
number;
dwPrecedence
Bit12 in wSearchMode set to 1: The 16 lower bits indicate the start channel and the 16
higher bits represent the end channel.
Other types of channels: Set to 0.
Return Value:
-1 Failed. The failure reason can be acquired from the function SsmGetLastErrMsg.
≥0 The channel number which has been searched out.
Function Description:
Searches for an idle channel in the channels which are able to make outgoing calls. The driver maintains an idle
channel queue.
Note:
z After this function is invoked, the channel state will remain idle for analog trunk channels, or turn into
‘outgoing call locked’ for ISDN, SS7, SS1 and SIP channels.
z To search channels in SS1, ISDN protocols, follow the time slots of E1 trunks in a 0, 1, 2, 3...31 sequence
(except TS0 and TS16);
z To search channels in SS7 protocol, follow the size of OPC and DPC configured by this E1;
z The party with a large point code controls even time slots. To search channels, follow the even time slots
in a 0, 2, 4, …, 30, 31, 29, 27, …, 1 sequence (except TS0, TS1 and TS16);
z The party with a small point code controls odd time slots. To search channels, follow the odd time slots in
a 1, 3, 5, …, 31, 30, 28, 26, …, 0 sequence (except TS0, TS1 and TS16).
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAutoDial, SsmChkAutoDial
2.3.1.2.1 SsmAutoDial
Refer to SsmAutoDialEx
2.3.1.2.2 SsmAutoDialEx
Submits the AutoDial task to the driver to start an outgoing call. This function can set the address indicator in the
calling line identification field in the TUP protocol (which can also be set by the configuration item CallerAddrInd),
and is normally used for TUP channels.
Format:
int SsmAutoDial(int ch, LPSTR szPhoNum)
int SsmAutoDialEx(int ch, LPSTR szPhoNum, WORD wParam)
Parameter Description:
ch Channel Number
The pointer pointing to the buffer storing the called party number, with a maximum
length of 50.
z Analog trunk channel: If the character in szPhoNum is neither standard DTMF
character nor a designated flash character, it will be considered as a delay
character. For more information about the flash character and delay character,
refer to the function SsmTxDtmf.
z SS1 channel, TUP/ISUP channel and ISDN channel: the valid phone number must
be digital characters between ‘0’ ~ ‘9’ and any non-digital character will be ignored
szPhoNum by the driver.
z SIP channel: [“display-name” <][sip:/sips:][user@]host[:port][>]
a) display-name: local alias, with the default setting of NULL
b) sip:/sips: : the default setting is sip:. The setting sips: means to transmit the
sip message in encryption mode
c) user: user name, with the default setting of NULL
d) host: allowed to be host name, IPv4 address or registered SIP server
domain name
e) port: with the default value of 5060
This parameter is only applicable to the TUP channel.
The 4 higher bits should be set to be 0 and the 4 lower bits (namely DCBA) are valid.
Bit(s) Meaning Value Description
00 Local subscriber number
Nature of Address 01 Spare national number
BA
wParam Indicator 10 Valid national number
11 International number
Calling party number 0 Presentation unrestricted
C
presentation indicator 1 Presentation restricted
Calling party number 0 Not incomplete
D
incomplete indicator 1 Incomplete
Return Value:
-1 Failed. The failure reason can be acquired from the function SsmGetLastErrMsg.
0 Successful.
Function Description:
After the AutoDial task is started, the channel state machine automatically initiates an outgoing call connection. For
related information, refer to the channel state transfer introductions in this manual.
If there is any progress with the outgoing call, the driver throws out the event E_PROC_AutoDial to the application.
The application may also inquire the call progress status via the function call of SsmChkAutoDial. Because the call
progress will be represented by the channel state transfer, the application can obtain the progress status of the
AutoDial task by inquiring the channel state transfer information via the event E_CHG_ChState or the function
SsmGetChState.
¾ ISUP Channel
The driver originates an outgoing call with the IAM message. There are two methods to compose an IAM
message.
(1) Automatically composed by the driver. Some fields of the IAM message can be customized by the following
methods:
Field Method
[1]
Nature of connection indicator Change the configuration item DefaultNatureOfConnectionInd.
[1]
Forward call indicator Change the configuration item DefaultIAM_ForwardCallInd.
[1]
Calling party category Change the configuration item DefaultIAM_CAT or invoke the function SsmSetISUPCAT.
Transmission medium requirement
[1] Change the configuration item DefaultIAM_TransmissionMediumRequirment.
indicator
The first and second 8-bit group in the field can be set by the configuration item
[2] DefaultIAM_CalleeParam or the function SsmSetIsupFlag which has the parameter
Called party number
ISUP_PhoNumParam; The follow-up 8-bit group (i.e. the phone number) can be set by the
parameter szPhoNum of the function SsmAutoDialEx.
The first and second 8-bit group in the field can be set by the configuration item
DefaultIAM_CallerParam or the function SsmSetIsupFlag which has the parameter
[3]
Calling party number ISUP_CallerParam; The follow-up 8-bit group (i.e the phone number) can be set by the
configuration item CalloutCallerId or the function SsmSetTxCallerId. The configuration item
SetSTSignal decides whether to transmit ST signal in the calling party number.
The first and second 8-bit group can be set by the configuration item
[3]
Original called party number DefaultIAM_OriginalCalleeParam; The follow-up 8-bit group (i.e. the phone number) can be
set by the function SsmSetTxOriginalCallerID.
[3] The configuration item bSubscriberSI decides whether to include this field, the configuration
User service information
item SubscriberSI sets the value of this field.
[3] The configuration item bOptionalFCI decides whether to include this item, the configuration
Optional forward call indicator
item OptionalFCI sets the value of this field.
[3]
User to user information Changes the configuration item Usr2UsrInfo or calls the function SsmSetIsupParameter.
[3]
Other optional parameters To set other parameters, call the function SsmSetIsupParameter.
[1]
Note: In the above table, ISUP_CallerParam and ISUP_ PhoNumParam are declared in the header file Shpa3api.h. denotes essential
[2] [3]
length-fixed fields, denotes essential length-unfixed fields, denotes optional fields.
(2) The application itself creates an IAM message. Before invoking this function, the application itself can create an
IAM message and submit the IAM message to the driver via the function call of SsmSetIsupUPPara. When the
driver executes this function, it automatically covers the fields of SIO, DPC, OPC, SLC, CIC and the called party
number.
¾ TUP Channel
The TUP channel can use the IAI message or IAM message as the initial address message to originate an outgoing
call. Below are the functions and configuration items related with the IAM/IAI message:
Message
Related Function or Configuration Item Description
Type
Configuration item: ConnectReqMsg Decides which message to use, IAM or IAI
IAM
Configuration item: CalloutIAM_CAT Sets the Calling Party Category
IAI
Configuration item: CalloutIAM_MsgPntr Sets the field of the message indicator
IAI Function: SsmSetTxOriginalCallerID Sets the original calling party address
Configuration item: OriginalCalleeAddrInd Sets the original called party address indicator
Configuration item: CalloutCallerId
Sets the calling party number
Function: SsmSetTxCallerId
Sets the additional calling party information indicator and calling line
Configuration item: CallingIndicatorBit
identification indicator in the 8-bit group of the first indicator.
Configuration item: SetSTSignal Sets whether the calling party number parameter ends with ST signal.
Configuration item: CallerAddrInd Sets the address indicator in the calling line identification field
If, before the application calls SsmAutoDialEx , the function SsmSetTxOriginalCallerID is invoked to set the original
called party address, the driver only uses the IAI message to originate an outgoing call. The address indicator in
the original called party address field of the IAI message can be set via the configuration item
OriginalCalleeAddrInd.
¾ ISDN Channel
For the ISDN protocol, this function will trigger the driver to use the SETUP message to originate the outgoing call.
Below are the functions and configuration items related with the SETUP message.
Message
Related Function or Configuration Item Description
Type
Configuration item: UserCalledNoSet,
Sets the called party number type and the numbering plan
NetCalledNoSet
Configuration item: UserCallingNoSet,
Sets the calling party number type and the numbering plan
NetCallingNoSet
Configuration item: UserNumIsFull, Sets whether to include the parameter of "Called number complete"
NetNumIsFull in SETUP message.
Configuration item: UserChIdentify,
Sets the indication method for channel identification
NetChIdentify
Configuration item: UserChPreference,
Sets whether to allow the preferential channel selection
NetChPreference
Configuration item: CalloutCallerId Sets the calling party number (needs to be invoked before the call of
SETUP
Function: SsmSetTxCallerId this function)
Configuration item: UserHighLayerCompatible, Sets whether to include the "high layer compatibility" field in the
NetHighLayerCompatible SETUP message
Configuration item: UserLowLayerCompatible, Sets whether to include the "low layer compatibility" field in the
NetLowLayerCompatible SETUP message
Sets the calling party subaddress (needs to be invoked before the
Function: SsmISDNSetTxSubAddr
call of this function)
Sets the called party subaddress (needs to be invoked before the call
Function: SsmISDNSetDialSubAddr
of this function)
Function: SsmSetTxOriginalCallerID Sets the original calling party number
Function: SsmISDNSetCallerIdPresent Sets the ‘CallerID Present’ field
¾ SS1 Channel
For SS1 channel, when the driver is executing the Autodial task, the application can partially control the outgoing
call process via some functions or configuration items.
Related Function or Configuration Item Description
Function: SsmSetKA
Sets the calling party category (i.e. KA signal)
Configuration Item: MfcKA
Function: SsmSetKD
Sets the "Service nature of the original end" (i.e. KD signal)
Configuration Item: MfcKD
Configuration Item: CalloutCallerId
Sets the calling party (original end) number.
Function: SsmSetTxCallerId
¾ IP Channel
For IP channel, this function will trigger the driver to use a message specified by the protocol to start an outbound
call. To be exact, INVITE message is used for SIP channel. Functions related to these messages are listed below.
Message Type Related Function Description
The function call result can be obtained via SsmChkAutoDial. In unusual cases when the IP channel fails to dial and
the call of SsmChkAutoDial always returns 11, users can invoke SsmGetAutoDialFailureReason to get the exact
failure reason.
Note:
z This function only supports TUP, ISUP, SS1, ISDN, IP and analog trunk channels;
z TUP channel: Maximum length of dial number is 30;
z ISUP channel: Maximum length of dial number is 49;
z SS1 channel: Maximum length of dial number is 50;
z ISDN channel: Maximum length of dial number is 30;
z IP channel: Maximum length of dial number is 128.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAppendPhoNum, SsmChkAutoDial, SsmGetChState, SsmGetPendingReason
2.3.1.2.3 SsmAppendPhoNum
Format:
int SsmAppendPhoNum(int ch, LPSTR szPhoNum)
Parameter Description:
ch Channel Number
szPhoNum Pointer which points to the buffer storing phone number strings. For analog trunk
channel, if the character in szPhoNum is neither standard DTMF character nor
specified flash character, it will be regarded as the delay character; For SS1 outbound
trunk channel, any non-number characters will be ignored by the driver.
The maximum length of dial string is 50.
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg. .
0 Successful.
Function Description:
Appends the called party number to the AutoDial operation. For more detailed information, refer to the channel state
machine of each channel.
Note:
z This function only supports TUP, ISUP, SS1, ISDN and analog trunk channels;
z TUP channel: Maximum length of appended called party number is 16;
z ISUP channel: Maximum length of appended called party number is 50;
z SS1 channel: Maximum length of appended called party number is 50;
z ISDN channel: Maximum length of appended called party number is 20.
Related Information:
Driver version SynCTI Ver. 3.0or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAutoDial, SsmAutoDialEx
2.3.1.2.4 SsmChkAutoDial
Format:
int SsmChkAutoDial(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1: Call failed. Below are the meanings of other return values:
Return
Macro in shpa3api.h Description
Value
0 DIAL_STANDBY Channel is idle and not executing the AutoDial task.
1 DIAL_DIALING Sending the called party number.
Ringback.
Analog Trunk Channel: After Autodial, ringback tone is
detected on the line.
SS1 channel: During outgoing call, if the driver receives a
backward KB=1 or KB=6 signal from the remote PBX, the
2 DIAL_ECHOTONE
channel is idle.
ISDN channel: Indicates the driver receives the ALERTING
message from the remote PBX.
TUP/ISUP channel: Indicates that the address complete
message (ACM) has been received from the remote PBX.
If no dialtone is detected on the line, AutoDial failed. It’s only
3 DIAL_NO_DIALTONE
applicable to the analog trunk channel.
The called party is busy and Autodial failed.
4 DIAL_BUSYTONE For analogy trunk channel, it indicates that the busy tone has
been detected on the line.
After the Autodial, the line will go into silence after detecting the
5 DIAL_ECHO_NOVOICE ringback tone. Then the Autodial operation is terminated. It’s only
applicable to analog trunk channel.
After the Autodial, the line keeps silence without detecting
6 DIAL_NOVOICE ringback tones. Then the Autodial operation is terminated. It’s
only applicable to analog trunk channel.
7 DIAL_VOICE The called party picks up the call and the Autodial task is finished.
The called party picks up the call (the answer signal at F1
8 DIAL_VOICEF1 frequency detected) and the AutoDial is finished. It’s only
applicable to analog trunk channel.
The called party picks up the call (the answer signal at F2
9 DIAL_VOICEF2 frequency detected) and the AutoDial is finished. It’s only
applicable to analog trunk channel.
The called party doesn’t pick up the phone for a specified time
10 DIAL_NOANSWER interval and the Autodial fails. It is not applicable to SIP channels
on VoIP boards.
Note:
z This function does not support the station channel, magnet channel and recording channel.
z If the ISDN or IP channel fails to dial and this function call always returns 11, users can invoke
SsmGetAutoDialFailureReason to get the exact failure reason.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAutoDial, SsmAutoDialEx
2.3.1.2.5 SsmGetAutoDialFailureReason
Format:
int SsmGetAutoDialFailureReason(int ch)
Parameter Description:
ch Channel Number
Return Value:
Return
Macro Description
Value
-1 -1 Failed.
0 ATDL_NULL No outbound call operation.
1 ATDL_Cancel AutoDial is cancelled by the application
Waiting for answer from called party is overtime (for TUP
2 ATDL_WaitDialAnsTimeout
protocol only)
3 ATDL_WaitRemotePickupTimeout Waiting for off-hook signal from called party is overtime
10 ATDL_Mtp3Unusable SS7signaling: Signaling is unusable.
SS7 signaling: Receives SSB message from remote
11 ATDL_RcvSSB
PBX
SS7 signaling: Receives SLB message from remote
12 ATDL_RcvSLB
PBX
13 ATDL_RcvSTB SS7 signaling: Receives STB message from remote PBX
SS7 signaling: Receives UNN message from remote
14 ATDL_RcvUNN
PBX
15 ATDL_RcvSEC SS7 signaling: Receives SEC message from remote
PBX
SS7 signaling: Receives CGC message from remote
16 ATDL_RcvCGC
PBX
SS7 signaling: Receives NNC message from remote
17 ATDL_RcvNNC
PBX
18 ATDL_RcvCFL SS7 signaling: Receives CFL message from remote PBX
SS7 signaling: Receives LOS message from remote
19 ATDL_RcvLOS
PBX
20 ATDL_RcvSST SS7 signaling: Receives SST message from remote PBX
SS7 signaling: Receives ACB message from remote
21 ATDL_RcvACB
PBX
SS7 signaling: Receives DPN message from remote
22 ATDL_RcvDPN
PBX
SS7 signaling: Receives EUM message from remote
23 ATDL_RcvEUM
PBX
24 ATDL_RcvADI SS7 signaling: Receives ADI message from remote PBX
SS7 signaling: Receives BLO message from remote
25 ATDL_RcvBLO
PBX
26 ATDL_DoubleOccupy SS7 signaling: Collision is detected
SS7 signaling: Receives the circuit/group reset signal
27 ATDL_CircuitReset
from remote PBX
28 ATDL_BlockedByRemote SS7 signaling: The circuit is blocked by remote PBX
SS1 signaling: Waiting for the occupy acknowledge is
40 ATDL_SS1WaitOccupyAckTimeout
overtime
41 ATDL_SS1RcvCAS_HANGUP SS1 signaling: Receives the backward disconnect signal
42 ATDL_SS1RcvA4 SS1 signaling: Receives the A4 signal (Keys congestion)
SS1 signaling: Receives the A5 signal (Unallocated
43 ATDL_SS1RcvA5
number)
44 ATDL_SS1RcvUndefinedAx SS1 signaling: Receives undefined backward A signal
SS1 signaling: Receives undefined A signal during the
45 ATDL_SS1RcvUndefinedAxOnTxCallerId
transmission of Caller ID
SS1 signaling: Waiting for receiving backward A group
46 ATDL_SS1WaitAxTimeout
signal is overtime
SS1 signaling: Waiting for backward A group signal to
47 ATDL_SS1WaitAxStopTimeout
be stopped is overtime
SS1 signaling: Waiting for A signal is overtime during the
48 ATDL_SS1WaitAxTimeoutOnTxCallerId
transmission of Caller ID
SS1 signaling: Waiting for backward A signal to be
49 ATDL_SS1WaitAxStopTimeoutOnTxCallerId
stopped is overtime during the transmission of Caller ID.
SS1 signaling: KB2 signal is received (subscriber ‘local
50 ATDL_SS1RcvKB2
busy’)
51 ATDL_SS1RcvKB3 SS1 signaling: KB3 is received (subscriber ‘toll busy’)
52 ATDL_SS1RcvKB4 SS1 signaling: KB4 is received (keys congestion)
SS1 signaling: Receives KB5 signal (unallocated
53 ATDL_SS1RcvKB5
number)
54 ATDL_SS1RcvUndefinedKB SS1 signaling: Receives undefined KB signal
55 ATDL_SS1WaitKBTimeout SS1 signaling: Receiving backward KB signal is overtime
SS1 signaling: Waiting for remote end to stop sending
56 ATDL_SS1WaitKBStopTimeout
KB signal is overtime.
60 ATDL_ISDNNETISBUS ISDN: Network busy (no use any more)
61 ATDL_ISDNEMPTYNO ISDN: Unallocated number.
SS7 signaling: Receives the illegal message from remote
65 ATDL_IllegalMessage
PBX
ISUP: Receives Release message (REL) from remote
66 ATDL_RcvREL
PBX
67 ATDL_RcvCBK TUP: Receives CBK message from remote PBX
Note:
z So far the SynCTI driver does not support macros ATDL_IPRemoteBusy, ATDL_IPDnsFail,
ATDL_IPCodecUnSupport, ATDL_IPLocalNetworkErr and ATDL_IPRemoteNetworkErr.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAutoDial, SsmAutoDialEx
2.3.1.2.6 SsmSetTxCallerId
Sets the local end number (i.e. Caller ID) for an outgoing call.
Format:
int SsmSetTxCallerId(int ch, LPSTR pszTxCallerId)
Parameter Description:
ch Channel Number
z For SIP channels, pszTxCallerId sets the ‘displayname’ part in a complete SIP URI,
with the maximum size of 50. The format of a complete SIP URI is ”displayname”
<sip:user@host:port>;
z For other channels, this parameter stores the Caller ID in ASCII string format. To be
pszTxCallerId exact, the maximum size for TUP channels is 15 characters, for ISDN channels is
20 characters and for other types of channels is 50 characters. Each character
must be a digit among ‘0’~'9', otherwise it will be ignored.
z If the parameter pszTxCallerId is set to empty string the data stored in the interior
buffer will be cleared once this function is invoked.
Return Value:
-1 Failed
≥0 The number of the CallerIDs which have been actually sent out
Function Description:
Sets the local end number (i.e. Caller ID) for an outgoing call.
During an outgoing call, if the remote PBX requires the local end to send the Caller ID, the driver will automatically
Note:
z This function must be called before the function SsmAutoDial or SsmAutoDialEx is invoked. Once the
parameter value is set, it will be saved in the internal buffer area and used subsequently in the IAM
message. To cancel it, invoke this function again and set pszTxCallerId to an empty string. Then the sent
calling party number will be null.
z The configuration item TxCallerId for SS1 channel can implement the same feature. Its default setting is
an empty string.
z This function only supports SS1 channel, TUP channel, ISUP channel, ISDN channel and IP channel.
z For TUP and ISUP protocols, some PBXes require that the Caller ID sent by the calling party include ST
signal (Signal Termination), which can be set by the configuration item SetSTSignal.
z If the Caller ID has not successfully been sent due to the failure of the function call of SsmSetTxCallerId,
the function SsmAutoDial will send the Caller ID according to the definition of the configuration item
CalloutCallerId in the configuration file shconfig.ini. If the configuration item CalloutCallerId has a preset
number, this number will be sent to the called party as the Caller ID. If no number has been set, the
Caller ID will be null.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPhoNumLen, SsmAutoDial, SsmAutoDialEx
2.3.1.2.7 SsmGetTxCallerId
Format:
int SsmGetTxCallerId(int ch, LPSTR pszTxCallerId)
Parameter Description:
ch Channel Number
z Returns the character string set by SsmSetTxCallerId for SIP channel;
pszTxCallerId
z Returns the caller ID string for other channels.
Return Value:
-1 Failed
≥0 The total character number of pszTxCallerId
Function Description:
Obtains the Caller ID which is set by the local end.
Note:
z This function only supports SS1 channel, TUP channel, ISUP channel, ISDN channel and IP channel.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetTxCallerId
2.3.1.2.8 SsmSetTxOriginalCallerID
Sets the redirecting number or original CalleeID in the call setup message.
Format:
Parameter Description:
ch Channel Number
Pointer pointing to the string storing the original CalleeID (for ISUP or TUP protocol) or
pszTxCallerId
redirecting number (for ISDN protocol). The maximum total character number is 16.
Return Value:
-1 Failed
>=0 The actual length of redirecting number/CalleeID denoted by pszTxCallerId
Function Description:
During outgoing call, sets the redirecting number (for ISDN protocol) or original CalleeID (for ISUP or TUP protocol)
in the call setup message sent to the remote PBX.
Note:
z This function must be called before the function SsmAutoDial or SsmAutoDialEx. After the driver has
finished establishing the outgoing call setup message, this buffer area will be cleared.
z For the TUP channel, if this function is called before SsmAutoDial or SsmAutoDialEx are invoked, the
driver only uses IAI message to initiate the outgoing call. This function sets the original callee address of
the original callee address field in the IAI message and the configuration item OriginalCalleeAddrInd sets
the original callee address indicator.
z This function only supports the TUP channel, ISUP channel and ISDN channel.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAutoDial, SsmAutoDialEx
2.3.1.2.9 SsmSetTxRedirectingNum
Format:
Parameter Description:
ch Channel Number
Pointer which points to the string storing the redirecting number. The maximum total
pszTxredirectingNum
character number is 16.
Return Value:
-1 Failed
≥0 The actual length of redirecting number denoted by pszTxredirectingNum
Function Description:
Sets the redirecting number in the call setup message sent to the remote PBX during an outgoing call.
Note:
z This function must be invoked before the call of the function SsmAutoDial or SsmAutoDialEx.
z The values of the parameters once set will be saved in the interior buffer of the driver and will be used in
subsequent IAM messages.
z The parameters of this function will go invalid when the program is restarted and the configuration file is
reloaded.
z How to cancel: set the second parameter of this function to a null string, that is,
SsmSetTxRedirectingNum(CurCh, (LPBYTE)""). You can only cancel the number set by this function.
z For the ISUP channel, if this function is called before SsmAutoDial or SsmAutoDialEx, the driver only
uses IAM message to initiate the outgoing call. This function only sets the redirecting number in the IAM
message; other parameters like address indicator can be set by the configuration item
DefaultIAM_RedirectingNumber.
z This function only supports the ISUP channel now.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAutoDial, SsmAutoDialEx
2.3.1.2.10 SsmSetWaitAutoDialAnswerTime
Sets the maximum time waiting for the called party to pick up the call.
Format:
BOOL SsmSetWaitAutoDialAnswerTime(WORD wSeconds)
Parameter Description:
wSeconds Wait time (second)
Return Value:
FALSE Failed
TRUE Successful
Function Description:
Sets the maximum time waiting for the called party to pick up the call in an outgoing call.
Note:
z The configuration item MaxWaitAutoDialAnswerTime can implement the same feature.
z This function only supports the SS1 channel, TUP channel, ISUP channel, ISDN channel and analog
trunk channel.
Related Information:
2.3.1.2.11 SsmSetWaitAutoDialAnswerTimeEx
Sets the maximum time waiting for the called party to pick up the call on a designated channel.
Format:
Parameter Description:
ch Channel number
nSeconds Wait time (second)
Return Value:
-1 Failed
0 Successful
Function Description:
Sets the maximum time waiting for the called party to pick up the call on a designated channel during an outgoing
call.
Note:
z The parameter nSeconds must be larger than or equal to 0, otherwise the system will prompt error.
When nSeconds=0, the configuration item MaxWaitAutoDialAnswerTime or the function
SsmSetWaitAutoDialAnswerTime works; when nSeconds>0, this function
SsmSetWaitAutoDialAnswerTimeEx gets valid.
z This function supports the SS1 channel, TUP channel, ISUP channel, ISDN channel, IP channel and
analog trunk channel, but it is valid only when invoked before the function SsmAutoDial.
Related Information:
Driver version SynCTI Ver. 5.3.1.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related function: SsmSetWaitAutoDialAnswerTime
2.3.1.2.12 SsmGetWaitAutoDialAnswerTime
Obtains the preset maximum time waiting for the called party to pick up the call.
Format:
BOOL SsmGetWaitAutoDialAnswerTime(WORD* pwSeconds)
Parameter Description:
pwSeconds Returns the wait time (second)
Return Value:
FALSE Failed
TRUE Successful
Function Description:
Obtains the preset maximum time waiting for the called party to pick up the call during an outgoing call.
Note:
z This function only supports the SS1 channel, TUP channel, ISUP channel and ISDN channel.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetWaitAutoDialAnswerTime
2.3.1.2.13 SsmGetKB
Format:
int SsmGetKB(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
The detailed meanings of the called party’s state is related with the channel type and
call direction:
¾ Outgoing call:
SS1 Channel: Returns the value of the KB signal which is sent from the remote end to local end.
For detailed value and its meanings, refers to the description of function SsmSetKB.
TUP Channel: Returns the message indicator field (it includes 8 bits) in the ACM message
received from the remote PBX. For more information, refer to TUP protocol related
≥0 documents.
ISUP Channel: Returns the lower 8 bits of the backward call indicator field (it includes 2 bytes) in
the ACM message received from the remote PBX, for more information, refer to ISUP
protocol related documents.
ISDN Channel: Not supported.
¾ Incoming call: Returns the parameter value of the KB signal when the application
calls the function SsmSetKB, for more information, refer to the
description of the function SsmSetKB.
Function Description:
Obtains the called party’s state.
Note:
z For outgoing call, it’s recommended to invoke this function when the channel transfers to the state of
S_CALL_WAIT_REMOTE_PICKUP
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetKB
2.3.1.3.1 SsmSetKA
Format:
int SsmSetKA(int ch, BYTE btSigKA)
Parameter Description:
ch Channel Number
KA signal, range of value: 1≤btSigKA≤10, see below for the details:
KA signal’s content (including KOA)
KA Local office of Crossbar and SPC local office (including
Code step-by-step system quasi-electronic telephone switching system)
KA KA KOA
1 Period Period Period
User table, User table, User table,
2
Common immediate Common immediate Common immediate
Printer, Printer,
3 Printer, immediate
immediate immediate
4 Reserved Reserved Reserved
5 Common, no charge Common, no charge Common, no charge
6 Reserved Reserved Reserved
btSigKA
7 Reserved Reserved Reserved
8 Reserved Priority, period Priority, period
suburb call with right
automatically, toll
9 Reserved Reserved
without right
automatically
toll suburb call without
10 Priority, no charge Priority, no charge
right automatically
11
Reserved
12
13 Plan for test
14 Reserved
15 Reserved
Return Value:
-1 Failed
0 Successful
Function Description:
During outgoing call, sets the KA signal value (calling party category) of R2 signaling. For more information, refer to
‘China SS1 State Machine’ in Chapter 1.
Note:
z This function only supports the SS1 channel of the SHD Series board;
z This function needs to be called before the function SsmAutoDial or SsmAutoDialEx;
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetKA
2.3.1.3.2 SsmSetKD
Format:
int SsmSetKD(int ch, BYTE btSigKD)
Parameter Description:
ch Channel Number
Code value of the KD signal and its range of value is listed below:
KD Code Description
1 Toll operator semi-auto call
2 Toll auto call (phone communication or user fax, user data communication)
btSigKD
3 Local call (user calls semi-auto operator and international semi-auto operator)
4 Local user fax or user data communication and user with priority
5 Semi-auto callerID verification
6 Test call
Return Value:
-1 Failed
0 Successful
Function Description:
During outgoing call, sets the KD signal value (transmit end service nature). For more information, refer to ‘China
SS1 State Machine’ in Chapter 1.
Note:
z This function only supports the SS1 channel of the SHD Series board;
z This function needs to be called before the function SsmAutoDial or SsmAutoDialEx;
z The configuration item MfcKD can implement the same feature.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetKD
2.3.2.1.1 SsmChkOpCallerId
Format:
int SsmChkOpCallerId (int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 The designated channel doesn’t support receiving the callerID information
1 The designated channel supports receiving the callerID information
Function Description:
Queries whether a designated channel supports receiving the callerID information.
Note:
z Station channel and magnet channel doesn’t support this operation.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetCallerId
2.3.2.1.2 SsmGetCallerId
Refer to SsmGetCallerIdEx
2.3.2.1.3 SsmGetCallerIdA
Refer to SsmGetCallerIdEx
2.3.2.1.4 SsmGetCallerIdEx
Obtains the callerID information of the incoming call. SsmGetCallerId and SsmGetCallerIdA obtain the callerID
information stored in the basic buffer area; SsmGetCallerIdEx obtains the callerID information stored in the
extension buffer area and it’s only applicable to analog trunk channel and analog trunk recording channel.
Format:
int SsmGetCallerId(int ch, LPSTR szCallerId)
Parameter Description:
ch Channel Number
String pointer pointing to the buffer storing basic callerID information. The storage
szCallerId
space is allocated by the application and should be no less than 255 bytes.
String pointer pointing to the buffer storing extentional callerID information. The storage
space is allocated by the application and should be no less than 255 bytes.
szCallerIdEx Note: For analog trunk channel and analog trunk recording channel, the original
data of the callerID stored in szCallerIdEx is in FSK format, for more information,
refer to ‘Caller ID on Analog Phone Line’ in Chapter 1.
Return Value:
Function Name Return Value Description
SsmGetCallerId -1 Failed
SsmGetCallerIdEx ≥0 The length of the callerID information
NULL Failed
SsmGetCallerIdA String pointer pointing to the buffer storing the basic callerID
Other
information in the driver
Function Description:
During incoming call, obtains the callerID information stored in the internal buffer area.
For SS1 channel, if the configuration item MfcR2ToRxCallerIdBuf is set to 1, SsmGetCallerIdEx can obtain the R2
signal which is sent from the remote PBX and stored in the callerID extension information buffer of the driver. For
more information, refer to ‘China SS1 State Machine’ in Chapter 1.
¾ IP Channel
1) For a SIP channel, the CallerID obtained by this function is SIP URI (the From field in SIP message), shown in
the format: [sip:/sips:]user[@host[:port]].
Note:
z Station channel and magnet channel doesn’t support this operation.
Related Information:
Driver version SynCTI Ver.4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmClearCallerId, SsmClearCallerIdEx
2.3.2.1.5 SsmGetCallerName
Obtains the name string in the FSK caller information on the analog phone line.
Format:
Parameter Description:
ch Channel Number
Pointer which points to the buffer storing the name string. The buffer space is allocated
pszCallerName
by the application and should be no less than 50 characters.
Return Value:
-1 Failed
≥0 Returns the total number of characters in pszCallerName
Function Description:
Obtains the name string in the FSK caller information on the analog phone line. For more information, refer to
‘Caller ID on Analog Phone Line’ in Chapter 1.
Note:
z This function only supports the SHT Series analog trunk channel and ATP Series analog recording
channel.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetCallerId, SsmGetCallerIdA, SsmGetCallerIdEx
2.3.2.1.6 SsmClearCallerId
Refer to SsmClearCallerIdEx
2.3.2.1.7 SsmClearCallerIdEx
Format:
int SsmClearCallerId (int ch)
int SsmClearCallerIdEx(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 Successful
Function Description:
Clears the buffer area storing callerID information in the driver. SsmClearCallerId clears the basic buffer area and
SsmClearCallerIdEx clears the extension buffer area.
Note:
z This function supports all but ISDN and IP channels on SHD, ATP, DTP and DST series boards and the
analog trunk channels on SHT series boards.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.3.2.1.8 SsmGetKA
Format:
int SsmGetKA(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
Returns the ‘calling party category’. The detailed meanings are associated with
channel types.
SS1 channel: If it’s an incoming call, the return value is the KA signal value. For
more information, refer to the description of function SsmSetKA. If it's an outgoing
call, the returned value represents the ‘calling party category’ which is sent from
the local end to the remote end during the call progress.
ISUP channel: During the incoming call, the return value represents the
parameter value of ‘calling party category’ in the IAM message sent from the
remote PBX.
Return Value Description
≥0
9 National operator (for domestic use)
10 Ordinary subscriber, it’s used for toll to toll and toll to local office calls
11 Calling subscriber with priority
12 Data call (voice with data)
13 Test call
14 Payphone
15 Ordinary calling subscriber, it’s used for local office to local office calls
TUP Channel: During incoming call, the return value represents the parameter
value of ‘calling party category’ in the IAI/IAM message sent from the remote
PBX.
Function Description:
During incoming call, obtains the calling party category.
Note:
z This function only supports SS1 channel, TUP channel and ISUP channel;
z It’s recommended that the application invokes this function when the channel state is transferred to
S_CALL_RINGING.
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetKA, SsmGetCallerId, SsmGetChState
2.3.2.1.9 SsmGetKD
During incoming call, obtains the service nature of the original end.
Format:
int SsmGetKD(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Failed
Returns the value of the KD signal sent from the calling party. For more detailed
≥0
information, refer to the description of function SsmSetKD.
Function Description:
Obtains the KD signal value (i.e. the service nature of the initiator) from the calling party during an incoming call.
Note:
z This function only supports SS1 channels of SHD Series boards and the called party’s channels in the
SpyCic of DTP Series boards.
z It’s recommended that the application invokes this function when the channel state is transferred to
S_CALL_RINGING.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetChState
2.3.2.2.1 SsmGetPhoNumStr
Refer to SsmGetPhoNumLen
2.3.2.2.2 SsmGetPhoNumStrA
Refer to SsmGetPhoNumLen
2.3.2.2.3 SsmGetPhoNumLen
During incoming call, obtains the called party’s phone number information. SsmGetPhoNumLen gets the length of
the CalleeID; SsmGetPhoNumStr and SsmGetPhoNumStrA get the detailed CalleeID.
Format:
Parameter Description:
ch Channel Number
The pointer which points to the buffer storing the ASCII formatted CalleeID. The
pszPhoNum
storage space is allocated by the application and should be no less than 50 characters.
Return Value:
Return
Function Name Description
Value
SsmGetPhoNumStr -1 Failed
SsmGetPhoNumLen ≥0 The length of the CalleeID.
NULL Failed
SsmGetPhoNumStrA Returns the pointer which points to the buffer storing the CalleeID in the
Other
driver.
Function Description:
During incoming call, the remote PBX sends the call setup message to the local end. Upon receiving the message,
the driver separates the CalleeID from the message and stores it in the buffer. This function is applicable to obtain
the CalleeID in the buffer.
¾ IP Channel
1) For a SIP channel, the CalleeID obtained by this function is SIP URI (the To field in SIP message), shown in the
format: [“displayname“] [sip:/sips:]user[@host[:port]].
Note:
z SsmGetPhoNumLen and SsmGetPhoNumStr are only applicable to incoming calls on the SS1, TUP,
ISUP, ISDN and IP channel.
z SsmGetPhoNumStrA is only applicable to incoming calls on the SS1, TUP, ISUP and ISDN channel,
inapplicable to those on the IP channel.
z The length of the calleeID buffer in the driver is 50 characters. If the length of the received CalleeID
exceeds 50, the redundant number will be discarded.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Event: E_CHG_RxPhoNumBuf
2.3.2.3.1 SsmGet1stPhoNumLen
Refer to SsmGet1stPhoNumStrA
2.3.2.3.2 SsmGet1stPhoNumStr
Refer to SsmGet1stPhoNumStrA
2.3.2.3.3 SsmGet1stPhoNumStrA
Obtains relative information from the call setup message such as the redirecting number information for ISDN
channel, the original called party number information for TUP channel, and the original called party number/the
redirecting number information for ISUP channel. SsmGet1stPhoNumLen gets the length of the information;
SsmGet1stPhoNumStr and SsmGet1stPhoNumStrA get the information itself.
Format:
int SsmGet1stPhoNumStr(int ch, LPSTR pszPhoNum)
char *SsmGet1stPhoNumStrA(int ch)
int SsmGet1stPhoNumLen(int ch)
Parameter Description:
ch Channel Number
Pointer which points to the buffer area storing phone number strings. The storage
pszPhoNum
space is allocated by the application and should be no less than 50 characters.
Return Value:
Return
Function Name Description
Value
SsmGet1stPhoNumStr -1 Failed
SsmGet1stPhoNumLen ≥0 The length of the phone number string
NULL Failed
SsmGet1stPhoNumStrA Returns the pointer which points to the buffer storing the phone number
Other
in the driver.
Function Description:
During incoming call, obtains the called number information in the call setup message.
¾ ISDN Channel
Obtains the redirecting number information from the SETUP message.
¾ TUP Channel
Obtains the original called party number information from the IAI or IAM message.
¾ ISUP Channel
Obtains the original called party number information or the redirecting number information from the IAM message.
The configuration item SaveRGNTo1stPhoNumStr determines the type of the return value:
SaveRGNTo1stPhoNumStr is set to be 0: If there is an original called number field in the IAM message, it
returns original called party number information, otherwise, it returns NULL;
SaveRGNTo1stPhoNumStr is set to be 1: If there is only the redirecting number field in the IAM message,
this function returns redirecting number information. If there is only the original called number field, it
returns original called number information. If there are both, it returns the information contained in the latter
field of the message. For example, if these two fields are sequenced ‘redirecting number field | original
called number’, it returns the original called number information; If they are sequenced ‘original called
number | redirecting number field’, it returns the redirecting number information.
If it is required to obtain the redirecting number information and the original called number information separately
from the IAM message of the ISUP channel, use the function SsmGetIsupParameter.
Note:
z The length of the buffer in the driver is 50 characters. If the length of the received number exceeds 50,
the redundant number will be discarded.
Related Information:
Driver version SynCTI Ver.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetChState
2.3.2.4.1 SsmEnableAutoSendKB
Format:
Parameter Description:
ch Channel Number
=TRUE: Enable
bEnable
=FALSE: Disable
Return Value:
-1 Failed
0 Successful
Function Description:
Sets the ‘auto-receive inbound call’ feature.
Note:
z This function is only applicable to SHD Series boards.
z For SS1 inbound trunk channel, the parameters set by this function can also be set by the configuration
item AutoSendKB. For more information, refer to ‘China SS1 State Machine’ in Chapter 1.
z For ISUP/TUP channel, the parameters set by this function can also be set by the configuration item
AutoSendACM. For more information, refer to ‘ISUP Channel State Machine’ or ‘TUP Channel State
Machine’ in Chapter 1.
z For ISDN channel, the parameters set by this function can also be set by the configuration item
UserSideAutoSendAck (user side) or NetSideAutoSendAck (network side). For more information, refer
to ‘ISUP Channel State Machine’ in Chapter 1.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetKB, SsmGetAutoSendKBFlag
2.3.2.4.2 SsmGetAutoSendKBFlag
Format:
int SsmGetAutoSendKBFlag(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 Disabled
1 Enabled
Function Description:
Obtains the flag of the ‘auto-receive incoming call’ feature.
Note:
z This function is only applicable to SHD Series boards.
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmEnableAutoSendKB
2.3.2.4.3 SsmSetKB
During incoming call, sends backward answer message to the remote PBX and sets the called party’s state.
Format:
Parameter Description:
ch Channel Number
The called party state indicator. The detailed setting is related with the channel type.
¾ SS1 channel: btSigKB indicates the backward KB signal sent to remote PBX. Below
are the KB values:
KB
btSigKB
Received KD=1,2 or 6 Received KD=3 or 4
Called subscriber free
1 Called subscriber free
Circuit reset: independent control
2 Called subscriber ‘local busy’ Reserved
btSigKB 3 Called subscriber ‘toll busy’
4 Keys congestion Called subscriber busy or keys congestion
5 Unallocated CalleeID Unallocated CalleeID
Called subscriber free
6 Reserved
Circuit reset: Calling party control
¾ TUP channel: This parameter represents the TUP messages sent by the driver:
btSigKB Meanings Message Sent by the Driver
1 Called subscriber free, charge ACM
2 Called subscriber ‘local busy’ SLB
Return Value:
-1 Failed (Note: For the ISUP channel, it returns -1 or 0 if the call is failed)
0 Successful (Note: For the ISUP channel, it returns 1 if the call is successful)
Function Description:
During an incoming call, after the driver finishes receiving such information as calleeID based on the preset
number receiving rule, if the application disables the feature ‘Auto-reception of incoming call’ via the function
SsmEnableAutoSendKB or the configuration item AutoSendACM, the channel state will be transferred to
S_CALL_PENDING and the driver will give the control right back to the application. The application then sends the
backward answer message to the remote PBX and sets the called party’s state. The application can call this
function to accept or reject the current incoming call.
For more information, refer to related part in Chapter 1 according to the channel type.
SS1 channel: ‘China SS1 State Machine ’
Note:
z For ISUP channels, if the parameter bigSigKB is set to be 1, 6, or 7, the driver will send ACM message to
the remote PBX. The ACM message is constructed by the following method: If, before this function is
invoked, the function SsmSetIsupUPPara (with parameter C_ISUP_ACM) is called to submit a
self-constructed ACM message to the driver, this ACM message will be used; otherwise, the driver will
construct an ACM message automatically. For more information, refer to ‘ISUP Channel State Machine’ in
Chapter 1.
z For ISDN channels, SsmSetCharge can be used to set whether a call is charged or free of charge.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmEnableAutoSendKB
2.3.3.1 SsmGetChState
Format:
int SsmGetChState(int ch)
Parameter Description:
ch Channel Number
Return Value:
The return value -1 indicates call failed. Below are the meanings of other values.
Value MACRO in shpa3api.h State Description
S_CALL_STANDBY
0 idle
S_FAX_Wait
1 S_CALL_PICKUPED off-hook
2 S_CALL_RINGING ringing
3 S_CALL_TALKING talking
4 S_CALL_ANALOG_WAITDIALTONE Analog trunk channel: outgoing call, wait for dialing tone
5 S_CALL_ANALOG_TXPHONUM Analog trunk channel: outgoing call, dialing
6 S_CALL_ANALOG_WAITDIALRESULT Analog trunk channel: outgoing call, wait for dialing result.
7 S_CALL_PENDING pending . The pending cause can be got via function SsmGetPendingReason
8 S_CALL_OFFLINE off-line
9 S_CALL_WAIT_REMOTE_PICKUP Outgoing call, wait answer, wait called subscriber pickup
10 S_CALL_ANALOG_CLEAR Analog trunk channel: internal state
11 S_CALL_UNAVAILABLE channel unusable
12 S_CALL_LOCKED outgoing call locked
19 S_CALL_RemoteBlock blocked by remote
20 S_CALL_LocalBlock blocked locally
30 S_CALL_Ss1InWaitPhoNum SS1 Channel: receive called subscriber number
31 S_CALL_Ss1InWaitFwdStop SS1 Channel: wait remote PBX to stop sending forward signal
32 S_CALL_Ss1InWaitCallerID SS1 Channel: receive Caller ID
Function Description:
Note:
z In order to enhance the application’s operation efficiency, it’s recommended to use the event of
E_CHG_ChState to obtain the information of channel state changes.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetChStateKeepTime, SsmGetPendingReason
2.3.3.2 SsmGetChStateKeepTime
Retrieves the duration while the channel keeps in the current state.
Format:
Parameter Description:
ch Channel number
Return Value:
-1 Failed
≥0 The duration (ms) while the channel keeps in the current state
Function Description:
Retrieves the duration while the channel keeps in the current state.
More information can be obtained via the flexible implementation of this function:
z When the incoming call channel stays in the state of S_CALL_RINGING, this function can be used to
retrieve the ringing tone duration.
z When the current channel stays in the state of S_CALL_TALKING, this function can be used to retrieve
the call duration.
z When the outgoing call channel stays in the state of S_CALL_WAIT_REMOTE_PICKUP, this function can
be used to retrieve the time waiting for the called subscriber to pick up the phone.
Note:
z This function does not support VoIP boards.
Related Information:
Driver version SynCTI Ver.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetChState
2.3.4.1 SsmGetPendingReason
Obtains the detailed cause for the channel entering the state of S_CALL_PENDING.
Format:
int SsmGetPendingReason(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 represents a failed call, below are the meanings of other values.
Return Applicable Description
Macro
Value Channel Type
Analog trunk
0 ANALOGOUT_NO_DIALTONE Outgoing call failed: no dial tone detected
channel
Analog trunk
1 ANALOGOUT_BUSYTONE Outgoing call failed: busy tone detected
channel
Outgoing call: after the ringback tone is detected, the
Analog trunk
2 ANALOGOUT_ECHO_NOVOICE phone line keeps silence. The driver can’t determine
channel
whether the called subscriber picks up the phone
Analog trunk Outgoing call: after the ringback tone is detected, the
3 ANALOGOUT_NOANSWER
channel called subscriber doesn’t answer within the time
Function Description:
Obtains the detailed cause for the channel entering the state of S_CALL_PENDING.
Note:
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.3.5.1 SsmPickup
Refer to SsmPickupANX
2.3.5.2 SsmPickupANX
Executes the pickup operation on the channel. SsmPickupANX not only includes all the features of SsmPickup, but
also indicates the charge information of the called party in the answer message; however, it is only applicable to
the TUP and ISUP channels.
Format:
int SsmPickup(int ch)
int SsmPickupANX(int ch, int nANX)
Parameter Description:
ch Channel Number
=0: No indication
nANX =1: Charge
=2: Free of charge
Return Value:
-1 Failed
0 Successful
Function Description:
ISUP channel:
For ISUP channel, when the application calls this function, if the channel is in the ‘ringing’ state, based on the
settings of the configuration item DefaultCalledPickupMsg, the driver will send CON (address is complete and
pickup) or ANM (answer) message, in which the backward call indicator field can be set by the configuration item
DefaultBackwardCallInd, to the remote PBX. If the channel is in ‘idle’ or ‘blocked’ state, the driver will not send any
messages to the remote PBX.
ISDN channel:
For the ISDN channel, when the application calls this function, if the channel is in the ‘ringing’ state, the driver will
send CONNECT message to the remote PBX and start the Timer T313 simultaneously; then it will transfer the
channel state to S_ISDN_IN_WAIT_TALK. If the channel is in the state of ‘idle’ or ‘blocked’, the driver will not send
any messages to the remote PBX.
For the incoming calls in the analog trunk channel, when the application calls this function, if the channel is in the
state of S_CALL_RINGING and the ringing current stays at on state, in order to avoid the damage to the voice
board caused by the on-line ringing current voltage, the driver will not send the pickup command to the hardware
circuit. Only when the voltage of the ringing current turns to the off state will the driver execute the pickup
command and throw out the event E_SYS_ActualPickup to the application. The function SsmCheckActualPickup
can be used to check whether the pickup command has been finished.
IP Channel
An idle IP channel will turn into the ‘Outgoing Call Locked’ state after the call of this function. Then users can
invoke SsmHangup to send the channel back to the ‘Idle” state or invoke dial functions to call out. Invoking this
function for an IP channel which is in the ‘Ringing’ state means to accept the incoming call. When this function is
called for an IP channel in other states, it will return error.
Note:
z SsmPickup is applicable to SS1 channel, TUP channel, ISUP channel, ISDN channel, IP channel, analog
trunk channel and EM Control channel. SsmPickupANX is only applicable to TUP channel and ISUP
channel.
z For analog trunk channel, after the application calls this function, the driver will reset the ringing current
detector and also reset and start the tone detector.
Related Information:
SsmPickup requires SynCTI Ver. 3.0 or above
Driver version
SsmPickupANX requires SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmHangup, SsmHangupEx
2.3.6.1 SsmHangup
Refer to SsmHangupEx
2.3.6.2 SsmHangupEx
Sends the hangup command to the channel. SsmHangupEx can also send the information such as the cause of
hangup to the driver, but it is only applicable to ISUP channel.
Format:
int SsmHangup(int ch)
int SsmHangupEx(int ch, UCHAR ucCauseVal)
Parameter Description:
ch Channel Number
The cause of hangup release. For detailed values, refer to the description on ISUP
ucCauseVal
protocol.
Return Value:
Fail to hang up the call. The failure reason can be acquired via function
-1
SsmGetLastErrMsg.
0 Hangup operation succeeds.
Function Description:
Sends the hangup command to the channel. The exact driver behavior depends on the channel type.
¾ ISUP Channel
This function will trigger the driver to send REL (release) message to the remote PBX which can be used either to
reject the incoming call or to cancel the outgoing call. If the application calls SsmHangupEx, the release cause in
the REL message is determined by the parameter of ucCauseVal. If the application calls SsmHangup, the release
cause varies according to the channel state:
¾ TUP Channel
If the channel is in the state of S_CALL_RINGING, when this function is invoked, the application will reject the
incoming call and the driver will send the call rejection message to the remote PBX. The call rejection message
could be either CBK or CFL, which is determined by the configuration item HangupRingSendCBK.
¾ ISDN Channel
¾ IP Channel
If this function is called for an IP channel which stays in the ‘Outgoing Call Locked’ state, the channel
state will turn into idle;
If this function is called for a non-idle IP channel, the IP state machine will trigger different protocol
commands according to the current state and terminate the IP session.
Note:
z The function SsmHangupEx is applicable to ISUP channel, TUP channel, ISDN channel, analog trunk
channel and SS1 channel. The VoIP channel and the EM Control channel can only use the function
SsmHangup.
z For the ISDN channel, before invoking this function, the application can set the hangup reason via the
function SsmISDNSetHangupRzn.
Related Information:
SynCTI Ver. 2.0 or above
Driver version
SsmHangupEx: SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPickup, SsmPickupANX
2.3.7.1 SsmSetAutoCallDirection
Format:
int SsmSetAutoCallDirection(int ch, BOOL bEnAutoCall, int nDirection)
Parameter Description:
ch Channel Number
Whether the call is processed by the driver automatically.
bEnAutoCall =TRUE: Yes;
=FALSE: No. In this case, nDirection will be ignored.
Call direction, it’s valid only when bEnAutoCall is set to be TRUE. Range of Value:
nDirection =0: Only incoming calls supported;
=1: Only outgoing calls supported;
Note:
z This function only supports the SS1 and ISDN channels of SHD Series boards, and the SIP channel of
SHN Series boards.
z For the SS1 and ISDN channels of SHD Series boards, only when the channel is in the state of
S_CALL_STANDBY can this function be called. For the SIP channel of SHN Series boards, this function
can be called regardless of the channel state.
z This function has no effect on SS7 trunk channels. The call direction of SS7 channel can be set via
blocking functions if necessary. For more details, refer to the function SsmBlockLocalCh.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetChState, SsmGetAutoCallDirection
2.3.7.2 SsmGetAutoCallDirection
Format:
int SsmGetAutoCallDirection(int ch, int* pnDirection)
Parameter Description:
ch Channel Number
Returns the call direction, it’s valid only when bEnAutoCall is set to be TRUE.
Range of value:
=0: Only incoming call supported;
pnDirection
=1: Only outgoing call supported;
=2: Both incoming and outgoing call supported;
=3: Runtime under ISDN or TUP.
Return Value:
-1 Failed
0 In this channel, the call isn’t processed by the driver automatically.
1 In this channel, the call is processed by the driver automatically.
Function Description:
Obtains the call direction of the channel.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.3.8.1 SsmGetReleaseReason
Obtains the release cause value in the release message sent from the remote PBX.
Format:
WORD SsmGetReleaseReason(int ch)
Parameter Description:
ch Channel Number
Return Value:
0 Unknown reason
The cause value in the release message, the detailed message types and meanings
are related with the channel type.
¾ ISUP channel: Returns the release cause in REL message. For detailed
information, refer to Appendix 1 ISDN Release Cause Information Element. The
commonly used values are:
0x01: unallocated number
0x10: normal disconnection
0x11: user busy
0x12: no answer
>0
0x15: rejected
0x1c: incomplete address
0x1f: normal
0x2a: switching device congested
0x14: subscriber absent
0x16: number changed
¾ ISDN channel: Returns the ‘release cause information element’ field in the ISDN
release message. For detailed information, refer to Appendix 1 ISDN Release
Cause Information Element.
Function Description:
Obtains the release cause value in the release message sent from the remote PBX.
Note:
z Before processing the incoming call (i.e. when the driver receives a call setup message from the remote
PBX), the driver sets the release cause value to be 0.
z This function is only applicable to ISDN channel (including network side and user side) and ISUP
channel.
Related Information:
Driver version SynCTI Ver. 4.7.1.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.3.9.1 SsmSetCalleeHoldFlag
Format:
Parameter Description:
ch Channel Number
=TRUE: Enable
bFlag
=FALSE: Disable
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the ‘caller holding’ feature for the TUP channel. For more information, refer to ‘CALLER HOLDING Feature’ in
Chapter 1.
Note:
z This function is only applicable to the TUP channels of SHD Series board
z Only when the channel is in the state of S_CALL_TALKING, can this function be called.
z During the incoming call, before the driver transfers the channel to the state of S_CALL_TALKING, it
automatically disables the ‘caller holding’ feature.
Related Information:
Driver version SynCTI Ver. 4.7 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.3.9.2 SsmGetTupFlag
Obtains the value of the specified parameter or field in the TUP message.
Format:
int SsmGetTupFlag(int ch,int nType,DWORD *pdwParaValue)
Parameter Description:
ch Channel Number
Select the type of the parameter or field. Range of value:
=1(Tup_ANX): During an outgoing call, if the called subscriber accepts this call when the channel
stays in the S_CALL_WAIT_REMOTE_PICKUP state, the remote PBX will send the
nType
Answer Signal to the local end and the driver will transfer the channel state to
S_CALL_TALKING. At this point, the detailed answer message type can be obtained
via the parameter pdwParaValue.
Return value of the parameter or field. Detailed meaning is related with nType.
nType=Tup_ANX:
pdwParaValue 0x06:ANU Message (No indication)
0x16:ANC Message (Charge)
0x26:ANN Message (No charge)
Return Value:
1 Successfully obtains the message.
-1 Failed, the failure reason can be acquired via the function SsmGetLastErrMsg
Function Description:
Obtains the value of the specified parameter or field in the TUP message.
Note:
Related Information:
Driver version SynCTI Ver. 4.7.1.9 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: None
2.3.9.3 SsmSetTupParameter
Sets the optional parameters of the Tup message in the outgoing call channel.
Format:
int SsmSetTupParameter (int nBCh, UCHAR ucMsgTypeCode, UCHAR ucParamTypeCode, WORD wLength,
PUCHAR pucContent)
Parameter Description:
nBCh Channel Number
Message type. The range of value:
0x21: IAI message
ucMsgTypeCode
0x11: IAM message
Other: Reserved
Parameter type. The type value is related with the ucMsgTypeCode:
ucMsgTypeCode = IAI message:
0x00: the nature of address indicator for the original called party in IAI
0x01: Sets the calling party’s category field in the IAI message
ucParamTypeCode 0x02: Sets the address indicator for the calling line identification field in the IAI
message
ucMsgTypeCode = IAM message:
0x01: Sets the calling party’s category field in the IAM message
Other: Reserved
wLength The length of parameter’s content
pucContent Pointer pointing to the buffer area storing the content of the parameter
Return Value:
-1 Failure in parameter setting
0 Successful
Function Description:
Sets the optional parameters of the TUP message in the outgoing call channel. This function is only effective to the
nature of address indicator for the original called party in IAI, the address indicator for the calling line identification
field in IAI and the calling party’s category field in IAI/IAM . Relative configuration item: CalloutIAM_CAT.
Related Information:
Driver Version SynCTI Ver. 4.7.3.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:None
2.3.9.4 SsmGetTupParameter
Related Information:
Driver Version SynCTI Ver.5.3.1.2 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:None
2.3.10.1 SsmSetISUPCAT
Format:
int SsmSetISUPCAT(int nch, UCHAR ucCallerCAT)
Parameter Description:
nch Channel Number
ucCallerCAT Hexadecimal calling party category
Return Value: 0
Function Description:
Sets the calling party category in the ISUP IAM message. The parameters set by this function can also be set by
the configuration item DefaultIAM_CAT.
Note:
z This function should be called before calling the function SsmAutoDial or SsmAutoDialEx.
z The parameters set in this function will go invalid once the program is restarted and the configuration file
is reloaded.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.3.10.2 SsmSetIsupParameter
Sets the optional fields in the ISUP message sent from the local end to the remote PBX.
Format:
int SsmSetIsupParameter(int ch, UCHAR ucMsuType, UCHAR ucParamType, WORD wLength, PUCHAR
pucContent)
Parameter Description:
ch Channel Number
Message type. The range of value:
0x01: IAM message
ucMsuType
0X09: ANM message
Other: Reserved
Parameter type. The type value is related to the usMsuType:
ucMsuType= IAM message: set optional fields
ucMsuType= ANM message: set other optional fields except the following one:
ucParamType Backward call indicator
For the parameter type of each optional field, refer to Appendix 2 Optional ISUP Parameters and
Descriptions.
ucMsuType=other: reserved
Parameter length (byte). If ucMsuType=IAM, setting wLength to 0 means that the IAM
wLength
message no longer includes the optional fields designated by ucParamType
The content of the parameter. If ucMsuType=IAM, setting pucContent to a NULL string
pucContent means to remove the optional fields designated by ucParamType from the IAM
message. You can only remove the field set by this function.
Return Value:
-1 Failed
0 Successful
Function Description:
Sets the optional fields in the ISUP message sent from the local end to the remote PBX.
Note:
z If ucMsuType is set to be the IAM message, this function should be called before invoking the function
SsmAutoDial. Once the parameter value is set, it will be saved in the internal buffer area and used in the
subsequent IAM message. For the user to user information field in the IAM message, it can also be set by
the configuration item Usr2UsrInfo.
z The parameters set in this function will go invalid once the program is restarted and the configuration file
is reloaded.
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Sample code:
The redirection information field is added in the IAM message. The parameter type of the redirection information
field is 0x13, which contains 2 bytes. Below is the meaning of the first 8-bit group (namely HGFEDCBA, A is the
lowest bit) of the redirection information field:
2.3.10.3 SsmGetIsupParameter
Obtains the optional fields in the ISUP message sent from the remote PBX to the local end.
Format:
int SsmGetIsupParameter(int nBCh, UCHAR ucMsuType, UCHAR ucParamType, PUCHAR pucContent, WORD
wBufSize, LPWORD lpNumberOfBytesWritten)
Parameter Description:
nBCh Channel Number
Message type. Range of value:
0x01: IAM message
ucMsuType
0x06: ACM message
Others: reserved
z Fields of IAM message:
0xE3: Obtain the CIC field of the IAM message
0xE7: Obtain the TMR field of the IAM message
ucParamType 0xE8: Obtain the calling party subaddress of the IAM message
0xE9: Obtain the called party subaddress of the IAM message
z The type of the optional field. This value is related with ucMsuType. For more
information, refer to Appendix 2 Optional ISUP Parameters and Descriptions.
The pointer which points to the buffer area storing the content of the optional fields.
The buffer area for storage is allocated by the application and its length is
pucContent recommended to be 272.
Note: The returned information doesn’t include the code of the type (1 byte) and the
length (1byte) of the optional field.
wBufSize The length of pucContent (byte)
lpNumberOfBytesWritten The actual length (Byte) of the data which is written into pucContent by the driver.
Return Value:
-1 Failed
0 Successful
Function Description:
Obtains the optional fields in the ISUP message sent from the remote PBX to the local end.
Note:
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.3.10.4 SsmSetIsupFlag
Format:
int SsmSetIsupFlag(int ch, int nType, DWORD dwValue, PVOID pV)
Parameter Description:
ch Channel number
nType Choose the type of the parameter, below are the available values:
Note: All the constants used in the table are declared in the header file Shpa3api.h.
Return Value:
-1 Failed
1 Successful
Function Description:
Note:
z ISUP_IAM_TMR=4 is only supported by SynCTI Ver. 5.1.0.0 or above. ISUP_PhoNumRELEx=5 is only
supported by SynCTI Ver. 5.3.2.0 or above.
z When nType is set to ISUP_PhoNumREL, the operation of invoking SsmSetIsupFlag on the channel ch
to set user parameters only has an effect on the current call. When nType is set to other values, the
parameters set in this function will go invalid once the program is restarted and the configuration file is
reloaded.
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetIsupFlag
2.3.10.5 SsmGetIsupFlag
Format:
int SsmGetIsupFlag(int ch, int nType, DWORD *pd)
Parameter Description:
ch Channel number
nType Select the parameter type, for more details, refer to the function SsmSetIsupFlag.
*pd Parameter value, for more details, refer to the function SsmSetIsupFlag.
Return Value:
-1 Failed
1 Successful
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetIsupFlag
2.3.10.6 SsmGetIsupUPPara
Format:
Parameter Description:
nBCh Channel Number
Message Type
Macro in Message Corresponding with parameter
Value
wMsuType shpa3api.h pucContent
0x01 C_ISUP_IAM Initial address message (IAM)
0x06 C_ISUP_ACM Address complete message (ACM)
pwMsuSize Returns the actual length (bytes) of the message.
Pointer which points the buffer area storing the ISUP message. The buffer area is
pucRawMsu
allocated by the application and its length must be greater than or equal to 281 bytes.
Return Value:
1 Successful
Note:
z The ISUP message stored in the driver will be cleared up following the hangup of the ISUP call.
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetIsupUPPara
2.3.10.7 SsmSetIsupUPPara
Format:
Parameter Description:
nBCh Channel number
Message Type
Macro in The Message Corresponding to Parameter
Value
wMsuType shpa3api.h pucContent
0x01 C_ISUP_IAM Initial address message(IAM)
0x06 C_ISUP_ACM Address complete message (ACM)
The length (bytes) of the ISUP message (including SIO field), with the maximum length
pwMsuSize
of 281 bytes
pucRawMsu Pointer which points to the initial address of the message data
Return Value:
1 Successful
-1 Incorrect channel number
-2 Failed, the parameter wMsuType is out of bound
-3 Verification failed, the message content doesn’t qualify the ISUP protocol rules
Function Description:
Submits a self-constructed ISUP message to the driver.
Note:
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAutoDial, SsmAutoDialEx, SsmGetIsupUPPara, SsmSendIsupMsg
2.3.10.8 SsmSendIsupMsg
Format:
int SsmSendIsupMsg(int nBCh, WORD wMsuType)
Parameter Description:
nBCh Channel number
Message Type
Macro in
wMsuType Value Message Type
shpa3api.h
0x06 C_ISUP_ACM Address Complete Message (ACM)
Return Value:
1 Successful
-1 Incorrect channel number
-2 Failed, the parameter wMsuType is out of bound
-3 Failed in sending message
Function Description:
Sends one ISUP message to the remote PBX. The function SsmSetIsupUPPara must be called in advance so that
the ISUP message can be submitted to the driver.
Note:
z This function only supports ISUP channel.
z Only when the channel is in the S_CALL_PENDING state and the cause for pending is
PEND_WaitBckStpMsg, can this function be called.
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetIsupUPPara
2.3.10.9 SsmGetRedirectionInfReason
During incoming call, for ISUP channel, obtains the cause value of redirection from the received IAM message; for
ISDN channel, obtains the cause value of redirection from the received Setup message.
Format:
Parameter Description:
ch Channel number
Return Value:
-1 Failed
Cause value of redirection
0: Unknown/unavailable
1: User busy
2: No answer
≥0
3: Unconditional
4: Redirect the call when notified
5: Immediately redirect the call
6: Mobile subscriber unreachable
Function Description:
During incoming call, for ISUP channel, obtains the redirection reason from the received IAM message; for ISDN
channel, obtains the redirection reason of the information element Facility (0x1c) or Redirecting Number (0x74)
from the received Setup message. To obtain the redirection reason of which information element is determined by
the configuration item GetRedirectionReason.
Note:
Related Information:
SynCTI Ver. 5.3.0.3 or above (To obtain the redirection reason of the information
Driver version
element Facility (0x1c), SynCTI Ver. 5.3.2.3 or above is required)
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetIsupUPPara
2.3.10.10 SsmGetRedirectionInfNum
Format:
int WINAPI SsmGetRedirectionInfNum(int ch, LPSTR szRedirectNum)
Parameter Description:
ch Channel number
The pointer pointing to the buffer area storing the redirection number. The storage
szRedirectNum
space, allocated by the application, should be not less than 32 bytes.
Return Value:
≥0 Call successful. Returns the length of the redirection number (bytes)
-1 Call failed
Function Description:
Obtains the redirection number from an ISDN channel.
Note:
Related Information:
Driver version SynCTI Ver. 5.3.0.3 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.3.10.11 SsmIsHaveCpg
Refer to SsmGetCpg
2.3.10.12 SsmGetCpg
SsmIsHaveCpg checks whether ACM message is followed by the CPG message. If yes, SsmGetCpg retrieves the
original CPG message stored in the driver.
Format:
int SsmIsHaveCpg(int ch)
int SsmGetCpg(int ch, char* pszContent, int* piLength)
Parameter Description:
ch Channel Number
Returns the content of the CPG message. For detailed information about the CPG
pszContent
message, refer to relative documents of the ISUP protocol
piLength Returns the length of the CPG message
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg
SsmIsHaveCpg: no CPG message
0
SsmGetCpg: Successful
SsmIsHaveCpg: CPG message exists. Only when SsmIsHaveCpg returns 1 can the
1
function SsmGetCpg be invoked.
Function Description:
During outgoing call, after the remote PBX sends ACM message, it may continue sending the CPG message (call
progress). When the driver has received the CPG message, it saves the message in the internal buffer area. This
function checks whether the ACM message is followed by the CPG message.
Note:
z Only when the channel is in the S_CALL_WAIT_REMOTE_PICKUP state, can this function be called.
z When the following events happen, the driver automatically cleans the CPG message in the internal
buffer:
The channel is transferred to the S_CALL_STANDBY state.
Receives the ACM message from the remote PBX.
z This function only supports the ISUP channel.
Related Information:
Driver version SynCTI Ver. 4.7.1.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Event: E_CHG_ChState, E_RCV_Ss7IsupCpg
2.3.10.13 SsmIsupGetUsr
Format:
Parameter Description:
Note: none.
Related Information:
Driver Version SynCTI Ver. 4.7.3.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Event: E_RCV_Ss7IsupUtuinf
2.3.10.14 SsmIsupSendUsr
Format:
BOOL SsmIsupSendUsr(int ch, PUCHAR pucData, UCHAR ucLen)
Parameter Description:
ch Channel Number
pucData The data to be sent as the ‘user-to-user information’ in the USR message
ucLen The length of pucData, the defined valid value in the protocol is 2~130
Return Value:
1 Successful
Other Call failed
Function Description:
Sends the USR message.
Note: None.
Related Information:
Driver Version SynCTI Ver. 4.7.3.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Event:
The functions provided in this section are specially used for ISDN channel calls.
2.3.11.1.1 SsmISDNSetDialSubAddr
Refer to SsmISDNSetDialSubAddrEx
2.3.11.1.2 SsmISDNSetDialSubAddrEx
Sets the subaddress of the called party in the SETUP message during an outgoing call.
Format:
int SsmISDNSetDialSubAddr(int ch, LPSTR lpSubAddress)
int WINAPI SsmISDNSetDialSubAddrEx(int ch, LPBYTE lpSubAddressEx, UCHAR ucSubAddressLen)
Parameter Description:
ch Channel Number
The subaddress of the called party. It's comprised with characters ‘0’~'9', and
lpSubAddress the maximum length is 20 bytes. The storage space is allocated by the
application
The subaddress of the called party, including the subaddress type and the
lpSubAddressEx
buffer area storing the subaddress messages
The total length of the subaddress type and the buffer area storing the
ucSubAddressLen
subaddress messages
Return Value:
0 Successful
-1 Failed, the failure reason can be obtained by the function SsmGetLastErrMsg.
Function Description:
During outgoing call, sets the subaddress of the called party.
Note:
z This function must be called before SsmAutoDial is invoked.
z The parameters set in this function will go invalid once the configuration file is reloaded.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAutoDial
2.3.11.1.3 SsmISDNSetTxSubAddr
Refer to SsmISDNSetTxSubAddrEx
2.3.11.1.4 SsmISDNSetTxSubAddrEx
Sets the subaddress of the calling party in the SETUP message during an outgoing call.
Format:
int SsmISDNSetTxSubAddr(int ch, LPSTR lpSubAddress)
int WINAPI SsmISDNSetTxSubAddrEx(int ch, LPBYTE lpSubAddressEx,UCHAR ucSubAddressLen)
Parameter Description:
ch Channel Number
The subaddress of the calling party, comprised with characters ‘0’~'9', and the
lpSubAddress
maximum length is 20 bytes. The storage space is allocated by the application.
The subaddress of the calling party, including the subaddress type and the
lpSubAddressEx
buffer area storing the subaddress messages
The total length of the subaddress type and the buffer area storing the
ucSubAddressLen
subaddress messages
Return Value:
0 Successful
-1 Failed, the failure reason can be obtained by the function SsmGetLastErrMsg.
Function Description:
During outgoing call, sets the subaddress of the calling party in the SETUP message.
Note:
z This function must be called before SsmAutoDial is called.
z The parameters set in this function are only valid in the current function call.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAutoDial, SsmISDNGetTxCallerSubAddr
2.3.11.1.5 SsmISDNSetCallerIdPresent
Format:
Parameter Description:
ch Channel Number
=0: not allowed to present
ucPresentation =1: allowed to present, provided by users
=2: allowed to present, provided by network
Return Value:
0 Call successful
-1 Call failed. The failure reason can be obtained by the function SsmGetLastErrMsg.
Function Description:
Note:
z The parameters set in this function will go invalid once the program is restarted and the configuration file
is reloaded to initialize the link.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.3.11.1.6 SsmSetIsdnParameter
Adds a field to the SETUP message or sends a user-defined non-SETUP message dynamically.
Format:
int WINAPI SsmSetIsdnParameter(int nBCh, UCHAR ucMsgTypeCode, UCHAR ucParamTypeCode, PUCHAR
pucContent, WORD wNumberOfBytesToWrite)
Parameter Description:
nBCh Channel Number
ucMsgTypeCode Message type, support the SETUP message (0x05) and other user-defined messages
ucParamTypeCode Field type code
pucContent Buffer storing the field content (excluding field type code and content length)
wNumberOfBytesToW
Actual length of the field content
rite
Return Value:
0 Call successful
-1 Call failed. The failure reason can be obtained by the function SsmGetLastErrMsg.
Function Description:
Adds a field to the SETUP message or sends a user-defined non-SETUP message dynamically.
Note:
z For the SETUP message, the parameters set in this function will go invalid once the AutoDial operation
starts.
z For other user-defined messages, this function will add a field to the message and send it at a time.
z This function can be invoked multiple times to add more than one user-defined field.
Related Information:
Driver version SynCTI Ver. 5.3.2.2 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
Sample code:
2.3.11.2.1.1 SsmISDNGetSubAddr
Obtains the subaddress information of the called party.
Format:
int SsmISDNGetSubAddr(int ch, LPSTR lpSubAddress)
Parameter Description:
ch Channel Number
Buffer area storing the subaddress of the called party. The storage space is allocated
lpSubAddress
by the application, and its length should be no less than 21 bytes.
Return Value:
≥0 The actual length (bytes) of the string in lpSubAddress
-1 Failed, the failure reason can be obtained by the function SsmGetLastErrMsg.
Function Description:
During incoming call, the message from the remote PBX includes the subaddress information of the called party.
This function retrieves the ASCII character formatted subaddress information of the called party from the message.
Note: None
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmISDNGetCallerSubAddr
2.3.11.2.1.2 SsmISDNGetCallerSubAddr
Obtains the subaddress information of the calling party.
Format:
Parameter Description:
ch Channel Number
Buffer area storing the subaddress of the calling party. The storage space is allocated
lpSubAddress
by the application and its length should be no less than 21 bytes.
Return Value:
≥0 The length of the calling party’s subaddress
-1 Call failed. The failure reason can be obtained by the function SsmGetLastErrMsg
Function Description:
During incoming call, the message from the remote PBX includes the subaddress information of the calling party.
This function retrieves the ASCII character formatted subaddress information of the calling party from the
message.
Note: None
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmISDNGetSubAddr
2.3.11.2.2.1 SsmGetUserCallerId
Obtains the user-defined calling party number.
Format:
int SsmGetUserCallerId(int ch, LPSTR szCallerId)
Parameter Description:
ch Channel Number:
The buffer area storing the user-defined calling party number during incoming call. The
szCallerId
maximum length is 21 bytes.
Return Value:
Call failed, the failure reason can be obtained via the function call of
-1
SsmGetLastErrMsg
≥0 Length of the user-defined calling party number
Function Description:
Obtains the user-defined calling party number.
Note:
Related Information:
Driver Version SynCTI Ver. 4.7.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.3.11.2.3.1 SsmGetIsdnParameter
Obtains the content of a designated signaling unit from the SETUP message.
Format:
Parameter Description:
nBCh Channel Number
ucMsgTypeCode Message type, only the SETUP message (0x05) is supported now
ucParamTypeCode Code of the designated signaling unit
Serial number of the designated signaling unit. Commonly it is 0. If there are
ucParamIndex several signaling units of the same type, the serial number of the signaling unit
to be obtained is determined by this parameter
Buffer storing the content of the signaling unit (excluding signaling unit code
pucContent
and content length)
wNumberOfBytesTo
Size of the buffer. It should be no less than 300 bytes
Write
lpNumberOfBytesWrit
Length of the actually obtained signaling unit
ten
Return Value:
Call failed, the failure reason can be obtained by the function of
-1
SsmGetLastErrMsg
0 Call successful
Function Description:
Obtains the content of a designated signaling unit from the SETUP message.
Note:
Related Information:
Driver Version SynCTI Ver. 5.3.1.4 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.3.11.3.1 SsmISDNSetHangupRzn
Format:
int SsmISDNSetHangupRzn(int ch, int nReason)
Parameter Description:
ch Channel Number
Hangup cause, the range of value:
0: Normal hangup
nReason 1: Subscriber busy
2: Unallocated number
3: Reject the current call
Return Value:
0 Successful
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
Function Description:
Note:
z This function must be called before the function SsmHangup is invoked.
z The parameters set in this function will go invalid once the configuration file is reloaded.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPendingReason
2.3.11.4.1 SsmISDNGetDisplayMsg
Format:
int SsmISDNGetDisplayMsg(int ch, LPSTR lpDispMsg)
Parameter Description:
ch Channel Number
lpDispMsg The buffer area storing the display information. The maximum length is 100 bytes
Return Value:
≥0 The length of the display information
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
Function Description:
Obtains the display information of the ISDN channel. The display information is the ASCII formatted string, which is
normally sent from the network side to the user side. It may also include greetings or other supplementary
information.
Note: None
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: None
2.3.11.4.2 SsmISDNGetTxCallerSubAddr
Obtains the subaddress information of the calling party configured at the local end.
Format:
Parameter Description:
ch Channel Number
The buffer area storing the subaddress information of the calling party during outgoing
lpSubAddress
call. The maximum length is 21 bytes.
Return Value:
≥0 The length of the calling party’s subaddress.
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
Function Description:
Obtains the subaddress information of the calling party configured at the local end.
Note:
z This function is only applicable to the outgoing call.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmISDNGetSubAddr
2.3.11.4.3 SsmSetNumType
Format:
int SsmSetNumType(int ch, int nNumClass, int nNumType)
Parameter Description:
ch Channel Number
Calling/called Party Number:
nNumClass 1: Calling party number
2: Called party number
Number Type:
0x00: Unknown
0x10: International number
nNumType 0x20: National number
0x30: Specified network number
0x40: Specified number or subscriber number
Others: Spare
Return Value:
-1 Call failed
0 Call successful
Function Description:
Sets the calling/called party number type for a specified channel.
Note:
Related Information:
Driver version SynCTI Ver. 5.0.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetNumType, NetCallingNoSet
2.3.11.4.4 SsmGetNumType
Format:
Parameter Description:
ch Channel Number
Calling/called Party Number:
nNumClass 1: Calling party number
2: Called party number
Number Type:
0x00: Unknown
0x10: International number
pNumType 0x20: National number
0x30: Specified network number
0x40: Specified number or subscriber number
Others: Spare
Return Value:
-1 Call failed
0 Call successful
Function Description:
Gets the calling/called party number type for a specified channel.
Note:
z This function is only applicable to ISDN channels.
Related Information:
Driver version SynCTI Ver. 5.0.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetNumType, NetCallingNoSet
2.3.11.4.5 SsmSetCharge
Format:
Parameter Description:
ch Channel number
0: Free;
ChargeFlag 1: Charged;
Others: Reserved
Return Value:
-1 Call failed
0 Call successful
Function Description:
Sets a call on the corresponding channel to be charged or free of charge.
Note:
z This function only supports ISDN channels for some particular PBX models;
Related Information:
Driver version SynCTI Ver. 5.0.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.4.1.1 SsmSetTxTonePara
Sets the frequency and volume of the tone generated by the tone generator.
Format:
int SsmSetTxTonePara(int ch, int nFreq1, int nVolume1, int nFreq2, int nVolume2)
Parameter Description:
ch Channel Number
Sets the frequency (Hz) of the 1st tone, range of value: 300~3400, the default value:
nFreq1
450.
st
Sets the volume of the 1 tone, range of value: -7~+6. Greater than 0 denotes volume
nVolume1 increasing, less than 0 denotes volume decreasing, -7 denotes turning off the 1st tone.
The default value is 0. The volume value multiplies 3 equals the decibel value.
nd
Sets the frequency (Hz) of the 2 tone, range of value: 300~3400, with the default
nFreq2 value of 0 which means the tone generator does not use this frequency and only sends
the single frequency tone.
Sets the volume of the 2nd tone, range of value: -7~+6. Greater than 0 denotes volume
increasing, less than 0 denotes volume decreasing, -7 denotes turning off the 2nd tone.
nVolume2
The default value is -7 (the 2nd tone is not used). The volume value multiplies 3 equals
the decibel value.
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the frequency and volume of the tone generated by the tone generator.
Note:
Related Information:
Driver version SynCTI Ver. 2.0.0.0or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSendTone
2.4.1.2 SsmQueryOpSendTone
Format:
int SsmQueryOpSendTone (int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 No
1 Yes
Function Description:
Checks if there is a tone generator on the channel.
Note:
Related Information:
Driver version SynCTI Ver. 2.0.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.4.1.3 SsmGetTxTonePara
Obtains the frequency and volume of the tone from the tone generator.
Format:
int SsmGetTxTonePara(int ch, int* nFreq1, int* nVolume1, int* nFreq2, int* nVolume2)
Parameter Description:
ch Channel number
nFreq1 Returns the frequency (Hz) of the 1st tone.
st
Returns the volume of the 1 tone, range of value: -7~+6. Greater than 0 denotes
nVolume1 volume increasing, less than 0 denotes volume decreasing, -7 means this frequency is
not used. The volume value multiplies 3 equals the decibel value.
nFreq2 Returns the frequency (Hz) of the 2nd tone.
nd
Returns the volume of the 2 tone, range of value: -7~+6. Greater than 0 denotes
nVolume2 volume increasing, less than 0 denotes volume decreasing, -7 means that this
frequency is not used. The volume value multiplies 3 equals the decibel value.
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Obtains the frequency and volume of the tone from the tone generator.
Note:
Related Information:
Driver version SynCTI Ver. 2.0.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetTxTonePara
2.4.2.1 SsmSendTone
Refer to SsmSendToneEx
2.4.2.2 SsmSendToneEx
Starts the tone generator to generate tones on the line. SsmSendTone is used to send those tones in the
driver-predefined type. SsmSendToneEx specifies the signal duration at on or off states.
Format:
int SsmSendTone(int ch, int nToneType)
int SsmSendToneEx(int ch, DWORD dwOnTime, DWORD dwOffTime)
Parameter Description:
ch Channel Number
Tone type, range of value:
0: dial tone
nToneType 1: busy tone
2: ringback tone
3: howler tone
dwOnTime Signal duration (ms) at on state. It must be integral times of 8
dwOffTime Signal duration (ms) at off state. It must be integral times of 8
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Note:
z The frequency and volume of the tone can be set via the function SsmSetTxTonePara or the
configuration items DefaultSendToneFrequence and DefaultSendToneVolume.
z Once the tone generator is started, the specified tone will be continuously presented on the line until the
application calls the function SsmStopSendTone.
Related Information:
Driver version SynCTI Ver. 2.0.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopSendTone, SsmSetTxTonePara, SsmChkSendTone
2.4.2.3 SsmStopSendTone
Format:
int SsmStopSendTone(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 2.0.0.0or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSendTone, SsmSendToneEx
2.4.2.4 SsmChkSendTone
Checks whether the tone generator is started, and obtains the type of the tone being sent.
Format:
Parameter Description:
ch Channel Number
Returns the type of the tone which is being sent on the channel:
0: dial tone
1: busy tone
pnToneType 2: ringback tone
3: howler tone
4: self-defined tone (The tone generated by SsmSendToneEx is detected)
5: no tone detected
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 The channel is not sending the tone
1 The channel is sending the tone
Function Description:
Checks whether the tone generator is started, and obtains the type of the tone being sent.
Note:
Related Information:
Driver version SynCTI Ver. 2.0.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSendTone, SsmSendToneEx
2.5.1.1.1 SsmStartToneAnalyze
Format:
int SsmStartToneAnalyze(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Call successful
Function Description:
Starts the tone detector. For more information, refer to Tone Detector in Chapter 1.
Note:
z By default this function is only applicable to analog trunk channels, magnet channels and recording
channels.
z If required to manually start or stop the tone analysis for digital boards or VoIP boards, you should first
configure DefaultToneCheckState=1 under the section [BoardId=x] in the file ShConfig.ini, and then call
the function SsmStartToneAnalyze/SsmCloseToneAnalyze to start or stop the tone detector.
Related Information:
Driver version SynCTI Ver. 2.0.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmCloseToneAnalyze, SsmStart2ndToneAnalyzer
2.5.1.1.2 SsmCloseToneAnalyze
Format:
int SsmCloseToneAnalyze (int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Stops the tone detector. For more information, refer to Tone Detector in Chapter 1.
Note:
Related Information:
Driver version SynCTI Ver. 2.0.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStartToneAnalyze
2.5.1.1.3 SsmQueryOpToneAnalyze
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 No
1 Yes, it includes the tone detector
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.5.1.2.1 SsmGetToneAnalyzeResult
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Failed.
0 Tone analysis is in progress.
1 Dial tone is detected.
2 Busy tone is detected.
3 Ringback tone is detected.
4 After the ringback tone is detected, the line keeps silent.
5 Silence is detected.
The answer signal is detected. For analog phone lines, it usually denotes that the call is
6
answered (the called party picks up the phone).
The single frequency tone with F1 frequency is detected. The parameter F1, which is
7
set by the function SsmSetVoiceFxPara, is often used to detect the fax tone.
The single frequency tone with F2 frequency is detected. The parameter F2, which is
8
set by the function SsmSetVoiceFxPara, is often used to detect the fax tone.
9 The user-defined tone type is detected.
n>9 Some particular user-defined tones (e.g. SIT) are detected. For more information, see
the section ‘Enhanced Tone Detector’.
Function Description:
Obtains the detected result of the tone detector.
Note:
z By default this function is only applicable to analog trunk channels, magnet channels and recording
channels;
z For digital boards, you should do the following configurations to analyze the tones: set the configuration
item DefaultToneCheckState=1 under the section [BoardId=x] in the file ShConfg.ini.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmClearToneAnalyzeResult
2.5.1.3.1 SsmClearToneAnalyzeResult
Format:
int SsmClearToneAnalyzeResult (int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 Successful
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetToneAnalyzeResult
2.5.2.1.1 SsmSetPeakFrqDetectBW
Sets the bandwidth used to detect the peak frequency in the incoming call signal.
Format:
Parameter Description:
ch Channel Number
nPeakBW Bandwidth (Hz) , range of value: 40~80, with the default value of 80Hz.
Return Value:
-1 Failed
0 Successful
Function Description:
Sets the bandwidth used to detect the peak frequency in the incoming call signal. For more information, refer to
Tone Detector in Chapter 1.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmQueryOpPeakFrqDetect, SsmGetPeakFrqDetectBW
2.5.2.2.1 SsmQueryOpPeakFrqDetect
Checks whether the channel supports the operation of detecting the peak frequency.
Format:
int SsmQueryOpPeakFrqDetect (int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 Not support
1 Support
Function Description:
Checks whether the channel supports the operation of detecting the peak frequency.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.5.2.2.2 SsmGetPeakFrqDetectBW
Format:
int SsmGetPeakFrqDetectBW(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
≥0 The set value of the bandwidth
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmQueryOpPeakFrqDetect, SsmSetPeakFrqDetectBW
2.5.2.3.1 SsmGetPeakFrq
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
≥0 The peak frequency in the incoming call signal
Function Description:
Obtains the peak frequency in the incoming call signal. For more information, refer to ‘Tone Detector’ in Chapter 1.
Note:
z The event of E_CHG_PeakFrq can implement the same feature.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmQueryOpPeakFrqDetect, SsmSetPeakFrqDetectBW
2.5.2.3.2 SsmGetPeakFrqEnergy
Obtains the energy value of the peak frequency in the incoming call signal.
Format:
long SsmGetPeakFrqEnergy(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
≥0 The energy value of the peak frequency in the incoming call signal
Function Description:
Obtains the energy value of the peak frequency in the incoming call signal. For more information, refer to ‘Tone
Detector’ in Chapter 1.
Note:
z The event of E_CHG_PeakFrq can implement the same feature.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetPeakFrqDetectBW, SsmGetPeakFrq
2.5.2.3.3 SsmGetOverallEnergy
Refer to SsmGetOverallEnergyAllCh
2.5.2.3.4 SsmGetOverallEnergyAllCh
Obtains the overall energy value of the incoming call signal after FFT transformation. SsmGetOverallEnergy is only
applicable to a single channel, SsmGetOverallEnergyAllCh can simultaneously obtain the overall energy of
multiple channels.
Format:
int SsmGetOverallEnergy(int ch)
int SsmGetOverallEnergyAllCh (int nBeginCh, int nChNum, PDWORD pdwEnergyTable)
Parameter Description:
ch Channel Number
nBeginCh Starting channel number
nChNum Channel amount
Stores the energy value of the nChNum channels starting from nBeginCh. The space is
PdwEnergyTable
allocated by the application
Return Value:
Function Name Return Value Description
-1 Call failed
SsmGetOverallEnergy
≥0 Overall energy value
-1 Call failed
SsmGetOverallEnergyAllCh
0 Successful
Function Description:
Obtains the overall energy value of the incoming call signal after FFT transformation.
Note:
z For more information about the unit conversion of overall energy to DB (decibel), refer to the ‘FFT
component’ in ‘Tone Detector’ of Chapter 1.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPeakFrqEnergy
2.5.3.1 SsmSetMinVocDtrEnergy
Format:
Parameter Description:
ch Channel Number
Threshold value for noise detection, range of value: ≥700, with the default value of
100000.
dwMinVocDtrEnergy
For more information about the unit conversion of this parameter to DB (decibel), refer
to the ‘FFT component’ in ‘Tone Detector’ of Chapter 1.
Return Value:
-1 Call failed, the failure reason can be obtained by the functionSsmGetLastErrMsg
0 Successful
Function Description:
Sets the threshold value for noise detection on the line. If the energy of the incoming call signal on the line is less
than the set value of dwMinVocDtrEnergy, it will be regarded as noise by the driver.
Note:
z The configuration item MinimumVoiceDetermineEnergy can implement the same feature.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetMinVocDtrEnergy
2.5.3.2 SsmGetMinVocDtrEnergy
Obtains the threshold value of energy for the driver to determine whether the signal on the line is noise or voice.
Format:
int SsmGetMinVocDtrEnergy(int ch, PDWORD pdwMinVocDtrEnergy)
Parameter Description:
ch Channel Number
Returns the threshold value of energy which determines whether the signal is noise or
pdwMinVocDtrEnergy
voice.
Return Value:
-1 Failed
0 Successful
Function Description:
Obtains the threshold value of energy for the driver to determine whether the signal on the line is noise or voice.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetMinVocDtrEnergy
2.5.4.1.1 SsmStart2ndToneAnalyzer
Format:
int SsmStart2ndToneAnalyzer(int ch,BOOL bEnable)
Parameter Description:
ch Channel Number
bEnable The 2nd tone detector enabling switch. = TRUE: Start; = FALSE: Stop
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Starts the 2nd call progress tone detector.
Note:
z The configuration item Enable2ndToneAnalyzer can implement the same feature.
z When the 2nd call progress tone detector is started, it occupies the FFT analyzer which is used by the
function SsmSetVoiceFxPara, therefore the driver no longer detects the special tones designated by the
function SsmSetVoiceFxPara.
z The 2nd call progress tone detector can be started only if the 1st call progress tone detector is turned on.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGet2ndToneAnalyzerState
2.5.4.1.2 SsmGet2ndToneAnalyzerState
Checks the working status of the 2nd call progress tone detector.
Format:
int SsmGet2ndToneAnalyzerState(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 Turned off
1 Turned on
Function Description:
Checks the working status of the 2nd call progress tone detector.
Note:
z By default this function is only applicable to analog trunk channels, magnet channels and recording
channels.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStart2ndToneAnalyzer
2.5.4.2.1 SsmGet2ndToneAnalyzeResult
Format:
int SsmGet2ndToneAnalyzeResult(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 Tone analysis is in progress
1 Dial tone detected
2 Busy tone detected
3 Ringback tone detected
4 The line keeps silent after the detection of ringback tone
5 Silence detected
Answer signal detected, which usually indicates for analog phone lines that the called
6
party answers (picks up) the call.
Detection of single tones with the frequency of F1. F1, which can be set via the function
7
SsmSetVoiceFxPara, is often used for detection of fax tones.
Detection of single tones with the frequency of F2. F2, which can be set via the function
8
SsmSetVoiceFxPara, is often used for detection of fax tones.
9 User-defined tone detected
Particular user-defined tone detected (e.g. SIT tone). For more information, refer to the
>9
section Enhanced Tone Detector in Chapter 1.
Function Description:
Obtains the result of the 2nd call progress tone detector.
Note:
z If the result of the second tone detector is the same as that of the first tone detector, by default the driver
will regard that only one tone detector actually works.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmClear2ndToneAnalyzeResult
2.5.4.2.2 SsmClear2ndToneAnalyzeResult
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 Successful
Function Description:
Clears the result of the 2nd call progress tone detector.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGet2ndToneAnalyzeResult
2.5.4.3.1 SsmSetTonePara
Refer to SsmSet2ndTonePara
2.5.4.3.2 SsmSet2ndTonePara
Sets the operating parameters of the frequency detector in the call progress tone detector. SsmSetTonePara and
SsmSet2ndTonePara are used to set the frequency parameters of the 1st and 2nd call progress tone detector
respectively.
Format:
int SsmSetTonePara(int ch, WORD wF1, WORD wBw1, WORD wF2, WORD wBw2, DWORD dwMinEnrgRatio)
int SsmSet2ndTonePara(int ch, WORD wF1, WORD wBw1, WORD wF2, WORD wBw2, DWORD
dwMinEnrgRatio)
Parameter Description:
ch Channel Number
wF1 The 1st center frequency (Hz), range of value: 300~3400
wBw1 The bandwidth (Hz) of the 1st center frequency, range of value: 40~120
Note:
z The configuration item TonePara can implement the same feature as the function SsmSetTonePara,
with the default value of 450Hz;
z The configuration item 2ndTonePara can implement the same feature as the function
SsmSet2ndTonePara.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetTonePara, SsmGet2ndTonePara
2.5.4.3.3 SsmGetTonePara
Refer to SsmGet2ndTonePara
2.5.4.3.4 SsmGet2ndTonePara
Obtains the operating parameters of the frequency detector in the call progress tone detector. SsmGetTonePara
and SsmGet2ndTonePara are used to obtain the frequency parameters of the 1st and 2nd call progress tone
detector respectively.
Format:
int SsmGetTonePara(int ch, PWORD pwF1, PWORD pwBw1, PWORD pwF2, PWORD pwBw2, PDWORD
pdwMinEnrgRatio)
int SsmGet2ndTonePara(int ch, PWORD pwF1, PWORD pwBw1, PWORD pwF2, PWORD pwBw2, PDWORD
pdwMinEnrgRatio)
Parameter Description:
ch Channel Number
pwF1 Returns the center frequency (Hz) of the 1st tone
pwBw1 Returns the bandwidth (Hz) of the 1st tone
pwF2 Returns the center frequency (Hz) of the 2nd tone
pwBw2 Returns the bandwidth (Hz) of the 2nd tone
Returns the preset threshold percentage of the in-band energy in the overall energy for
pdwMinEnrgRatio
judging the signal tones
Return Value:
-1 Failed
0 Successful
Function Description:
Obtains the operating parameters of the frequency detector in the call progress tone detector.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetTonePara, SsmSet2ndTonePara
2.5.4.4.1 SsmSetIsDialToneDtrTime
Refer to SsmSet2ndIsDialToneDtrTime
2.5.4.4.2 SsmSet2ndIsDialToneDtrTime
Sets the minimum duration of the dial tone detector. SsmSetIsDialToneDtrTime and SsmSet2ndIsDialToneDtrTime
set the 1st and 2nd call progress tone detector respectively.
Format:
int SsmSetIsDialToneDtrTime(int ch, WORD wIsDialToneDtrTime)
int SsmSet2ndIsDialToneDtrTime(int ch, WORD wIsDialToneDtrTime)
Parameter Description:
ch Channel Number
wIsDialToneDtrTime The minimum duration (ms) of the dial tone, range of value: ≥1300ms
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the minimum duration of the Dial Tone Detector.
Note:
z The configuration item IsDialToneDetermineTime can implement the same feature as the function
SsmSetIsDialToneDtrTime.
z The configuration item 2ndIsDialToneDetermineTime can implement the same feature as the function
SsmSet2ndIsDialToneDtrTime.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.5.4.4.3 SsmGetIsDialToneDtrTime
Refer to SsmGet2ndIsDialToneDtrTime
2.5.4.4.4 SsmGet2ndIsDialToneDtrTime
Obtains the minimum duration of the Dial Tone Detector. SsmGetIsDialToneDtrTime and
st nd
SsmGet2ndIsDialToneDtrTime obtain the parameters of the 1 and 2 call progress tone detector respectively.
Format:
int SsmGetIsDialToneDtrTime(int ch, PWORD pwIsDialToneDtrTime)
int SsmGet2ndIsDialToneDtrTime(int ch, PWORD pwIsDialToneDtrTime)
Parameter Description:
ch Channel Number
pwIsDialToneDtrTime Returns the minimum duration (ms)
Return Value:
-1 Failed
0 Successful
Function Description:
Obtains the minimum duration of the Dial Tone Detector.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetIsDialToneDtrTime, SsmSet2ndIsDialToneDtrTime
2.5.4.5.1 SsmSetRingEchoTonePara
Refer to SsmSet2ndRingEchoTonePara
2.5.4.5.2 SsmSet2ndRingEchoTonePara
Sets the signal durations at on and off states for the ringback tone detector. SsmSetRingEchoTonePara is
applicable to the 1st call progress tone detector, SsmSet2ndRingEchoTonePara is applicable to applicable to the
2nd call progress tone detector.
Format:
Parameter Description:
ch Channel Number
wTon The duration (ms) of the tone at on state, range of value: 500~2500
wToff The duration (ms) of the tone at off state, range of value: 1500 ~ 6000
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the signal durations respectively at on and off states for the Ringback Tone Detector.
Note:
z The parameters set by SsmSetRingEchoTonePara can also be set by the configuration item
RingEchoTonePara. Default value: The signal duration at on state is 1000ms, the signal duration at off
state is 4000ms. The parameters set by SsmSet2ndRingEchoTonePara can also be set by the
configuration item 2ndRingEchoTonePara. Default value: The signal duration at on state is 1000ms, the
signal duration at off state is 4000ms.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetRingEchoTonePara, SsmGet2ndRingEchoTonePara
2.5.4.5.3 SsmGetRingEchoToneTime
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
≥0 Duration time (ms)
Function Description:
Obtains the duration of the ringback tone.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.5.4.5.4 SsmGetRingEchoTonePara
Refer to SsmGet2ndRingEchoTonePara
2.5.4.5.5 SsmGet2ndRingEchoTonePara
Obtains the signal durations respectively at on and off states for the ringback tone detector.
st nd
SsmGetRingEchoTonePara and SsmGet2ndRingEchoTonePara are applicable to the 1 and 2 call progress tone
detector respectively.
Format:
int SsmGetRingEchoTonePara(int ch, PWORD pwTon, PWORD pwToff)
int SsmGet2ndRingEchoTonePara(int ch, PWORD pwTon, PWORD pwToff)
Parameter Description:
ch Channel Number
pwTon Returns the signal duration (ms) at on state
pwToff Returns the signal duration (ms) at off state
Return Value:
-1 Failed
0 Successful
Function Description:
Obtains the signal durations respectively at on and off states for the ringback tone detector.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetRingEchoTonePara, SsmSet2ndRingEchoTonePara
2.5.4.6.1 SsmSetBusyTonePeriodEx
Refer to SsmSet2ndBusyTonePeriod
2.5.4.6.2 SsmSetBusyTonePeriod
Refer to SsmSet2ndBusyTonePeriod
2.5.4.6.3 SsmSet2ndBusyTonePeriod
Sets the busy tone cycle of busy tone detector in the call progress tone detector. SsmSetBusyTonePeriod is
applicable to the 1st call progress tone detector, SsmSet2ndBusyTonePeriod is applicable to the 2nd call progress
tone detector, and SsmSetBusyTonePeriodEx is applicable to both.
Format:
int SsmSetBusyTonePeriodEx(int ch, int nCptdNo, WORD wMax, PWORD pwPeriod)
int SsmSetBusyTonePeriod(int ch, WORD wPeriod)
int SsmSet2ndBusyTonePeriod(int ch, WORD wPeriod)
Parameter Description:
ch Channel Number
=1: Sets the 1st call progress tone detector
nCptdNo
=2: Sets the 2nd call progress tone detector
wMax Number of different types of busy tone cycles, range of value: 1~4
The pointer storing the parameter of busy tone cycle, it’s storage space is allocated by
pwPeriod
the application
Busy tone cycle (ms), range of value: 200~2000. This parameter can also be specified
wPeriod
in the configuration file, with the default value of 700ms (350ms/ON,350ms/OFF)
Return Value:
-1 Failed
0 Successful
Function Description:
Sets the busy tone cycle of Busy Tone Detector in the Call Progress Tone Detector. SsmSetBusyTonePeriodEx is a
new version function which supports the configuration of at most 4 different busy tone cycles simultaneously. For
more information, refer to ‘Busy Tone Detector’.
Note:
z The busy tone cycle can also be set via the configuration item BusyTonePeriod or 2ndBusyTonePeriod .
z It’s recommended to use the function SsmSetBusyTonePeriodEx.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetBusyTonePeriodEx, SsmGetBusyTonePeriod, SsmGet2ndBusyTonePeriod
Sample Code:
The application needs to simultaneously detect 4 types of busy tones (with the cycles of 700ms, 800ms, 900ms
and 1000ms respectively) in the 1st call progress tone detector and only detects the busy tone with 700ms period in
the 2nd call progress tone detector, below is the implementing sample code:
2.5.4.6.4 SsmSetIsBusyToneDtrCnt
Refer to SsmSet2ndIsBusyToneDtrCnt
2.5.4.6.5 SsmSet2ndIsBusyToneDtrCnt
Sets the minimum number of the busy tone cycles. SsmSetIsBusyToneDtrCnt is applicable to the 1st call progress
tone detector, SsmSet2ndIsBusyToneDtrCnt is applicable to the 2nd call progress tone detector.
Format:
int SsmSetIsBusyToneDtrCnt(int ch, WORD wIsBusyToneDtrCnt)
int SsmSet2ndIsBusyToneDtrCnt(int ch, WORD wIsBusyToneDtrCnt)
Parameter Description:
ch Channel Number
wIsBusyToneDtrCnt The minimum number of the busy tone cycles, range of value: 1~50
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the minimum number of the busy tone cycles. For more information, refer to Busy Tone Detector.
Note:
z The configuration items IsBusyToneDetermineCount and 2ndIsBusyToneDetermineCount can implement
the same feature.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetIsBusyToneDtrCnt, SsmGet2ndIsBusyToneDtrCnt
2.5.4.6.6 SsmGetBusyTonePeriodEx
Refer to SsmGet2ndBusyTonePeriod
2.5.4.6.7 SsmGetBusyTonePeriod
Refer to SsmGet2ndBusyTonePeriod
2.5.4.6.8 SsmGet2ndBusyTonePeriod
Obtains the set value judging the busy tone cycle. SsmGetBusyTonePeriod is applicable to the 1st call progress
tone detector, SsmGet2ndBusyTonePeriod is applicable to the 2nd call progress tone detector, and
SsmGetBusyTonePeriodEx is applicable to both.
Format:
int SsmGetBusyTonePeriodEx(int ch, int nCptdNo, PWORD pwPeriod)
int SsmGetBusyTonePeriod(int ch, PWORD pwBusyTonePeriod)
int SsmGet2ndBusyTonePeriod(int ch, PWORD pwBusyTonePeriod)
Parameter Description:
ch Channel Number
=1: sets the 1st call progress tone detector
nCptdNo
=2: sets the 2nd call progress tone detector
Returns the pointer of the set value of busy tone cycle (ms), the storage space is
pwPeriod
allocated by the application, the size is 4 WORD
pwBusyTonePeriod Returns the set value of busy tone cycle (ms)
Return Value:
-1 Failed
0 Successful
>0 The preset number of busy tone cycles
Function Description:
Obtains the set value judging the busy tone cycle. For more information, refer to ‘Busy Tone Detector’.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetBusyTonePeriodEx, SsmSetBusyTonePeriod, SsmSet2ndBusyTonePeriod
2.5.4.6.9 SsmGetIsBusyToneDtrCnt
Refer to SsmGet2ndIsBusyToneDtrCnt
2.5.4.6.10 SsmGet2ndIsBusyToneDtrCnt
Obtains the set value of the minimum number of busy tone cycles. SsmGetIsBusyToneDtrCnt is applicable to the
1st call progress tone detector, SsmGet2ndIsBusyToneDtrCnt is applicable to the 2nd call progress tone detector.
Format:
Parameter Description:
ch Channel Number
pwIsBusyToneDtrCnt Returns the set value of the minimum number of busy tone cycles
Return Value:
-1 Failed
0 Successful
Function Description:
Obtains the set value of the minimum number of busy tone cycles.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetIsBusyToneDtrCnt, SsmSet2ndIsBusyToneDtrCnt
2.5.4.7.1 SsmGetBusyToneLen
Refer to SsmGet2ndBusyToneLen
2.5.4.7.2 SsmGet2ndBusyToneLen
Obtains the duration time of busy tone. SsmGetBusyToneLen is applicable to the 1st call progress tone detector,
SsmGet2ndBusyToneLen is applicable to the 2nd call progress tone detector.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
≥0 The duration time (s) of busy tone
Function Description:
Obtains the duration time of busy tone. For more information, refer to ‘Busy Tone Detector’ in Chapter 1.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetBusyAMDToneCount
2.5.4.7.3 SsmGetBusyAMDToneCount
Refer to SsmGet2ndBusyAMDToneCount
2.5.4.7.4 SsmGet2ndBusyAMDToneCount
Obtains the number of busy tone cycles. SsmGetBusyAMDToneCount is applicable to the 1st call progress tone
detector, SsmGet2ndBusyAMDToneCount is applicable to the 2nd call progress tone detector.
Format:
int SsmGetBusyAMDToneCount(int ch)
int SsmGet2ndBusyAMDToneCount(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
≥0 The number of continuous busy tone cycles
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetBusyToneLen
2.5.4.8.1 SsmGetBusyToneEx
Obtains the detected result of the busy tone detector which adopts the back-to-back busy tone detecting algorithm.
Format:
int SsmGetBusyToneEx(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 No busy tone detected
1 Busy tone detected
Function Description:
Obtains the detected result of the busy tone detector which adopts the back-to-back busy tone detecting algorithm.
Note:
z The event of E_CHG_BusyToneEx can implement the same feature.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmClearToneAnalyzeResult
2.5.5.1.1 SsmSetVoiceFxPara
Format:
int SsmSetVoiceFxPara(int ch, WORD wSelFx, WORD wFx,WORD wFxBW, DWORD dwIsVocFxRatio, WORD
wIsVocFxDtrTime)
Parameter Description:
ch Channel Number
Selects the fax progress tone detector, range of value:
wSelFx 1: sets the parameter of 1st fax progress tone detector
2: sets the parameter of 2nd fax progress tone detector
wFx Center frequency (Hz), range of value: 300~3400
wFxBW Bandwidth (Hz), range of value: 40~120
The minimum threshold percentage (%) of in-band energy in overall energy, range of
dwIsVocFxRatio
value: 15~80
The minimum duration time (ms) , range of value: 16~1024, it must be integral times of
wIsVocFxDtrTime
16
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the operating parameters of the fax progress tone detector. For more information, refer to ‘Fax Progress Tone
Detector’ in Chapter 1.
Note:
z The configuration items VoiceFreqF1Para and VoiceFreqF2Para can implement the same feature.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetVocFxFlag, SsmGetVoiceFxPara
2.5.5.1.2 SsmGetVoiceFxPara
Format:
int SsmGetVoiceFxPara(int ch, WORD wSelFx, PWORD pwFx, PWORD pwFxBW, PDWORD pdwIsVocFxRatio,
PWORD pwIsVocFxDtrTime)
Parameter Description:
ch Channel Number
Selects the fax progress tone detector, range of value:
wSelFx 1: sets the parameter of 1st fax progress tone detector
2: sets the parameter of 2nd fax progress tone detector
pwFx Returns the center frequency (Hz)
pwFxBW Returns the bandwidth (Hz)
pdwIsVocFxRatio Returns the minimum threshold percentage (%) of in-band energy in overall energy
wIsVocFxDtrTime Returns the minimum duration (ms)
Return Value:
-1 Failed
0 Successful
Function Description:
Obtains operating parameters of the fax progress tone detector.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetVoiceFxPara
2.5.5.2.1 SsmGetVocFxFlag
Format:
Parameter Description:
ch Channel Number
Selects the frequency of voice to be detected:
nSelFx
=1: selects F1; =2: selects F2
Indicates whether the driver clears the detected result after reading the designated sign
bClear
=TRUE: clear the detected result; =FALSE: not clear the detected result
Return Value:
-1 Failed
0 The single tone voice with specified frequency is not detected
Note:
z It’s recommended to use the event of E_CHG_VocFxFlag to implement the same feature.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetVoiceFxPara
2.5.6.1.1 SsmGetAMDResult
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed or AMD invalid
0 The detection task is over because the phone is picked up by man
1 Signal tone detected and the detection task continues
2 Color-ring or prompt tone detected and the detection task continues
3 The detection task is over due to timeout
The detection task is over because the line keeps silent after the detection of the
4
color-ring or prompt tone
The detection task is over because the line keeps silent after the detection of the dial
5
tone
6 The detection task is over due to the detection of busy tone
7 The detection task is over due to the detection of fax
Function Description:
Note:
z It is recommended to use the event E_CHG_AMD to implement the same feature.
Related Information:
Driver version SynCTI Ver. 5.0.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.5.6.1.2 SsmClearAMDResult
Format:
int SsmClearAMDResult (int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 Successful
Function Description:
Note:
z It is recommended to call this function before starting AMD.
Related Information:
Driver version SynCTI Ver. 5.0.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.5.6.1.3 SsmControlAMD
Format:
int WINAPI SsmControlAMD(int ch,BOOL bStart)
Parameter Description:
ch Channel Number
Indicates whether to turn on the control switch of the AMD detector.
bStart TRUE: turn on
FALSE:turn off
Return Value:
-1 Failed
0 Successful
Function Description:
Manually turns on or turns off the AMD detector.
Note:
z The channel state will also have an effect on the turnon and turnoff of AMD detector when this function
is used.
Related Information:
Driver Version SynCTI Ver. 5.0.3.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
DTMF-reception buffer area is the internal buffer area in the driver used to receive DTMF strings. Its size can be
specified in the configuration file and the default value is 200. It is necessary that the DTMF characters are read by
the application in time before the buffer area overflows. Otherwise, the driver receives a new character, the first
received DTMF character will be discarded.
For the station channel or recording channel, when the driver detects pickup or hangup, it will automatically clear
the DTMF-reception buffer area. For other types of channels, the driver will automatically clear the buffer area
upon the reception of the hangup command.
All the functions in this section don’t support magnet channels.
2.6.1.1 SsmEnableRxDtmf
Starts or stops the DTMF detector.
Format:
int SsmEnableRxDtmf(int ch, BOOL bRun)
Parameter Description:
ch Channel Number
The control switch determining whether to start the DTMF detector
bRun TRUE: start
FALSE: stop
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg
0 Successful
Function Description:
Starts or stops the DTMF detector.
Note:
z The driver automatically enables or disables the DTMF detector according to the channel state transition.
Only if you want to control the switch manually does this function need to be invoked. Note that in SS1
mode, only when the application controls the call process by itself can this function be invoked.
z This function is only applicable to SHD, DST and SHN series.
z The configuration item AlwaysEnableRxDtmf can implement the same feature.
z This function goes invalid once the channel state changes.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetRxDtmfHandler, SsmGetDtmfStr
2.6.2.1 SsmSetRxDtmfHandler
Sets the callback function when DTMF Detector outputs DTMF signals.
Format:
int SsmSetRxDtmfHandler(int ch, RXDTMFHANDLER pfnOnRcvDtmf, PVOID pV)
Parameter Description:
ch Channel Number
The pointer of the callback function. The type of the callback function is:
RXDTMFHANDLER, it’s declared in shpa3api.h as:
typedef void (*RXDTMFHANDLER) (int ch, char cDtmf, int nDTStatus, PVOID pV);
In the above format,
ch: Channel Number;
pfnOnRcvDtmf cDtmf: DTMF character (ASCII formatted)
nDTStatus: DTMF signal type, 0 means the DTMF signal disappears, 1 means
the DTMF signal appears;
pV: The pointer of PVOID type. It’s usually used by the application to
pass its data structure to the callback function. This pointer is
directly passed to the callback function by the application
The pointer of PVOID type. The application passes the needed object or data structure
pV
to the callback function via this parameter
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the callback function when DTMF Detector outputs DTMF signals.
Note:
z Each time when DTMF detector detects a complete DTMF character, it will invoke the callback function
set by this function twice: upon the appearance and disappearance of the DTMF signal respectively. For
more information, refer to DTMF Detector in Chapter 1.
z The received DTMF character will still be put into the buffer area of the DTMF detector.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.6.3.1 SsmClearRxDtmfBuf
Clears the DTMF-reception buffer area in the driver.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg.
0 Successful
Function Description:
Clears the DTMF-reception buffer area in the driver.
Note:
z When the channel is transferred to the state of standby, the driver will automatically clear the buffer area
of the DTMF detector.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetDtmfStr
2.6.3.2 SsmGetDtmfStr
Refer to SsmGetDtmfStrA
2.6.3.3 SsmGetDtmfStrA
Obtains the DTMF characters saved in the buffer area of the DTMF detector.
Format:
int SsmGetDtmfStr(int ch, LPSTR pszDtmf)
char* SsmGetDtmfStrA(int ch)
Parameter Description:
ch Channel Number
The pointer storing the received DTMF string, its storage space being allocated by the
pszDtmf
application
Return Value:
Note:
z When this function is invoked, the driver will not clear the buffer area of the DTMF detector.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetRxDtmfLen, SsmGet1stDtmf, SsmGet1stDtmfClr, SsmGetLastDtmf
2.6.3.4 SsmGetRxDtmfLen
Obtains the number of DTMF characters saved in the buffer area of the DTMF detector.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg
≥0 The number of DTMF characters saved in the buffer area of the DTMF detector
Function Description:
Obtains the number of DTMF characters saved in the buffer area of the DTMF detector.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetDtmfStr, SsmGetDtmfStrA
2.6.3.5 SsmGet1stDtmf
Refer to SsmGet1stDtmfClr
2.6.3.6 SsmGet1stDtmfClr
Obtains the first received DTMF character in the buffer area of the DTMF detector.
Format:
int SsmGet1stDtmf(int ch, char* pcDtmf)
int SsmGet1stDtmfClr(int ch, char* pcDtmf)
Parameter Description:
ch Channel Number
pcDtmf The initial address of the buffer area which stores the DTMF characters
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg
0 The buffer area of the DTMF detector is empty
1 The buffer area of the DTMF detector is not empty
Function Description:
Obtains the first received DTMF character in the buffer area of the DTMF detector. After obtaining the DTMF
character, the function SsmGet1stDtmf will leave it in the buffer area, while the function SsmGet1stDtmfClr will
clear it from the buffer.
Note:
Related Information:
2.6.3.7 SsmGetLastDtmf
Obtains the last received DTMF character in the buffer area of the DTMF detector.
Format:
Parameter Description:
ch Channel Number
pcDtmf The initial address of the buffer area storing the DTMF characters
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg
0 The buffer area of the DTMF detector is empty
1 The buffer area of the DTMF detector is not empty
Function Description:
Obtains the last received DTMF character in the buffer area of the DTMF detector.
Note: None
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.6.4.1 SsmSetWaitDtmf
Refer to SsmSetWaitDtmfExB
2.6.4.2 SsmSetWaitDtmfEx
Refer to SsmSetWaitDtmfExB
2.6.4.3 SsmSetWaitDtmfExA
Refer to SsmSetWaitDtmfExB
2.6.4.4 SsmSetWaitDtmfExB
Starts the WaitDtmf task. The precision of the maximum waiting time of SsmSetWaitDtmf is 1 second, while that of
SsmSetWaitDtmfEx and SsmSetWaitDtmfExA is 1 millisecond; SsmSetWaitDtmfEx only supports one terminating
character, while SsmSetWaitDtmfExA supports multiple terminating characters. SsmSetWaitDtmfExB implements
the same feature as SsmSetWaitDtmfExA except that it supports a larger value range for the parameter
wTimeOut2.
Format:
int SsmSetWaitDtmf(int ch, WORD wTimeOut1, WORD wMaxLen, char cEndChar, BOOL bWithEndChar)
int SsmSetWaitDtmfEx(int ch, WORD wTimeOut2, WORD wMaxLen, char cEndChar, BOOL bWithEndChar)
int SsmSetWaitDtmfExA(int ch, WORD wTimeOut2, WORD wMaxLen, char* szEndChar, BOOL bWithEndChar)
int SsmSetWaitDtmfExB(int ch, DWORD wTimeOut2, WORD wMaxLen, char* szEndChar, BOOL bWithEndChar)
Parameter Description:
ch Channel Number
wTimeOut1 Maximum waiting time (s), with the value range of 1~524
Maximum waiting time (ms), with the value range of 0~65535 (SsmSetWaitDtmfExA) or
wTimeOut2
0~232-1 (SsmSetWaitDtmfExB)
wMaxLen The maximum length of the DTMF to be received, range of value: 1~350
Terminating character. If the driver receives this character, it will stop the task of
cEndChar
WaitDtmf
Terminating character set, at most 16 characters. If the driver receives any character in
szEndChar
the set, it will stop the task of WaitDtmf
After the WaitDtmf task is finished, this parameter determines whether the string
returned from the driver to the application includes the received terminating character:
bWithEndChar
=TRUE: include
=FALSE: not include
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg
0 Successful
Function Description:
Submits a task of receiving specified DTMF string, i.e. the WaitDtmf task. When this task is started successfully,
the driver will check the received data already in the DTMF-reception buffer area and refuse any new received
DTMF digit to enter this buffer area. This task will not be cancelled until one of the following conditions is met:
The terminating character specified in the parameter of cEndChar or szEndChar is received.
The number of the received DTMF characters equals the maximum length which is set in the parameter
wMaxLen
The waiting time exceeds the time specified in the parameter wTimeOut1 or wTimeOut2.
When the WaitDtmf task is finished, the driver throws out the event of E_PROC_WaitDTMF to the application. The
execution result of the WaitDtmf task can be obtained by the function SsmChkWaitDtmf.
The function SsmCancelWaitDtmf can be used to cancel the WaitDtmf task.
Note:
z Each time when the driver receives one DTMF character on the designated channel, it automatically
resets and restarts the timer.
z When this function is invoked, the previously received digits in the DTMF buffer area will not be cleared.
That is, the remaining DTMF digits in the buffer area will affect this function’s execution result.
z If the WaitDtmf task is already started on a channel, the DTMF digits received afterwards will no longer be
put into the DTMF reception buffer area and the event E_CHG_RcvDTMF will not be generated during
the execution of this task.
z The end character and the end character unit are case sensitive.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmChkWaitDtmf, SsmCancelWaitDtmf
2.6.4.5 SsmCancelWaitDtmf
Cancels the task of WaitDtmf.
Format:
int SsmCancelWaitDtmf(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Error occurs
0 Successful
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetWaitDtmf, SsmSetWaitDtmfEx, SsmSetWaitDtmfExA, SsmChkWaitDtmf
2.6.4.6 SsmChkWaitDtmf
Queries the execution status of the WaitDtmf task.
Format:
Parameter Description:
ch Channel Number
The pointer pointing to the buffer area which stores DTMF, the storage space is
pszDtmf
allocated by the application
Return Value:
-1 Error occurs
0 Receiving
1 The task is finished due to receiving timeout; or no WaitDtmf task on the channel.
2 The task is finished due to the reception of the designated terminating character.
3 The task is finished due to the reception of the DTMF string with designated length.
Function Description:
Note:
z The event of E_PROC_WaitDTMF can implement the same feature.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Event: E_PROC_WaitDTMF
2.7.1.1 SsmSetTxDtmfPara
Sets the durations of the DTMF signal generated by the DTMF Generator respectively at on and off states.
Format:
Parameter Description:
ch Channel Number
The duration (ms) of DTMF at on state, the range of value: ≥40, must be integral times
wOnTime
of 8
The duration (ms) of DTMF at off state, the range of value: ≥40, must be integral times
wOffTime
of 8
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the durations of the DTMF signal generated by the DTMF Generator respectively at on and off states.
Note:
z The configuration item TxDtmfTimePara can implement the same feature.
z For IP channel, this function call is valid only when DTMF signals are sent by in-band method.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetTxDtmfPara, SsmTxDtmf
2.7.1.2 SsmQueryTxDtmf
Checks whether the channel includes DTMF Generator.
Format:
int SsmQueryTxDtmf(int ch, LPSTR pszReserved)
Parameter Description:
ch Channel Number
PszReserved Reserved string pointer, it is not necessary to be used
Return Value:
-1 Failed
The designated channel doesn’t support the operation of sending the standard DTMF
0
characters
1 The designated channel supports the operation of sending the standard DTMF
characters
Function Description:
Checks whether the channel includes DTMF Generator.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.7.1.3 SsmGetTxDtmfPara
Obtains the duration of the DTMF signal generated by the DTMF Generator respectively at on and off states.
Format:
int SsmGetTxDtmfPara(int ch, PWORD pwOnTime, PWORD pwOffTime)
Parameter Description:
ch Channel Number
pwOnTime Returns the duration (ms) at on state
pwOffTime Returns the duration (ms) at off state
Return Value:
-1 Failed
=0 Successful
Function Description:
Obtains the durations of the DTMF signal generated by the DTMF Generator respectively at on and off states.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetTxDtmfPara
2.7.2.1 SsmTxDtmf
Transmits DTMF string in the channel’s outgoing call direction.
Format:
Parameter Description:
ch Channel Number
z Pointer to the string, must be terminated with ‘\0’. The number of characters can't
exceed the set value in the configuration item TxDtmfBufSize. The characters can
pszDtmf be:
a) ‘0’~’9’,’*’,’#’,’A’,’B’,’C’,’D’: Standard DTMF signal;
b) ‘!’: Generates one flash on the line, only applicable to the analog trunk
channel;
c) Other characters: Keeps silence for a period on the line. The duration time is
set by the configuration item DefaultTxDelayTime, with the default value of
2000ms.
z For IP channel, the meaning of this parameter varies on DTMF transmission
modes as follows:
a) When DTMF signals are sent by in-band or RFC2833 method, only 15
standard DTMF digits ‘0’~’9’,’*’,’#’,’A’,’B’,’C’,’D’ are supported;
b) When DTMF signals are sent by out-of-band method, all characters in the
ASCII character set can be used.
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Transmits DTMF string in the channel’s outgoing call direction.
The driver will start the DTMF transmission immediately after copying the characters in pszDtmf to the internal
transmission buffer area. When all the characters in the transmission buffer area have been sent out, the driver
throws out the event of E_PROC_SendDTMF to the application. The function SsmChkTxDtmf can be used to
query the transmission status, the function SsmStopTxDtmf can be used to terminate the transmission task.
Note:
z The size of the transmission buffer area of the DTMF generator can be set by the configuration item
TxDtmfBufSize and the default value is 50 characters.
z This function only supports SHT Series, SHD Series and SHN Series boards.
z For IP channel,
a) When DTMF signals are sent by out-of-band method, it is a synchronous function; otherwise it is an
asynchronous function.
b) Only when DTMF signals are sent by in-band method can the function SsmStopTxDtmf be invoked to
terminate the transmission.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmChkTxDtmf, SsmStopTxDtmf, SsmSetTxDtmfPara
2.7.2.2 SsmStopTxDtmf
Stops the transmission task of the DTMF generator.
Format:
int SsmStopTxDtmf(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Note:
z For IP channel, this function call is valid only when DTMF signals are sent by in-band method.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmTxDtmf
2.7.2.3 SsmChkTxDtmf
Queries the transmission status of the DTMF generator.
Format:
int SsmChkTxDtmf(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Error occurs
0 The transmission of DTMF string is completed
1 The transmission of DTMF string is in progress
Function Description:
Queries the transmission status of the DTMF generator.
Note:
z The event of E_PROC_SendDTMF can implement the same feature.
z For IP channel, this function call is valid only when DTMF signals are sent by in-band method.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmTxDtmf, SsmStopTxDtmf
2.8.1.1 SsmSetBargeInSens
Sets the sensitivity of the Barge-in detector.
Format:
int SsmSetBargeInSens(int ch, int nSens)
Parameter Description:
ch Channel Number
nSens Sensitivity, range of value: 0~31, more sensitive with the larger value
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the sensitivity of the Barge-in detector. For more information, refer to Barge-in Detector.
Note:
z The configuration item BargeInSensitive can implement the same feature.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetBargeInSens, SsmSetIsBargeInDtrmTime, SsmSetNoSoundDtrmTime
2.8.1.2 SsmSetIsBargeInDtrmTime
Sets the minimum duration time of Barge-in.
Format:
Parameter Description:
ch Channel Number
wMinKeepTime Minimum duration time (ms), range of value: ≥16, must be integral times of 16ms
Return Value:
-1 Not supported or parameter setting error
0 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
1 Successful
Function Description:
Sets the minimum duration time of Barge-in.
When the voice signal is detected in the incoming call and the duration time is greater than the set value of this
function, the Barge-in detector outputs the detected result of ‘BargeIn’ and throws out the event of E_SYS_BargeIn
to the application. For more information, refer to ‘Barge-in Detector’.
Note:
z The configuration item BargeInDtrmTime can implement the same feature, with the default value of
32ms.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetIsBargeInDtrmTime, SsmSetBargeInSens, SsmSetNoSoundDtrmTime
2.8.1.3 SsmSetVoiceEnergyMinValue
Sets the threshold value for noise judgment.
Format:
Parameter Description:
ch Channel Number
The threshold value for noise judgment, range of value:
nVoiceEnergyMinValue
0<nVoiceEnergyMinValue<=0x7fffffff
Return Value:
-1 Call failed, the failure reason can be obtained from the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the threshold value of Barge-in detector for noise judgment.
Note:
z The configuration item VoiceEnergyMinValue can implement the same feature, with the default value of
100000.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetVoiceEnergyMinValue
2.8.1.4 SsmSetNoSoundDtrmTime
Sets the minimum silence duration.
Format:
int SsmSetNoSoundDtrmTime(int ch, DWORD wMinKeepTime)
Parameter Description:
ch Channel Number
wMinKeepTime Minimum duration time (ms), range of value: ≥16, must be integral times of 16ms
Return Value:
-1 Call failed, the failure reason can be obtained from the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the minimum silence duration.
When the voice signal disappears (i.e. the channel becomes silent) and the silence lasts for a period of time larger
than the set value of this function, the BargeIn detector outputs the detected result of ‘No Sound’ and throws out
the event of E_SYS_NoSound to the application. For more information, refer to ‘Barge in Detector’ in Chapter 1.
Note:
z The configuration item IsNoSoundDtrmTime can implement the same feature, with the defaulted value
of 5000ms.
Related Information:
Driver version SynCTI Ver. 2.0 or higher
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetIsBargeInDtrmTime, SsmSetBargeInSens, SsmGetNoSoundDtrmTime
2.8.1.5 SsmGetBargeInSens
Obtains the sensitivity of the Barge-in detector.
Format:
int SsmGetBargeInSens(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
≥0 The sensitivity of the Barge In detector
Function Description:
Obtains the preset sensitivity of the Barge In detector.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or higher
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetBargeInSens
2.8.1.6 SsmGetIsBargeInDtrmTime
Obtains the preset value of the minimum duration time of BargeIn.
Format:
int SsmGetIsBargeInDtrmTime(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
≥0 Minimum duration time (ms)
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or higher
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetIsBargeInDtrmTime
2.8.1.7 SsmGetVoiceEnergyMinValue
Gets the threshold value for noise judgment.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained from the function SsmGetLastErrMsg
≥0 Successful, return the threshold value for noise judgment.
Function Description:
Gets the threshold value of Barge-in detector for noise judgment.
Note:
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetVoiceEnergyMinValue
2.8.1.8 SsmGetNoSoundDtrmTime
Obtains the preset value of the minimum duration time of silence.
Format:
int SsmGetNoSoundDtrmTime(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
≥0 Minimum duration time (ms)
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or higher
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetNoSoundDtrmTime
2.8.2.1 SsmDetectBargeIn
Obtains the detected result of the Barge-in Detector.
Format:
int SsmDetectBargeIn(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 Barge-in is not detected
1 Barge-in is detected
Function Description:
Obtains the detected result of the Barge-in detector. For more information, refer to ‘Barge in Detector’ in Chapter 1.
Note:
z It’s recommended to use the event of E_SYS_BargeIn to get the detected result.
Related Information:
Driver version SynCTI Ver. 2.0 or higher
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmDetectNoSound
2.8.2.2 SsmDetectNoSound
Obtains the detected results of the silence detector.
Format:
int SsmDetectNoSound(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 ‘No Sound’ is not detected
1 ‘No sound’ is detected
Function Description:
Obtains the detected results of the silence detector.
Note:
z It’s recommended to use the event of E_SYS_NoSound to get the detected result.
Related Information:
Driver version SynCTI Ver. 2.0 or higher
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmDetectBargeIn
2.8.2.3 SsmGetNoSoundTime
Obtains the duration time of silence.
Format:
int SsmGetNoSoundTime(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
≥0 The duration time of silence (ms)
Function Description:
Obtains the duration time of silence. For more information, refer to ‘Barge in Detector’ in chapter 1.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or higher
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmDetectNoSound
2.9.1.1 SsmSetPlayDest
Sets whether to send the voice playing data onto the TDM bus.
Format:
int SsmSetPlayDest(int ch, int nSelDest)
Parameter Description:
ch Channel Number
The selector switch determining whether to send the voice playing data onto the TDM
bus. For SHD and SHT series boards, this parameter controls the status of the switch
nSelDest K1-1 in both operation principle diagrams of SHD and SHT series boards. Value range:
0: Not send onto the bus (switch off);
1: Send onto the bus (switch on).
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Call successful
Function Description:
Sets whether to send the voice playing data onto the TDM bus. For more information, refer to ‘Operation Principle
of SHD Series’ or ‘Operation Principle of SHT Series’ in Chapter 1.
Note:
z This function only supports SHT, SHD and SHN series boards.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.9.2.1 SsmSetPlayVolume
Refer to SsmSetPlayGain
2.9.2.2 SsmSetPlayGain
Sets the voice playing volume for SHD/SHT/SHN Series boards. SsmSetPlayGain achieves more accurate control
than SsmSetPlayVolume.
Format:
int SsmSetPlayVolume(int ch, int nGain)
int SsmSetPlayGain(int ch, WORD wGainLevel)
Parameter Description:
ch Channel Number
Volume gain, range of value: -7~+6. Greater than 0 denotes volume increasing, less
nGain than 0 denotes volume decreasing, -7 denotes completely turning off the audio output;
the default value is 0. The volume value multiplies 3 equals DB value.
Volume gain expressed in hexadecimal form, lower 8 bits are valid, higher 8 bits are
reserved and needs to be set to 0. Range of value:
wGainLevel=0: completely turns off the audio output;
wGainLevel wGainLevel=1: decreases 16 times;
wGainLevel=16: gain keeps unchanged (0DB);
32≤wGainLevel≤255: divides by 16 equals the gain amplification times;
wGainLevel=255: 16 times amplification
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
The above 2 functions are used to set the gain of the volume adjustor A1 in SHD/SHT/ATP/SHN Series boards.
For more information about the volume adjustor A1, refer to Operation Principle of SHD Series or Operation
Principle of SHT Series.
Note:
z The configuration item DefaultPlayVolume can implement the same function as SsmSetPlayVolume.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.9.3.1 SsmSetDtmfStopPlay
Sets whether the voice playing needs to be terminated because of the detection of DTMF character by the DTMF
Detector.
Format:
Parameter Description:
ch Channel Number
Enabling indicator, range of value:
bTerminatePlaybackO
TRUE: turn-on
nDTMF
FALSE: turn-off
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets whether the voice playing needs to be terminated because of the detection of DTMF character by the DTMF
Detector.
In case that the parameter bTerminatePlaybackOnDTMF is set to be TRUE: while the voice is playing on the
channel, if the DTMF Detector detects the DTMF character in the incoming call signals, and the detected DTMF
character is included in the character set preset by the function SsmSetDTMFStopPlayCharSet or the configuration
item DtmfStopPlayCharSet, the driver will stop the voice playing immediately
Note:
z The configuration item DefaultDtmfStopPlay can implement the same feature; the default value of the
configuration item is turn-off.
z The indicator set by this function has effect on the loaded file to be played, single file, multiple files, single
buffer, Pingpong buffer and multiple buffers.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetDTMFStopPlayCharSet, SsmGetDtmfStopPlayFlag
2.9.3.2 SsmSetDTMFStopPlayCharSet
Sets the DTMF character set which is used to terminate the voice playing.
Format:
int SsmSetDTMFStopPlayCharSet(int ch, LPSTR lpstrDtmfCharSet)
Parameter Description:
ch Channel Number
Pointer pointing to the character set which is used to terminate the voice playing. The
lpstrDtmfCharSet usable DTMF characters include: ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘*’, ‘#’, ‘a’, ‘b’, ‘c’,
'd'
Return Value:
Failed, the failure reason may be parameter errors or unsupported operation by the
-1
channel. The detailed reason can be acquired via the function SsmGetLastErrMsg
Failed, the failure reason is that the command can’t be transferred to the board. The
0
detailed reason can be obtained by the function SsmGetLastErrMsg
1 Successful
Function Description:
Sets the DTMF character set which is used to terminate the voice playing.
Note:
z The configuration item DtmfStopPlayCharSet can implement the same feature. The default value is the
full set.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetDtmfStopPlay, SsmGetDTMFStopPlayCharSet
2.9.3.3 SsmGetDtmfStopPlayFlag
Obtains the indicator which denotes whether the voice playing stops because the DTMF Detector detects the
DTMF character.
Format:
int SsmGetDtmfStopPlayFlag(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 The indicator is in the turn-off state
1 The indicator is in the turn-on state
Function Description:
Obtains the indicator which denotes whether the voice playing stops because the DTMF Detector detects the
DTMF character.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetDtmfStopPlay
2.9.3.4 SsmGetDTMFStopPlayCharSet
Obtains the DTMF character set which is used to terminate the voice playing.
Format:
int SsmGetDTMFStopPlayCharSet(int ch, LPSTR lpstrDtmfCharSet)
Parameter Description:
ch Channel Number
lpstrDtmfCharSet Returns the preset DTMF character set
Return Value:
-1 Failed, the failure reason can be acquired via the function SsmGetLastErrMsg
≥0 The length of the character set
Function Description:
Obtains the DTMF character set which is used to terminate the voice playing.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetDTMFStopPlayCharSet
2.9.3.5 SsmSetBargeinStopPlay
Sets whether the voice playing stops because the voice activities are detected by the Barge-in Detector.
Format:
Parameter Description:
ch Channel Number
Enabling indicator, range of value:
bTerminatePlaybackO
TRUE: Turn-on
nBargein
FALSE: Turn-off
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets whether the voice playing stops because the voice activities are detected by the Barge-in Detector.
In the case that the parameter bTerminatePlaybackOnBargein is set to be TRUE: When the voice is playing on the
channel, if the Barge-in Detector detects voice activities in the incoming call signals, the driver terminates the voice
playing.
Note:
z The configuration item DefaultBargeInStopPlay can implement the same feature; the default value is
turn-off.
z The indicator set by this function has effect on the loaded file to be played, single file, multiple files, single
buffer, Pingpong buffer and multiple buffers.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetBargeinStopPlayFlag
2.9.3.6 SsmGetBargeinStopPlayFlag
Obtains the indicator which denotes whether the voice playing is stops because the Barge-in Detector detects the
voice activities.
Format:
int SsmGetBargeinStopPlayFlag(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 The indicator is in turn-off state
1 The indicator is in turn-on state
Function Description:
Obtains the indicator which denotes whether the voice playing stops because the Barge-in Detector detects the
voice activities.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetBargeinStopPlay
2.9.3.7 SsmSetHangupStopPlayFlag
Sets whether the voice playing stops because the driver detects the hangup of the remote end.
Format:
Parameter Description:
ch Channel Number
The indicator denoting whether the voice playing stops when the driver detects the
hangup of the remote end:
bHangupStopPlayFlag
TRUE: turn-on
FALSE: turn-off
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets whether the voice playing stops because the driver detects the hangup of the remote end on Channel ch.
Note:
z The configuration item HangupStopPlay can implement the same feature; the default value is turn-off.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.9.4.1 SsmPlayFile
Plays a single file, starts the file playing task.
Format:
int SsmPlayFile(int ch, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwLen)
Parameter Description:
ch Channel Number
Voice file name. It could be either a standard wav file or a non-header file. If it’s a standard
pszFileName wav file, the voice encoding format is achieved from the file header, the parameter nFormat
is ignored. If it’s a non-header file, the voice encoding format is designated by nFormat.
Encoding format of the voice data, range of value and its meaning are listed below:
Value Encoding format Remarks
-2 PCM16
1 PCM8
6 A-Law
7 μ-Law
17 IMA ADPCM The board is required to have the hardware decoding
capability
nFormat
23 VOX
49 GSM
85 MP3
131 G.729A
Note: nFormat = -1 represents the default encoding format which is related to the item
DefaultRecordFormat in ShConfig.ini. For more information about whether a specific board
model supports the above encoding format and in which way it supports, refer to ‘Board
Supported CODECs’ in Chapter 1
The starting position counted from the actual voice data part in the file. For the standard
dwStartPos wav file, the starting position 0 represents the position of the first voice data byte following
the file header; For the non-header file, it’s counted from the head part of the file.
The length of the voice data (bytes) to be played. If this parameter is larger than the length
dwLen
from dwStartPos to the tail part of the file, the latter is used to be the actual playing length.
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Plays a single file.
After invoking this function, the driver starts playing a single file. The file playing task stops if one of the following
events happens:
All the data in the file have been played out.
The application invokes SsmStopPlayFile or SsmStopPlay;
DTMF, Barge in or remote end hangup has been detected. For more information, refer to Setting
Termination Condition in chapter 1.
For some models in the SHD series, the configuration item of LinkFromStopPlayAndTone is set to 1 and
the off-bus operation is performed on the channel. For more information, refer to ‘Operation Principle of
SHD Series’ in chapter 1.
After the file playing task is finished, the driver closes the played file and throws out the event of
E_PROC_PlayEnd to the application. The function SsmCheckPlay can also be used to enquire the status of the
file playing.
During the execution of file playing, the driver throws out the event of E_PROC_PlayFile to the application at every
time interval. The function SsmSetEvent (with the parameter E_PROC_PlayFile) sets whether to throw out this
event by the driver and the time interval of throwing out events. By default, every 1000ms the driver throws out the
event and outputs the time length of the file played.
During the execution of file playing, the application can call the below functions to pause the file playing or adjust
the file playing position.
SsmPausePlay
SsmFastFwdPlay
SsmFastBwdPlay
SsmSetPlayTime
SsmSetPlayPrct
The following functions can be called to obtain the related information:
SsmGetDataBytesToPlay
SsmGetPlayedTime
SsmGetPlayedPercentage
Note:
z The file is opened with ‘shared read’ mode, so this function supports the feature of ‘record while play’;
z If this function is called on channel 0, for ATP/DST Series boards, the played voice is sent to the port of
the on-board speaker, but not to the line; For SHT Series boards, the played voice is sent not only to the
line but also to the port of the on-board speaker;
z Due to historical reasons, the coding value 65411 which ever represented G.729A is still valid in early
versions and backward compatible. For G.729A recording in new versions, we suggest you use the
coding value 131.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopPlayFile, SsmStopPlay, SsmCheckPlay, SsmPausePlay, SsmRestartPlay,
SsmFastFwdPlay, SsmFastBwdPlay, SsmSetPlayTime, SsmSetPlayPrct, SsmGetDataBytesToPlay,
SsmGetPlayedTime, SsmGetPlayedPercentage
2.9.4.2 SsmStopPlayFile
Stops the file playing task.
Format:
int SsmStopPlayFile(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Stops the file playing task started by the function call of SsmPlayFile.
Note:
z This function can be totally replaced by the function SsmStopPlay.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.9.4.3 SsmPausePlay
Pauses (suspends) the file playing.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Pauses (suspends) the file playing. When the file playing is paused, the application can only execute the below
operations:
z Invokes the function SsmStopPlayFile or SsmStopPlay to stop the file playing.
z Invokes the function SsmRestartPlay to restart the file playing.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmRestartPlay, SsmStopPlayFile, SsmStopPlay
2.9.4.4 SsmRestartPlay
Restarts the file playing which is paused by the function call of SsmPausePlay.
Format:
int SsmRestartPlay(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Restarts the file playing which is paused by the function call of SsmPausePlay.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPausePlay, SsmStopPlayFile, SsmStopPlay
2.9.4.5 SsmFastFwdPlay
Skips 1 second of voice data and continues to play.
Format:
int SsmFastFwdPlay(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Starting from the current playing position, skips 1 second (configurable with the configuration item FastPlayTime)
of voice data, and then continues the single file playing.
Note:
z If the remaining voice data is less than 1 second, the driver regards that the entire voice data has been
played out and stops the current playing.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFastBwdPlay, SsmStopPlayFile, SsmStopPlay
2.9.4.6 SsmFastBwdPlay
Skips back 1 second of voice data and continues to play.
Format:
int SsmFastBwdPlay(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Starting from the current playing position, skips back 1 second (configurable with the configuration item
FastPlayTime), and then continues the file playing.
Note:
z If the playing position returns to the start of the file, the file will be played from the beginning.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFastFwdPlay, SsmPausePlay, SsmStopPlayFile, SsmStopPlay
2.9.4.7 SsmSetPlayTime
Jumps to a specified time position in the file and continues to play.
Format:
int SsmSetPlayTime(int ch, DWORD dwTime)
Parameter Description:
ch Channel Number
dwTime Time (ms) based new playing position
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Jumps to the specified time position in the file and continues to play. The function SsmGetPlayingFileInfo can be
used to obtain the file information such as the duration of the file.
Note:
z If the file offset specified in the parameter dwTime exceeds the length of the voice data, the driver
regards that the entire voice data has been played out and stops the current playing.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPlayingFileInfo, SsmSetPlayPrct, SsmStopPlayFile, SsmStopPlay
2.9.4.8 SsmSetPlayPrct
Jumps to the specified percentage position in the file and continues to play.
Format:
Parameter Description:
ch Channel Number
dwPercentage The new playing position based on the percentage of the file, range of value: 0~100
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Jumps to the position of a specified percentage in the file and continues to play. The function
SsmGetPlayingFileInfo can be used to obtain the file duration.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetPlayTime, SsmStopPlayFile, SsmStopPlay
2.9.4.9 SsmGetDataBytesToPlay
Queries the length (bytes) of the voice data which has not been played.
Format:
int SsmGetDataBytesToPlay(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
≥0 The length (bytes) of the voice data which has not been played
Function Description:
Queries the length (bytes) of the voice data which has not been played.
Note:
z This function only supports the voice playing task started by the function SsmPlayFile.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetDataBytesPlayed, SsmGetPlayedTime, SsmGetPlayedPercentage
2.9.4.10 SsmGetDataBytesPlayed
Queries the length of the voice data which has been played.
Format:
int SsmGetDataBytesPlayed(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
≥0 The length (bytes) of voice data which has been played
Function Description:
Queries the length of the voice data which has been played.
Note:
z This function only supports the voice playing task started by the function SsmPlayFile.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetDataBytesToPlay, SsmGetPlayedTime, SsmGetPlayedPercentage
2.9.4.11 SsmGetPlayedTimeEx
Obtains the playtime starting from the 1st voice data byte to the current playing position in the file.
Format:
int SsmGetPlayedTimeEx(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
Returns the playtime (ms) starting from the 1st voice data byte to the current playing
≥0
position in the file
Function Description:
Obtains the playtime starting from the 1st voice data byte to the current playing position in the file.
For example, after starting file playing by calling the function SsmPlayFile(ch, ‘Voice.voc’, 7, 16000, ), if the driver
initiates playing from the file offset 16000 and has played 10 seconds of voice data, invoke this function and its
return value will be 10+2=12 seconds (the playing duration for 16000 bytes μ-law format voice data is 2 seconds).
Note:
z This function is only applicable to the file playing which is started by the function call of SsmPlayFile.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPlayedTime
2.9.4.12 SsmGetPlayingFileInfo
Obtains the related information of the playing file.
Format:
Parameter Description:
ch Channel Number
Returns the voice encoding format of the playing file. For the code value of the voice
pnFormat CODEC format in the SynCTI driver platform, refer to SynCTI Supported CODECs in
Chapter 1
pnTime Total time length (ms) of the voice data in the file
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
After the application calls the function of SsmPlayFile, this function is used to obtain the related information of the
playing file.
Note:
z This function is only applicable to the playing task initiated by the function SsmPlayFile.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPlayFile, SsmGetPlayedTime, SsmGetPlayedTimeEx, SsmGetPlayedPercentage
2.9.5.1 SsmClearFileList
Closes and clears all the voice files submitted to the driver.
Format:
int SsmClearFileList(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Closes and clears all the voice files submitted to the driver.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAddToFileList
2.9.5.2 SsmAddToFileList
Submits a voice file to be played to the driver.
Format:
int SsmAddToFileList(int ch, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwLen)
Parameter Description:
ch Channel Number
Voice file name, it is either a standard wav file or a non-header file. If it’s a standard
wav file, the voice encoding format is achieved from the file header, the parameter
pszFileName
nFormat is ignored. If it’s a non-header file, the voice encoding format is designated by
nFormat.
Encoding format of the voice data, range of value and its meaning are listed below:
Value Encoding format Remark
-2 PCM16
1 PCM8
6 A-Law
7 μ-Law
nFormat 17 IMA ADPCM The board is required to have the hardware
decoding capability
23 VOX
85 MP3
For more information about whether a specific board model supports the above
encoding formats and in which way it supports, refer to ‘Board Supported CODECs’ in
Chapter 1
The starting position counted from the actual voice data part in the file. For the
standard wav file, the starting position 0 represents the position of the first voice data
dwStartPos
byte following the file header; For the non-header file, it’s counted from the head part
of the file
The length (bytes) of the voice data to be played. If this parameter is larger than the
dwLen actual length calculated from dwStartPos, the driver regards that the file will be played
until the end
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Submits a voice file to be played to the driver. After the file is submitted, the multi-file playing task can be started by
the function call of SsmPlayFileList.
Note:
z After this function is successfully executed, the submitted file is opened with ‘shared read’ mode. The file
keeps open until the function SsmClearFileList is called to close it.
z This function can be invoked continuously to submit multiple files, but the total number can’t exceed the
value set in the configuration item MaxPlayFileList. All the files must have the same voice CODEC
format.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPlayFileList, SsmStopPlay, SsmClearFileList
2.9.5.3 SsmPlayFileList
Starts the multi-file playing task.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Starts the multi-file playing task. After the application calls this function, the driver starts the task of multi-file playing
and plays the first file. Each time when one file is played out, the driver throws out the event of
E_PROC_PlayFileList to the application, and then starts to play the next file.
The driver stops playing the file if one of the following events happens:
All data in the file have been played out.
The application calls SsmStopPlayFileList or SsmStopPlay;
DTMF, Barge-in or remote hang-up is detected by the driver. For more information, refer to Setting
Termination Condition in chapter 1.
For some models in the SHD series, the configuration item of LinkFromStopPlayAndTone is set to 1 and
the off-bus operation is performed on the channel. For more information, refer to ‘Operation Principle of
SHD Series’ in chapter 1.
After the file finishes playing, the driver throws out the event of E_PROC_PlayEnd to the application. The function
of SsmCheckPlay can also be used to query the status of the file playing.
Note:
z Before invoking this function, you can call the function SsmAddToFileList to add files to the file list if it is
empty.
z The driver won’t close the submitted file after the file playing task is terminated. In such case, you can
call the function SsmClearFileList to clear the file list.
z If this function is invoked on Channel 0, for the ATP/DST Series boards, the played voice is sent directly
to the port of the on-board speaker, but not to the line; for the SHT Series boards, the played voice is not
only sent to the line, but also to the port of the on-board speaker.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopPlayFileList, SsmStopPlay, SsmCheckPlay, SsmAddToFileList, SsmClearFileList
2.9.5.4 SsmStopPlayFileList
Stops the multi-file playing task.
Format:
int SsmStopPlayFileList(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Stops the task of multi-file playing, the task must be started by the function of SsmPlayFileList.
Note:
z This function can be completely replaced by the function of SsmStopPlay.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPlayFileList, SsmClearFileList, SsmStopPlay
2.9.6.1 SsmPlayMem
Starts the task of single-buffer playing.
Format:
int SsmPlayMem(int ch, int nFormat, LPBYTE pBuf, DWORD dwBufSize, DWORD dwStartOffset, DWORD
dwStopOffset)
Parameter Description:
ch Channel Number
Encoding format of the voice data, range of value and its meaning are listed below:
Value Encoding format Remarks
1 PCM8
6 A-Law
7 μ-Law
nFormat The board is required to have the hardware
17 IMA ADPCM
decoding capability
-2 PCM16
85 MP3
For more information about whether a specific board model supports the above encoding
formats and in which way it supports, refer to ‘Board Supported CODECs’ in Chapter 1
pBuf The address of the buffer storing voice data
dwBufSize The size (bytes) of the buffer storing voice data; it should be no less than 768 bytes
Starting position (bytes) of voice playing (offset), it’s calculated from the initial address of
dwStartOffset
the buffer
Ending position (bytes) of voice playing (offset), it’s calculated from the initial address of
the buffer. If this parameter is less than the buffer length, when the playing pointer in the
dwStopOffset driver reaches the position designated by dwStopOffset, the current voice playing is
finished; Otherwise, the buffer is circularly played until the application calls
SsmStopPlayMem to stop the voice playing.
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Starts the task of single-buffer playing.
After calling this function, the driver will start the task of single-buffer playing. Meanwhile, the driver maintains a
playing pointer (offset) with the initial value equaling to dwStartOffset, which is used to read data from the
submitted buffer. The single-buffer playing task stops if one of the following events happens:
The value of dwStopOffset is less than the submitted buffer size and the playing pointer in the driver
reaches the ending position specified by the parameter dwStopOffset, which means the specified data
in the buffer have been played out.
The application calls SsmStopPlayMem or SsmStopPlay;
The driver detects DTMF, Barge in or remote hang-up. For more information, refer to ‘Setting
Termination Condition’ in Chapter 1.
For some models in the SHD series, the configuration item of LinkFromStopPlayAndTone is set to 1 and
the off-bus operation is performed on the channel. For more information, refer to ‘Operation Principle of
SHD Series’ in chapter 1.
After the task of single-buffer playing is finished, the driver throws out the event of E_PROC_PlayEnd to the
application. The function SsmCheckPlay can also be used to query the status of single-buffer playing.
During the execution of single-buffer playing, each time when the preset condition is met, the driver outputs the
event of E_PROC_PlayMem to the application. The output conditions of the event E_PROC_PlayMem can be set
by the function SsmSetEvent to one of the three methods:
The driver finishes the playing of a designated length of voice data
The playing pointer in the driver gets across 1/2 part of the buffer.
The playing pointer reaches to the terminating position of the buffer
For the settings of output conditions of the event of E_PROC_PlayMem, refer to MESSAGE_INFO in Chapter 1.
The function SsmSetStopPlayOffset can be used to reset the ending position of playing. The function
SsmStopPlayMem or SsmStopPlay can be used to terminate the single-buffer playing, the function
SsmGetPlayOffset can be used to obtain the playing pointer in the driver.
Note:
z If this function is invoked on the channel 0, for the ATP/DST Series boards, the played voice is sent
directly to the port of the on-board speaker, but not to the line; For the SHT Series boards, the played
voice is not only sent to the line, but also to the port of the on-board speaker.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopPlayMem, SsmStopPlay, SsmSetStopPlayOffset, SsmGetPlayOffset, SsmSetEvent
2.9.6.2 SsmStopPlayMem
Terminates the task of single-buffer playing initiated by the function SsmPlayMem.
Format:
int SsmStopPlayMem(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Terminates the task of single-buffer playing initiated by the function SsmPlayMem.
Note:
z After this function is successfully called, the driver will still throw out the event of E_PROC_PlayEnd;
z The function SsmStopPlay can implement the same features.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPlayMem, SsmSetStopPlayOffset, SsmStopPlay
2.9.6.3 SsmSetStopPlayOffset
Resets the ending position for playback in the buffer.
Format:
int SsmSetStopPlayOffset(int ch, DWORD dwStopPlayOffset)
Parameter Description:
ch Channel Number
dwStopPlayOffset Ending offset of the buffer
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Resets the ending position for playback in the buffer.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPlayOffset
2.9.6.4 SsmGetPlayOffset
Obtains the playing pointer in the driver during the single-buffer playing.
Format:
Parameter Description:
ch Channel Number
Returns the playing pointer in the driver, an offset (bytes) based on the initial address
pdwPlayOffset
of the buffer
Return Value:
-1 Failed
0 Successful
Function Description:
Obtains the playing pointer in the driver during the single-buffer playing.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetStopPlayOffset
2.9.7.1 SsmAddToPlayMemList
Submits a buffer to the driver.
Format:
Parameter Description:
Pointer pointing to the voice data buffer. The storage space of buffer area is allocated
pBuf
by the application
dwDataLen The size (byte) of the voice data buffer
Voice encoding format. Range of value:
nFormat 6:A-law
7:μ-law
17:IMA ADPCM
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Submits a buffer with the voice data to be played to the driver. For each submitted buffer, the driver assigns a serial
number to it. The first one is assigned with 0, and the rest may be deduced by analogy.
This function can be called multiple times continuously, but the maximum number of times cannot exceed the set
value of the configuration item MaxPlayMemList. The driver plays the buffers in the submitting sequence.
Note:
z The buffer submitted by this function is not specific to a particular channel. It can be used by all channels.
z All the buffers submitted must use the same voice encoding format.
z When the driver is executing this function, it only records the information in the buffer but does not copy
the data in the buffer to the driver itself. Therefore, the application must ensure that no channel is
executing the task of playing multiple buffers before releasing the submitted buffer.
z If the data is in ADPCM format, special attentions should be paid to the frame structure because
disordered frame data will cause noises.
Related Information:
Driver version SynCTI Ver. 3.0or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmClearPlayMemList, SsmPlayMemList
2.9.7.2 SsmClearPlayMemList
Clears all the buffers submitted to the driver.
Format:
int SsmClearPlayMemList()
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Clears all the buffers submitted to the driver.
Note:
z Ensure that no channel is executing the task of playing multiple buffers before invoking this function.
Related Information:
Driver version SynCTI Ver. 3.0or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmAddToPlayMemList
2.9.7.3 SsmPlayMemList
Starts voice playing in Buffer List Mode.
Format:
int SsmPlayMemList(int ch, PWORD pMemList, WORD wMemListLen)
Parameter Description:
ch Channel Number
Array pointer storing the serial number of the buffer to be played. The serial number of
pMemList the buffer must be submitted to the driver in advance by the function
SsmAddToPlayMemList .
wMemListLen Length of the array
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Note:
z If the channel does not support the hardware decoding to the encoding format designated by the function
SsmAddToPlayMemList which submits the buffers to the driver, this function will fail. Whether a channel
supports the hardware decoding to a specific encoding format is determined by the model of the board.
For more details, refer to the related information in Chapter 1.
z If this function is called on channel 0, for ATP/DST Series boards, the voice is sent to the port of the
on-board speaker, but not to the line; for SHT Series boards, the voice is sent not only to the line but also
to the port of the on-board speaker.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopPlayMemList, SsmStopPlay, SsmCheckPlay, SsmAddToPlayMemList
2.9.7.4 SsmStopPlayMemList
Stops voice playing in Buffer List Mode which is initiated by the function SsmPlayMemList.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Stops voice playing in Buffer List Mode which is initiated by the function SsmPlayMemList.
Note:
z After this function is called successfully, the driver will still throw out the event of E_PROC_PlayEnd to
the application.
z This function can be completely substituted by the function SsmStopPlay.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPlayMemList, SsmStopPlay
2.9.8.1.1 SsmSetMaxIdxSeg
Format:
int SsmSetMaxIdxSeg(WORD wMaxIdxSeg)
Parameter Description:
wMaxIdxSeg The maximum number of index segments
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the amount of preloaded voice segments. The configuration item MaxIndexSeg can implement the same
feature.
Note:
z The existing preload voice segments will be unloaded once this function is called.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.9.8.1.2 SsmGetTotalIndexSeg
Format:
int SsmGetTotalIndexSeg ()
Return Value:
-1 Failed
≥0 The amount of index segments
Function Description:
Note: None.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetMaxIdxSeg
2.9.8.1.3 SsmLoadIndexData
Format:
int SsmLoadIndexData(int nSegNo, LPSTR pAlias, int nCodec, LPSTR pVocFile, long lStartPos, long lLen)
Parameter Description:
The number assigned to the voice segment, range of value: 0~N. N is the preset
nSegNo amount of the voice data segments which can be obtained by the function
SsmGetTotalIndexSeg
The alias assigned to the voice segment whose maximum length is 20 characters. The
pAlias
numbers ‘0’ ~ ‘9’ cannot be used as the first character of the alias string
Encoding format of the voice data, range of value and the corresponding meanings are
listed below:
Value Encoding Format Remark
1 PCM_8
-2 PCM_16
6 A-Law
7 μ-Law
nCodec
The board is required to have the
17 IMA ADPCM
hardware decoding capability
The board is required to have the
23 VOX
hardware decoding capability
For more information about whether each specific board model supports the above
encoding format and in which way it supports, refer to ‘Board Supported CODECs’ in
chapter 1
pVocFile The file containing voice segments. It can be a standard wav file or a non-header file
without the file header. If it is a standard wav file, the format specified by the parameter
nCodec will be ignored. Otherwise, it will be regarded as a non-header file, and the
encoding format will be determined by the parameter nCodec
The starting position counted from the actual voice data in the file. For the standard
wav file, the starting position 0 represents the position of the first voice data byte
lStartPos
following the file header. For the non-header file, it’s counted from the head part of the
file.
The length (bytes) of the voice segment.
Note:
z If this parameter is larger than the data length from the position lStartPos to the
end of the file, then the latter is adopted as the actual load length.
lLen
z If lLen=-1, then data is loaded from the position lStartPos to the end of the file.
The conversion between the byte length and time length of voice segment is
determined by the encoding format. For the related information, refer to ‘SynCTI
Supported CODECs’ in chapter 1
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Loads the voice segment data from the specified file to the memory. The encoding format of the voice segment
data is determined by the following rule:
1. If pVocFile is a standard WAV file, the parameter nCodec will be ignored.
2. If pVocFile is not a standard WAV file, it will be regarded as a non-header file and the encoding format will
be determined by the parameter nCodec.
Note:
z This function should be invoked for each preload voice segment.
z The section SegNo in the configuration file ShIndex.ini can implement the same feature.
z The application must ensure that all the preload voice segments have the same encoding format.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
SsmFreeIndexData
2.9.8.1.4 SsmFreeIndexData
Format:
int SsmFreeIndexData(int nSegNo)
Parameter Description:
nSegNo The number assigned to the voice segment
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Unloads the voice segments in the memory. After the segments being unloaded, the segment number (nSegNo)
can be reused for new voice segment data.
Note:
z When the driver uninstalls the function SsmCloseCti, it will automatically release all the resources
occupied by preload voice segment data, such as the memory.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmLoadIndexData
2.9.8.1.5 SsmLoadChIndexData
Loads voice segment data from the specified file to the memory of the corresponding channel.
Format:
int WINAPI SsmLoadChIndexData(int ch, int nSegNo, LPSTR pAlias, int nCodec, LPSTR pVocFile, long lStartPos,
long lLen)
Parameter Description:
ch Channel number
nSegNo The number assigned to voice segment in the memory index
The alias assigned to voice segment in the memory index. The maximum length of the
pAlias
alias is 20 characters
Encoding format for voice segment data, with the optional values of 6 (A-law), 7(μ-law)
nCodec
and 17(IMA ADPCM)
pVocFile The file containing voice segment data
lStartPos The start position of voice segment data in the voice file (the file header excluded)
The length (bytes) of the voice segment data to be loaded. If this parameter is larger
than the data length from the position lStartPos to the end of the file, then the latter is
lLen
adopted as the actual load length. If lLen=-1, then the data is just loaded from the
position lStartPos to the end of the file
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Call successful
Function Description:
Loads voice segment data from the specified file to the memory of the corresponding channel. The encoding
format of the voice segment data is determined by the following rule:
1. If pVocFile is a standard WAV file, the parameter nCodec will be ignored.
2. If pVocFile is not a standard WAV file, it will be regarded as a non-header file and the encoding format will
be determined by the parameter nCodec.
Note:
z When the driver uninstalls the function SsmCloseCti, it will automatically release all the resources
occupied by preload voice segment data, such as the memory.
Related Information:
Driver version SynCTI Ver. 4.8.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFreeChIndexData
2.9.8.1.6 SsmFreeChIndexData
Format:
int WINAPI SsmFreeChIndexData(int ch, int nSegNo)
Parameter Description:
ch Channel number
nSegNo The number assigned to voice segment in the memory index
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Call successful
Function Description:
Unloads the voice segment data in the memory. After the segments being unloaded, the segment number (nSegNo)
can be reused for new voice segment data.
Note:
z When the driver uninstalls the function SsmCloseCti, it will automatically release all the resources
occupied by preload voice segment data, such as the memory.
Related Information:
Driver version SynCTI Ver. 4.8.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmLoadChIndexData
2.9.8.2.1 SsmPlayIndexString
Refer to SsmPlayIndexList.
2.9.8.2.2 SsmPlayIndexList
Format:
Parameter Description:
ch Channel Number
The amount of preload voice segments to be played, range of value: 1~N-1. N is set by
wIdxListLen
the configuration item MaxPlayIndexList.
The array storing the number of the preload voice segments. The voice segments
pwIdxList
must have the same encoding format.
The string containing the information of preload voice segments. It is used for storing
the index of the alias or number of voice segments to be played. The preload voice
segments are separated by ‘,’, and each of them can be denoted by a number or an
alias. The corresponding relationship between the number (or alias) and the voice
segment is determined by the system initialization function SsmStartCti according to
pszIdxStr
the preload voice configuration file ShIndex.ini; also it can be loaded by the function
SsmLoadIndexData and unloaded by the function SsmFreeIndexData respectively.
The amount of the preload voice segments designated in pszldxStr cannot exceed the
set value in the configuration item MaxPlayIndexList. Note: All the voice segments
designated in pszIdxStr must have the same encoding format.
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Note:
z This function only supports the channels which are designated by pwIdxList or pszIdxStr with the
hardware decoding capability. For more information, refer to the function SsmLoadIndexData.
z If this function is called on channel 0, for ATP/DST Series boards, the voice is sent to the port of the
on-board speaker, but not to the line; For SHT Series boards, the voice is sent not only to the line but
also to the port of the on-board speaker.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopPlayIndex, SsmStopPlay, SsmCheckPlay, SsmLoadIndexData
2.9.8.2.3 SsmStopPlayIndex
Format:
int SsmStopPlayIndex(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Stops playing preload voice segments. After the task of playing preload voice segments is stopped, the driver will
set the cause of termination to be CHKPLAY_APPLICATION_END and throw out the event of E_PROC_PlayEnd
to the application.
Note:
z The task of voice playing should be started by the function SsmPlayIndexString or SsmPlayIndexList.
z This function can be completely substituted by the function SsmStopPlay.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPlayIndexString, SsmPlayIndexList, SsmStopPlay
2.9.9.1 SsmPlayMemBlock
Submits a buffer to the driver and starts voice playing in Pingpong Buffer Mode.
Format:
int SsmPlayMemBlock(int ch, int nFormat, LPBYTE pBuf, DWORD dwBufSize, PLAYMEMBLOCKHANDLER
pfnCallback, PVOID pV)
Parameter Description:
ch Channel Number
Voice encoding format. Range of value:
-2:PCM16
1:PCM8
nFormat
6:A-law
7:μ-law
17:IMA ADPCM (The board is required to have the hardware decoding capability)
pBuf The pointer pointing to the voice data buffer
The size (Bytes) of the voice data buffer. The minimum value of dwBufSize is
determined by the following rules:
dwBufSize z If the configuration item RecordAndPlayUseAsIP is set 0 (default), dwBufSize
should be no less than 768 bytes.
z If RecordAndPlayUseAsIP is set 1, for A-law, μ-law, PCM8 and PCM16,
The function SsmCheckPlay can also be used to check the completion status of the task of voice playing in
Pingpong Buffer Mode.
Note:
z If the channel does not support the hardware decoding to the encoding format designated by the
parameter nFormat, this function will fail. Whether a channel supports the hardware decoding to a
specific encoding format is determined by the model of the board. For more details, refer to the related
information in Chapter 1.
z In the callback function, the time for the application to update the voice data and execute the submitted
code should be minimized and not exceed the interruption time of the driver (8ms). Otherwise it may
cause driver error.
z The application can invoke the function SsmStopPlayMemBlock or SsmStopPlay to stop the
double-buffer voice playing, but these two functions can’t be called in the callback function.
z After the task of voice playing in Pingpong Buffer Mode is stopped, the driver will throw out the event of
E_PROC_PlayEnd to the application.
z If this function is called on Channel 0, for ATP/DST Series boards, the voice is sent to the port of the
on-board speaker, but not to the line; For SHT Series boards, the voice is sent not only to the line but
also to the port of the on-board speaker.
z It is not allowed to submit more than two buffers to the driver at the same time.
z It is not allowed to use the timer to invoke the function SsmPlayMemBlock.
Sample Code:
......//initialize and fill the buffers szPlayBuf1, szPlayBuf2
BOOL PlayStart(int nCh)
{
if(SsmPlayMemBlock(nCh, 6, szPlayBuf1, dwBufSize, PlayCallBack, NULL) != 0)//submit the buffer
szPlayBuf1 to the driver and start voice playing in Pingpong Buffer Mode
{
SsmGetLastErrMsg(szErrMsg);
cout<<szErrMsg<<endl;
return FALSE;
}
if(SsmPlayMemBlock(nCh, 6, szPlayBuf2, dwBufSize, PlayCallBack, NULL) != 0)//submit the buffer
szPlayBuf2 to the driver
{
SsmGetLastErrMsg(szErrMsg);
cout<<szErrMsg<<endl;
return FALSE;
}
return TRUE;
}
BOOL PlayCallBack(int ch, int nEndReason, PUCHAR pucBuf, DWORD dwStopOffset, PVOID pV)
{
int nResult = 0;
if(pucBuf == szPlayBuf1)
{
......//refill the buffer szPlayBuf1
nResult = SsmPlayMemBlock(ch, 6, szPlayBuf1, dwBufSize, PlayCallBack, pV);)//submit the buffer
szPlayBuf1 to the driver
}
else if(pucBuf == szPlayBuf2)
{
......//refill the buffer szPlayBuf2
nResult = SsmPlayMemBlock(ch, 6, szPlayBuf2, dwBufSize, PlayCallBack, pV);//submit the buffer szPlayBuf2
to the driver
}
return nResult;
}
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopPlayMemBlock, SsmStopPlay, SsmPlayMem, SsmPlayMemList
2.9.9.2 SsmStopPlayMemBlock
Stops the task of voice playing in Pingpong Buffer Mode initialized by SsmPlayMemBlock.
Format:
int SsmStopPlayMemBlock(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Stops the task of voice playing in Pingpong Buffer Mode initialized by SsmPlayMemBlock.
Note:
z This function cannot be invoked in the callback function which is set by the function SsmPlayMemBlock.
z This function can be completely substituted by the function SsmStopPlay.
Related Information:
Driver version SynCTI Ver. 3.0or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPlayMemBlock, SsmStopPlay
2.9.10.1 SsmStopPlay
Stops voice playing in any mode.
Format:
int SsmStopPlay(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Stops voice playing in any mode.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
SsmStopPlayFile, SsmStopPlayFileList, SsmStopPlayMem, SsmStopPlayMemList, SsmStopPlayIndex,
SsmStopPlayMemBlock
2.9.11.1 SsmQueryPlayFormat
Queries if the channel supports the designated voice playing format.
Format:
Parameter Description:
ch Channel Number
Voice playing format, for the range of value and more detailed information, refer to
nFormat
SynCTI Supported CODECs in Chapter 1
Return Value:
0 Not supported
1 Supported with hardware decoding
2 Supported with software decoding
Function Description:
Queris if the channel supports the designated voice playing format.
Note:
z This function is applicable to the channels of any type.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.9.11.2 SsmGetPlayType
Queries the mode of voice playing performed currently on the channel.
Format:
int SsmGetPlayType(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 No voice playing
1 Playing a single file
2 Playing a single file, but the file playing is suspended by the application
3 Playing the file list
4 Playing the preload voice
5 Playing a single buffer
6 Playing the buffer list
Transmitting FSK data (Note: Transmitting FSK data will occupy the resource of voice
7
playing)
Using the voice-playing operation to achieve voice exchange between the channels
8
without CT-bus
9 Playing the Pingpong buffer
Function Description:
Queries the mode of voice playing performed currently on the channel.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.9.11.3 SsmCheckPlay
Obtains the completion status of voice playing.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 Voice playing in progress
Voice playing is ended: All voice data played out or no voice playing task on the
1
channel
The playing task is stopped because DTMF characters are detected. For more
2
information, refer to Setting Termination Condition in Chapter 1.
The playing task is stopped because bargein is detected. For more information, refer to
3
Setting Termination Condition in Chapter 1.
The playing task is stopped because remote hangup is detected. For more information,
4
refer to Setting Termination Condition in Chapter 1.
5 The playing task is terminated by the application
The playing task is suspended by the function SsmPausePlay which is invoked by the
6
application. To start the voice playing task, invoke the function SsmPlayFile
The playing task is terminated due to the off-bus operation on the channel. For more
7
information, refer to Setting Termination Condition in Chapter 1
8 The playing task is terminated due to network disconnection. When the application is
invoking the function SsmPlayFile to play voice files in other computers located in the
network, and the driver fails to read the files due to such reasons as network
disconnection, it returns this value.
Function Description:
Obtains the completion status of the voice playing.
Note:
z The voice playing task can be initialized by the following functions: SsmPlayFile, SsmPlayFileList,
SsmPlayMemList, SsmPlayIndexList, SsmPlayIndexString, SsmPlayMem, and SsmPlayMemBlock.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Functions: SsmPlayFile, SsmPlayFileList, SsmPlayMemList, SsmPlayIndexList, SsmPlayIndexString,
SsmPlayMem, SsmPlayMemBlock
2.9.11.4 SsmGetPlayedPercentage
Obtains the percentage of the played data to the whole.
Format:
int SsmGetPlayedPercentage(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
≥0 The percentage of the played bytes to the whole
Function Description:
Obtains the percentage of the played data to the whole.
Note:
z This function supports the voice playing task initialized by the function SsmPlayIndexList,
SsmPlayIndexString, SsmPlayFile, SsmPlayFileList, and SsmPlayMemList.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPlayedTime
2.9.11.5 SsmGetPlayedTime
Obtains the duration of the current voice playing.
Format:
int SsmGetPlayedTime(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
≥0 The duration (ms) of the voice playing
Function Description:
Obtains the duration of the current voice playing.
Note:
z This function supports the voice playing tasks initialized by the function SsmPlayFile, SsmPlayFileList,
SsmPlayMemList, SsmPlayIndexList, SsmPlayIndexString, and SsmPlayMem.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPlayedPercentage, SsmGetDataBytesToPlay, SsmGetPlayedTimeEx,
SsmGetPlayingFileInfo.
2.10.1.1.1 SsmSetRecVolume
Refer to SpySetRecVolume.
2.10.1.1.2 SpySetRecVolume
Sets the gain of the volume adjuster A3 for the incoming signal entering the recording mixer M3.
Format:
int SsmSetRecVolume(int ch, int nVolume)
int SpySetRecVolume(int nCic, WORD wDirection, int nVolume)
Parameter Description:
ch Channel Number
nCic The logic number of SpyCic. For more information, refer to ‘DTP Series’ in Chapter 1
The direction of the volume adjuster, range of value:
0: Sets the calling party’s volume, used for the occasion to record the calling party only
wDirection 1: Sets the called party’s volume, used for the occasion to record the called party only
2: Sets both the calling party’s and the called party’s volume simultaneously, used for
the occasion to record the calling party or the called party.
Recording volume, range of value: -7~+6, -7 means turn-off, the other values
nVolume
represents the volume gain (multiplied by 3 equals dB value) . The negative value
means volume decreasing and the positive value means the volume increasing
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the gain of the volume adjuster A3 for the incoming signal entering the recording mixer M3. For more details
about M3 and A3, refer to the corresponding operation principles in Chapter 1.
Note:
z The configuration item DefaultRecordVolume can implement the same feature, with the default value of 0.
z The parameters set by this function are applicable to all types of recording functions except for
SynIPRecorder. To set the volume for SynIPRecorder, use the function SsmIPRSetRecVolume.
Related Information:
SsmSetRecVolume requires SynCTI Ver. 2.0 or above;
Driver version
SpySetRecVolume requires SynCTI Ver.5.3.1.3 or above.
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetRecMixer, SsmSetRecBack, SsmIPRSetRecVolume
2.10.1.1.3 SsmSetRecMixer
Refer to SpySetRecMixer.
2.10.1.1.4 SpySetRecMixer
Sets the gain of the volume adjuster A2 for other signal sources entering the recording mixer M3.
Format:
Parameter Description:
ch Channel Number
nCic The logic number of SpyCic. For more information, refer to ‘DTP Series’ in Chapter 1
=FALSE: turns off the volume adjuster A2, the incoming signal of the current channel is
the only data source for recording;
bEnRecMixer
=TRUE: turns on the volume adjuster A2, the data source for the recording operation
includes both the incoming signal of the current channel and other sources
The volume gain of other recording signal sources, it is valid only when the value of
bEnRecMixer is set to True. Range of value: -7~+6, in which,
nMixerVolume -7: turns off A2, equivalent to setting the value of bEnRecMixer to False.
-6~6: volume gain (multiplied by 3 equals the dB value), The negative value means
volume decreasing and the positive value means the volume increasing
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the gain of the volume adjuster A2 for the other signal sources entering the recording mixer M3. For more
detailed information about M3 and A2, refer to the corresponding operation principles in Chapter 1.
Note:
z The configuration item DefaultRecordMixerVolume can implement the same features, A2 is turned off by
default.
z The parameters set by this function are valid to the recording functions of all types.
z When the function SpySetRecMixer is used, if the current SpyCic is not recording, this function only sets
the volume of the mixer on the calling party’s channel but do not switch it on, and bEnRecMixer is invalid;
if the current SpyCic is performing a mix recording, this function sets the switch and the volume of the
mixer on the calling party’s channel, and bEnRecMixer is valid; if the current SpyCic is recording in other
modes, this function will fail.
z This function does not support DST Series boards.
z To prevent noise, the volume adjuster A2 must be switched off before the channels on two different
boards start bus exchanging and switching using the soft-switch feature.
z SsmSetRecMixer does not support ATP-24A Series boards.
Related Information:
SsmSetRecMixer requires SynCTI Ver. 2.0 or above;
Driver version
SpySetRecMixer requires SynCTI Ver.5.3.1.3 or above.
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetRecVolume, SsmSetRecBack, SsmGetRecMixerState, SsmQueryOpRecMixer
2.10.1.1.5 SsmQueryOpRecMixer
Queries if the channel supports the gain set of the volume adjuster A2.
Format:
int SsmQueryOpRecMixer(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Not supported
1 Supported
Function Description:
Queries if the channel supports the gain set of the volume adjuster A2.
Note:
z This function doesn’t support DST Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetRecMixer
2.10.1.1.6 SsmGetRecMixerState
Format:
Parameter Description:
ch Channel Number
pnEnRecMixer The pointer storing the switching status of the recording mixer
The pointer storing the volume of the voice signal from another channel which enters
pnMixerVolume the recording mixer to join the incoming signal of the current channel. The obtained
volume multiplied by 3 equals its dB value
Return Value:
-1 Failed
0 Successful
Function Description:
Obtains the gain settings of the volume adjuster A2.
Obtains the status of the recording mixer on the specified channel. If the switching status of the recording mixer is
turned on, the parameter pnEnRecMixer is set 1, otherwise, it is set 0. The parameter pnMixerVolume is used to
return the volume of the voice signal from another channel which enters the recording mixer to join the incoming
signal of the current channel.
Note:
z The settings of the recording mixer switch are valid to both File Mode and Buffer Mode recording
functions.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetRecMixer, SsmQueryOpRecMixer
2.10.1.1.7 DTRSetMixerVolum
Sets the gain of the volume adjusters A4-1, A4-2 for the incoming/outgoing signal on DST Series boards.
Format:
int DTRSetMixerVolume(int ch, int nGroup, int nInboundGain, int nOutboundGain)
Parameter Description:
ch Channel Number
Chooses B channel. The digital phone operates in 2B+D mode. Because the current
nGroup
driver can’t process two B channels at the same time, this parameter must be set to 0
nInboundGain The gain of the volume adjuster for incoming signals ( i.e. volume adjuster A4-1 in
Sets the gain of the volume adjusters A4-1, A4-2 for the incoming/outgoing voice signal on DST Series boards.
For more detailed information about A4-1, A4-2, refer to Operation Principle of DST Series in Chapter 1.
Note:
z This function only supports DST Series boards.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetRecVolume, DTRGetMixerVolume
2.10.1.1.8 DTRGetMixerVolume
Obtains the gain of the volume adjusters A4-1, A4-2 for the incoming/outgoing signal on DST Series boards.
Format:
int DTRGetMixerVolume(int ch, int nGroup, int* pnInboundGain, int* pnOutboundGain)
Parameter Description:
ch Channel Number
nGroup Chooses B channel, it must be set 0
Returns the gain of the volume adjuster for incoming signal ( i.e. volume adjuster A4-1
in Operation Principle of DST Series in Chapter 1),
pnInboundGain
range of value: -6~+6, the negative value means volume decreasing, the positive value
means the volume increasing, this parameter multiplied by 3 equals dB value
Returns the gain of the volume adjuster for outgoing signal ( i.e. volume adjuster A4-2
in Operation Principle of DST Series in Chapter 1),
pnOutboundGain
range of value: -6~+6, the negative value means volume decreasing, the positive value
means the volume increasing, this parameter multiplied by 3 equals dB value
Return Value:
-1 Failed
0 Successful
Function Description:
Obtains the gain of the volume adjusters A4-1, A4-2 for the incoming/outgoing signal on DST Series boards. For
more detailed information about A4-1, A4-2, refer to Operation Principle of DST Series in Chapter 1.
Note:
Related Information:
Driver version SynCTI Ver. 4.0or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: DTRSetMixerVolume
2.10.1.1.9 SsmSetRecBack
Sets whether to take the output of the bus mixer and the voice playing data as the input signals of the recording
mixer.
Format:
int SsmSetRecBack(int ch, int nSelector)
Parameter Description:
ch Channel Number
Sets the status of the switches k6-2 and k6-1, range of value:
0: k6-2 switched off, k6-1 switched off
1: k6-2 switched on, k6-1 switched on
nSelector 2: k6-2 switched off, k6-1 switched on
3: k6-2 switched on, k6-1 switched off
The default value is 1, i.e. both k6-2 and k6-1 switched on. For more information about
these two switches, refer to Operation Principle of SHD Series in Chapter 1
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets whether to take the output of the bus mixer and the voice playing data as the input signals of the recording
mixer.
Note:
z This function only supports SHD and SHN Series boards.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetRecVolume, SsmSetRecMixer
2.10.1.1.10 SsmSetNoModuleChBusRec
Format:
int SsmSetNoModuleChBusRec(int ch, int nUsedAsResourceRecCh)
Parameter Description:
ch Channel Number
nUsedAsResourceRe 1: enables this feature
cCh 0: disables this feature
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Uses the non-module channels of ATP Series boards as recording channels. For more information, refer to ‘special
application of non-module channel’ in Operation Principle of ATP Series of Chapter 1.
Note:
z Before recording, invoke the function SsmSetRecVolume or set the configuration item
DefaultRecordVolume to turn off the volume adjuster of the incoming signal.
z The signal source for recording only comes from the TDM bus.
z The configuration item NoModuleChBusRec can implement the same feature.
z This function only supports ATP Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetRecVolume
2.10.1.2.1 SsmSetDTMFStopRecCharSet
Sets whether the recording stops when the DTMF Detector detects DTMF character.
Format:
Parameter Description:
ch Channel Number
Pointer pointing to the ASCII-formatted DTMF character set which is used to stop the
recording.
lpstrDtmfCharSet The DTMF character set can include
‘0’, ’1’, ’2’, ’3’, ’4’, ’5’, ’6’, ’7’, ’8’, ’9’, ’*’, ’#’, ’a’, ’b’, ’c’, ’d’, it can also be set NULL to
indicate that this feature is disabled.
Return Value:
-1 Call failed. The failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets whether the recording stops when the DTMF Detector detects DTMF character.
Provided that the parameter lpstrDtmfCharSet is not null, if the DTMF detector detects DTMF characters
designated in lpstrDtmfCharSet in the incoming signals while recording, the driver will stop the recording
immediately.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetHangupStopRecFlag, SsmGetDTMFStopRecCharSet
2.10.1.2.2 SsmGetDTMFStopRecCharSet
Queries if the recording stops when the DTMF Detector detects the DTMF character.
Format:
Parameter Description:
ch Channel Number
lpstrDtmfCharSet Returns ASCII-formatted DTMF character set
Return Value:
-1 Call failed. The failure reason can be obtained by the function SsmGetLastErrMsg
0 This feature is disabled
>0 The number of preset characters in the DTMF character set
Function Description:
Queries if the recording stops when the DTMF Detector detects the DTMF character.
Note:
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetDTMFStopRecCharSet
2.10.1.2.3 SsmSetHangupStopRecFlag
Sets whether the recording is stops when the driver state machine detects remote end hangup.
Format:
Parameter Description:
ch Channel Number
The flag denotes whether the recording stops when the driver detects remote end
hangup. Range of value:
bHangupStopRecFlag
TRUE: enable this feature
FALSE: disable this feature
Return Value:
-1 Call failed. The failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets whether the recording stops when the driver state machine detects remote end hangup.
Note:
z The configuration item HangupStopRec can implement the same feature. This feature is disabled by
default.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetDTMFStopRecCharSet
2.10.1.3.1 SsmSetPrerecord
Format:
int SsmSetPrerecord(int ch, BOOL bEnable, int nMode, WORD wInsertTime, int nFormat)
Parameter Description:
ch Channel Number
TRUE: enable the prerecord feature
bEnable FALSE: disable the prerecord feature
Note: The corresponding configuration item to this parameter is PrerecordEnable
Sets the operating mode of the prerecord feature:
0: Starts writing recording data into the buffer when the Barge-in Detector detects
barge in
nMode
1: Starts writing recording data into the buffer when the analog recording channel
detects pick-up on the line
Note: The corresponding configuration item to this parameter is PrerecordMode
Sets the time length (ms) of writing the prerecord data to into the file after the prerecord
nInsertTime feature is enabled and the File Mode recording is started.
Note: The corresponding configuration item to this parameter is PrerecordInsertTime
Sets the encoding format for recording, range of value:
1: PCM8
6: A-law
7: μ-law
nFormat
17: IMA ADPCM(Note: the board needs to have hardware encoder)
49: GSM 6.10
85: MP3
Note: The corresponding configuration item to this parameter is PrerecordCodec
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the prerecord feature. For more details about the prerecord feature, refer to Setting Prerecord Feature in
Chapter 1.
Note:
z This function is applicable to ATP Series boards and the analog trunk channels of SHT and SHF Series
boards;
z Prerecord feature only supports functions for File Mode recording.
Related Information:
Driver version SynCTI Ver. 2.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPrerecordState
2.10.1.3.2 SsmGetPrerecordState
Format:
int SsmGetPrerecordState (int ch , int* pnMode, PWORD pwInsertTime, int* pnFormat)
Parameter Description:
ch Channel Number
pnMode Returns the operating mode of prerecord
pnInsertTime Returns the time length (ms) of writing the prerecord data into the file
pnFormat Returns the recording format for prerecord
Return Value:
-1 Call failed
0 Disable the prerecord feature
Enable the prerecord feature. The return values of the above parameters are valid only
1
when this function returns 1
Function Description:
Obtains the settings of prerecord feature.
Note:
Related Information:
Driver version SynCTI Ver. 2.1or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetPrerecord
2.10.1.4.1 SsmSetTruncateTail
Format:
int SsmSetTruncateTail(int ch, DWORD dwTime)
Parameter Description:
ch Channel Number
Sets the length (ms) of the recording data to be truncated.
0 means to disable this feature.
For SynCTI Ver. 3.4.x, the time length of tail-truncation is the duration of DTMF
character which stops the file recording; For Ver. 3.5 and later versions, if dwTime is
dwTime
greater than duration of the DTMF character which stops the recording, the time length
of the truncated data is dwTime; Otherwise, it’s the actual duration of the DTMF
character.
This parameter can also be set via the configuration item TruncateTailOnRecordToFile
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the parameters for tail-truncation feature. For more information about tail-truncation feature, refer to Setting
Tail-Truncation Feature in Chapter 1.
Provided the tail-truncation feature and the feature of recording termination by DTMF character are enabled, once
the DTMF detector detects a DTMF character which is in the DTMF character set designated by the function
SsmSetDTMFStopRecCharSet or the configuration item DtmfStopRecCharSet during File Mode recording, the
driver will stop the recording immediately and truncate the last section of the voice data. The length of the
truncated voice data is set by this function.
Note:
z If the file recording is terminated normally, i.e. it completes the recording of the voice data of the
designated length, the driver will not perform the tail-truncation operation;
z The tail-truncation feature only supports the functions for File Mode recording.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmRecToFile, SsmRecToFileA, SsmRecToFileB, SsmRecToFileEx, SsmGetTruncateTailTime
2.10.1.4.2 SsmGetTruncateTailTime
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 This feature is disabled
>0 Returns the time length (ms) of the voice data to be truncated
Function Description:
Obtains the preset parameters for the tail-truncation feature.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetTruncateTail
2.10.1.5.1 SsmSetRecAGC
Format:
Parameter Description:
ch Channel Number
Automatic gain control switch for recording (AGC).
For DST series B-type digital station tap boards, Bit0, Bit1 and Bit2 are valid.
Bit0=0, the AGC downlink is disabled; Bit0=1, the AGC downlink is enabled.
nAGCSwitch Bit1=0, the AGC uplink is disabled; Bit1=1, the AGC uplink is enabled.
Bit2=0, DC isolation is disabled; Bit2=1, DC isolation is enabled.
For other boards, Bit0 is valid.
Bit0=0, the AGC is disabled; Bit0=1, the AGC is enabled.
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Enables or disables the AGC (Automatic Gain Control) feature. If the AGC is enabled, the driver will automatically
adjust the voice signal according to the amplitude of the input signal: increase the small signal gain and decrease
the large signal gain.
Note:
z The AGC switch is valid to recordings of all types.
z The configuration item AutoRecAgcSwitch can implement the same feature with the default value of 0.
z For SHT Series, if the AGC feature should always be enabled, besides using this function, you should set
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetRecAGCSwitch
2.10.1.5.2 SsmGetRecAGCSwitch
Format:
int SsmGetRecAGCSwitch(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
For DST series B-type digital station tap boards, Bit0, Bit1 and Bit2 are valid.
Bit0=0, the AGC downlink is disabled; Bit0=1, the AGC downlink is enabled.
Bit1=0, the AGC uplink is disabled; Bit1=1, the AGC uplink is enabled.
>0
Bit2=0, DC isolation is disabled; Bit2=1, DC isolation is enabled.
For other boards, Bit0 is valid.
Bit0=0, the AGC is disabled; Bit0=1, the AGC is enabled.
Function Description:
Obtains the working status of the recording AGC module on the designated channel.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetRecAGC
2.10.1.6.1 SsmSetRecStereo
Format:
int WINAPI SsmSetRecStereo(int ch, BOOL bRecStereo)
Parameter Description:
ch Channel Number
Switch of the stereo recording
bRecStereo
TRUE: Enable;
FALSE: Disable
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Enables or disables the stereo recording. If this feature is enabled, the generated recording file is a stereo audio
file; otherwise, the generated recording file is a mono audio file.
Note:
2.10.2.1 SsmQueryRecFormat
Queries if the channel supports the designated recording format.
Format:
int SsmQueryRecFormat (int ch, int nFormat)
Parameter Description:
ch Channel Number
nFormat Recording format
Return Value:
0 Not supported
1 Supported with hardware encoding
2 Supported with software encoding
Function Description:
Queries if the channel supports the designated recording format.
Note:
z This function supports boards and channels of all types.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.10.2.2 SsmGetRecType
Obtains the type of the current recording task.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 No recording on the channel
1 Recording in File Mode
2 The File Mode recording is suspended
3 Recording in Buffer Mode
4 Rrecording in Pingpong Buffer Mode
Function Description:
Obtains the type of the current recording task.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.10.2.3 SsmGetRecTime
Obtains the duration of the recording task.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
≥0 the duration (ms) of the recording task
Function Description:
Obtains the duration of the recording task.
Note:
z This function only supports recording in File Mode and Buffer Mode.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmRecToFile, SsmRecToFileA, SsmRecToFileB, SsmRecToFileEx , SsmRecToMem
2.10.2.4 SsmCheckRecord
Queries the completion status of the recording task.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 Recording in process
1 Recording is terminated by the application
2 Recording is terminated upon detection of DTMF characters
3 Recording is terminated upon detection of remote hangup
4 Recording finished in a normal way
5 File Mode recording is suspended
6 File Mode recording is terminated due to the failure of writing data into file
7 RTP timeout
Function Description:
Queries the completion status of the recording task.
Note:
z This function is applicable to recording tasks initiated by any modes including SsmRecToFile,
SsmRecToFileA, SsmRecToFileB, SsmRecToFileEx, SsmRecToMem and SsmRecordMemBlock.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmRecToFile, SsmRecToFileA, SsmRecToFileB, SsmRecToFileEx, SsmRecToMem,
SsmRecordMemBlock
2.10.3.1 SsmRecToFile
Refer to SpyRecToFile
2.10.3.2 SsmRecToFileA
Refer to SpyRecToFile
2.10.3.3 SsmRecToFileB
Refer to SpyRecToFile
2.10.3.4 SsmRecToFileEx
Refer to SpyRecToFile
2.10.3.5 SpyRecToFileA
Refer to SpyRecToFile
2.10.3.6 SpyRecToFileB
Refer to SpyRecToFile
2.10.3.7 SpyRecToFile
Starts the recording in File Mode on a designated channel.
In addition to having all the features of the function SsmRecToFile, SsmRecToFileA and SsmRecToFileB also can
obtain the recording data stream saved in the internal buffer area of the driver via a callback function.
In addition to having all the features of the function SsmRecToile, SsmRecToFileEx also provides the capability of
using the Barge in signal to trigger the driver to write the recording data into the file.
SpyRecToFile, SpyRecToFileA and SpyRecToFileB initiate the File Mode recording task based on the circuit
number. These functions are only applicable to DTP Series boards.
Format:
int SsmRecToFile(int ch, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwBytes, DWORD
dwTime, int nMask)
int SsmRecToFileA(int ch, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwBytes, DWORD
dwTime, int nMask, LPRECTOMEM pfnCallbackA)
int SsmRecToFileB(int ch,LPSTR pszFileName,int nFormat,DWORD dwStartPos,DWORD dwBytes,DWORD
dwTime,int nMask,LPRECTOMEMB pfnCallbackB, PVOID pVoid);
int SsmRecToFileEx(int ch, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwBytes, DWORD
dwTime, int nMask, BOOL bSaveToFileOnBargin, DWORD dwRollbackTime)
int SpyRecToFileA( int nCic, WORD wDirection,LPSTR pszFileName, int nFormat, DWORD dwStartPos,
DWORD dwBytes, DWORD dwTime, int nMask , LPRECTOMEM pfnCallbackA)
int SpyRecToFileB( int nCic, WORD wDirection,LPSTR pszFileName, int nFormat, DWORD dwStartPos,
DWORD dwBytes, DWORD dwTime, int nMask,LPRECTOMEMB pfnCallbackB, PVOID pVoid )
int SpyRecToFile( int nCic, WORD wDirection, LPSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD
dwBytes, DWORD dwTime, int nMask )
Parameter Description:
ch Channel Number
The name of the file storing the voice data
If the file declared by the parameter pszFileName doesn’t exist, the driver
automatically creates a new file based on the following rules:
pszFileName If pszFileName has a file extension of ‘.wav’, the driver will consider that the
application wants to record a standard WAV file and create a standard WAV file;
If the file extension is not ‘.wav’, the driver will regard the file as a non-header file.
All the data in the file are voice data and the file does not have a header.
Encoding format of the voice data, range of value are listed below:
SsmRecToFileA
Value CODEC SsmRecToFile SsmRecToFileEx SpyRecToFile
SsmRecToFileB
-2 PCM16 ☆ ☆ — ☆
1 PCM8 ☆ ☆ — ☆
6 A-Law √ √ √ √
7 μ-Law √ √ √ √
nFormat
17 IMA √ √ √ √
ADPCM
23 VOX √ √ — √
49 GSM ◇ ◇ — ◇
85 MP3 ◇ ◇ — ◇
131 G.729A √ √ — √
Legend: ☆ Using software encoder, via the driver’s encoding in software
√ Using hardware encoder. The board is required to have its own encoder.
For more information, refer to ‘SynCTI Supported CODECs’ in Chapter 1.
★ Software encoding, via the external ACM program.
— Not supported
◇ Using hardware encoder if the board has one; otherwise, using software
encoder via the external ACM program.
The actual encoding format for recording is determined by the following rules:
If the file declared by the parameter pszFileName exists and it is a standard wav file,
the encoding format will be the one designated in its file header and nFormat will be
ignored.
If the existing file is not a standard wav file, or it is a newly created file, the encoding
format is determined by nFormat.
Note: nFormat = -1 represents the default encoding format which is related to
the configuration item DefaultRecordFormat in ShConfig.ini. If the prerecord
feature is enabled, nFormat must be the same as the encoding format set in the
prerecord feature, otherwise, this function will fail.
The starting position where the driver writes the recording data into the file. If the target
file has the file header of wav, dwStartPos is counted from the first data byte of the
voice data area, and the length of the file header is not included.
For existing files, if dwStartPos is less than or equals to the length of the voice data
in the file, the data is written into the file starting from the position designated by
dwStartPos
this parameter; If dwStartPos is larger than the length of the voice data in the file,
the recording data is written into the file starting from the end of the file.
For newly created files, this parameter will be ignored. If the file is a standard wav
file, the recording data is written immediately following the file header; If not, the
recording data is written into the file starting from the file header
Sets the length (bytes) of the voice data to be recorded.
Once the byte length of the recorded data exceeds the set value of this parameter, the
recording will terminate. Therefore, set this parameter with a large value (e.g. 0xffffffff)
to ensure a continuous recording.
dwBytes Whether this parameter is valid or not is determined by nMask.
Note: If frame-structured encoding format (e.g. IMA ADPCM, GSM, MP3, G.729A
etc. ) is used, and the value of dwBytes is not integral times of the frame length,
the driver will automatically adjust the value of dwBytes to be integral times of
the frame length to ensure the integrity of the frame structure
Sets the total time length (ms) of the voice data to be recorded.
If the time length of the recorded data exceeds the set value in this parameter, the
recording will terminate. Set this parameter to be an extremely large value (e.g.
0xffffffff) can enable continuous recording.
dwTime Whether this parameter is valid or not is determined by nMask.
Note: If frame-structured encoding format (e.g. IMA ADPCM, GSM, MP3, G.729A
etc. ) is used, and the value of dwTime is not integral times of the frame length,
the driver will automatically adjust the value of dwTime to be integral times of
the frame length to ensure the integrity of the frame structure
Sets the way to terminate the recording. Range of value:
nMask 0: use the parameter dwBytes as the condition to stop the recording
1: use the parameter dwTime as the condition to stop the recording
Pointer of callback function. If pfnCallbackA or pfnCallbackB is NULL, the feature of
SsmRecToFileA or SsmRecToFileB is completely the same as the feature of
SsmRecToFile, and the feature of SpyRecToFileA or SpyRecToFileB is completely the
same as the feature of SpyRecToFile. If pfnCallbackA and pfnCallbackB are not NULL,
pfnCallbackA when the recording data accumulated in the driver reaches 16384 bytes and are all
pfnCallbackB written into the file at a time, the callback function in this parameter will be called to
pass the voice data stream to the application simultaneously. The function SsmSetFlag
(with the parameter F_RECTOFILEA_CALLBACKTIME) can be used to set the time
interval of callback.
The prototype of the callback function pfnCallbackA:
In addition to having all the features of the function SsmRecToFile, SsmRecToFileA and SsmRecToFileB also can
open the recording data stream saved in the internal buffer area of the driver to the application via a callback
function. If the parameter pfnCallbackA (or pfnCallbackB) is NULL, the feature of the function SsmRecToFileA (or
SsmRecToFileB) is completely the same as that of the function SsmRecToFile.
In addition to having all the features of the function SpyRecToFile, SpyRecToFileA and SpyRecToFileB also can
open the recording data stream saved in the internal buffer area of the driver to the application via a callback
function. If the parameter pfnCallbackA (or pfnCallbackB) is NULL, the feature of the function SpyRecToFileA (or
SpyRecToFileB) is completely the same as that of the function SpyRecToFile.
After the function SsmRecToFileEx initiates the file recording, the driver only buffers the recording data in the
internal recording buffer area instead of writing the data into the file. Only when Barge-in Detector detects Barge-in,
will the driver start to write the recoding data saved in the internal buffer into the file. If there is no Barge-in detected
until the current recording stops, no data will be written into the recording file.
After the application invokes the File Mode recording function, the driver will start a task of File Mode recording.
The task will terminate if one of the following events happens:
The file recording stops in a normal way, i.e. the length of the voice data recorded by the driver reaches
the set value of dwBytes or dwTime;
The driver fails to write the voice data into the file;
The application calls SsmStopRecToFile;
The driver detects DTMF or remote end hangup, for more information, refer to Setting Termination
Condition in Chapter 1.
When the file recording is terminated, the driver will automatically close the file and throws out the event
E_PROC_RecordEnd to the application. If the tail-truncation feature is enabled, the driver will automatically
truncate a section of data at the file tail. For more information about the tail-truncation feature, refer to Setting
Tail-Truncation Feature in Chapter 1.
During the execution of the File Mode recording task, the driver throws out the event of E_PROC_RecordFile to the
application every 1000ms by default. Whether to throw out the event and the condition for throwing out the event
can be set by the function SsmSetEvent (with the parameter E_PROC_RecordFile). The function
SsmChkRecToFile or SsmCheckRecord can also be used to query the completion status of the File Mode
recording.
During the execution of the File Mode recording task, the application can:
Invoke the function SsmPauseRecToFile to pause the File Mode recording;
Invoke the function SsmStopRecToFile to stop the File Mode recording;
Invoke the function SsmChkRecToFile or SsmCheckRecord to query the completion status of the file
recording;
Invoke the function SsmGetRecTime to obtain the duration of the File Mode recording;
Invoke the function SsmGetDataBytesToRecord to obtain the unfinished byte length of the data to be
recorded.
Note:
z For more information about choosing the recording signal source and setting the volume, refer to
‘Setting Recording Signal Source’ in Chapter 1;
z If the prerecord feature is enabled, the driver will first write the prerecord data saved in the internal
buffer area into the file according to the prerecord parameter settings, and then starts normal file
recording and writes the subsequent data into the file. For more information about the prerecord feature,
refer to ‘Setting Prerecord Feature’ in Chapter 1;
z If the parameter nFormat is GSM or MP3, the configuration item GsmCodecEnable must be set with a
value except 0 and the corresponding drivers of CODEC (ACM) must be installed in the Windows
system;
z The function SpyRecToFile initiates the File Mode recording based on the circuit number and is only
applicable to DTP Series boards. The events it throws out to the application are based on the calling or
called party bound with nCic during the call progress. The function SpyGetCallInCh and
SpyGetCallOutCh are respectively used to obtain the channel numbers of the calling and called parties
of the current call. The function SpyStopRecToFile is used to stop the File Mode recording initiated by
Related Information:
SsmRecToFileB requires SynCTI Ver. 4.7.2.0 or above;
Driver version SpyRecToFileA and SpyRecToFileB require SynCTI Ver.5.3.1.3 or above;
Other functions require SynCTI Ver. 2.0 or above.
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopRecToFile, SsmChkRecToFile, SsmGetRecTime, SsmPauseRecToFile,
SsmRestartRecToFile, SsmGetDataBytesToRecord, SsmSetDTMFStopRecCharSet, SsmSetHangupStopRecFlag,
SsmSetRecVolume, SsmSetRecMixer, SsmSetRecBack, SsmSetRecAGC
2.10.3.8 SsmStopRecToFile
Refer to SpyStopRecToFile
2.10.3.9 SpyStopRecToFile
Stops recording in File Mode.
Format:
int SsmStopRecToFile(int ch)
int SpyStopRecToFile(int nCic)
Parameter Description:
ch Channel Number
nCic Serial number of the monitored circuit
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
The function SsmStopRecToFile terminates the file recording initiated by SsmRecToFile, SsmRecToFileA,
SsmRecToFileB or SsmRecToFileEx. The function SpyStopRecToFile stops the recording initiated by the function
call of SpyRecToFile, SpyRecToFileA or SpyRecToFileB.
Note:
z After invoking this function, the driver will also throw out the event of E_PROC_RecordEnd;
z This function is also supported in SynIPRecorder. The successful return of the function can only
demonstrate that it has sent the command of stopping recording to file to the Slaver. As to whether the
command is successfully processed in the Slaver, check the value of dwParam in the event
E_IPR_STOP_REC_CB.
Related Information:
2.10.3.10 SsmPauseRecToFile
Suspends the File Mode recording.
Format:
int SsmPauseRecToFile(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Suspends the File Mode recording initiated by the function SsmRecToFile, SsmRecToFileA, SsmRecToFileB or
SsmRecToFileEx. Once the recording is suspended, it can only be restarted by the function SsmRestartRecToFile
or terminated by the function SsmStopRecToFile.
Note:
z This function only supports the recording tasks initiated by SsmRecToFile, SsmRecToFileA,
SsmRecToFileB, or SsmRecToFileEx;
z This function is also supported in SynIPRecorder. The successful return of the function can only
demonstrate that it has sent the command of pausing recording to file to the Slaver. As to whether the
command is successfully processed in the Slaver, check the value of dwParam in the event
E_IPR_PAUSE_REC_CB.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmRestartRecToFile, SsmStopRecToFile
2.10.3.11 SsmRestartRecToFile
Restarts the suspended File Mode recording.
Format:
int SsmRestartRecToFile(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Restarts the File Mode recording suspended by the function SsmPauseRecToFile.
Note:
z This function is also supported in SynIPRecorder. The successful return of the function can only
demonstrate that it has sent the command of restarting recording to file to the Slaver. As to whether the
command is successfully processed in the Slaver, check the value of dwParam in the event
E_IPR_RESTART_REC_CB.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPauseRecToFile
2.10.3.12 SsmChkRecToFile
Queries the completion status of the File Mode recording task.
Format:
int SsmChkRecToFile(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 The file recording stops normally
1 The file recording is under progress
2 The file recording is suspended
Function Description:
Queries the completion status of the File Mode recording task.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmRecToFile, SsmRecToFileA, SsmRecToFileB, SsmRecToFileEx
2.10.3.13 SsmGetDataBytesToRecord
Obtains the number of unrecorded data bytes in the File Mode recording task, or obtains the number of recorded
data bytes in the Pingpong Buffer Mode recording task.
Format:
int SsmGetDataBytesToRecord(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
Indicates the number of unrecorded data bytes in the File Mode recording task, or the
≥0
number of recorded data bytes in the Pingpong Buffer Mode recording task
Function Description:
Obtains the number of unrecorded data bytes in the File Mode recording task, or obtains the number of recorded
data bytes in the Pingpong Buffer Mode recording task.
Note:
z This function is not applicable to the GSM formatted Pingpong Buffer Mode recording task.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetRecTime
2.10.3.14 SsmRecStereoToFile
Starts stereophonic recording task in File Mode.
Format:
int WINAPI SsmRecStereoToFile(LPSTR pszFileName, DWORD ch1, DWORD ch2, int nFormat)
Parameter Description:
The name of the file storing the stereophonic recording data. It must have the file
pszFileName
extension of ‘.wav’.
ch1 First channel
ch2 Second channel
Encoding format of the stereophonic recording data, only A-Law and μ-Law are
nFormat
supported. The value 6 indicates A-Law and 7 indicates μ-Law.
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Starts stereophonic recording task in File Mode.
Note:
Related Information:
Driver version SynCTI Ver. 5.3.2.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopRecStereoToFile, SsmChkStereoToFile
2.10.3.15 SsmStopRecStereoToFile
Stops stereophonic recording task.
Format:
Parameter Description:
Note:
Related Information:
Driver version SynCTI Ver. 5.3.2.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmRecStereoToFile, SsmChkStereoToFile
2.10.3.16 SsmChkStereoToFile
Queries the completion status of the stereophonic recording task.
Format:
Parameter Description:
ch1 First channel
ch2 Second channel
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 The stereophonic recording task stops normally
1 The stereophonic recording task is in progress
Function Description:
Queries the completion status of the stereophonic recording task.
Note:
Related Information:
Driver version SynCTI Ver. 5.3.2.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmRecStereoToFile, SsmStopRecStereoToFile
2.10.4.1 SsmRecToMem
Refer to SpyRecToMem.
2.10.4.2 SpyRecToMem
Format:
int SsmRecToMem(int ch, int nFormat, LPBYTE pBuf, DWORD dwBufSize, DWORD dwStartOffset)
int SpyRecToMem(int nCic, WORD wDirection, int nFormat, LPBYTE pBuf, DWORD dwBufSize, DWORD
dwStartOffset)
Parameter Description:
ch Channel Number
Encoding format of the recording data. Range of value:
Value Encoding Format Remarks
1 PCM8
-2 PCM16
6 A-Law
7 μ-Law
17 IMA ADPCM The board is required to have the hardware encoding
capability or to be SynIPRecorder
nFormat 23 VOX The board is required to have the hardware encoding
capability
49 GSM
85 MP3 The board is required to have the hardware encoding
capability
131 G.729A The board is required to have the hardware encoding
capability
For more information about whether a channel supports the hardware encoder, refer
to SynCTI Supported CODECs in Chapter 1
Pointer pointing to the first address of the buffer. The storage space of buffer area is
pBuf
allocated by the application.
dwBufSize The size (bytes) of the recording buffer area
The offset of the starting position of recording in the recording buffer area. Range of
dwStartOffset
value: 0~dwBufSize-1
nCic The logic number of SpyCic. For more information, refer to ‘DTP Series’ in Chapter 1
Sets the recording signal source, range of value:
0: Only record the calling party. The driver automatically invokes the function
SsmRecToMem on the calling party’s channel bounded with nCic. Hence the
related output messages will be returned on the calling party’s channel;
1: Only record the called party. The driver automatically invokes the function
wDirection SsmRecToMem on the called party’s channel bounded with nCic. Hence the
related output messages will be returned on the called party’s channel;
2: Mixedly record both the calling and called parties. The driver automatically
invokes the function SsmRecToMem on the called party’s channel bounded with
nCic. The related output messages will be returned on the calling party’s
channel
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Starts the Buffer Mode recording task. SpyRecToMem initiates the Buffer Mode recording task based on the circuit
number and it is only applicable to DTP Series boards.
After calling this function, the driver will start the task of Buffer Mode recording and writes the recording data into
pBuf starting from the offset designated by the parameter dwStartOffset. Meanwhile, the driver maintains a
recording pointer (offset) with an initial value equal to dwStartOffset, which is used to write data into the submitted
buffer area. Once the buffer is full, the driver will automatically refill the buffer from the head.
The function SsmCheckRecord can be used to query the completion status of the Buffer Mode recording.
During the execution of the Buffer Mode recording, once the preset condition is satisfied, the driver throws out the
event of E_PROC_RecordMem to the application. The output conditions of the event E_PROC_RecordMem can
be set by the function SsmSetEvent (with the parameter E_PROC_RecordMem). Below are three optional
conditions:
The driver finishes recording the voice data with designated time length;
The recording pointer in the driver gets across the dwBufSize /2 position of the buffer area;
The recording pointer in the driver reaches the end of the buffer.
The function SsmStopRecToMem can be used to stop the Buffer Mode recording. The function SsmGetRecOffset
can be used to obtain the recording pointer in the driver.
Note:
z For more information about setting the volume and selecting the recording signal sources, refer to
Setting Recording Signal Source in Chapter 1.
z The function SpyRecToMem initiates the Buffer Mode recording task based on the circuit number and is
only applicable to DTP Series boards. It is a function based on the circuit number. The message it
throws out to the application during the call is based on the calling or called party’s channel that is bound
with nCic. The functions SpyGetCallInCh and SpyGetCallOutCh are used respectively to obtain the
channel numbers of the calling and called parties of the current call. The function SpyStopRecToMem is
used to terminate the Buffer Mode recording initiated by the function SpyRecToMem.
z Due to historical reasons, the coding value 65411 which ever represented G.729A is still valid in early
versions and backward compatible. For G.729A recording in new versions, we suggest you use the
coding value 131.
z This function is also supported in SynIPRecorder. The successful return of the function can only
demonstrate that it has sent the command of starting recording to memory to the Slaver. As to whether
the command is successfully processed in the Slaver, check the value of dwParam in the event
E_IPR_START_REC_CB.
Related Information:
SsmRecToMem requires SynCTI Ver. 2.0 or above;
Driver version
SpyRecToMem requires SynCTI Ver.5.3.1.3 or above.
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopRecToMem, SsmGetRecOffset, SsmSetDTMFStopRecCharSet,
SsmSetHangupStopRecFlag, SsmSetRecVolume, SsmSetRecMixer, SsmSetRecBack
2.10.4.3 SsmStopRecToMem
Refer to SpyStopRecToMem.
2.10.4.4 SpyStopRecToMem
Stops recording in Buffer Mode.
Format:
int SsmStopRecToMem(int ch)
Parameter Description:
ch Channel Number
nCic The logic number of SpyCic. For more information, refer to ‘DTP Series’ in Chapter 1
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Stops recording in Buffer Mode. The function SpyStopRecToMem is used to terminate the Buffer Mode recording
initiated by the function SpyRecToMem.
Note:
z When the recording is terminated, the driver will throw out the event of E_PROC_RecordEnd.
z This function is also supported in SynIPRecorder. The successful return of the function can only
demonstrate that it has sent the command of stopping recording to memory to the Slaver. As to whether
the command is successfully processed in the Slaver, check the value of dwParam in the event
E_IPR_STOP_REC_CB.
Related Information:
SsmStopRecToMem requires SynCTI Ver. 2.0 or above;
Driver version
SpyStopRecToMem requires SynCTI Ver.5.3.1.3 or above.
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmRecToMem
2.10.4.5 SsmGetRecOffset
Obtains the recording pointer in the driver during Buffer Mode recording.
Format:
int SsmGetRecOffset(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
Recording pointer in the driver, its value is the offset (bytes) to the first address of the
≥0
buffer area submitted by the function SsmRecToMem
Function Description:
Obtains the recording pointer in the driver during Buffer Mode recording.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmRecToMem
2.10.5.1 SsmRecordMemBlock
Submits a buffer to the driver and initiates the recording in Pingpong Buffer Mode.
Format:
int SsmRecordMemBlock(int ch, int nFormat, LPBYTE pBuf, DWORD dwBufSize,
RECORDMEMBLOCKHANDLER pfnCallback, PVOID pV)
Parameter Description:
ch Channel Number
Encoding format of the recording data. Range of value:
Value Encoding Format Remarks
1 PCM8
-2 PCM16
6 A-Law
7 μ-Law
17 IMA ADPCM The board is required to have the hardware encoding
capability
nFormat 23 VOX The board is required to have the hardware encoding
capability
49 GSM
85 MP3 The board is required to have the hardware encoding
capability
131 G.729A The board is required to have the hardware encoding
capability
For more information about whether a channel supports the hardware encoder, refer to
SynCTI Supported CODECs in Chapter 1
pBuf Pointer pointing to the recording buffer
The recording buffer size (bytes). The minimum value of dwBufSize is determined
according to the following rules:
If the configuration item RecordAndPlayUseAsIP is set 0 (default), for A-law, μ-law,
PCM8, PCM16, G729A, mp3, GC8, VOX and IMA ADPCM, dwBufSize should be no less
than 768 bytes; for GSM encoding in hardware, dwBufSize should be no less than 260
bytes; for GSM encoding in software, dwBufSize should be no less than 2080 bytes.
dwBufSize If the configuration item RecordAndPlayUseAsIP is set 1, for A-law, μ-law, PCM8 and
PCM16, dwBufSize should be no less than 192 bytes (recommended value: under
Windows operating system, it should be no less than 192 bytes; under Linux, it should be
no less than 384 bytes); for IMA ADPCM, VOX, G729A, mp3 and GC8, dwBufSize should
be no less than 768 bytes; for GSM encoding in hardware, dwBufSize should be no less
than 260 bytes; for GSM encoding in software, dwBufSize should be no less than 2080
bytes.
Pointer of the callback function. Once the recording task is finished or terminated, the
driver will automatically invoke the callback function set by this parameter. NULL means
not to set the callback function. The prototype of the callback function is declared in
shpa3api.h:
typedef BOOL (WINAPI * RECORDMEMBLOCKHANDLER)
(int ch, int nEndReason, PUCHAR pucBuf, DWORD dwStopOffset, PVOID pVoid);
See below for details.
ch: Channel Number;
pfnCallback
nEndReason: The cause of termination, range of value:
1: The recording is terminated by the application.
2: The recording is terminated upon detection of DTMF.
3: The recording is terminated upon detection of remote end hangup.
4: The buffer recording is completed
pucBuf: The pointer pointing to the buffer where the recording task is finished.
dwStopOffset: The offset (bytes) of the driver’s recording pointer in the buffer when the recording
task is finished. If the return value of this parameter is 0xffffffff, it is invalid.
pVoid: The pointer passed by the application upon invoking this function.
The pointer of PVOID type. It is commonly used by the application for transmitting its
pVoid data structure to the callback function. This pointer is passed to the callback function
directly
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Submits a buffer to the driver and initiates the recording in Pingpong Buffer Mode. For more information about
recording in Pingpng Buffer Mode, refer to Pingpong Buffer Mode in Chapter 1.
The driver has finished recording in all the submitted buffer areas;
The application calls the function SsmStopRecordMemBlock;
The driver detects DTMF or remote end hangup. For more information, refer to Setting Termination
Condition in Chapter 1.
The function SsmCheckRecord can be used to query the completion status of the recording in Pingpong
Buffer Mode.
Note:
z For more information about setting the volume and selecting the recording signal sources, refer to
Setting Recording Signal Source in Chapter 1.
z The application can invoke the function SsmStopRecordMemBlock at any moment to terminate the
recording in Pingpong Buffer Mode. SsmStopRecordMemBlock cannot be invoked in the callback
function.
z In the callback function, the time for the application to execute the submitted code should be minimized
and not exceed the interruption time of the driver (8ms). Otherwise it may cause driver error.
z When the task of recording in Pingpong Buffer Mode stops, the driver will throw out the event of
E_PROC_RecordEnd to the application.
z It is not allowed to submit more than two buffers to the driver at the same time.
z It is not allowed to use the timer to invoke the function SsmRecordMemBlock.
z Due to historical reasons, the coding value 65411 which ever represented G.729A is still valid in early
versions and backward compatible. For G.729A recording in new versions, we suggest you use the
coding value 131.
Sample Code:
......//initialize the buffers szRecBuf1, szRecBuf2
BOOL RecStart(int nCh)
{
if(SsmRecordMemBlock(nCh, 6, szRecBuf1, dwBufSize, RecordMemBlockHandler, NULL) != 0)//submit the
buffer szRecBuf1 to the driver and start the recording in Pingpong Buffer Mode
{
SsmGetLastErrMsg(szErrMsg);
cout<<szErrMsg<<endl;
return FALSE;
}
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopRecordMemBlock, SsmRecToMem
2.10.5.2 SsmStopRecordMemBlock
Stops recording in Pingpong Buffer Mode.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Note:
z This function cannot be invoked in the callback function which is set by the function
SsmRecordMemBlock;
z When the recording is terminated, the driver throws out the event E_PROC_RecordEnd.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmRecordMemBlock
2.11.1.1.1 SsmTalkWith
Refer to SsmTalkWithEx
2.11.1.1.2 SsmTalkWithEx
Establishes the two-way connection between two channels. The function SsmTalkWithEx is able to set the volume
on the two voice exchanging channels.
Format:
int SsmTalkWith(int ch1,int ch2)
int SsmTalkWithEx(int ch1, int nVlm1, int ch2, int nVlm2)
Parameter Description:
ch1 Channel Number1
ch2 Channel Number2
The volume of ch1, range of value: -7~+6. The negative value means volume
decreasing while the positive value means the volume increasing The default value is
nVlm1
0.
This parameter multiplied by 3 equals to the dB value.
The volume of ch2, range of value: -7~+6. The negative value means volume
decreasing while the positive value means the volume increasing The default value is
nVlm2
0.
This parameter multiplied by 3 equals to the dB value.
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Establishes the two-way connection between the designated channels ch1 and ch2, i.e. ch1 can hear the voice
from ch2 and ch2 can also hear the voice from ch1. If the incoming call signal from ch1 or ch2 has not been put
onto the TDM bus, the driver will automatically arrange a time slot and put the incoming call signal onto this time
slot.
Note:
z This function is only applicable to SHT/SHD/SHN Series boards, the parameters nVlm1 and nVlm2 are
used to set volume adjusters A4-1…A4-6 in ‘Operation Principle of SHT Series’ or ‘Operation Principle
of SHD Series’ or ‘Operation Principle of SHN Series’ in Chapter 1. The gains of A4-1…A4-6 can also be
set by the configuration item DefaultSpeakVolume, with the default value of 0DB;
z If the model name of the board doesn’t include ‘-CT’, ch1 and ch2 must be on the same board,
otherwise, this function will fail;
z Invoke the function SsmStopTalkWith to tear down the two-way connection. Make sure that the
operations of connect and disconnect are performed correspondingly in pairs.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopTalkWith, SsmListenTo, SsmListenToEx, SsmLinkFrom, SsmLinkFromEx
2.11.1.2.1 SsmStopTalkWith
Format:
int SsmStopTalkWith(int ch1,int ch2)
Parameter Description:
ch1 Listener/talker channel number
ch2 Talker/listener channel number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Tears down the two-way connection between ch1 and ch2.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmTalkWith, SsmTalkWithEx
2.11.2.1.1 SsmListenTo
Refer to SsmLinkFromAllCh
2.11.2.1.2 SsmListenToEx
Refer to SsmLinkFromAllCh
2.11.2.1.3 SsmLinkFrom
Refer to SsmLinkFromAllCh
2.11.2.1.4 SsmLinkFromEx
Refer to SsmLinkFromAllCh
2.11.2.1.5 SsmLinkFromAllCh
Establishes the one-way connection from the talker channel to the listener channel. The functions SsmListenTo
and SsmListenToEx are used to establish the one-way connection between two channels, and one channel can
listen to only one channel. The functions SsmLinkFrom and SsmLinkFromEx are used to establish the one-way
connection between two channels, and one channel can listen to multiple channels. The functions SsmListenToEx
and SsmLinkFromEx can also be used to set the volume of the one-way connection. The function
SsmLinkFromAllCh can establish the one-way connection from one talker channel to multiple listener channels at
one time.
Format:
Parameter Description:
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Establishes the one-way connection from the talker channel to the listener channel, i.e. nListeningCh can hear the
voice from nSourceCh , but nSourceCh is not able to hear the voice from nListeningCh.
In addition to having all the features of the function SsmListenTo, the function SsmListenToEx can also set the
volume of connection. The functions SsmListenTo and SsmListenToEx can establish the one-way connection
which enables a channel to listen to only one channel at one time. To disconnect the connection established by
these two functions, invoke the function SsmStopListenTo, and make sure that the operations of connect and
disconnect are performed correspondingly in pairs.
In addition to having all the features of the function SsmLinkFrom, the function SsmLinkFromEx can also set the
volume of connection. To disconnect the one-way connection established by the function SsmLinkFrom and
SsmLinkFromEx, invoke the function SsmStopLinkFrom, and make sure that the operations of connect and
disconnect are performed correspondingly in pairs.
SsmLinkFromAllCh can establish the one-way connection with a talker channel and multiple listener channels at
one time. The feature implemented by this function is the same as that implemented by invoking the function
SsmLinkFromEx continuously on multiple listener channels. To disconnect the connection established by the
function SsmLinkFromAllCh, invoke the function SsmUnLinkFromAllCh, and make sure the operations of connect
and disconnect are performed correspondingly in pairs.
The functions SsmLinkFrom, SsmLinkFromEx and SsmLinkFromAllCh allow one channel to listen to multiple talker
channels. The voices from the talker channels are sent to the conference mixer of the listener channel via the TDM
bus, and then the mixed voice is sent as the outgoing call signal to the listener.
Note:
z For SHT/SHD/SHN Series boards, the off-bus mixer M2 has 6 input signal sources, A4-1~A4-6. Therefore,
each channel can listen to up to 6 channels at one time, i.e. one channel can invoke the function
SsmLinkFrom or SsmLinkFromEx up to 6 times. For more information, refer to ‘Operation Principle of
SHT Series’, ‘Operation Principle of SHD Series’ or ‘Operation Principle of SHN Series’ in Chapter 1.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Sample code:
Code Implementation:
int ListenerChList[3]={12,13,14}; // Establishes the one-way connections from the talker channel 4 to the listener
SsmLinkFromAllCh(4,0,ListenerChList,3);
SmStopListenTo( 5,0); // Tears down the connection for the listener channel 0
SmStopListenTo( 6,1); // Tears down the connection for the listener channel 0
SsmStopLinkFrom( 9,2); // Tears down the connection for the listener channel 1
SsmStopLinkFrom(10,2);
SsmStopLinkFrom(11,2);
SsmStopLinkFrom( 9,3); // Tears down the connection for the listener channel 2
SsmStopLinkFrom(10,3);
SsmStopLinkFrom(11,3);
SsmLinkFromAllCh(4,ListenerChList,3);// Tears down the one-way connection from channel 4 to listener channel 12, 13 and 14.
2.11.2.2.1 SsmStopListenTo
Refer to SsmUnLinkFromAllCh
2.11.2.2.2 SsmStopLinkFrom
Refer to SsmUnLinkFromAllCh
2.11.2.2.3 SsmUnLinkFromAllCh
Tears down the one-way connection between the talker channel and the listener channel. The function
SsmStopListenTo is used tear down the one-way connection established by the function SsmListenTo or
SsmListenToEx. The function SsmStopLinkFrom is used to tear down the one-way connection established by
SsmLinkFrom or SsmLinkFromEx. The function SsmUnLinkFromAllCh is used to tear down the one-way
connection established by SsmLinkFromAllCh.
Format:
Parameter Description:
nSourceCh Talker channel number
nListeningCh Listener channel number
The pointer pointing to the table of listener channels, the storage space is allocated by
pnListenerTable
the application. The listener channels must be stored consecutively
nListenerNum The number of the listener channels in the table of pnListenerTable
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Tears down the one-way connection between the talker channel and the listener channel.
Note:
z The operations of establishing and disconnecting the one-way connection must be performed
correspondingly in pairs.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.11.3.1 SsmGetChBusInfo
Obtains the relative bus information for Channel ch.
Format:
int WINAPI SsmGetChBusInfo(int ch, PBUS_OP* p)
Parameter Description:
ch Channel Number
p Bus structure pointer
Return Value:
-1 No channel is monitored by Channel ch
-2 This function is unsupported by Channel ch
>=0 The number of the channel monitored by Channel ch
Function Description:
Obtains the relative bus information for Channel ch.
Bus Structure
{ BOOL bEnHwOpBus; Bus switch
BOOL bEnHwOpSetLinkFromVlm; Volume control switch for bus connection
int nST; Default bit stream for bus connection
int nTs; Default time slot for bus connection
int nToBusCh; Total number of time slots used by default for bus
connection
int nPlayST; Bit stream used by default for the recording
module to put voices onto bus
int nPlayTs; Time slot connected by default for the recording
module to put voices onto bus
int nPlayToBusCh; Total number of time slots used by default for the
recording module to put voices onto bus
int nSpeakerVlm; Volume
int nTotListener; Total number of listeners listening to the current
channel via bus connection
int *pnListenerCh; Number of the channel listening to the current
channel via bus connection
int nFromSpeaker; Speaker channel number
int nDefaultSpeakerVlm; } Volume for bus connection
This bus structure is defined by the driver itself and some of the parameters are senseless to the application layer.
Therefore users may not pay much attention to it.
Note:
z This function only supports obtaining information about the bus connection between two channels, such
as SsmListenTo, SsmLinkFrom or SsmTalkWith. It can’t help obtain information of the bus connection
among conference members.
Related Information:
Driver version SynCTI Ver.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.11.4.1.1 SsmClearChBusLink
Tears down all bus connections on the channel and recovers the channel to the state upon the driver’s
initialization.
Format:
int SsmClearChBusLink(int nCh)
Parameter Description:
nCh The monitoring channel number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Tears down all the TDM bus connections which are established on the channel nCh by invoking any of the
functions below:
¾ SsmListenTo, SsmListenToEx, SsmLinkFrom, SsmLinkFromEx, SsmLinkFromAllCh
¾ SsmTalkWith, SsmTalkWithEx
Recovers the channel to the state upon the driver’s initialization.
Note:
z If the channel has entered a conference room, its TDM bus connections will also be torn down forcibly.
Related Information:
Driver version SynCTI Ver.4.5.6.2 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.11.4.2.1 SsmLinkToBus
Changes the time slot which is set to receive the signals from the onto-bus mixer.
Format:
int SsmLinkToBus(int ch, int ts)
Parameter Description:
ch Channel Number
The number of the available common time slot on the TDM bus, range of value:
N~4095, N is twice of the total amount of the channels in the system. For more
ts
information about the number of the available common time slot, refer to ‘TDM
Capability’ in Chapter 1
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
During system initialization, the driver will put the incoming signal from Channel ch to a time slot (suppose it is ts0)
on TDM bus. This function reconnects output signals to the time slot.
Note:
z The time slot ts must be an unused common time slot.
z This function must be used with SsmUnLinkToBus, otherwise, it may cause garbled signals.
z This function is a bottom function which is only applicable to the situation where Synway boards are
interoperated with third party boards.
z The configuration item EnableCommonTimeSlot can be used to open all the common time slots on the
TDM bus.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmUnLinkToBus, SsmLinkFromBus, SsmLinkFromBusEx
2.11.4.2.2 SsmUnLinkToBus
Reuses the default time slot to receive the signals from the onto-bus mixer.
Format:
int SsmUnLinkToBus(int ch, int ts)
Parameter Description:
ch Channel Number
ts Time slot number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Tears down the one-way connection from the channel ch to the bus time slot ts, and reuses the default time slot to
receive the signals from the onto-bus mixer.
Note:
z This function must be called along with SsmLinkToBus in pairs, otherwise, it may cause garbled signals.
z This function is a bottom function which is only applicable to the situation that Synway’s boards
interoperate with 3rd party’s boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmLinkToBus
2.11.4.3.1 SsmLinkFromBus
Refer to SsmLinkFromBusEx
2.11.4.3.2 SsmLinkFromBusEx
Establishes the one-way connection from the bus time slot to the listener channel. Apart from having all the
features of the function SsmLinkFromBus, SsmLinkFromBusEx can also set the volume.
Format:
Parameter Description:
ch Channel Number
ts Time slot number
The volume of the voice data on the time slot ts entering channel ch, range of value:
nVolume -6~+6, the negative value means volume decreasing, the positive value means the
volume increasing , this parameter multiplied by 3 equals dB value
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Establishes the one-way connection from the bus time slot ts to the listener channel ch.
Note:
Related Information:
2.11.4.3.3 SsmUnLinkFromBus
Tears down the one-way connection from the bus time slot to the listener channel.
Format:
Parameter Description:
ch Channel Number
ts Time slot number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Tears dwon the one-way connection from the time slot ts to the listener channel ch.
Note:
z The function SsmLinkFromBus or SsmLinkFromBusEx must be called along with SsmUnLinkFromBus in
pairs, otherwise, it may cause garbled signals.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmLinkFromBus, SsmLinkFromBusEx
2.11.4.3.4 SsmListenToPlay
Format:
int WINAPI SsmListenToPlay(int ch1, int vlm, int ch2)
Parameter Description:
ch1 The monitoring channel number
ch2 The monitored channel number. The channel is required to be a recording channel
vlm The volume of voices played on the monitored channel
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmUnListenToPlay
2.11.4.3.5 SsmUnListenToPlay
Format:
Parameter Description:
ch1 The monitoring channel number
ch2 The monitored channel number, and the channel is required to be a recording channel
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Stops Channel ch1 from monitoring the recording channel Channel ch2.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmListenToPlay
2.12.1 SsmQueryOpPowerAmp
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 Not equipped with on-board audio amplifier circuit
1 Equipped with on-board audio amplifier circuit
Function Description:
Queries if the channel is equipped with on-board audio amplifier circuit. For detailed information about the
on-board audio power amplifier, see the operation principles of the corresponding boards.
Note:
Related Information:
2.12.2 SsmSetPowerAmpVlm
Refer to SetVolume
2.12.3 SetVolume
Sets the gain of the on-board audio power amplifier. As SetVolume is designed for early versions, we suggest you
use the function SsmSetPowerAmpVlm instead.
Format:
void SsmSetPowerAmpVlm(int ch, int nGain)
void SetVolume(DWORD dwBoardId, DWORD nGain)
Parameter Description:
Channel Number. Note: the internal number of Channel ch on the corresponding board
ch
must be 0, otherwise the function will fail
dwBoardId Board ID
The gain of the power amplifier, range of value: 0~7, in which:
7: 0DB
6: -6DB
5: -12DB
4: -18DB
nGain
3: -24DB
2: -30DB
1: -36DB
0: Turned off
The default value is 3(-24DB).
Return Value: None
Function Description:
Sets the gain of the on-board audio power amplifier. For detailed information about the on-board audio power
amplifier, see the operation principles of the corresponding boards.
Note:
z Only Channel 0 on ATP, SHT or DST Series boards is equipped with the on-board audio power amplifier.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmQueryOpPowerAmp
2.13.1 SsmSetLine0OutTo
Enables or disables the on-board speaker of the USB recording box/ voice box.
Format:
int SsmSetLine0OutTo(BOOL bEnable)
Parameter Description:
=FALSE: sends the voice to the on-board speaker for playing;
bEnable =TRUE: sends the voice to the on-board speaker output jack, to play the voice via an
external speaker
Return Value:
-1 Call failed
0 Successful
Function Description:
Enables or disables the on-board speaker of the USB recording box/voice box. For more information, refer to
‘Operation Principle of ATP Series’ or ‘Operation Principle of SHT Series’ in Chapter 1.
Note:
z This function is only applicable to ATP Series USB recording box and SHT Series USB voice box.
z The configuration item USBLine0Output can implement the same features.
Related Information:
Driver version SynCTI Ver. 4.7.1.7 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetPowerAmpVlm
2.14.1.1 SsmQueryOpEchoCanceller
Queries if the channel supports echo cancellation.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 Not supported
1 Supported
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.14.1.2 SsmSetEchoCanceller
Sets the operating mode of the echo canceller.
Format:
Parameter Description:
ch Channel Number
TRUE: Enable
bEnable
FALSE: Disable
Return Value:
-1 Call failed
0 Successful
Function Description:
Note:
z The configuration item EnableEchoCancellor can implement the same feature. This feature is enabled
by default.
z For more information, refer to Echo Canceller in Chapter 1.
z This function only supports SHD, SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetEchoCancellerState
2.14.1.3 SsmGetEchoCancellerState
Obtains the operating status of the echo canceller.
Format:
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
0 Turned off
1 Turned on
Function Description:
Note:
z This function only supports SHD Series and SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetEchoCanceller
2.14.2.1 SsmSetEchoCancelDelaySize
Sets the filter delay coefficient of the echo canceller.
Format:
Parameter Description:
ch Channel number
wSize The filter delay coefficient, range of value: 0~31
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the filter delay coefficient of the echo canceller.
Note:
z This function only supports SHD Series and SHT Series boards;
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetEchoCancelDelaySize
2.14.2.2 SsmGetEchoCancelDelaySize
Obtains the filter delay coefficient of the echo canceller.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
Note:
z This function only supports SHD Series and SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetEchoCancelDelaySize
2.15.1.1 SsmCreateConfGroup
Creates a conference room.
Format:
int SsmCreateConfGroup(int nMaxMember, int nMaxSpeaker, int nMaxSpeaking, int nMaxSilenceTime)
Parameter Description:
The maximum number of channels in a conference room, range of value:
-1: Use the parameter specified in the configuration item
nMaxMember
ConfDefaultMaxGroupMember
3~N: N is the total number of channels in the application
Sets the maximum number of conference channels which have speaking rights. The
channels in the speaking modes of organizer, chairman or dynamic speaker all have
speaking rights. It’s determined by the set value of the configuration item
BackgroundVoicePriority whether the channel in the background music mode has the
nMaxSpeaker
speaking right. Range of value:
-1: Use the parameter designated by the configuration item
ConfDefaultMaxGroupSpeaker
≥1: The total number of conference channels
The maximum number of speaking members allowed at a time, range of value:
-1: Use the parameter designated by the configuration item
nMaxSpeaking
ConfDefaultMaxGroupSpeaking;
1~6: The set value
Sets the minimum duration for the channel to keep silent. Range of value:
-1: Use the parameter designated by the configuration item
ConfDefaultMaxSilenceTime
nMaxSilenceTime
≥1: The set value (seconds)
For more information, refer to ‘Distributed Teleconferencing System’.
Note: Now this parameter is invalid. Just set it to -1.
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
≥0 The ID number of the newly-created conference room
Function Description:
Note: None
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFreeConfGroup, SsmJoinConfGroup, SsmGetConfGrpInfo, SsmGetConfGrpCfgInfo
2.15.1.2 SsmFreeConfGroup
Cancels a conference room.
Format:
Parameter Description:
nGrpId Conference room number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Cancels a conference room, and releases the resources it occupied.
Note:
z If there are still channels in the conference room, the driver will automatically invoke the function
SsmExitConfGroup to put them out of the conference room.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmCreateConfGroup
2.15.2.1 SsmJoinConfGroup
Puts a channel into the conference room.
Format:
int SsmJoinConfGroup(int nGrpId, int ch, WORD wJoinMode, int nMixerVolume, BOOL bCreateAlways, BOOL
bExitGrpAlways)
Parameter Description:
nGrpId Conference room number
ch Channel Number
The speaking mode of the channel, range of value:
0: Organizer;
wJoinMode 1: Dynamic Speaker;
2: Listener;
3: Background Music;
Whether the channel in this mode can hear the voices from other channels is
determined by the configuration item PlayVoiceIsListen. When PlayVoiceIsListen
=0, the channel can speak but not hear the voices from other channels, and it is
usually used for playing music to a conference; when PlayVoiceIsListen=1
(default), the channel can not only speak but also hear the voices from other
channels.
4: Chairman;
5: Dynamic Speaker ONLY
For more information about the speaking modes and conference scheduling, refer to
‘Distributed Teleconferencing System’
The volume of the incoming call signal on the current channel entering the off-bus
mixer M2 for other conference member, range of value: -6~+6. The positive value
nMixerVolume means volume increasing, while the negative value means volume decreasing. This
parameter multiplied by 3 equals dB value. This volume is the speaking volume of this
member heard by others in the conference.
When this function is called, if the conference room designated by the parameter
nGrpId does not exist, this parameter indicates whether to automatically create a new
bCreateAlways conference room with the conference room number nGrpId by the driver.
TRUE: yes
FALSE: no, call failed
If this channel has already joined in another conference room, this parameter indicates
whether to automatically put this channel out of that conference room by the driver
bExitGrpAlways
TRUE: yes
FALSE: no, call failed
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Puts a channel into the conference room.
Note: none
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmExitConfGroup, SsmSetListenVlmInConf
2.15.2.2 SsmExitConfGroup
Puts a the channel out of the conference room.
Format:
int SsmExitConfGroup(int ch, BOOL bFreeGrpAlways)
Parameter Description:
ch Channel Number
Sets whether to cancel the conference room automatically by the driver if the current
channel is the only channel in it.
bFreeGrpAlways
TRUE: Cancel;
FALSE: Not cancel
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmJoinConfGroup
2.15.2.3 SsmSetListenVlmInConf
Sets the volume adjuster for the off-bus signals entering M2 (off-bus mixer).
Format:
Parameter Description:
ch Channel number
nVlm Volume of the off-bus signals, range of value: -7~6.
Return Value:
0 Successful
-1 Call failed
Function Description:
Sets the volume adjuster for the off-bus signals entering M2 (off-bus mixer), i.e. sets the volume adjuster
A4-1…A4-6 in ‘Operation Principle of SHT Series’, ‘Operation Principle of SHD Series’ or ‘Operation Principle of
SHN Series’ in Chapter 1. This function can only adjust the volume heard by the current channel, but not the
volume heard by other members in the conference.
Note: none
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmJoinConfGroup
2.15.2.4 SsmSetContactInConf
Blocks a channel from hearing another channel in a teleconference.
Format:
int SsmSetContactInConf(int nGrpID, int chFrom, int chTo, BOOL bFlag)
Parameter Description:
nGrpID Conference room number
chFrom Number of the channel where voices come from
chTo Number of the channel where voices go to
TRUE: Channel chTo is blocked from hearing Channel chFrom in a teleconference;
bFlag
FALSE: Channel chTo is required to hear Channel chFrom in a teleconference.
Return Value:
-1 This function is unsupported
0 Call failed
1 Successful
Function Description:
Blocks a channel from hearing another channel in a teleconference.
Note:
z A channel can be blocked to only one channel . For example, when Channel A is blocked from hearing
Channel B, it can’t be blocked from hearing Channel C unless its blocking to Channel B is disabled first.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: None
2.15.3.1 SsmGetConfCfgInfo
Obtains the configuration parameters of the distributed teleconferencing.
Format:
int SsmGetConfCfgInfo(PWORD pwMaxMember, PWORD pwMaxSpeaker, PWORD pwMaxSpeaking, PWORD
pwMaxSilenceTime)
Parameter Description:
pwMaxMember Returns the set value of the configuration item ConfDefaultMaxGroupMember
pwMaxSpeaker Returns the set value of the configuration item ConfDefaultMaxGroupSpeaker
pwMaxSpeaking Returns the set value of the configuration item ConfDefaultMaxGroupSpeaking
pwMaxSilenceTime Returns the set value of the configuration item ConfDefaultMaxSilenceTime
Return Value:
-1 Call failed
≥0 Returns the set value of the configuration item ConfMaxGroup
Function Description:
Obtains the configuration parameters of the distributed teleconferencing.
Note: none
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetConfGrpInfo
2.15.3.2 SsmGetTotalConfGroup
Obtains the actual number of the conference rooms.
Format:
int SsmGetTotalConfGroup()
Return Value:
-1 Call failed
≥0 The actual number of the conference rooms
Function Description:
Obtains the actual number of the conference rooms.
Note: none
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetConfGrpId
2.15.3.3 SsmGetConfGrpCfgInfo
Obtains the set values of the operating parameters of the conference room.
Format:
int SsmGetConfGrpCfgInfo(int nGrpId, PWORD pwMaxMember, PWORD pwMaxSpeaker, PWORD
pwMaxSpeaking, PWORD pwMaxSilenceTime)
Parameter Description:
nGrpId Conference room number
pwMaxMember Returns the total number of the conference channels
pwMaxSpeaker Returns the total number of the conference channels with speaking rights
Returns the total number of conference channels which are permitted to speak at a
pwMaxSpeaking
time
pwMaxSilenceTime Sets the minimum duration (s) for the channel to keep silent.
Return Value:
-1 Call failed
0 Successful
Function Description:
Obtains the set values of the operating parameters of the conference room which are configured by the application
via the function SsmCreateConfGroup upon the creation of the conference room.
Note: none
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetConfCfgInfo
2.15.3.4 SsmGetConfGrpInfo
Obtains the statistical information of the conference room.
Format:
int SsmGetConfGrpInfo(int nGrpId, PWORD pwTotalMember, PWORD pwTotalSpeaker, PWORD
pwTotalSpeaking)
Parameter Description:
Note: none
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetConfCfgInfo
2.15.3.5 SsmGetConfGrpId
Obtains the conference room number list for all the conference rooms.
Format:
int SsmGetConfGrpId(int* pnGrpId)
Parameter Description:
pnGrpId Returns the pointer pointing to the array containing all the conference room numbers
Return Value:
-1 Call failed
0 Successful
Function Description:
Obtains the conference room number list for all the conference rooms.
Note: none
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmValidateGrpId
2.15.3.6 SsmValidateGrpId
Queries if the conference room has been created.
Format:
int SsmValidateGrpId(int nGrpId)
Parameter Description:
nGrpId Conference room number
Return Value:
1 The conference room is already created
0 Not created
Function Description:
Queries if the conference room has been created.
Note: None
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetConfGrpId
2.15.4.1 SsmGetConfGrpMmbrId
Obtains the channel numbers of the channels in the conference room.
Format:
int SsmGetConfGrpMmbrId(int nGrpId, int* pnMmbrId)
Parameter Description:
nGrpId Conference room number
pnMmbrId Returns the pointer pointing to the array containing the conference channel numbers
Return Value:
-1 Call failed
0 Successful
Function Description:
Obtains the channel numbers of the channels in the conference room.
Note: none
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetConfGrpMmbrInfo
2.15.4.2 SsmGetConfGrpMmbrInfo
Obtains the detailed information about the conference channels in the conference room.
Format:
int SsmGetConfGrpMmbrInfo(int nGrpId, int nMmbrId, int* pnAppCh, PWORD pwJoinMode, PWORD
pwIsSpeaking, PDWORD pdwSilenceTime)
Parameter Description:
nGrpId Conference room number
nMmbrId Conference channel number
pnAppCh Returns the logical number corresponding to the conference channel number
Note: none
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetConfChInfo
2.15.4.3 SsmGetConfChInfo
Queries if the channel has joined in a specific conference room.
Format:
int SsmGetConfChInfo(int ch, int* pnGrpId, int* pnMmbrId, PWORD pwJoinMode, PWORD pwIsSpeaking,
PDWORD pdwSilenceTime)
Parameter Description:
ch Channel Number
pnGrpId Returns the conference room number
pnMmbrId Returns the member ID of Channel ch in the conference room
pwJoinMode Returns the speaking mode of Channel ch in the conference room
Returns the sign indicating whether Channel ch is speaking or not. pwIsSpeaking=1:
pwIsSpeaking
Speaking; pwIsSpeaking=0: Not speaking.
pdwSilenceTime Returns the duration (s) of Channel ch to keep silent
Return Value:
-1 Call failed
0 Successful
Function Description:
Queries if the channel has joined in a specific conference room.
Note: none
Related Information:
Driver version SynCTI Ver. 3.0or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetConfGrpMmbrInfo
2.16.1.1 SsmSetFskPara
Sets the operating parameters of the FSK Transmitter.
Format:
int SsmSetFskPara(int nFreq0, int nFreq1, int nBaudrate, int nMdlAmp)
Parameter Description:
The carrier frequency (Hz) of bit 0, range of value: 300~3400. This parameter can also
nFreq0
be set by the configuration item FreqBit0. The default value is 2200Hz
The carrier frequency (Hz) of bit 1, range of value: 300~3400. This parameter can also
nFreq1
be set by the configuration item FreqBit1. The default value is 1200Hz
Baud rate (bps), range of value: 300~3400. This parameter can also be set by the
nBaudrate
configuration item Baudrate. The default value is 1200bps
Modulation Amplitude, range of value: 0~255.
nMdlAmp This parameter can also be set by the configuration item MdlAmp. The default value is
128
Return Value:
-1 Call failed
0 Successful
Function Description:
Note:
z If Synway boards are used at the reception end, normally no extra configuration is needed. Just use the
default settings.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetFskPara
2.16.1.2 SsmGetFskPara
Obtains the operating parameters of the FSK Transmitter.
Format:
int SsmGetFskPara(int *nFreqBit0, int *nFreqBit1, int *nBaudrate, int *nMdlAmp)
Parameter Description:
nFreqBit0 Returns the carrier frequency (Hz) of bit 0
nFreqBit1 Returns the carrier frequency (Hz) of bit 1
nBaudrate Returns the baud rate (bps) of the binary code stream
nMdlAmp Returns the amplitude of the modulating signal
Return Value:
-1 Call failed
0 Successful
Function Description:
Obtains the operating parameters of the FSK Transmitter.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetFskPara
2.16.1.3 SsmTransFskData
Converts the data to BFSK-formatted binary data stream.
Format:
int SsmTransFskData(unsigned char* pSrc, int nSrcLen,int nSyncLen,int nSyncOffLen,unsigned char* pStream)
Parameter Description:
pSrc Pointer pointing to the buffer area storing the data
nSrcLen The data length (bytes) in pSrc
The bit number of the syn code, normally it is integral times of 8. It can be set
nSyncLen
according to your actual need and the recommended value is 96
The bit number of the flag code, normally its integral times of 8. It can be set according
nSyncOffLen
to your actual need and the recommended value is 32
Pointer pointing to the buffer area storing the converted BFSK data stream. Its space
pStream is allocated by the application, and its size can be calculated by the following formula:
(nSyncLen + nSyncOffLen + nSrcLen×10 ) / 8 + 1
Return Value:
-1 Call failed
≥0 The actual bit number in pStream
Function Description:
Converts the data to BFSK-formatted binary data stream. For more information about the format of the BFSK data
stream, refer to ‘FSK Transceiver’ in Chapter 1.
Note:
z In some protocols the flag code is called ‘synchronization end character’, and it is together with the syn
code called ‘synchronization indicator string’ which indicates the establishment of synchronization. In this
function, we use nSyncLen to represent the syn code and nSyncOffLen to indicate the flag code.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStartSendFSK
2.16.1.4 SsmStartSendFSK
Starts the FSK transmitter.
Format:
Parameter Description:
ch Channel Number
The pointer pointing to the buffer area storing the BFSK data stream. For more
pStream
information, refer to ‘FSK Transceiver’ in Chapter 1
dwMaxBit The total number of valid bits in pStream, it could be of any length
Return Value:
-1 Call failed
0 Successful
Function Description:
Starts the FSK transmitter.
The operating parameters of the FSK transmitter can be configured by the function SsmSetFskPara or the
configuration items FreqBit0, FreqBit1, Baudrate, and MdlAmp.
After the FSK transmitter is started, the application can invoke the function SsmStopSendFsk to stop it at anytime.
When the driver has finished transmitting all the bits in pStream, it will throw out the event E_PROC_SendFSK to
the application. The application can also invoke the function SsmCheckSendFsk to query the transmitting status of
the FSK transmitter.
Note:
z You could neither start the voice playing task nor use the DTMF generator or the tone generator before
the FSK transmitter finishes transmitting all the data.
z Before the FSK transmitter is started, in order to ensure the data integrity, the echo cancellation feature
should be disabled.
z This function can be called only after the original data has been converted to BFSK data stream via the
function call of SsmTransFskData.
z This function does not support ATP, DTP and SHN Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmCheckSendFsk, SsmStopSendFsk, SsmTransFskData
Sample code:
2.16.1.5 SsmCheckSendFsk
Queries the transmitting status of the FSK transmitter.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 Finished
1 Unfinished
Function Description:
Note:
z If the application uses the event based programming mode, it’s recommended to use the event
E_PROC_SendFSK.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStartSendFSK
2.16.1.6 SsmStopSendFsk
Stops the FSK transmitter.
Format:
int SsmStopSendFsk(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
0 Successful
Function Description:
Note:
z After invoking this function, the driver throws out the event E_PROC_SendFSK to the application.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStartSendFSK
2.16.2.1 SsmStartRcvFSK
Starts the FSK receiver.
Format:
int SsmStartRcvFSK(int ch, WORD wTimeOut, WORD wMaxLen, UCHAR ucEndCode, WORD
wEndCodeCount)
Parameter Description:
ch Channel Number
wTimeOut Timer interval (ms)
wMaxLen The maximum length (bytes) of the FSK data, range of value: 1~1024
ucEndCode The character indicating the end of the FSK data package
wEndCodeCount The minimum times that ucEndCode continuously appears, range of value: 0~10
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Note:
z The baud rate of the FSK receiver on Synway boards is 1200bps, the carrier frequency of bit 0 is 2200Hz,
and the carrier frequency of bit 1 is 1200Hz. Neither of them can be changed via functions or configuration
items.
z This function does not support ATP, DTP and SHN Series boards.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetRcvFSK, SsmStopRcvFSK, SsmStartRcvFSK_II
Sample code:
……
SsmStartRcvFSK (0, 10000, 260, ‘#’, 1); //Starts the FSK receiver
MESSAGE_INFO Event;
If ( SsmWaitForEvent (64, &Event) == 0 ) //Waits the event
{
switch(Event.EventCode)
{
case E_PROC_RcvFSK: //Stops the FSK receiver
if(Event.dwParam == 2) //Completes receiving FSK data ended with end character ‘#’
{
unsigned char DataBuf[260];
SsmGetRcvFSK(Event.nReference, DataBuf); //Gets the data
…… //Processes the code
}
……
break;
……
}
}
2.16.2.2 SsmStartRcvFSK_II
Starts to receive FSK data.
Format:
int WINAPI SsmStartRcvFSK_II(int ch, WORD wTimeOut, WORD wMaxLen, PUCHAR pucMarkCodeBuf, UCHAR
ucMarkCodeCount)
Parameter Description:
ch Channel number
wTimeOut Timer interval (ms)
wMaxLen The maximum length (bytes) of the FSK data: 1~260
pucMarkCodeBuf The buffer area storing flag codes, at most 10 different flag codes can be set
The number of flag codes in pucMarkCodeBuf, range of value: 0~10. If this parameter
ucMarkCodeCount
is set to 0, the parameter pucMarkCodeBuf will be ignored
Return Value:
-1 Call failed. The failure reason can be obtained by the function SsmGetLastErrMsg
0 FSK receiver is started successfully
Function Description:
Starts the FSK receiver to begin the task of FSK data receiving.
This function supports two receiving modes: Length Mode and Frame Mode. Frame Mode means the FSK data to
be transmitted has a fixed frame structure. The driver needs to align and extract the frame according to the frame
flag code; Length Mode means the driver only examines the length of the data to be received. When the length of
the received FSK data becomes larger than wmMaxLen, the task of data receiving is terminated. If
ucMarkCodeCount is larger than 0, the driver will use Frame Mode as the first choice to receive data. Otherwise, it
will use Length Mode where the parameter wMaxLen is valid.
The frame is composed of four fields: flag code, data length, data body and check byte.
Flag Code: The beginning of the frame, occupying 1 byte and used for frame alignment. Its value can
be determined by the application itself;
Data Length: The length (bytes) of the data body, occupying 1 byte;
Data Body: The data to be transmitted, the maximum length can’t exceed 255 bytes;
Check Byte: It occupies 1 byte. Note that the check byte is generated by the application, so the driver
doesn’t check the data integrity.
set to 4) to the application. If the flag code is not found, the data receiving will turn to the length mode.
Length Mode: When the FSK data length exceeds the set value of the parameter wMaxLen, the current
task of data receiving will be stopped and the driver will throw out the event E_PROC_RcvFSK
(dwParam is set to 3) to the application.
If the BFSK signal disappears on the line and does not reappear within 100ms, the current task of FSK
data receiving will be stopped and the driver will throw out the event E_PROC_RcvFSK (dwParam is set
to 1 if the length of the received FSK data is less than wMaxLen, otherwise it is set to 3) to the
application.
If the timer overflows, the current task of FSK data receiving will be stopped and the driver will throw out
the event E_PROC_RcvFSK (dwParam is set to 1) to the application.
Note:
z The baud rate of the FSK receiver on Synway boards is 1200bps, the carrier frequency of Bit 0 is 2200Hz
and that of Bit 1 is 1200Hz. Neither of them can be changed by modifying functions or configuration items.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetRcvFSK, SsmStopRcvFSK, SsmStartRcvFSK
Sample code:
……
SsmStartRcvFSK_II (0, 10000, 1, ‘#’, 1); //Start FSK receiver
MESSAGE_INFO Event;
If ( SsmWaitForEvent (64, &Event) == 0 ) //Wait for an event to be triggered
{
switch(Event.EventCode)
{
case E_PROC_RcvFSK: //FSK receiver is terminated
if(Event.dwParam == 4) //A frame of FSK data are received
{
unsigned char DataBuf[260];
SsmGetRcvFSK(Event.nReference, DataBuf); //Take the data
…… //Process the data
}
else
{
…… //Process the failure in receiving
}
break;
……
}
}
2.16.2.3 SsmStartRcvFSK_III
Starts to receive FSK data.
Format:
Parameter Description:
ch Channel number
wTimeOut Timer interval (ms)
wMaxLen The maximum length (bytes) of the FSK data, range of value: 1~1024
pucMarkCodeBuf The buffer area storing flag codes, at most 10 different flag codes can be set
The number of flag codes in pucMarkCodeBuf, range of value: 0~10. If this parameter
ucMarkCodeCount is set to 0, the parameter pucMarkCodeBuf will be ignored; if this parameter is set to 5,
the former 5 flag codes in pucMarkCodeBuf are valid.
Return Value:
-1 Call failed. The failure reason can be obtained by the function SsmGetLastErrMsg
0 FSK receiver is started successfully
Function Description:
Starts the FSK receiver to begin the task of FSK data receiving.
This function supports two receiving mode: Length Mode and Frame Mode. Frame Mode means the FSK data to
be transmitted has a fixed frame structure. The driver needs to align and extract the frame according to the frame
flag code; Length Mode means the driver only examines the length of the data to be received. When the length of
the received FSK data becomes larger than wmMaxLen, the task of data receiving is terminated. If
ucMarkCodeCount is larger than 0, the driver will use Frame Mode as the first choice to receive data. Otherwise, it
will use Length Mode where the parameter wMaxLen is valid for receiving.
The frame is composed of four fields: flag code, data length, data body and check byte.
Flag Code: The beginning of the frame, occupying 1 byte and used for frame alignment. Its value can
be determined by the application itself;
Data Length: The length (bytes) of the data body, occupying 2 bytes;
Data Body: The data to be transmitted, the maximum length can’t exceed 1020 bytes;
Check Byte: It occupies 1 byte. Note that the check byte is generated by the application, so the driver
doesn’t check the data integrity.
Note:
z The baud rate of the FSK receiver on Synway boards is 1200bps, the carrier frequency of Bit 0 is 2200Hz
and that of Bit 1 is 1200Hz. Neither of them can be changed by modifying functions or configuration items.
z The data length occupies 2 bytes in the frame structure: the first byte indicates the length of high bits and the
second one represents the length of low bits.
For example,
sz[5] = {0xFF 0x0 0x3 0x1 0x2 0x3} is a correct FSK datum, in which
Related Information:
Driver version SynCTI Ver. 5.0.1.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetRcvFSK, SsmStopRcvFSK, SsmStartRcvFSK, SsmStartRcvFSK_II
Sample code:
……
SsmStartRcvFSK_III (0, 10000, 1, ‘#’, 1); //Start FSK receiver
MESSAGE_INFO Event;
If ( SsmWaitForEvent (64, &Event) == 0 ) //Wait for an event to be triggered
{
switch(Event.EventCode)
{
case E_PROC_RcvFSK: //FSK receiver is terminated
if(Event.dwParam == 4) //A frame of FSK data are received
{
unsigned char DataBuf[260];
SsmGetRcvFSK(Event.nReference, DataBuf); //Take the data
…… //Process the data
}
else
{
…… //Process the failure in receiving
}
break;
……
}
}
2.16.2.4 SsmCheckRcvFSK
Queries the receiving status of the FSK data
Format:
int SsmCheckRcvFSK(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 FSK receiver has not finished the current task of data receiving yet
1 Terminated because the timer overflows
2 Terminated due to the reception of the end character
3 Terminated due to the reception of the data with designated length
Note:
z If the application’s programming mode is based on event, it’s recommended to use the event
E_PROC_RcvFSK.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.16.2.5 SsmStopRcvFSK
Cancels the task of FSK data receiving.
Format:
int SsmStopRcvFSK(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
0 Successful
Function Description:
Cancels the task of FSK data receiving. This function can cancel the data receiving task started by the function
SsmStartRcvFSK or SsmStartRcvFSK_II.
Note:
z After the driver finishes executing this function, it will throw out the event E_PROC_RcvFSK to the
application.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetRcvFSK, SsmCheckRcvFSK
2.16.2.6 SsmClearRcvFSKBuf
Clears the FSK receiving buffer area in the driver.
Format:
int SsmClearRcvFSKBuf(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Error occurs, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Clears the FSK receiving buffer area in the driver.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetRcvFSK
2.16.2.7 SsmGetRcvFSK
Gets the FSK data stored in the buffer area in the driver.
Format:
int SsmGetRcvFSK(int ch, PUCHAR pucBuf)
Parameter Description:
ch Channel Number
Buffer area pointer, the storage space is allocated by the application, its size should be
pucBuf
no less than 260 bytes
Return Value:
-1 Call failed
≥0 The length (bytes) of the received FSK data (excluding the end character)
Function Description:
Gets the FSK data stored in the buffer area in the driver.
Note:
z Each time when the application calls the function SsmStartRcvFSK or starts the task of data receiving, the
driver will automatically clear the buffer area storing the FSK data in the driver.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmCheckRcvFSK, SsmClearRcvFSKBuf
2.17.1.1 SsmSetIgnoreLineVoltage
Sets whether to ignore the result of the voltage detector on analog phone lines.
Format:
Parameter Description:
ch Channel Number
=FALSE: not to ignore
bIgnore
=TRUE: ignore
Return Value:
-1 Operation failed
0 Operation is successful
Function Description:
Sets whether to ignore the result of the voltage detector on analog phone lines. If the result of the voltage detector
is ignored, the recording channel will always keep ‘off-hook’ state. For more information, refer to ‘Change in Analog
Phone Line Voltage’ in Chapter 1.
Note:
z This function is only applicable to recording channels (including analog trunk recording module and
microphone module) of ATP Series boards;
z The parameter set by this function can also be set by the configuration item IgnoreLineVoltage, with the
default value of ‘not to ignore’.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetIgnoreLineVoltage
2.17.1.2 SsmGetIgnoreLineVoltage
Queries if the result of the line voltage detection of the channel is ignored.
Format:
int SsmGetIgnoreLineVoltage(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 Not to ignore
1 Ignore
Function Description:
Queries if the result of the line voltage detection of the channel is ignored.
Note:
z This function is only applicable to recording channels (including analog trunk recording module and
microphone module) of ATP Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.17.2.1 SsmSetDtrmLineVoltage
Sets the threshold voltage to detect the pickup and hangup operations on the analog trunk recording channel.
Format:
Parameter Description:
ch Channel Number
wDtrmValtage Threshold voltage (Volt), range of value:5~48
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the threshold voltage to detect the pickup and hangup operations on the analog trunk recording channel.
For more details, refer to ‘Change in Analog Phone Line Voltage’ in Chapter 1.
Note:
z This function is only applicable to recording channels (including analog trunk recording module and
microphone module) of ATP Series boards.
z The parameter set by this function can also be set by the configuration item IsHangupDtrmVoltage, with
the default value of 26V.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetDtrmLineVoltage
2.17.2.2 SsmGetDtrmLineVoltage
Obtains the threshold voltage detecting the pickup/hangup operations on the analog trunk recording channel.
Format:
int SsmGetDtrmLineVoltage(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
Returns the threshold voltage (Volt) used to detect the pickup/hangup operations on the
≥0
channel
Function Description:
Obtains the threshold voltage detecting the pickup/hangup operations on the analog trunk recording channel.
Note:
z This function is only applicable to recording channels (including analog trunk recording module and
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetDtrmLineVoltage
2.17.3.1 SsmGetLineVoltage
Obtains the line voltage.
Format:
int SsmGetLineVoltage(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
≥0 Returns the line voltage (Volt)
Function Description:
Obtains the line voltage. It can also be obtained via the event E_CHG_LineVoltage. For more details, refer to
Change in Analog Phone Line Voltage in Chapter 1.
Note:
z This function is only applicable to the recording channel of ATP Series boards and the analog trunk
channel of SHT Series boards;
z It’s normal that the voltage on the analog trunk may vary in the range of 1V-2V.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.17.4.1 SsmQueryOpPolarRvrs
Queries if a specific channel supports the detection of polarity reversal.
Format:
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
0 The specified channel does not support the detection of polarity reversal
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.17.4.2 SsmGetPolarRvrsCount
Obtains the count of the detected polarity reversals on the channel after pickup.
Format:
int SsmGetPolarRvrsCount(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
≥0 The count of polarity reversals
Function Description:
Obtains the count of the detected polarity reversals on the channel after pickup. For more details, refer to ‘Change
in Analog Phone Line Voltage’ in Chapter 1.
Note:
z This function is only applicable to the channels featured with polarity reversal detection;
z The event E_CHG_PolarRvrsCount can implement the same feature.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Event:E_CHG_PolarRvrsCount
2.17.5.1 SsmGetRingCount
Obtains the count of the detected ringing current signals.
Format:
int SsmGetRingCount(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
≥0 Count of rings
Function Description:
Obtains the count of the detected ringing current signals. For more details, refer to ‘Ringing Current on Analog
Phone Line’ in Chapter 1.
Note:
z The event E_CHG_RingCount can implement the same features. It’s recommended to use this event to
increase the portability of the application;
z This function is only applicable to the analog trunk recording channel of ATP Series boards and the
analog trunk channel of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmClearRingCount, SsmGetChState
2.17.5.2 SsmGetCallBackRingCount
Obtains the count of the detected ringback current signals.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
≥0 Count of rings
Function Description:
Obtains the count of the detected ringback current signals.
Note:
z The event E_CHG_CallBackRingCount can implement the same features. It’s recommended to use this
event to increase the portability of the application;
z This function is only applicable to the analog trunk recording channel of ATP Series boards and the
analog trunk channel of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 5.3.0.4 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmClearRingCount, SsmGetChState
2.17.5.3 SsmClearRingCount
Clears the count of the ringing current signals stored in the driver.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 Successful
Function Description:
Clears the count of the ringing current signals stored in the driver. For more details, refer to ‘Ringing Current on
Analog Phone Line’ in Chapter 1.
Note:
z This function is only applicable to the analog trunk recording channel of ATP Series boards and the
analog trunk channel of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetRingCount
2.17.5.4 SsmGetRingFlag
Obtains the flag indicating the ringing status.
Format:
int SsmGetRingFlag (int ch)
Parameter Description:
ch Channel number
Return Value:
0 Not ringing
1 Ringing
Function Description:
Obtains the flag indicating the ringing status. For more information, refer to ‘Ringing Current on Analog Phone Line’
in Chapter 1.
Note:
z This function is only applicable to the analog trunk recording channel of ATP Series boards and the
analog trunk channel of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.18.1 SsmGetMaxPcm
Obtains the total amount of the digital trunks in the application.
Format:
int SsmGetMaxPcm()
Parameter Description:
Return Value:
-1 Call failed
The total amount of the digital trunks in the system, which is set by the configuration
≥0
item TotalPcm in the configuration section [PcmInfo]
Function Description:
Obtains the total amount of the digital trunks in the application.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPcmInfo
2.18.2 SsmGetPcmInfo
Obtains the operating parameters of the digital trunk interface unit (LIU).
Format:
int SsmGetPcmInfo(int nPcmNo, int* pnSSxMode, int* pnBoardId, int* pnBoardPcmNo, int* pnUsePcmTS16,
PDWORD pdwRcvrMode, PDWORD pdwEnableAutoCall, PDWORD pdwAutoCallDirection)
Parameter Description:
The logical number of the digital trunk, range of value: 0~N-1, N is the set value of the
nPcmNo configuration item TotalPcm in the configuration section [PcmInfo], it can be obtained
by the function SsmGetMaxPcm
pnBoardId The ID of the board on which the digital trunk is located
pnBoardPcmNo The internal number of the digital trunk on the board
Returns the signaling mode adopted by the PCM
0: ISDN(User side)
pnSSxMode 1: SS1
2: ISDN(Network side)
7: SS7
th
Returns whether the 16 time slot of the PCM is used as voice channel.
pnUsePcmTS16 1: Yes
0: No
Returns the operating mode of the Digital Trunk Interface Unit (LIU), it includes 32 bits,
each bit is defined as follows:
Bit1,Bit0: clock setting, range of value:
PdwRcvrMode 00: line-synchronization mode, master clock
01: Free-run mode, master clock
10: slave clock
11: reserved
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPcmLinkStatus
2.18.3 SsmGetPcmLinkStatus
Obtains the synchronization status of the digital trunk.
Format:
int SsmGetPcmLinkStatus(int nPcmNo, PWORD pwPcmLinkStatus)
Parameter Description:
The logical number of the digital trunk, range of value: 0~N-1. N is the set value of the
nPcmNo configuration item TotalPcm in the section of [PcmInfo], it can be obtained by the
function SsmGetMaxPcm
Returns the synchronization status of the digital trunk. It includes 16 bits and bit 0 is
the lowest valid bit. If the bit value is equal to 0, it indicates that the synchronization
pwPcmLinkStatus status is normal; If the bit value is equal to 1:
For boards of the following models:
SHD-30A-CT/PCI/SS1, SHD-30A-CT/PCI/ISDN, SHD-30A-CT/PCI/SS7,
Return Value:
-1 Call failed
0 Successful
Function Description:
Obtains the synchronization status of the digital trunk.
Note:
z For SS1, only some PBXes support multi-frame CRC check, so, it doesn’t always mean the line
synchronization fails when the CRC multi-frame synchronization loss occurs.
z For SS7, ISDN signaling, the 16th time slot is commonly used to transmit the Common Channel
Signaling (CCS), having nothing to do with multi-frame or CRC multi-frame. Therefore, it can work
normally once the synchronization status of the basic frame is normal (both bit0 and bit1 are 0). In
addition, both SS7 and ISDN signaling are digital signaling with the capability of fault tolerance. It is
allowed that the basic frame synchronization has jitters in a small range. Hence, bit0’s changing from 0
to 1 is regarded as the alarm condition when the line synchronization status is used for alarming.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPcmInfo
2.18.4 SsmPcmTsToCh
Queries the corresponding channel number according to the PCM logical number and the time slot number.
Format:
int SsmPcmTsToCh(int nLocalPcmNo, int nTs)
Parameter Description:
The logical number of the digital trunk. For more information about digital trunk, refer to
nLocalPcmNo
‘Basic Concepts’ in Chapter 1.
nTs Time slot number, range of value : 1~31
Return Value:
-1 Call failed
≥0 The logical number of the corresponding channel
Function Description:
Queries the corresponding channel number according to the PCM logical number and time slot number.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmChToPcmTs
2.18.5 SsmChToPcmTs
Queries the corresponding PCM logical number and time slot number according to the channel number.
Format:
Parameter Description:
ch Channel Number
pnLocalPcmNo The logical number of the PCM on which Channel ch is located
pnTs The number of the time slot on which Channel ch is located
Return Value:
-1 Call failed
≥0 Returns the value in the parameter pnLocalPcmNo
Function Description:
Queries the corresponding PCM logical number and time slot number according to the channel number.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPcmTsToCh
2.18.6 SsmSetPcmClockMode
Sets the clock mode of the digital trunk.
Format:
int SsmSetPcmClockMode(int nPcmNo, int nClockMode)
Parameter Description:
The logical number of the digital trunk, range of value: 0~N-1 (N is the set value of the
nPcmNo
configuration item TotalPcm, it can be obtained by the function call SsmGetMaxPcm)
Clock mode, range of value:
0: master clock, line-synchronization mode (the board must be the master board)
nClockMode
1: master clock, free-run mode (the board must be the master board)
2: slave clock
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the clock mode of the digital trunk. For more information, refer to ‘System Clock Configuration’ in Chapter 1.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPcmInfo
2.18.7 SsmGetInboundLinkSet
During incoming call, obtains the information of the link set which is used by TUP/ISUP messages from the remote
PBX.
Format:
Parameter Description:
ch Channel number
pwLinkSetNo Link set number
pszOpc OPC
pszDpc DPC
Return Value:
1 Successful
-1 Call failed
Function Description:
During incoming call, obtains the information of the link set which is used by TUP/ISUP messages from the remote
PBX, including the link set number, DPC and OPC.
Note:
Related Information:
Driver version SynCTI Ver. 4.7.1.2 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.18.8 SsmGetCbChStatus
Obtains the connection state of the large-capacity channel bank.
Format:
int WINAPI SsmGetCbChStatus(int ch, PWORD pwCBLinkStatus)
Parameter Description:
ch Channel number
pwCBLinkStatus Connection state of the channel bank
Return Value:
0 Call successful
-1 Call failed
Function Description:
Obtains the connection state of the large-capacity channel bank. pwCBLinkStatus=0 means the line is connected,
while pwCBLinkStatus=1 means the line is disconnected.
Note:
z This function is only applicable to detecting the connection state of large-capacity channel bank.
Related Information:
Driver version SynCTI Ver. 5.0.3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.18.9 SsmSetPcmPowerDown
Sets the working mode of the digital trunk.
Format:
Parameter Description:
The logical number of the digital trunk, range of value: 0~N-1 (N is the set value of the
nPcmNo
configuration item TotalPcm, it can be obtained by the function call of SsmGetMaxPcm)
Working mode, range of value:
nPowerMode 0: normal working mode
1: idle mode (It is similar to the state that the PCM is unconnected)
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the working mode of the designated PCM. It can be set to normal working mode or idle mode.
Note:
z This function is only applicable to SHD Series D-type and E-type boards.
Related Information:
Driver version SynCTI Ver. 5.3.0.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.19.1.1 SsmSetUnimoduleState
Sets whether to enable the direct connection between the analog trunk channel and station channel on the
composite module.
Format:
int SsmSetUnimoduleState(int ch,int nState)
Parameter Description:
ch Channel number of the analog trunk on the composite module
=0: connect the analog trunk channel directly with the station channel
nState =1: There is no connection between the analog trunk channel and the station channel,
namely they are equivalent to two independently controlled channels
Return Value:
-1 Failed
0 Successful
Function Description:
Sets whether to enable the direct connection between the analog trunk channel and station channel on the
composite module.
Note:
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.19.2.1.1 SsmTxFlash
Generates a flash signal on the analog trunk channel (equivalent to a rapid clap on the hook switch).
Format:
int SsmTxFlash(int ch, WORD time)
Parameter Description:
ch Channel Number
time Sets the duration (ms) of the flash, range of value: 32~1000, usually it’s set to 500ms
Return Value:
-1 Call failed. The failure reason can be acquired via the function SsmGetLastErrMsg
0 Successful
Function Description:
Generates a flash signal on the analog trunk channel (equivalent to a rapid clap on the hook switch).
When the application finishes generating a flash signal, it throws out the event of E_PROC_SendFlash to the
application. The operating status can be obtained by the function of SsmChkTxFlash.
Note:
z This function supports the analog trunk channels on SHT Series boards and the SS1 LineSide protocol.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmChkTxFlash
2.19.2.1.2 SsmSetTxFlashCharTime
Sets the duration of the flash signal generated on the analog trunk via the function call of SsmTxDTMF.
Format:
int SsmSetTxFlashCharTime(int ch,WORD time)
Parameter Description:
ch Channel Number
The duration (ms) of the flash signal, range of value: 32~1000, with the default value of
Time
500
Return Value:
0 Successful
-1 Call failed. The failure reason can be acquired via the function SsmGetLastErrMsg
Function Description:
The function call of SsmTxDTMF with parameter of the character ‘!’ can also generate a flash signal on the analog
trunk. This function sets the duration of the flash signal generated by using the character ‘!’.
Note:
z The configuration item DefaultTxFlashTime can implement the same features, with the default value of
500ms.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetTxFlashCharTime, SsmTxDTMF
2.19.2.1.3 SsmGetTxFlashCharTime
Obtains the duration of the flash signal generated on the analog trunk via the function call of SsmTxDTMF.
Format:
int SsmGetTxFlashCharTime(int ch)
Parameter Description:
ch Channel Number
Return Value:
>0 The duration (ms) of the flash signal
-1 Call failed. The failure reason can be acquired via the function SsmGetLastErrMsg
Function Description:
Obtains the duration of the flash signal generated on the analog trunk by the function call of SsmTxDTMF.
Note: none
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetTxFlashCharTime
2.19.2.1.4 SsmChkTxFlash
Queries if the operation of generating a flash signal on the analog trunk has been completed.
Format:
int SsmChkTxFlash(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Error occurs
0 The operation of generating a flash signal has been completed
1 The operation of generating a flash signal is under progress
Function Description:
Queries if the operation of generating a flash signal on the analog trunk has been completed.
Note:
z Only the analog trunk channel supports the generation of a flash signal.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmTxFlash
2.19.2.1.5 SsmTxFlashEx
Generates a flash signal on the analog trunk (equivalent to a rapid clap on the hook switch) and sets the channel
state after the flash.
Format:
int WINAPI SsmTxFlashEx(int ch, WORD time, int nChState, BOOL bIgnoreDlTn)
Parameter Description:
ch Channel number
The duration (ms) of the flash signal, range of value: 32~1000, with the default value
time
of 500.
The channel state after the flash, range of value: S_CALL_PICKUPED(1),
nChState
S_CALL_TALKING(3)
Sets whether to ignore the dial tone after the flash, range of value: FALSE (not to
bIgnoreDlTn
ignore), TRUE(ignore).
Return Value:
-1 Call failed. The failure reason can be acquired via the function SsmGetLastErrMsg.
0 Call successful
Function Description:
Generates on a specified channel a flash signal (equivalent to a rapid clap on the hook switch) within the duration
set by the parameter ‘time’, and sets the channel state after the flash.
Note:
z This function only supports analog trunk channels on the SHT Series boards.
Related Information:
Driver version SynCTI Ver. 4.8.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmTxFlash, SsmChkTxFlash
2.19.2.2.1 SsmSetChState
Format:
int SsmSetChState (int ch, int nState)
Parameter Description:
ch Channel Number
nState The new state of the channel, it must be set to 3
Return Value:
-1 Call failed
0 Successful
Function Description:
When the analog trunk channel accidentally enters the pending state, this function can force the analog trunk
channel to transfer to the talking state.
Note:
z This function is only applicable to the analog trunk channels of SHT Series boards. This function is used
only in some special occasions, for example, when the application finds that the channel enters the
pending state abnormally, and it wants to get the channel back to the talking state.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.19.2.3.1 SsmStartPickupAnalyze
Format:
int SsmStartPickupAnalyze(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Failed
0 Successful
Function Description:
Starts the ‘Enhanced Remote Pickup Detector’. For more information, refer to ‘Enhanced Remote Pickup Detector’
in Chapter 1.
Note:
z This function is only applicable to analog trunk channels of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 3.5.2.4 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPickup
2.19.2.3.2 SsmSetCalleeHookDetectP
Sets the operating parameters of the ‘Enhanced Remote Pickup Detector’ on the analog trunk channel.
Format:
int SsmSetCalleeHookDetectP(int ch, WORD wMulti, WORD wValidTime)
Parameter Description:
ch Channel number
Sensitivity, for more information, refer to the description of the configuration item
wMulti
HookEngyConfigMulti
Minimum duration, for more information, refer to the description of the configuration
wValidTime
item HookValidEngyCnt
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the operating parameters of the ‘Enhanced Remote Pickup Detector’ on the analog trunk channel. For more
information, refer to ‘Enhanced Remote Pickup Detector’ in Chapter 1.
Note:
z This function is only applicable to the analog trunk channels of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 3.5.2.4 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStartPickupAnalyze
2.19.2.3.3 SsmGetPickup
Queries the detected result of the ‘Enhanced Remote Pickup Detector’ on the analog trunk channel.
Format:
int SsmGetPickup (int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Failed
0 The called party didn’t pick up
1 The called party has picked up
Function Description:
Queries the detected result of the ‘Enhanced Remote Pickup Detector’ on the analog trunk channel. For more
information, refer to ‘Enhanced Remote Pickup Detector’ in Chapter 1.
Note:
z The same features can be implemented by the event of E_SYS_RemotePickup (recommended);
z This function is only applicable to the analog trunk channels of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 3.5.2.4 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStartPickupAnalyze, SsmSetCalleeHookDetectP
2.19.2.4.1 SsmCheckActualPickup
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
0 The specified channel is in the hangup state
1 The specified channel is in the pickup state
Function Description:
Queries if the operation of pickup has been completed. For more information, refer to the description of the
function SsmPickup.
Note:
z This function is only applicable to the analog trunk channels of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmPickup
2.19.2.5.1 SsmGetIsAnalogToRec
Checks whether a specific channel is a recording channel transformed from the analog trunk channel.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Failed
The specified channel is neither an analog trunk channel nor a recording channel
0
transformed from the analog trunk channel
The specified channel is a recording channel transformed from the analog trunk
1
channel
Function Description:
Checks whether a specific channel is a recording channel transformed from the analog trunk channel. For more
information, refer to the configuration item SetAnalogChToRecCh.
Note:
z This function is only applicable to analog trunk channels of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 5.3.1.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Configuration Item: SetAnalogChToRecCh
2.19.3.1.1 SsmStartRing
Refer to SsmStartRingWithCIDStr
2.19.3.1.2 SsmStartRingWithCIDStr
Sends ringing signals to the phone. SsmStartRing only generates the ringing signals, SsmStartRingWithCIDStr can
also send the caller ID information to the phone.
Format:
int SsmStartRing(int ch)
int SsmStartRingWithCIDStr(int ch, LPSTR pCIDBuf, DWORD dwCIDLen, DWORD dwDelayTime)
Parameter Description:
ch Channel Number
The first address of the buffer area storing the caller ID information. e.g.
pCIDBuf
‘0018657188861158’
dwCIDLen The number of characters of the caller ID in pCIDBuf, range of value: 1~20
The time interval (ms) calculated starting from the negative edge of the first
ringing signal to the emergence of the first FSK data on the line, range of value:
dwDelayTime
500~1500
Note: The FSK caller ID is transmitted between the 1st and 2nd ringing signal
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Note:
z The function of SsmStartRing is applicable to both the station channel and magnet channel; the function
of SsmStartRingWithCIDStr is only applicable to the station channel;
z During the execution of the function SsmStartRingWithCIDStr, none of the voice playing functions can be
invoked.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopRing
2.19.3.1.3 fPcm_ConvertFskCID
Converts the caller ID information to FSK audio signals which are fit for the transmission on the analog phone line.
Format:
DWORD fPcm_ConvertFskCID(LPSTR pFskStream, int nFskLen, LPSTR pszCIDNumber, LPSTR pszTime,
LPSTR pszName, int nMode)
Parameter Description:
The first address of the buffer area storing the modulated FSK bit stream and the
pFskStream output parameter. The storage space is allocated by the application and should be no
less than 500 bytes.
nFskLen The size of the buffer area (bytes) pointed by pFskStream
The first address of the buffer area storing the caller ID, the number of characters
pszCIDNumber
should be in the range of 4~14
The first address of the buffer area storing the time information. Its length is 8 bytes
and the format is ‘MMDDhhmm’. MM is the month of the year; DD is the day of the
pszTime month; hh is the hour of the day; mm is the minute of the hour. e.g., ‘12041224’
denotes 12:24, 4th, December.
If pszTime is NULL, the driver will use the system time as the time information
The first address of the buffer area storing the additional information, the length is 4~14
pszName bytes, it can be null
Note: most of the phones can’t display the additional information
nMode The frame format of the FSK caller ID, 0 denotes multi-frame, 1 denotes single-frame
Return Value:
0 Call failed
>0 The total bit number after modulation
Function Description:
Converts the caller ID information to FSK audio signals which are fit for the transmission on the analog phone line.
Note:
Related Information:
Driver version SynCTI Ver.4.5.2.5 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.19.3.1.4 SsmStopRing
Format:
Parameter Description:
ch Channel number
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Stops sending ringing signals to magnet channels or station channels. The operation of ringing signal transmission
can be initiated by the function SsmStartRing or SsmStartRingWithCIDStr.
Note:
z This function is only applicable to the station channels and magnet channels of SHT Series boards;
z After this function is invoked, the ringing signal counter in the driver will be cleared.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStartRing, SsmStartRingWithCIDStr
2.19.3.1.5 SsmCheckSendRing
Obtains the operating status of the ringing current generator of station channels and magnet channels.
Format:
int SsmCheckSendRing(int ch,int * pnCnt)
Parameter Description:
ch Channel Number
pnCnt Returns the value of the ringing signal counter in the driver
Return Value:
-1 Call failed
0 No ringing signal transmission on the channel
1 The channel is transmitting ringing signals
Function Description:
Obtains the operating status of the ringing current generator of station channels and magnet channels.
Note:
z This function is only applicable to the station channels and magnet channels of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStartRing, SsmStartRingWithCIDStr
2.19.3.1.6 SsmSetRingPeriod
Sets the durations of the ringing current generator at on and off states on station channels.
Format:
int WINAPI SsmSetRingPeriod(int ch,WORD wHigh,WORD wLow)
Parameter Description:
ch Channel Number
wHigh The duration (ms) of the ringing signal at on state, with the minimum value of 16ms
wLow The duration (ms) of the ringing signal at off state, with the minimum value of 16ms
Return Value:
-1 Call failed
0 Call successful
Function Description:
Sets the durations of the ringing current generator at on and off states on station channels.
Note:
z This function is applicable to the station channels of SHT Series boards and large-capacity channel
banks.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStartRing, SsmStartRingWithCIDStr
2.19.3.2.1 SsmSetASDT
Sets whether to send the dial tone automatically by the driver upon the detection of pick-up operation on the phone
connected with the station channel.
Format:
int SsmSetASDT(int ch, BOOL bEnAutoSendDialTone)
Parameter Description:
ch Channel number
=TRUE: Enable
bEnAutoSendDialTone
=FALSE: Disable
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets whether to send the dial tone automatically by the driver upon the detection of pick-up operation on the phone
connected with the station channel.
Note:
z This function is only applicable to station channels of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.19.3.2.2 SsmGetASDT
Obtains the flag indicating whether the driver automatically sends the dial tone upon the detection of pick-up
operation on the phone connected with the station channel.
Format:
int SsmGetASDT(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 ‘Disable’ state
1 ‘Enable’ state
Function Description:
Obtains the flag indicating whether the driver automatically sends the dial tone upon the detection of pick-up
operation on the phone connected with the station channel.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetASDT
2.19.3.3.1 SsmSetLocalFlashTime
Format:
int SsmSetLocalFlashTime(int nFlashTime)
Parameter Description:
nFlashTime Maximum duration (ms) of the flash signal, range of value: 32~2000
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the maximum duration for judging the flash signal. For more information, refer to ‘Flash Signal Detection’ in
Chapter 1.
Note:
z This function is only applicable to station channels.
z The configuration item MaxLocalFlashTime can implement the same features, with the default value of
700ms.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.19.3.3.2 SsmGetFlashCount
Obtains the value of the flash signal counter in the driver on the station channel or the recording channel.
Format:
int SsmGetFlashCount(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
≥0 The value of the flash signal counter
Function Description:
Obtains the value of the flash signal counter in the driver on the station channel or the recording channel.
Note:
z This function is only applicable to station channels and recording channels;
z When the station channel enters the pickup or hangup state, the driver will automatically reset the flash
signal counter.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmClearFlashCount
2.19.3.3.3 SsmClearFlashCount
Resets the flash signal counter on the designated station channel or recording channel.
Format:
int SsmClearFlashCount (int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 Successful
Function Description:
Resets the flash signal counter on the designated station channel or recording channel.
Note:
z This function is only applicable to station channels and recording channels;
z When the station channel enters the pickup or hangup state, the driver will automatically reset the flash
signal counter.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetFlashCount
2.19.3.4.1 SsmGetHookState
Obtains the on-/off-hook state of the station channel or the EM Control channel.
Format:
int SsmGetHookState(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 On-hook state
1 Off-hook state
Function Description:
Obtains the on-/off-hook state of the station channel or the EM Control channel. The same features can be
implemented by the event of E_CHG_HookState.
Note:
z This function is only applicable to station channels and EM Control channels of SHT Series boards;
z When the station channel enters the ‘off-hook’ state or ‘on-hook’ state, the driver will automatically reset
the flash signal counter.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Event: E_CHG_HookState
2.19.3.5.1 SsmSetPolarState
Sets the polarity of the feed voltage of the analog phone line connected with the station channel.
Format:
int SsmSetPolarState(int ch, int nPolar)
Parameter Description:
ch Channel number
nPolar The polarity of the channel to be set, range of value: 0 or 1
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the polarity of the feed voltage of the analog phone line connected with the station channel. The current
voltage polarity of the channel can be obtained by the function SsmGetPolarState. For more information, refer to
‘Generating Polarity Reversal Signal on Phone Line’ in Chapter 1.
Note:
z This function is only valid when the configuration item UserSendPolar is set to 1.
z This function is only applicable to station channels of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetPolarState
Sample Code:
int v = SsmGetPolarState(ch);
SsmSetPolarState(ch, ~v);
2.19.3.5.2 SsmGetPolarState
Obtains the polarity of the feed voltage of the analog phone line connected with the station channel.
Format:
int SsmGetPolarState(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
0,1 Returns the current polarity
Function Description:
Obtains the polarity of the feed voltage of the analog phone line connected with the station channel.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetPolarState
2.19.4.1.1.1 SsmSetVoiceOnDetermineTime
Sets the minimum duration of voice activities.
Format:
Parameter Description:
ch Channel Number
wIsVocDtrTime Minimum duration (ms), range of value: 16~1024
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Sets the minimum duration of voice activities. Only when there is continuous voice activity appearing on the line
and the duration of it is larger than the preset value of the parameter wIsVocDtrTime, will the driver judge that there
is real voice activity. For more information, refer to ‘Ordinary Remote Pickup Detector’ in Chapter 1.
Note:
z The configuration item VoiceOnDetermineTime can implement the same features;
z This function is only applicable to the analog trunk channels of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetVoiceOnDetermineTime
2.19.4.1.2.1 SsmGetVoiceOnDetermineTime
Obtains the minimum duration of the voice activities.
Format:
Parameter Description:
ch Channel Number
pwIsVocDtrTime Returns the minimum duration (ms)
Return Value:
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
0 Successful
Function Description:
Obtains the minimum duration which judges whether there is voice signal on the line.
Note:
z This function is only applicable to the analog trunk channels of SHT Series boards.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetVoiceOnDetermineTime
2.20.1.1.1.1 SsmBlockLocalCh
Blocks the local channel to prohibit the TUP channel from making outgoing calls but still allow it to process
incoming calls, or to prohibit the ISDN channel from making both incoming and outgoing calls.
Format:
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
0 Successful
Function Description:
Blocks the local channel to prohibit the TUP channel from making outgoing calls but still allow it to process
incoming calls, or to prohibit the ISDN channel from making both incoming and outgoing calls. For more
information about channel blocking, refer to ‘Channel Blocked and Unblocked’ in chapter 1.
This function is applicable to TUP and ISDN channels and has an impact on the corresponding state machine. For
more detailed description about the TUP and ISDN channel state machine, refer to TUP Channel State Machine
and ISDN Channel State Machine in Chapter 1 (The event triggered by this function is named as ‘Blocking’ in the
state machine).
Note:
z This function is only applicable to TUP and ISDN channels;
z This function can be invoked at anytime. Note that once this function is invoked, the AutoDial task will fail
if it is being executed on the TUP channel, but won’t fail if it is being executed on the ISDN channel.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmUnblockLocalCh, SsmBlockLocalPCM, SsmQueryLocalChBlockState,
SsmBlockRemoteCh, SsmBlockRemotePCM
2.20.1.1.1.2 SsmUnblockLocalCh
Unblocks the local channel.
Format:
int SsmUnblockLocalCh(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
0 Successful
Function Description:
This function unblocks the local channel blocked by the function call of SsmBlockLocalCh or SsmBlockLocalPCM.
Note:
z This function is only applicable to the TUP and ISDN channels.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmBlockLocalCh, SsmUnblockLocalPCM, SsmQueryLocalChBlockState
2.20.1.1.1.3 SsmQueryLocalChBlockState
Obtains the blocking status (blocked/unblocked) of the local channel.
Format:
Parameter Description:
ch Channel Number
Returns the blocking status of the local channel. The bit value equals to 1 means
‘blocked’, and the bit value equals to 0 means ‘unblocked’. Below are the meanings of
each bit:
Bit 0 Blocked because the application invokes the function SsmBlockLocalCh
Bit 1 Blocked because the remote circuit blocking message BLO is received
Bit 2 Blocked because the remote circuit group blocking message SGB is
received
pdwBlockState
Bit 3 Blocked because the remote circuit group blocking message HGB is
received
Bit 4 Blocked because the remote circuit group blocking message MGB is
received
Bit 5 Blocked because the application invokes the function
SsmBlockLocalPCM
Bit31~Bit6 Reserved
Return Value:
-1 Call failed
0 Successful
Function Description:
Obtains the blocking status (blocked/unblocked) of the local channel and the exact blocking reason
Note:
z This function is only applicable to the TUP channels.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmBlockLocalCh, SsmBlockLocalPCM
2.20.1.1.2.1 SsmBlockLocalPCM
Blocks the local circuit group (the whole digital trunk).
Format:
Parameter Description:
nLocalPcmNo PCM logical number
Return Value:
-1 Call failed
0 Successful
Function Description:
This function blocks the whole digital trunk. After the digital trunk is blocked, all the local channels included in it are
forbidden to make outgoing calls but are still able to process incoming calls. Invoking this function is equivalent to
calling the function of SsmBlockLocalCh on all the channels of this PCM simultaneously. For more information,
refer to the description of the function SsmBlockLocalCh.
Note:
z This function is only applicable to the TUP channels.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmUnblockLocalPCM, SsmQueryLocalPCMBlockState, SsmBlockLocalCh
2.20.1.1.2.2 SsmUnblockLocalPCM
Unblocks the whole local digital trunk.
Format:
int SsmUnblockLocalPCM(int nLocalPcmNo)
Parameter Description:
nLocalPcmNo PCM logical number
Return Value:
-1 Call failed
0 Successful
Function Description:
This function unblocks the digital trunk blocked by the function call of SsmBlockLocalPCM. Invoking this function is
equivalent to calling the function of SsmUnblockLocalCh on all the channels included in the digital trunk. Therefore
for more information about this function, refer to the description of the function SsmUnblockLocalCh.
Note:
z This function is only applicable to the TUP channels.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmBlockLocalPCM, SsmQueryLocalPCMBlockState, SsmUnblockLocalCh
2.20.1.1.2.3 SsmQueryLocalPCMBlockState
Obtains the local blocking state of the digital trunk.
Format:
int SsmQueryLocalPCMBlockState(int nLocalPcmNo, PDWORD pdwBlockState)
Parameter Description:
nLocalPcmNo PCM logical number
Returns the blocking state of the local channel. The bit value equals to 1 means
pdwBlockState ‘blocked’ and the bit value equals to 0 means ‘unblocked’. Below are the meanings of
the bits:
Bit1~Bit0 Reserved
Bit 2 Blocked because of the reception of the circuit group blocking
message SGB from the remote PBX.
Bit 3 Blocked because of the reception of the circuit group blocking
message HGB from the remote PBX.
Bit 4 Blocked because of the reception of the circuit group blocking
message MGB from the remote PBX.
Bit 5 Blocked because the application invokes the function
SsmBlockLocalPCM
Bit31~Bit6 Reserved
Return Value:
-1 Failed
0 Successful
Function Description:
Note:
z This function is only applicable to the TUP channels.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmBlockLocalCh, SsmBlockLocalPCM
2.20.1.2.1.1 SsmQueryOpBlockRemoteCh
Queries if the channel supports the blocking of the remote end.
Format:
int SsmQueryOpBlockRemoteCh(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
0 Not support
1 Support
Function Description:
Queries if the channel supports the blocking of the remote end.
Note:
z Only the TUP channel and ISUP channel support to block the remote channel.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.20.1.2.1.2 SsmBlockRemoteCh
Blocks the remote channel.
Format:
int SsmBlockRemoteCh(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 Successful
Function Description:
Blocks the remote channel in order to forbid the remote PBX to call the local end, but still allow the local end to send
the outgoing call towards the remote PBX. The remote channel means the circuit in the remote PBX which has the
same CIC number as in the local channel. When the remote channel enters the blocked state, its outgoing call is
forbidden, and the local channel is ensured to have no incoming call. The feature of blocking remote channel is
normally used for system maintenance.
The following message processing procedure is used for blocking the remote channel:
(1) The driver sends the circuit blocking message BLO to the remote PBX;
(2) After the remote PBX receives the BLO message, it answers with the blocking acknowledgement
message BLA;
(3) After receiving the BLA message from the remote PBX, the driver throws out the event of
E_CHG_RemoteChBlock to the application. After the above steps are completed, the remote channel
blocking is finished.
The function SsmGetRemoteChBlockStatus can be used to check whether the remote channel blocking is
finished.
Note:
z Only TUP channels and ISUP channels support the remote channel blocking.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmUnblockRemoteCh, SsmGetRemoteChBlockStatus
2.20.1.2.1.3 SsmUnblockRemoteCh
Unblocks the remote channel.
Format:
int SsmUnblockRemoteCh(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
0 Successful
Function Description:
Unblocks the remote channel in order to resume the capability of the remote PBX to start the call towards the local
end. The following message processing procedure is used for unblocking the remote channel:
(1) The driver sends the circuit unblocking message UBL to the remote PBX;
(2) After the remote PBX receives the UBL message, it answers with the unblocking acknowledgement
message UBA;
(3) After receiving the UBA message from the remote PBX, the driver throws out the event of
E_CHG_RemoteChBlock to the application. After the above steps are completed, the remote channel
unblocking is finished.
The function SsmGetRemoteChBlockStatus can be used to check whether the remote channel unblocking is
finished.
Note:
z Only TUP channels and ISUP channels support the remote channel unblocking.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmBlockRemoteCh, SsmGetRemoteChBlockStatus, SsmBlockRemotePCM
2.20.1.2.1.4 SsmGetRemoteChBlockStatus
Queries if the channel on the remote PBX is blocked by the local end.
Format:
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
The channel has not been blocked by the local end, or the blocking caused by the local
0
end has been successfully unblocked
1 The remote end is blocked successfully
The circuit blocking message has been sent, waiting for the blocking acknowledgement
2
message from the remote PBX
The circuit unblocking message has been sent, waiting for the unblocking
3
acknowledgement message from the remote PBX
Function Description:
Queries if the channel on the remote PBX is blocked by the local end. The return value can be used to check the
executing status of the function SsmBlockRemoteCh or SsmUnblockRemoteCh.
Note:
z Only TUP channels and ISUP channels support to check the remote channel blocking status.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmBlockRemoteCh, SsmUnblockRemoteCh
2.20.1.2.2.1 SsmBlockRemotePCM
Blocks the remote circuit group.
Format:
int SsmBlockRemotePCM(int nLocalPcmNo, DWORD dwBlockMode)
Parameter Description:
nLocalPcmNo PCM logical number
Choose the circuit group blocking message sent to the remote PBX. Range of value:
TUP protocol:
1: send the maintenance oriented group blocking message MGB;
2: send the hardware failure oriented group blocking message HGB;
dwBlockMode
3: send the software generated group blocking message SGB.
ISUP protocol:
0: send the maintenance oriented group blocking message CGB;
1: send the hardware failure oriented group blocking message CGB.
Return Value:
-1 Call failed
0 Successful
Function Description:
Use the circuit group blocking message to block the whole digital trunk of the remote PBX so that all the channels
included in this PCM of the remote PBX are not able to initiate outgoing calls but only to process the incoming calls.
Invoking this function call is equivalent to calling the function of SsmBlockRemoteCh on all the channels of this
PCM simultaneously.
The following message processing procedure is used for blocking the remote circuit group:
(1) According to the settings of the parameter dwBlockMode, the driver sends the specified group blocking
message towards the remote PBX;
(2) After the remote PBX receives the group blocking message, it will answer with the message of group
blocking acknowledgement (for the TUP protocol, the corresponding blocking acknowledgement
messages to the group blocking messages MGB, HGB and SGB are MBA, HBA and SBA respectively;
for the ISUP protocol, the corresponding blocking acknowledgement message to the group blocking
message CGB is CGBA);
(3) After receiving the group blocking acknowledgement message, the driver throws out the event of
E_CHG_RemotePCMBlock to the application. After the above steps are completed, the remote circuit
group blocking is finished.
The function SsmGetRemotePCMBlockStatus can be used to check whether the remote circuit group blocking
is finished.
Note:
z This function only supports the TUP protocol and ISUP protocol;
z According to the TUP protocol and the ISUP protocol, the circuit group blocking message won’t go into
effect until it has been transmitted twice. Therefore the driver will send the circuit group blocking message
to the remote PBX twice continuously, and the application need to invoke this function only once.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmUnblockRemotePCM, SsmGetRemotePCMBlockStatus
2.20.1.2.2.2 SsmUnblockRemotePCM
Unblocks the remote circuit group.
Format:
int SsmUnblockRemotePCM(int nLocalPcmNo, DWORD dwUnblockMode)
Parameter Description:
nLocalPcmNo PCM logic number
Selects the circuit group unblocking message sent to the remote PBX. Range of value:
TUP protocol:
1: send MGU to unblock the circuit group blocked by the message of MGB;
2: send HGU to unblock the circuit group blocked by the message of HGB;
dwBlockMode
3: send SGU to unblock the circuit group blocked by the message of SGB.
ISUP protocol:
0: send the maintenance oriented circuit group unblocking message CGU;
1: send the hardware failure oriented circuit group unblocking message CGU
Return Value:
-1 Call failed
0 Successful
Function Description:
Unblock the whole digital trunk of the remote PBX so that all the channels included in this PCM of the remote PBX
are reenabled to initiate outgoing calls. Invoking this function call is equivalent to calling the function of
SsmUnBlockRemoteCh on all the channels of this digital trunk simultaneously.
The following message processing procedure is used for unblocking the remote circuit group:
(1) According to the settings of the parameter dwBlockMode, the driver sends the specified group
unblocking message towards the remote PBX;
(2) After the remote PBX receives the group unblocking message, it will answer with the message of
group unblocking acknowledgement message (for the TUP protocol, the corresponding unblocking
acknowledgement messages for the group unblocking messages to MGU, HGU and SGU are MUA,
HUA and SUA respectively; for the ISUP protocol, the corresponding unblocking acknowledgement
messages for the group blocking messages to CGU is CGUA);
(3) After receiving the circuit group unblocking acknowledgement message, the driver throws out the
event of E_CHG_RemotePCMBlock to the application. After the above steps are completed, the
remote channel unblocking is finished.
The function SsmGetRemotePCMBlockStatus can be used to check whether the remote circuit group
unblocking is finished.
Note:
z This function only supports the TUP protocol and ISUP protocol;
z According to the TUP protocol and ISUP protocol, the circuit group unblocking message won’t go into
effect until it has been transmitted twice. Therefore the driver will send the circuit group unblocking
message to the remote PBX twice continuously, and the application need to invoke this function only
once.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmBlockRemotePCM, SsmGetRemotePCMBlockStatus
2.20.1.2.2.3 SsmGetRemotePCMBlockStatus
Obtains the blocking status of the circuit group.
Format:
int SsmGetRemotePCMBlockStatus(int nLocalPcmNo, DWORD dwBlockMode)
Parameter Description:
nLocalPcmNo PCM logical number
Selects the circuit group blocking type to be enquired, the range of value:
TUP protocol:
1: maintenance oriented circuit group blocking status;
2: hardware failure oriented circuit group blocking status;
dwBlockMode
3: circuit group blocking status generated by software.
ISUP protocol:
0: maintenance oriented circuit group blocking status;
1: hardware failure oriented circuit group blocking status.
Return Value:
-1 Call failed
The remote circuit group is not blocked, or the remote circuit group is unblocked
0
successfully
1 The remote circuit group is blocked successfully
The circuit group blocking message has been sent already, waiting for the
2
acknowledgement message from the remote PBX
The circuit group unblocking message has been sent already, waiting for the
3
acknowledgement message from the remote PBX
Function Description:
Obtains the blocking status of the circuit group. The return value can be used to check the executing status of the
Note:
z This function only supports the TUP protocol and ISUP protocol.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmBlockRemotePCM, SsmUnblockRemotePCM
2.20.2.1 SsmSendSs7Msu
Sends a message (MSU) to the remote signaling point.
Format:
Parameter Description:
wMsuLength The length (bytes) of the transmitted MSU, with the maximum value of 273
Pointer pointing to the first address of the buffer storing the MSU data. The first byte of
pucMsuBuf
pucMsuBuf (i.e. pucMsuBuf[0]) must be the SIO field
Return Value:
0 Successful
Failed. Below are the possible failure reasons:
Interruption of MTP3 Service
-1
The system doesn’t support SS7 signaling
The API of the system is not open yet
Function Description:
Note: none
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetSs7Msu
2.20.2.2 SsmGetSs7Msu
Queries if there are MSU messages in the MSU receive buffer of the driver.
Format:
int SsmGetSs7Msu(PUCHAR* ppucMsuBuf)
Parameter Description:
Returns the pointer pointing to the first address of the buffer area in the driver storing
ppucMsuBuf MSU data. The first byte of the MSU message is SIO filed. (Note: the pointer of
ppucMsgBuf should be declared before it’s invoked, and its length can’t be specified)
Return Value:
Queries if there are MSU messages in the MSU receive buffer of the driver. If there are, obtains the earliest
received message.
Each time when the driver receives an MSU message, it will save the message to the MSU receive buffer of the
driver, and then throw out the event of E_RCV_Ss7Msu to the application.
Note:
z The way to output SS7 MSU can be set by the configuration item GetMsuOnAutoHandle.
z When the MSU receive buffer is full, the newly received MSU messages will be discarded. Hence the
application needs to obtain and process the messages as soon as possible.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSendSs7Msu
Related Event:E_RCV_Ss7Msu
2.20.2.3 SsmGetMtp3State
Refer to SsmGetMtp3StateEx
2.20.2.4 SsmGetMtp3StateEx
Queries if the service between the original signaling point and the destination signaling point is enabled.
Format:
int SsmGetMtp3State()
int SsmGetMtp3StateEx(int nDpcNo)
Parameter Description:
Destination signaling point number. The relation between the number and the code of
nDpcNo
the destination signaling point is specified in the SS7 server configuration program
Return Value:
1 The service is available
0 The service is interrupted
-1 Call failed
Function Description:
Queries if the service between the original signaling point and the destination signaling point is enabled. Only when
the service is enabled can the application invoke the function of SsmSendSs7Msu to send message to the DPC.
SsmGetMtp3StateEx supports the connection to multiple destination signaling points. SsmGetMtp3State is an old
version function, and only applicable to connecting to a single destination signaling point, which is equivalent to
calling the function SsmGetMtp3StateEx with the parameter nDpcNo set to 0.
Note:
z SS7 signaling has the auto resume feature. Therefore when the application uses this function as the alarm
source for the SS7 signaling monitoring, it should not send the alarm signal until the service interruption is
detected and keeps for some time.
z When the SS7 server detects that the link state of the destination signaling point is changed, it will save the
service state of the signaling point and throw out the event of E_CHG_Mtp3State to the driver.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetMtp2Status
2.20.2.5 SsmGetMtp2Status
Obtains the operating status of the 64kbps signaling link in the SS7 signaling link set.
Format:
int SsmGetMtp2Status(int nLinkNum)
Parameter Description:
The number of the signaling link which is specified in the SS7 server configuration
nLinkNum
program
Return Value:
0 The DSP software is uploaded but not yet started
1 Out of service
2 Initial alignment
3 Aligned ready
4 Aligned not ready
5 In service
6 Processor outage
-1 Call failed
Function Description:
This function obtains the operating status of the signaling link in SS7. The signaling link is valid only when the
return value equals to 5 (in service).
Note:
z This function returns the information of the MTP2 layer and is normally used for monitoring and
maintenance.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetMtp3State, SsmGetMtp3StateEx
2.20.2.6 SsmSendSs7MsuEx
Packs the message header according to the channel number (ch). The message content is configured by the
application.
Format:
int WINAPI SsmSendSs7MsuEx(int ch, int nNewStep, WORD wMsuLength, PUCHAR pucMsuBuf)
Parameter Description:
ch Channel number
nNewStep Reserved
Length of the message content, which is calculated from the message type but
wMsuLength
excluding the message header
pucMsuBuf Length of the message
Return Value:
-1 Call failed: Wrong parameter
0 Call failed: Sending failure
1 Call successful
Function Description:
This function is used to pack the message header according to the channel number (ch). The message content is
configured by the application.
Note: None
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.20.2.7 SsmGetMaxSs7link
Obtains the total number of configured SS7 links in the system.
Format:
int WINAPI SsmGetMaxSs7link()
Parameter Description:
Return Value:
-1 Call failed
≥0 The total number of configured SS7 links in the system
Function Description:
Note: None
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.20.2.8 SsmGetSs7Mtp2Msu
Gets the MSU messages at MTP2 layer on a designated SS7 link.
Format:
Parameter Description:
ss7link SS7 link number
pucPara Reserved
Pointer pointing to the first address of the internal buffer storing the MSU
ppucMsuBuf message. The first byte of an MSU message is SIO field (Note that
ppucMsgBuf should be declared before invoking).
Return Value:
Call failed. The failure reason may be:
-1 1) The system doesn’t support SS7 signaling;
2) The API functions of the system are not opened yet.
0 The MSU receive buffer in the driver is empty.
>0 The length (bytes) of the current MSU message.
Function Description:
Queries if there are MSU messages in the MSU receive buffer in the MTP2 layer of the driver. If there are, takes
out the first received message.
Note:
z The way to handle SS7 MTP2 MSU messages can be set by the configuration item
AppHandleMtp2Msu;
z When the MSU receive buffer is full, the newly received MSU messages will be discarded. Hence the
application needs to obtain and process the messages as soon as possible.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSendSs7Mtp2Msu
2.20.2.9 SsmSendSs7Mtp2Msu
Sends the MSU messages at MTP2 layer on a designated SS7 link.
Format:
Parameter Description:
ss7link SS7 link number
wMsuLength The length (bytes) of the MSU message, with the maximum value of 273
The pointer pointing to the first address of the buffer storing MSU messages.
pucMsuBuf
The first byte of an MSU message is the SIO field.
Return Value:
-1 Call failed
0 Call successful
Function Description:
Sends the MSU messages at MTP2 layer on a designated SS7 link.
Note:
z The way to handle SS7 MTP2 MSU messages can be set by the configuration item
AppHandleMtp2Msu.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetSs7Mtp2Msu
2.20.2.10 SsmSs7Mtp2CmdCtrl
Sends the MTP2 control command on a designated SS7 link.
Format:
int WINAPI SsmSs7Mtp2CmdCtrl(int ss7link, int l3_cmd, unsigned char *param, int len)
Parameter Description:
ss7link SS7 link number
Command at the MTP3 layer
Range of value:
enum
{
SS7_MTP2_START = 1,
l3_cmd SS7_MTP2_STOP,
SS7_MTP2_EMGCY,
SS7_MTP2_EMGCY_CLRD,
SS7_MTP2_RTV_BSNT,
SS7_MTP2_RTVL_REQ
};
param Command parameter
len Length of the command parameter
Return Value:
-1 Call failed
0 Call successful
Function Description:
Sends the MTP2 control command on a designated SS7 link.
Note:
z The feature of sending SS7 MTP2 command can be set by the configuration item AppHandleMtp2Msu.
Related Information:
Driver version SynCTI Ver. 5.3.2.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetSs7Mtp2Msu
2.20.3.1 SsmGetIsdnMsu
Takes out an ISDN message from the buffer area in the driver.
Format:
Parameter Description:
nPcmId The logical number of the digital trunk
Returns the ISDN message. The storage space of pucMsuBuf is allocated by the
pucMsuBuf
application, and its size should be no less than 256 bytes
Return Value:
0 No message in the buffer area
>0 The actual length (bytes) of the message in pucMsuBuf
-1 Call failed
Function Description:
Takes out an ISDN message from the buffer area in the driver.
Note:
z When the configuration item AutoHandleIsdn is set to 1, messages are processed by the driver; when it
is set to 0, messages are processed by the application program.
z In real practice, this function call gets valid only when the configuration item AutoHandleIsdn is set to 0.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmCheckIsdnMsu
2.20.3.2 SsmSendIsdnMsu
Sends an ISDN message.
Format:
int SsmSendIsdnMsu(int nPcmId, int nMsgLen, PUCHAR pucMsuBuf)
Parameter Description:
nPcmId The logical number of the digital trunk
nMsgLen The actual length (bytes) of the message in pucMsuBuf
pucMsuBuf The buffer area for ISDN messages
Return Value:
0 Successful
-1 Call failed
Function Description:
Note:
z When the configuration item AutoHandleIsdn is set to 1, messages are processed by the driver; when it
is set to 0, messages are processed by the application program.
z In real practice, this function call gets valid only when the configuration item AutoHandleIsdn is set to 0.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.20.3.3 SsmCheckIsdnMsu
Queries if there are ISDN messages in the internal buffer area of the driver.
Format:
int SsmCheckIsdnMsu(int nPcmId)
Parameter Description:
nPcmId The logical number of the digital trunk
Return Value:
-1 error
≥0 The number of ISDN messages
Function Description:
Queries if there are ISDN messages in the internal buffer area of the driver.
Note:
z When the configuration item AutoHandleIsdn is set to 1, messages are processed by the driver; when it
is set to 0, messages are processed by the application program.
z In real practice, this function call gets valid only when the configuration item AutoHandleIsdn is set to 0.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetIsdnMsu
2.20.3.4 SsmISDNGetStatus
Obtains the operating status of the HDLC link in ISDN protocol.
Format:
int SsmISDNGetStatus(int nPcmNo, int *pL3Start, int *pL2DStatus, int *pL2D_L3Atom, int * pL3_L2DAtom, int
*pRef_ind)
Parameter Description:
nPcmNo The logical number of the local digital trunk
Returns the information that whether L3 in ISDN protocol is started. The return value of
pL3Start
1 means started, 0 means not started
Returns the operating state of L2 in ISDN protocol. There are 8 states as follows:
State 1 TEI unassigned
State 2 Assign awaiting TEI
State 3 Establish awaiting TEI
State 4 TEI assigned
pL2Dstatus
State 5 Awaiting establishment
State 6 Awaiting release
State 7 Multiple frame established
State 8 Timer recovery
(See Q921 for detailed information)
Returns the received original message from L2 to L3 in ISDN protocol. (See Q921 for
pL2D_L3Atom
detailed information)
pL3_L2DAtom Returns the sent original message from L3 to L2 in ISDN protocol. (See Q921 for
detailed information)
pRef_ind Returns the internal indicator value in ISDN protocol (the fixed value is 0xfe)
Return Value:
0 Successful
-1 Call failed
Function Description:
Note:
z This function is normally called in the response code of the event of E_CHG_ISDNStatus.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.20.3.5 SsmGetUserInfo
Obtains the content of the User-User message unit.
Format:
int WINAPI SsmGetUserInfo( int ch, PUCHAR pUUI)
Parameter Description:
ch Channel number
The pointer pointing to the buffer area storing content of User-User message units. The
pUUI
storage space is allocated by the application and should be no less than 131 bytes.
Return Value:
≥0 Call successful. Returns the content length of the User-User message unit.
-1 Call failed.
Function Description:
Obtains the content of the User-User message unit.
Note:
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Event: SsmSetUserInfo
2.20.3.6 SsmSetUserInfo
Sets the content of the User-User message unit for the SETUP message.
Format:
int WINAPI SsmSetUserInfo(int ch, PUCHAR pUUI,WORD wLen)
Parameter Description:
ch Channel Number
Pointer pointing to the buffer storing the content of the User-User message unit
pUUI
(excluding message type and content length)
wLen Length of the User-User message unit
Return Value:
0 Call successful.
-1 Call failed.
Function Description:
Sets the content of the User-User message unit for the SETUP message.
Note:
Related Information:
Driver version SynCTI Ver. 5.3.1.4 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Event: SsmGetUserInfo
2.20.3.7 SsmISDNGetProgressMsg
Obtains the content of the PROGRESS message.
Format:
int WINAPI SsmISDNGetProgressMsg(int ch, BYTE* pbMsg)
Parameter Description:
ch Channel number
The pointer pointing to the buffer area storing the PROGRESS message. The storage
pbMsg
space, allocated by the application, should be no less than 300 bytes.
Return Value:
≥0 Call successful. Returns the length in byte of the PROGRESS message
-1 Call failed
Function Description:
Obtains the content of the PROGRESS message.
Note:
Related Information:
Driver version SynCTI Ver. 5.2.0.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.20.4.1.1 SsmGetCAS
Obtains the state of the ABCD signaling at the receiving end on the channel.
Format:
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
The higher 4 bits of the return value are 0, the lower 4 bits are the received CAS
signaling bits at the local end:
≥0
bit3 bit2 bit1 bit0
A B C D
Function Description:
Obtains the current value of the ABCD signaling sent by the remote PBX.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSendCAS
2.20.4.1.2 SsmSendCAS
Sets the state of the ABCD signaling at the transmitting end on the channel.
Format:
int SsmSendCAS(int ch, BYTE btCas)
Parameter Description:
ch Channel number
The value of the CAS signaling to be transmitted, the higher 4 bits are 0, the lower 4
bits are the new state of the ABCD signaling bits:
btCas
bit3 bit2 bit1 bit0
A B C D
Return Value:
-1 Call failed
0 Successful
Function Description:
Note:
z The ABCD signaling is transmitted on TS 16 of E1;
z If auto call connection is enabled on the channel, the call of this function will fail.
Related Information:
2.20.4.1.3 SsmGetSendingCAS
Obtains the state of the ABCD signaling at the transmitting end on the channel.
Format:
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
The lowest 4 bits of the return value are the ABCD signaling bits at the transmitting end:
bit3 bit2 bit1 bit0
≥0
A B C D
Other bits are reserved.
Function Description:
Obtains the state of the ABCD signaling at the transmitting end on the channel.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetCAS, SsmSendCAS
2.20.4.1.4 SsmSetSendCASFlag
Format:
int WINAPI SsmSetSendCASFlag(int ch, int nCASFlag)
Parameter Description:
ch Channel number
indicates whether the channel is allowed to send CAS signals.
nCASFlag
0: not allowed 1: allowed
Return Value:
-1 Call failed
=0 Call successful
Function Description:
Sets whether to allow the channel to send CAS signals.
Note: None
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetSendCASFlag, SsmSendCAS
2.20.4.1.5 SsmGetSendCASFlag
Obtains the flag indicating whether the channel is allowed to send CAS signals.
Format:
int WINAPI SsmGetSendCASFlag(int ch, int* pCASFlag)
Parameter Description:
ch Channel number
The pointer used to obtain the flag indicating whether the channel is allowed to send
pCASFlag
CAS signals
Return Value:
-1 Call failed
=0 Call successful
Function Description:
Obtains the flag indicating whether the channel is allowed to send CAS signals.
Note: None
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetCAS, SsmSetSendCASFlag
2.20.4.2.1 SsmSetRxR2Mode
Format:
int SsmSetRxR2Mode(int ch, int nMode, BOOL bEnable)
Parameter Description:
ch Channel Number
The operating mode of the R2 signal receiver:
nMode =0: Receives the backward R2 signal
=1: Receives the forward R2 signal
The operating status of the R2 signal receiver:
bEnable
=TRUE: Enable
=FALSE: Disable
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the R2 signal receiver.
Note:
z If auto call connection is enabled on the channel, the call of this function will fail.
z The R2 signal transceiver and the DTMF detector can’t work simultaneously. Hence when the R2 signal
transceiver is used, the DTMF detector must be turned off. After the MFC process, you need to invoke
the function SsmEnableRxDtmf to restart the DTMF detector.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetR2
2.20.4.2.2 SsmGetR2
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 R2 signal is not detected on the line
R2 signal is detected on the line. For the forward R2 signal, the range of the return
1~15
value is: 1~15; For the backward R2 signal, the range of the return value is: 1~6
Function Description:
Note:
z If auto call connection is enabled on the channel, the call of this function will fail.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetRxR2Mode, SsmSendR2, SsmSendR2Ex
2.20.4.2.3 SsmSendR2
Format:
int SsmSendR2(int ch, int nMode, BYTE btR2)
Parameter Description:
ch Channel Number
The operating mode of the R2 signal generator:
nMode =0: generates the backward R2 signal;
=1: generates the forward R2 signal
The code value of the R2 signal:
btR2 z For the forward R2 signal, range of value: 1~15;
z For the backward R2 signal, range of value: 1~6
Return Value:
-1 Call failed
0 Successful
Function Description:
Generates an R2 signal on the channel which continues until the application calls the function SsmStopSendR2.
Note:
z If auto call connection is enabled on the channel, the call of this function will fail.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopSendR2, SsmGetSendingR2, SsmGetR2, SsmSendR2Ex
2.20.4.2.4 SsmSendR2Ex
Format:
Parameter Description:
ch Channel Number
The operating mode of the R2 signal generator:
nMode =0: generates the backward R2 signal;
=1: generates the forward R2 signal
The code value of the R2 signal:
btR2 z For the forward R2 signal, range of value: 1~15;
z For the backward R2 signal, range of value: 1~6
dwKeepTime The R2 signal duration, calculated by millisecond(ms)
Return Value:
-1 Call failed
0 Successful
Function Description:
Generates an R2 signal of the specified time length dwKeepTime on the channel. The function SsmStopSendR2
can be called to stop the R2 signal.
Note:
z If auto call connection is enabled on the channel, the call of this function will fail.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmStopSendR2, SsmGetSendingR2,SsmGetR2,SsmSendR2
2.20.4.2.5 SsmStopSendR2
Format:
int SsmStopSendR2(int ch)
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 Successful
Function Description:
Stops generating an R2 signal on the channel.
Note:
z If auto call connection is enabled on the channel, the call of this function will fail.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSendR2, SsmSendR2Ex
2.20.4.2.6 SsmGetSendingR2
Format:
int SsmGetSendingR2(int ch, int* pnMode, BYTE* pbtR2)
Parameter Description:
ch Channel Number
Returns the operating mode of the R2 signal generator:
pnMode
=0: generates the backward R2 signal;
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSendR2, SsmSendR2Ex
2.21.1 SsmGetMaxVCh
Format:
int SsmGetMaxVCh()
Return Value:
-1 Call failed
≥0 The total number of the voice-alteration channels
Function Description:
Obtains the total number of the voice-alteration channels in the application.
Note:
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetMaxFreeVCh
2.21.2 SsmGetMaxFreeVCh
Format:
int SsmGetMaxFreeVCh()
Return Value:
-1 Call failed
≥0 The total number of the free voice-alteration channels
Function Description:
Obtains the total number of the free voice-alteration channels.
Note:
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetMaxVCh
2.21.3 SsmBindVCh
Format:
int SsmBindVCh(int iCh)
Note:
z After the driver is successfully loaded, the application can invoke this function at anytime.
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmUnBindVCh, SsmSetVoiceEffect
Sample Code:
Example 1: There is two-way connection between channel 1 and channel 2, the voice from channel 1 needs to be
altered, the voice from channel 2 doesn’t need to be altered, below is the implementation code:
Example 2: Channel 1, channel 2 and channel 3 enter a conference room, Channel 1 and Channel 2 require the
voice alteration. Below is the implementation code:
2.21.4 SsmUnBindVCh
Format:
Parameter Description:
iCh Voice channel number
Return Value:
0 Successful
-1 Call failed: iCh is out of range
-2 Call failed: iCh doesn’t support bus exchange
-3 Call failed: iCh isn’t bound to any voice alteration channel
-4 Call failed: the driver is not loaded yet
Function Description:
Unbinds the voice channel to the voice-alteration channel. When the voice-alteration channel is unbound, it will be
automatically reclaimed and enter the idle queue.
Note:
z If the voice channel doesn’t need voice alteration anymore, please unbind it to the voice alteration
channel.
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmBindVCh
2.21.5 SsmSetVoiceEffect
Format:
int SsmSetVoiceEffect(int iCh, int iValue)
Parameter Description:
iCh Voice channel number
Voice alteration effect, range of value: 70~220, 128 means the original voice
iValue (unchanged), greater than 128 means the female voice effect, less than 128 means
the male voice effect
Return Value:
0 Successful
-1 Call failed: iCh is out of range
-2 Call failed: iCh isn’t bound to any voice alteration channel
-3 Call failed: iValue is out of range
-4 Call failed: the driver is not loaded
Function Description:
Sets the voice-alteration effect.
Note:
z Only when the voice channel has been bound to a voice alteration channel, can this function be called;
z It’s difficult to describe the voice alteration effect in details, set iValue based on the actual testing effect.
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmBindVCh, SsmGetVoiceEffect
2.21.6 SsmGetVoiceEffect
Format:
int SsmGetVoiceEffect(int iCh)
Parameter Description:
iCh Voice channel number
Return Value:
Successful, returns the voice-alteration effect, refer to the descriptions of the function
>0
SsmSetVoiceEffect for the detailed values
-1 Call failed: iCh is out of range
-2 Call failed: iCh is not bound to any voice-alteration channel
-3 Call failed: the driver isn’t loaded yet
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetVoiceEffect
2.21.7 SsmSetVoiceEffectEx
Format:
int WINAPI SsmSetVoiceEffectEx(int iCh, int VarType, int VarParamA, int VarParamB, int VarParamC)
Parameter Description:
iCh Voice channel number
Voice alteration type (0: No alteration; 1: Timbre alteration (including age and gender
VarType
alteration); 2: Raucity effect)
Voice alteration parameter A (For timbre alteration, range of value: 20-180, 100
VarParamA indicates no alteration; for raucity effect, range of value: 8-800, the larger value
indicates the more obvious effect)
Voice alteration parameter B (For timbre alteration, range of value: 20-180, 100
VarParamB indicates no alteration; for raucity effect, range of value (volume): 1-300, the larger
value indicates the higher volume)
Voice alteration parameter C (For timbre alteration, range of value: 20-180, 100
VarParamC
indicates no alteration; for raucity effect, this parameter is invalid)
Return Value:
0 Successful
-1 Call failed: iCh is out of range
-2 Call failed: iCh isn’t bound to any voice alteration channel
-3 Call failed: voice-alteration parameters are out of range
-4 Call failed: the driver is not loaded
Function Description:
Sets the voice-alteration parameters for 240E VAR boards.
Note:
z Only when the voice channel has been bound to a voice alteration channel can this function be called;
z It’s difficult to describe the voice alteration effect in details, please set the corresponding parameters
based on the actual testing effect. The voice alternation examples below are for your reference:
From young man to young woman: VarParamA= 66; VarParamB = 100; VarParamC= 82;
From young man to old woman: VarParamA= 72; VarParamB = 100; VarParamC= 88;
From young man to old man: VarParamA= 140; VarParamB = 100; VarParamC= 118;
From young man to child: VarParamA= 66; VarParamB = 100; VarParamC= 66;
From young woman to young man: VarParamA= 140; VarParamB = 100; VarParamC= 118;
From young woman to old woman: VarParamA= 120; VarParamB = 100; VarParamC= 108;
From young woman to old man: VarParamA= 180; VarParamB = 100; VarParamC= 136;
From young woman to child: VarParamA= 88; VarParamB = 100; VarParamC= 88;
Make a young man’s voice raucous: VarParamA= 405; VarParamB = 30;
Make a young woman’s voice raucous: VarParamA= 600; VarParamB = 10.
Related Information:
Driver version SynCTI Ver. 5.3.2.3 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmBindVCh, SsmGetVoiceEffectEx
2.21.8 SsmGetVoiceEffectEx
Format:
int WINAPI SsmGetVoiceEffectEx(int iCh, int* pVarType, int* pVarParamA, int* pVarParamB, int* pVarParamC)
Parameter Description:
iCh Voice channel number
pVarType Pointer storing the int variable indicating the voice-alteration type
pVarParamA Pointer storing the int variable indicating the voice-alteration parameter A
pVarParamB Pointer storing the int variable indicating the voice-alteration parameter B
pVarParamC Pointer storing the int variable indicating the voice-alteration parameter C
Return Value:
Successful, returns the voice-alteration effect, refer to the descriptions of the function
>0
SsmSetVoiceEffectEx for the detailed values
-1 Call failed: iCh is out of range or a parameter is a null pointer
-2 Call failed: iCh is not bound to any voice-alteration channel
-3 Call failed: the driver isn’t loaded yet
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 5.3.2.3 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetVoiceEffectEx
2.22.1.1 SsmIpGetSessionCodecType
Obtains the CODEC actually used by a designated channel in an ongoing call.
Format:
int SsmIpGetSessionCodecType (int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
6 A-Law is used by the designated channel in the ongoing call
7 µ-Law is used by the designated channel in the ongoing call
49 GSM is used by the designated channel in the ongoing call
131 G.729A is used by the designated channel in the ongoing call
Function Description:
Obtains the CODEC actually used by a designated channel in an ongoing call.
Note:
z This function can be invoked only when the channel stays in the ‘Talking’ state.
z This function is called SsmIpGetUsingCodecType in SynCTI 5.1.0.0 and below versions.
Related Information:
Driver version SynCTI Ver. 5.0.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.2 SsmIpSetForwardNum
Sets a forward number for a designated channel.
Format:
int SsmIpSetForwardNum(int ch, LPSTR pszForwardNum)
Parameter Description:
ch Channel number
Forward number. Setting pszForwardNum to a null string will cancel the previous
pszForwardNum
settings.
Return Value:
-1 Call failed
0 Call successful
Function Description:
Sets a forward number for a designated channel. Then any call to this channel will be forwarded unconditionally to
the number set by this function.
Note:
z If a forward number has been set for a specified channel before, it can be cancelled by invoking this
function again to set pszForwardNum to a null string.
z For the call forwarding operation over the VoIP board, it is not allowed to set the forward number to be the
same as the called party number.
Related Information:
Driver version SynCTI Ver. 5.0.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.3 SsmIpInitiateTransfer
Sets a transfer number for a designated channel.
Format:
Parameter Description:
ch Channel number
pszTransferTo Transfer number
Return Value:
-1 Call failed
0 Call successful
Function Description:
Sets a transfer number for a designated channel. Invoking this function during an ongoing call will transfer this call
to the preset number.
Note:
z This function can be invoked only when the channel stays in the ‘Talking’ state.
Related Information:
Driver version SynCTI Ver. 5.0.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.4 SsmIpGetMessageField
Obtains a series of field values in messages related to the call establishment of a designated channel.
Format:
int SsmIpGetMessageField(int ch, int type, LPSTR szBuffer, int *pSize)
Parameter Description:
ch Channel number
Type Field type to be obtained
SzBuffer Buffer used to store the obtained field content
A pointer pointing to the value which indicates the size of the user-provided buffer. If
PSize this function call is successful, the value it points to is the size of valid data obtained; if
this function call is failed, the value it points to is the buffer size actually needed.
Return Value:
-1 Call failed
0 Call successful
Function Description:
Obtains a series of field values in messages related to the call establishment of a designated channel.
The values of the parameter ‘Type’ are as follows.
z TYPE_MESSAGE_CONTACT
Obtains the content of the ‘Contact’ field in the ‘INVITE’ or ‘REINVITE’ message. It only works for the
called party. If there are multiple ‘Contact’ fields in the message body, the value it returns will be shown in
the following format.
Contact0 \0 Contact1 \0 … Contactn \0 \0
z TYPE_MESSAGE_SDP
Obtains the content of the ‘SDP’ field in the ‘INVITE’ or ‘200OK’ message from the remote end. This
parameter works for both calling and called parties. For a called party, it obtains the content of the ‘SDP’
field in the remote ‘INVITE’ message; for a calling party, it obtains the content of the ‘SDP’ field in the
remote ‘200OK’ message.
Note:
z To obtain the content of the ‘Contact’ field, this function is valid only when the channel stays in the
‘Ringing’, ‘Talking’ or ‘Pending’ state.
z To obtain the content of the ‘SDP’ field, for a called party, this function is valid only when the channel stays
in the ‘Ringing’, ‘Talking’ or ‘Pending’ state; for a calling party, this function is valid only when the channel
stays in the ‘Talking’ or ‘Pending’ state.
z Obtaining the content of the ‘SDP’ field requires SynCTI Ver. 5.3.1.4 or above.
Related Information:
Driver version SynCTI Ver. 5.0.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.5 SsmIpGetMessageFieldA
Obtains a series of field values from those messages related to the call establishment of a designated channel.
Format:
Parameter Description:
ch Channel number
szType Field name
szBuffer Buffer used to store the obtained field content
A pointer pointing to the value which indicates the size of the user-provided buffer. If
pSize this function call is successful, the value it points to is the size of valid data obtained; if
this function call is failed, the value it points to is the buffer size actually needed.
Return Value:
-1 Call failed
0 Call successful
Function Description:
Obtains a series of field values from those messages related to the call establishment of a designated channel.
Note:
z This function is only valid when the designated channel is in talking state.
Related Information:
Driver version SynCTI Ver. 5.3.2.1 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.6 SsmSipMsgSetHeader
Add a field to the INVITE message for outgoing calls through an IP channel.
Format:
Parameter Description:
h_Name Field name
h_Value Field content
Return Value:
-1 Call failed
0 Successful
Function Description:
Add a field to the INVITE message for outgoing calls through an IP channel.
Note:
Related Information:
2.22.1.7 SsmSipMsgSetHeaderA
Add a field to the INVITE message for outgoing calls through a designated IP channel.
Format:
Parameter Description:
nCh Channel number
h_Name Field name
h_Value Field content
Return Value:
-1 Call failed
0 Successful
Function Description:
Add a field to the INVITE message for outgoing calls through a designated IP channel.
Note:
Related Information:
Driver version SynCTI Ver. 5.3.2.6 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.8 SsmSipStackRegister
Sends the Register request to SIP Server from SynSIP protocol stack.
Format:
Parameter Description:
szRegSrvAddr IP address of SIP Server
szOutBoundAddr Address of the bound SIP Server
szUserName Username registered for the corresponding board
Authentication username (valid only when the registration on SIP Server needs to be
szAuthUserName
authenticated)
Password registered for the corresponding board (valid only when the registration on
szPasswd
SIP Server needs to be authenticated)
szRealm Alias of SIP Server
nExpires Expiration of the registration
Return Value:
-1 Call failed
>0 Register ID
Function Description:
Sends the Register request to SIP Server from SynSIP protocol stack.
Note:
z The register ID returned after the successful call of this function should be maintained by users
themselves. This parameter is necessary for querying the register information and binding the channel
with register information.
z The channel must be unbound from register information before you invoke this function with nExpires=0
to cancel the register.
Related Information:
Driver version SynCTI Ver. 5.3.2.6 or above
Header Shpa3api.h
Library shp_a3.lib, SynSip.lib
DLL shp_a3.dll, SynSip.dll
Related Function: SsmSipStackUnRegister, SsmSipStackRemoveRegister, SsmSipGetRegInfo
2.22.1.9 SsmSipBindChWithRegInfo
Binds a designated channel with register information.
Format:
int WINAPI SsmSipBindChWithRegInfo(int nChID, int nRegID)
Parameter Description:
nChID Channel number
nRegId Register ID
Return Value:
-1 Binding failed
0 Binding successful
Function Description:
Binds a designated channel with register information.
Note:
z This function can only be invoked when the channel stays in the ‘idle’ state. Otherwise, invoking this
function will fail.
z If the channel has been already bound with register information, invoking this function will fail.
Related Information:
Driver version SynCTI Ver. 5.3.2.6 or above
Header Shpa3api.h
Library shp_a3.lib, SynSip.lib
DLL shp_a3.dll, SynSip.dll
Related Function: SipUnBindChWithRegInfo
2.22.1.10 SipUnBindChWithRegInfo
Unbinds a designated channel from register information.
Format:
Parameter Description:
nChID Channel number
nRegID Register ID
Return Value:
-1 Cancellation failed
0 Cancellation successful
Function Description:
Unbinds a designated channel from register information.
Note:
z This function can only be invoked when the channel stays in the ‘idle’, ‘register failed’ or ‘registering’ state.
Otherwise, invoking this function will fail.
Related Information:
Driver version SynCTI Ver. 5.3.2.6 or above
Header Shpa3api.h
Library shp_a3.lib, SynSip.lib
DLL shp_a3.dll, SynSip.dll
Related Function: SsmSipBindChWithRegInfo
2.22.1.11 SsmSipStackUnRegister
Cancel the register from SynSIP protocol stack to the SIP Server.
Format:
Parameter Description:
nRegID Register ID
Return Value:
-1 Call failed
0 Successful
Function Description:
Cancel the register from SynSIP protocol stack to the SIP Server.
Note:
z Invoking the function SsmSipStackRegister with nExpire=0 can implement the same feature as this
function. Only if the channel is unbound from register information and the register state is ‘register
successful’ can this function be invoked.
Related Information:
Driver version SynCTI Ver. 5.3.2.6 or above
Header Shpa3api.h
Library shp_a3.lib, SynSip.lib
DLL shp_a3.dll, SynSip.dll
Related Function: SsmSipStackRegister
2.22.1.12 SsmSipStackRemoveRegister
Removes the register from SynSIP protocol stack.
Format:
int WINAPI SsmSipStackRemoveRegister(int nRegID)
Parameter Description:
nRegId Register ID
Return Value:
-1 Call failed
0 Successful
Function Description:
Removes the register from SynSIP protocol stack.
Note:
z Only if the channel is unbound from the register information to be removed and the register state is not
‘register successful’ can this function be invoked.
Related Information:
Driver version SynCTI Ver. 5.3.2.6 or above
Header Shpa3api.h
Library shp_a3.lib, SynSip.lib
DLL shp_a3.dll, SynSip.dll
Related Function: SsmSipStackRegister
2.22.1.13 SsmSipGetRegInfo
Queries the register information.
Format:
Parameter Description:
nRegID Register ID
pstRegInfo Pointer for register information structure
Return Value:
-1 Call failed or no corresponding register information is found
0 Call successful and the corresponding register information is obtained
Function Description:
Related Information:
Driver version SynCTI Ver. 5.3.2.6 or above
Header Shpa3api.h
Library shp_a3.lib, SynSip.lib
DLL shp_a3.dll, SynSip.dll
Related Function: SsmSipStackRegister
2.22.1.14 SsmSipSetTxUserName
Sets the local UserName for an outgoing call.
Format:
Parameter Description:
ch Channel number
pszUserName sets the ‘UserName’ part in a complete SIP URI, with the maximum size
pszUserName
of 50. The format of a complete SIP URI is ”displayname” <sip:user@host:port>.
Return Value:
-1 Call failed
0 The size of UserName is 0, invalid
>0 Size of UserName
Function Description:
Sets the local UserName for an outgoing call in case of non registration.
You are allowed to modify the registered UserName after adding a configuration item ‘EnableSetUsername=1’ to
Section [SIP] in the configuration file.
Note:
z Usually this function is valid only in case of non registration;
z In case of registration, for SynCTI Ver. 5.3.1.3 and the above versions, this function is valid after the
configuration item ‘EnableSetUsername=1’ is added to Section [SIP] in the configuration file.
z This function is valid only when it is set before starting a call.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.15 SsmSetIpFlag
Sets some parameters for VoIP boards.
Format:
Parameter Description:
ch Channel number
Type The type to be modified
pszBuffer Modified value
Return Value:
-1 Call failed
0 The size of pszBuffer is 0, invalid
>0 Size of pszBuffer
Function Description:
Sets some parameters for VoIP boards.
Note:
z When this function is used to set outgoing calls with the parameter Type = 1, the IP address in the ‘from’
field of Invite message is valid only in case of non registration.
z This function is invalid if the value of Type is not equal to 1.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.16 SsmSipGetReferStatus
Gets the call state of the third party after the call has been transferred.
Format:
int SsmSipGetReferStatus(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Fail to get the call state.
0 The call has not been transferred
40 The channel is in the state of ‘UNUSABLE’.
The third party which the call transferred to is in the state of ‘Trying’. That is, the
1
subscription is pending.
2 In the state of 180 RingBack
3 In the state of 200 OK or 3XX
4 In the state of 4XX, 5XX or 6XX which indicates the failure
Function Description:
Gets the call state of the third party when the board invokes the function SsmIpInitiateTransfer to transfer the call
to the third party.
Note:
z This function is valid only after the call has been transferred by invoking the function
SsmIpInitiateTransfer.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.17 SsmSipSendRequest
Refer to SsmSipSendRequestA.
2.22.1.18 SsmSipSendRequestA
Sends the Notify or Option message in the state of calling.
Format:
int WINAPI SsmSIPSendRequest(int ch, LPSTR SipMessageType, char
SipMessageNewHeaders[SipMessageHeadersNum][SipMessageHeadersLen], int SipMessageNewHeadersNum,
LPSTR SipMessageBody)
Parameter Description:
ch
Channel number
nCh
SipMessageType
Message type, i.e. Notify or Option
pSipMessageType
SipMessageNewHeaders
Content of the message header
pSipMessageNewHeaders
SipMessageNewHeadersNum
Number of the message headers
nSipMessageNewHeadersNum
SipMessageBody
Message body
pSipMessageBody
Return Value:
-1 Call failed
0 Successful
Function Description:
Note:
Related Information:
SynCTI Ver. 5.3.2.2 or above for SsmSIPSendRequest
Driver version
SynCTI Ver. 5.3.2.6 or above for SsmSIPSendRequestA
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.19 SsmSetHangupReason
Sets the hangup reason for SIP channels in the Ringing state.
Format:
int WINAPI SsmSetHangupReason(int ch, int nReason)
Parameter Description:
ch Channel number
nReason 4xx SIP message
Return Value:
-1 Failed
0 Successful
Function Description:
Sets the hangup reason for SIP channels in the Ringing state.
Note:
Related Information:
Driver version SynCTI Ver. 5.3.2.2 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.20 SsmSipGetBoardRegStatus
Queries the registration status of the board.
Format:
Parameter Description:
nBId The ID number of the board whose registration status is to be queried
pszRegFailInfo The information returned upon registration failure
Return Value:
-1 Registration failed or this board is not a VoIP board
≥1 Registration successful
Function Description:
Gets the registration status returned upon last Register request of the board. The parameter pszRegFailInfo
returns the failure reason of registration, and no additional information will appear in case of a successful
registration. If this parameter is set to NULL, it will not return the failure reason of registration.
Note:
z In SIP protocol, no signaling message can query the registration status in real time; therefore, this
function can only obtain the registration status returned upon last Register request.
z To improve the validity of the registration status obtained by this function, you may shorten the period of
the registration expiration. For example, if the registration expiration is 300 (s), the worst situation is that
the function gets the registration status 5 minutes ago.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.21 SsmSipGetChRegStatus
Queries the registration status of the channel.
Format:
int SsmSipGetChRegStatus(int nChId, LPSTR pszRegFailInfo)
Parameter Description:
nChId The ID number of the channel whose registration status is to be required
pszRegFailInfo The information returned upon registration failure
Return Value:
-1 Registration failed or this channel is not an IP channel
≥1 Registration successful
Function Description:
Gets the registration status returned upon last Register request of the channel. The parameter pszRegFailInfo
returns the failure reason of registration, and no additional information will appear in case of a successful
registration. If this parameter is set to NULL, it will not return the failure reason of registration.
Note:
z In SIP protocol, no signaling messages can query the registration status in real time; therefore this
function can only obtain the registration status returned upon last Register request.
z To improve the validity of the registration status obtained by this function, you may shorten the period of
the registration expiration. For example, if the registration expiration is 300 (s), the worst situation is that
the function gets the registration status 5 minutes ago.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.22 SsmSetRcvRegisterCallBack
Sets the callback function upon the reception of registration message.
Format:
Parameter Description:
Sets the callback function upon the reception of registration message.
Format: int WINAPI RcvRegisterCallBack(char* SipBuf, int SipSize, char* SipBufResponse); in the
above format,
SipBuf: Original data;
RcvRegisterCallBack
SipSize: Data length;
SipBufResponse: Content of the reply which is sent after receiving the registration message;
Return Value: Length of the reply which is sent after receiving the registration message.
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the callback function upon the reception of registration message.
The parameter RcvRegisterCallBack is used to obtain the original data of the registration message and return its
response. The driver will send the content of the parameter SipBufResponse to the initiator of the registration.
Note:
z If the callback function is empty, the protocol stack will return directly and print the error log.
Related Information:
Driver version SynCTI Ver. 5.3.2.1 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.1.23 SsmIpGetBoardMacAddress
Obtains the MAC address for VoIP boards.
Format:
Parameter Description:
nBId The ID number of the VoIP board whose MAC address needs to be obtained
pucMacAddrBuff The buffer to store the obtained MAC address
Return Value:
Function Description:
The parameter pucMacAddrBuff is used to store the obtained MAC address. If this function call is successful, it will
return the length of the MAC address which is 6 bytes of unsigned char type; if this function call is failed, it will
return -1.
Note:
The VoIP board must be B-type or above; A-type boards cannot obtain the MAC address.
This function cannot be invoked before a successful startup of the board.
Related Information:
2.22.1.24 SsmSipRegister
Send the Register requests from SIP channels to the SIP Server.
Format:
int SsmSipRegister(int nRegMode, int nParam1, int nParam2, LPCSTR szDisplayName, LPCSTR szUserName,
LPCSTR szPasswd, LPCSTR szAuthUserName, LPCSTR szRegSrvAddr, LPCSTR szRealm, LPCSTR
szOutboundProxy, int nExpires)
Parameter Description:
nRegMode Register Mode. Range of value: nRegMode=0
nParam1 The start channel number
nParam2 The end channel number
szDisplayName Displayed name
szUserName Registration username
szPasswd Registration password
Authentication username (It is necessary only when the SIP Server requires
szAuthUserName
authentication for registration)
szRegSrvAddr Registrar IP address (proxy IP address)
szRealm Registrar alias
szOutboundProxy Outbound proxy IP address of the registration
Registry validity period. The default value is 3600s. Once it is overdue, a new
nExpires
registration will be initiated.
Return Value:
-1 Call failed
0 Call successful
Function Description:
Send the Register requests from SIP channels to the SIP Server.
Note:
z The failure of the function call indicates that either the register parameters or the channel state does not
meet the requirements which results in the SynSipStack not sending the register message. However, it
does not mean the failure of the registration.
z Invoking this function on an SIP channel in a state none of ‘IDLE’, ‘UNUSABLE’ and ‘registration failed’
will return -1.
z If the SIP channel has been registered, only the Registration update message (actually involving the
change of the parameter ‘Expires’ only) can be sent. That is,
(1) Expires=0 indicates the cancellation of the existing registration. All parameters except Expires should
keep the same as what they were when registered.
(2) Expires≠0 indicates the resending of the registration message. All parameters except Expires should
keep the same as what they were when registered.
(3) After the registration is cancelled, ‘Identity’ is updated to ‘sip:Username@IPAdress’. Also the IP
address can be used to make a call.
Related Information:
Driver version SynCTI Ver. 5.3.2.6 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.2.1 SsmLockMediaCh
Locks the media channel. If a media channel is idle, locks it and obtains available resources on the channel.
Format:
int SsmLockMediaCh(int ch)
Parameter Description:
ch Media channel number
Return Value:
Call failed, the failure reason can be obtained by the function
-1
SsmGetLastErrMsg
>0 Call successful
Function Description:
If a media channel is idle, locks it and obtains available resources on the channel. Only the local RTP address and
port can be obtained.
Note:
z This channel must be idle. It will go into the state S_IP_MEDIA_LOCK (with the corresponding value of
160) after this function is called successfully. This function is only applicable to VoIP resource boards.
Related Information:
Driver version SynCTI Ver. 5.2.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.2.2 SsmGetMediaChParam
Obtains the media parameters. If the media channel is unlocked, obtains the current media parameters; if it is
locked, obtains the locked parameters.
Format:
int SsmGetMediaChParam(int ch, struct MediaParam *mParam)
Parameter Description:
ch Media channel number
mParam The pointer pointing to the MediaParam structure
Return Value:
Call failed, the failure reason can be obtained by the function
-1
SsmGetLastErrMsg
0 Call successful
Function Description:
Obtains media parameters of the specified media channel. If the media channel is locked, only the local IP address
and port can be obtained, and other parameters will remain empty or 0.
If the media channel is unlocked, obtains the following parameters: local IP address, local port, remote IP address,
remote port, codec, transmit and receive modes.
If the media channel is neither locked nor unlocked, the return value will be -1.
Note:
Related Information:
Driver version SynCTI Ver. 5.2.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.2.3 SsmOpenMediaCh
Opens the media channel.
Format:
int SsmOpenMediaCh(int ch, struct MediaParam *mParam)
Parameter Description:
ch Media channel number
mParam The pointer pointing to the MediaParam structure
Return Value:
Call failed, the failure reason can be obtained by the function
-1
SsmGetLastErrMsg
0 Call successful
Function Description:
Creates an RTP Session on the specified media channel to transmit and receive voice data. Parameters include
transmit and receive modes, local RTP port and address, remote RTP port and address, load type and etc.
Meanwhile this function sets the channel state to S_IP_MEDIA_OPEN.
Note:
z This function is only applicable to VoIP resource boards.
Related Information:
Driver version SynCTI Ver. 5.2.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.2.4 SsmCloseMediaCh
Closes the media channel.
Format:
Parameter Description:
ch Media channel number
Return Value:
Call failed, the failure reason can be obtained by the function
-1
SsmGetLastErrMsg
0 Call successful
Function Description:
Closes the media channel. That is, sets the channel state to be locked.
Note:
z This function can be invoked successfully only to those opened channels. It closes a voice channel but
does not release it. This function is only applicable to VoIP resource boards.
Related Information:
Driver version SynCTI Ver. 5.2.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.2.5 SsmUnlockMediaCh
Releases the media channel. When the media channel is locked or open, release it and put it into the idle state.
Format:
int SsmUnlockMediaCh(int ch)
Parameter Description:
ch Media channel number
Return Value:
Call failed, the failure reason can be obtained by the function
-1
SsmGetLastErrMsg
0 Call successful
Function Description:
If the media channel is not in the idle state, release the locked resources on this channel and put it into the idle
state.
If the media channel is in the idle state, the return value will be -1.
Note:
z This function is only applicable to VoIP resource boards.
Related Information:
2.22.2.6 SsmUpdateMediaCh
Updates the media channel.
Format:
int SsmUpdateMediaCh (int ch, struct MediaParam *mParam)
Parameter Description:
ch Media channel number
mParam The pointer pointing to the MediaParam structure
Return Value:
Call failed, the failure reason can be obtained by the function
-1
SsmGetLastErrMsg
0 Call successful
Function Description:
Updates the RTP Session on the specified media channel. Parameters include transmit and receive modes, local
RTP port and address, remote RTP port and address, load type and etc.
Note:
z This function is valid only when the media channel is opened. It is only applicable to VoIP resource
boards.
Related Information:
Driver version SynCTI Ver. 5.2.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.2.7 SsmSipSetConnectionInforOfSDP
Sets the IP address in the Connectioninformation field in the SDP message body of the Invite or 200 message for
SIP and informs the remote end to send the RTP data to this IP address. Usually, it is an IP address of the LAN
gateway (The port number is allocated by the driver automatically and does not need to be set).
Format:
Parameter Description:
pConnectionInfo IP address in the filed ConnectionInformation
Return Value:
-1 Call failed
0 Call successful
Function Description:
Sets the IP address in the Connectioninformation field in the SDP message body of the Invite or 200 message for
SIP and informs the remote end to send the RTP data to this IP address. Usually, it is an IP address of the LAN
gateway (The port number is allocated by the driver automatically and does not need to be set).
Note:
z If the parameter pConnectionInfo is set to NULL, this function is invalid and the driver will fill in the IP
address in the ConnectionInformation field automatically.
Related Information:
Driver version SynCTI Ver. 5.3.2.3 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.2.8 SsmSipSetMsgFieldParameter
Sets the content of a designated field in a SIP message.
Format:
int WINAPI SsmSipSetMsgFieldParameter(int nCh, int nMsgType, DWORD dwParam, LPCSTR h_Name,
LPCSTR h_Value)
Parameter Description:
nCh Channel number
nMsgType Message type
dwPara Reserved parameter, with the default value of 0
h_Name Field name
h_Value Field content
Return Value:
-1 Call failed
0 Call successful
Function Description:
Sets the content of a designated field in a SIP message.
Note:
z Currently, this function only supports setting the url of the ‘Request’, ‘From’ and ‘To’ fields in the Refer
message.
z Each channel can invoke this function at most 10 times to modify the SIP messages.
Related Information:
Driver version SynCTI Ver. 5.3.2.5 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.3.1 SsmIPGetStunPublicIP
Performs NAT detection to obtain the IP address and the port of the public network.
Format:
int SsmIPGetStunPublicIP(int nBid,WORD nLocalPort,int nStunServerPort,LPSTR
pstrStunServer,StunAddress4 *stunServerAdd,int flag)
Parameter Description:
nBid Board ID
nLocalPort Local port
nStunServerPort Port of Stun Server
Note:
z To perform RTP traversal on the SHN series VoIP boards, set the corresponding configuration item to
enable the RTP traversal feature and invoke this function. In the subsequent calls, the RTP stun will be
detected automatically and this function needn’t be invoked again.
z The stun traversal includes the signaling traversal and the RTP traversal which should be performed
respectively. To enable the signaling traversal, add two configuration items EnableSIPStun and
SIPStunServerIP to the SIP section; to enable the RTP traversal, add two configuration items
EnableRTPStun and StunServerIP to the BoardID section.
z If the function returns -1, 0, 1, 5, 6, 7 or 8, (i.e. fail to obtain the stun type), both the calling and called
parties of the board will prompt error.
Related Information:
Driver version SynCTI Ver. 5.2.0.0 or above
Header Shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.22.4.1 SsmCheckBoardIcmp
Enables or disables the ICMP feature of the build-in network interface for B-type VoIP boards.
Format:
int SsmCheckBoardIcmp(int BoardID, char *sDestAddr, BOOL bRunIcmp)
Parameter Description:
BoardID Board ID
sDestAddr Destination address
bRunIcmp ICMP feature enabling signal. bRunIcmp=1: Enable; bRunIcmp=0: Disable
Return Value:
-1 Call failed
0 Call successful
Function Description:
Enables or disables the ICMP feature of the build-in network interface for B-type VoIP boards.
Note:
z The driver will throw out the event E_BOARD_ICMP_CHANGE to the application once the ICMP result
(ICMP normal or ICMP abnormal) changes. The default ICMP result is abnormal.
Related Information:
Driver version SynCTI Ver. 5.3.2.6 or above
Header Shpa3api.h
Library shp_a3.lib, Synsip.lib
DLL shp_a3.dll, Synsip.dll, M537.dll
BIN Shn537.bin
2.23.1.1 SsmQueryOpMicGain
Queries if the channel supports setting the gain of the input signal.
Format:
int SsmQueryOpMicGain(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
0 Not support
1 Support
Function Description:
Queries if the channel supports setting the gain of the input signal.
Note:
z Only analog recording channels of ATP Series boards (including analog trunk channel and microphone
recording channel) support this feature.
Related Information:
Driver version SynCTI Ver. 2.1or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetMicGain
2.23.1.2 SsmSetMicGain
Sets the gain of the input signal on the analog recording channel.
Format:
int SsmSetMicGain(int ch, int nMicGain)
Parameter Description:
ch Channel Number
nGain Gain value:
0: normal gain
1: increase 20DB
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the gain of the input signal on the analog recording channel.
Note:
Related Information:
Driver version SynCTI Ver. 2.1or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetMicGain
2.23.1.3 SsmGetMicGain
Obtains the preset gain value of the input signal on the analog recording channel.
Format:
Parameter Description:
ch Channel Number
Return Value:
-1 Call failed
0 Normal gain
1 High gain (20DB)
Function Description:
Obtains the preset gain value of the input signal on the analog recording channel.
Note:
z This function is only applicable to analog recording channels of ATP Series boards.
Related Information:
Driver version SynCTI Ver. 2.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmSetMicGain
2.23.2.1 SsmEnableRxMF
Enables or disables the MF detector.
Format:
Parameter Description:
ch Channel Number
The control switch determining whether to enable the MF detector
bRun TRUE: start
FALSE: stop
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg
0 Successful
Function Description:
Enables or disables the MF detector.
Note:
z The MF detector is disabled by default. Only if you want to control the switch of the MF detector manually
does this function need to be invoked.
z This function is only applicable to ATP Series.
z The configuration item AlwaysEnableRxMF can implement the same feature.
z This function is always valid once it is invoked.
Related Information:
Driver version SynCTI Ver. 5.3.2.3 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.23.2.2 SsmClearRxMFBuf
Clears up the MF-reception buffer area in the driver.
Format:
int SsmClearRxMFBuf(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Failed. The failure reason can be acquired via the function SsmGetLastErrMsg.
0 Successful
Function Description:
Clears up the MF-reception buffer area in the driver.
Note:
z When the channel goes into the state of idle, the driver automatically clears the buffer area of the MF
detector.
Related Information:
DLL shp_a3.dll
Related Function:
2.23.2.3 SsmGetMFStr
Obtains the MF characters saved in the MF-reception buffer area. The characters are in ASCII.
Format:
Parameter Description:
ch Channel number
The pointer pointing to the buffer storing the received MF strings. The storage space is
pszMF
allocated by the application
Return Value:
-1 Failed
≥0 The number of digits in the MF detector
Function Description:
Obtains the MF characters saved in the MF-reception buffer area. The characters are in ASCII.
Note:
z While executing this function, the driver will not clear the MF-reception buffer area.
Related Information:
Related Function:
2.24.1.1.1 SpyGetMaxCic
Return Value:
-1 Call failed
≥0 The total number of SpyCic
Function Description:
Obtains the total number of the monitored circuits, i.e. the set value of the configuration item TotalAppSpyCIC in
the section [AppSpyCICTable]. For more information about SpyCic, refer to ‘DTP Series’ in Chapter 1.
Note:
z This function is only applicable to DTP Series.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SpyChToCic
2.24.1.1.2 SpyChToCic
Searches the corresponding logical number of the SpyCic according to the channel logical number.
Format:
int SpyChToCic(int ch)
Parameter Description:
ch Channel logical number
Return Value:
-1 Failed
≥0 The logical number of the corresponding SpyCic
Function Description:
Searches the corresponding logical number of the SpyCic according to the channel logical number. For more
information about the SpyCic logical number, refer to the ‘DTP Series’ in Chapter 1.
Note:
z This function is only applicable to DTP Series.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SpyGetMaxCic
2.24.1.2.1 SpyGetState
Parameter Description:
Note:
z We suggest you use the event of E_CHG_SpyState in stead of this function;
z This function is only applicable to DTP Series.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SpyGetCalleeId, SpyGetCallerId, SpyGetCallOutCh, SpyGetCallInCh
2.24.1.3.1 SpyGetCallInCh
Refer to SpyGetCallOutCh
2.24.1.3.2 SpyGetCallOutCh
Obtains the logical number of the called party channel (SpyGetCallOutCh) or the calling party channel
(SpyGetCallInCh) in the current call.
Format:
int SpyGetCallInCh(int nCic)
int SpyGetCallOutCh(int nCic)
Parameter Description:
The logical number of the SpyCic. For more information about SpyCic, refer to ‘DTP
nCic
Series’ in Chapter 1.
Return Value:
-1 Call failed
SpyGetCallInCh: returns the logical number of the calling party channel;
≥0
SpyGetCallOutCh: returns the logical number of the called party channel
Function Description:
Obtains the logical number of the called party channel (SpyGetCallOutCh) or calling party channel
(SpyGetCallInCh) in the current call. For more information about the called party’s channel, refer to ‘DTP Series’ .
Note:
z Only when the state of the SpyCic has been transferred to the state of S_SPY_RINGING or
S_SPY_TALKING, calling the function of SpyGetCallOutCh or SpyGetCallInCh can get valid information.
z This function is only applicable to DTP Series.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SpyGetCallerId, SpyGetCalleeId
2.24.1.4.1 SpyGetCallerId
Refer to SpyGetCalleeld
2.24.1.4.2 SpyGetCalleeId
Obtains the calling party number (SpyGetCallerId) or the called party number (SpyGetCalleeId) in the current call.
Format:
int SpyGetCallerId(int nCic, char *pszCallingPartyNumber )
int SpyGetCalleeId(int nCic, char * pszCalledPartyNumber)
Parameter Description:
nCic The logical number of SpyCic
The pointer pointing to the buffer area storing the calling party number. The storage
pszCallingPartyNumber
space is allocated by the application, and it should be no less than 50 characters
The pointer pointing to the buffer area storing the called party number. The storage space
pszCalledPartyNumber
is allocated by the application, and it should be no less than 50 characters
Return Value:
-1 Call failed
≥0 The length of the phone number
Function Description:
After the call is established, the function of SpyGetCallerId obtains the calling party number of the current call, and
the function of SpyGetCalleeId obtains the called party number of the current call.
Note:
z Only when the state of the SpyCic has been transferred to S_SPY_RINGING or S_SPY_TALKING,
calling the function of SpyGetCallerId or SpyGetCalleeId can get the complete information;
z This function is only applicable to DTP Series.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SpyGetCallOutCh, SpyGetCallInCh
2.24.1.5.1 SpyGetHangupInfo
Parameter Description:
nCic Monitored circuit number
Return Value:
-1 Call failed or no hangup information
The 16 higher bits represent the monitored PCM number of SpyCic which sends the
disconnect message.
Others The 16 lower bits imply the hangup information of SpyCic. To be exact:
0: Called party hangs up first
1: Calling party hangs up first
Function Description:
Obtains the current hangup information based on SpyCic.
Note:
z We suggest you use the event E_CHG_SpyHangupInfo instead of this function.
z This function is only applicable to ISDN monitoring for DTP Series.
Related Information:
Driver version SynCTI Ver. 5.1.1.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SpyGetCalleeId, SpyGetCallerId, SpyGetCallOutCh, SpyGetCallInCh
2.24.1.6.1 SpyGetCallerType
Refer to SpyGetCalleeType
2.24.1.6.2 SpyGetCalleeType
Obtains the type of the calling party number (SpyGetCallerType) or the called party number (SpyGetCalleeType) of
the current call.
Format:
int WINAPI SpyGetCallerType(int nCic)
int WINAPI SpyGetCalleeType(int nCic)
Parameter Description:
nCic The logical number of SpyCic
Return Value:
-1 Call failed
≥0 The type of calling/called party number
Function Description:
After the call is established, the function SpyGetCallerType obtains the type of the calling party number of the
current call, while the function SpyGetCalleeType obtains the type of the called party number of the current call.
Note:
z Only when the state of the SpyCic has been transferred to S_SPY_RINGING or S_SPY_TALKING, can
you call the function SpyGetCallerType or SpyGetCalleeType to get complete information;
z This function is only applicable to ISDN monitoring for DTP Series.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SpyGetCallOutCh, SpyGetCallInCh
2.24.1.7.1 SpyGetLinkStatus
Parameter Description:
The logical number of the monitored PCM, the range of value is determined by the
nSpyPcmNo
configuration item of TotalSpyPcm
0: Choose the outbound digital trunk
ucFlag
1: Choose the inbound digital trunk
Return Value:
-1 Call failed
0 Error (disconnected)
1 Normal (connected)
Function Description:
Note:
z This function is only applicable to DTP Series.
Related Information:
Driver version SynCTI Ver. 3.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.24.1.8 Obtaining Original Signaling Messages from SS7 Call State Machine
2.24.1.8.1 SsmGetSs7SpyMsu
Obtains the original signaling messages synchronously output by the call state machine of SS7 signaling.
Format:
int SsmGetSs7SpyMsu (PUCHAR* ppucMsuBuf)
Parameter Description:
The pointer pointing to the buffer area storing original ISUP/TUP messages. The
ppucMsuBuf
storage space is allocated by the application, and it can’t be less than 273 bytes
Return Value:
0 No messages
>0 Returns the length (bytes) of the message
-1 Call failed
Function Description:
Obtains the original signaling messages synchronously output by the call state machine of SS7 signaling. The way
of taking out the messages is ‘First in, first out”, i.e. always return the earliest received message in the buffer. Every
time when the driver receives an MSU message, it will put the message into its internal buffer storing MSU
messages and then throw out the event E_RCV_Ss7SpyMsu to the application.
Note:
z Only when the configuration item bOpenSpySS7Msu is set to 1 will the driver copy the received
ISUP/TUP messages to the internal buffer area and throw out the event E_RCV_Ss7SpyMsu to the
application.
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: none
2.24.1.9.1 SpyGetConId
Format:
int WINAPI SpyGetConId (int nCic, char *pcCid)
Parameter Description:
nCic The logical number of SpyCic
The pointer pointing to the buffer area storing connection numbers. The storage space,
pcCid
no less than 50 characters, is allocated by the application.
Return Value:
≥0 Returns the length of the number
-1 Call failed.
Function Description:
After the call is established, obtains the connection number of this call.
Note:
z If the state of SpyCic has been transferred to S_SPY_TALKING, only by invoking the function
SpyGetConId can you get the complete information.
z This function is only applicable to ISDN monitoring for DTP Series.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: none
2.25.1 SsmGetDstChSNRofUplink
Obtains the signal-to-noise ratio of uplink signals on a specified channel of the DST board.
Format:
int SsmGetDstChSNRofUplink(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Failed
≥0 Value of the signal-to-noise ratio
Function Description:
Obtains the signal-to-noise ratio of uplink signals on a specified channel of the DST board, to monitor the signal
quality on the line.
Note:
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetDstChSNRofDownlink
2.25.2 SsmGetDstChSNRofDownlink
Obtains the signal-to-noise ratio of downlink signals on a specified channel of the DST board.
Format:
int SsmGetDstChSNRofDownlink(int ch)
Parameter Description:
ch Channel number
Return Value:
-1 Failed
≥0 Value of the signal-to-noise ratio
Function Description:
Obtains the signal-to-noise ratio of downlink signals on a specified channel of the DST board, to monitor the signal
quality on the line.
Note:
z This function only supports DST Series B-type boards.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmGetDstChSNRofUplink
2.25.3 SsmGetDstChVoltageState
Parameter Description:
ch Channel number
Return Value:
-1 Failed
0 Normal
3 Abnormal
Function Description:
Obtains the signal level on a specified channel of the DST board.
Note:
Related Information:
Driver version SynCTI Ver. 5.2.0.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.26.1 SsmGetPcm32LineState
Parameter Description:
ch Channel number
Return Value:
-1 Call failed
Only the lower 16 bits are used to represent the line synchronization status and the
signal state, among which bit0-bit7 indicate the line synchronization status and bit8-bit15
indicate the signal state. See below for details.
a) Value range for line synchronization status:
1) 0 - frame synchronization normal
2) 1 - disconnected
3) 2 - reset state
≥0
4) 3 - frame synchronization abnormal
b) Value range for signal state:
1) 0 - data normal
2) 1 - disconnected or no data
3) 2 - reset state
4) 3 - data abnormal
Function Description:
Obtains the line synchronization status and the signal state.
Note:
Related Information:
Driver version SynCTI Ver. 5.3.1.2 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.27.1.1 SsmIPRSetRecVolume
Sets the recording volume for primary and secondary.
Format:
int SsmIPRSetRecVolume(int nChId, int nPrimaryVlm, int nSecondaryVlm)
Parameter Description:
nChId Channel number
nPrimaryVlm Recording volume for primary
nSecondaryVlm Recording volume for secondary
Return Value:
-1 Call failed
≥0 Call successful
Function Description:
Sets the recording volume for primary and secondary.
Note:
z This function only supports SynIPRecorder.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.27.1.2 SsmIPRSetMixerType
Sets the mixer type for the recording.
Format:
int SsmIPRSetMixerType(int nChId, int nFlag)
Parameter Description:
nChId Channel number
0: record the Primary only;
nFlag 1: record the Secondary only;
2: record both parties
Return Value:
-1 Call failed
≥0 Call successful
Function Description:
Sets the mixer type for the recording.
Note:
z This function only supports SynIPRecorder.
Related Information:
2.27.1.3 SsmIPRGetMixerType
Obtains the channel mixer type.
Format:
int SsmIPRGetMixerType(int nChId)
Parameter Description:
nChId Channel number
Return Value:
-1 Call failed
0 Record the Primary only
1 Record the Secondary only
2 Record both parties
Function Description:
Note:
z This function only supports SynIPRecorder.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRSetMixerType
2.27.1.4 SsmIPRGetRecSlaverCount
Obtains the count of recording Slavers.
Format:
int SsmIPRGetRecSlaverCount(int nBId)
Parameter Description:
nBId Board ID
Return Value:
<0 Call failed
>=0 Call successful, the return value is the count of the current recording Slavers.
Function Description:
Obtains the count of recording Slavers.
Note:
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRGetRecSlaverList, SsmIPRGetRecSlaverInfo
2.27.1.5 SsmIPRGetRecSlaverList
Obtains the information about a specified number of recording Slavers.
Format:
int SsmIPRGetRecSlaverList(int nBId, int nRecSlaverNum, int* nReturnSlaverNum, PIPR_SLAVERADDR
pIPR_SlaverAddr)
Parameter Description:
nBId Board ID
nRecSlaverNum The number of recording Slavers required to get information
nReturnSlaverNum The number of valid Slavers obtained
As the initial address of structure array of PIPR_SLAVERADDR, pIPR_SlaverAddr is
pIPR_SlaverAddr
used to return the address information of each Slaver.
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Obtains the information about a specified number of recording Slavers.
Note:
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRGetRecSlaverCount, SsmIPRGetRecSlaverInfo
2.27.1.6 SsmIPRGetRecSlaverInfo
Obtains the detailed information of a certain recording Slaver.
Format:
int SsmIPRGetRecSlaverInfo(int nBId, int nRecSlaverId, BOOL *bStarted, int *nTotalResources, int
*nUsedResources, int *nThreadPairs, PCOMPUTER_INFO pcomputerinfo)
Parameter Description:
nBId Board ID
nRecSlaverId ID of the recording Slaver required to get information
bStarted Whether the Slaver is started, that is whether it is in the working state
nTotalResources Total number of the recording resources in the recording Slaver
nUsedResources Number of used recording resources in the recording Slaver
nThreadPairs Number of thread pairs in the recording Slaver
Pointer pointing to the structure COMPUTER_INFO, where stores the hardware
pcomputerinfo
information of the machine the Slaver is in.
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Note:
z This function only supports SynIPRecorder.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRGetRecSlaverCount, SsmIPRGetRecSlaverList
2.27.1.7 SsmIPRStartRecSlaver
Starts the recording Slaver properly to enter the working state.
Format:
int SsmIPRStartRecSlaver(int nBId, int nRecSlaverId, int* nTotalResources, int *nThreadPairs)
Parameter Description:
nBId Board ID
nRecSlaverId ID of the recording Slaver required to get information
nTotalResources Total number of the recording resources in the recording Slaver
nThreadPairs Number of thread pairs in the recording Slaver
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Starts the recording Slaver properly to enter the working state.
Note:
z The successful return of the function can only demonstrate that it has sent the command Start Record
Slaver to the Slaver. As to whether the command is successfully processed in the Slaver, check the
value of dwParam in the event E_IPR_START_SLAVER_CB.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRCloseRecSlaver
2.27.1.8 SsmIPRCloseRecSlaver
Closes the recording Slaver to exit the working state.
Format:
int SsmIPRCloseRecSlaver(int nBId, int nRecSlaverId)
Parameter Description:
nBId Board ID
nRecSlaverId ID of the recording Slaver required to be closed
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Closes the recording Slaver to exit the working state.
Note:
z This function only supports SynIPRecorder;
z The successful return of the function can only demonstrate that it has sent the command Close Record
Slaver to the Slaver. As to whether the command is successfully processed in the Slaver, check the
value of dwParam in the event E_IPR_CLOSE_SLAVER_CB.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRStartRecSlaver
2.27.1.9 SsmIPRActiveSession
Activates the corresponding ports of a specified recording Slaver to receive RTP data.
Format:
int SsmIPRActiveSession(int nCh, int nRecSlaverId, DWORD dwSessionId,LPSTR szPriAddr, int nPriPort, int*
pnPriRcvPort,int nPriCodec,LPSTR szSecAddr, int nSecPort, int *pnSecRcvPort, int nSecCodec)
Parameter Description:
nChId Channel ID
nRecSlaverId Recording Slaver ID
dwSessionId SesseionID of the session that is bound to nChId
szPriAddr IP address of RTP in the primary end
nPriPort RTP port in the primary end
pnPriRcvPort The port used to receive the RTP data in the primary end
CODEC in the primary end. The supported payload values are listed below:
CODEC Payload
μ-Law 0
nPriCodec A-Law 8
G723 4
G729 18
GSM 3
szSecAddr IP address of RTP in the secondary end
nSecPort RTP port in the secondary end
pnSecRcvPort The port used to receive the RTP data in the secondary end
CODEC in the secondary end. The supported payload values are listed below:
CODEC Payload
μ-Law 0
nSecCodec A-Law 8
G723 4
G729 18
GSM 3
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Activates the corresponding ports of a specified recording Slaver to receive RTP data.
Note:
z This function only supports SynIPRecorder;
z The successful return of the function can only demonstrate that it has sent the command ActiveSession
to the Slaver. As to whether the command is successfully processed in the Slaver, check the value of
dwParam in the event E_IPR_ACTIVE_SESSION_CB.
z The parameter dwSessionId, differentiating the recording Sessions of IPRecorder channel, does not
need to be the same as the SessionID generated by IPAnalyzer channel.
z The parameters szPriAddr and szSecAddr are not used at present, just set them to “127.0.0.1”.
z The parameters nPriPort and nSecPort are not used at present, you can enter any valid port value (i.e.
within the range of 1~65535).
z The parameters nPriCodec and nSecCodec are the payload format supported by IPRecorder. They do
not need to be the same as the actual payload format in calls because IPRecorder supports
self-adaptive payload format.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRDeActiveSession
2.27.1.10 SsmIPRDeActiveSession
Closes the Session receiving port of the corresponding recording Slaver.
Format:
int SsmIPRDeActiveSession(int nCh)
Parameter Description:
nChId Channel ID
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Note:
z This function only supports SynIPRecorder;
z The successful return of the function can only demonstrate that it has sent the command
DeActiveSession to the Slaver. As to whether the command is successfully processed in the Slaver,
check the value of dwParam in the event E_IPR_DEACTIVE_SESSION_CB.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.27.1.11 SsmIPRActiveAndRecToFile
Activates the corresponding ports of a specified recording Slaver to receive RTP data and starts recording.
Format:
int SsmIPRActiveAndRecToFile(int nCh, int nRecSlaverId, int dwSessionId, int nCodec, int* pnPriRcvPort, int*
pnSecRcvPort, LPCSTR pszFileName, int nFormat, DWORD dwStartPos, DWORD dwBytes, DWORD dwTime,
int nMask)
Parameter Description:
nChId Channel ID
nRecSlaverId Recording Slaver ID
dwSessionId SesseionID of the session that is bound to nChId
nCodec CODEC for incoming and outgoing calls in the Session (RTP payload). The supported
payload values are listed below:
CODEC Payload
μ-Law 0
A-Law 8
G723 4
G729 18
GSM 3
pnPriRcvPort The port used to receive the RTP data in the primary
pnSecRcvPort The port used to receive the RTP data in the secondary
pszFileName See the corresponding parameter in the function SsmRecToFile
nFormat See the corresponding parameter in the function SsmRecToFile
dwStartPos See the corresponding parameter in the function SsmRecToFile
dwBytes See the corresponding parameter in the function SsmRecToFile
dwTime See the corresponding parameter in the function SsmRecToFile
nMask See the corresponding parameter in the function SsmRecToFile
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Activates the corresponding ports of a specified recording Slaver to receive RTP data and starts recording.
Note:
z This function only supports SynIPRecorder;
z The successful return of the function can only demonstrate that it has sent the command
ActiveSessionAndRecToFile to the Slaver. As to whether the command is successfully processed in the
Slaver, check the value of dwParam in the event E_IPR_ACTIVE_AND_REC_CB.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRDeActiveAndStopRecToFile
2.27.1.12 SsmIPRDeActiveAndStopRecToFile
Closes the Session receiving port corresponding to the recording Slaver and stops recording.
Format:
Parameter Description:
nChId Channel ID
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Closes the Session receiving port corresponding to the recording Slaver and stops recording.
Note:
z This function only supports SynIPRecorder;
z The successful return of the function can only demonstrate that it has sent the command
DeActiveSessionAndStopRecToFile to the Slaver. As to whether the command is successfully
processed in the Slaver, check the value of dwParam in the event
E_IPR_DEACTIVE_AND_STOPREC_CB.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRActiveAndRecToFile
2.27.1.13 SsmGetUSBKeySerial
Obtains the serial number of a SynIPRecorder or SynIPAnalyzer board.
Format:
DWORD WINAPI SsmGetUSBKeySerial(int nBId)
Parameter Description:
nBId Board Id
Return Value:
0xffffffff The Board Id does not correspond to a SynIPRecorder or SynIPAnalyzer board
>0 The serial number of the board
Function Description:
Obtains the serial number of a SynIPRecorder or SynIPAnalyzer board.
Note:
z This function supports SynIPRecorder and SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver5.3.2.0
Header Shpa3api.h
Library Shp_a3.lib
DLL Shp_a3.dll
2.27.1.14 SsmIsBoardIPR
Judges whether the designated board is SynIPRecorder or SynIPAnalyzer.
Format:
Parameter Description:
nBId Board Id
Return Value:
FALSE The board designated by nBId is neither SynIPRecorder nor SynIPAnalyzer
TRUE The board designated by nBId is either SynIPRecorder or SynIPAnalyzer
Function Description:
Note:
z This function supports SynIPRecorder and SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver5.3.2.0
Header Shpa3api.h
Library Shp_a3.lib
DLL Shp_a3.dll
2.27.1.15 SsmIPRConnectToSlaver
Connects the Master to the designated Slaver in passive connection mode.
Format:
int WINAPI SsmIPRConnectToSlaver(char* szSvrAddr, int nSvrPort)
Parameter Description:
szSvrAddr IP address of the Slaver to be connected with
nSvrPort Port of the Slaver to be connected with
Return Value:
-1 Connection failed or call failed, the failure reason can be obtained by the function
SsmGetLastErrMsg
0 Call successful
Function Description:
Connects the Master to the designated Slaver in passive connection mode.
Note:
z This function only supports SynIPRecorder.
z For the information about setting passive connection mode, refer to the configuration item
ActiveConnect.
Related Information:
Driver version SynCTI Ver5.3.2.0
Header Shpa3api.h
Library Shp_a3.lib
DLL Shp_a3.dll
2.27.2.1 SsmIPRAddProtocol
Newly supports a monitoring protocol.
Format:
Parameter Description:
nBId Board ID
nPtlId Protocol type ID
pParams Structure parameter PIPR_MONITOR_CFGS of the monitoring protocol
dwLen Data length of the parameter pParam
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Note:
z This function only supports SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRRmvProtocol, SsmIPRGetProtocol
2.27.2.2 SsmIPRRmvProtocol
Removes the support of a monitoring protocol.
Format:
int SsmIPRRmvProtocol(int nBId, int nPtlId)
Parameter Description:
nBId Board ID
nPtlId Protocol type ID
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Removes the support of a monitoring protocol.
Note:
z This function only supports SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRAddProtocol, SsmIPRGetProtocol
2.27.2.3 SsmIPRGetProtocol
Obtains the parameters of a monitoring protocol.
Format:
int SsmIPRGetProtocol(int nPtlId, PIPR_MONITOR_CFGS pParams, DWORD* dwLen)
Parameter Description:
nPtlId Protocol type ID
pParams Structure parameter PIPR_MONITOR_CFGS of the monitoring protocol
dwLen Data length of the parameter pParam
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Note:
z This function only supports SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRAddProtocol, SsmIPRRmvProtocol
2.27.2.4 SsmIPRGetStationCount
Obtains the count of the current active Stations.
Format:
int SsmIPRGetStationCount(int nBId)
Parameter Description:
nBId Board ID
Return Value:
<0 Call failed
>=0 Call successful, the return value is the count of the current active Stations
Function Description:
Obtains the count of the current active Stations.
Note:
z This function only supports SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRGetStationList, SsmIPRGetStationInfo
2.27.2.5 SsmIPRGetStationList
Obtains the information about a specified number of Stations.
Format:
int SsmIPRGetStationList(int nBId, int nStationNum, PSTATION_LIST pStationList)
Parameter Description:
nBId Board ID
nStationNum The number of Stations required to get information
pStationList Pointer pointing to PSTATION_LIST which stores the Station information
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Note:
z This function only supports SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRGetStationCount, SsmIPRGetStationInfo
2.27.2.6 SsmIPRGetStationInfo
Obtains the detailed information of a certain Station.
Format:
int SsmIPRGetStationInfo(int nBId, int nStationId, int* nPtlId, int* nTransType, int* nPort, LPSTR szIP, LPSTR
szMAC)
Parameter Description:
nBId Board ID
nStationId StationId of the station required to get information
nPtlId ID of the call control protocol
nTransType Type of the transfer protocol
nPort Signaling port
Note:
z This function only supports SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRGetStationCount, SsmIPRGetStationList, SsmIPRGetStationInfoEx
2.27.2.7 SsmIPRGetStationInfoEx
Obtains all the information of a certain Station.
Format:
int SsmIPRGetStationInfoEx(int nBId, int nStationId, PStationInfoEx pSInfoEx)
Parameter Description:
nBId Board ID
nStationId Station Id of the station required to get information
pSInfoEx Station information structure
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Obtains all the information of a certain Station.
Note:
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRGetStationCount, SsmIPRGetStationList, SsmIPRGetStationInfo
2.27.2.8 SsmIPRSendSession
Sends a specified Session to a specified recording server.
Format:
int SsmIPRSendSession(int nChId, LPSTR szPriSlaverAddr, int nPriSlaverPort, LPSTR szSecSlaverAddr, int
nSecSlaverPort)
Parameter Description:
nChId Channel ID
szPriSlaverAddr IP address of the recording Slaver for receiving RTP data in the primary
nPriSlaverPort Port address of the recording Slaver for receiving RTP data in the primary
szSecSlaverAddr IP address of the recording Slaver for receiving RTP data in the secondary
nSecSlaverPort Port address of the recording Slaver for receiving RTP data in the secondary
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Sends a specified Session to a specified recording server.
Note:
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRStopSendSession, SsmIPRGetSessionInfo
2.27.2.9 SsmIPRStopSendSession
Stops sending the Session.
Format:
int SsmIPRStopSendSession(int nChId)
Parameter Description:
nChId Channel ID
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Stops sending the Session.
Note:
z After the driver throws out the event E_RCV_IPR_MEDIA_SESSION_STOPED, it will automatically
stop transmitting RTP. Invoking this function at that time will fail therefore.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRSendSession, SsmIPRGetSessionInfo
2.27.2.10 SsmIPRGetSessionInfo
Obtains the related information of a specified Session.
Format:
Parameter Description:
nChId Channel ID
pSInfo The obtained Session information, stored in pIPR_SessionInfo
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Obtains the related information of a specified Session.
Note:
z This function only supports SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRSendSession, SsmIPRStopSendSession
2.27.2.11 SsmIPRGetMonitorType
Obtains the current monitoring type (complete monitoring or monitoring based on Station).
Format:
int WINAPI SsmIPRGetMonitorType(int nBId)
Parameter Description:
nBId Board ID
Return Value:
-1 Call failed
0 Complete monitoring
1 Monitoring based on Station
Function Description:
Obtains the current monitoring type (complete monitoring or monitoring based on Station).
Note:
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRSetMonitorType
2.27.2.12 SsmIPRSetMonitorType
Sets the monitoring type (Monitor All or Monitor By Station).
Format:
int SsmIPRSetMonitorType(int nBId, nMType)
Parameter Description:
nBId Board ID
nMType Monitoring type, 0: Monitor All; 1: Monitor By Station
Return Value:
<0 Call failed
>=0 Call successful
Function Description:
Note:
z This function only supports SynIPAnalyzer.
z When this function is invoked to modify the monitoring type, the driver will delete all the session and
Station information and stop the corresponding transmission. If the original monitoring type is ‘Monitor
By Station’, the driver will clear the monitoring list too.
z To set ‘Monitor By Station’ as the original monitoring type, we suggest you do it via the configuration item
MonitorType instead of this function; or the driver may detect the session and Station before you invoke
this function and may probably waste extra time and resources to deal with the monitored session.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRGetMonitorType
2.27.2.13 SsmIPRAddStationToMap
Adds the Station to be monitored to the map list.
Format:
int SsmIPRAddStationToMap(int nBId, int nStationId, LPSTR szAddr, int nPort)
Parameter Description:
nBId Board ID
nStationId User defined Station Id
szAddr IP address or MAC address of the Station to be monitored
nPort Port of the Station required to be monitored
Return Value:
-1 Call failed
=0 Call successful
Function Description:
Adds the Station to be monitored to the map list.
Note:
z This function only supports SynIPAnalyzer. If the parameter nPort is less than 0, szAddr indicates the
MAC address of the Station to be monitored; otherwise szAddr indicates the IP address of the Station to
be monitored. If nPort is set to 0, it indicates that any port on the IP address designated by szAddr can
be monitored; if nPort is larger than 0, it indicates the port to be monitored. The format of the MAC
address is “aa:bb:cc:dd:ee:ff”.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRRmvStationFromMap, SsmIPRRmvStationFromMapEx, SsmIPRAddStationToMapEx
2.27.2.14 SsmIPRAddStationToMapEx
Adds a Station to the monitoring list.
Format:
int SsmIPRAddStationToMapEx(int nBId, int nStationId, LPSTR szAddr, int nPort, LPSTR szName, LPVOID
lpReserve)
Parameter Description:
nBId Board ID
nStationId Station Id of the Station to be added to the monitoring list
szAddr IP or MAC address of the Station to be monitored
nPort Port of the Station to be monitored
szName Username to be monitored
lpReserve Reserved
Return Value:
-1 Call failed
=0 Call successful
Function Description:
Note:
z The parameters szAddr and szName cannot be set to null at the same time. When szAddr is not null,
szName will be ignored and this function is completely the same as SsmIPRAddStationToMap. When
szName is not null, it indicates the username to be monitored.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRRmvStationFromMap, SsmIPRRmvStationFromMapEx, SsmIPRAddStationToMap
2.27.2.15 SsmIPRRmvStationFromMap
Removes a Station from the monitoring list.
Format:
int SsmIPRRmvStationFromMap(int nBId, LPSTR szAddr, int nPort)
Parameter Description:
nBId Board ID
szAddr IP address or MAC address of the Station to be removed from the monitoring list
nPort Port of the Station to be removed from the monitoring list
Return Value:
-1 Call failed
=0 Call successful
Function Description:
Removes a Station from the monitoring list.
Note:
z This function only supports SynIPAnalyzer. If the parameter nPort is less than 0, szAddr indicates the
MAC address of the Station to be removed form the monitoring list, otherwise szAddr means the IP
address of the Station to be removed form the monitoring list. In case of removing the MAC address of
the Station from the monitoring list, the parameter nPort in this function needn’t be the same as that in
the function SsmIPRRmvStationFromMap. The format of the MAC address is “aa:bb:cc:dd:ee:ff”.
z This function only supports the ‘delayed’ delete mode, i.e. if the Station to be removed from the
monitoring list is still in the conversation, this function will fail. Once the conversation ends, the
designated Station will be removed automatically. If the Station is required to be removed at once, refer
to the function SsmIPRRmvStationFromMapEx.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmIPRAddStationToMap, SsmIPRRmvStationFromMapEx
2.27.2.16 SsmIPRRmvStationFromMapEx
Removes a designated Station from the monitoring list.
Format:
int SsmIPRRmvStationFromMapEx(int nBId, int nStationId,bool bDelAtOnce)
Parameter Description:
nBId Board ID
nStationId The ID of the Station to be removed from the monitoring list
bDelAtOnce Whether to remove the Station at once
Return Value:
<0 Call failed
=0 Call successful in the ‘delayed’ delete mode. The designated Station will be
removed after the conversation ends.
=1 Call successful
Function Description:
Removes a designated Station from the monitoring list.
Note:
z This function only supports SynIPAnalyzer.
z This function supports two delete modes: the ‘delayed’ delete mode and the ‘instant’ delete mode.
Provided the Station to be removed from the monitoring list is still in the conversation, in the ‘delayed’
delete mode, it will be removed after the conversation ends; in the ‘instant’ delete mode, the monitoring
of the conversation and the transfer of RTP will be stopped immediately, and the designated Station will
be removed at once.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.27.2.17 SsmIPRChkForward
Checks whether the corresponding channel is forwarding the RTP data.
Format:
int SsmIPRChkFoward(int nChId)
Parameter Description:
nChId Channel number
Return Value:
0 The channel is not forwarding the RTP data
1 The channel is forwarding the RTP data
<0 Call failed
Function Description:
Checks whether the corresponding channel is forwarding the RTP data.
Note:
z This function only supports SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver.5.3.2.0
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.27.2.18 SsmIPRGetCallInfo
Obtains the information of a designated call.
Format:
int WINAPI SsmIPRGetCallInfo(int nBId,int nCallRef,pIPR_SIP_CALL_INFOEX pCallInfo)
Parameter Description:
nBId Board ID
nCallRef Index of the call required to get information
pCallInfo User provided buffer area which is used for storing the obtained call information
Return Value:
-1 Call failed
=0 Call successful
Function Description:
Note:
z This function only supports SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver.5.3.2.1
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.27.2.19 SsmIPRGetMessageField
Obtains the message of a field in the designated call.
Format:
int WINAPI SsmIPRGetMessageField(int nBId, int nCallRef, LPSTR pStrFieldName, LPSTR pStrContentBuf, int*
pSize)
Parameter Description:
nBId Board ID
nCallRef Index of the call required to get information
pStrFieldName Name of the field required to get message, such as CALL-ID
pStrContentBuf Message reception buffer
As an input parameter, pSize indicates the length of pStrContentBuf; as an output
pSize
parameter, pSize indicates the actual length of the field message
Return Value:
-1 Call failed
=0 Call successful
Function Description:
Obtains the message of a field in the designated call.
Note:
z This function only supports SynIPAnalyzer.
Related Information:
Driver version SynCTI Ver.5.3.2.3
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.27.3.1 IPR_Addr
The structure storing the IP address and port
typedef union tagIPR_Addr
{
__int64 nLLaddr; // Combination of address and port
struct
{
union
{
struct { unsigned char s_b1,s_b2,s_b3,s_b4; } S_un_b;
unsigned long S_addr;
};// IP address
unsigned long usPort; // Port
};
}IPR_Addr,*pIPR_Addr;
2.27.3.2 IPR_SLAVERADDR
The structure storing the address information of the Slaver
typedef struct tagIPR_SLAVERADDR
{
int nRecSlaverID; // SlaverID
IPR_Addr ipAddr; // IP address and port in the Slaver
}IPR_SLAVERADDR, *PIPR_SLAVERADDR;
2.27.3.3 IPR_SessionInfo
For Session information, refer to IPR_SessionInfo in Chapter 1.
2.27.3.4 COMPUTER_INFO
It stores the computer information.
#define MAX_NET_ADAPTERS 6 // Storage limit of the network adapter
typedef struct tagCOMPUTER_INFO
{
char szOSVersion[128]; // Operating system
int nCPUNO; // number of CPUs
char szCPUInfo[256]; // CPU information
ULONG ulPhysicalMemory; // Physical memory in MB (1K=1024)
ULONG ulHardDisk; // HD capacity in GB (1K=1000)
int nNetAdapterNO; // Number of network adapters
char szMAC[MAX_NET_ADAPTERS][30];// MAC address
char szIPAddr[MAX_NET_ADAPTERS][30];// IP address
char szMask[MAX_NET_ADAPTERS][30]; // Subnet mask
char szGateway[MAX_NET_ADAPTERS][30]; // Gateway
}COMPUTER_INFO, *PCOMPUTER_INFO;
2.27.3.5 IPR_MONITOR_CFGS
This structure is used by SsmIPRAddProtocol in SynIPAnalyzer to configure the monitoring protocol.
{
union
{
IPR_SCCP_CFGS CISCO; // CISCO SCCP protocol parameter
IPR_SIP_CFGS SIP; // SIP protocol parameter
};
}IPR_MONITOR_CFGS, *PIPR_MONITOR_CFGS;
2.27.3.6 STATION_LIST
A list storing the terminal information
typedef struct tagStationList
{
int nStationId; //Station Id
UCHAR ucCallCtrlId; // Signaling protocol ID
}STATION_LIST,*PSTATION_LIST;
2.27.3.7 IPR_CALL_INFO
Call information output with call state events
#define IPR_MAX_CALL_ID_SIZE 120 // Maximum length (bytes) of CallID
typedef struct tagIPR_CALL_INFO
{
ULONG CallRef ; // Call index, increasing
ULONG CallSource ; // Call direction
ULONG Cause ; // Cause
char szCallerId[IPR_MAX_CALL_ID_SIZE]; // CallerID
char szCalledId[IPR_MAX_CALL_ID_SIZE]; // CalleeID
char szReferredBy[IPR_MAX_CALL_ID_SIZE]; // Where the call is transferred from
char szReferTo[IPR_MAX_CALL_ID_SIZE]; // Where the call is transferred to
}IPR_CALL_INFO, *PIPR_CALL_INFO;
2.27.3.8 IPR_CALL_INFOEX
Detailed call information.
typedef struct tagIPR_CALL_INFOEX
{
int nCallRef; // Call index
int nStationId; // Primary StationId
int nStationId2; // Secondary StationId (i.e SIP p2p)
2.27.3.9 StationInfoEx
The structure used by SsmIPRGetStationInfoEx in SynIPAnalyzer.
typedef struct tagStationInfoEx
{
2.28.1 fPcm_Mp3ConvertALaw
Refer to fPcm_Mp3ConvertULaw
2.28.2 fPcm_Mp3ConvertULaw
fPcm_Mp3ConvertALaw converts IMP3 formatted files recorded by the Synway board to be A-law formatted files,
fPcm_Mp3ConvertULaw converts MP3 formatted files to be μ-law formatted files.
Format:
int fPcm_Mp3ConvertALaw (char*szSourecFile, char*szTargetFile)
int fPcm_Mp3ConvertULaw (char*szSourecFile, char*szTargetFile)
Parameter Description:
The name of the MP3-formatted source file recorded by Synway boards, it may include
the full path of the file. The file format could be either the non-header file (i.e. without
file header) or the standard wav file. It's through analyzing the source file of
szSoureFile
szSourceFile to determine whether it has the wav file header instead of checking the
file extension name that the driver decides if the source file is standard or not. If it’s not
a standard wav file, it will be regarded as a non-header file
The target file name, it may include the full path of the file. If the target file doesn’t
exist, the driver will automatically create it; If the target file exists already, it will be
SzTargetFile
overlaid. If the extension name of the target file is wav, the converted file format is the
standard wav; otherwise, the format is plain
Return Value:
1 Successful
-1 Call failed. The failure reason can be obtained by the function fPcm_GetLastErrMsg
Function Description:
fPcm_Mp3ConvertALaw converts the MP3 formatted file to be A-law formatted file, fPcm_Mp3ConvertULaw
converts the MP3 formatted file to be μ-law formatted file. The source file must be MP3-formatted non-header files
or standard wav files recorded by Synway boards.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully;
z When this function is called, the ACM decoding engine of MP3 will be used.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.3 fPcm_AdpcmToAlaw
Refer to Pcm_AdpcmToMp3
2.28.4 fPcm_AdpcmToGsm
Refer to fPcm_AdpcmToMp3
2.28.5 fPcm_AdpcmToMp3
Converts the IMA ADPCM formatted file recorded by Synway boards to be A-law formatted file (by the function of
fPcm_AdpcmToAlaw), GSM 6.10 formatted file (by the function of fPcm_AdpcmToGsm), or MP3 formatted file
(fPcm_AdpcmToMp3).
Format:
int fPcm_AdpcmToAlaw(char*szSoureFile, char* szTargetFile)
int fPcm_AdpcmToGsm(char*szSoureFile,char*szTargetFile)
int fPcm_AdpcmToMp3(char*szSoureFile, char* szTargetFile)
Parameter Description:
The name of the IMA ADPCM formatted source file recorded by Synway boards, it may
include the full path of the file. The file format could be either the non-header file (i.e.
without file header) or the standard wav file. It's through analyzing the source file of
szSoureFile
szSourceFile to determine whether it has the wav file header instead of checking the
file extension name that the driver decides if the source file is standard or not. If it’s not
a standard wav file, it will be regarded as a non-header file
The name of A-law formatted target file, it may include the full path of the file. If the
target file doesn’t exist, the driver will automatically create it; If the target file exists
szTargetFile
already, it will be overlaid. If the extension name of the target file is wav, the converted
file format is the standard wav; otherwise, the format is plain
Return Value:
1 Successful
-1 Call failed. The failure reason can be obtained by the function fPcm_GetLastErrMsg.
Function Description:
The function of fPcm_AdpcmToAlaw converts the IMA ADPCM formatted file recorded by Synway boards to be
A-law formatted file, the function of fPcm_AdpcmToGsm converts the IMA ADPCM formatted file to be GSM 6.10
formatted file, the function of fPcm_AdpcmToMp3 converts the IMA ADPCM formatted file to be Mp3 formatted file.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully;
z To invoke the above functions, the file macmcvt.dll must be used.
z To invoke the function fPcm_AdpcmToGsm, the ACM encoding engine of GSM must be used; to invoke
the function fPcm_AdpcmToMp3, the ACM encoding engine of MP3 must be used.
Related Information:
2.28.6 fPcm_AlawToUlaw
Refer to fPcm_UlawToAlaw
2.28.7 fPcm_UlawToAlaw
Converts A-Law formatted files recorded by the Synway board to be µ-Law formatted files (fPcm_ AlawToUlaw), or
converts µ-Law formatted files to be A-Law formatted files (fPcm_ UlawToAlaw).
Format:
int WINAPI fPcm_AlawToUlaw(char*szSourceFile, char*szTargetFile)
int WINAPI fPcm_UlawToAlaw(char*szSourceFile, char*szTargetFile)
Parameter Description:
The name of the A-Law or µ-Law formatted source file recorded by Synway boards, it
may include the full path of the file. The file format could be either the non-header file
(i.e. without file header) or the standard wav file. It's through analyzing the source file
szSoureFile
of szSourceFile to determine whether it has the wav file header instead of checking
the file extension name that the driver decides if the source file is standard or not. If it’s
not a standard wav file, it will be regarded as a non-header file.
The target file name, it may include the full path of the file. If the target file doesn’t
exist, the driver will automatically create it; If the target file exists already, it will be
szTargetFile
overlaid. If the extension name of the target file is wav, the converted file format is the
standard wav; otherwise, the format is plain.
Return Value:
1 Call successful
-1 Call failed. The failure reason may be obtained by the function fPcm_GetLastErrMsg
Function Description:
fPcm_ AlawToUlaw converts A-Law formatted files recorded by the Synway board to be µ-Law formatted files;
fPcm_ UlawToAlaw converts µ-Law formatted files to be A-Law formatted files.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the call of SsmStartCti.
Related Information:
Driver version SynCTI Ver. 5.0.0.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.8 fPcm_MemAdpcmToALAW
Refer to fPcm_MemAdpcmToULAW
2.28.9 fPcm_MemAdpcmToULAW
Converts the IMA ADPCM formatted data which is stored in the buffer area and recorded by Synway boards to be
A-law or μ-law formatted data. The function of fPcm_MemAdpcmToALAW converts IMA ADPCM to be A-law, The
function of fPcm_MemAdpcmToULAW converts IMA ADPCM to be μ-law.
Format:
DWORD fPcm_MemAdpcmToALAW(char * pSource, DWORD dwSourceSize, char * pTarget, DWORD
dwTargetSize)
DWORD fPcm_MemAdpcmToULAW(char * pSource, DWORD dwSourceSize, char * pTarget, DWORD
dwTargetSize)
Parameter Description:
pSource The pointer pointing to the first address of the input buffer area
The size (bytes) of the input buffer. Because the length of the IMA ADPCM formatted
dwSourceSize
frame is 256 bytes, this parameter must be integral times of 256 bytes
The pointer pointing to the first address of the output buffer area storing the converted
pTarget
data; the storage space is allocated by the application
The size of the output buffer area. Because 505 bytes data is generated after each
dwTargetSize IMA ADPCM formatted frame is converted to be A-law or μ-law formatted data, the
size of the output buffer area should be no less than dwSourceSize / 256 * 505 + 1
Return Value:
Conversion failed, the failure reason can be obtained via the function call of
0
fPcm_GetLastErrMsg
>0 The byte number of the voice data after conversion
Function Description:
Converts the IMA ADPCM formatted data which is stored in the buffer area and recorded by Synway boards to be
A-law or μ-law formatted data.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function: fPcm_AdpcmToAlaw
2.28.10 fPcm_ALawConvertPcm16
Refer to fPcm_ALawConvertMp3
2.28.11 fPcm_ALawConvertPcm16_16K
Refer to fPcm_ALawConvertMp3
2.28.12 fPcm_ALawConvertPcm8
Refer to fPcm_ALawConvertMp3
2.28.13 fPCM_AlawConvertGC8
Refer to fPcm_ALawConvertMp3
2.28.14 fPcm_ALawConvertMp3
Converts the A-law formatted file to the 16-bit PCM formatted file (by fPcm_ALawConvertPcm16), the 16-bit
16KHz PCM formatted file (by fPcm_ALawConvertPcm16_16K), the 8-bit unsigned PCM formatted file (by
fPcm_ALawConvertPcm8), the G.729A formatted file (by fPCM_AlawConvertGC8), or the MP3 formatted file (by
fPcm_ALawConvertMp3).
Format:
int fPcm_ALawConvertPcm16(char*fnALaw, char* szTargetFile)
int WINAPI fPcm_ALawConvertPcm16_16K(char* fnALaw, char*szTargetFile)
int fPcm_AlawConvertPcm8(char* fnALaw, char* szTargetFile)
int fPCM_AlawConvertGC8(char * fnALaw,char*szTargetFile)
int fPcm_ALawConvertMp3(char*szSourceFile, char*szTargetFile)
Parameter Description:
The name of the A-law formatted source file, it may include the full path of the file. The
file format could be either the non-header file (i.e. without file header) or the standard
wav file. It's through analyzing the source file of szSourceFile to determine whether it
fnALaw
has the wav file header instead of checking the file extension name that the driver
decides if the source file is standard or not. If it’s not a standard wav file, it will be
regarded as a non-header file
The target file name, it may include the full path of the file. If the target file doesn’t
exist, the driver will automatically create it; If the target file exists already, it will be
szTargetFile
overlaid. If the extension name of the target file is wav, the converted file format is the
standard wav; otherwise, the format is plain
Return Value:
Call of fPcm_ALawConvertPcm16, fPcm_ALawConvertPcm16_16K,
1
fPcm_AlawConvertPcm8 or fPcm_ALawConvertMp3 successful
0 Call of fPCM_AlawConvertGC8 successful
Call of fPcm_ALawConvertPcm16, fPcm_ALawConvertPcm16_16K,
-1 fPcm_AlawConvertPcm8, fPCM_AlawConvertGC8 or fPcm_ALawConvertMp3 failed,
the failure reason can be obtained via the function call of fPcm_GetLastErrMsg
Function Description:
fPcm_ALawConvertPcm16 converts the A-law formatted file to the 16-bit PCM formatted file;
fPcm_ALawConvertPcm16_16K converts the A-law formatted file to the 16-bit 16KHz PCM formatted file;
fPcm_ALawConvertPcm8 converts the A-law formatted file to the unsigned 8-bit PCM formatted file;
fPCM_AlawConvertGC8 converts the A-law formatted file to the G.729A formatted file; fPcm_ALawConvertMp3
converts the A-law formatted file to the MP3 formatted file provided the MP3 recording engine has been installed.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
z fPcm_ALawConvertPcm16, fPcm_ALawConvertPcm16_16K, fPcm_AlawConvertPcm8 or
fPcm_ALawConvertMp3 returns only 1 or -1.
z fPCM_AlawConvertGC8 returns only 0 or -1.
z To invoke this function, the file macmcvt.dll must be used.
z To invoke the function fPCM_AlawConvertGC8, the ACM encoding engine of G729A must be used; to
invoke the function fPcm_ALawConvertMp3, the ACM encoding engine of MP3 must be used.
Related Information:
fPcm_ALawConvertPcm16, fPcm_ALawConvertPcm8 require SynCTI Ver. 4.0 or
above; fPCM_AlawConvertGC8 requires SynCTI Ver. 4.7.1.8 or above;
Driver version
fPcm_ALawConvertMp3 requires SynCTI Ver. 4.8.0.0 or above;
fPcm_ALawConvertPcm16_16K requires SynCTI Ver. 5.2.0.1 or above.
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function: fPcm_Pcm16ConvertALaw, fPcm_GC8Convert, fPcm_MemAlawToPcm8,
fPcm_MemAlawToPcm16
2.28.15 fPcm_ULawConvertMp3
Converts the µ-Law formatted file to the MP3 formatted file.
Format:
Int WINAPI fPcm_ULawConvertMp3(char*szSourceFile, char*szTargetFile)
Parameter Description:
The name of the µ-Law formatted source file which is recorded by Synway boards. It
may include the full path of the file. The file could be either a non-header file (i.e.
without file header) or a standard wav file. Instead of checking the file extension name,
szSoureFile
the driver judges if the source file is standard or not by analyzing szSourceFile to find
whether it has the wav file header. If it’s not a standard wav file, it will be regarded as a
non-header file.
The target file name. It may include the full path of the file. If the target file doesn’t exist,
the driver will automatically create it; if the target file exists already, it will be overlaid. If
szTargetFile
the extension name of the target file is wav, the converted file is a standard wav file;
otherwise, it will be a non-header file.
Return Value:
1 Successful
Call failed. The failure reason can be obtained via the function call of
-1
fPcm_GetLastErrMsg
Function Description:
Converts the µ-Law formatted file recorded by Synway boards to the MP3 formatted file.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the call of SsmStartCti.
z To invoke this function, the file macmcvt.dll must be used.
z To invoke this function, the ACM encoding engine of MP3 must be used.
Related Information:
Driver version SynCTI Ver. 5.0.0.0 or above.
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function: fPcm_ALawConvertMp3
2.28.16 fPcm_GetDtmfAndMskFromMp3
Parses DTMF and MSK structure information from an MP3 formatted file.
Format:
int fPcm_GetDtmfAndMskFromMp3(LPCSTR szSourceFile, char* pszDtmf, int* pcchDtmf, pMSK_INFO pMsk, int*
pcchMsk)
Parameter Description:
The name of the MP3 (16K) formatted source file which is recorded by Synway
boards. It may include the full path of the file. The file could be either a non-header file
(i.e. without file header) or a standard wav file. Instead of checking the file extension
szSoureFile
name, the driver judges if the source file is standard or not by analyzing szSourceFile
to find whether it has the wav file header. If it’s not a standard wav file, it will be
regarded as a non-header file.
Pointer pointing to the first address of DTMF buffer area storing the DTMF characters
pszDtmf
parsed from szSoureFile. It can be NULL.
Size of DTMF buffer area. If pcchDtmf is NULL, the function will not parse DTMF from
szSourceFile file. If neither pcchDtmf nor pszDtmf is NULL, the function will parse all
DTMF characters from szSourceFile file. If pcchDtmf is not NULL and pszDtmf is
NULL, the function will only get the number of DTMF characters in szSourceFile.
pcchDtmf
*pcchDtmf returns the number of DTMF characters. If *pcchDtmf is smaller than the
size of the DTMF buffer area, it indicates the exact number of DTMF characters
parsed from szSourceFile. If *pcchDtmf equals to the size of the DTMF buffer area, it
may indicate that the size of DTMF buffer area is just or not enough.
Pointer pointing to the first address of MSK buffer area storing the MSK structure
pMsk
parsed from szSourceFile. It can be NULL.
Size of MSK buffer area. If pcchMSK is NULL, the function will not parse the MSK
structure from szSourceFile file. If neither pcchMSK nor pMSK is NULL, the function
will parse all MSK structures from szSourceFile file. If pcchMSK is not NULL and
pMSK is NULL, the function will only get the number of MSK structures in
pcchMsk szSourceFile.
*pcchMSK returns the number of MSK structures. If *pcchMSK is smaller than the size
of the MSK buffer area, it indicates the exact number of MSK structures parsed from
szSourceFile. If *pcchDtmf equals to the size of the MSK buffer area, it may indicate
that the size of MSK buffer area is just or not enough.
Return Value:
1 Call successful
-1 Call failed, the failure reason can be obtained by the function fPcm_GetLastErrMsg
Function Description:
Parses DTMF and MSK structure from an MP3 formatted file.
The MSK structure is as follows:
typedef struct tagMSK_INFO
{
unsigned char op;
unsigned char arg;
unsigned short unitID;
unsigned char extra0;
unsigned char extra1;
unsigned char extra2;
unsigned char extra3;
BOOL bIsPacketDouble;
}MSK_INFO, *pMSK_INFO;
If bIsPacketDouble=TRUE, it indicates that the former seven variables are all parsed from the structure; if
bIsPacketDouble=FALSE, it indicates that only the variables op, arg and unitID are parsed.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti.
z To invoke this function, the ACM decoding engine of MP3 must be used.
Related Information:
Driver version SynCTI Ver. 5.3.2.1 or above;
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.17 fPcm_ALawToVox
Parameter Description:
The name of the A-Law formatted source file which is recorded by Synway boards. It
may include the full path of the file. The file could be either a non-header file (i.e.
without file header) or a standard wav file. Instead of checking the file extension name,
szSoureFile
the driver judges if the source file is standard or not by analyzing szSourceFile to find
whether it has the wav file header. If it’s not a standard wav file, it will be regarded as a
non-header file.
The target file name. It may include the full path of the file. If the target file doesn’t
szTargetFile exist, the driver will automatically create it; if the target file exists already, it will be
overlaid.
Return Value:
0 Successful
Call failed. The failure reason can be obtained via the function call of
-1
fPcm_GetLastErrMsg
Function Description:
Converts the A-Law formatted file recorded by Synway boards to the vox formatted file.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the call of SsmStartCti.
Related Information:
Driver version SynCTI Ver. 5.1.1.0 or above.
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.18 fPcm_MemAlawToPcm8
Refer to fPcm_MemAlawToPcm16
2.28.19 fPcm_MemAlawToPcm16
Converts the A-law formatted data stored in the buffer area to be unsigned 8-bit PCM formatted data (by the
function fPcm_MemAlawToPcm8) or 16 bit PCM formatted data (by the function fPcm_MemAlawToPcm16).
Format:
DWORD fPcm_MemAlawToPcm8 (char*pSrcBuf,DWORD dwSrcSize,char *pDstBuf,DWORD dwDstSize8)
DWORD fPcm_MemAlawToPcm16(char* pSrcBuf,DWORD dwSrcSize,char * pDstBuf,DWORD dwDstSize16)
Parameter Description:
The pointer pointing to the buffer area storing source data, it stores A-law formatted
pSrcBuf
voice data
dwSrcSize The size (bytes) of pSrcBuf
The pointer pointing to the buffer area storing the converted data, the storage space is
pDstBuf
allocated by the application
dwDstSize8 The size of pDstBuf (bytes). dwDstSize8 must be larger than or equal to dwSrcSize,
dwDstSize16 dwDstSize16 must be larger than or equal to two times of dwSrcSize
Return Value:
Conversion failed. The failure reason can be obtained by the function
0
fPcm_GetLastErrMsg
>0 The number of the converted bytes
Function Description:
fPcm_MemAlawToPcm8 converts the A-law format to be unsigned 8-bit PCM format, fPcm_MemAlawToPcm16
converts the A-law format to be 16 bit PCM format.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function: fPcm_ALawConvertPcm16, fPcm_ALawConvertPcm8, fPcm_MemPcm8ToAlaw
2.28.20 fPcm_MemAlawToPcm16_16K
Converts the A-law formatted data stored in the buffer area to be 16-bit 16KHz PCM formatted data.
Format:
Int WINAPI fPcm_MemAlawToPcm16_16K(char * szSource, int nSourceLen, char * szTarget, int nTargetLen)
Parameter Description:
The pointer pointing to the buffer area storing source data, it stores A-law formatted
szSource
voice data
nSourceLen The size (bytes) of szSource
The pointer pointing to the buffer area storing the converted data, the storage space is
szTarget
allocated by the application
The size of szTarget (bytes). nTargetLen must be larger than or equal to four times of
nTargetLen
nSourceLen.
Return Value:
Conversion failed. The failure reason can be obtained by the function
0
fPcm_GetLastErrMsg
>0 The number of the converted bytes
Function Description:
fPcm_MemAlawToPcm16_16K converts the A-law format to be the 16-bit 16KHz PCM format.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
Related Information:
2.28.21 fPcm_MemGSMToPcm16
Converts the GSM formatted data stored in the buffer to the 16-bit PCM formatted data.
Format:
DWORD WINAPI fPcm_MemGSMToPcm16(char *pSource, DWORD dwSourceSize, char *pTarget, DWORD
dwTargetSize)
Parameter Description:
pSource The pointer that points to the input buffer area storing GSM formatted voice data
The size of the input buffer area (bytes). This parameter should be in the range of
dwSourceSize
2600≤dwSourceSize<3250 and is as suggested set to the integral times of 65.
The pointer that points to the target buffer area storing 16-bit PCM formatted voice
pTarget
data.
The size of the target buffer area. It must be greater than or equal to 10 times of
dwTargetSize
dwSourceSize.
Return Value:
0 Conversion failed
>0 The number of converted bytes
Function Description:
Converts the GSM formatted file to the 16-bit PCM formatted file.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the call of SsmStartCti.
z To invoke this function, the file macmcvt.dll must be used.
z To invoke this function, the ACM decoding engine of GSM must be used.
Related Information:
Driver version SynCTI Ver. 4.8.0.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function: fPcm_ALawConvertPcm16, fPcm_ALawConvertPcm8, fPcm_MemPcm8ToAlaw,
fPcm_MemGSMToPcm8
2.28.22 fPcm_MemGSMToPcm8
Converts the GSM formatted data stored in the buffer to the unsigned 8-bit PCM formatted data.
Format:
DWORD WINAPI fPcm_MemGSMToPcm8(char *pSource, DWORD dwSourceSize, char *pTarget, DWORD
dwTargetSize)
Parameter Description:
pSource The pointer that points to the input buffer area storing GSM formatted voice data
The size of the input buffer area (bytes). This parameter should be in the range of
dwSourceSize
2600≤dwSourceSize<3250 and is as suggested set to the integral times of 65
pTarget The pointer that points to the target buffer area storing 8 Bit PCM formatted voice data
dwTargetSize The size of the target buffer area. It must be greater than or equal to 5 times of
dwSourceSize
Return Value:
0 Conversion failed
>0 The number of converted bytes
Function Description:
Converts the GSM formatted data stored in the buffer to the unsigned 8-bit PCM formatted data.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the call of SsmStartCti.
z To invoke this function, the file macmcvt.dll must be used.
z To invoke this function, the ACM decoding engine of GSM must be used.
Related Information:
Driver version SynCTI Ver. 5.0.3.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function: fPcm_ALawConvertPcm16, fPcm_ALawConvertPcm8, fPcm_MemPcm8ToAlaw,
fPcm_MemGSMToPcm16
2.28.23 fPcm_MemGSMToUlaw
Converts the GSM formatted data stored in the buffer to μ-law formatted data.
Format:
DWORD WINAPI fPcm_MemGSMToUlaw (char *pSource, DWORD dwSourceSize, char *pTarget, DWORD
dwTargetSize)
Parameter Description:
pSource The pointer that points to the input buffer area storing GSM formatted voice data
The size of the input buffer area (bytes). This parameter should be in the range of
dwSourceSize
2600≤dwSourceSize<3250 and is as suggested set to the integral times of 65
pTarget The pointer that points to the target buffer area storing μ-law formatted voice data
The size of the target buffer area. It must be greater than or equal to 10 times of
dwTargetSize
dwSourceSize
Return Value:
0 Conversion failed
>0 The number of converted bytes
Function Description:
Converts the GSM formatted data stored in the buffer to μ-law formatted data.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the call of SsmStartCti.
z To invoke this function, the file macmcvt.dll must be used.
z To invoke this function, the ACM decoding engine of GSM must be used.
Related Information:
Driver version SynCTI Ver. 5.0.3.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function: fPcm_ALawConvertPcm16, fPcm_ALawConvertPcm8, fPcm_MemPcm8ToAlaw,
fPcm_MemGSMToPcm16
2.28.24 fPcm_Pcm16ConvertALaw
Converts the 16-bit PCM formatted file to be A-law formatted file.
Format:
int fPcm_Pcm16ConvertALaw (char*fnPCM16, char* szTargetFile)
Parameter Description:
The name of the 16-bit PCM formatted source file, it may include the full path of the
file. The file format could be either the non-header file (i.e. without file header) or the
standard wav file. It's through analyzing the source file to determine whether it has the
fnPCM16
wav file header instead of checking the file extension name that the driver decides if
the source file is standard or not. If it’s not a standard wav file, it will be regarded as a
non-header file
The target file name, it may include the full path of the file. If the target file doesn’t
exist, the driver will automatically create it; If the target file exists already, it will be
szTargetFile
overlaid. If the extension name of the target file is wav, the converted file format is the
standard wav; otherwise, the format is plain
Return Value:
1 Successful
-1 Call failed. The failure reason can be obtained via the function fPcm_GetLastErrMsg
Function Description:
Converts the 16-bit PCM formatted file to be the A-law formatted file.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
Related Information:
Driver version SynCTI Ver. 4.7.1.7 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.25 fPcm_Pcm16_16KconvertALaw
Converts the 16-bit 16KHz PCM formatted file to be A-law formatted file.
Format:
int fPcm_Pcm16_16KConvertALaw (char*fnPCM16, char* szTargetFile)
Parameter Description:
The name of the 16-bit 16KHz PCM formatted source file, it may include the full path of
the file. The file format could be either the non-header file (i.e. without file header) or
the standard wav file. The driver, by analyzing the source file to determine whether it
fnPCM16
has the wav file header, but not by checking the file extension name, decides if the
source file is standard or not. If it’s not a standard wav file, it will be regarded as a
non-header file.
The target file name, it may include the full path of the file. If the target file doesn’t
exist, the driver will automatically create it; If the target file exists already, it will be
szTargetFile
overlaid. If the extension name of the target file is wav, the converted file format is the
standard wav; otherwise, the format is plain.
Return Value:
1 Successful
-1 Call failed. The failure reason can be obtained via the function fPcm_GetLastErrMsg.
Function Description:
Converts the 16-bit 16KHz PCM formatted file to be the A-law formatted file.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
Related Information:
Driver version SynCTI Ver. 5.2.0.1 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.26 fPcm_MemPcm8ToAlaw
Converts the unsigned 8-bit PCM formatted data stored in the buffer area to be the A-law formatted data.
Format:
int fPcm_MemPcm8ToAlaw(char * szSource, int nSourceLen, char * szTarget, int nTargetLen)
Parameter Description:
The pointer pointing to the first address of the input buffer area, it stores 8-bit PCM
szSource
formatted voice data
nSourceLen The size (bytes) of szSource
The pointer pointing to the buffer area storing the converted data, the storage space is
szTarget
allocated by the application
nTargetLen The size of szTarget, must be larger than or equal to dwSrcSize
Return Value:
Conversion failed. The failure reason can be obtained by the function
0
fPcm_GetLastErrMsg
>0 The number of the converted bytes
Function Description:
Converts the unsigned 8-bit PCM formatted data stored in the buffer area to be the A-law formatted data.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function: fPcm_MemAlawToPcm8, fPcm_ALawConvertPcm8
2.28.27 fPcm_MemAlawToUlaw
Refer to fPcm_MemUlawtoAlaw
2.28.28 fPcm_MemUlawtoAlaw
Converts the A-law formatted data stored in the buffer area to be µ-Law formatted data (fPcm_MemAlawToUlaw),
or converts the µ-Law formatted data stored in the buffer area to be A-law formatted data (fPcm_MemUlawtoAlaw).
Format:
int WINAPI fPcm_MemAlawToUlaw(char * szSource, int nSourceLen, char * szTarget, int nTargetLen)
int WINAPI fPcm_MemUlawtoAlaw(char * szSource, int nSourceLen, char * szTarget, int nTargetLen)
Parameter Description:
The pointer pointing to the first address of the input buffer area, it stores A-Law or
szSource
µ-Law formatted voice data
nSourceLen The size (bytes) of szSource
The pointer pointing to the buffer area storing the converted data, the storage space is
szTarget
allocated by the application
nTargetLen The size of szTarget, must be larger than or equal to nSourceLen
Return Value:
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the call of SsmStartCti.
Related Information:
Driver version SynCTI Ver. 5.0.0.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.29 fPcm_MemPcm16ToAlaw
Converts the unsigned 16-bit PCM formatted data stored in the buffer area to be the A-law formatted data.
Format:
DWORD fPcm_MemPcm16ToAlaw(char *pSrcBuf, DWORD dwSrcSize,char *pDstBuf, DWORD dwDstSize)
Parameter Description:
The pointer pointing to the first address of the input buffer area, it stores 16-bit PCM
szSource
formatted voice data
nSourceLen The size (bytes) of nSourceLen
The pointer pointing to the buffer area storing the converted data, the storage space is
szTarget
allocated by the application
nTargetLen The size of szTarget, must be larger than or equal to dwSrcSize
Return Value:
Conversion failed. The failure reason can be obtained by the function
0
fPcm_GetLastErrMsg
>0 The number of the converted bytes
Function Description:
Converts the unsigned 16-bit PCM formatted data stored in the buffer area to be the A-law formatted data.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
Related Information:
Driver version SynCTI Ver. 4.7.2.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
2.28.30 fPcm_MemPcm16_16KtoAlaw
Converts the unsigned 16-bit 16KHz PCM formatted data stored in the buffer area to be the A-law formatted data.
Format:
DWORD WINAPI fPcm_MemPcm16_16KToAlaw(char * pSource, DWORD dwSourceSize, char * pTarget,
DWORD dwTargetSize)
Parameter Description:
The pointer pointing to the first address of the input buffer area, it stores 16-bit PCM
pSource
formatted voice data
dwSourceSize The size (bytes) of pSource
The pointer pointing to the buffer area storing the converted data, the storage space is
pTarget
allocated by the application
dwTargetSize The size of pTarget, must be larger than or equal to 1/4 of dwSourceSize
Return Value:
Conversion failed. The failure reason can be obtained by the function
0
fPcm_GetLastErrMsg
>0 The number of the converted bytes
Function Description:
Converts the unsigned 16-bit 16KHz PCM formatted data stored in the buffer area to be the A-law formatted data.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
Related Information:
Driver version SynCTI Ver. 5.2.0.1 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
2.28.31 fPcm_GC8Convert
Refer to fPcm_G729AConvert
2.28.32 fPcm_Vox6KTo8K
Refer to fPcm_Vox8KTo6K
2.28.33 fPcm_Vox8KTo6K
Implements the conversion between 6K sampling rate and 8K sampling rate of the VOX formatted voice file.
Format:
int fPcm_Vox6kTo8k(char *sz6kHzFile,char *sz8kHzFile)
int fPcm_Vox8KTo6K (char *sz8kHzFile,char *sz6kHzFile)
Parameter Description:
The voice file with the sampling rate 6kHz and Vox encoding format, without file
sz6kHzFile header. If the full path is not included, the driver will look for the file under the current
directory
The voice file with the sampling rate 8kHz and Vox encoding format, without file
sz8kHzFile header. If the full path is not included, the driver will look for the file under the current
directory
Return Value:
1 Successful
-1 Call failed. The failure reason can be obtained via the function fPcm_GetLastErrMsg
Function Description:
fPcm_Vox6kTo8k converts the Vox file with 6kHz sampling rate to be the Vox file with 8kHz sampling rate;
fPcm_Vox8KTo6K converts the Vox file with 8kHz sampling rate to be the Vox file with 6kHz sampling rate.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
Related Information:
Driver version SynCTI Ver. 4.7.1.7 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.34 fPcm_ULawConvertGSM
Converts the μ-Law formatted file to the GSM formatted file.
Format:
int WINAPI fPcm_ULawConvertGSM(char*szSourceFile, char*szTargetFile)
Parameter Description:
The name of the μ-Law formatted source file, allowed to include the full path of the file.
The file format could be either the non-header file or the standard wav file. The driver
szSourceFile decides whether the source file is a standard wav file or not by analyzing if it has a wav
file header, rather than by checking the file extension name. If it is not a standard wav
file, it will be regarded as a non-header file
The target file name, allowed to include the full path of the file. If the target file doesn’t
exist, the driver will automatically create it; If the target file exists already, it will be
szTargetFile
overlaid. If the extension name of the target file is wav, the converted file is a standard
wav file; otherwise, it is a non-header file.
Return Value:
1 Call successful
-1 Call failed. The failure reason can be obtained via the function fPcm_GetLastErrMsg
Function Description:
fPcm_ULawConvertGSM is used to convert the μ-Law formatted file to the GSM formatted file.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the call of SsmStartCti.
z To invoke this function, the file macmcvt.dll must be used.
z To invoke this function, the ACM encoding engine of GSM must be used.
Related Information:
Driver version SynCTI Ver. 4.8.0.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll, macmcvt.dll
Related Function: fPcm_Pcm16ConvertALaw, fPcm_GC8Convert, fPcm_MemAlawToPcm8,
fPcm_MemAlawToPcm16
2.28.35 fPCM_Pcm16ConvertG729A
Converts the 16-bit PCM formatted file to the G.729A formatted file.
Format:
Parameter Description:
The name of the 16-bit PCM formatted source file which is recorded by Synway boards.
It may include the full path of the file. The file could be either a non-header file (i.e.
without file header) or a standard wav file. Instead of checking the file extension name,
szSoureFile
the driver judges if the source file is standard or not by analyzing szSourceFile to find
whether it has the wav file header. If it’s not a standard wav file, it will be regarded as a
non-header file.
The target file name. It may include the full path of the file. If the target file doesn’t exist,
the driver will automatically create it; if the target file exists already, it will be overlaid. If
szTargetFile
the extension name of the target file is wav, the converted file is a standard wav file;
otherwise, it will be a non-header file.
Return Value:
0 Successful
Call failed. The failure reason can be obtained via the function call of
-1
fPcm_GetLastErrMsg
Function Description:
Converts the 16-bit PCM formatted file recorded by Synway boards to the G.729A formatted file.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the call of SsmStartCti.
z To invoke this function, the files macmcvt.dll and g729a.dll must be used.
z To invoke this function, the ACM encoding engine of G729A must be used.
Related Information:
Driver version SynCTI Ver. 5.0.0.0 or above.
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function: fPcm_Pcm16ConvertALaw
2.28.36 fPcm_Pcm8ConvertGSM
Converts the 8-bit PCM formatted file to the GSM formatted file.
Format:
Int WINAPI fPcm_Pcm8ConvertGSM(char*szSoureFile, char* szTargetFile)
Parameter Description:
The name of the 8-bit PCM formatted source file which is recorded by Synway boards.
It may include the full path of the file. The file could be either a non-header file (i.e.
without file header) or a standard wav file. Instead of checking the file extension name,
szSoureFile
the driver judges if the source file is standard or not by analyzing szSourceFile to find
whether it has the wav file header. If it’s not a standard wav file, it will be regarded as a
non-header file.
The target file name. It may include the full path of the file. If the target file doesn’t exist,
the driver will automatically create it; if the target file exists already, it will be overlaid. If
szTargetFile
the extension name of the target file is wav, the converted file is a standard wav file;
otherwise, it will be a non-header file.
Return Value:
0 Successful
Call failed. The failure reason can be obtained via the function call of
-1
fPcm_GetLastErrMsg
Function Description:
Converts the 8-bit PCM formatted file to the GSM formatted file.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the call of SsmStartCti.
z To invoke this function, the file macmcvt.dll must be used.
z To invoke this function, the ACM encoding engine of GSM must be used.
Related Information:
Driver version SynCTI Ver. 5.1.0.0 or above.
Header ShPcm.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.37 fPcm_GSMToMp3
Parameter Description:
The name of the GSM formatted source file which is recorded by Synway boards. It
may include the full path of the file. The file could be either a non-header file (i.e.
without file header) or a standard wav file. Instead of checking the file extension name,
szSoureFile
the driver judges if the source file is standard or not by analyzing szSourceFile to find
whether it has the wav file header. If it’s not a standard wav file, it will be regarded as a
non-header file.
The target file name. It may include the full path of the file. If the target file doesn’t exist,
the driver will automatically create it; if the target file exists already, it will be overlaid. If
szTargetFile the extension name of the target file is wav, the converted file is a standard wav file; if
the extension name of the target file is mp3, the converted file is an mp3 file; otherwise,
it will be a non-header file.
Return Value:
1 Successful
Call failed. The failure reason can be obtained via the function call of
-1
fPcm_GetLastErrMsg
Function Description:
Converts the GSM formatted file recorded by Synway boards to the MP3 formatted file.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the call of SsmStartCti.
z To invoke this function, the file macmcvt.dll must be used.
z To invoke this function, the ACM decoding engine of GSM and the ACM encoding engine of MP3 must
be used.
Related Information:
Driver version SynCTI Ver. 5.0.0.0 or above.
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.38 fPcm_G729AConvert
Converts the G.792A formatted file to a voice file of other encoding format.
Format:
Int WINAPI fPcm_G729AConvert(char*szSoureFile, char* szTargetFile, int nTargetFormat)
Parameter Description:
The name of the G.792A formatted source file, it may include the full path of the file.
The file format could be either the non-header file (i.e. without file header) or the
standard wav file. It's through analyzing the source file to determine whether it has the
szSoureFile
wav file header instead of checking the file extension name that the driver decides if
the source file is standard or not. If it’s not a standard wav file, it will be regarded as a
non-header file
The target file name, it may include the full path of the file. If the target file doesn’t
exist, the driver will automatically create it; If the target file exists already, it will be
szTargetFile
overlaid. If the extension name of the target file is wav, the converted file format is the
standard wav; otherwise, the format is plain
The encoding format of the target file:
nTargetFormat =10001: 16 Bit PCM
=6: A-law
Return Value:
1 Successful
-1 Call failed. The failure reason can be obtained by the function fPcm_GetLastErrMsg.
Function Description:
Converts the G.792A formatted file to a voice file of other encoding format.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
z To invoke this function, the files macmcvt.dll and g729a.dll must be used.
z To invoke this function, the ACM decoding engine of G729A must be used.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function: fPCM_AlawConvertGC8
2.28.39 fPCM_MemULawToG729A
Parameter Description:
szSource The pointer pointing to the buffer area that stores µ-Law formatted source data
nSourceLen The size (bytes) of szSource
The pointer pointing to the buffer area that stores the converted data, the storage
szTarget space is allocated by the application. According to the scale between the sizes of
µ-Law and G.729A format data, szTarget must be greater than nSourceLen/8.
nTargetLen The size (bytes) of data actually returned by szTarget
Return Value:
>0 The number of converted bytes
Conversion failed. The failure reason can be obtained by the function
0
fPcm_GetLastErrMsg
Function Description:
Converts the μ-Law data saved in the buffer to G.729A format.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the successful call of
SsmStartCti.
z To invoke this function, the files macmcvt.dll and g729a.dll must be used.
z To invoke this function, the ACM encoding engine of G729A must be used.
Related Information:
Driver version SynCTI Ver. 5.1.1.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.40 fPcm_MemMp3ToPcm16
Converts the MP3 formatted data stored in the buffer area to be the 16-bit PCM formatted data.
Format:
Int WINAPI fPCM_MemMp3ToPcm16 (char* szSoure, int nSourceLen, char* szTarget, int nTargetLen)
Parameter Description:
szSoure The pointer pointing to the buffer area that stores the MP3 formatted source data
nSourceLen The size (bytes) of szSource
The pointer pointing to the buffer area that stores the converted data, the storage
space is allocated by the application. According to the scale between the size of the
szTarget
MP3 data and that of the 16 Bit PCM formatted data, szTarget must be greater than
nSourceLen*16.
nTargetLen The actual size (bytes) of the data that are returned by szTarget
Return Value:
>0 The number of converted bytes
Conversion failed. The failure reason can be obtained by the function
0
fPcm_GetLastErrMsg
Function Description:
Converts the MP3 formatted data stored in the buffer area to be the 16-bit PCM formatted data.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti.
z To invoke this function, the file macmcvt.dll must be used.
z To invoke this function, the ACM decoding engine of MP3 must be used.
z You should give a complete piece of voice data but not some divided segments for conversion;
otherwise the converted data may be incomplete. That’s because the MP3 data in the buffer must be
integral times of the frame to ensure the successful call of this function.
Related Information:
Driver version SynCTI Ver. 5.1.1.0 or above
Header ShPcm.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.41 fPcm_MemG729AToPcm8
Refer to fPcm_MemG729AToPcm16
2.28.42 fPcm_MemG729AToPcm16
Converts the G.729A data saved in the buffer area to the PCM16 or PCM8 format.
Format:
DWORD WINAPI fPcm_MemG729AToPcm16(char *pSource, DWORD dwSourceSize, char *pTarget, DWORD
dwTargetSize);
DWORD WINAPI fPcm_MemG729AToPcm8(char *pSource, DWORD dwSourceSize, char *pTarget, DWORD
dwTargetSize);
Parameter Description:
pSource The pointer pointing to the buffer area that stores G.729A formatted source data
dwSourceSize The size (bytes) of pSource
The pointer pointing to the buffer area that stores the converted data, the storage
space is allocated by the application. According to the scale between the sizes of
pTarget G.729A and PCM16 (or PCM8) formatted data, pTarget must be 16 times as
dwSourceSize for the PCM16 formatted data and 8 times as dwSourceSize for the
PCM8 formatted data.
dwTargetSize The size (bytes) of data actually returned by pTarget
Return Value:
>0 The number of the converted bytes
Conversion failed. The failure reason can be obtained by the function
0
fPcm_GetLastErrMsg
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before the successful call of
SsmStartCti.
z To invoke the above functions, the files macmcvt.dll and g729a.dll must be used.
z To invoke the function fPcm_MemG729AToPcm16 or fPcm_MemG729AToPcm8, the ACM decoding
engine of G729A must be used.
Related Information:
Driver version SynCTI Ver. 5.3.1.1 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.43 fPcm_GetLastErrMsg
Obtains the call failure reason of the functions for voice encoding format conversion.
Format:
int fPcm_GetLastErrMsg(char*szMsg)
Parameter Description:
szMsg The pointer storing error messages, the storage space is allocated by the application
Return Value:
1 Successful
-1 Call failed
Function Description:
Obtains the call failure reason of the functions for voice encoding format conversion.
Note:
z Because this function is provided by ShPcmHandle.dll, it can be invoked before SsmStartCti is called
successfully.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.28.44 fPcm_Close
Function Description:
Note:
z Please make sure to call this function to release used resources after invoking any of the transcoding
functions in ShPcmHandle.dll.
Related Information:
Driver version SynCTI Ver. 4.0 or above
Header ShPcmApi.h
Library ShPcmHandle.lib
DLL ShPcmHandle.dll
Related Function:
2.29.1.1 SsmFaxSetChSpeed
Sets the maximum rate used to send or receive fax on a designated fax channel.
Format:
int SsmFaxSetChSpeed(int ch, int speed)
Parameter Description:
ch Fax channel number
Maximum rate (bps). Optional value: 4800bps, 9600bps, 14400bps, 33600bps; Default
speed
value: 9600bps
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the maximum rate used to send or receive fax on a designated fax channel.
Note:
z The parameter set by this function is only effective to the designated fax channel;
z When the set rate exceeds the maximum rate supported by the board, the latter becomes the upper limit
to the fax rate.
Related Information:
Driver version SynCTI Ver. 5.3.2.1 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFaxGetSpeed, SsmFaxSetMaxSpeed
2.29.1.2 SsmFaxSetMaxSpeed
Sets the maximum rate used to send or receive fax.
Format:
void SsmFaxSetMaxSpeed(int speed)
Parameter Description:
Maximum rate (bps). Optional value: 4800bps, 9600bps, 14400bps, 33600bps; Default
speed
value: 9600bps
Return Value: none
Function Description:
Note:
z The parameters set by this function are effective to all the fax channels;
z When the set rate exceeds the maximum rate supported by the board, the latter becomes the upper limit
to the fax rate.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFaxGetSpeed, SsmFaxSetChSpeed
2.29.1.3 SsmFaxSetID
Sets the local fax identification code.
Format:
int SsmFaxSetID(int ch,char *szID)
Parameter Description:
ch Fax channel number
Pointer pointing to the string of the ASCII formatted local fax identification code. Valid
szID
length: less than 20 characters
Return Value:
-1 Call failed
0 Successful
Function Description:
Sets the local fax identification code. The identification code could be either the local phone number or some other
ASCII formatted string. This local identification code will be sent to the remote fax machine during faxing.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFaxGetID
2.29.2.1 SsmFaxStartSend
Refer to SsmFaxStartSendEx
2.29.2.2 SsmFaxStartSendEx
Starts the transmission of a single fax file. SsmFaxStartSend is used to transmit the entire file.
SsmFaxStartSendEx is used to transmit a range of designated pages.
Format:
Parameter Description:
ch Fax channel number
Name of the file in the tiff format. The file extension name could be ‘.tif’or ‘.tiff’. For
filename more information about file formats supported by fax channels, refer to Fax in Chapter
1
Designated starting page number of the fax file. If ‘filename’ includes N pages, the
nStartPage
range of value is: 1~N
Designated ending page number of the fax file. If ‘filename’ includes N pages, the
range of value is:
1~N: the number of the designated ending page;
nEndPage
≥N: transmit until page number N (included);
-1: transmit until the last page (i.e. the page numbered N).
Note: nEndPage must be larger than or equal to nStartPage
Return Value:
0 Successful
Call failed. The failure reason may be that the channel is not free or failure in opening
-1
the file
Function Description:
Note:
z Only when the incoming or outgoing call has been established on the analog trunk channel or the digital
trunk channel, can the fax transmission be started.
z The fax channel only works in simplex mode, i.e. it can’t transmit and receive fax simultaneously.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFaxCheckEnd, SsmFaxStop, SsmFaxSendMultiFile, SsmFaxSendMultiFileEx,
SsmFaxAppendSend
2.29.2.3 SsmFaxSendMultiFile
Refer to SsmFaxSendMultiFileEx
2.29.2.4 SsmFaxSendMultiFileEx
Starts transmission of multiple fax files, SsmFaxSendMultiFileEx can specify the range of pages to be transmitted.
Format:
Parameter Description:
ch Fax channel number
The path of the fax file szFile. For example, if the fax file is stored under the directory of
szPath
FaxFile in drive C, for C/C++, szPath can be written as: ‘C:\\FaxFile\\’
List of fax file names, the file extension can be ‘.tif’ or ‘.tiff’, the adjacent file names are
separated by ‘;’ For example, there are two fax files to be transmitted, namely ‘A.tif’
szFile
and ‘B.tif’, szFile should be written as ‘A.tif;B.tif’.
Note: the fax files in szFile must have the same formats
The fax file list. The struct of FAX_FILE_SCT is declared as:
typedef struct tagFAX_FILE_SCT{
char szFileName[256]; //The file name including the full path
int nStartPage; //The start page, range of value: 1~N
int nEndPage; //=1~N: The designated end page; =-1: the last page
int nReserve1; //Reserved
pFileNameList int nReserve2; //Reserved
}FAX_FILE_SCT, *PFAX_FILE_SCT;
In the above struct, N is the total number of pages in the fax file. For example,
nStartPage=1 and nEndPage=1 means that only the first page is sent; nStart=1 and
nEndPage=2 means that the first and second pages are sent; if nStart=1 and
nEndPage=-1, the entire file is transmitted.
Note: nEndPage must be larger than or equal to nStartPage
nNum The number of the fax files
Return Value:
0 Successful
-1 Call failed, the failure reason can be obtained by the function SsmGetLastErrMsg
Function Description:
Starts transmission of multiple fax files.
After this function is called, the driver starts to exchange the handshake message with the remote fax machine,
and then transmits the files designated in szFile based on the sequence from left to right to the remote fax machine,
or sends the fax files starting from the head of the list of pFileNameList until the last file is transmitted.
Each time when the driver finishes the transmission or reception of one page, it throws out the event of
E_CHG_FaxPages to the application. When the driver finishes the fax transmission, it throws out the event of
E_PROC_FaxEnd to the application. During the transmission, the application can call the function of
SsmFaxCheckEnd to check whether the transmission has been finished successfully, or call the function of
SsmFaxStop to terminate the transmission.
Note:
z Only when the incoming or outgoing call has been established on the analog trunk channel or the digital
trunk channel, can the fax transmission be started.
z The fax channel only works in simplex mode, i.e. it can’t transmit and receive fax simultaneously.
z The punctuation symbols such as colon, pause, period, etc are illegal in the file path string. When
multiple fax files are transmitted simultaneously, it’s required that the fax files have the same format.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.29.2.5 SsmFaxAppendSend
Appends a single file to send.
Format:
int SsmFaxAppendSend (int ch,char *filename)
Parameter Description:
ch Fax channel number
Fax file name. The file name extension can be ‘.tif’ or ‘.tiff’. For more information about
filename
the file formats supported by fax channels, refer to Fax in Chapter 1
Return Value:
0 Successful, the driver has added the designated fax file into the fax transmission pool
Call failed, the failure reason may be that the channel is free or failure occurs in
-1
opening the file
Function Description:
Appends a single file to send. It’s applicable to the fax transmission triggered by the function call of
SsmFaxSendMultiFile, SsmFaxStartSend or SsmFaxStartSendEx.
After this function is called, the driver adds the appended fax file into the fax transmission pool. When the current
fax file has been transmitted, the fax files in the transmission pool will be sent immediately.
Note:
z This function can be called only when the fax transmission has been started.
z During the fax transmission, if the transmission is stopped by the client or the transmission failed, the
appended fax file will be discarded.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFaxStartSend, SsmFaxStartSendEx, SsmFaxSendMultiFile, SsmFaxCheckEnd,
SsmFaxStop
2.29.3.1 SsmFaxStartReceive
Starts a fax reception.
Format:
int SsmFaxStartReceive(int ch,char *pszFileName)
Parameter Description:
ch Fax channel number
The name of the Tiff formatted file storing fax data; it must use ‘.tif’ or ‘.tiff’ as the file
pszFileName
extension. If the file exists already, its original content will be overwritten
Return Value:
0 Successful
Call failed, the failure reason may be that the channel is not free or failure occurs in
-1
opening the file
Function Description:
Note:
z The fax channel only works in simplex mode, i.e. it can’t transmit and receive fax simultaneously.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFaxCheckEnd, SsmFaxStop
2.29.4.1 SsmFaxStop
Stops the current faxing compulsorily.
Format:
int SsmFaxStop(int ch)
Parameter Description:
ch Fax channel number
Return Value:
-1 Call failed
0 Successful
Function Description:
Stops the current faxing (transmission/reception) compulsorily.
This function not only terminates the fax transmission triggered by the function call of SsmFaxSendMultiFile,
SsmFaxSendMultiFileEx, SsmFaxStartSend and SsmFaxStartSendEx but also terminates the fax reception
triggered by the function call of SsmFaxStartReceive.
After this function call has completed, the driver will throw out the event of E_PROC_FaxEnd to the application.
The execution status of this function can also be obtained via the function call of SsmFaxCheckEnd.
Note:
z This function is an asynchronous function; its execution status can be obtained via the function call of
SsmFaxCheckEnd.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
2.29.5.1 SsmFaxGetSpeed
Obtains the current fax transmission/reception rate.
Format:
Parameter Description:
ch Fax channel number
Return Value:
-1 Not supported by this function
Obtains the actual fax rate, whose possible values are 24, 48, 72, 96, 120, 144, 168,
>0 192, 216, 240, 264, 288, 312, 336, respectively representing 2400, 4800, 7200, 9600,
12000, 14400, 16800, 19200, 21600, 24000, 26400, 28800, 31200, 33600bps
Function Description:
Obtains the current fax transmission/reception rate.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFaxSetMaxSpeed, SsmFaxSetChSpeed
2.29.5.2 SsmFaxCheckEnd
Obtains the execution status of the fax transmission or reception.
Format:
int SsmFaxCheckEnd(int ch)
Parameter Description:
ch Fax channel number
Return Value:
0 Faxing has not been finished
1 Faxing finishes, and the fax channel enters the ‘idle’ state
Driver error occurs during the latest fax transmission or reception, or the faxing has
2 been terminated by the function call of the SsmFaxStop. The channel has returned to
the idle state. If this function is called again, it will return 1
Fax data transmission or reception has been completed, and the negotiation process
3
of disconnection is undergoing
-1 Call failed
Function Description:
Note:
z This function is applicable to both fax transmission and fax reception;
z If the return value is 2, the faxing has not been finished, but the fax data transmission or reception may
have been finished;
z If the application uses the event mode for programming, we suggest you use the event of
E_PROC_FaxEnd instead.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFaxStartSend, SsmFaxStartSendEx, SsmFaxSendMultiFile, SsmFaxStop,
SsmFaxSendMultiFileEx, SsmFaxStartReceive, SsmFaxAppendSend
2.29.5.3 SsmFaxGetDcnTag
When the fax reception via a fax board is successfully completed, judge if the remote fax machine has ever been
compelled to stop.
Format:
int WINAPI SsmFaxGetDcnTag(int ch)
Parameter Description:
ch Fax channel number
Return Value:
-1 This function is unsupported by the channel.
0 The faxing process is complete.
If the faxing is terminated by receiving a DCN message, it may result from the
1
compulsive stop of the fax machine.
Function Description:
When the fax reception via a fax board is successfully completed, judge if the remote fax machine has ever been
compelled to stop.
Note:
z This function is only applicable to the fax reception.
z This function can be used to judge if the remote fax machine has ever been stopped compulsively, and it
should be invoked after SsmFaxCheckEnd returns 1.
z If the application program uses the event mode for programming, we suggest you use the event
E_PROC_FaxDcnTag instead.
Related Information:
Driver version SynCTI Ver. 5.0.2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFaxCheckEnd
2.29.5.4 SsmFaxGetChStateMsg
Obtains the fax channel state.
Format:
int SsmFaxGetChStateMsg(int ch ,char *buf)
Parameter Description:
ch Fax channel number
Returns the string indicating the channel state. The storage space of buf must be
buf
allocated by the application and greater than 100 characters
Return Value:
-1 Call failed
0 Successful
Function Description:
Obtains the fax channel state.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.29.5.5 SsmFaxGetPages
Obtains the number of sent/received pages during faxing.
Format:
int SsmFaxGetPages(int ch)
Parameter Description:
ch Fax channel number
Return Value:
-1 Call failed
>0 The number of the finished fax pages
Function Description:
Obtains the number of sent/received pages during faxing.
Note:
z If, after the fax transmission/reception is finished, the return value of this function is 0, it means the
current fax transmission/reception failed;
z If the application uses the event mode for programming, we suggest you use the event of
E_CHG_FaxPages instead.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.29.5.6 SsmFaxGetFailReason
Obtains the faxing failure reason for the fax channel.
Format:
int SsmFaxGetFailReason(int ch)
Parameter Description:
ch Fax channel number
Return Value:
-1 Call failed or error information of ‘No Fax’
0 Fail to send Dis
No dcs information received (the remote end is not a fax machine or the ‘Start’
1
button on the fax machine is not pressed)
dis information received during the fax reception; the remote end is also
2
receiving the fax, which is a wrong operation of the remote end
3 No training packet detected during the fax reception
4 Always fail to pass the training during the fax
5 Fail to send FTT information
6 Fail to send cfr
7 No carrier detected
8 No subsequent frames detected after carrier reception
9 Fail to send MCF
10 Fail to send PPR
11 Fail to send CTR
12 Fail to send RTN
13 Fail to send ERR
14 Unidentifiable frames received
15 Received page data not good
16 Data unavailable
17 Data error in the pages sent by the remote end
No Dis information received by the fax sender (the remote end is not a fax
20 machine or the ‘Start’ button on the fax machine is not pressed, or the the fax
board fails to detect Dis information)
21 No response to train is received from the fax receiver
22 Fail to send fax data
23 Fail to send frames after fax transmission
No response from the fax receiver detected after the transmission of a page of
24
data
25 DSP running out of track
26 Fail to write data into file
27 Fax resending refused by the remote end
28 Faxing stopped on the application layer
29 Repeatedly fail to send RR
30 RR T5 times out
31 Disturbed at the beginning of fax reception
32 Wrong DCS
33 Wrong DIS
Connection error between fax channel and voice channel, or invoking
34
SsmStopTalkWith too early
Function Description:
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.29.5.7 SsmFaxGetID
Obtains the identification code of the remote fax machine.
Format:
int SsmFaxGetID(int ch,char *myid)
Parameter Description:
ch Fax channel number
The pointer pointing to the buffer area storing the identification code, its storage space
myid
is allocated by the application. The length of the buffer area can’t be less than 20 bytes
Return Value:
-1 Call failed
0 Successful
Function Description:
Obtains the identification code of the remote fax machine.
Note:
z This function can only be called after the handshake has been completed; otherwise, the correct
identification code is not able to be obtained.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function: SsmFaxSetID
2.29.5.8 SsmFaxGetMode
Obtains the operating status and supported modes of the fax channel—transmitting or receiving, fine mode or
common mode, ECM mode or data stream mode.
Format:
Parameter Description:
ch The number of the fax channel
Used to store transmitting or receiving indicator
pnDir =0: indicates the fax channel is receiving data
=1: indicates the fax channel is transmitting data
Used to store the fax data mode indicator
pnResMode =0: indicates the common mode
=1: indicates the fine mode
Used to store the transmitting mode indicator for the fax channel
pnTransMode =0: indicates the data stream mode
=1: indicates the ECM mode
Return Value:
-1 The fax channel does not support this operation
The fax channel is idle and necessary parameters are unavailable by this
0
function
1 Function call is successful
Function Description:
Obtains the operating status and supported modes of the fax channel—transmitting or receiving, fine mode or
common mode, ECM mode or data stream mode.
Note:
z Only after the handshake phase is completed can this function be invoked; otherwise it is impossible to
obtain the correct indicator.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.29.5.9 SsmFaxGetAllBytes
During fax transmission, obtains the total number of bytes on the fax page.
Format:
int SsmFaxGetAllBytes(int ch)
Parameter Description:
ch Fax channel number
Return Value:
-1 Call failed
≥0 The total number of bytes on the current fax page
Function Description:
During fax transmission, obtains the total number of bytes on the fax page.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.29.5.10 SsmFaxGetSendBytes
Obtains the number of sent bytes on the current page during fax transmission.
Format:
int SsmFaxGetSendBytes(int ch)
Parameter Description:
ch Fax channel number
Return Value:
-1 Call failed
≥0 The number of sent bytes on the current page
Function Description:
Obtains the number of sent bytes on the current page during fax transmission.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.29.5.11 SsmFaxGetRcvBytes
Obtains the number of received bytes on the current page during fax reception.
Format:
int SsmFaxGetRcvBytes(int ch)
Parameter Description:
ch Fax channel number
Return Value:
-1 Call failed
≥0 The number of received bytes on the current page
Function Description:
Obtains the number of received bytes on the current page during fax reception.
Note:
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.29.5.12 SsmFaxGetCodeMode
Obtains the fax CODEC – MH, MR, MMR.
Format:
int SsmFaxGetCodecMode(int ch, DWORD * dwReserver)
Parameter Description:
ch Fax channel number
dwReserver Reserved
Return Value:
0 MH
1 MR
2 MMR
Function Description:
Note:
z This function can only be invoked after the handshake has been completed, otherwise, the correct
identification code will fail to be obtained.
Related Information:
Driver version SynCTI Ver. 5.3.1.5 or above
Header shpa3api.h
Library shp_a3.lib
DLL shp_a3.dll
Related Function:
2.29.6.1 fBmp_ValidateFaxFile
Judges whether the .tif file conforms to the fax format of Synway boards.
Format:
Parameter Description:
szFile The string storing the fax file
Return Value:
0 Successful, fax transmission supports the .tif file
Fax transmission doesn’t support the .tif file, more detailed reason can be obtained via
-1
the function fBmp_GetErrMsg
Failure in opening the file, more detailed reason can be obtained via the function
-2
fBmp_GetErrMsg
Function Description:
Judges whether the .tif file conforms to the fax format of Synway boards.
Note:
Related Information:
Driver version SynCTI Ver. 4.7.3.1 or above
Header BmpApi.h
Library BmpUtil.lib
DLL BmpUtil.dll
Related Function:
2.29.6.2 fBmp_SetHeaderFormat
Sets the property of the page header of .tif formatted fax file.
Format:
int fBmp_SetHeaderFormat(int nRow, int nFromX, int nFromY, char szFrom, int nSubX, int nSubY, char*szSubject,
int nToX, int nToY, char*szTo, int nTimeX, int nTimeY, char*szTime)
Parameter Description:
nRow Number of rows of the page header, range of value: 1~3, with the default value of 1
nFromX Starting position of the field of From, with the default value of 5
The row where the field ‘From’ locates, range of value: 1~3, with the default value of 1,
nFromY
indicating the first row
Prompting field of the field ‘From’, by default it is ‘From:’, and the maximum length is 20
szFrom
bytes
nSubX Starting position of the field ‘Subject’, with the default value of 270
The row where the field ‘Subject’ locates, range of value: 1~3, with the default value of
nSubY
1, indicating the first row
Prompting field of the field ‘Subject’, by default it’s ‘Sub’, with the maximum length of 20
szSubject
bytes
nToX Starting position of the field ‘To’, with the default value of 440
The row where the field ‘To’ locates, range of value: 1~3, with the default value of 1,
nToY
indicating the first row
Prompting field of the field ‘To’, by default it is ‘To:’, with the maximum length of 20
szTo
bytes
nTimeX Starting position of the field ‘Time’, with the default value of 660
The row where the field ‘Time’ locates, range of value: 1~3, with the default value of 1,
nTimeY
indicating the first row
szTime Prompting field of the field ‘Time’, by default it is ‘’, with the maximum length of 20 bytes
Return Value:
-1 Call failed, the failure reason can be obtained via the function fBmp_GetErrMsg
1 Successful
Function Description:
Note:
z If ‘Subject’ needs to be put in the second row, set nRow =2, nSubY=2.
z The horizontal range is 0~864. Adjust the positions of the data fields and keep them in the range.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header BmpApi.h
Library BmpUtil.lib
DLL BmpUtil.dll
Related Function: fBmp_AddTxtToTif, fBmp_AddTxtToTif_Big, fBmp_UniteTif
2.29.6.3 fBmp_AddTxtToTif
Adds a page header to the .tif file (only international encoding is supported).
Format:
int fBmp_AddTxtToTif(char szTifName, char* szFaxFrom, char*szFaxTo, char *szFaxSubbject, char * szDataTime ,
char *szTargetFile, DWORD dwReserve)
Parameter Description:
szTifName The .tif file required to add with a page header
The information about the fax transmitting end, the maximum length is 20 bytes, each
szFaxFrom
Chinese character occupies 2 bytes
The information about the fax receiving end, the maximum length is 20 bytes, each
szFaxTo
Chinese character occupies 2 bytes
The fax subject, the maximum length is 10 bytes, each Chinese character occupies 2
szFaxSubject
bytes
szDataTime Time information, the maximum length is 20 bytes
The target tif file with page headers, if it has the same name as szTifName, the original
szTargetFile
file will be overwritten
Invalid at present, reserved for further extension use. It should be set to 0 if it is used.
dwReserve
When it is set to 1, the above parameters have no limit in length
Return Value:
-1 Call failed, the failure reason can be obtained via the function fBmp_GetErrMsg
1 Successful
Function Description:
Adds a page header to the .tif file. This function adds a page header to the file szTifName and outputs the result to
szTargetFile. The page header includes 16 rows and each row has 1728 pixels. If the second bit of dwReserve is
set to 1, the higher 16 bits of it denote the page on which the page header will be added.
Note:
z If szTifName and szTargetFile are the same, the original file will be overwritten;
z The data on the top of the file from left to right are: szFaxFrom, szSubject, szFaxTo, szDataTime.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header BmpApi.h
Library BmpUtil.lib
DLL BmpUtil.dll
Related Function: fBmp_SetHeaderFormat, fBmp_AddTxtToTif_Big, fBmp_CutTifHeader
2.29.6.4 fBmp_AddTxtToTif_Big
Adds a page header to the .tif file. Apart from supporting the international code, it also supports Big-5 traditional
Chinese characters code.
Format:
int fBmp_AddTxtToTif_Big(char*szTifName, char*szFaxFrom, char*szFaxTo, char*szFaxSubject, Char
*szDataTime, char *szTargetFile, DWORD dwReserve )
Parameter Description:
szTifName The .tif file required to add with a page header
The information about the fax transmitting end, the maximum length is 20 bytes, each
szFaxFrom
Chinese character occupies 2 bytes
The information about the fax receiving end, the maximum length is 20 bytes, each
szFaxTo
Chinese character occupies 2 bytes
The fax subject, the maximum length is 10 bytes, each Chinese character occupies 2
szFaxSubject
bytes
szDataTime Time information, the maximum length is 20 bytes
The target tif file with the page header, if it has the same name as szTifName, the
szTargetFile
original file will be overwritten
dwReserve Reserved for further needs, set it 0 when it is used
Return Value:
-1 Call failed, the failure reason can be obtained via the function fBmp_GetErrMsg
1 Successful
Function Description:
Adds a page header to the .tif file. It also supports Big-5 traditional Chinese characters code.
This function adds a page header to the file szTifName and outputs the result to szTargetFile. The page header
includes 16 rows and each row has1728 pixels. If the second bit of dwReserve is set to 1, the higher 16 bits of it
denote the page on which the page header will be added.
Note:
z If szTifName and szTargetFile are the same, the original file will be overwritten;
z The data on the top of the file from left to right are: szFaxFrom, szSubject, szFaxTo, szDataTime;
z The function supports the fonts supported by the operating system.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header BmpApi.h
Library BmpUtil.lib
DLL BmpUtil.dll
Related Function: fBmp_SetHeaderFormat, fBmp_AddTxtToTif, fBmp_CutTifHeader
2.29.6.5 fBmp_UniteTif
Parameter Description:
szHeadTif The smaller .tif file added to the top of another file. It can only be a single page file
szSourceTif The .tif file to which the smaller file will be added. It can be a file with multiple pages
szTargetTif The generated .tif file
dwReserve Reserved
Return Value:
-1 Call failed, the failure reason may be obtained via the function fBmp_GetErrMsg
1 Successful
Function Description:
Integrates two .tif files, i.e. adds the file szHeadTif to the file szSourecTif to create szTargetTif.
Note:
z If szSourceTif and szTargetTif are the same, the original file will be overwritten;
z If the second bit of dwReserve is set to 1, the higher 16 bits denote the page on which the page header
will be added. If this page is not specified, all the pages of the file SzSourceTif will be added with
szHeadTif.
Related Information:
Driver version SynCTI Ver. 2.0 or above
Header BmpApi.h
Library BmpUtil.lib
DLL BmpUtil.dll
Related Function: fBmp_SetHeaderFormat
2.29.6.6 fBmp_CutTifHeader
Parameter Description:
szSource The .tif source file, whose file header needs to be cut
szTarget Generated target file. If the file exists, it will overwrite the original file
nHeight The height of the part to be cut
nPageNo The designated page in the .tif file whose file header needs to be cut
dwReserve Reserved
Return Value:
-1 Call failed, the failure reason can be obtained via the function fBmp_GetErrMsg
1 Successful
Function Description:
Cuts the file header of the .tif file, i.e. cuts a set part from the top of the .tif file.
Note:
z If szSourceTif and szTargetFile are the same, the original file szSourceTif will be overwritten;
z Normally nHeight is in the range of 16~40. For a single row of the file header, its height is approximately
20;
z nPageNo is the designated page. If it’s set to -1, the file headers of all the pages will be cut.
Related Information:
Driver version SynCTI Ver. 4.7.1.5 or above
Header BmpApi.h
Library BmpUtil.lib
DLL BmpUtil.dll
Related Function: fBmp_AddTxtToTif_Big, fBmp_AddTxtToTif
2.29.6.7 fBmp_GetFileAllPage
Parameter Description:
filename The string storing the fax file
Return Value:
-1 Failed, the failure reason may be failure in opening the file or incorrect file format
>=0 Successful, outputs the total page number of the file
Function Description:
Outputs the total page number of the fax file of filename.
Note:
Related Information:
Driver version SynCTI Ver. 4.4.0.6 or above
Header BmpApi.h
Library BmpUtil.lib
DLL BmpUtil.dll
Related Function:
When Synway boards are being used, correct and necessary configurations must be implemented on the driver in
order to make the application operate properly.
The configuration information of SynCTI driver is saved in the INI file adopting the text format. After the SynCTI
driver is successfully installed, the installation program will generate a sample configuration file namely
ShConfig.ini under the installation directory. The developers may not only straightly edit or modify the configuration
file by using text editing software, but may also be able to change the configuration by using the system
configuration tools provided by Synway.
In the configuration file, the configuration information is grouped with sections (Section); each section includes one
or multiple items (Item). The name of the section appears in a pair of square brackets, each of the continuous text
rows is a configuration item. The effective range of one section starts from the second row of the current section
and ends with one row above the next section. Each configuration item has the format of ‘x=y’, the name of the
configuration item is at the left side; the content of the configuration is at the right side.
3.1.1.1.1 TotalBoards
3.1.1.1.2 WhoSupplySysClock
3.1.1.2.1 TotalAppCh
3.1.1.2.2 AppCh
3.1.1.3.1 BoardModel
3.1.1.3.2 BoardSerialNumber
3.1.1.4.1.1 ResetBoardOnClose
Configuration Item ResetBoardOnClose
Section [BoardId=x]
Written Format ResetBoardOnClose =n
n=0:Not to reset;
Value Range
n=1:Reset (default).
Description Sets whether to reset the board when the board is being closed.
3.1.1.4.2.1 PcmNumber
Refer to CRC-4
3.1.1.4.2.2 PcmSSx
Refer to CRC-4
3.1.1.4.2.3 PcmClockMode
Refer to CRC-4
3.1.1.4.2.4 PcmLinkType
Refer to CRC-4
3.1.1.4.2.5 IsdnAutoBuildLink
Refer to CRC-4
3.1.1.4.2.6 CRC-4
PcmNumber
PcmSSx
PcmClockMode
Configuration Item
PcmLinkType
IsdnAutoBuildLink
CRC-4
Section [BoardId=x]
PcmNumber=M
PcmSSx[i]=n
PcmClockMode[i]=m
Written Format
PcmLinkType[i]=k
IsdnAutoBuildLink[i]=b
CRC-4[i]=c //Note: Requires the version of SynCTI Ver. 4.7.1.5 or above
M: The total number of the digital trunks on the board, it’s related with the board model, for
more information, refer to ‘SHD Series’ in Chapter 1;
i: The physical number of the digital trunk on the board, for more information, refer to related
manuals. Range of value: 0≤i≤M;
n: Choose the signaling protocol. Range of value:
n=0: ISDN protocol (User side);
n=1: SS1 signaling (SS1);
n=2: ISDN protocol (Network side);
n=3: DASS2 protocol;
n=7: SS7 signaling (SS7);
m: Set the clock mode of the current digital trunk, below are the details:
m=0: Master clock, line-synchronization ( the board must be a master board)
Value Range
m=1: Master clock, free-run (the board must be a master board)
m=2: Slave clock.
k: Choose the type of the communication cable. Range of value:
k=0:120 ohm twisted pair cable;
k=1:75 ohm coaxial cable.
b: Set whether to enable the feature of automatic link building for the ISDN signaling.
b=0: Disabled (default);
b=1: Enabled (If you enable this feature, you should set the configuration items of
UserSendEstablish and NetSendEstablish in the [ISDN] section both to 0).
c: The control switch for CRC-4 verification:
c=0: Disabled;
c=1: Enabled (default).
PcmNumber sets the total number of the digital trunks on the board;
PcmSSx sets the signaling type of the digital trunk;
PcmClockMode sets the operating mode of the clock, for more information, refer to ‘System
Description
Clock Configuration’ in chapter 1;
PcmLinkType sets the communication type of the cable;
CRC-4 sets the CRC-4 verification feature of the digital trunk on the board.
z If the set value of PcmNumber is larger than 0, for the configuration items PcmSSx,
PcmClockMode and PcmLinkType, starting from i=0, the configuration needs to be
Note
repeated M times, i.e. each physical digital trunk needs to be configured;
z These configuration items are only applicable to SHD/DTP Series.
It’s supposed that there are two pieces of SHD-60A-CT/PCI/SS7 boards installed in the
system.
Board 0 uses SS7 signaling, connects with 120 ohm twisted pair cable. Digital Trunk 0 on
Board 0 provides the master clock to the application using line-synchronization mode;
Board 0 uses ISDN protocol (user side), connects with 75 ohm twisted pair cable. Below are
the configuration items:
[BoardId=x]
……
PcmNumber=4
3.1.1.4.2.7 Loopback
Configuration Item loopback
Section [BoardId=x]
Written Format loopback[pcm]=c
pcm: The on-board physical number for corresponding digital trunk. Refer to relative
manuals for more information. Range of value: 0≤i≤M.
c: Controls the loopback feature of digital trunks:
=0x1: Transmitted data loop back from the framer to the receive end
(LOOP_FRAME);
=0x2: Transmitted data loop back from LIU transmitter to LIU receiver
Value Range
(LOOP_LOCAL);
=0x4: Analog signals loop back over LIU (LOOP_ANALOG, only for D-type and
E-type boards);
=0x10: Transmitted data loop back to LIU transmitter after being decoded in LIU
receiver (LOOP_REMOTE);
=0x20: Payload data loop back to the transmitter end (LOOP_PAYLOAD).
Description Sets the loopback feature of trunks, used for diagnoses or debugging.
z This configuration item requires SynCTI Ver. 5.1.0.0 or above.
Note
z It is only applicable to SHD Series.
[BoardId=x]
……
Example
Loopback[0]=0x20
……
3.1.1.4.2.8 SpySyncAndCCS
Configuration Item SpySyncAndCCS
Section [BoardId=x]
Written Format SpySyncAndCCS=n
n=0: Disable the sync & signaling messages acquisition mode;
Value Range n=1: Enable the sync & signaling messages acquisition mode. Don’t enable this switch in
normal operation.
This switch shall be enabled only when the line synchronization or the signaling delivery is in
an abnormal state. In such situation, set SpySyncAndCCS=1 to enable the sync& signaling
messages acquisition mode and use the test program ‘TEST.EXE’ contained in the driver to
record sync and signaling messages. That is, connect the time slots which deliver sync and
Description signaling messages to corresponding channels which previously transported voice data, and
select ‘A-law’ to start recording. To be exact, record the raw data on the time slot for
synchronization via the PCM channel 0, record the raw data on the time slot for signaling
reception via the PCM channel 1 and record the raw data on the time slot for signaling
transmission via the PCM channel 2. Record all these data to .PCM files.
z For ISDN lines, enable the feature of CRC check via the configuration items
UserCrcMode and NetCrcMode before using this feature;
z For DTP series C-type boards, if you want to record the sync messages on T1 line, set
the configuration item DefaultVoiceFormat to 6 and use A-Law to record speech files; if
you want to record the signaling messages on T1/E1 lines, set the configuration item
DefaultVoiceFormat to 7 and use μ-Law to record speech files;
z For SS1 signaling, as signaling data are transmitted via a special interface chip, the raw
Note
data cannot be recorded;
z Make sure you use this feature under the direction of Synway technical support
engineers. Then provide the recorded files to our developers for further analysis and
diagnosis;
z Requires the version of SynCTI 5.3.0.3 or above;
z This configuration item is only applicable to some of the SHD/DTP series boards. See
below for detailed information.
Below is a list of board models that support this feature.
SHD-120E-CT/PCIe/EC √ √ √
SHD-120E-CT/PCIe/FAX √ √ √
SHD-240E-CT/PCIe √ √ √
SHD-240E-CT/PCIe/EC √ √ √
SHD-240E-CT/PCIe/FAX √ √ √
SHD-240E-CT/PCIe/VAR √ √ √
DTP-30C/PCI √ √ -
DTP-30C/PCI+ √ √ -
DTP-60C/PCI √ √ -
DTP-60C/PCI+ √ √ -
DTP-120C/PCI √ √ -
DTP-120C/PCI+ √ √ -
DTP-30C/PCIe √ √ -
DTP-30C/PCIe+ √ √ -
DTP-60C/PCIe √ √ -
DTP-60C/PCIe+ √ √ -
DTP-120C/PCIe √ √ -
DTP-120C/PCIe+ √ √ -
Legend: √: Supported ×: Unsupported -: Invalid
3.1.1.4.2.9 framing
Refer to syncc.
3.1.1.4.2.10 coding
Refer to syncc.
3.1.1.4.2.11 syncc
framing
Configuration Item coding
syncc
Section [BoardId=x]
framing[pcm]=c
Written Format coding[pcm]=d
sync[pcm]=e
pcm: The physical number of the digital trunk on the board. For more information, refer to
related manuals. Range of value: 0≤i≤M.
c: Set the frame format for T1 trunk:
2: ESF framing
3: D4 framing
8: SLC-96 framing
In D4 Framing Mode:
Description Sets the frame format and frame encoding mode for T1 trunk.
z It requires SynCTI Ver. 5.3.1.3 or above;
Note
z This configuration item is only applicable to T1 trunk.
3.1.1.4.3.1 TotalPcm
Refer to Pcm
3.1.1.4.3.2 Pcm
TotalPcm
Configuration Item
Pcm
Section [PcmInfo]
TotalPcm=M
Written Format
Pcm[m]=k,j
M: The total number of the digital trunks in the application. It must be less than or equal to
the total physical PCM number in the system;
m: The logical number of the digital trunk in the application. It must start from 0, the range
of value: 0≤m<M (M is the set value of the configuration item TotalPcm)
k: The logical number of the board. Range of value:
0≤k<N: N is the set value of the configuration item TotalBoards. The logical number
of the digital trunk in the application is bound with the actual physical digital
Value Range trunk.
k=-1: The logical number of the digital trunk in the application is bound with the
virtual circuit. The binding is only applicable to SS7 TUP and ISUP
protocols, it requires the driver version to be 4.7.1.0 or above. For more
information about the virtual circuit, refer to ‘Virtual Circuit Programming
Interface on SS7 Server’ in chapter 1.
j: If k≠-1, j denotes the physical number of the digital trunk, it must be the number of
physically existing PCM; If k=-1, the corresponding digital trunk of j maybe virtual.
TotalPcm sets the total number of the digital trunks in the application;
Description Pcm establishes the mapping relation between the logical number and physical number of
the digital trunk .
Note This configuration item is only applicable to the SHD and DTP Series.
It’s supposed that there are two pieces of SHD-60A-CT/PCI/ISDN boards installed in the
system, the below configuration items illustrate how to establish the mapping relation
between the logical number and physical number of the digital trunk:
[PcmInfo]
Example TotalPcm=4
Pcm[0]=0,0 //Set Digital Trunk 0 on Board 0 to be Digital Trunk 0 in the application
Pcm[1]=0,1 //Set Digital Trunk 1 on Board 0 to be Digital Trunk 1 in the application
Pcm[2]=1,0 //Set Digital Trunk 0 on Board 1 to be Digital Trunk 2 in the application
Pcm[3]=1,1 //Set Digital Trunk 1 on Board 1 to be Digital Trunk 3 in the application
3.1.1.4.3.3 2PcmIn1Line
Configuration Item 2PcmIn1Line
Section [BoardId=x]
Written Format 2PcmIn1Line=m
M=0 (default): We recommend you use the outlet board RSD081 (standard 8-pin RJ48C) for
the UMCT intelligent switch, as in such situation the interfaces are arranged in the
same order as the PCM numbers. For the outlet board RSD082 (4-pin RJ48C/M), the
first jack corresponds to PCM0 and PCM4, the second corresponds to PCM1 and
PCM5, the third corresponds to PCM2 and PCM6, and the fourth corresponds to
PCM3 and PCM7.
Value Range
M=1: We recommend you use the outlet board RSD082 (4-pin RJ48C/M) for the
UMCT intelligent switch. In such situation, the first jack corresponds to PCM0 and
PCM1, the second corresponds to PCM2 and PCM3, the third corresponds to PCM4
and PCM5, and the fourth corresponds to PCM6 and PCM7. For the outlet board
RSD081 (standard 8-pin RJ48C), the 8 jacks in order correspond to PCM0, PCM2,
PCM4, PCM6, PCM1, PCM3, PCM5 and PCM7.
As on the UMCT intelligent switch the mainboard is separated from the outlet board and the
Description switch itself can not distinguish RSD081 from RSD08, this configuration item helps to make
the PCM arrangement more in accordance with the common use habit.
This configuration item is applicable to the 240-port E-type digital boards used on the UMCT
Note
intelligent switch.
3.1.1.4.4.1 TotalSpyPcm
Refer to SpyPcm
3.1.1.4.4.2 SpyPcm
TotalSpyPcm
Configuration Item
SpyPcm
Section [SpyPcm]
TotalSpyPcm=M
Written Format
SpyPcm[m]=Pcm[j],Pcm[k]
[BoardId=x]
……
PcmNumber=4
[PcmInfo]
TotalPcm=4
[SpyPcm]
TotalSpyPcm=2
[AppSpyCICTable]
TotalAppSpyCIC=60
AppSpyCIC[0]=SpyPcm[0],0..29 // Set the physical position for the SpyCIC which has a logical
number in the range of 0..29
AppSpyCIC[30]=SpyPcm[1],0..29 // Set the physical position for the SpyCIC which has a logical
number in the range of 30~59
3.1.1.4.4.3 SpyT1TransE1Line
Configuration Item SpyT1TransE1Line
Section [SpyPcm]
Written Format SpyT1TransE1Line[k]=b
k: SpyPcm number;
Value Range b=0: The monitored line is the common E1 line;
b=1: The monitored line is the line transformed by a T1-to-E1 device.
Sets whether the channels are numbered by continuous codes (E1:1-30 or T1:1-23) or
Description
discontinuous codes (E1:1-15, 17-31).
z This configuration item is only applicable to monitoring of ISDN lines;
Note
z This configuration item is only applicable to DTP Series.
3.1.1.4.5.1 TotalAppSpyCIC
Refer to AppSpyCIC
3.1.1.4.5.2 AppSpyCIC
TotalAppSpyCIC
Configuration Item
AppSpyCIC
Section [AppSpyCICTable]
TotalAppSpyCIC=N
Written Format Format 1: AppSpyCIC[n]=SpyPcm[m],k
Format 2: AppSpyCIC[n]=SpyPcm[m],ks..ke
N: The total number of SpyCIC;
n: The logical number of SpyCIC, numbered from 0, 0≤n<N;
m: The logical number of SpyPCM, for more information, refer to the configuration item
TotalSpyPcm or SpyPcm;
Value Range k: The circuit number on SpyPcm, 0≤k≤29. For SS7 signaling, the value of k is the CIC field
in the message of TUP or ISUP; For ISDN PRI signaling, the actual relation between the
value of k and PCM is:
ks: The starting circuit number on SpyPcm, 0≤ks≤29;
ke: The ending circuit number on SpyPcm, 0≤ke≤29
TotalAppSpyCIC sets the total number of the monitored circuits;
AppSpyCIC establishes the mapping between the logical number of the SpyCIC in the
Description
application and one actual circuit on the SpyPCM. For more information, refer to ‘DTP
Series’ in Chapter 1
z Format 1 is used for one-by-one setting, format 2 is used for batched setting which is
Note equivalent to the continuous ke-ks+1 times of setting with format 1 starting from ks;
z This configuration item is only applicable to DTP Series
Example Refer to the example in the configuration item TotalSpyPcm
3.1.1.4.6.1 TotalSpyLinkSet
Refer to SpyIsupCICPcm
3.1.1.4.6.2 SpyLinkSet
Refer to SpyIsupCICPcm
3.1.1.4.6.3 TotalSpyLinkPcm
Refer to SpyIsupCICPcm
3.1.1.4.6.4 SpyLinkPcm
Refer to SpyIsupCICPcm
3.1.1.4.6.5 SpyCICPcm
Refer to SpyIsupCICPcm
3.1.1.4.6.6 SpySpCodeLen
Refer to SpyIsupCICPcm
3.1.1.4.6.7 SpyIsupCICPcm
TotalSpyLinkSet
SpyLinkSet
TotalSpyLinkPcm
Configuration Item SpyLinkPcm
SpyCICPcm
SpySpCodeLen
SpyIsupCICPcm
Section [SS7Spy]
Configuration 1: applicable to single-link group:
TotalSpyLinkPcm=M
SpyLinkPcm[m]=SpyPcm[x]
SpyCICPcm[k]=SpyPcm[y]
SpyIsupCICPcm[k]=SpyPcm[y]
SpySpCodeLen=j
Configuration 2: applicable to single-link group or multi-link group:
TotalSpyLinkSet=N
Written Format
Format 1: SpyLinkSet[n]=SpyPcm[x]
Format 2: SpyLinkSet[n]=SpyPcm[x]+SpyPcm[y]
SpyLinkSet[n].SpyCICPcm[k]=SpyPcm[m]
SpyLinkSet[n].SpyIsupCICPcm[k]=SpyPcm[m]
SpySpCodeLen=j
Note: Format 1 is applicable to a link set which contains one signaling link only; Format 2 is
applicable to a link set which has two signaling links.
Note: Configuration 1 has a higher priority than Configuration 2.
N: The total number of signaling link sets, 1≤N≤48, must start from n=0, continuously
configure SpyLinkSet N times;
n: The logical number of the link set, 0≤n<N;
x, y, m: The logical number of SpyPcm, 0≤x<M, 0≤y<M, 0≤m<M;
k: The digital trunk number assigned to SpyPcm by the Central Office, i.e. the value of
the PCM parameter in the CIC field of TUP or ISUP messages, it can be obtained
Value Range
from the Central office;
j: The value is either 24 or 14. It is used to set the encoding standard for signaling
points: 24bit is the National Signaling Point Code (NSPC) format, 14bit is the
International Signaling Point Code (ISPC) format.
Note: M is the set value of the configuration item TotalSpyPcm. TotalSpyLinkPcm has the
same value as TotalSpyPcm.
TotalSpyLinkSet sets the total number of the SS7 signaling link sets;
SpyLinkSet sets the physical position of the signaling link in the designated Link Set n;
TotalSpyLinkPcm sets the total number of digital trunks to be monitored in the
application program;
Description SpyLinkPcm sets the physical position of a signaling link in the specified link set;
SpyCICPcm and SpyIsupCICPcm establish the mapping relation between the number
of the digital trunk in the CIC field of TUP or ISUP messages and the logical number of
SpyPCM in Link Set n, SpyCICPcm is only applicable to the TUP protocol,
SpyIsupCICPcm is only applicable to the ISUP protocol.
z SpyLinkSet[n].SpyCICPcm[k] is only applicable to the TUP protocol;
z SpyLinkSet[n].SpyIsupCICPcm[k] is only applicable to the ISUP protocol;
Note
z This configuration item is only applicable to the SS7 signaling of DTP Series;
z This configuration item requires the SynCTI driver of version 4.5.8.0 or above.
Example Refer to ‘Application and Configuration Instance for DTP Series’ in Chapter 1.
3.1.1.4.7.1.1 TotalIsupPcm
Refer to IsupPcm
3.1.1.4.7.1.2 IsupPcm
TotalIsupPcm
Configuration Item
IsupPcm
Section [SS7]
TotalIsupPcm=M
Written Format
IsupPcm[m]=LocalPcm[k]
M: The total number of digital trunks using the ISUP protocol, 0≤M<N. N is the set value of
the configuration item. If M is not 0, the configuration item IsupPcm must be set;
m: The logical number of the digital trunk using ISUP protocol, numbered from 0. Range of
Value Range
value: 0≤m<M
k: The logical number of the digital trunk in the application, range of value: 0≤k<N. The
logical number of the digital trunk is set by the configuration item TotalPcm and Pcm.
TotalIsupPcm sets the total number of the digital trunks using the ISUP protocol in the
Description application;
IsupPcm sets the digital trunk using ISUP protocol in the local PC
z If the ISUP protocol is not used in the system, this configuration item doesn’t need to be
set;
Note z If TotalIsupPcm is set to be 0, the configuration item IsupPcm doesn’ t need to be set,
and the configuration item AutoHandleIsup will be ignored;
z This configuration item is only applicable to SHD Series
3.1.1.4.8.1.1 UseISDNMode
Configuration Item UseISDNMode
Section [ISDN]
Written Format UseISDNMode=m
m=0: User side (default);
m=1: Network side;
m=2: User side + Network side.
Value Range
Note: Under this mode, all the digital trunks must have the same mode on one single
board, i.e. either all of them are user side mode, or all of them are network side mode,
but different boards may support different modes
Sets the operating mode when ISDN protocol is used. For more information, refer to
Description
‘Network-side Mode and User-side Mode’ in Chapter 1
3.1.1.4.8.2.1 TotalUserLinker
Refer to UserTEIValue
3.1.1.4.8.2.2 UserPcmLink
Refer to UserTEIValue
3.1.1.4.8.2.3 UserSendEstablish
Refer to UserTEIValue
3.1.1.4.8.2.4 UserTEIValue
TotalUserLinker
UserPcmLink
Configuration Item
UserSendEstablish
UserTEIValue
Section [ISDN]
TotalUserLinker=N
UserPcmLink[n]=LocalPCM[k]
Written Format
UserSendEstablish[n]=b
UserTEIValue[n]=m
3.1.1.4.8.3.1 TotalNetLinker
Refer to NetTEIValue
3.1.1.4.8.3.2 NetPcmLink
Refer to NetTEIValue
3.1.1.4.8.3.3 NetSendEstablish
Refer to NetTEIValue
3.1.1.4.8.3.4 NetTEIValue
TotalNetLinker
NetPcmLink
Configuration Item
NetSendEstablish
NetTEIValue
Section [ISDN]
TotalNetLinker=N
NetPcmLink[n]=LocalPCM[k]
Written Format
NetSendEstablish[n]=b
NetTEIValue[n]=m
N: The total number of the digital trunks at network side in the system;
n: The logical number of the digital trunk at network side, numbered from 0;
k: The logical number of the digital trunk at local end. For more information, refer to the
description of the configuration item TotalPcm and Pcm;
b: Sets whether to send the message of automatic link building at the local end.
Value Range 0: Not to send (default);
1: Send.
m: TEI value. Range of value:
0≤m≤63: Fixed TEI;
m>63: Dynamic TEI.
The default value of m is 0.
TotalNetLinker sets the total number of the digital trunks at local end working in
network-side mode;
Description NetPcmLink establishes the mapping relation between each digital trunk working in
network-side mode and its logical number;
NetTEIValue sets the TEI value of each digital trunk working in network-side mode
z If N>0, both NetPcmLink and NetTEIValue must be set N times;
Note z This configuration item is only applicable to the mode of network side;
z Currently, it is not supported to set the TEI value to be larger than 63.
3.1.1.4.9.1 ProtocolType
Configuration Item ProtocolType
Section [SS1Config]
Written Format ProtocolType=m
m=0: Use SS1 signaling (default);
m=1: Use the LineSide protocol;
Value Range m=2: Use the ASB protocol;
m=3: Use the LineSide (OPS-FX) protocol;
m=4: Use the VPS protocol.
Sets the signaling mode for the channel currently using SS1 signaling by default.
Here gives a brief explanation for the different values of ProtocolType. Customers can
configure it according to the requirements of the remote PBX.
When m = 1, 3 or 4, the CD value of the sent CAS is equal to the value of the configuration
item TxCas_CD. The channel, if it receives a CAS with the AB value of 0 in an idle state, will
Description
turn into the ringing state. When you pick up the phone, if m=1, the AB value of the sent CAS
is 2; if m=3, the AB value of the sent CAS is 3; if m=4, the AB value of the sent CAS is 0x0f.
When m = 2, the AB value of the sent CAS is equal to the value of the configuration item
TxCas_CD. The channel, if it receives a CAS with the ABCD value of 2 in an idle state, will
turn into the ringing state. When you pick up the phone, the CD value of the sent CAS is 2.
3.1.1.5.1.1 LocalSipIp
Note: This configuration item is named LocalIp and can not be found in Section [SIP] for SHN B series VoIP boards
in versions below SynCTI 5.1.0.0.
Refer to LocalSipPort
3.1.1.5.1.2 LocalSipPort
Note: This configuration item is named LocalPort and can not be found in Section [SIP] for SHN B series VoIP
boards in versions below SynCTI 5.1.0.0
LocalSipIp
Configuration Item
LocalSipPort
Section [SIP]
LocalSipIp=m
Written Format
LocalSipPort=n
m: Sets the network address carried by SIP signaling. m is a character string in the form of
Ipv4 address, containing less than 256 characters. The exceptional case is m=0.0.0.0:
Select a random IP address of the local host as the network address carried by SIP
Value Range
signaling.
n: Sets the network intercept port carried by SIP. It is 5060 by default and provides the value
range of 1024 ~ 65536.
Description Sets the network address and port carried by SIP signaling for VoIP boards
3.1.1.5.2.1.1 ProtocolType
Configuration Item ProtocolType
Section [BoardId=x]
Written Format ProtocolType=m
m: Sets the protocol used by this VoIP board. See below for details:
Value Range m=1: Use the SIP protocol.
m=2: Set the VoIP board to be a VoIP resource board.
ProtocolType is used to set the protocol for the VoIP board or set the VoIP board to be a
Description
VoIP resource board.
3.1.1.5.2.2.1 RTPRange
Configuration Item RTPRange
Section [SIP]
Written Format RTPRange= tL, tH
tL: Minimum RTP port range (1024≤tL, with the default value of 6000);
Value Range
tH: Maximum RTP port range (tH≤65535, with the default value of 10000).
Description Sets the RTP port range for the SHN A series boards.
3.1.1.5.2.2.2 AudioCodecList
Refer to SendDtmfType
3.1.1.5.2.2.3 SendDtmfType
AudioCodecList
Configuration Item SendDtmfType
Section [BoardId=x]
AudioCodecList= p1,p2,…. pn
Written Format
SendDtmfType=j
p1,p2,..pn: The voice codecs list for calls, with the default value of 6,7,131. n≤10 and the
value staying ahead has a higher priority. See below for what they mean exactly:
px=6: G.711 A-Law;
px=7: G.711 µ-Law;
Value Range px=131: G.729A.
j: Sets the DTMF transmission mode. See below for details:
j=0: Use RFC2833 mode to send DTMF;
j=1: Use Signaling mode to send DTMF;
j=2: Use In-band mode to send DTMF.
Description Set the voice codecs and the DTMF transmission mode for the SHN A series boards.
3.1.1.5.2.2.4 RecvDtmfType
Configuration Item RecvDtmfType
Section [BoardId=x]
Written Format RecvDtmfType=j
j: Sets the DTMF reception mode. See below for details:
j=0: Support three modes In-band, Signaling and RFC2833 to receive DTMF;
Value Range
j=1: Support two modes Signaling and RFC2833 to receive DTMF;
j=2: Support only one mode In-band to receive DTMF.
Description Set the DTMF reception mode for the SHN A series.
3.1.1.5.3.1.1 BoardIP
Note: This configuration item is named LocalIp and works as the common IP used for both signaling and RTP in
versions below SynCTI 5.1.0.0.
Refer to SendDtmfType
3.1.1.5.3.1.2 SubMask
Refer to SendDtmfType
3.1.1.5.3.1.3 Gateway
Refer to SendDtmfType
3.1.1.5.3.1.4 DNS
Refer to SendDtmfType
3.1.1.5.3.1.5 AudioCodecList
Refer to SendDtmfType
3.1.1.5.3.1.6 RTPRange
Refer to SendDtmfType
3.1.1.5.3.1.7 SendSipMsg
Refer to SendDtmfType
3.1.1.5.3.1.8 SendDtmfType
BoardIP
SubMask
Gateway
DNS
Configuration Item
AudioCodecList
RTPRange
SendSipMsg
SendDtmfType
Section [BoardId=x]
BoardIP=m
Submask=v
Gateway=p
DNS=L
Written Format
AudioCodecList= q1,q2,…. qn
RTPRange= tL, tH
SendSipMsg=n
SendDtmfType=j
m: Sets the IP address of the network card equipped on the SHN B-type board.
v: Sets the subnet mask for the SHN B-type Series. v is a character string in the form of Ipv4
address, containing less than 256 characters. By default, v=255.255.255.0.
p: Sets the gateway for the SHN B-type Series.
L: Sets the DNS address. L is a character string in the form of Ipv4 address, containing less
than 256 characters. By default, L=192.168.1.100.
q1,q2,…. qn: The voice codecs list for calls, with the default value of 6,7,131,49. n≤10 and the
value staying ahead has a higher priority. See below for what they mean exactly.
qx=6: G.711 A-Law;
qx=7: G.711 µ-Law;
qx=131: G.729A;
Value Range qx=49: GSM (Only for SHN B Series).
tL: Minimum RTP port range (1024≤tL, with the default value of 6000);
tH: Maximum RTP port range (tH≤65535, with the default value of 10000).
Please note that the RTP ports under 6000 or above 10000 may have been occupied by the
driver, therefore we suggest you use the default value of tL and tH.
n: Sets the switch for playing voices upon receiving rings to the remote end on an SIP
channel. This configuration item is valid only when n=183. Once the driver receives the invite
call, it will automatically respond 183+SDP instead of sending the 180 message. This
configuration item is invalid as long as n≠183. It is only applicable to B-type boards, not to
A-type boards.
j: Sets the DTMF transmission mode. See below for details:
j=0: Use RFC2833 mode to send DTMF;
j=1: Use Signaling mode to send DTMF;
j=2: Use In-band mode to send DTMF.
Set the network address carried by SIP signaling, the DTMF transmission mode and other
Description
SIP operational parameters for the SHN B series.
3.1.1.5.3.1.9 RecvDtmfType
Configuration Item RecvDtmfType
Section [BoardId=x]
Written Format RecvDtmfType=j
j: Sets the DTMF reception mode. See below for details:
j=0: Support three modes In-band, Signaling and RFC2833 to receive DTMF;
Value Range
j=1: Support two modes Signaling and RFC2833 to receive DTMF;
j=2: Support only one mode In-band to receive DTMF.
Description Set the DTMF reception mode for the SHN B series.
3.1.1.6 Essential Configuration Items for DST Series (REC Series only)
3.1.1.6.1 PBXType
3.1.1.6.2 PhoneType
3.1.1.6.3 DstRecRawData
3.1.1.6.4 SetAnalogCtrlEnable
3.1.1.6.5 AnalogCtrl
Hexadecimal data. These three data respectively correspond to three modules. Refer to the
following table for reference values of analog switches. You may adjust in real situation if
necessary.
Reference Reference
Value of Value of
PBX Model PBX Model
Analog Analog
Switch Switch
Aastra Nexspan 0x6 Alcatel4200/4400 0x2
AscotelIntelligate 0x4 Aspect 0x6
AvayaDefinity-2w 0x2 AvayaDefinity-4w 0x4
AvayaIndex 0x4 AvayaMerlingMagix 0x2
AvayaMLX 0x4 Belgacom 0x2
BoschIntegral2w 0x2 BoschIntegral4w 0x4
BoschIntegral552w 0x2 BRI ISDN 0x4
BRI ISDNI1 0x4 Comdial 0x4
Eon_EQ 0x4 Ericsson ELU25/28 0x4
Ericsson ELU5 0x4 Fujitsu F9600 0x0
Value Range
Harris2B 0x4 Harris_1B_optic 0x6
Harris_1B_workstation 0x6 IAP 0x4
Intecom2-wire 0x2 Intercom4-wire 0x2
Intel-Tel 0x4 iwatsu256k 0x2
Iwatsu512k 0x2 LG_StareXCS 0x4
MirtelSx2000 0x4 NEC 0x4
nitsuko 0x2 Nortel Matra 0x6
Nortel Meridian1 0x4 Nortel Norstar 0x4
panasonic_DBS 0x0 Panasonic KX 0x2
Panasonic 7600se 0x0 PhilipsSOPHOis30002w 0x2
PhilipsSOPHOis30004w 0x4 RockwellSpectrum 0x4
SamsungDCS-828 0x4 SamsungINFOREX 0x4
Siemens Hicom 0x2 Siemens ISDT2W 0x0
Siemens Realifis DT 0x4 Siemens RolmLink 0x2
Tadran Coral 0x2 Teltronics(Harris2020) 0x6
ToshibaStrataDK/CTX 0x4
Description Sets the value for analog switches.
z This configuration item is only applicable to DST series B-type boards.
z This configuration item is only valid when SetAnalogCtrlEnable=1.
Note
z This configuration item is not necessary to be added in most situations. Please contact
our technical support should you have any query about this configuration item.
3.1.1.6.6 SetVoxChSelectEnable
3.1.1.6.7 VoxChSelect
3.1.1.6.8 SetFilterSwitchEnable
3.1.1.6.9 FilterSwitch
3.1.1.6.10 SetVoltageReferenceEnable
3.1.1.6.11 VoltageReference
3.1.1.7 Essential Configuration Items for IPR Series (REC Series only)
Master
3.1.1.7.1.1 RecMasterIP
Configuration Item RecMasterIP
Section [BoardId=x]
Written Format RecMasterIP =m
m: m is a character string in the form of Ipv4 address. The default value is
Value Range
127.0.0.1
Description Host IP address of SynIPRecorder Master.
3.1.1.7.1.2 RecMasterPort
Configuration Item RecMasterPort
Section [BoardId=x]
Written Format RecMasterPort =m
3.1.1.7.1.3 RTPTimeOut
Configuration Item RTPTimeOut
Section [BoardId=x]
Written Format RTPTimeOut =m
m: m is a number. When a recording channel does not detect the RTP data in a
long period of time, it is assumed that the corresponding Session to this
Value Range channel is disconnected and the recording will be stopped automatically.
When m=0, RTP timeout detection will not be performed. The default value is
15 (calculated by seconds).
Description Sets the time period for RTP timeout detection.
3.1.1.7.2.1 MonitorNIC
Configuration Item MonitorNIC
Section [BoardId=x]
Written Format MonitorNIC =m
m: m is a character string, representing the identification of the monitored network
Value Range
card
Description The monitored network card in SynIPAnalyzer.
3.1.1.7.2.2 ForwardIP
Configuration Item ForwardIP
Section [BoardId=x]
Written Format ForwardIP =m
m: m is a character string in the form of IPv4 address. The default value is
Value Range
127.0.0.1
Description The IP address that SynIPAnalyzer uses to forward the RTP data.
3.1.1.7.2.3 ForwardPort
Configuration Item ForwardPort
Section [BoardId=x]
Written Format ForwardPort =m
Value Range m: m is a number with the default value of 20000.
Description The port that SynIPAnalyzer uses to forward the RTP data.
3.1.1.7.2.4 MonitorType
Configuration Item MonitorType
Section [BoardId=x]
Written Format MonitorType =m
m=0: Monitor All (default);
Value Range
m=1: Monitor By Station
Description The monitoring type of SynIPAnalyzer.
z If the monitoring type is set to Monitor By Station (m=1), you need to invoke
the function SsmIPRAddStationToMap and SsmIPRRmvStationFromMap(Ex)
explicitly to control the Station. If the Station to be monitored is not added by the
function SsmIPRAddStationToMap, the driver can not monitor any phone.
Note
z To set ‘Monitor By Station’ as the original monitoring type, we suggest you
do it via this configuration item instead of the function SsmIPRSetMonitorType; or
the driver may detect the session and Station before you invoke this function and
may probably waste extra time and resources to deal with the monitored session.
3.1.1.7.2.5 RTPTimeOut
Configuration Item RTPTimeOut
Section [BoardId=x]
Written Format RTPTimeOut =m
m: m is a number. When a Session does not detect the RTP data in a long period
of time, it is assumed this session is disconnected automatically. When m=0,
Value Range
RTP timeout detection will not be performed. The default value is 15
(calculated by seconds).
Description Sets the time period for RTP timeout detection.
3.1.2.1.1 CardType
3.1.2.2.1 DefaultEventOutput
3.1.2.2.2 OvrlEnrgEventOut
3.1.2.3.1 MaxEventPerChannel
3.1.2.3.2 MaxUserEventSize
3.1.2.4.1 MaxWaitAutoDialAnswerTime
t: Maximum wait time (seconds), the default value varies according to the channel type:
Analog trunk channel: 25 seconds;
SS1 channel: 90 seconds;
Value Range ISUP channel: 180 seconds;
TUP channel: 60 seconds;
ISDN channel: 60 seconds;
SIP channel: 60 seconds.
The maximum wait time waiting for the called party pickup after the channel state turns to
‘WaitAnswer’, during an outgoing call. For the execution process of AutoDial, refer to the
following parts of Chapter 1:
Analog trunk channel: ‘Analog Trunk Channel State Machine’;
Description SS1 channel: Timer T6 in China SS1 State Machine ’;
ISUP channel: Timer T4 in ‘ISUP Channel State Machine’;
TUP channel: Timer T4 in ‘TUP Channel State Machine’;
ISDN channel: Timer WaitAnswerTimer in ‘ISDN Channel State Machine’;
SIP channel: Timer evTimeout(*2) in ‘SIP Channel State Machine’.
z For the configuration of analog trunk channels, use the configuration section
[SystemConfig]; for the configuration of SS1 channels, use the configuration section
[SS1Config]; for the configuration of ISUP channels, use the configuration section
Note
[ISUP]; for the configuration of TUP channels, use the configuration section [TUP]; for
the configuration of ISDN channels, use the configuration section [ISDN]; for the
configuration of SIP channels, use the configuration section [SIP].
3.1.2.4.2 RingToPending
3.1.2.4.3 AutoClearCallerIdBufOnHangup
When the call is finished, this configuration item determines whether the driver will
automatically clear the buffer area storing the calling party ID and the extended buffer area.
Description
If it’s ISUP channel or TUP channel, the buffer area storing the called party number and 1st
called party number will also be cleared
Note This configuration item requires the driver version 2.1 or above
3.1.2.4.4 AutomaticAisGeneration
3.1.2.4.5 AutomaticRaiGereration
3.1.2.4.6 IgnoreBlockInGra
3.1.2.4.7 AllowTimeoutInSpyISDN
3.1.2.5.1 DefaultVoiceFormat
3.1.2.6.1.1 DefaultToneCheckState
Configuration Item DefaultToneCheckState
Section [BoardId=x]
Written Format DefaultToneCheckState =n
n=0: Tone detector disabled (Default);
Value Range
n=1:Tone detector enabled.
Set the switch to enable or disable the tone detector for digital boards or IP boards. When
Description n=1, whether the tone detector is enabled or not will be influenced by the channel state
transition, just like analog trunk boards.
3.1.2.6.2.1 MinimumVoiceDetermineEnergy
Configuration Item MinimumVoiceDetermineEnergy
Section [SystemConfig]
Written Format MinimumVoiceDetermineEnergy=e
e: e≥700, with the default value of 100000. For the conversion between the value of this
Value Range
parameter and the DB value, refer to ‘FFT’ in ‘Tone Detector’ of Chapter 1
Sets the threshold value for noise detection on the line. For more information, refer to
Description
SsmSetMinVocDtrEnergy.
3.1.2.6.3.1 ToneHighFilterPoint
Refer to ToneLowFilterPoint
3.1.2.6.3.2 ToneLowFilterPoint
ToneHighFilterPoint
Configuration Item
ToneLowFilterPoint
Section [SystemConfig]
ToneHighFilterPoint=tH
Written Format
ToneLowFilterPoint=tL
tH: The minimum duration (ms) of the tone at on state, it must be integral times of 16ms, tH
>0, with the default value of 64ms
Value Range
tL: The minimum duration (ms) of the tone at off state, it must be integral times of 16ms, tL >0,
with the default value of 160 ms
ToneHighFilterPoint sets the minimum duration of the tone. If the incoming signal is the
same as that of the tone, but its duration is less than the set value of this parameter, the
driver will regard it as the interfering signal;
Description ToneLowFilterPoint sets the minimum duration that the tone disappears. If it’s determined
that the incoming signal is the same as that of the tone, and also the duration that this signal
disappears is larger than the set value of this parameter, the driver confirms that this signal
has disappeared.
3.1.2.6.4.1.1 TonePara
Configuration Item TonePara
Section [SystemConfig]
Written Format TonePara =f1,b1,f2,b2,r
f1: The first center frequency (Hz), range of value: 300~3400, with the default value of 450
b1: The bandwidth (Hz) of the first center frequency, range of value: 40~120, with the default
value of 80
f2: The second center frequency (Hz), range of value: 300~3400, with the default value of 0
Value Range
b2: The bandwidth (Hz) of the second center frequency, range of value: 40~120, with the
default value of 0
r: The threshold value (%), range of value: 15~80, with the default value of 50
For more information, refer to the description of the function SsmSetTonePara
Sets the Parameters of the frequency detector in the call progress tone detector. For more
Description
information, refer to Call Progress Tone Detector in Chapter 1
3.1.2.6.4.2.1 IsDialToneDetermineTime
Configuration Item IsDialToneDetermineTime
Section [SystemConfig]
Written Format IsDialToneDetermineTime=t
Value Range t: Minimum duration (ms), t≥1300, with the default value of 1500
Sets the parameters of the dial tone detector in the 1st call progress tone detector. For more
Description
information, refer to SsmSetIsDialToneDtrTime
3.1.2.6.4.3.1 RingEchoTonePara
Configuration Item RingEchoTonePara
Section [SystemConfig]
Written Format RingEchoTonePara=tH,tL
tH: The duration (ms) of the tone at on state, range of value: 300≤tH≤2500, with the default
value of 1000
Value Range
tL: The duration (ms) of the tone at off state, range of value: 800≤tL≤6000, with the default
value of 4000
Sets the durations of the tone at on and off states for the echo tone detector. For more
Description
information, refer to the function of SsmSetRingEchoTonePara
3.1.2.6.4.4.1 BusyTonePeriod
Refer to IsBusyToneDetermineCount
3.1.2.6.4.4.2 IsBusyToneDetermineCount
BusyTonePeriod
Configuration Item
IsBusyToneDetermineCount
Section [SystemConfig]
Format 1:BusyTonePeriod=p1
Format 2:BusyTonePeriod=p1,p2
Written Format Format 3:BusyTonePeriod=p1,p2,p3
Format 4:BusyTonePeriod=p1,p2,p3,p4
IsBusyToneDetermineCount=n
p1,p2,p3,p4: Busy tone cycle (ms), range of value: 200≤pi≤2000, with the default value of
Value Range 700ms;
n: The minimum number of busy tone cycles, 1≤n≤10, with the default value of 2
st
Sets the parameters of the busy tone detector in the 1 Call Progress Tone Detector. For
more information, refer to Busy Tone Detector in Chapter 1;
BusyTonePeriod sets the busy tone cycles, at most 4 busy tone cycles can be set, separated
Description
by comma. Format 1, Format 2, Format 3 and Format 4 are applicable to setting 1~4 cycles
respectively. For more information, refer to the function SsmSetBusyTonePeriodEx;
IsBusyToneDetermineCount sets the minimum number of the busy tone cycles
BusyTonePeriod=700 // Detect one type of busy tone, the cycle is 700ms
Example
BusyTonePeriod=700,1400 // Detect two types of busy tones, the cycles are 700ms and 1400ms respectively
3.1.2.6.4.5.1 EnableKewlStart
Configuration Item EnableKewlStart
Section [SystemConfig]
Written Format EnableKewlStart=m
m=0: disable the Kewl Start feature (default)
Value Range
m=1: enable the Kewl Start feature
Description Sets whether to enable the Kewl Start feature to detect remote hangup.
3.1.2.6.4.5.2 KSVoltageThreshold
Configuration Item KSVoltageThreshold
Section [SystemConfig]
Written Format KSVoltageThreshold=n
The threshold voltage to detect remote hangup (V), with the default value of 0 and the
Value Range
value range of n≥0
Sets the threshold voltage for Kewl Start to detect remote hangup. For more information,
Description
refer to Change in Analog Phone Line Voltage section in Chapter 1.
3.1.2.6.4.5.3 KSKeepTime
Configuration Item KSKeepTime
Section [SystemConfig]
Written Format KSKeepTime=m
Value Range Duration (ms), with the default value of 256 and the value range of 16 ~ 65535.
Sets the filter time for Kewl Start to detect remote hangup. For more information, refer to
Description
Change in Analog Phone Line Voltage section in Chapter 1.
3.1.2.6.4.6.1 AppointedToneAnalyzerSwitch
Configuration Item AppointedToneAnalyzerSwitch
Section [SystemConfig]
Written Format AppointedToneAnalyzerSwitch=m
m=0: Stop the user-defined tone detector;
m=1: Start the user-defined tone detector, detect the continuous tone,
Value Range the configuration item IsAppointedToneDetermineTime is valid here;
m=2: Start the user-defined tone detector, detect the periodic tones, the configuration item
AppointedTonePara and IsAppointedToneDetermineCount are valid here
Sets the user-defined tone detector in the 1st Call Progress Tone Detector. For more
Description
details, refer to User-defined Tone Detector in Chapter 1
3.1.2.6.4.6.2 IsAppointedToneDetermineTime
Configuration Item IsAppointedToneDetermineTime
Section [SystemConfig]
Written Format IsAppointedToneDetermineTime=t
Value Range t≥16: Minimum duration (ms), with the default value of 80
Sets the minimum duration of the user-defined continuous tone, it’s applicable to the
Description user-defined tone detector in the 1st Call Progress Tone Detector. For more information,
refer to User-defined Tone Detector in chapter 1
z Only when the configuration item AppointedToneAnalyzerSwitch is set to be 1, this
configuration item is valid;
z If the set value of this configuration item is less than the set value of
Note
IsDialToneDetermineTime, the dial tone will not be detected correctly; If the set value
of this configuration item is larger than the set value of IsDialToneDetermineTime, the
user-defined continuous tone will not be detected correctly
3.1.2.6.4.6.3 AppointedTonePara
Refer to IsAppointedToneDetermineCount
3.1.2.6.4.6.4 IsAppointedToneDetermineCount
AppointedTonePara
Configuration Item
IsAppointedToneDetermineCount
Section [SystemConfig]
AppointedTonePara=tH,tL
Written Format
IsAppointedToneDetermineCount=n
tH: The duration (ms) of the tone at on state, 16≤tH≤6000, with the default value of 2000
Value Range tL: The duration (ms) of the tone at off state, 16≤tL≤6000, with the default value of 2000
n: User-defined minimum number of tone cycles, 1≤n≤10, with the default value of 2
Sets parameters of the periodic tones of User-defined Tone Detector in the 1st Call Progress
Tone Detector;
Description AppointedTonePara sets the durations of the tone at on and off states;
IsAppointedToneDetermineCount sets the minimum number of the tone cycles to be
counted.
Only when the configuration item AppointedToneAnalyzerSwitch is set to be 2, this
Note
configuration item is valid
3.1.2.6.5.1.1 Enable2ndToneAnalyzer
Configuration Item Enable2ndToneAnalyzer
Section [SystemConfig]
Written Format Enable2ndToneAnalyzer=b
b=1: Start 2nd Call Progress Tone Detector;
Value Range
b=0: Stop 2nd Call Progress Tone Detector
Sets the operating status of the 2nd Call Progress Tone Detector. For more information, refer
Description
to SsmStart2ndToneAnalyzer
3.1.2.6.5.1.2 Check2ndToneOnAutoDial
Configuration Item Check2ndToneOnAutoDial
Section [SystemConfig]
Written Format Check2ndToneOnAutoDial=b
b=1: Yes
Value Range
b=0: No (default)
nd
Sets whether the detected result of the 2 Call Progress Tone Detector affects the state
Description transition of the analog trunk channel. For more information, refer to ‘Call Progress Tone
Detector’ in Chapter 1
3.1.2.6.5.2.1 2ndTonePara
Configuration Item 2ndTonePara
Section [SystemConfig]
Written Format TonePara =f1,b1,f2,b2,r
f1: The first center frequency (Hz), range of value: 300~3400, with the default value of 450
b1: The bandwidth (Hz) of the first center frequency, range of value: 40~120, with the
default value of 80
f2: The second center frequency (Hz), range of value: 300~3400, with the default value of
Value Range 0
b2: The bandwidth (Hz) of the second center frequency, range of value: 40~120, with the
default value of 0
r: The threshold value (%), range of value: 15~80, with the default value of 50
For more information, refer to the description of the function SsmSet2ndTonePara
Sets parameters of the frequency detector in the 2nd Call Progress Tone Detector, for more
Description
information, refer to Call Progress Tone Detector in Chapter 1
3.1.2.6.5.3.1 2ndIsDialToneDetermineTime
Configuration Item 2ndIsDialToneDetermineTime
Section [SystemConfig]
Written Format 2ndIsDialToneDetermineTime=t
Value Range t: The minimum duration (ms) of the dial tone, n≥1300, with the default value of 1500
Sets the dial tone detection parameters of the 2nd Call Progress Tone Detector. For more
Description
information, refer to SsmSet2ndIsDialToneDtrTime
3.1.2.6.5.4.1 2ndRingEchoTonePara
Configuration Item 2ndRingEchoTonePara
Section [SystemConfig]
Written Format 2ndRingEchoTonePara=tH,tL
tH: The duration (ms) of the tone at on state, range of value: 300≤tH≤2500, with the default
value of 1000
Value Range
tL: The duration (ms) of the tone at off state, range of value: 800≤tL≤6000, with the default
value of 4000
Sets the durations of the tone at on and off states for the ringback tone detector in the 2nd
Description
Call Progress Tone Detector. For more information, refer to SsmSet2ndRingEchoTonePara
3.1.2.6.5.5.1 2ndBusyTonePeriod
Refer to 2ndIsBusyToneDetermineCount
3.1.2.6.5.5.2 2ndIsBusyToneDetermineCount
2ndBusyTonePeriod
Configuration Item
2ndIsBusyToneDetermineCount
Section [SystemConfig]
Format 1:2ndBusyTonePeriod=p1
Format 2:2ndBusyTonePeriod=p1,p2
Written Format Format 3:2ndBusyTonePeriod=p1,p2,p3
Format 4:2ndBusyTonePeriod=p1,p2,p3,p4
2ndIsBusyToneDetermineCount=n
p1,p2,p3,p4: Busy tone cycle (ms), range of value: 200≤pi≤2000, default value: 700ms。
Value Range
n: The minimum number of the busy tone cycles,1≤n≤10, with the default value of 2
Sets parameters of the Busy Tone Detector in the 2nd Call Progress Tone Detector
2ndBusyTonePeriod sets the busy tone cycle, at most 4 busy tone cycles can be set,
Description separated by ‘,’. Format 1, format 2, format 3 and format 4 are applicable to setting 1~4
cycles respectively . For more information, refer to SsmSetBusyTonePeriodEx;
2ndIsBusyToneDetermineCount sets the minimum number of the busy tone cycles
2ndBusyTonePeriod=700 // Detect one type of busy tone, the cycle is 700 ms
Example 2ndBusyTonePeriod=700,1400 //Detect two types of busy tones, the cycles are 700 ms
and 1400 ms respectively
3.1.2.6.5.5.3 MaxBsTnOffTime
Configuration Item MaxBsTnOffTime
Section [SystemConfig]
Written Format MaxBsTnOffTime=t
Value Range t (ms) ≥400, with the default value of 2000 ms
Sets the duration of the busy tone detection. For more information, refer to Busy Tone
Description
Detector in Chapter 1
Note This configuration item also affects the 2nd Call Progress Tone Detector
3.1.2.6.5.6.1 2ndAppointedToneAnalyzerSwitch
Configuration Item 2ndAppointedToneAnalyzerSwitch
Section [SystemConfig]
Written Format 2ndAppointedToneAnalyzerSwitch=m
m=0: Stop the User-defined Tone Detector;
Value Range m=1, Start the User-defined Tone Detector, detect continuous tone;
m=2: Start the User-defined Tone Detector, detect periodic tone
Sets the operating status of the User-defined Tone Detector in the 2nd Call Progress Tone
Description
Detector. For more information, refer to User-defined Tone Detector in Chapter 1
3.1.2.6.5.6.2 2ndIsAppointedToneDetermineTime
Configuration Item 2ndIsAppointedToneDetermineTime
Section [SystemConfig]
Written Format 2ndIsAppointedToneDetermineTime=t
Value Range t (ms) ≥16: the minimum duration, with the default value of 80
Sets the minimum duration of the user-defined continuous tone, it’s applicable to the
Description User-defined Tone Detector in the 2nd Progress Tone Detector. For more information, refer
to User-defined Tone Detector in Chapter 1
z Only when the configuration item 2ndAppointedToneAnalyzerSwitch is set 1, this
configuration item is valid;
z If the set value of this configuration item is less than the set value of
Note 2ndIsDialToneDetermineTime, the dial tone will not be detected correctly; If the set
value of this configuration item is larger than the set value of
2ndIsDialToneDetermineTime, the user-defined continuous tone will not be detected
correctly
3.1.2.6.5.6.3 2ndAppointedTonePara
Refer to 2ndIsAppointedToneDetermineCount
3.1.2.6.5.6.4 2ndIsAppointedToneDetermineCount
2ndAppointedTonePara
Configuration Item
2ndIsAppointedToneDetermineCount
Section [SystemConfig]
2ndAppointedTonePara=tH,tL
Written Format
2ndIsAppointedToneDetermineCount=n
tH: The duration (ms) of the tone at on state, 16≤tH≤6000, with the default value of 2000
Value Range tL: The duration (ms) of the tone at off state, 16≤tL≤6000, with the default value of 2000
n: User-defined minimum number of tone cycles, 1≤n≤10, with the default value of 2
Sets parameters of the periodic tones of User-defined Tone Detector in the 2nd Call Progress
Tone Detector;
Description 2ndAppointedTonePara sets the duration of the tone at off and on states,
2ndIsAppointedToneDetermineCount sets the minimum number of the tone cycles to be
counted
Only when the configuration item 2ndAppointedToneAnalyzerSwitch is set to be 2, this
Note
configuration item is valid
3.1.2.6.6.1 VoiceFreqF1Para
Refer to VoiceFreqF2Para
3.1.2.6.6.2 VoiceFreqF2Para
VoiceFreqF1Para
Configuration Item
VoiceFreqF2Para
Section [SystemConfig]
VoiceFreqF1Para=f1,b1,r1,t1
Written Format
VoiceFreqF2Para=f2,b2,r2,t2
f1,f2: Center frequency (Hz), range of value: 300~3400, the default value of f1 is 1100, the
default value of f2 is 2100;
b1,b2: Bandwidth (Hz), range of value: 40~120, with the default value of 80;
Value Range
r1,r2: The minimum threshold value (%) for the percentage of in-band energy to overall
energy, range of value: 15~80, with the default value of 50
t1,t2: The minimum duration (ms), range of value: ≥64, with the default value of 300
Sets parameters of the fax progress tone detector. VoiceFreqF1Para sets the 1st fax
Description progress tone detector; VoiceFreqF2Para sets the 2nd fax progress tone detector.
For more information, refer to SsmSetVoiceFxPara.
3.1.2.6.7.1.1 ToneAnalyzeAtRcvFsk
Configuration Item ToneAnalyzeAtRcvFsk
Section [BoardId=x]
Written Format ToneAnalyzeAtRcvFsk=b
b=0: No (default);
Value Range
b=1: Yes
When the FSK receiver is working, whether to start the Simplified Busy Tone Detector. For
Description
more information, refer to ‘Simplified Busy Tone Detector’ in Chapter 1
This configuration item normally is only applicable to analog trunk channels of SHT Series,
Note
being valid when ToneDetectorMode=1.
3.1.2.6.7.2.1 TAARFDetermineEnergy
Configuration Item TAARFDetermineEnergy
Section [BoardId=x]
Written Format TAARFDetermineEnergy=e
e≥700, with the default value of 100000;
Value Range For the conversion between the value of this parameter and the DB value, refer to ‘FFT’ in
‘Tone Detector’ of Chapter 1.
Sets the threshold value for noise detection on the line. For more information, refer to
Description
Simplified Busy Tone Detector in Chapter 1.
Note This configuration item is only applicable to simplified busy tone detector.
3.1.2.6.8.1.1 IsEchoQuickDetect
Configuration Item IsEchoQuickDetect
Section [BoardId=x]
Written Format IsEchoQuickDetect=b
b=0: A complete ringback tone must be detected, and the ringback tone starts to be
measured when it goes at off state (default);
Value Range b=1: Based on the allowance error set by EchoOnTolerance or EchoOffTolerance, the
ringback tone is detected. The ringback tone may start to be measured when it goes either
at on or off state.
Description Setting ringback tone detection method
3.1.2.6.8.2.1 EchoOnTolerance
Configuration Item EchoOnTolerance
Section [BoardId=x]
Written Format EchoOnTolerance=e
Value Range 0≤e≤50, with the default value of 40
Sets the allowance error in detecting the ringback tone at on state. If the value is set to 40,
Description 40% error is allowed, i.e. for the ringback tone of 1sec on, as long as it is detected to go at
on state for 600ms, it is regarded as the ringback tone at on state
Note Works cooperatively with IsEchoQuickDetect and EchoOffTolerance
3.1.2.6.8.3.1 EchoOffTolerance
Configuration Item EchoOffTolerance
Section [BoardId=x]
Written Format EchoOffTolerance =e
Value Range 0≤e≤50, with the default value of 50
Sets the allowance error in detecting the ringback tone at off state. If the value is set to
Description 50, 50% error is allowed, i.e. for the ringback tone of 4sec off, as long as it is detected to
go at off state for 2sec, it is regarded as the ringback tone at off state
Note Works cooperatively with IsEchoQuickDetect and EchoOnTolerance
3.1.2.6.9.1 CCIREnableDetector
Configuration Item CCIREnableDetector
Section [SystemConfig]
Written Format CCIREnableDetector=b
b=0: Disable the CCIR tone detector (default);
Value Range
b=1: Enable the CCIR tone detector.
Description Sets whether to enable the CCIR tone detector.
3.1.2.7.1 EnableAMD
3.1.2.7.2 AMDNoSoundAfterDialTime
3.1.2.7.3 AMDNoSoundTime
3.1.2.7.4 AMDTimeOut
3.1.2.7.5 AMDToneCount
3.1.2.7.6 AMDTOn
3.1.2.7.7 AMDTOff
3.1.2.7.8 AMDTimeA
3.1.2.7.9 AMDTimeB
3.1.2.7.10 AMDTimeC
3.1.2.7.11 AMDTimeD
3.1.2.7.12 AMDSilentEnergy
3.1.2.8.1 ToneDetectorMode
3.1.2.8.2 VoiceOffDetermineTime
3.1.2.8.3 MaxToneDetectorItem
3.1.2.8.4 ToneDetectorItem
Value Range:
Value Range: (>=300 Value Range: (>=300
(>=300 && <=3400)
F1(Hz) && <=3400) && <=3400)
The frequency of
The 1st mid-frequency The 1st mid-frequency
the 1st band
Value Range: (==0 || Value Range: (==0 ||
(>=300 && <=3400)) (>=300 && <=3400)) Value Range:
The 2nd mid-frequency, The 2nd mid-frequency, (>=300 && <=3400)
F2(Hz)
which is equal to 0 in which is equal to 0 in The frequency of
detection of single detection of single the 2nd band
tones. tones.
Value Range:
(>=300 && <=3400)
F3(Hz) Invalid Invalid
The frequency of
the 3rd band
Value Range: >= 16
Value Range: >= 16 Value Range: >= 16
T1(ms) Duration of the 1st
Duration at on state Duration at on state
band
Value Range: >= 16
Value Range: >= 16
T2(ms) Invalid Duration of the 2nd
Duration at off state
band
Value Range: >= 16
T3(ms) Invalid Invalid Duration of the 3rd
band
Value Range:
Value Range: Value Range:
(>0&&<=100)
(>0&&<=100) (>0&&<=100)
Filtering point
Con Filtering point number Filtering point number at
number at on state
at on state (time length on state (time length at
(time length at each
at each point is 16ms) each point is 16ms)
point is 16ms)
Value Range:
Value Range: Value Range:
(>0&&<=100)
(>0&&<=100) (>0&&<=100)
Filtering point
Coff Filtering point number Filtering point number at
number at off state
at off state (time length off state (time length at
(time length at each
at each point is 16ms) each point is 16ms)
point is 16ms)
Value Range: (>0 && Value Range: (>0 && Value Range: (>0
<=3400) <=3400) && <=3400)
Ferr(Hz)
Frequency error Frequency error Frequency error
threshold threshold threshold
Value Range:
Value Range: (>=15 Value Range: (>=15 &&
(>=15 && <=80)
&& <=80) <=80)
Threshold value for
Threshold value for the Threshold value for the
Rbw(%) the minimum
minimum percentage minimum percentage of
percentage of
of in-band energy to in-band energy to
in-band energy to
overall energy overall energy
overall energy
Value Range: (>0 && Value Range: (>0 && Value Range: (>0
<100) <100) && <100)
Accepted maximum Accepted maximum Accepted maximum
Terr(%)
error threshold for error threshold for error threshold for
duration at on state (in duration at on or off duration at on state
percentage) state (in percentage) (in percentage)
Value Range: 0 or 1
Way to judge a
complete period. 0
indicates the use of
threshold value to judge
the off state. Judgement
condition: Duration at off
Pend Invalid Invalid
state >= T2. 1 indicates
the use of error to judge
the off state. Judgement
condition:
T2*(1-Terr(%))<=
Duration at off state
<=T2*(1+Terr(%))
Value Range: (>0 &&
<=10)
Throw out the event
Ccnt Invalid Invalid
E_CHG_ToneDetector
upon detection of Ccnt
complete periods.
Value Range:>= 16
Clear the period count if
Tclr(ms) Invalid no complete period is Invalid
detected during the time
Tclr(ms)
The type of the
The type of the event
The type of the event event which is
which is thrown out to
which is thrown out to thrown out to the
the application
Eevent the application program application program
program after tone
after tone detection. See after tone detection.
detection. See Note 1
Note 1 for details. See Note 1 for
for details.
details.
Value Range: 0 or 1
Value Range: 0 or 1
Value Range: 0 or 1 Whether to throw
Whether to throw out
Whether to throw out out the event to the
the event to the
Sstate the event to the channel channel state
channel state machine.
state machine. 0: Not machine. 0: Not
0: Not throw out; 1:
throw out; 1: Throw out. throw out; 1: Throw
Throw out.
out.
Value Range: 0 or 1 Value Range: 0 or 1 Value Range: 0 or 1
Whether to stop tone Whether to stop tone Whether to stop
Sstop detection once a tone detection once a tone is tone detection once
is detected. 0: Not detected. 0: Not stop; 1: a tone is detected.
stop; 1: Stop. Stop. 0: Not stop; 1: Stop.
Value Range: 0 or 1 Value Range: 0 or 1 Value Range: 0 or 1
0 indicates the tone 0 indicates the tone 0 indicates the tone
detector is working in detector is working in detector is working
We FFT analysis; 1 FFT analysis; 1 in FFT analysis; 1
indicates the tone indicates the tone indicates the tone
detector is working in detector is working in detector is working
FSK reception. FSK reception. in FSK reception.
Note 1: The driver will throw out the event E_CHG_ToneDetector upon tone detection. The
2 lower bits in the parameter dwParam of this event represent the tone type, which are
evaluated by Event in the configuration item ToneDetectorParamItem[n] in the use of the
enhanced tone detector. The value range of Event is 0~0xFFFF, while 0~9 have been defined
by the driver. See the table below for details.
Configured Corresponding Flag in Description Use Can be
Sstate 1 1 1 1 1
Sstop 0 0 0 0 0
We 0 0 0 0 0
Description Sets each parameter for tone detection so as to detect all specified tones.
3.1.2.9.1 DefaultSendToneFrequence
Refer to DefaultSendToneVolume.
3.1.2.9.2 DefaultSendToneVolume
DefaultSendToneFrequence
Configuration Item
DefaultSendToneVolume
Section [BoardId=x]
DefaultSendToneFrequence=f1,f2
Written Format
DefaultSendToneVolume=v1,v2
st
f1: The 1 frequency (Hz) of the tone, with the default value of 450;
f2: The 2nd frequency (Hz) of the tone, f2 equals to 0 means single tone, greater than 0
means dual tone. Default value is 0;
v1: The 1st volume of the tone, range of value: -7≤v1≤+6. v1=-7 means this tone is disabled;
Value Range if v1 is greater than 0, it indicates the increase in volume; if v1 is less than 0, it means the
decrease in volume. The set value multiplied by 3 equals to the DB value, with the
default value of 0;
v2: The 2nd volume of the tone, the range of value and meaning are the same as v1, with the
default value of -7
Sets the parameters of the tone generator. DefaultSendToneFrequence sets the frequency of
Description
the tone, DefaultSendToneVolume sets the volume of the tone
DefaultSendToneFrequence=450, 600 // Using dual tone
Example
DefaultSendToneVolume=0,0
3.1.2.10.1 ClearInVoiceOnRxDtmf
z Format 1 is applicable to SHT Series voice boxes and ATP Series recording boxes
adopting USB ;
z Format 2 is applicable to 8-channel SHT Series boards;
Note z Format 3 is applicable to 16-channel SHT Series boards;
z Format 4 is applicable to SHD Series boards;
z The function of SsmSetFlag (with the parameter of F_ClearInVoiceOnRcvDtmf) may
implement the same feature
3.1.2.10.2 ClearInVoiceOnRx450Hz
3.1.2.10.3 ConfMaxGroup
3.1.2.10.4 ConfDefaultMaxGroupMember
3.1.2.10.5 ConfDefaultMaxGroupSpeaker
3.1.2.10.6 ConfDefaultMaxGroupSpeaking
3.1.2.10.7 ConfJoinedbyEnergy
3.1.2.10.8 ConfMaxListener
3.1.2.10.9 ConfDefaultMaxSilenceTime
3.1.2.10.10 BackgroundVoicePriority
n=1: The priority is higher than the organizer mode. It’s provided with special conference
mixer;
n=2: The priority is lower than the organizer mode, but higher than the chairman mode
Value Range default value);
n=3: The priority is lower than the chairman mode, but higher than the dynamic speaker
mode;
n=4: The priority is lower than the dynamic mode
Sets the scheduling priority for the speaking mode of the channel which is used to play the
Description background music. For more information, refer to ‘Distributed Teleconferencing System’ in
Chapter 1
3.1.2.10.11 PlayVoiceIsListen
3.1.2.10.12 QuitDynKeepingInConf
3.1.2.11.1.1 DefaultDtmfStopPlay
Refer to DtmfStopPlayCharSet
3.1.2.11.1.2 DtmfStopPlayCharSet
DefaultDtmfStopPlay
Configuration Item
DtmfStopPlayCharSet
Section [BoardId=x]
Format 1:DefaultDtmfStopPlay=b,b,b,b
DtmfStopPlayCharSet={s,s,s,s}
Format 2:DefaultDtmfStopPlay=b,b,b,b,b,b,b,b
DtmfStopPlayCharSet={s,s,s,s,s,s,s,s}
Written Format
Format 3:DefaultDtmfStopPlay=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
DtmfStopPlayCharSet={s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s}
Format 4:DefaultDtmfStopPlay=b
DtmfStopPlayCharSet=s
b=0: No (default), DtmfStopPlayCharSet is invalid at this time;
b=1: Yes, DtmfStopPlayCharSet is valid at this time; s={0123456789*#abcd }, the
Value Range
character set containing any number of DTMF characters, the default value is a full
set
DefaultDtmfStopPlay sets whether the voice playing is terminated because the DTMF
Description Detector detects the DTMF character. If it is set to ‘yes’, DtmfStopPlayCharSet sets the
DTMF character set
z Format 1 is applicable to SHT Series USB voice boxes;
z Format 2 and format 3 are applicable to 8-channel and 16-channel SHT Series
Note
respectively;
z Format 4 is applicable to SHD and SHN Series.
DefaultDtmfStopPlay=1
Example DtmfStopPlayCharSet={#} // SHD Series: The voice playing is stopped once ‘#’ is
detected, other characters are not effective
3.1.2.11.1.3 HangupStopPlay
Configuration Item HangupStopPlay
Section [BoardId=x]
Format 1:HangupStopPlay=b,b,b,b
Format 2:HangupStopPlay=b,b,b,b,b,b,b,b
Written Format
Format 3:HangupStopPlay=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4:HangupStopPlay=b
b=0: No (default);
Value Range
b=1: Yes
Sets whether the voice playing is terminated because the state machine of the driver detects
Description
remote hangup
z Format 1 is applicable to SHT Series USB voice boxes;
z Format 2 and format 3 are applicable to 8-channel and 16-channel SHT Series
Note
respectively;
z Format 4 is applicable to SHD and SHN Series.
3.1.2.11.1.4 DefaultBargeInStopPlay
Configuration Item DefaultBargeInStopPlay
Section [BoardId=x]
Format 1:DefaultBargeInStopPlay=b,b,b,b
Format 2:DefaultBargeInStopPlay=b,b,b,b,b,b,b,b
Written Format
Format 3:DefaultBargeInStopPlay=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4:DefaultBargeInStopPlay=b
b=0: No (default);
Value Range
b=1: Yes
Sets whether the voice playing is terminated because the Barge in Detector detects voice
Description
activities
3.1.2.11.2.1 PlayBufSize
Configuration Item PlayBufSize
Section [SystemConfig]
Written Format PlayBufSize=k
k: The length (bytes) of the playback buffer area, it must be integral times of 512, with the
Value Range
default value of 32768 bytes
Description Sets the size of the internal playback buffer area allocated by the driver for each channel
3.1.2.11.3.1 MaxPlayFileList
Configuration Item MaxPlayFileList
Section [SystemConfig]
Written Format MaxPlayFileList=n
Value Range 0≤n≤65535, with the default value of 256
Sets the upper limit number of the voice files that the application is allowed to submit to the
Description
driver through the function call of SsmAddToFileList
3.1.2.11.4.1 MaxPlayIndexList
Configuration Item MaxPlayIndexList
Section [SystemConfig]
Written Format MaxPlayIndexList=n
Value Range 0≤n≤512, with the default value of 256.
Sets the upper limit number of preload voice segments allowed to be played upon one call
Description
of SsmPlayIndexList or SsmPlayIndexString.
3.1.2.11.5.1 MaxPlayMemList
Configuration Item MaxPlayMemList
Section [SystemConfig]
Written Format MaxPlayMemList=n
Value Range 0≤n≤65535, with the default value of 256
Sets the upper limit number of the buffer areas that the application is allowed to submit to
Description
the driver through the function call of SsmAddToPlayMemList
3.1.2.11.6.1 FastPlayTime
Configuration Item FastPlayTime
Section [SystemConfig]
Written Format FastPlayTime=t
t denotes the step size (ms) of each operation of fast-forward or fast-backward, the with
Value Range
the default value of 1000
Description Sets the step sizes of the functions of SsmFastFwdPlay and SsmFastBwdPlay
3.1.2.11.7.1 DefaultPlayVolume
Configuration Item DefaultPlayVolume
Section [BoardId=x]
Format 1:DefaultPlayVolume=v,v,v,v
Format 2:DefaultPlayVolume=v,v,v,v,v,v,v,v
Written Format
Format 3:DefaultPlayVolume=v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v
Format 4:DefaultPlayVolume=v
Value Range -7≤v≤+6, with the default value of 0
Description Sets the gain of the volume adjuster A1 of SHD/SHT Series
z Format 1 is applicable to SHT Series USB voice boxes and ATP Series USB recording
boxes;
Note z Format 2 is applicable to 8-channel SHT and ATP Series;
z Format 3 is applicable to 16-channel SHT, ATP and DST Series;
z Format 4 is applicable to SHD and DTP Series
3.1.2.11.8.1 DefaultPlayFormat
Configuration Item DefaultPlayFormat
Section [BoardId=x]
Format 1: DefaultPlayFormat =v,v,v,v
Format 2: DefaultPlayFormat =v,v,v,v,v,v,v,v
Written Format
Format 3: DefaultPlayFormat =v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v
Format 4: DefaultPlayFormat =v
v=6, A-law (default);
Value Range v=7, μ-law;
v=17, ADPCM.
Description Sets the channel’s defaulted encoding format of voice playing
z Format 1 is applicable to SHT Series USB voice boxes and ATP Series USB recording
boxes;
Note z Format 2 is applicable to 8-channel SHT and ATP Series;
z Format 3 is applicable to 16-channel SHT, ATP and DST Series;
z Format 4 is applicable to SHD and DTP Series
3.1.2.11.9.1 DefaultPausePlayOnRxDtmf
Configuration Item DefaultPausePlayOnRxDtmf
Section [BoardId=x]
Format 1:DefaultPausePlayOnRxDtmf=b,b,b,b
Format 2:DefaultPausePlayObRxDtmf=b,b,b,b,b,b,b,b
Written Format Format 3:DefaultPausePlayObRxDtmf=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4:DefaultPausePlayObRxDtmf=b
Format 5:DefaultPausePlayObRxDtmf=[0,29]:b
b=0: No;
Value Range
b=1: Yes (default)
When the DTMF Detector detects DTMF signals in the incoming call, if the voice is playing
on the channel, in order to ensure the correct operation of the DTMF Detector, the driver
needs to suspend the voice playing. The driver will automatically resume the voice playing
Description
until the DTMF signal disappears. This configuration item sets whether to enable this feature
or not.
Normally, it’s set to be 0 for recording channels and 1 for other channels
z Format 1 is applicable to SHT and ATP Series USB voice boxes/recording boxes;
z Format 2 is applicable to 8-channel SHT and ATP Series;
z Format 3 is applicable to 16-channel SHT, ATP and ATP Series;
Note
z Format 4 is applicable to SHD Series
z Format 5 is applicable to the channel bank of 30 channels
z This configuration item is inapplicable to 16-channel C-type SHT series.
3.1.2.11.9.2 PlayFilterFlag
Configuration Item PlayFilterFlag
Section [BoardId=x]
Format 1: PlayFilterFlag =b,b,b,b,b,b,b,b
Written Format
Format 2: PlayFilterFlag =b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=0: No (default);
Value Range
b=1: Yes.
If voices are played in great volume, the DTMF detector probably fails to acquire the correct
DTMF digits sent from the remote end. In such situation, the filter should be enabled to avoid
Description
the effect of the great volume on DTMF reception. This configuration item just determines
whether to enable the filter or not.
z This configuration item is only applicable to SHT-8C/PCI/EC, SHT-16C/PCI/EC and
SHT-16C/PCI/FAX boards;
Note
z Format 1 is applicable to 8-channel SHT Series;
z Format 2 is applicable to 16-channel SHT Series.
3.1.2.12.1.1 DtmfStopRecCharSet
Configuration Item DtmfStopRecCharSet
Section [BoardId=x]
Format 1:DtmfStopRecCharSet={s,s,s,s}
Format 2:DtmfStopRecCharSet={s,s,s,s,s,s,s,s}
Written Format
Format 3:DtmfStopRecCharSet={s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s}
Format 4:DtmfStopRecCharSet=s
‘s’ is the DTMF character set with the format of {***}, in which * may be any one character of
‘0123456789*#abcd’, the number of characters is set based on the actual needs. If ‘s’ is an
Value Range
empty set, this feature is disabled; If ‘s’ is not empty, this feature is enabled. Default value is
an empty set
Sets whether the recording is terminated because the DTMF Detector detects the DTMF
Description
character
z Format 1 is applicable to the SHT Series USB voice box and the ATP Series USB
recording box;
Note z Format 2 is applicable to 8-channel SHT and ATP Series;
z Format 3 is applicable to 16-channel SHT, ATP and DST Series;
z Format 4 is applicable to SHD, DTP and SHN Series.
DtmfStopRecCharSet={0123456789*#abcd } //SHD Series: The recording stops once any
Example
of the characters in the set is detected
3.1.2.12.1.2 HangupStopRec
Configuration Item HangupStopRec
Section [BoardId=x]
Format 1:HangupStopRec=b,b,b,b
Format 2:HangupStopRec=b,b,b,b,b,b,b,b
Written Format
Format 3:HangupStopRec=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4:HangupStopRec=b
b=0: No (default);
Value Range
b=1: Yes
Sets whether the voice recording is terminated because the state machine of the driver
Description
detects remote hangup
z Format 1 is applicable to the SHT Series USB voice box;
z Format 2 is applicable to 8-channel SHT Series;
Note
z Format 3 is applicable to 16-channel SHT Series;
z Format 4 is applicable to SHD and SHN Series.
3.1.2.12.2.1 DefaultRecordVolume
Refer to DefaultRecordMixerVolume
3.1.2.12.2.2 DefaultRecordMixerVolume
DefaultRecordVolume
Configuration Item
DefaultRecordMixerVolume
Section [BoardId=x]
Format 1:DefaultRecordVolume=v3,v3,v3,v3
DefaultRecordMixerVolume=v2,v2,v2,v2
Format 2:DefaultRecordVolume=v3,v3,v3,v3,v3,v3,v3,v3
DefaultRecordMixerVolume=v2,v2,v2,v2,v2,v2,v2,v2
Written Format
Format 3:DefaultRecordVolume= v3,v3,v3,v3,v3,v3,v3,v3,v3,v3,v3,v3,v3,v3,v3,v3
DefaultRecordMixerVolume=v2,v2,v2,v2,v2,v2,v2,v2,v2,v2,v2,v2,v2,v2,v2,v2
Format 4:DefaultRecordVolume=v3
DefaultRecordMixerVolume=v2
v3,v2: Volume of the volume adjuster, -7≤v3≤+6,-7≤v2≤+6. -7 implies the volume adjuster is
stopped. Other values represent the volume gains (v3/v2×3 being the decibel value
Value Range (db)), those greater than 0 indicating the increase in volume and those less than 0
reflecting the decrease in volume. The default value of v3 is 0 while the default value of
v2 is -7.
Sets the gain of signals entering the recording mixer M3. DefaultRecordVolume sets the
gain of the volume adjuster A3, while DefaultRecordMixerVolume sets the gain of the
Description
volume adjuster A2. For more information, refer to the operation principle of corresponding
boards in Chapter 1
z Format 1 is applicable to the SHT Series USB voice box and the ATP Series USB
recording box;
z Format 2 is applicable to 8-channel SHT and ATP Series;
Note
z Format 3 is applicable to 16-channel SHT and ATP Series (DefaultRecordVolume is also
applicable to DST Series)
z Format 4 is applicable to SHD and DTP Series
Example DefaultRecordVolume=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 // Increase the volume by 3DB
3.1.2.12.3.1 TruncateTailOnRecordToFile
Configuration Item TruncateTailOnRecordToFile
Section [SystemConfig]
Written Format TruncateTailOnRecordToFile=t
t=0: Disable this feature (default);
Value Range
t>0: The length (ms) of the voice data truncated from the file tail
Sets the time length for tail truncation during the file recording. For more information about
Description the file tail truncation during file recording, refer to the description of the function
SsmSetTruncateTail.
Note This configuration item requires SynCTI Ver. 2.1 or above
3.1.2.12.4.1 DefaultRecordFormat
Configuration Item DefaultRecordFormat
Section [BoardId=x]
Format 1: DefaultRecordFormat =v,v,v,v
Format 2: DefaultRecordFormat =v,v,v,v,v,v,v,v
Written Format
Format 3: DefaultRecordFormat =v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v
Format 4: DefaultRecordFormat =v
V=6, A-law (default);
Value Range V=7, μ-law;
V=17, ADPCM.
Description Sets the channel’s defaulted encoding format of voice recording.
z Format 1 is applicable to SHT Series USB voice boxes and ATP Series USB recording
boxes;
Note z Format 2 is applicable to 8-channel SHT and ATP Series;
z Format 3 is applicable to 16-channel SHT, ATP and DST Series;
z Format 4 is applicable to SHD and DTP Series
3.1.2.12.5.1 RecordBufSize
Configuration Item RecordBufSize
Section [SystemConfig]
Written Format RecordBufSize=k
k: The length of the buffer area, calculated by byte. It must be the multiple of 512, with the
Value Range minimum value of 4096 and the default value of 32768. When GsmCodecEnable is enabled,
the minimum value of this configuration item turns to be 16384.
Description Sets the size of the internal recording buffer area allocated by the driver for each channel
3.1.2.12.6.1 RecAsWavFormat
Configuration Item RecAsWavFormat
Section [SystemConfig]
Written Format RecAsWavFormat =K
K=0: Use the format of the file itself for recording, i.e. only the file with an extension name of
Value Range wav or mp3 is recorded in wav format.
K=1: All files are recorded in wav format.
Description Sets the use of wav format to record files.
3.1.2.12.6.2 Mp3IsOnlyRead
Configuration Item Mp3IsOnlyRead
Section [SystemConfig]
Written Format Mp3IsOnlyRead =K
K=0: The recorded MP3 file is in the common state, readable and writable;
Value Range
K=1: The recorded MP3 file is in the read-only state, read only, not writable.
Description Sets the property of the recorded MP3 files.
3.1.2.12.7.1 AGCMAXGAIN
Refer to AGCMINGAINDOWNLINK
3.1.2.12.7.2 AGCMINGAIN
Refer to AGCMINGAINDOWNLINK
3.1.2.12.7.3 AGCMAXGAINUPLINK
Refer to AGCMINGAINDOWNLINK
3.1.2.12.7.4 AGCMINGAINUPLINK
Refer to AGCMINGAINDOWNLINK
3.1.2.12.7.5 AGCMAXGAINDOWNLINK
Refer to AGCMINGAINDOWNLINK
3.1.2.12.7.6 AGCMINGAINDOWNLINK
AGCMAXGAIN
AGCMINGAIN
AGCMAXGAINUPLINK
Configuration Item
AGCMINGAINUPLINK
AGCMAXGAINDOWNLINK
AGCMINGAINDOWNLINK
Section [BoardId=x]
AGCMAXGAIN=Gmax
AGCMINGAIN=Gmin
AGCMAXGAINUPLINK=Gmax
Written Format
AGCMINGAINUPLINK=Gmin
AGCMAXGAINDOWNLINK=Gmax
AGCMINGAINDOWNLINK=Gmin
Gmax: 1≤Gmax≤255, with the default value of 255. When Gmax=255, the maximum AGC gain is
24dB. This parameter is used to control the maximum gain increase of small signals.
The greater the value is, the easier the level of small signals is increased; however, the
background noise gets larger at the same time.
Value Range
Gmin: 1≤Gmin≤255, with the default value of 6. When Gmin=6, the minimum AGC gain is
-8.5dB. This parameter is used to control the maximum gain decrease of large signals.
This parameter should be equal to or greater than 16 if the AGC controller is required to
provide gain increase only.
Description Parameters to control the range of DSP gain increase and decrease
z The default setting of AGC is 16, which indicates the gain of 0dB (neither increase nor
decrease). When the output signal level is lower than the expected level, the AGC value
gets greater; otherwise it drops. The actual level gain of AGC is 20log (gain value/16) dB.
This configuration item is an advanced one. Our default AGC settings are suitable for most
application environments. If you are required to reset the parameters for AGC in particular
Note
cases, please do it under the instruction of our technicians.
z As the special AGC configuration items for DST-24B/PCI, DST-24B/PCI+, DST-24B/PCIe,
DST-24B/PCIe+ boards, the configuration items AGCMAXGAINUPLINK,
AGCMINGAINUPLINK, AGCMAXGAINDOWNLINK and AGCMINGAINDOWNLINK are
used to set the uplink and downlink AGC parameters.
3.1.2.12.7.7 AGCMAXLEVEL
Refer to AGCMINLEVELDOWNLINK
3.1.2.12.7.8 AGCMINLEVEL
Refer to AGCMINLEVELDOWNLINK
3.1.2.12.7.9 AGCMAXLEVELUPLINK
Refer to AGCMINLEVELDOWNLINK
3.1.2.12.7.10 AGCMINLEVELUPLINK
Refer to AGCMINLEVELDOWNLINK
3.1.2.12.7.11 AGCMAXLEVELDOWNLINK
Refer to AGCMINLEVELDOWNLINK
3.1.2.12.7.12 AGCMINLEVELDOWNLINK
AGCMAXLEVEL
AGCMINLEVEL
AGCMAXLEVELUPLINK
Configuration Item
AGCMINLEVELUPLINK
AGCMAXLEVELDOWNLINK
AGCMINLEVELDOWNLINK
Section [BoardId=x]
AGCMAXLEVEL=Lmax
AGCMINLEVEL=Lmin
AGCMAXLEVELUPLINKL=Lmax
Written Format
AGCMINLEVELUPLINK=Lmin
AGCMAXLEVELDOWNLINKL=Lmax
AGCMINLEVELDOWNLINK=Lmin
Lmax: AGCMINLEVEL≤Lmax≤25600000, with the default value of 3200000. The maximum
output voltage level. If the actual output voltage level is greater than Lmax, the AGC
module starts reducing the gain and doesn’t stop until the minimum gain set by the
configuration item AGCMINGAIN is reached.
Value Range
Lmin: 0≤Lmin≤AGCMAXLEVEL, with the default value of 2560000. The minimum output
voltage level. If the actual output voltage level is less than Lmin and keeps for a certain
period of time, the AGC module starts increasing the gain and doesn’t stop until the
maximum gain set by the configuration item AGCMAXGAIN is reached.
Description Parameters to control the expected value of the AGC output voltage level
z AGC adjusts the gain to control the output signals within a specified range. If the output
voltage level is expected to be as stable as possible, you may set the two parameters to be
nearly equal but not completely equal; otherwise, the frequent adjustment of gain will lead
to the fluctuation of the AGC output voltage level even if the input voltage level is quite
stable. The full amplitude of the voltage level is 25600000. If the full-amplitude level is
assumed to be 0dB, the level value should be set to 10log (set value/25600000) dB, with
the default values 3200000 and 2560000 respectivley corresponding to -9dB and -10dB.
Note
This configuration item is an advanced one. Our default settings are suitable for most
application environments. If you are required to reset this item, please do it under the
instruction of our technicians.
z As the special AGC configuration items for DST-24B/PCI, DST-24B/PCI+, DST-24B/PCIe,
DST-24B/PCIe+ boards, the configuration items AGCMAXLEVELUPLINK,
AGCMINLEVELUPLINK, AGCMAXLEVELDOWNLINK and AGCMINLEVELDOWNLINK
are used to set the uplink and downlink AGC parameters.
3.1.2.12.7.13 AGCDOWNRATIO
Refer to AGCKEEPTIME
3.1.2.12.7.14 AGCUPRATIO
Refer to AGCKEEPTIME
3.1.2.12.7.15 AGCDOWNRATIOUPLINK
Refer to AGCKEEPTIME
3.1.2.12.7.16 AGCUPRATIOUPLINK
Refer to AGCKEEPTIME
3.1.2.12.7.17 AGCDOWNRATIODOWNLINK
Refer to AGCKEEPTIME
3.1.2.12.7.18 AGCUPRATIODOWNLINK
Refer to AGCKEEPTIME
3.1.2.12.7.19 AGCKEEPTIME
AGCDOWNRATIO
AGCUPRATIO
AGCDOWNRATIOUPLINK
Configuration Item AGCUPRATIOUPLINK
AGCDOWNRATIODOWNLINK
AGCUPRATIODOWNLINK
AGCKEEPTIME
Section [BoardId=x]
AGCDOWNRATIO=Rdown
AGCUPRATIO=Rup
AGCDOWNRATIOUPLINK=Rdown
Written Format AGCUPRATIOUPLINK=Rup
AGCDOWNRATIODOWNLINK=Rdown
AGCUPRATIODOWNLINK=Rup
AGCKEEPTIME=t
Rdown: 0≤Rdown≤100, with the default value of 35. The step size of automatic gain decrease (5
denotes 5%), used to control the speed of gain decrease. Usually it should be set to a
high speed so as to avoid signal chopped distortion.
Rup: 0≤Rup≤100, with the default value of 1. The step size of automatic gain increase (5
denotes 5%), used to control the speed of gain increase. Usually it should be set to a
Value Range low speed so as to eliminate the background noise for output signals. However, if the
speed is set too low, small signals cannot be amplified in time.
t: 0≤t≤32768, with the default value of 0. Duration, each unit is 8ms. There may keep a
periodof time before the gain turns from decrease to increse. Duration=*16ms(set value).
The setting of this parameter can help eliminate the backgroud noise for voice interval, but
will delaly the gain increase of small signals. It is not necessary for gain decrease.
Description Parameters to control the speed of AGC gain decrease/increase
z The speed of gain decrease/increase set by DOWN_TIMEand UP_TIME is 20log(1/(1-set
value/100))dB/16ms. The defualt decrease speed is 3.7dB/16ms. That is, the gain can
decrease from the maximum value to 0dB in approximately 100ms. The defualt increase
speed is 0. 087dB/16ms. That is, the gain can increase from 0dB to the maximum value in
about 4 seconds. This configuration item is an advanced one. Our default settings are
Note suitable for most application environments. If you are required to reset this item, please do
it under the instruction of our technicians.
z As the special AGC configuration items for DST-24B/PCI, DST-24B/PCI+, DST-24B/PCIe,
DST-24B/PCIe+ boards, the configuration items AGCDOWNRATIOUPLINK,
AGCUPRATIOUPLINK, AGCDOWNRATIODOWNLINK and AGCUPRATIODOWNLINK
are used to set the uplink and downlink AGC parameters
3.1.2.12.7.20 OpenRecEnAndPlayEnOnIdle
Configuration Item OpenRecEnAndPlayEnOnIdle
Section [BoardId=x]
Format 1:OpenRecEnAndPlayEnOnIdle=b,b,b,b
Written Format Format 2:OpenRecEnAndPlayEnOnIdle=b,b,b,b,b,b,b,b
Format 3:OpenRecEnAndPlayEnOnIdle=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=0: No (default);
Value Range
b=1: Yes
Sets whether to enable the AGC feature during the recording operation when the analog
Description
trunk channel is in the idle state
z This configuration item is only applicable to SHT Series;
Note
z This configuration item requires SynCTI Ver. 4.7.2.0 or above
3.1.2.12.7.21 AutoRecAgcSwitch
Configuration Item AutoRecAgcSwitch
Section [BoardId=x]
Written Format AutoRecAgcSwitch=a
a=0: disabled (default);
a>0: for DST series B-type digital station tap boards, Bit0, Bit1, Bit2 and Bit3 of a are valid:
Bit0=0, the AGC downlink is disabled; Bit0=1, the AGC downlink is enabled;
Value Range Bit1=0, the AGC uplink is disabled; Bit1=1, the AGC uplink is enabled;
Bit2=0, DC-isolated is disabled; Bit2=1, DC-isolated is enabled.
For other boards, Bit0 is valid.
Bit0=0, the AGC is disabled; Bit0=1, the AGC is enabled.
Description Sets whether to automatically enable the AGC feature when the channel is being recorded.
z This configuration item requires SynCTI Ver5.3.1.1 or above.
z For SHT Series, if the AGC feature should always be enabled, besides using this
Note
configuration item you should set the configuration item OpenRecEnAndPlayEnOnIdle to
1.
3.1.2.12.8.1 RecEliDTDurTalking
Configuration Item RecEliDTDurTalking
Section [BoardId=x]
Written Format RecEliDTDurTalking =b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=0: No (default);
Value Range
b=1: Yes.
Description Determines whether to clamp DTMF digits from the call during the recording process.
Note This configuration item is only applicable to the SHT-16C/PCI/EC board.
3.1.2.12.9.1 Mp3EncodingBitRate
Configuration Item Mp3EncodingBitRate
Section [SystemConfig]
Written Format Mp3EncodingBitRate=b
b=1: MP3 recording at the bit rate of 8Kbps(default);
Value Range b=2: MP3 recording at the bit rate of 16Kbps;
b=3: MP3 recording at the bit rate of 32Kbps.
Description Sets the bit rate for MP3 recording.
3.1.2.13.1.1 RecordAndPlayUseAsIP
Configuration Item RecordAndPlayUseAsIP
Section [SystemConfig]
Written Format RecordAndPlayUseAsIP=b
b=0: No (default);
Value Range
b=1: Yes
Sets whether the recording/playing operation supports the mini-buffer. For more
Description
information, refer to SsmPlayMemBlock and SsmRecordMemBlock
3.1.2.13.2.1 BlockPlayType
Configuration Item BlockPlayType
Section [SystemConfig]
Written Format BlockPlayType=b
b=0: Starvation Mode (default);
Value Range
b=1: Non-starvation Mode
Sets whether to select Starvation Mode for voice playing in the Pingpong Buffer Mode.
Starvation Mode: The driver will invoke the callback function repeatedly according to the
Description timer until the internal buffer of the driver is filled full with the data submitted by the
application. Non-starvation Mode: The driver will not invoke the callback function until the
data submitted by the application are all played out.
3.1.2.13.3.1 GsmCodecEnable
Configuration Item GsmCodecEnable
Section [SystemConfig]
Written Format GsmCodecEnable=b
b=0: No (default);
Value Range
b=1: Yes
It decides whether the driver will automatically load macmcvt.dll which is the ACM
component provided by the SynCTI driver for audio encoding and decoding. This
component enables software-based GSM/Mp3 encoding/decoding and G.729A decoding. If
Description the application needs to implement the GSM, Mp3 or G.729A formatted recording/playing
on Synway boards which don’t have corresponding hardware encoders/decoders, the
SynCTI driver can acquire the capability of software encoding and decoding by configuring
this item to load the external ACM program.
3.1.2.14.1.1 AlwaysEnableRxDtmf
Configuration Item AlwaysEnableRxDtmf
Section [BoardId=x]
Written Format AlwaysEnableRxDtmf=m
m=0: The operating status of the DTMF Detector is always automatically controlled by the
driver according to the channel state transition status. When the channel enters the
‘Talking’ state, it is started automatically; When the channel exits the ‘Talking’ state, it
Value Range
is stopped automatically. But the application can control the DTMF Detector by the
function SsmEnableRxDtmf.
m=1: DTMF Detector is always started
Description Sets the operating status of the DTMF Detector
Note This configuration item is applicable to SHD and DTP Series.
3.1.2.14.1.2 RcvDtmfOnIdle
Configuration Item RcvDtmfOnIdle
Section [BoardId=x]
Format 1:RcvDtmfOnIdle=b,b,b,b
Format 2:RcvDtmfOnIdle=b,b,b,b,b,b,b,b
Written Format
Format 3:RcvDtmfOnIdle=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4:RcvDtmfOnIdle=[0,29]:b
b=0: Stop the DTMF Detector (default)
Value Range
b=1: Start the DTMF Detector
Description When the station channel is in the ‘Idle’ state, sets the operating status of DTMF Detector
z This configuration item only supports the station channel;
z Format 1 is only applicable to the SHT Series USB voice boxes;
Note z Format 2 is applicable to 8-channel SHT Series;
z Format 3 is applicable to 16-channel SHT Series;
z Format 4 is applicable to the 30-channel channel bank.
3.1.2.14.2.1 RxDtmfBufSize
Configuration Item RxDtmfBufSize
Section [SystemConfig]
Written Format RxDtmfBufSize=k
Value Range k: The size (bytes) of the buffer area, with the default value of 200
Description Sets the size of the buffer area for the DTMF Detector
3.1.2.14.3.1 DualAndAllFreqEnScale
Configuration Item DualAndAllFreqEnScale
Section [BoardId=x]
Format 1:DualAndAllFreqEnScale=n,n,n,n
Format 2:DualAndAllFreqEnScale=n,n,n,n,n,n,n,n
Written Format
Format 3:DualAndAllFreqEnScale=n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n
Format 4:DualAndAllFreqEnScale=m
0≤n (%) ≤58, with the default value of 32;
Value Range
0≤m(%) ≤58, with the default value of 32
Sets the threshold value in percentage for the rate of DTMF in-band energy to overall
Description
energy. For more information about this configuration item, refer to DTMF Filter
z Format 1 is applicable to the SHT Series USB voice boxes and the ATP Series USB
recording boxes;
z Format 2 is applicable to 8-channel SHT Series and ATP Series;
z Format 3 is applicable to 16-channel SHT, ATP and DST Series;
z Format 4 is applicable to SHD and DTP Series. However, the following board models
require SynCTI Ver. 4.5.1.7 or above:
SHD-240A-CT/cPCI
Note
SHD-240S-CT/cPCI
SHD-480A-CT/cPCI
SHD-480S-CT/cPCI
z The function SsmSetFlag (with the parameter of F_DualAndAllFreqEnScale) may
implement the same features;
z Set this configuration item to 15 especially for 8B, 16B, 8C, 16C series boards tp receive
abcd.
3.1.2.14.3.2 HighAndLowFreqEnScale
Configuration Item HighAndLowFreqEnScale
Section [BoardId=x]
Format 1:HighAndLowFreqEnScale=n,n,n,n
Format 2:HighAndLowFreqEnScale=n,n,n,n,n,n,n,n
Written Format
Format 3:HighAndLowFreqEnScale=n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n
Format 4:HighAndLowFreqEnScale=m
0≤n (%) ≤100, with the default value of 10
Value Range
0≤m (%) ≤100, with the default value of 20
Sets the proportion of the high-frequency DTMF energy to the low-frequency in the DTMF
Description signals. Only if the proportion is greater than the set value of this configuration item will the
driver confirm that those detected are DTMF signals.
z Format 1 is applicable to the SHT Series USB voice boxes and the ATP Series USB
recording boxes;
z Format 2 is applicable to 8-channel SHT and ATP Series;
Note z Format 3 is applicable to 16-channel SHT, ATP and DST Series;
z Format 4 is applicable to SHD and DTP Series
z The same purpose can be achieved by the function SsmSetFlag (with the parameter
F_HighAndLowFreqEnScale).
3.1.2.14.3.3 DtmfEnergy
Configuration Item DtmfEnergy
Section [BoardId=x]
Format 1:DtmfEnergy=n,n,n,n
Format 2:DtmfEnergy=n,n,n,n,n,n,n,n
Written Format
Format 3:DtmfEnergy=n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n
Format 4:DtmfEnergy=m
n≥0, with the default value of 0. For more information, refer to the configuration item
Value Range
MinimumVoiceDetermineEnergy
Sets the absolute value of DTMF in-band energy. Only if the DTMF in-band energy is
Description greater than the set value of this configuration item will the driver confirm that those
detected are DTMF signals.
z Format 1 is applicable to the SHT Series USB voice boxes and the ATP Series USB
recording boxes;
Note z Format 2 is applicable to 8-channel SHT and ATP Series;
z Format 3 is applicable to 16-channel SHT, ATP and DST Series;
z Format 4 is applicable to SHD and DTP Series
3.1.2.14.3.4 DTMFFreqOffset
Configuration Item DTMFFreqOffset
Section [BoardId=x]
Format 1: DTMFFreqOffset=n,n,n,n,n,n,n,n
Written Format Format 2: DTMFFreqOffset=n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n
Format 3: DTMFFreqOffset=m
SHT Series: 0≤n≤100, calculated by %, with the default value of 16
Value Range
ATP Series: 0≤m≤30, calculated by %, with the default value of 15
Sets the maximum offset error of the DTMF signal (offset error = (detected
Description
frequency – standard frequency)*1024 / detected frequency).
z Format 1 is applicable to 8-channel SHT Series;
Note z Format 2 is applicable to 16-channel SHT Series;
z Format 3 is applicable to ATP Series
3.1.2.14.4.1 ReceiveDtmfSensitive
Configuration Item ReceiveDtmfSensitive
Section [BoardId=x]
Written Format ReceiveDtmfSensitive=n
n is comprised of 8 bits (namely Bit7…Bit0), below is the meaning of each bit:
Bit3~Bit0: The minimum duration of the DTMF signal at on state. Range of value is 1~6,
the unit is 16ms, with the default value of 3;
Bit7~Bit4: The minimum duration of the DTMF signal at off state. Range of value is 0~6,
the unit is 16ms, with the default value of 0;
Note: If the value of Bit7~Bit4 is 0, the minimum duration of DTMF signal at off state is
determined by the minimum duration at on state. If the minimum duration of the DTMF
Value Range
signal at on state is less than 3, the value of the minimum duration of the DTMF signal at
off state is 1; otherwise, the value of the minimum duration of the DTMF signal at off state
is 2.
n is represented by hexadecimal number, e.g. ReceiveDtmfSensitive=0x43. This formula
means that the minimum durations of the DTMF signals at on and off states are 48ms and
64ms respectively. ReceiveDtmfSensitive=0x03: the minimum durations of the DTMF
signal at on and off states are 48ms and 32ms respectively.
The minimum durations of the DTMF signal at on and off states. For more information,
Description
refer to DTMF Pulse-width Filter in Chapter 1
It is applicable to SHD, SHT, ATP and DTP Series. However, the following board models
among the SHD Series require SynCTI Ver. 4.5.1.7 or above:
SHD-240A-CT/cPCI
Note
SHD-240S-CT/cPCI
SHD-480A-CT/cPCI
SHD-480S-CT/cPCI
3.1.2.14.4.2 OmitABCD
Configuration Item OmitABCD
Section [BoardId=x]
Format 1:OmitABCD=b,b,b,b
Format 2:OmitABCD=b,b,b,b,b,b,b,b
Written Format
Format 3:OmitABCD=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4:OmitABCD=b
b=0: discard;
Value Range b=1: Not to discard
Default value is 0
Sets whether to discard the characters of ‘a’, ‘b’, ‘c’, and ‘d’ received by the DTMF
Description Detector. For more information about this configuration item, refer to DTMF Pulse-width
Filter in Chapter 1
z Format 1 is applicable to the SHT Series USB voice boxes and the ATP Series USB
recording boxes;
z Format 2 is applicable to 8-channel SHT and ATP Series;
z Format 3 is applicable to 16-channel SHT, ATP and DST Series;
z Format 4 is applicable to SHD, DTP and SHN Series
Note
z When you enable the reception of abcd codes, the value of DualAndAllFreqEnScale is
by default adjusted to 15. If the reception fails, you may need to lower the value and
try again.
z For SHN Series boards, this configuration item is only valid for DTMF detection using
the In-band mode, but not applicable for that using the RFC2833 or Signaling mode.
3.1.2.14.4.3 DtrmOnDtmfHighLevel
Configuration Item DtrmOnDtmfHighLevel
Section [BoardId=x]
Format 1:DtrmOnDtmfHighLevel=n,n,n,n
Format 2:DtrmOnDtmfHighLevel=n,n,n,n,n,n,n,n
Written Format
Format 3:DtrmOnDtmfHighLevel=n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n
Format 4:DtrmOnDtmfHighLevel=n
n=0: Only when the duration of the DTMF signals at off state exceeds the minimum
duration designated by the configuration item ReceiveDtmfSensitive will the driver output
the DTMF characters;
Value Range n=1: When the duration of the DTMF signals at on state exceeds the minimum duration
designated by the configuration item ReceiveDtmfSensitive will the driver output the
DTMF characters immediately;
Default value is 0
Sets the timing of outputting the DTMF characters. For more information about this
Description
configuration item, refer to DTMF Pulse-width Filter in Chapter 1
z Format 1 is applicable to the SHT Series USB voice boxes and the ATP Series USB
recording boxes;
Note z Format 2 is applicable to 8-channel SHT and ATP Series;
z Format 3 is applicable to 16-channel SHT, ATP and DST Series;
z Format 4 is applicable to SHD and DTP Series
3.1.2.15.1.1 TxDtmfBufSize
Configuration Item TxDtmfBufSize
Section [SystemConfig]
Written Format TxDtmfBufSize=n
Value Range n≥1, Default value is 50 characters
Description Sets the size of the transmission buffer area for the DTMF generator
3.1.2.15.2.1 TxDtmfTimePara
Configuration Item TxDtmfTimePara
Section [BoardId=x]
Format 1:TxDtmfTimePara={tH,tL},{tH,tL},{tH,tL},{tH,tL}
Format 2:TxDtmfTimePara={tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL}
Written Format Format 3:TxDtmfTimePara={tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL},
{tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL},{tH,tL}
Format 4:TxDtmfTimePara={tH,tL}
tH≥40: The duration (ms) of the DTMF signal at on state, it must be integral times of 8ms,
with the default value of 80
Value Range
tL ≥40: The duration (ms) of the DTMF signal at off state, it must be integral times of 8ms,
with the default value of 80
Sets the durations (ms) of DTMF signals generated by the DTMF Generator respectively
Description
at off and on states. For more information, refer to DTMF Generator in Chapter 1
z Format 1 is applicable to the SHT Series USB voice boxes;
z Format 2 and Format 3 are applicable to 8-channel and 16-channel SHT Series
Note
respectively;
z Format 4 is applicable to SHD Series
3.1.2.15.2.2 DefaultTxDelayTime
Configuration Item DefaultTxDelayTime
Section [SystemConfig]
Written Format DefaultTxDelayTime=n
Value Range n: The duration (ms) of silence, with the default value of 2000
Sets the delay time of the DTMF characters when being transmitted.
Description
For more information, refer to SsmTxDtmf
3.1.2.16.1.1 EnableEchoCancellor
Configuration Item EnableEchoCancellor
Section [BoardId=x]
Format 1:EnableEchoCancellor=b,b,b,b
Format 2:EbableEchoCancellor=b,b,b,b,b,b,b,b
Written Format
Format 3:EnableEchoCancellor=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4:EnableEchoCancellor=b
b=0:Disable the echo canceller
Value Range
b=1:Enable the echo canceller (default)
Sets the operating status of the echo canceller. For more information, refer to Echo
Description
Canceller In Chapter 1
z Format 1 is applicable to the SHT Series USB voice boxes and the ATP Series USB
recording boxes;
Note z Format 2 is applicable to the 8-channel SHT Series;
z Format 3 is applicable to the 16-channel SHT Series;
z Format 4 is applicable to SHD Series
3.1.2.16.2.1 EchoCancelDelaySize
Configuration Item EchoCancelDelaySize
Section [BoardId=x]
Written Format EchoCancelDelaySize=k
k:the coefficient of the filter delay. Both the value range and the default value are
determined by the configuration item LoadFskBin:
Value Range
LoadFskBin=0:0≤k≤7, default value:6;
LoadFskBin>0:0≤k≤31, default value:12
Description Sets the coefficient of the filter delay of the echo canceller
Note This configuration item is only applicable to SHD and SHT Series USB voice boxes
3.1.2.17.1.1 AlwaysDetectBargeIn
Configuration Item AlwaysDetectBargeIn
Section [BoardId=x]
Written Format AlwaysDetectBargeIn=b
b=0: Under the automatic control of the driver. When the channel goes into the
S_CALL_TALKING state and join the conference as a dynamic speaker, the driver will
automatically start the Barge-in detector; when the channel goes out of the
Value Range S_CALL_TALKING state or any dynamic speaker channel leaves the conference
room, the driver will automatically stop the Barge-in detector;
b=1: Always being started.
The default value is 0.
Description Sets the way to start the Barge-in Detector.
This configuration item is applicable to SHD, SHN, DTP and SHV Series. For DTP and SHV
series boards, AlwaysDetectBargeIn=0 means the Barge in detector is thoroughly disabled
Note
and the driver will no longer control the detector automatically. To find more information, refer
to ‘Barge in Detector’ in Chapter 1.
3.1.2.17.2.1 VoiceEnergyMinValue
Configuration Item VoiceEnergyMinValue
Section [BoardId=x]
Written Format VoiceEnergyMinValue=k
Value Range k: The threshold value for noise detection, with the default value of 100,000.
Description Sets the threshold value to judge noises for the Barge-in detector.
3.1.2.17.2.2 BargeInSensitive
Configuration Item BargeInSensitive
Section [BoardId=x]
Format 1: BargeInSensitive=k,k,k,k
Format 2: BargeInSensitive=k,k,k,k,k,k,k,k
Written Format
Format 3: BargeInSensitive=k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k
Format 4: BargeInSensitive=k
0≤k≤31, with the default value of 6. The greater the value is, the more sensitive the detector
Value Range
is.
Description Sets the sensitivity of the Barge-in detector.
z Format 1 is applicable to the SHT Series USB voice boxes and the ATP Series USB
recording boxes;
z Format 2 is applicable to 8-channel SHT and ATP Series;
Note
z Format 3 is applicable to 16-channel SHT and DST Series;
z Format 4 is applicable to SHV, SHD, SHN and DTP Series;
z See the function SsmSetBargeInSens for details.
3.1.2.17.2.3 BargeInDtrmTime
Configuration Item BargeInDtrmTime
Section [BoardId=x]
Format 1: BargeInDtrmTime=k,k,k,k
Format 2: BargeInDtrmTime=k,k,k,k,k,k,k,k
Written Format
Format 3: BargeInDtrmTime=k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k
Format 4: BargeInDtrmTime=k
k≥16 and must be the multiple of 16, calculated by millisecond (ms), with the default value of
Value Range
32.
Description Sets the minimum signal duration for the Barge-in detector.
z Format 1 is applicable to the SHT Series USB voice boxes and the ATP Series USB
recording boxes;
z Format 2 is applicable to 8-channel SHT Series;
Note
z Format 3 is applicable to 16-channel SHT and DST Series;
z Format 4 is applicable to SHD and DTP Series;
z See the function SsmSetIsBargeInDtrmTime for details.
3.1.2.17.2.4 IsNoSoundDtrmTime
Configuration Item IsNoSoundDtrmTime
Section [SystemConfig]
Written Format IsNoSoundDtrmTime=k
The minimum duration for the line to keep silence, calculated by millisecond (ms). k≥16 and
Value Range
must be the multiple of 16, with the default value of 5000ms.
Sets the minimum duration for the line to keep silence. See the function
Description
SsmSetNoSoundDtrmTime for details.
3.1.2.17.2.5 DefaultDtmfIsSound
Configuration Item DefaultDtmfIsSound
Section [BoardId=x]
Format 1: DefaultDtmfIsSound=b,b,b,b
Format 2: DefaultDtmfIsSound=b,b,b,b,b,b,b,b
Written Format
Format 3: DefaultDtmfIsSound=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4: DefaultDtmfIsSound=b
b=0: No;
Value Range
b=1: Yes (default).
Description Sets whether to regard the DTMF signal in the incoming call as the voice signal.
z Format 1 is applicable to the SHT Series USB voice boxes and the ATP Series USB
recording boxes;
z Format 2 is applicable to 8-channel SHT and ATP Series;
Note
z Format 3 is applicable to 16-channel SHT and DST Series;
z Format 4 is applicable to SHD and DTP Series;
z This configuration item requires SynCTI Ver. 4.5.2.9 or above.
3.1.2.18.1 InVoiceToBus
3.1.2.18.2 LinkFromStopPlayAndTone
3.1.2.18.3 DefaultSpeakVolume
3.1.2.18.4 EnableCommonTimeSlot
3.1.2.19 Setting Caller ID Detector for Analog Phone Line (SHT+ATP Series)
3.1.2.19.1.1 CallerIdStyle
Configuration Item CallerIdStyle
Section [BoardId=x]
Format 1: CallerIdStyle=m,m
Format 2: CallerIdStyle=m,m,m,m
Written Format
Format 3: CallerIdStyle=m,m,m,m,m,m,m,m
Format 4: CallerIdStyle=m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m
3.1.2.19.2.1 CloseCallerIdOnReceived
Configuration Item CloseCallerIdOnReceived
Section [SystemConfig]
Written Format CloseCallerIdOnReceived=b
b=0: Enabled;
Value Range
b=1: Disabled (default).
This configuration item is set to determine whether the Caller ID detector will be
automatically disabled by the driver after it receives the complete calling party number in the
Description
FSK mode. Refer to the Caller ID on Analog Phone Line section in Chapter 1 for more
information.
Note This configuration item is only applicable to SHT and ATP Series.
3.1.2.19.2.2 FSKCallerIdDtrmTime
Configuration Item FSKCallerIdDtrmTime
Section [BoardId=x]
Format 1: FSKCallerIdDtrmTime=k,k
Format 2: FSKCallerIdDtrmTime=k,k,k,k
Written Format
Format 3: FSKCallerIdDtrmTime=k,k,k,k,k,k,k,k
Format 4: FSKCallerIdDtrmTime=k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k
k: The time to judge the completion, calculated by millisecond (ms),100≤k≤500, with the
Value Range
default value of 500ms.
When the Caller ID detector is started in the FSK mode, since there is no clear symbol to tell
the completion in transmitting the FSK calling party number, the driver has to depend on the
Description relativity between time and data to judge the completion of the process. That is, if the
received Caller ID character keeps unchanged in length for the period of time set by this
parameter, the driver will consider the signal transmission of the FSK Caller ID to be ended.
z This configuration item is only applicable to the analog trunk channel on the SHT Series
boards and the recording channel on the ATP Series boards;
Note z Format 1 and Format 2 are respectively applicable to 2-/4-channel USB voice boxes and
USB recording boxes; Format 3 is applicable to 8-channel boards; Format 4 is applicable
to 16-channel boards;
3.1.2.19.2.3 FilterInvalidCID
Configuration Item FilterInvalidCID
Section [BoardId=x]
Format 1: FilterInvalidCID=b,b,b,b,b,b,b,b
Written Format
Format 2: FilterInvalidCID=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=0: No;
Value Range
b=1: Yes (default).
Sets whether to enable the ‘Filter Out Wrong FSK Caller ID’ feature. The FSK calling party
number received by the driver may be incorrect:
Description The number is a false one formed by echoes in the sound, not sent by the remote PBX;
The number is exactly sent by the remote PBX, but becomes incomplete because of
signals being damaged by disturbance or other elements during the transmission.
z Format 1 and Format 2 are respectively applicable to 8-channel and 16-channel
Note SHT/ATP Series;
z This configuration item requires SynCTI Ver. 4.7.1.8 or above.
3.1.2.19.2.4 FSKMinGate
Configuration Item FSKMinGate
Section [BoardId=x]
Format 1: FSKMinGate =b,b,b,b,b,b,b,b
Format 2: FSKMinGate =b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Written Format
Format 3: FSKMinGate =b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4: FSKMinGate =b
b=n (n>0): The energy threshold value;
Value Range b=150: The default value (SHT/ATP Series);
b=60: The default value (SHD Series).
Description Sets the energy threshold value for FSK reception.
z Format 1, Format 2 and Format 3 are respectively applicable to 8-channel, 16-channel
and 24-channel SHT/ATP Series.
Note z Format 4 is applicable to SHD Series.
z This configuration item requires SynCTI Ver. 5.0.2.0 or above; however, Format 4
requires SynCTI Ver. 5.3.1.3 or above.
3.1.2.19.2.5 FskNoPhase
Configuration Item FskNoPhase
Section [BoardId=x]
Written Format FskNoPhase=m
m=0: The syn code of the 0/1 up-and-down waveform followed by the flag code composed of
Value Range all 1s (default);
m=1: The syn code of 0804 followed by the flag code composed of all 1s.
Description Sets the format of the syn code in the FSK calling party number.
This configuration item is only applicable to the analog trunk channel on the SHT Series
Note
boards and the recording channel on the ATP Series boards.
3.1.2.19.3.1 DtmfCallerIDStyleLength
Refer to DtmfCallerIDInterTimeOut
3.1.2.19.3.2 DtmfCallerIDInterTimeOut
DtmfCallerIDStyleLength
Configuration Item
DtmfCallerIDInterTimeOut
Section [SystemConfig]
DtmfCallerIDStyleLength=n
Written Format
DtmfCallerIDInterTimeOut=t
n: The minimum number of DTMF digits, 1≤n≤29, with the default value of 1.
Value Range
t: The time interval, calculated by millisecond (ms), t≥300, with the default value of 500.
When the Caller ID detector works in the DTMF mode, if the number of DTMF digits received
by the driver is less than or equal to n, all received digits will be abandoned; if the time
Description
interval between the receptions of two DTMF digits is greater than t, all digits previously
received will be abandoned.
z DtmfCallerIDInterTimeOut requires SynCTI Ver. 4.5.2.1 or above;
Note
z This configuration item is only applicable to the SHT and ATP Series boards.
3.1.2.20.1 RingDetectFilterPara
3.1.2.20.2 CallBackRingDetectFilterPara
Sets the filter parameters for the ringback current detector, that is the parameters used to
detect rings on the analog trunk channel and the magnet channel. The driver takes a sample
of ringing signals on the analog trunk channel and the magnet channel every 8ms. A signal,
when the count of it at on and off states is consistent with the setting of RingDetectFilterPara,
Description
with the duration at on state less than tH and the duration at off state less than tL, is judged as
a ringback signal. This feature can be used to distinguish two different ringing signals. At the
same time, the driver will throw out the events E_CHG_RingCount and
E_CHG_CallBackRingCount.
This configuration item is applicable to the analog trunk channel and the magnet channel on
Note
SHT series boards as well as the analog recording channel on ATP series boards.
3.1.2.20.3 RingEndDtrTime
3.1.2.20.4 AlwaysToRingingOnRingCntX
3.1.2.20.5 ChToRingingOnRingCnt
3.1.2.21.1.1 FreqBit0
Refer to MdlAmp
3.1.2.21.1.2 FreqBit1
Refer to MdlAmp
3.1.2.21.1.3 Baudrate
Refer to MdlAmp
3.1.2.21.1.4 MdlAmp
FreqBit0
FreqBit1
Configuration Item
Baudrate
MdlAmp
Section [FskConfig]
FreqBit0=f0
FreqBit1=f1
Written Format
Baudrate=k
MdlAmp=a
f0: The carrier frequency of Bit 0 (Hz), 300≤f0≤3400, with the default value of 2200Hz.
f1: The carrier frequency of Bit 1 (Hz), 300≤f1≤3400, with the default value of 1200Hz.
Value Range
k: The baud rate (bps), 300≤k≤2400, with the default value of 1200bps.
a: The signal amplitude, 0≤n≤255, with the default value of 128.
FreqBit0 and FreqBit1 are respectively used to set the carrier frequency of Bit 0 and Bit 1;
Baudrate sets the baud rate while MdlAmp configures the modulating-signal amplitude.
Description
Regarding the FSK Transceiver, see the FSK Transceiver section in Chapter 1 for more
information.
3.1.2.22.1 FskMarkSignal
3.1.2.22.2 FskFrameMode
3.1.2.22.3 FskEchoCancelDelay
z Format1, Format2 are respectively applicable to 8-channel and 16-channel SHT Series;
z When the FSK transceiver is enabled on the channel, if this configuration item is set to
1, the echo canceller will be disabled compulsorily; otherwise, the status of the echo
Note canceller is determined by the configuration item EnableEchoCancellor;
z This configuration item requires SynCTI Ver4.5.6.2 or above;
z The same purpose can be achieved by the function SsmSetFlag (with the parameter
F_EchoCancelInFsk).
3.1.2.23.1 MaxSpeed
3.1.2.23.2 RcvDisTime
3.1.2.23.3 ResendForRTN
3.1.2.23.4 ResetRcvForRTN
Determines whether to send an RTN message or hang up the phone immediately upon the
Description
reception of pages with incomplete and/or incorrect fax data.
3.1.2.23.5 KeepPageForRTN
3.1.2.23.6 PercentageForRTN
3.1.2.23.7 FaxCodeMode
3.1.2.23.8 FaxSendDisTime
3.1.2.24.1.1 IgnoreLineVoltage
Configuration Item IgnoreLineVoltage
Section [BoardId=x]
Format 1: IgnoreLineVoltage=b,b,b,b
Format 2: IgnoreLineVoltage=b,b,b,b,b,b,b,b
Written Format
Format 3: IgnoreLineVoltage=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4: IgnoreLineVoltage=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether to ignore the on-line voltage detected result. Refer to the Change in Analog
Description
Phone Line Voltage section in Chapter 1 for details.
z This configuration item is only applicable to the recording channel on the ATP Series
boards (including the analog recording module and the microphone module);
z Format 1 is applicable to the ATP Series USB recording boxes;
Note
z Format 2 is applicable to the 8-channel ATP Series;
z Format 3 is applicable to the 16-channel ATP Series;
z Format 4 is applicable to the 24-channel ATP Series.
Related Function SsmSetIgnoreLineVoltage
3.1.2.24.2.1 JudgeLineVoltage
Configuration Item JudgeLineVoltage
Section [SystemConfig]
Written Format JudgeLineVoltage=k
0<k<256: The difference between the current line voltage in ringing state and that of 8ms
Value Range
before, calculated by 0.5Volt (0.5V), with the default value of 7V (15*0.5V).
Description Set the voltage threshold value for different rings on the analog line.
z This configuration item is only applicable to the recording channel on the ATP/SHT Series
Note
boards (including the analog recording module and the trunk module).
3.1.2.24.3.1 IsHangupDtrmVoltage
Configuration Item IsHangupDtrmVoltage
Section [BoardId=x]
Format 1: IsHangupDtrmVoltage=k,k,k,k
Written Format Format 2: IsHangupDtrmVoltage=k,k,k,k,k,k,k,k
Format 3: IsHangupDtrmVoltage=k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k
Value Range k: The judging voltage (V), with the default value of 26V.
Set the voltage used to judge the pickup/hangup behavior of the recording channel on the
Description ATP Series boards. Refer to the Change in Analog Phone Line Voltage section in Chapter 1
for details.
z This configuration item is only applicable to the recording channel on the ATP Series
boards (including the analog recording module and the microphone module);
Note z Format 1 is applicable to the ATP Series USB recording boxes;
z Format 2 is applicable to the 8-channel ATP Series;
z Format 3 is applicable to the 16-channel ATP Series.
Related Function SsmSetDtrmLineVoltage
3.1.2.24.3.2 LineOncnt
Configuration Item LineOncnt
Section [SystemConfig]
Written Format LineOncnt=t
t: The minimum value is one time, 1≤t≤65536, each time equals to 8ms; the default value is
Value Range
25 times (i.e. 200ms).
Only if the line voltage meets the set voltage for judging the pickup behavior and lasts for the
minimum duration specified by this configuration item will the driver confirm the pickup
Description
behavior on the line. Refer to the Change in Analog Phone Line Voltage section in Chapter 1
for more information.
z This configuration item is only applicable to the recording channel on the ATP or SHT
Note Series boards;
z It requires SynCTI Ver. 4.7.2.0 or above.
3.1.2.24.4.1 OffLineSet
Configuration Item OffLineSet
Section [SystemConfig]
Written Format OffLineSet=k
k: The threshold voltage value (V), which is two times the actual voltage value. The default
Value Range
value is 5, which corresponds to the actual voltage of 2.5V.
Sets the threshold voltage value for judging the disconnection of the analog phone line. Refer
Description
to the Change in Analog Phone Line Voltage section in Chapter 1 for details.
Note This configuration item is only applicable to the analog trunk recording channel.
3.1.2.24.4.2 OffLineDetermineTime
Configuration Item OffLineDetermineTime
Section [SystemConfig]
Written Format OffLineDetermineTime=t
Value Range t: The minimum duration, calculated by millisecond (ms), with the default value of 200.
Sets the minimum duration for judging the disconnection of the analog phone line. Refer to
Description
the Change in Analog Phone Line Voltage section in Chapter 1 for details.
This configuration item is only applicable to the recording channel on the ATP Series boards
Note
and the analog trunk channel on the SHT Series boards.
3.1.2.24.5.1 DisablePolarReverse
Configuration Item DisablePolarReverse
Section [BoardId=x]
Format 1: DisablePolarReverse=b,b,b,b
Format 2: DisablePolarReverse=b,b,b,b,b,b,b,b
Written Format
Format 3: DisablePolarReverse=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4: DisablePolarReverse= [0,29]:b
b=0: Affect (default);
Value Range
b=1: Not affect
Sets whether the polarity reversal signal affects the channel state transition. Refer to the
Description
Change in Analog Phone Line Voltage section in Chapter 1 for details.
z This configuration item is only applicable to the analog trunk channel on the SHT Series
boards;
z Format 1 is applicable to the SHT Series USB recording boxes;
Note
z Format 2 is applicable to the 8-channel SHT Series;
z Format 3 is applicable to the 16-channel SHT Series;
z Format 4 is applicable to the 30-channel channel bank.
3.1.2.24.6.1 PolarIgnore
Configuration Item PolarIgnore
Section [BoardId=x]
Written Format PolarIgnore =b
Value Range b>=0, with the default value of 0.
Sets a threshold voltage to ignore interfering signals on a line lest they are mistaken by the
driver for polarity reversal signals. To be exact, when PolarIgnore=b, all signals with voltage
Description
values less than or equal to b will be ignored, that is, not be regarded as polarity reversal
signals. Refer to the Change in Analog Phone Line Voltage section in Chapter 1 for details.
This configuration item is applicable to analog trunk channels on the SHT Series boards and
Note
analog recording channels on the ATP Series boards.
3.1.2.25.1 USBLine0Output
3.1.2.26.1.1.1 SetAnalogChToRecCh
Configuration Item SetAnalogChToRecCh
Section [Boardid=x]
Format 1: SetAnalogChToRecCh =b,b,b,b
Written Format Format 2: SetAnalogChToRecCh =b,b,b,b,b,b,b,b
Format 3: SetAnalogChToRecCh =b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=1: Channel open, working as a recording channel;
Value Range
b=0: Channel closed (default), this configuration item being invalid.
Description Mandatorily sets the analog trunk channel to be a recording channel
z This configuration item is only effective to SynCTI 5.0.1.0 or above versions;
z This configuration item is only applicable to the analog trunk channel, including SHT
Series boards with analog trunk modules (except D-type boards) and USB voice boxes;
Note
z Format 1 is applicable to the SHT Series USB voice boxes;
z Format 2 is applicable to the 8-channel SHT Series;
z Format 3 is applicable to the 16-channel SHT Series.
3.1.2.26.1.2.1 MaxWaitDialToneTime
Configuration Item MaxWaitDialToneTime
Section [SystemConfig]
Written Format MaxWaitDialToneTime=t
t: The maximum waiting time, calculated by millisecond (ms), 0≤t≤30, with the default value
Value Range
of 3ms.
Sets the maximum time to wait for the dial tone.
The driver should detect the dial tone first after the application invokes the function
SsmAutoDial to start the AutoDial task. If the dial tone can not be detected within the time
Description
specified by this configuration item, the AutoDial task fails.
See the Analog Trunk Channel State Machine section in Chapter 1 for more information
about the AutoDial task.
Note This configuration item is only applicable to the analog trunk channel.
3.1.2.26.2.1 DefaultTxFlashChar
Configuration Item DefaultTxFlashChar
Section [SystemConfig]
Written Format DefaultTxFlashChar =s
s: The character used to represent the flash, with the default value of ‘!’, not allowed to be
Value Range
standard DTMF digits or ‘?’.
Sets the character to represent the flash. A flash signal will be sent upon this character being
Description
put into the function SsmTxDtmf.
3.1.2.26.2.2 DefaultTxFlashTime
Configuration Item DefaultTxFlashTime
Section [SystemConfig]
Written Format DefaultTxFlashTime=t
Value Range 32≤t≤1000, calculated by millisecond (ms), with the default value of 500.
Sets the duration of the flash signal generated on the analog trunk via the function call of
Description SsmTxDtmf where the character ‘!’ is used as a parameter. Refer to the Generating Flash
Signal on Analog Line section in Chapter 1 for more information.
3.1.2.26.2.3.1.1 WaitAfterDialTime
Configuration Item WaitAfterDialTime
Section [SystemConfig]
Written Format WaitAfterDialTime=t
t: The maximum waiting time, calculated by millisecond (ms), 16≤t≤60000, with the default
Value Range
value of 18000.
After the function SsmAutoDial is invoked on the analog trunk channel, the driver will throw
out the E_CHG_ToneAnalyze event (with the parameter CHKTONE_NOVOICE) if it neither
detects ringback tones on the line following the transmission of the complete called party
Description
number to the remote PBX, nor detects voice activities within the time specified by this
configuration item. See the Ordinary Remote Pickup Detector section in Chapter 1 for more
information.
This configuration item is applicable to the analog trunk channel on the SHT Series boards.
Note Besides, this configuration item can implement the similar feature for SHD Series Boards and
IP boards when DefaultToneCheckState is set to 1.
3.1.2.26.2.3.1.2 MaxWaitVocAfterEcho
Configuration Item MaxWaitVocAfterEcho
Section [SystemConfig]
Written Format MaxWaitVocAfterEcho=t
Value Range t: The maximum waiting time, calculated by second (s), with the default value of 10.
After the function SsmAutoDial is invoked on the analog trunk channel, the driver will throw
out the E_CHG_ToneAnalyze event (with the parameter CHKTONE_ECHO_NOVOICE) if it
detects ringback tones on the line following the transmission of the complete called party
Description
number to the remote PBX, but does not detect any voice activity within the time specified by
this configuration item. See the Ordinary Remote Pickup Detector section in Chapter 1 for
more information.
This configuration item is only applicable to the analog trunk channel on the SHT Series
Note
boards.
3.1.2.26.2.3.1.3 VoiceOnDetermineTime
Configuration Item VoiceOnDetermineTime
Section [SystemConfig]
Written Format VoiceOnDetermineTime=t
16≤t≤1024 and must be the multiple of 16, calculated by millisecond (ms), with the default
Value Range
value of 96ms.
Sets the minimum duration of voice activities. Only if continuous voice activities occur on the
line and last for a period of time longer than the preset value of this configuration item will the
Description
driver confirm there are real voice activities available on the line. See the Ordinary Remote
Pickup Detector section in Chapter 1 for more information.
This configuration item is applicable to the analog trunk channel on the SHT Series boards.
Note Besides, this configuration item can implement the similar feature for SHD Series Boards and
IP boards when DefaultToneCheckState is set to 1.
3.1.2.26.2.3.1.4 EchoNoVoiceToTalking
Configuration Item EchoNoVoiceToTalking
Section [SystemConfig]
Written Format EchoNoVoiceToTalking=N
N=0: Disabled (default);
Value Range
N=1: Enabled.
When the pickup pulse on the line following ringback tones is very small or approaching zero,
the event ‘no voice after ringback’ will be thrown out. Setting this configuration at the time the
Description event ‘no voice after ringback’ is generated can make the channel go into the talking state
automatically. It is applicable to some particular occasions. For more information, see the
Ordinary Remote Pickup Detector section in Chapter 1.
This configuration item is only applicable to the analog trunk channel on the SHT Series
Note
boards.
3.1.2.26.2.3.2.1 RelativeEngyHookDetect
Configuration Item RelativeEngyHookDetect
Section [SystemConfig]
Written Format RelativeEngyHookDetect=b
b=0: Disable
Value Range
b=1: Enable (default)
Sets the operating mode of the enhanced remote pickup detector on the analog trunk
Description channel. Refer to the Enhanced Remote Pickup Detector section in Chapter 1 for more
information.
z This configuration item is only applicable to the analog trunk channel on the SHT Series
boards and requires SynCTI Ver. 3.5.2.4 or above;
Note
z The same purpose can be achieved via the function call of SsmSetFlag (with the
parameter F_RELATIVEENGYHOOKDETECT).
3.1.2.26.2.3.2.2 HookEngyConfigMulti
Refer to HookValidEngyCnt
3.1.2.26.2.3.2.3 HookValidEngyCnt
HookEngyConfigMulti
Configuration Item
HookValidEngyCnt
Section [SystemConfig]
HookEngyConfigMulti=k
Written Format
HookValidEngyCnt=t
k: The sensitivity, 2≤k≤65535, with the default value of 6. The greater the value is, the less
sensitive, which means the increased miss detection rate and the decreased false
detection rate.
Value Range
t: The minimum duration, 32≤t≤65535, calculated by millisecond (ms), which has to be the
multiple of 16, with the default value of 48ms. The greater the value is, the less sensitive,
which means the increased miss detection rate and the decreased false detection rate.
Sets the parameters for the enhanced remote pickup detector on the analog trunk channel.
HookEngyConfigMulti sets the sensitivity of the pickup detection while HookValidEngyCnt
configures the minimum duration to eliminate the interference of the signal dithering on the
Description detected result. Only when the driver detects an instantaneous pickup behavior which lasts
for a time equal to or longer than t will it conclude there is a real pickup behavior performed
on the line.
Refer to the Enhanced Remote Pickup Detector section in Chapter 1 for more information.
z This configuration item is only applicable to the analog trunk channel on the SHT Series
Note boards, being valid only when the configuration item RelativeEngyHookDetect is set to 1;
z It requires SynCTI Ver. 3.5.2.4 or above.
3.1.2.26.3.1 AutoSendDialTone
Configuration Item AutoSendDialTone
Section [BoardId=x]
Format 1: AutoSendDialTone=b,b,b,b
Format 2: AutoSendDialTone=b,b,b,b,b,b,b,b
Written Format
Format 3: AutoSendDialTone=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4: AutoSendDialTone=[S1,E1]:b+…+ [Sm,Em]:b
b=1: Enable;
b=0: Disable (default).
S1: The start channel number, with the default value of 0.
Value Range
E1: The end channel number, the default value being the total number of on-board channels.
m: The number of parameter fields, being equal to or greater than 1 but not exceeding the
total number of on-board channels.
Sets whether the dial tone is automatically sent by the driver upon detecting the pickup
Description
behavior of the phone connected to the station channel.
z This configuration item is only applicable to the station channel, including the SHT Series
boards equipped with the station module and the SHD Series boards connected to the
channel bank;
z Format 1 is applicable to the SHT Series USB voice boxes;
Note
z Format 2 is applicable to the 8-channel SHT Series;
z Format 3 is applicable to the 16-channel SHT Series;
z Format 4 is applicable to the SHD Series boards connected to the channel bank. See the
Connection to Channel Bank section in Chapter 1 for more information.
When the SHD-30A-CT/PCI/SS1 board is connected to the channel bank, you can follow the
configuration below to enable this feature for the first 15 on-board channels and disable this
feature for the last 15 channels.
Example
AutoSendDialTone=[0,14]:1+[15,29]:0
If this feature is enabled for all 30 on-board channels, you can configure as follows.
AutoSendDialTone=[0, 29]:1
3.1.2.26.3.2 StopSendDialToneOnDtmf
Configuration Item StopSendDialToneOnDtmf
Section [BoardId=x]
Format 1: StopSendDialToneOnDtmf=b,b,b,b
Format 2: StopSendDialToneOnDtmf=b,b,b,b,b,b,b,b
Written Format
Format 3: StopSendDialToneOnDtmf=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
Format 4: StopSendDialToneOnDtmf =[S1,E1]:b+…+ [Sm,Em]:b
b=1: Enable (default);
b=0: Disable.
S1: The start channel number, with the default value of 0.
Value Range
E1: The end channel number, the default value being the total number of on-board channels.
m: The number of parameter fields, being equal to or greater than 1 but not exceeding the
total number of on-board channels.
This configuration item is used to set whether to enable the feature of ‘auto-stop of dial tone
Description transmission by driver’ upon the driver’s detection of DTMF digits in sending tones to the
phone.
z This configuration item is only applicable to the station channel, including the SHT Series
boards equipped with the station module and the SHD Series boards connected to the
channel bank;
z Format 1 is applicable to the SHT Series USB voice box;
Note z Format 2 is applicable to the SHT Series 8-channel boards;
z Format 3 is applicable to the SHT Series 16-channel boards;
z Format 4 is applicable to the SHD Series boards connected to the channel bank. Refer to
the Connection to Channel Bank section in Chapter 1 for more information. See the
example given in the configuration item AutoSendDialTone for reference.
3.1.2.26.3.3 MaxLocalFlashTime
Configuration Item MaxLocalFlashTime
Section [SystemConfig]
Written Format MaxLocalFlashTime=t
Value Range 32≤t≤2000, calculated by millisecond (ms), with the default value of 700.
Description Sets the maximum duration for judging the flash signal.
Note This configuration item is only applicable to the station channel.
3.1.2.26.3.4 UserOnHookFilterTime
Configuration Item UserOnHookFilterTime
Section [BoardID=x]
Format 1: UserOnHookFilterTime=t,t,t,t
Format 2: UserOnHookFilterTime=t,t,t,t,t,t,t,t
Written Format
Format 3: UserOnHookFilterTime=t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t
Format 4: UserOnHookFilterTime =[S1,E1]:t+…+ [Sm,Em]:t
t: The minimum duration of the pickup signal, calculated by millisecond (ms), which has to be
the multiple of 16. The less the value is, the more sensitive. The default value is 64ms.
S1: The start channel number, with the default value of 0.
Value Range
E1: The end channel number, the default value being the total number of on-board channels.
m: The number of parameter fields, being equal to or greater than 1 but not exceeding the
total number of on-board channels.
Description Sets the minimum duration of the pickup signal.
z This configuration item is only applicable to the station channel, including the SHT Series
boards equipped with the station module and the SHD Series boards connected to the
channel bank;
z Format 1 is applicable to the SHT Series USB voice boxes;
z Format 2 is applicable to the 8-channel SHT Series;
Note z Format 3 is applicable to the 16-channel SHT Series;
z Format 4 is applicable to the SHD Series boards connected to the channel bank. Refer to
the Connection to Channel Bank section in Chapter 1 for more information. See the
example given in the configuration item AutoSendDialTone for reference.
z Usually there is no need to reconfigure this item as its default value is adequate for most
application instances.
3.1.2.26.3.5 UserChGenerateRingMode
Configuration Item UserChGenerateRingMode
Section [BoardId=x]
Written Format UserChGenerateRingMode=m
m=0: 1sec on and 4sec off (default);
Value Range
m=1: Always at on state until the application sends the stop command.
Description Sets the way how the station channel or the magnet channel generates the ringing signal.
3.1.2.26.3.6 UserSendPolar
Configuration Item UserSendPolar
Section [BoardId=x]
Format 1: UserSendPolar=b,b,b,b
Written Format Format 2: UserSendPolar=b,b,b,b,b,b,b,b
Format 3: UserSendPolar=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether the station channel has the capability of generating the polarity reversal signal.
Description Refer to the ‘Generating Polarity Reversal Signal on Phone Line’ section in Chapter 1 for
more information.
z This configuration item is only applicable to the station channel on the SHT Series boards;
z Format 1 is applicable to the SHT Series USB voice boxes;
Note
z Format 2 is applicable to the 8-channel SHT Series;
z Format 3 is applicable to the 16-channel SHT Series.
3.1.2.26.4.1 MaxFaxChannel
Configuration Item MaxFaxChannel
Section [BoardId=x]
Written Format MaxFaxChannel=n
Both the range of value and the default value depend on the board model. See the Setting
Value Range
Number of Fax Channels section in Chapter 1 for more information.
Description Sets the total number of fax channels.
3.1.2.26.4.2 DSP3WORKMODE
Configuration Item DSP3WORKMODE
Section [BoardId=x]
Written Format DSP3WORKMODE=n
n=1: For SHT-16B-CT/PCI/FAX, enable this board to have faxing capability (default);
n=2: For SHT-16B-CT/PCI/FAX, enable this board to support GSM recording in hardware;
Value Range
n=3: For SHT-16B-CT/PCI/MP3 and SHT-16B-CT/cPCI/MP3, enable them to support MP3
recording in hardware.
For the SHT-16B-CT/PCI/FAX board, this configuration item is used to enable the capability
of faxing or GSM recording in hardware; for the SHT-16B-CT/PCI/MP3 and
Description SHT-16B-CT/cPCI/MP3 boards, this configuration item is used to enable the capability of
MP3 recording in hardware. See the Brief Introduction of SHT Series section in Chapter 1 for
more information.
The board model of SHT-16B-CT/PCI/MP3 displayed by configuration tools is
Note SHT-16B-CT/PCI/FAX. Therefore, don’t forget to configure DSP3WORDMODE=3 when you
are using the SHT-16B-CT/PCI/MP3 board.
3.1.2.26.5.1 UnimoduleState
Configuration Item UnimoduleState
Section [BoardId=x]
Format 1: UnimoduleState=b,b,b,b
Written Format Format 2: UnimoduleState=b,b,b,b,b,b,b,b
Format 3: UnimoduleState=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=0: Yes;
Value Range
b=1: No(default).
Sets whether to connect the analog trunk channel on the composite module directly to the
Description
station channel.
z Format 1 is applicable to the SHT Series USB voice boxes;
Note z Format 2 is applicable to the 8-channel SHT Series;
z Format 3 is applicable to the 16-channel SHT Series.
3.1.2.26.6.1 NoModuleChBusRec
Configuration Item NoModuleChBusRec
Section [BoardId=x]
Format 1: NoModuleChBusRec=b,b,b,b
Written Format Format 2: NoModuleChBusRec=b,b,b,b,b,b,b,b
Format 3: NoModuleChBusRec=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=0: Disable (default);
Value Range
b=1: Enable.
Sets whether to input the voice signals (not the incoming signals) which come from the bus
Description to the Barge-in Detector. See the Non-module Channel section in Chapter 1 for more
information.
z Format 1 is applicable to the SHT Series USB voice boxes;
Note z Format 2 is applicable to the 8-channel SHT Series;
z Format 3 is applicable to the 16-channel SHT Series.
3.1.2.26.7.1 IsMagnetModule
Configuration Item IsMagnetModule
Section [BoardId=x]
Format 1: IsMagnetModule=b,b,b,b
Written Format Format 2: IsMagnetModule=b,b,b,b,b,b,b,b
Format 3: IsMagnetModule=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=0: Analog trunk module (default);
Value Range
b=1: Magnet Module
Designates whether the module fixed on the SHT Series board is the analog trunk module or
the magnet module. If it is the analog trunk module, this configuration item should be set to
Description
0; if it is the magnet module, this configuration item should be set to 1. See the Magnet
Channel section in Chapter 1 for more information.
z Format 1 is applicable to the SHT Series USB voice boxes;
Note z Format 2 is applicable to the 8-channel SHT Series;
z Format 3 is applicable to the 16-channel SHT Series.
3.1.2.27.1.1 DefaultRcvPhoNumLen
Refer to RcvPhoNumCfgLen
3.1.2.27.1.2 DefaultRcvCallerID
Refer to RcvPhoNumCfgLen
3.1.2.27.1.3 RcvPhoNumCfgLen
DefaultRcvPhoNumLen
Configuration Item DefaultRcvCallerID
RcvPhoNumCfgLen
Section [TUP] / [ISUP] / [ISDN] / [SS1Config]
DefaultRcvPhoNumLen=n
Written Format DefaultRcvCallerID=m
RcvPhoNumCfgLen=b
3.1.2.27.1.4 MaxPhoNumRule
Refer to Rule
3.1.2.27.1.5 Rule
MaxPhoNumRule
Configuration Item
Rule
Section [TUP] / [ISUP] / [ISDN] / [SS1Config]
MaxPhoNumRule=N
Format 1: Rule[i]="a…x",n,f,y,z
Written Format
Format 2: Rule[i]="a…x",n,f,y
Format 3: Rule[i]="a…x",n,f
N: The times to set the number receiving rule. This configuration item is not required to be
set if the set value of DefaultRcvPhoNumLen is greater than 0; otherwise, N must be set
greater than 0 and the configuration item Rule should be set for N times, beginning with
i=0. The default value of N is 0.
I : The rule number, numbered from 0, 0 ≤ i < N
‘a…x’: The string of the prefix, such as ‘114’, ‘127’, etc.
n: The set length for receiving the prefix string. n must be greater than or equal to the actual
length of the prefix string. Except for SS1 and ISDN channels, this parameter gets valid
only when y is set to 0.
f: Determines whether it is necessary to receive the calling party number
=1: Necessary;
Value Range =0: Not necessary.
y: Determines whether the length of the phone number is fixed.
=1: Not fixed. The parameters n and z are invalid. The driver will ask the
application to control the number receiving process upon reception of the
office number. After receiving the complete call number, the application can
invoke the function SsmSetKB to refuse or accept the incoming call, and then
asks the driver to control the process again.
=0: Fixed (default). The parameters n and z are valid.
z: The way to save the called party number.
z=0: Save all the received digits of the called party number (default);
z=1: Only save some digits first received. The number of digits to be saved is
determined by n. The remaining digits received are all discarded.
MaxPhoNumRule is used to specify the times to set the number receiving rule;
Rule is used to set details of the number receiving rule. Format 1 is only applicable to the
Description
TUP channel; Format 2 is only applicable to TUP and ISUP channels; Format 3 is applicable
to SS1 and ISDN channels.
z This configuration item becomes valid only when DefaultRcvPhoNumLen is set to Prefix
Mode;
z This configuration item is only applicable to TUP, ISUP, ISDN, SS1 channels;
z The SS1 channel uses the configuration section [SS1Config];
z The ISUP channel uses the configuration section [ISUP];
Note
z The TUP channel uses the configuration section [TUP];
z The ISDN channel uses the configuration section [ISDN]. For the ISDN channel, the
number receiving rule set by this configuration item will be ignored if the driver works in
the Tandem Exchange mode. Refer to the Terminating Office Mode vs. Tandem Exchange
Mode section in Chapter 1 for more information.
3.1.2.27.1.6 MfcLenCtrlPos
Refer to CallerIdEnTable
3.1.2.27.1.7 MfcLengthTable
Refer to CallerIdEnTable
3.1.2.27.1.8 CallerIdEnTable
MfcLenCtrlPos
Configuration Item MfcLengthTable
CallerIdEnTable
Section [SS1Config]
MfcLenCtrlPos=n
Written Format MfcLengthTable=m,m,m,m,m,m,m,m,m,m
CallerIdEnTable=b,b,b,b,b,b,b,b,b,b
n: The length control bit taken as the index for receiving the called party number, n≥1;
m: The length of the called party number to be received;
Value Range b: Determines whether it is necessary to receive the calling party number
=1: Necessary;
=0: Not necessary.
MfcLenCtrlPos sets the length control bit for receiving the called party number on the trunk
channel;
MfcLengthTable sets the index of the length control bit for MFC number receiving on the
trunk channel;
Description CallerIdEnTable sets the table controlling whether to enable the trunk channel to receive the
calling party number or not. The digit at the position MfcLenCtrlPos in the called party
number can be taken as the index for searching the corresponding length in the length
control table MfcLengthTable; also it can be taken as the index to check if the corresponding
calling party number should be received in CallerIdEnTable.
Note This configuration item is only applicable to the SS1 channel.
3.1.2.27.2.1 AutoSendKB
Refer to NetSideAutoSendAck
3.1.2.27.2.2 AutoSendACM
Refer to NetSideAutoSendAck
3.1.2.27.2.3 UserSideAutoSendAck
Refer to NetSideAutoSendAck
3.1.2.27.2.4 NetSideAutoSendAck
AutoSendKB
AutoSendACM
Configuration Item
UserSideAutoSendAck
NetSideAutoSendAck
Section [SS1Config] / [TUP] / [ISUP] / [ISDN]
AutoSendKB=b //use [SS1Config]
AutoSendACM=b //use [TUP] or [ISUP]
Written Format
UserSideAutoSendAck=b //use [ISDN]
NetSideAutoSendAck=b //use [ISDN]
b=0: No;
Value Range
b=1: Yes (default).
Sets whether to enable the ‘Auto-answer of Incoming Call’ feature or not.
AutoSendKB is used to set the SS1 channel. Refer to the China SS1 State Machine
section in Chapter 1 for more information. AutoSendACM is used to set ISUP and TUP
channels. Refer to the ISUP Channel State Machine or TUP Channel State Machine section
Description
in Chapter 1 for more information. UserSideAutoSendAck is used to set the ISDN channel
(user-side) while NetSideAutoSendAck is used to set the ISDN channel (network-side).
Refer to the ISDN Channel State Machine section in Chapter 1 for more information about
the k2 switch.
Note The same purpose can be achieved via the function call of SsmEnableAutoSendKB.
3.1.2.27.3.1 TxCallerId
Refer to CalloutCallerId
3.1.2.27.3.2 CalloutCallerId
TxCallerId
Configuration Item
CalloutCallerId
Section [SS1Config] / [TUP] / [ISUP] / [ISDN]
Format 1: TxCallerId=s
Format 2: TxCallerId[m]=s
Written Format
Format 1: CalloutCallerId=s
Format 2: CalloutCallerId[m]=s
s: The ASCII string storing the calling party number. The number of the characters is up to 20
for the ISDN channel, up to 15 for the TUP channel, and up to 50 for other channels. s
has to be made up of the digits ’0’~’9’. Other types of characters will be ignored. It being
empty indicates the calling party number will not be sent to the remote PBX in the
Value Range
outgoing call.
m: The logical number of the digital truck in the application. It starts from 0, the range of
value: 0≤m<M (M is the set value of the configuration item TotalPcm).
The default value is empty.
Sets the phone number of the local end, i.e. the calling party number, in the outgoing call.
TxCallerId is used to set the SS1 channel (using Section [SS1Config]); CalloutCallerId is
Description used to set the ISUP channel (using Section [ISUP]), the TUP channel (using Section [TUP])
and the ISDN channel (using Section [ISDN]). Format 1 is used to set the global channels;
Format 2 is used to set the channel with a specific PCM number.
z Some PBXes using TUP and ISUP protocols requires the calling party number string sent
by the calling party to contain the ST signal. The configuration item SetSTSignal can be
Note
used for this purpose.
z If Format 1 and Format 2 exist at the same time, Format 2 has the priority.
3.1.2.27.3.3 SetSTSignal
Configuration Item SetSTSignal
Section [TUP] / [ISUP]
Written Format SetSTSignal=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether the calling party number string sent by the local end to the remote PBX
Description
contains the ST signal in the outgoing call.
This configuration item is only applicable to TUP and ISUP channels, the ISUP channel
Note
using the configuration section [ISUP] while the TUP channel using [TUP].
3.1.2.27.4.1 SetCalledSTSignal
Configuration Item SetSTSignal
Section [TUP] / [ISUP]
Written Format SetCalledSTSignal=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether the called party number string sent by the local end to the remote PBX
Description
contains the ST signal in the outgoing call.
This configuration item is only applicable to TUP and ISUP channels, the ISUP channel
Note
using the configuration section [ISUP] while the TUP channel using [TUP].
3.1.2.27.5.1 UsageMode
Configuration Item UsageMode
Section [BoardId=x]
Written Format UsageMode=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether to connect the SHD Series boards to the channel bank. See the Connection to
Description
Channel Bank section in Chapter 1 for details.
This configuration item is only applicable to the following board models in the SHD Series.
9 SHD-30A-CT/PCI/SS1
9 SHD-30A-CT/PCI/ISDN
9 SHD-30A-CT/PCI/SS7
9 SHD-30A-CT/cPCI
9 SHD-30B-CT/PCI/FAX
9 SHD-60A-CT/PCI/SS1
9 SHD-60A-CT/PCI/ISDN
9 SHD-60A-CT/PCI/SS7
9 SHD-60A-CT/cPCI
9 SHD-60B-CT/PCI/SS7/FAX
9 SHD-60B-CT/cPCI/FAX
9 SHD-120A-CT/PCI/SS1
9 SHD-120A-CT/PCI/ISDN
9 SHD-120A-CT/PCI/SS7
9 SHD-120A-CT/cPCI
9 SHD-120D-CT/PCI/CAS
9 SHD-240D-CT/PCI/CAS
9 SHD-30E-CT/PCIe
9 SHD-30E-CT/PCIe/FAX
9 SHD-30E-CT/PCIe/EC
Note 9 SHD-60E-CT/PCIe
9 SHD-60E-CT/PCIe/FAX
9 SHD-60E-CT/PCIe/EC
9 SHD-120E-CT/PCIe
9 SHD-120E-CT/PCIe/FAX
9 SHD-120E-CT/PCIe/EC
9 SHD-240E-CT/PCIe
9 SHD-240E-CT/PCIe/FAX
9 SHD-240E-CT/PCIe/EC
9 SHD-240E-CT/PCIe/VAR
9 SHD-30E-CT/PCI(SSW)
9 SHD-30E-CT/PCI/FAX(SSW)
9 SHD-30E-CT/PCI/EC(SSW)
9 SHD-60E-CT/PCI(SSW)
9 SHD-60E-CT/PCI/FAX(SSW)
9 SHD-60E-CT/PCI/EC(SSW)
9 SHD-120E-CT/PCI(SSW)
9 SHD-120E-CT/PCI/FAX(SSW)
9 SHD-120E-CT/PCI/EC(SSW)
9 SHD-240E-CT/PCI(SSW)
9 SHD-240E-CT/PCI/FAX(SSW)
9 SHD-240E-CT/PCI/EC(SSW)
3.1.2.27.5.2 CBProtocolType
Configuration Item CBProtocolType
Section [BoardId=x]
Written Format CBProtocolType=m
m=0: CCS;
Value Range
m=1: CAS (default).
Description Sets the signaling mode used in connecting the SHD Series boards to the channel bank.
This configuration item becomes valid only when the configuration item UsageMode is set to
Note
1.
3.1.2.27.5.3 CBChannelType
Configuration Item CBChannelType
Section [BoardId=x]
Written Format CBChannelType=m
m=0: Not use this channel;
Value Range m=1: Station channel (default);
m=2: E/M channel.
Description Sets the channel type used in connecting the SHD Series boards to the channel bank.
This configuration item becomes valid only when the configuration item UsageMode is set to
Note
1.
3.1.2.27.5.4 CBChangeChannelType
Configuration Item CBChangeChannelType
Section [BoardId=x]
Written Format CBChangeChannelType=m
m=0: Do not use this feature (default);
Value Range
m=1: Compulsively set the channel type to station channel when its initialization is failed.
Generally, the large-capacity channel banks connect with each other through the optical-fiber
circuit. When the channel type used in connecting the SHD Series boards to the channel
Description
bank is -1 upon initialization, you can use this configuration item to set it to station channel
compulsively.
This configuration item becomes valid only when the configuration item UsageMode is set to
Note
1.
3.1.2.27.6.1 RunAsSpy
Configuration Item RunAsSpy
Section [BoardId=x]
Written Format RunAsSpy =b
b=0: Normal mode (default);
Value Range
b=1: Monitoring mode.
Description Sets the operating mode for the SHD Series boards.
z This configuration item is invalid to the signaling-monitoring board as it always works in the
Note monitoring mode;
z This configuration item is only applicable to A-type and C-type digital boards.
3.1.2.27.7.1.1 mfcr2_Protocol
Configuration Item mfcr2_Protocol
Section [SS1Config]
Written Format mfcr2_Protocol=s
3.1.2.27.7.2.1 tonesgroupA
Configuration Item tonesgroupA
Section [SS1Config]
Written Format tonesgroupA=k
k: Composed of 16 bits. Each hexade (4 bits) of the parameter contains one request. Low to
high hexade:
1. Send next DID (bit0-3).
Value Range
2. Send Group I category (bit4-7).
3. Send next ANI (bit8-11).
4. Send Group II tone (and switch to group B tone reception) (bit12-15).
Sets backward Group A tones. The driver uses them to send requests to the calling party
Description
during the compelled sequence.
Note This configuration item is only applicable to the SS1 channel on the SHD Series boards.
If the MFC-R2 protocol defines that A1 sends next DID, A5 sends Group I category, A5 sends
Example next ANI, A3 sends Group II tone (and switch to group B tone reception), it should be set
tonesgroupA=0x3551.
3.1.2.27.7.2.2 tonesgroupB
Configuration Item tonesgroupB
Section [SS1Config]
Written Format tonesgroupB=k
k: Composed of 16 bits. Each hexade (4 bits) of the parameter contains one Group B
indication. Low to high hexade:
1. Indicate congestion (bit0-3).
Value Range
2. Indicate unallocated number (bit4-7).
3. Indicate busy (bit8-11).
4. Indicate line out of order (bit12-15).
Sets some backward Group B tones. The driver uses them to send the final indication of the
Description
compelled sequence to the calling party.
Note This configuration item is only applicable to the SS1 channel on the SHD Series boards.
3.1.2.27.7.2.3 Tonesendofinfo
Configuration Item Tonesendofinfo
Section [SS1Config]
Written Format tonesendofinfo=k
k: Composed of 16 bits. Every 4 bits constitute a hexade. Low to high hexade:
1. End of DID (bit0-3). In some countries, a tone that signals the end of the DID digits
does not exist. In this case, the first hexade will be 0.
2. Spare (bit4-7).
Value Range
3. End of ANI - caller ID available (bit8-11).
4. End of ANI - called ID restricted (bit12-15). In most countries, there is no distinction for
MFC-R2 between restricted and non-restricted caller ID. In this case, the fourth hexade
is 0.
Description Sets forward tones that indicate the end or the non-availability of certain types of information.
Note This configuration item is only applicable to the SS1 channel on the SHD Series boards.
3.1.2.27.7.2.4 Tonesanswer
Configuration Item Tonesanswer
Section [SS1Config]
Written Format tonesanswer=k
k: Composed of 16 bits. Each hexade (4 bits) of the parameter contains one distinct type of
acceptance indication. Low to high hexade:
1. Call accepted in Group B - charge.
Value Range
2. Call accepted in Group B – free call.
3. Call accepted in Group A.
4. Spare.
Description Sets backward tones indicating acceptance of the call.
Note This configuration item is only applicable to the SS1 channel on the SHD Series boards.
3.1.2.27.7.2.5 Tonesrepeatrequest
Configuration Item Tonesrepeatrequest
Section [SS1Config]
Written Format tonesrepeatrequest=k
k: Composed of 16 bits. Every 4 bits constitute a hexade. Consider the DID that the
outbound side played last to be DID n. Low to high hexade:
1. Repeat DID n-1
Value Range
2. Repeat DID n-2
3. Repeat DID n-3
4. Repeat all DIDs (restart dialing)
Sets backward Group A tones the inbound side plays to request a digit repetition from the
Description
outbound side.
Note This configuration item is only applicable to the SS1 channel on the SHD Series boards.
3.1.2.27.7.2.6 TonesAnswerA
Configuration Item TonesAnswerA
Section [SS1Config]
Written Format TonesAnswerA=k
k: Composed of 16 bits. Every 4 bits constitute a hexade. Low to high hexade:
1. Group A network busy.
Value Range 2. Undefined number in Group A.
3. Particular tones in Group B.
4. xxx in Group II.
Description Sets some R2 signaling parameters.
Note This configuration item is only applicable to the SS1 channel on the SHD Series boards.
3.1.2.27.7.3.1 TxCas_CD
Configuration Item TxCas_CD
Section [SS1Config]
Written Format TxCas_CD=k
k: The high 6 bits should be set to 0, being reserved; the low 2 bits are C/D signaling code.
Value Range Bit1: Signaling Code C, with the default value of 1;
Bit0: Signaling Code D, with the default value of 1.
Description Sets the value of CD in the ABCD signaling codes sent by the local end to the remote PBX.
This configuration item is only applicable to the SS1 channel on the SHD Series boards,
Note
being valid only if the configuration item ProtocolType is set to 1,2,3 or 4.
3.1.2.27.7.3.2 RxCASFilterTime
Configuration Item RxCASFilterTime
Section [SS1Config]
Written Format RxCASFilterTime=t
t: The minimum duration of ABCD signaling codes sent out by the remote PBX, calculated by
Value Range
millisecond (ms), which has to be the multiple of 8, with the default value of 0.
Sets the minimum duration of ABCD signaling codes sent out by the remote PBX. Only when
the on-line ABCD signaling codes vary and the new value keeps for more then the time
Description
specified by this configuration item will the driver confirm the change of ABCD codes.
Otherwise, the driver will believe there are undesired dithering signals on the line.
z This configuration item is only applicable to the SS1 channel on the SHD Series boards;
z It is used for those E1/T1 lines providing a relative low quality of signals. The severe
signal dithering is likely to cause the misdetection of the remote pickup by the driver. This
configuration item just helps set a minimum duration to eliminate the possibility of signal
Note dithering. Note: The set value of this configuration item being too great may bring in some
side effect. That is, in case the called party sends the ‘Called party first hangs up’
signaling (i.e. Ab/Bb=1/1) immediately following the ‘Called party answers’ signaling (i.e.
Ab/Bb=0/1), the ‘Called party answers’ signaling is probably filtered out by the filter as
dithering signals.
3.1.2.27.7.3.3 MaxWaitMfcTime
Configuration Item MaxWaitMfcTime
Section [SS1Config]
Written Format MaxWaitMfcTime=t
Value Range t: The maximum waiting time, calculated by second, with the default value of 10sec.
Sets the timer T2 for the SS1 state machine.
Description
Refer to the China SS1 State Machine section in Chapter 1 for more information.
Note This configuration item is only applicable to the SS1 channel on the SHD Series boards.
3.1.2.27.7.3.4 RxR2FilterTime
Configuration Item RxR2FilterTime
Section [BoardId=x]
Written Format RxR2FilterTime=t
t: The minimum duration of the R2 signal, calculated by millisecond (ms), which has to be the
Value Range
multiple of 16, with the default value of 16. The range of value is 16~96.
Description Sets the minimum duration of the MFC R2 signal.
z This configuration item is only applicable to the SS1 channel on the SHD Series
boards;
Note
z The same purpose can be achieved by the function call of SsmSetFlag (with the
parameter F_RXR2FILTERTIME).
3.1.2.27.7.3.5 LSRingTimeout
Configuration Item LSRingTimeout
Section [SS1Config]
Written Format LSRingTimeout =t
t: Calculated by millisecond (ms). Range of value is 1000~20000, with the default value of
Value Range
6000.
Sets the overtime for being in the ‘Ringing’ state. If a channel which is in the ‘Ringing’ state
Description doesn’t receive any connection message within the overtime, it will go into the ‘Waiting for
release’ state.
z This configuration item is only applicable to the SS1 channel on the SHD Series
Note boards;
z This configuration item is valid only under the ‘LineSide(ProtocolType=1)’ mode.
3.1.2.27.7.4.1 EnableAutoCall
Configuration Item EnableAutoCall
Section [BoardId=x]
Written Format EnableAutoCall[n]=b
n: The internal digital trunk number on the board, 0 ≤ n ≤ M-1 (M is the total number of
on-board digital trunks);
Value Range b: Determines whether to use the state machine provided by the SynCTI driver.
b=1: Yes (default);
b=0: No.
Description Sets the operating mode of the SS1 channel state machine.
Note This configuration item is only applicable to the SS1 channel on the SHD Series boards.
3.1.2.27.7.4.2 AutoCallInTimeSlot
Configuration Item AutoCallInTimeSlot
Section [BoardId=x]
Written Format AutoCallInTimeSlot[n]=i,k
n: The internal digital trunk number on the board, 0 ≤ n ≤ M-1 (M is the total number of
on-board digital trunks);
Value Range
i: The initial time slot set for the incoming call.
k: The number of channels (time slots) set for the incoming call.
Sets k time slots from TS i on PCM n to process incoming calls and others to process
Description
outgoing calls.
Note This configuration item is only applicable to the SS1 channel on the SHD Series boards.
3.1.2.27.7.5.1 MfcKB
Configuration Item MfcKB
Section [SS1Config]
Written Format MfcKB=k
1≤k≤6. The default value varies on the configuration item mfcr2 Protocol: 1 for Saudi Arabia,
Mexico, China, Thailand and Brazil; 5 for Kuwait, 6 for other countries. When k is set to the
Value Range default value, it indicates the called party is free and receives the incoming call. For the
physical meanings of the value of KB, refer to the function SsmSetKB and the SS1 protocol
of relevant countries.
Sets the value of the KB signal sent to the remote PBX by the SS1 channel upon automatic
Description reception of an incoming call.
Refer to the China SS1 State Machine section in Chapter 1 for more information.
This configuration item becomes valid only when the configuration item AutoSendKB is set
Note
to 1.
3.1.2.27.7.5.2 MaxWaitSetKBTime
Configuration Item MaxWaitSetKBTime
Section [SS1Config]
Written Format MaxWaitSetKBTime=t
Value Range t: The maximum waiting time, calculated by second, with the default value of 3sec.
Sets the maximum time to wait for the application to configure the KB signal.
Sets the maximum waiting time in the SS1 channel state machine for the application to
Description
respond to this incoming call request (i.e. the timer T4). Refer to the China SS1 State
Machine section in Chapter 1 for more information.
3.1.2.27.7.5.3 MaxWaitKDTime
Configuration Item MaxWaitKDTime
Section [SS1Config]
Written Format MaxWaitKDTime=t
Value Range t: The maximum waiting time, calculated by second, with the default value of 60sec.
Sets in the SS1 channel state machine the maximum time to wait for the remote PBX to send
Description the KD signal (i.e. the timer T3). Refer to the China SS1 State Machine section in Chapter 1
for more information.
3.1.2.27.7.5.4 PcmSyncMask
Configuration Item PcmSyncMask
Section [SS1Config]
Written Format PcmSyncMask=x
Value Range x: The mask code for line synchronization value. It is 0x206 by default.
Sets whether to shield the sync status of a PCM link on the E1 trunk. When PcmSyncMask is
Description set to 0x0206, it indicates all sync statuses of a PCM link except those represented by bit1,
bit2 and bit9 will be ignored. Refer to SsmGetPcmLinkStatus for more information.
3.1.2.27.7.5.5 PhoNumHoldup
Refer to A3pTime
3.1.2.27.7.5.6 A1ToA3pWaitTime
Refer to A3pTime
3.1.2.27.7.5.7 A3pTime
PhoNumHoldup
Configuration Item A1ToA3pWaitTime
A3pTime
Section [SS1Config]
PhoNumHoldup=m
Written Format A1ToA3pWaitTime=twait
A3pTime=tkeep
m: The switch to control the ‘Called Number Hold-up’ feature. Its value and the
corresponding meaning are shown in the table below.
m Description
0 Disable the ‘Called Number Hold-up’ feature.
The ‘Called Number Hold-up’ feature is enabled, allowing the holdup of 1 digit of the called
party number. When the driver receives the last digit of the called party number according
to the preset number receiving rule, it will send the A1 but not A3 signal to the remote PBX
and keep waiting for the subsequent digit.
If the driver receives the subsequent digit within twait, it will save this digit into the
1
Callee ID buffer and finish the reception of the called party number. At that time, the
driver will resume the A3 signal transmission in interworking mode to the remote
PBX and the normal progress;
If the driver does not receive the subsequent digit within twait, it will send the A3
Value Range signal in the form of pulse to the remote PBX and resume the normal progress.
The ‘Called Number Hold-up’ feature is enabled, allowing the holdup of several digits of
the called party number. When the driver receives the last digit of the called party number
according to the preset number receiving rule, it will continue to send the A1 and keep
2 waiting for the subsequent digit. If the driver receives the subsequent digit within twait, it
will save this digit into the Callee ID buffer and repeat the process described above. Only
if the driver does not receive the subsequent digit within twait, it will send the A3 signal in
the form of pulse to the remote PBX and resume the normal progress.
The default value of m is 0.
twait: The maximum waiting time, calculated by second, with the default value of 1000, being
valid when m>0;
tkeep: The pulse width, calculated by second, with the default value of 150, being valid when
m>0.
Sets the ‘Called Number Hold-up’ feature. PhoNumHoldup is used to set the control switch
Description of this feature; A1ToA3pWaitTime is to set the threshold value of the time to wait for the
subsequent digit; A3pTime is to set the pulse width of the A3 signal.
The purpose achieved by PhoNumHoldup also can be realized via the function call of
Note
SsmSetFlag (with the parameter F_RCVPHONUMHOLDUP).
3.1.2.27.7.5.8.1 MaxWaitOccupyAckTime
Configuration Item MaxWaitOccupyAckTime
Section [SS1Config]
Written Format MaxWaitOccupyAckTime=t
Value Range t≥1, calculated by second, with the default value of 60.
Sets the value of the timer T5.
Description
Refer to the China SS1 State Machine section in Chapter 1 for more information.
3.1.2.27.7.5.8.2 MfcKD
Configuration Item MfcKD
Section [SS1Config]
Written Format MfcKD=k
1≤k≤6, with the default value of 3 (local call). See description on the function SsmSetKD for
Value Range
more information about the KD signal.
Description Sets the originating service type, i.e. KD, for the outgoing call.
3.1.2.27.7.5.8.3 MfcKA
Configuration Item MfcKA
Section [SS1Config]
Written Format MfcKA=k
1≤k≤10, with the default value of 1 (ordinary/regular). See description on the function
Value Range
SsmSetKA for more information about the KA signal.
Description Sets the KA signal (called party’s category at the local end) sent in an outgoing call.
3.1.2.27.7.5.8.4 MaxWaitKBTime
Configuration Item MaxWaitKBTime
Section [SS1Config]
Written Format MaxWaitKBTime=t
Value Range t: The maximum waiting time, calculated by second, with the default value of 60sec;
Description Sets the maximum time to wait for the KB signal from the remote PBX.
3.1.2.27.7.5.9.1 ToRingingDelayTime
Configuration Item ToRingingDelayTime
Section [BoardId=x]
Written Format ToRingingDelayTime=t
Value Range t: The delay time, calculated by second, with the default value of 0.
Sets the delay time. Upon the connection of a Synway board and a Dialogic board through
the SS1 channel, if the SS1 channel on the Synway board serves as the incoming end, a
Description
period of waiting time is required before the channel goes into the ‘Ringing’ state following
the reception of the complete called party number.
This configuration item is only used in connecting the Synway SHD boards with the Dialogic
Note
boards.
3.1.2.27.7.5.9.2 RepeatPhoNumOn1stR2bwdIsA5
Configuration Item RepeatPhoNumOn1stR2bwdIsA5
Section [BoardId=x]
Written Format RepeatPhoNumOn1stR2bwdIsA5=m
m=0: The driver sets the pending reason value to be SS1OUT_BWD_A5 and transfers the
channel state to S_CALL_PENDING;
m=1: If the local end receives the A5 signal from the remote end only after sending the 1st
Value Range digit of the called party number, it will send the 1st digit again; otherwise, the driver will
set the pending reason value to be SS1OUT_BWD_A5 and transfers the channel state
to S_CALL_PENDING.
The default value is 1.
This configuration item is used to select the driver’s subsequent behavior after the reception
Description
of the A5 signal (unallocated-number signal) from the remote end in an outgoing call.
This configuration item is only used in connecting the Synway SHD boards with the Dialogic
Note
boards.
3.1.2.27.7.5.10.1 IsBlockSS1In
Configuration Item IsBlockSS1In
Section [SS1Config]
Written Format IsBlockSS1In=b
b=1: Send (default);
Value Range
b=0: Not send.
This configuration item is used to set whether the driver will automatically sent the blocking
Description command to the remote PBX in order to inform it not to start a call towards the local end
again at the time the application program exits.
Note This configuration item is only applicable to the SS1 channel on the SHD Series boards.
3.1.2.27.7.5.11.1 MfcR2ToRxCallerIdBuf
Configuration Item MfcR2ToRxCallerIdBuf
Section [SS1Config]
Written Format MfcR2ToRxCallerIdBuf=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether to save the R2 signal sent by the remote PBX in the outgoing call to the
Extended Caller ID buffer so as to facilitate the observation on the call process. If this
feature is enabled, the driver will put the calling party number into the RxCallerIdExBuf
Description buffer and throw out the E_CHG_CIDExBuf event to the application every time when the R2
signal sent by the remote PBX varies, including the appearance and disappearance of the
R2 signal.
The function SsmGetCallerIdEx is used to take out the strings stored in this buffer.
3.1.2.27.7.6.1 LSWaitPickupTime
Configuration Item LSWaitPickupTime
Section [SS1Config]
Written Format LSWaitPickupTime=t
16≤t≤10000, calculated by millisecond (ms), which has to be the multiple of 8, with the
Value Range default value of 96. If the set value is out of the range of value, the driver will automatically
modify it to 96ms.
Sets the timer T1 in the LineSide state machine. Refer to the Line Side State Machine
Description
section in Chapter 1 for more information.
This configuration item is not applicable to SS1, being valid only when the configuration item
Note
ProtocolType is set to 1, 2, 3 or 4.
3.1.2.27.7.6.2 Ss1SendIdleState
Configuration Item Ss1SendIdleState
Section [SS1Config]
Written Format Ss1SendIdleState=m
When the configuration item protocolType is set to 1 or 3:
m=0: Use CAS 00xx;
m=1: Use CAS 01xx (especially for Alcatel PBXes).
Value Range When the configuration item protocolType is set to 2:
m=0: Use CAS 00xx;
m=1: Use CAS 01xx;
m=2: Use CAS CD01 (CD is the set value of the configuration item TxCas_CD)
Description Sets the ABCD signaling codes used in sending the idle indicator to the remote PBX.
This configuration item is applicable to the SS1 channel using the LineSide protocol and the
Note channel using the ASB protocol, being valid only when the configuration item ProtocolType
is set to 1, 2 or 3.
3.1.2.27.7.6.3 LSTxCas
Configuration Item LSTxCas
Section [SS1Config]
Written Format LSTxCas=0xabcd
=0: This configuration item is invalid;
=Other values: each number indicates the ab value of the sent CAS in one state. Below are
the meanings of the bits from low to high:
Value Range d (ab value of the sent CAS in idle state);
c (ab value of the sent CAS in pickup state);
b (ab value of the sent CAS upon the start of flash signal);
a (ab value of the sent CAS at the end of flash signal).
Sets the ab value of the sent CAS in four states: idle, pickup, the start of flash signal and the
Description
end of flash signal.
This configuration item is applicable to the SS1 channel using the LineSide protocol, being
Note
valid only when the configuration item ProtocolType is set to 1 or 3.
3.1.2.27.8.1.1 UseTS16AsCircuit
Refer to Ss7SignalingTS
3.1.2.27.8.1.2 Ss7SignalingTS
UseTS16AsCircuit
Configuration Item
Ss7SignalingTS
Section [BoardId=x]
UseTS16AsCircuit[n]=b
Written Format
Ss7SignalingTS[n]=k
n: The physical digital trunk number, with the value range of 0~M-1. M is the set value of the
configuration item PcmNumber.
b: Determines whether this digital trunk contains SS7 signaling links.
b=0: Yes (default). The configuration item Ss7SignalingTS determines the specific time
slot to provide signaling links;
b=1: No. The time slot specified by the configuration item Ss7SignalingTS can serve as
neither the signaling link nor the voice path.
k: The time slot number, with the default value of 16.
1) For the driver versions below SynCTI 4.5.8.0, k has the fixed value of 16.
2) For the driver versions equal to or above SynCTI 4.5.8.0 and below SynCTI
4.8.0.0, the value of k depends on the board model.
If the board model is one of the followings,
SHD-240A-CT/cPCI
SHD-240S-CT/cPCI
SHD-480A-CT/cPCI
SHD-480S-CT/cPCI
k must be set to 16.
If the board model is one of others in SHD Series, k can be set to 1 or 16.
3) For SynCTI 4.8.0.0 or above, if the board model is one of the followings,
SHD-240A-CT/cPCI
SHD-240S-CT/cPCI
Value Range SHD-480A-CT/cPCI
SHD-480S-CT/cPCI
k must be set ≥0 and ≤32. When k is equal to 0 or 32, all time slots from TS1 to
TS31 on this digital trunk are used as voice paths; other values except 0 and 32
indicate the particular signaling time slot number.
If the board model is one of the followings,
SHD-240D-CT/PCI
SHD-240D-CT/PCI/EC
SHD-120D-CT/PCI
SHD-120D-CT/PCI/EC
SHD-60B-CT/PCI/FJ
All E-type digital trunk boards
k must be set >0 and <33. To be exact,
In E1 mode, k=32 indicates all the 31 time slots on this PCM are used to deliver
voice data. For SHD-60B-CT/PCI/FJ, k=32 indicates all the 31 time slots on the
monitored PCM are used to deliver voice data, and this feature is only supported
for E1 and SS7. (Note: While using SS1 or ISDN, k is set to 16 by default and
cannot be modified.)
In T1/J1 mode, 1≤k≤25. k=25 indicates all of the 24 time slots on this PCM are
used to deliver voice data. (Note: While using SS1, k is set to 25 by default; while
using ISDN, k is set to 24 by default. Both cannot be modified.)
If the board model is one of others in SHD Series, k can be set to 1 or 16.
Description UseTS16AsCircuit is used to set whether this digital trunk contains SS7 signaling links.
z It is an advanced configuration item, only applicable to the SS7 signaling;
Note z If the value of the configuration item PcmNumber is greater than 1, this configuration item
should be set for each digital trunk.
3.1.2.27.8.2.1 AddressSignal
Configuration Item AddressSignal
Section [TUP] / [ISUP]
Written Format AddressSignal[n]=c
3.1.2.27.8.3.1 Ss7ServerIP
Refer to SecondServerIP
3.1.2.27.8.3.2 SecondServerIP
Ss7ServerIP
Configuration Item
SecondServerIP
Section [SS7]
Ss7ServerIP=a.b.c.d
Written Format
SecondServerIP=a.b.c.d
a.b.c.d: The address of the SS7 server, with the default value of 127.0.0.1 (indicating there
Value Range is only one SS7 server available, running with the application program on the local
PC).
Description Sets the address of the SS7 server.
If both the SS7 server and the application program are running on the local PC, these two
configuration items are not necessarily set; if the system contains two SS7 server,
Note
Ss7ServerIP and SecondServerIP are respectively used to set the IP address of the master
server and that of the slave server.
Example Ss7ServerIP=201.123.123.1
3.1.2.27.8.4.1 LocalIP
Configuration Item LocalIP
Section [SS7]
Written Format LocalIP=a.b.c.d
a.b.c.d: The address of the local PC, with the default value of 127.0.0.1 (indicating both the
Value Range
SS7 server and the application program are running on the local PC).
Description Sets the IP address of the SS7 server or the gateway.
Example LocalIP=201.123.123.5
3.1.2.27.8.5.1 LoadShp_a3AsSIU
Configuration Item LoadShp_a3AsSIU
Section [SystemConfig]
Written Format LoadShp_a3AsSIU=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether the SS7 server outputs the data on voice time slots. When the SS7 server is
used not to run any service system but to provide SS7 service, it only process the data on
signaling time slots of the digital trunk but not those on voice time slots. If the digital trunk
that connects to the SS7 server has voice time slots on it besides the signaling links, the
Description SS7 server is required to exchange the data from a voice time slot to another and then
output the data from there. Such an operation is based on the two-way connection between
all voice time slots of the digital trunk with the physical number of 0 and the corresponding
voice time slots of the digital trunk with the physical number of 1. Refer to the Supplying
SS7 Service for Third-party Board section in Chapter 4 for more information.
Note It is only applicable to the SHD-60A-CT/PCI/SS7 board.
3.1.2.27.8.6.1 Ss7CircuitMap[pcm]
Configuration Item Ss7CircuitMap[pcm]
Section [BoardId=x]
Written Format Ss7CircuitMap[pcm]=b
pcm: The physical number of the digital trunk on the board. For more information, refer to
related manuals. Range of value: 0≤pcm≤31;
b: composed of 32 bits, with the default value of 0xFFFFFFFF. The values of bit0-bit31
Value Range
respectively indicate whether TS0-TS31 for a particular PCM are used as SS7 circuits:
0=not used as SS7 ciruit; 1=used as SS7 circuit. In an E1 system, TS0 and the time slot for
processing SS7 signaling will be ignored.
Sets the corresponding relationship between SS7 circuits and time slots for a particular
PCM. The time slot which is set to ‘not used as SS7 circuit’ will not be reset by the driver
Description
and the inbound call from the other end to this time slot will be blocked. Meanwhile, the
corresponding channel will turn to the ‘unused’ state.
Example Ss7CircuitMap[0]= 0xFFFFFFFF
3.1.2.27.8.7.1.1 SendGRMRange
Configuration Item SendGRMRange
Section [TUP]
Written Format SendGRMRange=m
m=0: Use all-0 field. That is, the time slot number in the CIC field of the circuit group
message is 1 and the Range field is 0, indicating this circuit group message covers all
time slots TS1~31;
m=1: Use not all-0 field. The range of time slots covered by the circuit group message
depends on the configuration item Ss7SignalingTS. Assuming the set value of
Value Range Ss7SignalingTS is N:
If N=1, the time slot number in the CIC field of the circuit group message is 2 and
the Range field is 29;
If N=16, the circuit group message will be divided into 2 messages: the time slot
number in the CIC field of one message is 1 and the Range field is 14; the time
slot number in the CIC field of the other message is 17 and the Range field is 14.
This configuration item is used to set the range of time slots covered by the circuit group
Description
message when the local driver sends the message to the remote PBX.
This configuration item will affect all circuit group messages, including the circuit group
Note
reset message and the circuit group blocking/unblocking message.
3.1.2.27.8.7.1.2 HangupRingSendCBK
Configuration Item HangupRingSendCBK
Section [TUP]
Written Format HangupRingSendCBK=m
m=0: Send the CFL message (default);
Value Range
m=1: Send the CBK message.
When the channel stays in the S_CALL_RINGING state, the function call of SsmHangup or
SsmHangupEx by the application will prompt the driver to send the call rejection message
Description
to the remote PBX. The call rejection message can be CBK or CFL. It is this configuration
item that determines which one is used exactly.
Note It requires SynCTI Ver. 4.7.1.5 or above.
3.1.2.27.8.7.2.1 DefaultACM
Configuration Item DefaultACM
Section [TUP]
Written Format DefaultACM=0xab
ab:8-bit data, represented by hexadecimal digits. The 8 bits are arranged from high to low
as HGFEDCBA.
Bit Implication Value Description
HG Spare
Signaling Channel 0 Any channel
F
Indicator 1 All are SS7 channels
0 Call non-forwarding
E Call Forwarding Indicator
1 Call forwarding
Value Range Incoming Echo 0 Incoming half-echo suppressor not included
D
Suppression Indicator 1 Incoming half-echo suppressor included
0 Not instructed
C Subscriber Free Indicator
1 The subscriber is free.
00 Address complete signal
Address Complete Signal 01 Address complete signal, charge
BA
Type Indicator 10 Address complete signal, no charge
11 Address complete signal, payphone
The default value is 0x05.
In the incoming call, the local end is required to send the ACM message to the remote PBX
after receiving the complete called party number and other information. This ACM message
Description should contain the message indicator field to indicate the user’s status which is set via this
configuration item. Refer to the TUP Channel State Machine section in Chapter 1 for more
information.
Example DefaultACM=0x05
3.1.2.27.8.7.3.1 ReqTypeIndicators
Configuration Item ReqTypeIndicators
Section [TUP]
Written Format ReqTypeIndicators=0xk
k: 8-bit data, represented by hexadecimal digits. The 8 bits are arranged from high to low as
HGFEDCBA.
Bit Implication Value Description
HG Spare
Echo Suppressor Request 0 Not requested
F Indicator (also is applicable Requested
1
to the echo canceller)
0 Not requested
E Request Holding Indicator
1 Requested
Value Range
Malicious Call Identification 0 Not encountered
D
Indicator 1 Encountered
Original Called Party’s 0 Not requested
C
Address Indicator 1 Requested
Calling Line Identification 0 Not requested
B
Indicator 1 Requested
Calling Party’s Category 0 Not requested
A
Indicator 1 Requested
The default value is 0x03.
Description Sets the request type indicator in the GRQ message.
Example ReqTypeIndicators=0x03
3.1.2.27.8.7.4.1 ConnectReqMsg
Configuration Item ConnectReqMsg
Section [TUP]
Written Format ConnectReqMsg=m
m=0: Automatically selected by the driver. If the driver’s internal outgoing Caller ID buffer
(configurable via the function SsmSetTxCallerId or the configuration item
TxCallerId) or original Callee ID buffer (configurable via the function
SsmSetTxOriginalCallerID) is not empty, use the IAI message; otherwise, use the
Value Range
IAM message.
m=1: Use the IAM message.
m=2: Use the IAI message.
The default value is 0.
This configuration item is to set the initial address message type used by the local end to
Description
start an outgoing call.
3.1.2.27.8.7.4.2 CalloutIAM_CAT
Configuration Item CalloutIAM_CAT
Section [TUP]
Written Format CalloutIAM_CAT=0xk
k: 8-bit data, represented by hexadecimal digits. The 8 bits are arranged from high to low
as HGFEDCBA.
Low bits: HGFEDCBA
Bit Implication Value Description
HG Spare 00
Unknown, used in international semi-automatic
000000
working
Operator, language French, used in international
000001
semi-automatic working
Operator, language English, used in international
000010
semi-automatic working
Operator, language German, used in international
000011
semi-automatic working
Operator, language Russian, used in international
000100
semi-automatic working
Operator, language Spanish, used in international
000101
semi-automatic working
A particular language selected by mutual agreement
000110 (Chinese), used in international semi-automatic
working
A particular language selected by mutual agreement,
000111
used in international semi-automatic working
A particular language selected by mutual agreement
001000 (Japanese), used in international semi-automatic
Value Range working
Calling 001001 National operator (presentation allowed)
FEDCBA Party’s Ordinary subscriber, used in
Category 001010 international-to-long-distance, international-to-local
network
Subscriber with priority, used in
001011 international-to-long-distance, international-to-local,
local-to-local network
001100 Data call
001101 Test call
001110 001110~001111 Spare
010000 Ordinary, free, used in local-to-international network
Ordinary, regular, used in local-to-international
010001
network
Ordinary, subscriber list, instant, used in
010010
local-to-international network
Ordinary, printer, instant, used in local-to-international
010011
network
With priority, free, used in local-to-international
010100
network
With priority, regular, used in local-to-international
010101
network
010110 Spare
010111 Spare
011000 Ordinary subscriber, used in local-to-local network
011001 011001~111111 Spare
The default value is 0x18。
Description Sets the calling party’s category field in the IAI/IAM message.
Example CalloutIAM_CAT=0x18
3.1.2.27.8.7.4.3 CalloutIAM_MsgPntr
Configuration Item CalloutIAM_MsgPntr
Section [TUP]
Written Format CalloutIAM_MsgPntr=0xabcd
abcd: 16-bit data, represented by hexadecimal digits, the low 12 bits being valid. Bit11~Bit0
are written as LKJIHGFEDCBA, each of which is described below.
Bit Implication Value Description
Incoming International Call 0 Not incoming international call
H
Indicator 1 Incoming international call
Outgoing echo suppressor not
Outgoing Echo Suppressor 0
G included
Indicator
1 Outgoing echo suppressor included
00 Continuity check not required
Continuity check required on this
01
circuit
FE Continuity Check Indicator
Continuity check performed on a
10
previous circuit
11 Spare
00 No satellite circuit in the connection
Value Range
satellite circuit available in the
DC Nature of Circuit Indicator 01
connection
Others Spare
00 Local subscriber number
01 Spare
BA Nature of Address Indicator
10 Valid national number
11 International number
L Spare
0 Any channel
K Signaling Channel Indicator
1 All are SS7 channels
All Digital Channel Required 0 Ordinary call
J
Indicator 1 All digital channels required
0 Call transfer required
I Call Transfer Indicator
1 Call transfer not required
The default value is 0x0000。
Description Sets the message indicator field in the IAI/IAM message.
Example CalloutIAM_MsgPntr=0x0000
3.1.2.27.8.7.4.4 CallingIndicatorBit
Configuration Item CallingIndicatorBit
Section [TUP]
Written Format CallingIndicatorBit=n
n=0x10: Use Bit E;
Value Range
n=0x04: Use Bit C (default)
There is a first indicator (octet) in the IAI message, Bit7~Bit0 being written as HGFEDCBA,
among which Bit C is the calling party information indicator, Bit E is the calling line
Description identification indicator. In case the IAI message contains the calling party number, some
PBXes requires the use of Bit E, some requires the use of Bit C. Which one is exactly used
can be set via this configuration item depending on the remote PBX’s requirement.
Example CallingIndicatorBit=0x10
3.1.2.27.8.7.4.5 OriginalCalleeAddrInd
Configuration
OriginalCalleeAddrInd
Item
Section [TUP]
Written Format OriginalCalleeAddrInd=0xn
n: 8-bit data, represented by hexadecimal digits, the low 4 bits being valid. Bit3~Bit0 are
written as DCBA, each of which is described below.
Bit Implication Value Description
DC Spare 00
Value Range 00 Local subscriber number
01 Spare national number
BA Nature of Address Indicator
10 Valid national number
11 International number
The default value is 0x02.
Description Sets the address indicator in the original called party address field of the IAI message.
Example OriginalCalleeAddrInd=0x02
3.1.2.27.8.7.4.6 CallerAddrInd
Configuration Item CallerAddrInd
Section [TUP]
Written Format CallerAddrInd =0xn
n: Address indicator, 8-bit and hexadecimal, the low 4 bits being valid. Bit3~Bit0 are written
as DCBA, each of which is described below.
Bit Implication Value Description
Calling party number 0 Not incomplete
D
incomplete indicator 1 Incomplete
Calling party number 0 Presentation unrestricted
Value Range C
presentation indicator 1 Presentation restricted
00 Local subscriber number
01 Spare national number
BA Nature of address indicator
10 Valid national number
11 International number
The default value is 0x02.
Description Sets the address indicator in the calling line identification field in the IAI message.
Example CallerAddrInd =0x02
Note z This configuration item requires SynCTI Ver. 5.3.1.2 or above.
3.1.2.27.8.7.5.1 AutoSendGSM
Configuration Item AutoSendGSM
Section [TUP]
Written Format AutoSendGSM=m
m=0: Taken over by the application. The outgoing call is resumed after the channel state
transfers to ‘Pending’ and the application program invoke the function SsmSetTxCallerId to
Value Range
set the calling party number.
m=1: Automatically replied by the driver (default).
In the outgoing call, once the GRQ message is received from the remote PBX, this
configuration item is used to determine whether this message is automatically replied by
Description
the driver via sending the GSM message. See the TUP Channel State Machine section in
Chapter 1 for more information.
3.1.2.27.8.7.6.1 AutoHandleTup
Configuration Item AutoHandleTup
Section [SS7]
Written Format AutoHandleTup=b
b=0: No;
Value Range
b=1: Yes (default).
Description Sets whether to use the TUP state machine provided by the SynCTI driver or not.
3.1.2.27.8.7.7.1 DebugViewTupCallProc
Configuration Item DebugViewTupCallProc
Section [SS7]
Written Format DebugViewTupCallProc=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether to output the debugging information of the TUP state machine to the software
Description
tool DebugView. If Yes, DebugView is required to run first.
Enabling the TUP debugging feature will reduce the system running efficiency. Hence this
Note
feature is only used for debugging.
3.1.2.27.8.8.1.1 DefaultCalledPickupMsg
Configuration Item DefaultCalledPickupMsg
Section [ISUP]
Written Format DefaultCalledPickupMsg=k
k=0x09: Use the ANM message (response);
Value Range k=0x07: Use the CON message (address complete and phone picked up)
The default value is 0x09.
This configuration item is used to set the type of the message sent to the remote PBX
Description when the ISUP channel stays in the ‘Ringing’ state and the application invokes the function
SsmPickup or SsmPickupANX.
Note It requires SynCTI Ver. 4.7.1.8 or above.
Example DefaultCalledPickupMsg=0x09
3.1.2.27.8.8.2.1 DefaultBackwardCallInd
Configuration Item DefaultBackwardCallInd
Section [ISUP]
Written Format DefaultBackwardCallInd=k
k: The parameter value of the backward call indicator field, including 2 bytes. The bits
arranged from high (Bit15) to low (Bit0) are written as PONMLKJIHGFEDCBA, each of
which is described below.
Bit Implication Value and Description
00: No indication
01: No charge
BA Charge Indicator
10: Charge
11: Spare
00: No indication
Called Party’s Status 01: Subscriber free
DC
Indicator 10: Connect when free
11: Spare
00: No indication
Called Party’s Category 01: Ordinary subscriber
FE
Indicator 10: payphone
11: Spare
00: No end-to-end method available (only
link-by-link method available)
End-to-end Method
HG 01: Pass-along method available
Indicator (Note)
10: SCCP method available
Value Range 11: Pass-along and SCCP methods available
Interworking Indicator 0: No interworking encountered
I
(Note) 1: Interworking encountered
End-to-end Information 0: No end-to-end information available
J
Indicator (Note) 1: End-to-end information available
ISDN User Part Indicator 0: ISDN user part not used all the way
K
(Note) 1: ISDN user part used all the way
0: Holding not requested
L Holding Indicator
1: Holding requested
0: Terminating access non-ISDN
M ISDN Access Indicator
1: Terminating access ISDN
Echo Control Device 0: Incoming half-echo control device not included
N
Indicator 1: Incoming half-echo control device included
00: No indication
01: Connectionless method available
SCCP Method Indicator
PO 10: Connection oriented method available
(Note)
11: Connectionless and connection oriented
methods available
NOTE: Bits G-K and O-P constitute the protocol control indicator.
The default value is 0x1416.
Description Sets the backward call indicator field in the ACM and CON messages.
Note It requires SynCTI Ver. 4.7.1.8 or above.
Example DefaultBackwardCallInd=0x1416
3.1.2.27.8.8.3.1 DefaultHangupRELInd
Configuration Item DefaultHangupRELInd
Section [ISUP]
Written Format DefaultHangupRELInd=0xk
The values and corresponding meanings of k are listed in the table below.
Value Macro in shpa3api.h Description
0x01 C_ISUP_REL_UNN Number unallocated
0x10 C_ISUP_REL_NORMAL_REL Normal release
0x11 C_ISUP_REL_BUSY User busy
Value Range 0x12 C_ISUP_REL_NOREPLY No answer
0x15 C_ISUP_REL_DENY Refused
0x1c C_ISUP_REL_LACKADDR Address incomplete
0x1f C_ISUP_REL_NORMAL Normal
0x2a C_ISUP_REL_BLOCK Exchange device blocked
The default value is 0x15 (C_ISUP_REL_DENY).
This configuration item is used to set the release cause value carried by the REL message
Description when a call comes into the channel but has not yet been picked up, and the driver is
prompted by the function call of SsmHangup to send the REL message to the remote PBX.
z If the set value is out of the range shown above, the driver will automatically adjust the
Note value to 0x15;
z It requires SynCTI Ver. 4.7.1.5 or above.
Example DefaultHangupRELInd=0x15
3.1.2.27.8.8.3.2 DefaultCauseInd
Configuration Item DefaultCauseInd
Section [ISUP]
Written Format DefaultCauseInd=n
n: 16-bit data, represented by hexadecimal digits. Each bit in it is described below.
Low-bit Byte: HGFEDCBA
Bit Implication Value Description
Information continues in the next octet
Extension 0
H (octet suggested)
Indicator
1 Last octet
00 ITU-T standard code
GF Coding Standard
Others Reserved
E Spare 0 Should be set to 0
0000 User (U)
0001 Local private network (LPN)
0010 Local public network (LN)
0011 Transfer network (TN)
0100 Remote public network (RLN)
DCBA Location 0101 Remote private network (RPN)
Value Range
0111 Internet(INTL)
1010 Network formed by points except two
connected ones on the SS7 public network
(BI)
Others Spare
High-bit Byte: HGFEDCBA
Bit Implication Value Description
Extension
H 1 Last octet
Indicator
0000000 Q.931
0000011 X.21
GFEDCB 0000100 X.25
Recommendation
A 0000101 Public Land Mobile Network (PLMN),
Q.1031/Q.1051
Others Reserved
Sets the coding standard, location and recommendation parameters for the cause
indicator field. The recommendation parameter is optional: if not selected, the extension
Description
octet of the low 8 bits must be set to 1 and the value of the high 8 bits will be ignored by the
driver; If selected, the extension octet of the low 8 bits must be set to 0.
Example DefaultCauseInd=0x0000
3.1.2.27.8.8.4.1 SaveRGNTo1stPhoNumStr
Configuration Item SaveRGNTo1stPhoNumStr
Section [ISUP]
Written Format SaveRGNTo1stPhoNumStr=b
b=0: No;
Value Range
b=1: Yes (default).
Sets whether the functions SsmGet1stPhoNumStr and SsmGet1stPhoNumStrA only return
Description the original called party number information in the IAM message. See description on those
two functions for more information.
z This configuration item is only applicable to the ISUP channel;
Note
z It requires SynCTI Ver 4.7.1.7 or above.
3.1.2.27.8.8.5.1 DefaultNatureOfConnectionInd
Configuration Item DefaultNatureOfConnectionInd
Section [ISUP]
Written Format DefaultNatureOfConnectionInd=0xk
k: The nature of connection indicator, represented by hexadecimal digits, with the default
value of 0x00. Regarding the specific value, see Appendix 2 Optional ISUP Parameters
Value Range
and Descriptions. Usually it is provided by the remote PBX according to the particular
configuration.
Description Sets the nature of connection indicator in the IAM message.
Example DefaultNatureOfConnectionInd=0x00
3.1.2.27.8.8.5.2 DefaultIAM_ForwardCallInd
Configuration Item DefaultIAM_ForwardCallInd
Section [ISUP]
Written Format DefaultIAM_ForwardCallInd=0xk
k: The forward call indicator, represented by hexadecimal digits, with the default value of
0x0040. Regarding the specific value, see Appendix 2 Optional ISUP Parameters and
Value Range
Descriptions. Usually it is provided by the remote PBX according to the particular
configuration.
Description Sets the forward call indicator in the IAM message.
Example DefaultIAM_ForwardCallInd=0x0040
3.1.2.27.8.8.5.3 DefaultIAM_CAT
Configuration Item DefaultIAM_CAT
Section [ISUP]
Written Format DefaultIAM_CAT=0xk
k: The calling party’s category indicator, with the default value of 0x0a. Regarding the
Value Range specific value, see Appendix 2 Optional ISUP Parameters and Descriptions. Usually it
is provided by the remote PBX according to the particular configuration.
Description Sets the calling party’s category indicator in the IAM message.
Example DefaultIAM_CAT=0x0a
3.1.2.27.8.8.5.4 DefaultIAM_TransmissionMediumRequirment
Configuration Item DefaultIAM_TransmissionMediumRequirment
Section [ISUP]
Format 1: DefaultIAM_TransmissionMediumRequirment=0xk
Written Format
Format 2: DefaultIAM_TransmissionMediumRequirment[N]=0xk
k: The transmission medium requirement parameter, represented by hexadecimal digits,
with the default value of 0x02. Regarding the specific value, see Appendix 2 Optional
ISUP Parameters and Descriptions. Usually it is provided by the remote PBX according
Value Range to the particular configuration.
N: The PCM number for the link it lies on. If the whole system uses the same transmission
medium, use Format 1; if links in the system use different transmission medium, use
Format 2, remaining Format 1 and setting k to 0xff.
Description Sets the transmission medium requirement parameter in the IAM message.
Note Don’t forget to remain Format 1 and set k to 0xff whiling using Format 2.
Format 1:
DefaultIAM_TransmissionMediumRequirment=0x02
Format 2:
DefaultIAM_TransmissionMediumRequirment=0xff; must set
Example
DefaultIAM_TransmissionMediumRequirment[0]=0x02; use 0x02 for PCM 0,1
DefaultIAM_TransmissionMediumRequirment[1]=0x02
DefaultIAM_TransmissionMediumRequirment[2]=0x04; use 0x04 for PCM 2,3
DefaultIAM_TransmissionMediumRequirment[3]=0x04
3.1.2.27.8.8.5.5 DefaultIAM_CalleeParam
Configuration Item DefaultIAM_CalleeParam
Section [ISUP]
Written Format DefaultIAM_CalleeParam=0xk
k: 16-bit data, represented by hexadecimal digits. Each bit in it is described below.
Low-bit Byte: HGFEDCBA
Bit Implication Value Description
0 Even number of address signals
H Odd/even Indicator
1 Odd number of address signals
0000001 Subscriber number
GFEDCB Nature of Address 0000011 National number
A Indicator 0000100 International number
Others Spare
High-bit Byte: HGFEDCBA
Bit Implication Value Description
Value Range 0 Routing to internal network number allowed
Internal Network
H Routing to internal network number not
Number Indicator 1
allowed
ISDN (Telephony) numbering plan
001
(Recommendations E.164, E.163)
Data numbering plan(Recommendation
Numbering Plan 011
GFE X.164)
Indicator
Telex numbering plan (Recommendation
100
F.164)
Others Spare
DCBA Spare
The default value is 0x1003.
Description Sets the called party number parameter field in the IAM message.
Example DefaultIAM_CalleeParam=0x1003
3.1.2.27.8.8.5.6 DefaultIAM_CallerParam
Configuration Item DefaultIAM_CallerParam
Section [ISUP]
Written Format DefaultIAM_CallerParam=0xk
3.1.2.27.8.8.5.7 DefaultIAM_OriginalCalleeParam
Configuration Item DefaultIAM_OriginalCalleeParam
Section [ISUP]
Written Format DefaultIAM_OriginalCalleeParam=0xk
k:16-bit data, represented by hexadecimal digits, with the default value of 0x1001.
Value Range Regarding the specific value, see Appendix 2 Optional ISUP Parameters and
Descriptions.
Sets the first two bytes of the original called party number in the IAM message, including
the nature of address indicator, numbering plan indicator and address presentation
Description restricted indicator. Regarding the specific value, see Appendix 2 Optional ISUP
Parameters and Descriptions. Usually it is provided by the remote PBX according to the
particular configuration.
Example DefaultIAM_OriginalCalleeParam=0x1001
3.1.2.27.8.8.5.8 DefaultIAM_RedirectingNumber
Configuration Item DefaultIAM_RedirectingNumber
Section [ISUP]
Written Format DefaultIAM_RedirectingNumber=0xk
k:16-bit data, represented by hexadecimal digits, with the default value of 0x1001.
Value Range Regarding the specific value, see Appendix 2 Optional ISUP Parameters and
Descriptions.
Sets the first two bytes of the redirecting number in the IAM message, including the nature
of address indicator, numbering plan indicator and address presentation restricted
Description indicator. Regarding the specific value, see Appendix 2 Optional ISUP Parameters and
Descriptions. Usually it is provided by the remote PBX according to the particular
configuration.
Example DefaultIAM_RedirectingNumber=0x1001
3.1.2.27.8.8.5.9 bSubscriberSI
Refer to SubscriberSI
3.1.2.27.8.8.5.10 SubscriberSI
bSubscriberSI
Configuration Item
SubscriberSI
Section [ISUP]
bSubscriberSI=k
Written Format
SubscriberSI=0xk1, 0xk2,…0xki,…, 0xk11
k: =0: Not include (default);
=1: Include. The specific value of the user server information parameter is set in the
configuration item SubscriberSI.
ki: The user service information parameter, represented by hexadecimal digits, with the
Value Range
default value of 0x80,0x90,0xa3. It is applicable to Huawei PBXes. Up to 11 ki are
allowed to be configured. Regarding the specific value, see Appendix 2 Optional ISUP
Parameters and Descriptions. Usually it is provided by the remote PBX according to
the particular configuration.
bSubscriberSI is used to set whether the IAM message contains the user service
information;
Description
SubscriberSI is used to set the content of the user service information, being valid only if
bSubscriberSI is set to 1.
bSubscriberSI=1
Example
SubscriberSI=0x80,0x90,0xa3
3.1.2.27.8.8.5.11 bOptionalFCI
Refer to OptionalFCI
3.1.2.27.8.8.5.12 OptionalFCI
bOptionalFCI
Configuration Item
OptionalFCI
Section [ISUP]
bOptionalFCI=b
Written Format
OptionalFCI=0xk
3.1.2.27.8.8.5.13 Usr2UsrInfo
Configuration Item Usr2UsrInfo
Section [ISUP]
Written Format Usr2UsrInfo=s1,s2,…,si,…,sN
si: A character represented by hexadecimal digits. The value is unallocated in default, i.e.
Value Range
this field is not included. Up to 131 si are allowed to be configured.
Sets the user-to-user information field in the IAM message. The same purpose can be
Description
achieved via the function SsmSetIsupParameter.
Example Usr2UsrInfo=a0,31,6c
3.1.2.27.8.8.5.14 LocationNumber
Configuration Item LocationNumber
Section [ISUP]
Written Format LocationNumber =s1,s2,…,si,…,sN
si: A character represented by hexadecimal digits. The value is unallocated in default, i.e.
Value Range
this field is not included. Up to 50 si are allowed to be configured.
Sets the LocationNumber information field in the IAM message. The same purpose can be
Description
achieved via the function SsmSetIsupParameter.
Example LocationNumber=0x04,0x13,0x19,0x89,0x45,0x90,0x09,0x20
3.1.2.27.8.8.6.1 AutoSendINF
Configuration Item AutoSendINF
Section [ISUP]
Written Format AutoSendINF=m
3.1.2.27.8.8.7 Outgoing Call: Setting Maximum Waiting Time for ACM Message
3.1.2.27.8.8.7.1 MaxWaitACMTime
Configuration Item MaxWaitACMTime
Section [ISUP]
Written Format MaxWaitACMTime=n
n≥0: Maximum time to wait for the remote end to return the ACM message, calculated by s,
Value Range
with the default value of 25.
Sets the maximum time to wait for the remote end to return the ACM message in an
Description
outgoing call.
3.1.2.27.8.8.8 Setting Maximum Waiting Time for Auto State Transferring from
Pending to Idle
3.1.2.27.8.8.8.1 MaxWaitPendingToIdleTime
Configuration Item MaxWaitPendingToIdleTime
Section [ISUP]
Written Format MaxWaitPendingToIdleTime=n
n≥0: Maximum time to wait for the driver in the Pending state to automatically transfer to
Value Range
the Idle state, calculated by s, with the default value of 60.
Sets the maximum time to wait for the driver in the Pending state to automatically transfer
Description
to the Idle state.
3.1.2.27.8.8.9.1 WaitRlcToPending
Configuration Item WaitRlcToPending
Section [ISUP]
Written Format WaitRlcToPending=n
n=0: The driver uses the WaitRlc state (default);
Value Range
n=1: The driver uses the Pending state instead of the WaitRlc state.
Description Sets whether the driver uses the Pending state to replace the WaitRlc state.
3.1.2.27.8.8.10.1 AutoHandleIsup
Configuration Item AutoHandleIsup
Section [SS7]
Written Format AutoHandleIsup=b
b=0: No;
Value Range
b=1: Yes (default).
Description Sets whether to use the ISUP state machine provided by the SynCTI driver or not.
3.1.2.27.8.8.10.2 CircuitReset
Configuration Item CircuitReset
Section [ISUP]
Written Format CircuitReset=m
m=0: After the SS7 service is enabled, the circuit goes into an idle state without sending a
circuit reset message.
Value Range
m=1: After the SS7 service is enabled, the circuit sends a circuit reset message and goes
into an idle state (default value). It is a boolean configuration item, not applicable to TUP.
Description Determines if the circuit goes into an idle state or is reset after the ISUP service is enabled.
3.1.2.27.8.9.1 AutoHandleSccp
Configuration Item AutoHandleSccp
Section [SS7]
Written Format AutoHandleSccp=b
b=0: No;
Value Range
b=1: Yes (default).
Description Sets if the SCCP message is processed by the SynCTI driver.
Note It requires SynCTI Ver. 4.7.1.7 or above.
3.1.2.27.8.10.1 GetMsuOnAutoHandle
Configuration Item GetMsuOnAutoHandle
Section [SS7]
Written Format GetMsuOnAutoHandle=b
b=0: Not to output the original SS7 MSU in auto call connection which uses the driver’s
state machine to process user-level protocols (default);
Value Range
b=1: Allowed to obtain the original SS7 MSU in auto call connection which uses the
driver’s state machine to process user-level protocols.
Sets the way to output SS7 MSU. SS7 MSU。When the driver’s state machine is not used
to process user-level protocols, i.e. when the auto call connection is disabled, the driver
Description outputs the original SS7 MSU; when the driver’s state machine is used to process
user-level protocols, i.e. when the auto call connection is enabled, the driver’s output of
SS7 MSU is determined by the configuration item GetMsuOnAutoHandle.
It requires SynCTI Ver.5.0.3.0 or above. All driver versions published before Ver.5.0.3.0
Note
only support the operation based on GetMsuOnAutoHandle=0.
3.1.2.27.8.11.1 AppHandleMtp2Msu
Configuration Item AppHandleMtp2Msu
Section [SS7]
Written Format AppHandleMtp2Msu=b
b=0: SS7 MTP2 MSU handled by the driver (default);
b=1: SS7 MTP2 MSU handled by the application program;
Value Range
b=2: Both SS7 MTP2 MSU and SS7 MTP2 link command and status handled by the
application program.
Description Sets the way to handle SS7 MTP2 MSU.
This configuration item requires SynCTI Ver.5.1.0.0 or above. All driver versions published
Note before Ver.5.1.0.0 only support the operation based on AppHandleMtp2Msu=0. The
configuration AppHandleMtp2Msu=2 requires SynCTI Ver.5.3.2.1 or above.
3.1.2.27.8.12.1 RefreshWatchDogInSys
Configuration Item RefreshWatchDogInSys
Section [BoardId=x]
Written Format RefreshWatchDogInSys=b
b=0: Refresh the watchdog by the upper layer of the driver (default);
Value Range
b=1: Refresh the watchdog by the SYS layer.
Description Sets the way to refresh the watchdog.
This configuration item requires SynCTI Ver.5.3.1.5 or above. If the local end processor
Note failure always occurs in SS7 system, we recommend you to set this configuration item to
1.
3.1.2.27.8.12.2 ReplySLTAInSys
Configuration Item ReplySLTAInSys
Section [BoardId=x]
Written Format ReplySLTAInSys=b
b=0: Reply the SLTA message by the upper layer of the driver (default);
Value Range
b=1: Reply the SLTA message by the SYS layer.
Description Sets the way to reply the SLTA message.
This configuration item requires SynCTI Ver.5.3.1.5 or above, and it only supports the
Note SHD Series D-type and E-type boards. If the SS7 signaling link on the remote PBX often
disconnects in SS7 system, we recommend you to set this configuration item to 1.
3.1.2.27.9.1.1 AutoHandleIsdn
Configuration Item AutoHandleIsdn
Section [ISDN]
Written Format AutoHandleIsdn=b
b=0: No;
Value Range
b=1: Yes (default).
Sets whether ISDN messages are processed by the driver-provided ISDN state machine.
Description Refer to the Advanced ISDN Programming Interface section in Chapter 1 for more
information.
It is an advanced configuration item, only required to be set when the application wants to
Note
process ISDN message by itself.
3.1.2.27.9.2.1 UserCrcMode
Refer to NetCrcMode
3.1.2.27.9.2.2 NetCrcMode
UserCrcMode
Configuration Item
NetCrcMode
Section [ISDN]
UserCrcMode[n]=b
Written Format
NetCrcMode[n]=b
n: The user-side (UserCrcMode) or network-side (NetCrcMode) digital trunk number
b: The switch to control the CRC check
Value Range
b=0: Disable;
b=1: Enable.
Sets whether to enable the feature of CRC check for the digital trunk. UserCrcMode is
Description
applicable to the user side while NetCrcMode to the network side.
z It is an advanced configuration item;
z If the set value of the configuration item TotalUserLinker (assumed as N) is greater
Note than 0, UserCrcMode should be configured for N times; if the set value of the
configuration item TotalNetLinker (assumed as N) is greater than 0, NetCrcMode
should be configured for N times.
3.1.2.27.9.2.3 UserChIdentify
Refer to NetChIdentify
3.1.2.27.9.2.4 NetChIdentify
UserChIdentify
Configuration Item
NetChIdentify
Section [ISDN]
UserChIdentify[n]=k
Written Format
NetChIdentify[n]=k
n: The user-side (UserChIdentify) or network-side (NetChIdentify) digital trunk number
k: The way to represent the channel identification message
k=0x11: In the form of Time Slot Diagram;
Value Range
k=0x10: In the form of Number (default).
Note: The default value of k varies on the version of the SynCTI driver: if the driver
used is below Ver. 4.7.3.1, the default value of k is 0x11; otherwise, it is 0x10.
Sets the way to represent channel identification messages on the digital trunk.
UserChIdentify is applicable to the user side while NetChIdentify to the network side. See
Description
the Representation of Channel Identification Message section in Chapter 1 for more
information.
3.1.2.27.9.2.5 UserVoiceFormat
Refer to NetVoiceFormat
3.1.2.27.9.2.6 NetVoiceFormat
UserVoiceFormat
Configuration Item
NetVoiceFormat
Section [ISDN]
UserVoiceFormat[n]=k
Written Format
NetVoiceFormat[n]=k
n: The user-side (UserVoiceFormat) or network-side (NetVoiceFormat) digital trunk
number
Value Range k: The voice CODEC,
k=6: A-law (default);
k=7: μ-law.
Sets the voice CODEC used on the digital trunk.
Description
UserVoiceFormat is applicable to the user side while NetVoiceFormat to the network side.
3.1.2.27.9.2.7 UserRestarTime
Refer to NetRestarTime
3.1.2.27.9.2.8 NetRestarTime
UserRestarTime
Configuration Item
NetRestarTime
Section [ISDN]
UserRestarTime=t
Written Format
NetRestarTime=t
Value Range 100≤t≤120, calculated by second, with the default value of 100.
Sets the time for the local end to respond to the link restart command from the remote
end, i.e. from the moment the local link receives the link restart command from the remote
end until it is successfully restarted. If the link fails to be restarted within the time specified
Description
by this configuration item, all channels on relative digital trunks enter into the ‘Unusable’
state (i.e. S_CALL_UNAVAILABLE).
UserRestarTime is applicable to the user side while NetRestarTime to the network side.
z It is an advanced configuration item, not required to be set in most cases.
Note
z It is applicable to all digital trunks in the system.
3.1.2.27.9.2.9 UserEstablishTime
Refer to NetEstablishTime
3.1.2.27.9.2.10 NetEstablishTime
UserEstablishTime
Configuration Item
NetEstablishTime
Section [ISDN]
UserEstablishTime=t
Written Format
NetEstablishTime=t
Value Range 5≤t≤10, calculated by second, with the default value of 5.
Sets the interval for the driver to establish links between the local and remote ends. If the
driver fails to establish links within the time specified by this configuration item, it will
Description automatically start another attempt.
UserEstablishTime is applicable to the user side while NetEstablishTime to the network
side.
z It is an advanced configuration item, not required to be set in most cases.
Note
z It is applicable to all user-side and network-side digital trunks in the system.
3.1.2.27.9.3.1 UserCalledNoSet
Refer to NetCallingNoSet
3.1.2.27.9.3.2 NetCalledNoSet
Refer to NetCallingNoSet
3.1.2.27.9.3.3 UserCallingNoSet
Refer to NetCallingNoSet
3.1.2.27.9.3.4 NetCallingNoSet
UserCalledNoSet
NetCalledNoSet
Configuration Item
UserCallingNoSet
NetCallingNoSet
Section [ISDN]
UserCalledNoSet[n]=k
NetCalledNoSet[n]=k
Written Format
UserCallingNoSet[n]=g
NetCallingNoSet[n]=g
n: The user-side (UserCalledNoSet, UserCallingNoSet) or network-side (NetCalledNoSet,
NetCallingNoSet) digital trunk number
k: The type of number (TON) and numbering scheme, represented by hexadecimal digits.
k=0xa1: National Number (default);
k=0x91: International Number;
k=0xc1: Subscriber Number;
k=0xb1: Specified Number;
Value Range
k=0x81: Unknown.
g: The type of number (TON) and numbering scheme, represented by hexadecimal digits.
g=0x21: National Number (default);
g=0x11: International Number;
g=0x41: Subscriber Number;
g=0x31: Specified Number;
g=0x01: Unknown.
Sets the type of number (TON) and numbering scheme for the calling and called party
numbers in the SETUP message during the outgoing call.
UserCalledNoSet, NetCalledNoSet are used to set called party numbers respectively for
Description
the user side and the network side;
UserCallingNoSet, NetCallingNoSet are used to set calling party numbers respectively for
the user side and the network side.
z It is an advanced configuration item;
z If the set value of the configuration item TotalUserLinker (assumed as N) is greater
Note than 0, UserCalledNoSet and UserCallingNoSet should be configured for N times; if
the set value of the configuration item TotalNetLinker (assumed as N) is greater than
0, NetCalledNoSet and NetCallingNoSet should be configured for N times.
3.1.2.27.9.3.5 UserNumIsFull
Refer to NetNumIsFull
3.1.2.27.9.3.6 NetNumIsFull
UserNumIsFull
Configuration Item
NetNumIsFull
Section [ISDN]
UserNumIsFull=b
Written Format
NetNumIsFull=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether the ‘Called Number Complete’ parameter is included in the SETUP message
Description during the outgoing call.
UserNumIsFull is applicable to the user side while NetNumIsFull to the network side.
Note It is an advanced configuration item.
3.1.2.27.9.3.7 UserChPreference
Refer to NetChPreference
3.1.2.27.9.3.8 NetChPreference
UserChPreference
Configuration Item
NetChPreference
Section [ISDN]
UserChPreference=b
Written Format
NetChPreference=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether to allow the preferential channel selection.
Description UserChPreference is applicable to the user side while NetChPreference to the network
side.
Note It is an advanced configuration item.
3.1.2.27.9.3.9 UserHighLayerCompatible
Refer to NetHighLayerCompatible
3.1.2.27.9.3.10 NetHighLayerCompatible
UserHighLayerCompatible
Configuration Item
NetHighLayerCompatible
Section [ISDN]
UserHighLayerCompatible=b
Written Format
NetHighLayerCompatible=b
b=0: No;
Value Range
b=1: Yes (default).
Sets whether the ‘High Layer Compatibility’ field is included in the SETUP message.
Description UserHighLayerCompatible is applicable to the user side while NetHighLayerCompatible to
the network side.
Note It is an advanced configuration item.
3.1.2.27.9.3.11 UserLowLayerCompatible
Refer to NetLowLayerCompatible
3.1.2.27.9.3.12 NetLowLayerCompatible
UserLowLayerCompatible
Configuration Item
NetLowLayerCompatible
Section [ISDN]
UserLowLayerCompatible=b
Written Format
NetLowLayerCompatible=b
b=0: No;
Value Range
b=1: Yes (default).
Sets whether the ‘Low Layer Compatibility’ field is included in the SETUP message.
Description UserLowLayerCompatible is applicable to the user side while NetLowLayerCompatible to
the network side.
Note It is an advanced configuration item.
3.1.2.27.9.3.13 UserDialTime
Refer to NetDialTime
3.1.2.27.9.3.14 NetDialTime
UserDialTime
Configuration Item
NetDialTime
Section [ISDN]
UserDialTime=t
Written Format
NetDialTime=t
Value Range t: The waiting time, calculated by second, with the default value of 60sec
After the application calls the function SsmPickup or SsmSearchIdleCallOutCh on an
ISDN channel, the driver will start a timer. If the application does not start an outgoing call
before the timer overflows, the driver will reset the channel back to the idle state and then
Description transfer it to the S_CALL_STANDBY state. This configuration item is used to set the value
of this timer. See the ISDN Channel State Machine section in Chapter 1 for more
information.
UserDialTime is applicable to the user side while NetDialTime to the network side.
Note It is an advanced configuration item.
3.1.2.27.9.3.15 TransferCapability
Configuration Item TransferCapability
Section [ISDN]
Written Format TransferCapability=n
=0: Voice (default)
Value Range
=1: 3.1k audio
Description Sets the ‘Transfer Capability’ filed in the signaling message
Note It is an advanced configuration item.
3.1.2.27.9.3.16 PresentNumber
Configuration Item PresentNumber
Section [ISDN]
Written Format PresentNumber =n
=0: not allowed to show number
Value Range
=1: allowed to show number (default)
Sets the field that determines if it is allowed to show the calling party number in the
Description
signaling message.
Note It is an advanced configuration item.
3.1.2.27.9.3.17 UserT303
Refer to NetT303
3.1.2.27.9.3.18 NetT303
UserT303
Configuration Item
NetT303
Section [ISDN]
UserT303=t
Written Format
NetT303=t
t: The length of time for the timer T303, calculated by second, with the default value of
Value Range
4sec
Sets the timer T303. UserT303 is applicable to the user side while NetT303 to the network
Description
side. See the ISUP Channel State Machine section in Chapter 1 for more information.
3.1.2.27.9.3.19 UserT304
Refer to NetT304
3.1.2.27.9.3.20 NetT304
UserT304
Configuration Item
NetT304
Section [ISDN]
UserT304=t
Written Format
NetT304=t
t: The length of time for the timer T304, calculated by second, with the default value of
Value Range
30sec
Sets the timer T304. UserT304 is applicable to the user side while NetT304 to the network
Description
side. See the ISUP Channel State Machine section in Chapter 1 for more information.
3.1.2.27.9.3.21 UserWaitAfterCallProceeding
Configuration Item UserWaitAfterCallProceeding
Section [ISDN]
Written Format UserWaitAfterCallProceeding=n
Value Range n: The waiting time, with the default value of 15s.
Sets the maximum time that the local end waits for the remote end to send back the
acknowledgement message in an outgoing call. If the local end doesn’t receive the
Description
acknowledgement message from the remote end before timeout, it will actively disconnect
the call.
Note It is an advanced configuration item only used for user-side outgoing calls.
3.1.2.27.9.3.22 NetWaitAfterCallProceeding
Configuration Item NetWaitAfterCallProceeding
Section [ISDN]
Written Format NetWaitAfterCallProceeding =n
Value Range n: The waiting time, with the default value of 20s.
Sets the maximum time that the local end waits for the remote end to send back the
acknowledgement message in an outgoing call. If the local end doesn’t receive the
Description
acknowledgement message from the remote end before timeout, it will actively disconnect
the call.
Note It is an advanced configuration item only used for network-side outgoing calls.
3.1.2.27.9.3.23 UserTxCallingPartyNum
Configuration Item UserTxCallingPartyNum
Section [ISDN]
Written Format UserTxCallingPartyNum = b
b=0: Not to send the 6c unit (i.e. the calling party number) in the ISDN User Setup
message for an outgoing call;
Value Range
b=1: Send the 6c unit (i.e. the calling party number) in the ISDN User Setup message for
an outgoing call (default).
Sets whether to send the 6c unit (i.e. the calling party number) in the ISDN User Setup
Description
message for an outgoing call.
3.1.2.27.9.3.24 NetTxCallingPartyNum
Configuration Item NetTxCallingPartyNum
Section [ISDN]
Written Format NetTxCallingPartyNum = b
b=0: Not to send the 6c unit (i.e. the calling party number) in the ISDN Net Setup message
for an outgoing call;
Value Range
b=1: Send the 6c unit (i.e. the calling party number) in the ISDN Net Setup message for an
outgoing call (default).
Sets whether to send the 6c unit (i.e. the calling party number) in the ISDN Net Setup
Description
message for an outgoing call.
3.1.2.27.9.4.1 UserSideDefaultAckTimer
Refer to NetSideDefaultAck
3.1.2.27.9.4.2 UserSideDefaultAck
Refer to NetSideDefaultAck
3.1.2.27.9.4.3 NetSideDefaultAckTimer
Refer to NetSideDefaultAck
3.1.2.27.9.4.4 NetSideDefaultAck
UserSideDefaultAckTimer
UserSideDefaultAck
Configuration Item
NetSideDefaultAckTimer
NetSideDefaultAck
Section [ISDN]
UserSideDefaultAckTimer=t
UserSideDefaultAck=k
Written Format
NetSideDefaultAckTimer=t
NetSideDefaultAck=k
t: The set value of the timer, calculated by second, t<120, with the default value of 20.
k: The driver’s behavior after the timer overflows. Its values and corresponding meanings
are shown in the table below.
K Meaning Driver’s Behavior
1 Called party idle Send the ALERTING message
Send the DISCONNECT message.
Value Range 2 Called party busy
Reason=Called party busy
Send the DISCONNECT message.
4 Call refused
Reason=Call refused
Send the DISCONNECT message.
5 No answer
Reason=Called party no answer
Others Spare
The default value of k is 1.
After the driver receives the complete number in an incoming call, this configuration item is
used to set whether the reply message is automatically sent by the driver. Refer to the
Description ISUP Channel State Machine section in Chapter 1 for more information.
UserSideDefaultAckTimer, UserSideDefaultAck are applicable to the user side while
NetSideDefaultAckTimer, NetSideDefaultAck to the network side.
Note It is an advanced configuration item.
3.1.2.27.9.4.5 UserIsReceivePhoNum
Refer to NetIsReceivePhoNum
3.1.2.27.9.4.6 NetIsReceivePhoNum
UserIsReceivePhoNum
Configuration Item
NetIsReceivePhoNum
Section [ISDN]
UserIsReceivePhoNum=b
Written Format
NetIsReceivePhoNum=b
b=0: Tandem Exchange Mode;
Value Range
b=1: Terminating Office Mode (default).
Sets the driver operating mode during an incoming call. For more information, refer
to the section Terminating Office Mode vs. Tandem Exchange Mode in Chapter 1.
Description
UserIsReceivePhoNum is applicable to the user side while NetIsReceivePhoNum to the
network side.
z Usually this configuration item is set to 0 provided the remote PBX is Alcatel or AVAYA;
z The configuration item UserTieStationMode supported by earlier versions of our driver
Note
has the same function but is only applicable to the user side. Hence it can be replaced
by UserIsReceivePhoNum.
3.1.2.27.9.4.7 UserIsSendChIdentify
Refer to NetIsSendChIdentify
3.1.2.27.9.4.8 NetIsSendChIdentify
UserIsSendChIdentify
Configuration Item
NetIsSendChIdentify
Section [ISDN]
UserIsSendChIdentify=b
Written Format
NetIsSendChIdentify=b
b=0: No;
Value Range
b=1: Yes (default).
Sets whether the channel identification message is included in the corresponding reply
message (such as CALL PROCEEDING, ALERT, etc.) after the local end receives the
Description SETUP message from the remote PBX during an incoming call.
UserIsSendChIdentify is applicable to the user side while NetIsSendChIdentify to the
network side.
3.1.2.27.9.4.9 UserT302
Refer to NetT302
3.1.2.27.9.4.10 NetT302
UserT302
Configuration Item
NetT302
Section [ISDN]
UserT302=t
Written Format
NetT302=t
t: The length of time for the timer T302, calculated by second, with the default value of
Value Range
15sec
Sets the timer T302. UserT302 is applicable to the user side while NetT302 to the network
Description
side. See the ISUP Channel State Machine section in Chapter 1 for more information.
3.1.2.27.9.4.11 UserT313
Configuration Item UserT313
Section [ISDN]
Written Format UserT313=t
t: The length of time for the timer T313, calculated by second, with the default value of
Value Range
4sec
Sets the timer T313. See the ISUP Channel State Machine section in Chapter 1 for more
Description
information.
Note This configuration item is only applicable to the user side.
3.1.2.27.9.4.12 ProgressExt
Configuration Item ProgressExt
Section [ISDN]
Written Format ProgressExt=n
n: Progress indicator, with the default value of 0 that implies no progress indicator is
included.
The value of n is represented by 8 bits. Each bit means as follows.
Bit8=1
Bit7, Bit 6=00----ITU-T coding standard
Bit5=0----Spare
Bit4~ Bit1=
Value Range 0000----User (U)
0001----Local private network (LPN)
0010----Local public network (LN)
0011----Transfer network (TN)
0100----Remote public network (RLN)
0101----Remote private network (RPN)
1010----Network formed by points except two connected on the SS7 public
network (BI)
In an incoming call, if the ALERT or SETUP message is sent by the local end when the
Description
value of ProgressExt is not 0, it will contain the progress indicator.
Note It is an advanced configuration item, only applicable to incoming calls.
3.1.2.27.9.5.1 UserT305
Refer to NetT306
3.1.2.27.9.5.2 NetT305
Refer to NetT306
3.1.2.27.9.5.3 NetT306
UserT305
Configuration Item NetT305
NetT306
Section [ISDN]
UserT305=t
Written Format NetT305=t
NetT306=t
Value Range t: The length of time for the timer, calculated by second, with the default value of 30 sec.
Sets the timers T305 and T306. UserT305 is applicable to the user side while NetT305
and NetT306 to the network side.
To the user side, the driver will start T305 after the local end sends the
DISCONNECT message to the remote PBX, and automatically stop it after the local
end receives the RELEASE or DISCONNECT message from the remote PBX.
Description To the network side, after the local end sends the DISCONNECT message to the
remote PBX, the driver will start T306 if the DISCONNECT message contains the
progress indicator field and the value of this field is equal to 8, or start T305
otherwise. After the local end receives the RELEASE or DISCONNECT message
from the remote PBX, the driver will automatically stop T305 or T306.
Once T305 or T306 overflows, the driver will send the RELEASE message.
3.1.2.27.9.5.4 UserT308
Refer to NetT308
3.1.2.27.9.5.5 NetT308
UserT308
Configuration Item
NetT308
Section [ISDN]
UserT308=t
Written Format
NetT308=t
Value Range t: The length of time for the timer, calculated by second, with the default value of 4 sec.
Sets the timer T308. UserT308 is applicable to the user side while NetT308 to the network
side.
The driver will start T308 after the local end sends the RELEASE message to the remote
Description
PBX, and automatically stop it after the local end receives the RELEASE or RELEASE
COMPLETE message from the remote PBX. If T308 overflows, the driver will resend the
RELEASE message.
3.1.2.27.9.6.1 WaitHangupTime
Configuration Item WaitHangupTime
Section [ISDN]
Written Format WaitHangupTime=b
Value Range 20<b<10000, calculated by millisecond (ms), with the default value of 1600.
Description Sets the ISDN pending time.
Note It is an advanced configuration item.
3.1.2.27.9.6.2 UserStatusReason
Refer to NetStatusReason
3.1.2.27.9.6.3 NetStatusReason
UserStatusReason
Configuration Item
NetStatusReason
Section [ISDN]
UserStatusReason=m
Written Format
NetStatusReason=m
m=1: 3-byte Format (default);
Value Range
m=0: 2-byte Format
When the local end receives the STATUS ENQUIRY message (for status query) from the
remote PBX, the driver will automatically reply by sending the STATUS message. This
configuration item specifies the reason field in the STATUS message to use the 2-byte or
Description
3-byte format. Using which format should be determined according to the parameter
setting for the remote PBX. UserStatusReason is applicable to the user side while
NetStatusReason to the network side.
z It is an advanced configuration item;
Note
z It requires SynCTI Ver. 4.7.1.8 or above.
3.1.2.27.9.6.4 EnAutoAlert02
Refer to EnAutoAlert03
3.1.2.27.9.6.5 EnAutoAlert03
EnAutoAlert02
Configuration Item
EnAutoAlert03
Section [ISDN]
EnAutoAlert02=m
Written Format
EnAutoAlert03=m
m=0: This feature disabled (default);
Value Range
m=1: This feature enabled.
If EnAutoAlert02=1, it indicates the 02 (CALL PROCEEDING) message is received. In
such situation, if the progress indicator turns to be 8 or 1, the system will go into the state
3.1.2.27.9.6.6 GetRedirectionReason
Configuration Item GetRedirectionReason
Section [ISDN]
Written Format GetRedirectionReason=m
m=0: Obtains the redirection reason of the information element Facility (0x1c) (default);
Value Range m=1: Obtains the redirection reason of the information element Redirecting Number
(0x74).
If GetRedirectionReason=1, it indicates that the function SsmGetRedirectionInfReason
obtains the redirection reason of the information element 0x74.
Description
If GetRedirectionReason=0, it indicates that the function SsmGetRedirectionInfReason
obtains the redirection reason of the information element 0x1c.
z It is an advanced configuration item;
Note
z It requires SynCTI Ver. 5.3.2.3 or above.
3.1.2.27.10.1 LoadFskBin
Configuration Item LoadFskBin
Section [BoardId=x]
Written Format LoadFskBin=m
m=0: Enhanced Echo Canceller Mode. In this mode, the voice channel is unable to record
voices and receive or send FSK data. The DSP resources standing idle are used
to enhance the effect of the echo canceller;
m=1: Normal Running Mode (default);
m=2: TS16 Recording Mode. The driver will directly pass the original signaling data from
TS16 to the application by recording. When m=1, each on-board DSP chip
Value Range processes data from 15 voice time slots. Therefore, two DSP chips are needed to
process data from the 30 time slots on each digital trunk, one for TS1~TS15 and the
other for TS17~TS31. When m=2, the DSP chip previously used to process data from
TS17~TS31 will turn to process those from TS16~TS30, and the voice data from TS31
will be abandoned. Note: In such case, the physical channel number 15
corresponds not to TS17, but to TS16. And the same change also happens to the
other channels.
Description Selects the operating mode for DSP chips on the SHD Series boards.
It is an advanced configuration item, only applicable to the 30/60/120-channel SHD Series
Note
A-type boards.
3.1.2.28.1.1 EnableSIPStun
Refer to HeartInterval
3.1.2.28.1.2 SIPStunServerIP
Refer to HeartInterval
3.1.2.28.1.3 LogLevel
Refer to HeartInterval
3.1.2.28.1.4 LogFile
Refer to HeartInterval
3.1.2.28.1.5 EventThreadNum
Refer to HeartInterval
3.1.2.28.1.6 SipCallCheckInterval
Refer to HeartInterval
3.1.2.28.1.7 SendOptionsOutCallIP
Refer to HeartInterval
3.1.2.28.1.8 SendOptionsOutCallInterval
Refer to HeartInterval
3.1.2.28.1.9 RemoteCrashCheckInterval
Refer to HeartInterval
3.1.2.28.1.10 IgnoreUserName
Refer to HeartInterval
3.1.2.28.1.11 AutoDetectRemoteRTPAddress
Refer to HeartInterval
3.1.2.28.1.12 HeartInterval
Note: This configuration item is named UdpHeartTime in versions below SynCTI 5.1.0.0.
EnableSIPStun
SIPStunServerIP
LogLevel
LogFile
EventThreadNum
SipCallCheckInterval
Configuration Item
SendOptionsOutCallIP
SendOptionsOutCallInterval
RemoteCrashCheckInterval
IgnoreUserName
AutoDetectRemoteRTPAddress
HeartInterval
Section [SIP]
EnableSIPStun=p
SIPStunServerIP=y
LogLevel=m
LogFile=s
EventThreadNum=j
SipCallCheckInterval=n
Written Format
SendOptionsOutCallIP=k
SendOptionsOutCallInterval=q
RemoteCrashCheckInterval=i
IgnoreUserName=I
AutoDetectRemoteRTPAddress=z
HeartInterval=x
p: p=0, disable the Stun feature in SIP; p=1, enable the Stun feature in SIP.
y: The IP address of the Stun server in SIP.
m: Sets the output log level. See below for details.
m=1: SEGMENT, serious error (default);
m=2 : FATAL, error in protocol message;
m=3: ERROR, logic error;
m=4: WARNING, logic warning;
m=5: INFO1, logic information
m=6: INFO2, SIP message information;
m=7: INFO3, RTP message information;
m=8: INFO4, original SIP message.
s: Sets the output log file, containing less than 256 characters.
j: Sets the size of the thread pool used to get SIP protocol events. The value range is 0<j<6
and the default value is 3.
n: Sets the interval between checks of the remote end’s abnormal hangup, in second. n=0:
Not use this feature.
Value Range k: Automatically sends the destination IP address of the signaling message options in case
of non registration.
q: Sends the time interval of the signaling message options, in second. q=0: Disable this
feature.
i: Sets the time interval (calculated by s) to detect the abnormal hangup of the remote end by
RTP. i=0 means this feature is disabled. Note: This feature is valid only when n=0.
I: Sets whether to enable the feature of ignoring user name. I=0: disable (default); I=1:
enable. When a SIP channel which serves as the incoming end sends the register request
to the server, if this feature is enabled, the driver will search for idle channels only
according to the domain name within the signaling message, ignoring the judgment on
user name.
z: Sets whether to enable the remote RTP address self-adaptive feature. z=0: Disable
(default); z=1, Enable. This feature is used to update the RTP reception address or port in
the signaling message sent by the remote end when it does not comply with the actual
state. Therefore, it can increase the self-adaptive capability of RTP transmission.
x: Sets the heartbeat time for the UDP port. The value range is 0≤x≤1000 (ms) and the
default value is x=0 (disable the heartbeat).
Description Sets other parameters.
Note This item is valid only when the configuration item ProtocolType is set to 1.
3.1.2.28.1.13 UseRport
Configuration Item UseRport
Section [SIP]
Written Format UseRport=z
z=1: The Invite message includes the rport field (default);
Value Range
z=0: The Invite message does not include the rport field.
Description Sets whether the Invite message includes the rport field.
3.1.2.28.1.14 SipTransportProtocol
Configuration Item SipTransportProtocol
Section [SIP]
Written Format SipTransportProtocol =z
z=1, SIP is used over TCP;
Value Range
z=0, SIP is used over UDP (default).
Description Sets whether SIP is used over TCP or UDP
3.1.2.28.1.15 RetransmitLost200OK
Configuration Item RetransmitLost200OK
Section [SIP]
Written Format RetransmitLost200OK=z
z=1: It is not necessary for the board to wait for the ACK message after sending the
200OK message;
Value Range
z=0: It is necessary for the board to wait for the ACK message after sending the 200OK
message (default).
Sets if it is necessary for the board to wait for the ACK message after sending the 200OK
Description
message to establish a call.
3.1.2.28.1.16 RegisterTimeOutSpace
Configuration Item RegisterTimeOutSpace
Section [SIP]
Written Format RegisterTimeOutSpace=q
Value Range q: time interval, q>0, calculated by s and the default value is 10.
Description Time interval between different register messages.
Here the time interval exactly means the time from the register timeout to the auto
Note
generation of a new register message.
3.1.2.28.1.17 EnableSetUsername
Configuration Item EnableSetUsername
Section [SIP]
Written Format EnableSetUsername=n
n=1: Username can be modified after registration;
Value Range
n=0: Username cannot be modified after registration (default).
Description Sets whether the username can be modified after registration for SHN Series boards.
This configuration item is only applicable to some special SIP servers, and does not work
Note
on common servers.
3.1.2.28.1.18 UserName
Refer to SipTotalMultiRegNum
3.1.2.28.1.19 RegPassword
Refer to SipTotalMultiRegNum
3.1.2.28.1.20 Domain
Refer to SipTotalMultiRegNum
3.1.2.28.1.21 RegRealm
Refer to SipTotalMultiRegNum
3.1.2.28.1.22 RegExpires
Refer to SipTotalMultiRegNum
3.1.2.28.1.23 RegStartCh
Refer to SipTotalMultiRegNum
3.1.2.28.1.24 RegEndCh
Refer to SipTotalMultiRegNum
3.1.2.28.1.25 SipTotalMultiRegNum
UserName
RegPassword
Domain
RegRealm
Configuration Item
RegExpires
RegStartCh
RegEndCh
SipTotalMultiRegNum
Section [SIP]
UserName[m]=s
RegPassword[m]=j
Domain[m]=x
RegRealm[m]=r
Written Format
RegExpires[m]=q
RegStartch[m]=o
RegEndCh[m]=e
SipTotalMultiRegNum=n
m: Number for the multi-channel operation. It must start from 0, range of value: 0≤m≤n(n
is the set value of the configuration item SipTotalMultiRegNum)
s: Username, a string containing up to 50 characters.
When m≠0, s indicates the registered username; when m=0, s indicates the content of
the username field in SIP URI.
j: Registered user password.
It is valid only when m≠0, indicating the registered user password.
x: Registered server.
It is valid only when m≠0, indicating the registered server address in the format of
Value Range
host[:port].
q: Registration expire for the multi-channel operation. It indicates how often the board
refreshes the registration information to the registered server, with the default value of
3600s and the minimum value of 10s.
r: Alias of the SIP server.
o: Starting channel number of the multi-channel operation.
e: Ending channel number of the multi-channel operation. The multi-channel registration is
equal to the single channel registration when o=e.
n: Times for performing the multi-channel operation.
Using the configuration items to perform the multi-channel registration for n times is
Description
equivalent to invoking the function SsmSipMultiChRegister for n times.
This configuration item is valid only when the set value of the configuration item
Note
SipTotalMultiRegNum is greater than 0.
Suppose that there is an SHN-60B-CT/PCI+ board installed in the system, the channels
that need to be registered are channels 0~19 (registered to 192.168.1.100:5200 under the
username of 1001), channels 20~39 (registered to 192.168.1.101:5200 under the
username of 1002) and channels 40~59 (registered to 192.168.1.102:5200 under the
username of 1001)
[SIP] // in the SIP field
SipTotalMultiRegNum = 3 //indicates the times for performing the multi-channel operation.
//The following three groups of configuration items are parameters respectively for three
multi-channel registrations. For detailed information on each configuration item, you can
refer to the configuration item of board registration.
//Configuration items for the first multi-channel registration
Domain[0]=192.168.1.100:5200
RegExpires[0]=3600
UserName[0]=1001
RegPassword[0]=1001
RegRealm[0]=
RegStartCh[0]=0 //The starting channel number of the first multi-channel operation. This
channel number is decided over the whole program.
Example
RegEndCh[0]=19 //The ending channel number of the first multi-channel operation. This
channel number is decided over the whole program.
//Configuration items for the second multi-channel registration
Domain[1]=192.168.1.101:5200
RegExpires[1]=3600
UserName[1]=1002
RegPassword[1]=1002
RegRealm[1]=
RegStartCh[1]=20
RegEndCh[1]=39
//Configuration items for the third multi-channel registration
Domain[2]=192.168.1.102:5200
RegExpires[2]=3600
UserName[2]=1001
RegPassword[2]=1001
RegRealm[2]=
RegStartCh[2]=40
RegEndCh[2]=59
3.1.2.28.1.26 UseGroupByIp
Configuration Item UseGroupByIp
Section [SIP]
Written Format UseGroupByIp=z
z=1: Enable SIP Trunk feature;
Value Range
z=0: Disable SIP Trunk feature (default).
When the SIP trunk feature is enabled and the channel is bound to the IP address by
invoking the multi-channel or single channel registration function, the board which serves
Description
as the called party can search for the channel using the IP address of the calling party
server.
3.1.2.28.1.27 UseSipKB
Configuration Item UseSipKB
Section [SIP]
Written Format UseSipKB=z
z=1: The 180 message is automatically replied by the application;
Value Range
z=0: The 180 message is automatically replied by the driver (default).
Description Sets whether the 180 message is replied by the driver or the application.
If this configuration item is set to 1, the channel will enter the Pending state after receiving
Note
the INVITE message.
3.1.2.28.1.28 SipProxyAddr
Configuration Item SipProxyAddr
Section [SIP]
Written Format SipProxyAddr=z
z=a.b.c.d: SIP proxy server address, with the default value of 0.0.0.0 which means not to
Value Range
use the SIP proxy server.
Description Sets the SIP proxy server address.
3.1.2.28.1.29 SipProxyPort
Configuration Item SipProxyPort
Section [SIP]
Written Format SipProxyPort=n
Value Range 0≤n≤65535: SIP proxy server port, with the default value of 5060.
Description Sets the SIP proxy server port.
3.1.2.28.1.30 ims
Configuration Item ims
Section [SIP]
Written Format ims=b
b=0: The remote SIP server does not use the ims network (default);
Value Range
b=1: The remote SIP server uses the ims network.
Confirm whether the remote SIP server uses the ims network. If it does, this configuration
Description
item should be set to 1, otherwise the local IP board will fail to register to the ims network.
3.1.2.28.1.31 SipNewRegisterMode
Configuration Item SipNewRegisterMode
Section [SIP]
Written Format SipNewRegisterMode=b
b=0: Binds the channel with register information (default);
Value Range
b=1: Unbinds the channel from register information.
Description Sets whether to bind the channel with register information.
3.1.2.28.1.32 SipBuildBusyReplaceForbidden
Configuration Item SipBuildBusyReplaceForbidden
Section [SIP]
3.1.2.28.1.33 SipFindRingChFromPreRingCh
Configuration Item SipFindRingChFromPreRingCh
Section [SIP]
Written Format SipFindRingChFromPreRingCh=b
b=0: Searches for an idle channel for ringing in the ascending order of the channel
number, starting from Ch0 (default);
Value Range
b=1: Provided the previous ringing channel is Ch(N). Searches for an idle channel for
ringing in the ascending order of the channel number, starting from Ch(N+1).
Description Sets whether to search for an idle channel for ringing from Ch(N+1).
3.1.2.28.2.1.1.1 EnableRTPStun
Refer to RegRealm
3.1.2.28.2.1.1.2 StunServerIP
Refer to RegRealm
3.1.2.28.2.1.1.3 Register
Refer to RegRealm
3.1.2.28.2.1.1.4 UserName
Refer to RegRealm
3.1.2.28.2.1.1.5 RegPassword
Refer to RegRealm
3.1.2.28.2.1.1.6 Domain
Refer to RegRealm
3.1.2.28.2.1.1.7 RegExpires
Refer to RegRealm
3.1.2.28.2.1.1.8 MapIP
Refer to RegRealm
3.1.2.28.2.1.1.9 RegRealm
EnableRTPStun
StunServerIP
Register
UserName
Configuration Item RegPassword
Domain
RegExpires
MapIP
RegRealm
Section [BoardId=x]
EnableRTPStun=y
StunServerIP=p
Register=m
UserName=s
Written Format RegPassword=j
Domain=x
RegExpires=q
MapIP=k
RegRealm=r
y: Sets whether to enable the Stun detection in RTP.
p: The IP address of the Stun server in RTP.
m: Indicates whether to enable registration.
m=0: Disable registration;
m≠0: Enable registration.
s: User name, containing up to 50 characters.
When m≠0, s indicates the registered user name; when m=0, s indicates the content of
the ‘username’ field in SIP URI.
Value Range j: Registered user password
It is valid only when m≠0.
x: Registered server
It is valid and indicates the registered server address in the format of host[:port] only
when m≠0.
q: Period of registration validity, indicating how often the board refreshes the registration
information to the registered server.
k: Mapped IP address of the board.
r: Alias of the SIP server.
Description Sets the SIP server.
Note This item is valid only when the configuration item ProtocolType is set to 1.
3.1.2.28.3.1.1.1 EnableRTPStun
Refer to RegRealm
3.1.2.28.3.1.1.2 StunServerIP
Refer to RegRealm
3.1.2.28.3.1.1.3 Register
Refer to RegRealm
3.1.2.28.3.1.1.4 UserName
Refer to RegRealm
3.1.2.28.3.1.1.5 RegPassword
Refer to RegRealm
3.1.2.28.3.1.1.6 Domain
Refer to RegRealm
3.1.2.28.3.1.1.7 RegExpires
Refer to RegRealm
3.1.2.28.3.1.1.8 MapIP
Refer to RegRealm
3.1.2.28.3.1.1.9 RegRealm
EnableRTPStun
StunServerIP
Register
UserName
Configuration Item RegPassword
Domain
RegExpires
MapIP
RegRealm
Section [BoardId=x]
EnableRTPStun=y
StunServerIP=p
Register=m
UserName=s
Written Format RegPassword=j
Domain=x
RegExpires=q
MapIP=k
RegRealm=r
3.1.2.28.3.1.1.10 DscpFlag
Refer to DscpValue
3.1.2.28.3.1.1.11 DscpValue
DscpFlag
Configuration Item
DscpValue
Section [SIP]
DscpFlag=p
Written Format
DscpValue=m
p: Sets whether the RTP data package sent by SHN Series B-type board includes
the Dscp value.
p=1: Yes;
Value Range
p=0: No (default).
m: The Dscp value of the data package, 0≤m≤63, with the default value of 0. Larger
m value indicates higher priority.
Description Sets the Dscp value to enhance the data package’s priority in network transmission.
3.1.2.28.3.1.2.1 SizeG711A
Refer to SizeG729
3.1.2.28.3.1.2.2 SizeG711U
Refer to SizeG729
3.1.2.28.3.1.2.3 SizeG729
SizeG711A
Configuration Item SizeG711U
SizeG729
Section [BoardId=x]
SizeG711A=m
Written Format SizeG711U=n
SizeG729=x
m=20 or m=30
Value Range n=20 or n=30
x=20 or x=30
Sets the RTP payload in millisecond. Meanwhile adjusts the voice processing capability of
Description
the board. That is, sets how soon to take an RTP packet and how big it is.
z The value must be 20 or 30. If it is filled in with other number or none, the system will
Note regard it as 20ms by default.
z These configuration items are applicable only to SHN-B boards.
3.1.2.28.3.1.2.4 JitterTime
Configuration Item JitterTime
Section [BoardId=x]
Written Format JitterTime=x, y
Value Range 40≤x≤800, 160≤y≤1200, calculated by ms, with the default value of x=160, y=400.
Sets the size of RTP JitterBuffer. The parameters x and y indicate the minimum and
Description maximum buffer times respectively. If the reception rate of the RTP packet becomes
greater than y or smaller than x, the voice quality may drop.
z This configuration item does not need to be modified unless for special requirements.
Note
Otherwise, the voice quality may drop.
3.1.2.29.1 SupplyBoardClockLine
3.1.2.29.2 DEventUpdates
3.1.2.30.1.1 MicGain
Configuration Item MicGain
Section [BoardId=x]
Format 1: MicGain=g,g,g,g
Written Format Format 2: MicGain=g,g,g,g,g,g,g,g
Format 3: MicGain=g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g
g=0: Normal volume
Value Range
g=1: Increased volume
Sets the gain of input signals on the analog recording channel. If the voice signal comes
Description from the analog phone line, the gain should be set to 0DB (g=0); if it comes from the
moving coil microphone, the gain should be set to 20DB (g=1).
z Format 1 is applicable to the ATP Series USB recording box;
z Format 2 is applicable to the 8-channel ATP Series boards;
Note
z Format 3 is applicable to the 16-channel ATP Series boards;
z This configuration item is not applicable to ATP-24A series boards.
3.1.2.30.2.1 EnableIdleChTA
Configuration Item EnableIdleChTA
Section [BoardId=x]
Format 1: EnableIdleChTA =b,b,b,b
Written Format Format 2: EnableIdleChTA =b,b,b,b,b,b,b,b
Format 3: EnableIdleChTA =b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=0: Disable this capability (default);
Value Range
b=1: Enable this capability
Sets whether the analog recording channel can detect the energy and receive DTMF
Description
digits when it is in an idle state.
z Format 1 is applicable to the ATP Series USB recording box;
Note z Format 2 is applicable to the 8-channel ATP Series boards;
z Format 3 is applicable to the 16-channel ATP Series boards.
3.1.2.30.3.1 DspCoder
Configuration Item DspCoder
Section [BoardId=x]
Written Format DspCoder=n
N=131: Load G.729A coder;
N=49: Load GSM coder;
Value Range
N=85: Load MP3 8kbps coder;
N=86: Load MP3 16kbps coder.
Description Sets the coder loaded by an on-board DSP which gives more formats for recording.
3.1.2.30.4.1 PrerecordEnable
Configuration Item PrerecordEnable
Section [SystemConfig]
Written Format PrerecordEnable=b
b=0: Disable this feature (default);
Value Range
b=1: Enable this feature
Description Enables or disables the prerecord feature.
z This function is applicable to ATP Series boards and the analog trunk channels of SHT
Note and SHF Series boards;
z It requires SynCTI Ver. 2.1 or above.
3.1.2.30.4.2 PrerecordMode
Configuration Item PrerecordMode
Section [SystemConfig]
Written Format PrerecordMode=m
m=0: Start to write the recording data into the internal buffer when the Barge-in detector
detects voice activities;
Value Range m=1: Start to write the recording data into the internal buffer when the analog recording
channel detects the pickup behavior on the line.
The default value is 0.
Description Sets the specific way to do prerecording.
z This function is applicable to ATP Series boards and the analog trunk channels of SHT
Note and SHF Series boards;
z It requires SynCTI Ver. 2.1 or above.
3.1.2.30.4.3 PrerecordInsertTime
Configuration Item PrerecordInsertTime
Section [SystemConfig]
Written Format PrerecordInsertTime=t
0<t<n, calculated by millisecond (ms), with the default value of 500. The maximum n is
Value Range
decided by RecordBufSize. n= RecordBufSize/16.
When the application starts the task of file recording after the prerecord feature is
Description enabled, this parameter is used to specify the length of time to write the prerecording data
into the file.
z This function is applicable to ATP Series boards and the analog trunk channels of SHT
Note and SHF Series boards;
z It requires SynCTI Ver. 2.1 or above.
3.1.2.30.4.4 PrerecordCodec
Configuration Item PrerecordCodec
Section [SystemConfig]
Written Format PrerecordCodec=m
m=1: PCM8;
m=6: A-law (default);
m=7: μ-law;
Value Range
m=17: IMA ADPCM (only for boards having a hardware encoder);
m=49: GSM 6.10;
m=85: MP3.
Description Sets the prerecording CODEC.
z This function is applicable to ATP Series boards and the analog trunk channels of
Note SHT and SHF Series boards;
z It requires SynCTI Ver. 2.1 or above.
3.1.2.30.5.1 EnablePulseKeyDetect
Configuration Item EnablePulseKeyDetect
Section [SystemConfig]
Written Format EnablePulseKeyDetect=b
b=0: No (default);
Value Range
b=1: Yes.
Description Sets whether it is necessary to detect the dial pulse.
Note This configuration item is only applicable to the analog trunk recording channel.
3.1.2.30.6.1 MaxRecChFlashFilterTime
Configuration Item MaxRecChFlashFilterTime
Section [SystemConfig]
Written Format MaxRecChFlashFilterTime=t
Value Range t: time duration, calculated by millisecond (ms), with the default value of 200ms
Sets the filter time for a recording channel to judge flash signals. Refer to the Change in
Description
Analog Phone Line Voltage section in Chapter 1 for more information.
3.1.2.30.7.1 RecChClearRingDelayTime
Configuration Item RecChClearRingDelayTime
Section [SystemConfig]
Written Format RecChClearRingDelayTime=t
Value Range t≥0, calculated by second, with the default value of 0
Sets the guard time for clearing the ringing signal counter after the recording channel
Description
detects ringing signals and picks up the call.
3.1.2.30.8.1 BusPlayListen
Configuration Item BusPlayListen
Section [SystemConfig]
Written Format BusPlayListen=b
b=0: Disable data exchange via CT-Bus (i.e. enable the soft-switch feature);
Value Range
b=1: Enable data exchange via CT-Bus (default).
Sets whether the driver will enable data exchange via CT-Bus. This item is invalid to
boards without CT-bus, such as the ATP series, and in such case, the soft-switch feature
Description
will instead be enabled automatically. Refer to the Operation Principle of ATP Series
section in Chapter 1 for more information.
z When BusPlayListen=0, GsmCodecEnable=0 will be invalid and the driver will load the
Note
record/playback software engine to support the monitoring in compressed format.
3.1.2.30.9.1 AlwaysEnableRxMF
Configuration Item AlwaysEnableRxMF
Section [BoardId=x]
Written Format AlwaysEnableRxMF=b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
b=0: No (default);
Value Range
b=1: Yes.
Description Sets the operating mode of the MF detector
Note This configuration item is only applicable to 24-channel ATP Series.
3.1.2.30.9.2 MFDualAndAllFreqEnScale
Configuration Item MFDualAndAllFreqEnScale
Section [BoardId=x]
Written Format HighAndLowFreqEnScale=m
Value Range 0≦m(%)≦100, with the default value of 32
Description Sets the threshold value in percentage for the rate of MF in-band energy to overall energy
Note This configuration item is only applicable to the ATP series.
3.1.2.30.9.3 MFFreqOffset
Configuration Item MFFreqOffset
Section [BoardId=x]
Written Format MFFreqOffset=m
Value Range 0≦m(%)≦30, with the default value of 15
Sets the maximum offset error of the MF signal (offset error = (detected frequency –
Description
standard frequency)*1024 / detected frequency).
Note This configuration item is only applicable to the ATP series.
Refer to 3.1.3.5 Setting SS1 Monitoring Log, 3.1.3.6 Setting SS7 Monitoring Log, 3.1.3.7 Setting ISDN Monitoring
Log, 3.1.3.8 Setting Control Information for Log Creating.
3.1.2.31.2.1 bOpenSpySS7Msu
Configuration Item bOpenSpySS7Msu
Section [SS7Spy]
Written Format bOpenSpySS7Msu=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether the ISUP/TUP call state machine provided by the SynCTI driver will output
Description original ISUP/TUP messages to the application while processing them. See the section
Operation Principle of DTP Series in Chapter 1 for more information.
z This configuration item is only applicable to the DTP Series boards based on SS7
Note protocol;
z It requires SynCTI Ver. 4.7.2.0 or above.
3.1.2.31.3.1 ISDNProtocolType
Configuration Item ISDNProtocolType
Section [SpyPcm]
Written Format ISDNProtocolType=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether to support the CorNet protocol for ISDN monitoring (this protocol is similar
Description
to ISDN Q.931).
z This configuration item is only applicable to those DTP Series boards using ISDN
Note signaling;
z It requires SynCTI Ver.5.1.0.0 or above.
3.1.2.31.4.1 SpySs1NoR2
Configuration Item SpySs1NoR2
Section [SS1Config]
Written Format SpySs1NoR2=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether to support the SS1 monitoring of E1 networks without R2 signaling (DTMF
Description
transmission mode).
z This configuration item is only applicable to the DTP Series boards using E1 SS1
Note signaling;
z It requires SynCTI Ver. 5.3.1.3 or above.
3.1.2.31.5.1 SpyWaitUnavailableTime
Configuration Item SpyWaitUnavailableTime
Section [SystemConfig]
Written Format SpyWaitUnavailableTime=t
Value Range Calculated by millisecond, with the default value of 1280.
If the link keeps asynchronous longer than the set value in this configuration, all digital
Description
trunk channels involved will go into the unusable state (i.e. S_CALL_UNAVAILABLE).
z This configuration item is only applicable to the DTP Series boards;
Note
z It requires SynCTI Ver. 5.3.1.3 or above.
3.1.2.31.6.1 UseHdlc
Configuration Item UseHdlc
Section [BoardId=x]
Written Format UseHdlc=b
b=0: No (default);
Value Range
b=1: Yes.
Sets whether to use the HDLC method to decode messages for the DTP Series C-type
Description
boards. The default method is DSP decoding.
z This configuration item is only applicable to the DTP Series C-type boards;
Note
z It requires SynCTI Ver.5.3.1.3 or above.
3.1.2.31.7.1 RBSType
Configuration Item RBSType
Section [SS1Config]
Written Format RBSType=b
b=0: Not use RBS protocol (default);
b=1: Use E&M WINK;
Value Range
b=2: Use E&M;
b=3: Use E&M 2.
Description Sets which kind of RBS protocol is supported in SS1 monitoring of T1 networks.
z This configuration item is only applicable to the DTP Series boards supporting SS1
Note monitoring of T1 trunk;
z It requires SynCTI Ver. 5.3.1.3 or above.
SynIPRecorder in Master
3.1.2.32.1.1 RcvTimeSpan
Configuration Item RcvTimeSpan
Section [BoardId=x]
Written Format RcvTimeSpan =m
Value Range m: m is a number with the default value of 20.
Working period of receiving threads. It indicates how often the RTP data is
Description
received in the Slaver end.
3.1.2.32.1.2 CodecInBufferSize
Configuration Item CodecInBufferSize
Section [BoardId=x]
Written Format CodecInBufferSize =m
Value Range m: m is a number with the default value of 4096.
Description Size of the buffer temporarily storing the data that needs to be decoded (in byte)
3.1.2.32.1.3 SlaverLogLevel
Configuration Item SlaverLogLevel
Section [BoardId=x]
Written Format SlaverLogLevel =m
m = 0: system-level failure;
m = 1: common failure;
m = 2: warning (default);
Value Range m = 3: common information;
m = 4: detailed information including call stack;
m = 5: most detailed information including content of transmitted/received data;
m = 6: debugging information.
Description Log level in the Slaver end.
3.1.2.32.1.4 SlaverLogType
Configuration Item SlaverLogType
Section [BoardId=x]
Written Format SlaverLogType =m
m = 0: console output;
m = 1: DbgView output in the Slaver end;
Value Range
m = 2: log output in the Slaver end;
m = 3: forward back to the Master end (default).
Description Log output type in the Slaver end.
3.1.2.32.1.5 RecorderMixerType
Configuration Item RecorderMixerType
Section [BoardId=x]
Written Format RecorderMixerType =m
3.1.2.32.1.6 RecorderJitterBuffer
Configuration Item RecorderJitterBuffer
Section [BoardId=x]
Written Format RecorderJitterBuffer =m,n
m: m is a number with the default value of 1280. It indicates the minimum Jitter
delay time.
Value Range
n: n is a number with the default value of 3200. It indicates the maximum Jitter
delay time.
Values corresponding to the configuration items in JitterBuffer which are
separated by the punctuation ‘.’. x indicates the minimum Jitter delay time while y
Description
indicates the maximum Jitter delay time in byte (i.e. the number of sampling
points)
3.1.2.32.1.7 RecorderVolume
Configuration Item RecorderVolume
Section [BoardId=x]
Written Format RecorderVolume =m,n
m: m is a number with the default value of 0. it indicates the primary volume with
the value range of [-7,+6].
Value Range
n: n is a number with the default value of 0. it indicates the secondary volume with
the value range of [-7,+6].
Description Sets the recording volume.
Monitoring Port
3.1.2.32.2.1 SIP
MonitorPortNo
MonitorPort
MonitorPortType
ProxyIPAddress
Configuration item
NonStationAddressNo
NonStationAddress
Special
MixCSProtocol
Section [IPRSIP]
MonitorPortNo =m
MonitorPort[x] = p
MonitorPortType[x] = t
ProxyIPAddress = i
Written Format
NonStationAddressNo = n
NonStationAddress[y] = j
Special = k
MixCSProtocol = q
m: number of monitoring ports. The default value is 0 which means Avaya H323
monitoring is disabled, and the upper limit is 20.
x: indicates which configuration item it is. Range of value: 0~19.
p: the CS port, with the default value of 1720
q: the RAS port. The configuration of this port is optional. If it is not used by the
PBX, this item should be set to 0.
Value Range
t: the type of the monitoring port (0: UDP, 1: TCP), with the default value of 1.
u: the type of the monitoring port (0: UDP, 1: TCP), with the default value of 0.
o: number of non-Station addresses, with the default value of 0 and the upper
limit of 20. These non-Station addresses won’t be identified as Station.
y: indicates which configuration item it is. Range of value: 0~19.
j: non-Station IP address in the form of IPv4 address.
Description Avaya H323 monitoring.
3.1.2.32.2.5 H323
H225CSPortNO
H225CSPort
H225CSPortType
H225RASPortNO
Configuration Item
H225RASPort
H225RASPortType
NonStationAddressNo
NonStationAddress
Section [IPRH323]
H225CSPortNo =m
H225CSPort[x] = p
H225CSPortType[x] = t
H225RASPortNo =n
Written Format
H225RASPort[x] = q
H225RASPortType[x] = u
NonStationAddressNo = o
NonStationAddress[y] = j
H225CSPort = p
H225CSPortType = t
Written Format
ProprietaryPort = q
ProprietaryPortType = u
p: CS port. The default value is 1720.
q: Port for Siemens PBX proprietary protocol messages. The default value is
Value Range 4060.
t, u: The type of the monitoring port (0: UDP, 1: TCP), with the default value of 1.
Description Siemens H323 monitoring.
3.1.2.32.2.9 Alcatel
MonitorPort
Configuration Item
MonitorPortType
Section [IPRALCATEL]
MonitorPort=p
Written Format
MonitorPortType=t
p: Monitoring port. The default value is 0, which means Alcatel monitoring is
Value Range disabled. When Alcatel monitoring is enabled, the commonly used port is 32640.
t: The type of the monitoring port (0: UDP, 1: TCP), with the default value of 0.
Description Alcatel monitoring.
3.1.2.32.2.10 Mitel
MonitorPort
Configuration Item
MonitorPortType
Section [IPRMITEL]
MonitorPort=p
Written Format
MonitorPortType=t
p: Monitoring port. The default value is 0, which means Mitel monitoring is
Value Range disabled. When Mitel monitoring is enabled, the commonly used port is 6800.
t: The type of the monitoring port (0: UDP, 1: TCP), with the default value of 1.
Description Mitel monitoring.
3.1.3.1.1 MultiCardMultiProcess
3.1.3.2.1 ApiLogEnable
3.1.3.2.2 ApiLogSetEventRange
3.1.3.2.3 ApiLogSetChRange
This configuration item becomes effective only when ApiLogEnable is set to output to
Note
LOG.
3.1.3.2.4 ApiLogCreateMode
3.1.3.2.5 Mask_SsmGetNoSoundTime
Refer to Mask_SsmGetRecOffset
3.1.3.2.6 Mask_SsmGetChStateKeepTime
Refer to Mask_SsmGetRecOffset
3.1.3.2.7 Mask_SsmGetPlayedTime
Refer to Mask_SsmGetRecOffset
3.1.3.2.8 Mask_SsmGetPlayedPercentage
Refer to Mask_SsmGetRecOffset
3.1.3.2.9 Mask_SsmGetPlayOffset
Refer to Mask_SsmGetRecOffset
3.1.3.2.10 Mask_SsmGetRecTime
Refer to Mask_SsmGetRecOffset
3.1.3.2.11 Mask_SsmGetRecOffset
Mask_SsmGetNoSoundTime
Mask_SsmGetChStateKeepTime
Mask_SsmGetPlayedTime
Configuration Item Mask_SsmGetPlayedPercentage
Mask_SsmGetPlayOffset
Mask_SsmGetRecTime
Mask_SsmGetRecOffset
Section [DebugView]
Mask_SsmGetNoSoundTime=b
Mask_SsmGetChStateKeepTime=b
Mask_SsmGetPlayedTime=b
Written Format Mask_SsmGetPlayedPercebtage=b
Mask_SsmGetPlayOffset=b
Mask_SsmGetRecTime=b
Mask_SsmGetRecOffset=b
b=0: Not output (default);
Value Range
b=1: Output
Sets whether the driver will output debugging information of some query API functions or
not. In the name of this configuration item, the string following ‘Mask_’ is just the function
Description
name.
See the Driver-provided Debugging Feature section in Chapter 1 for more information.
This configuration item becomes effective only when the ‘Debugging Information Output’
Note
feature is enabled via the configuration item EnableDebugAPI.
3.1.3.3.1 IsdnLogEnable
3.1.3.3.2 DecodeIsdnMsg
b=0: No (default);
Value Range
b=1: Yes.
Sets whether to decode ISDN messages before outputting ISDN debugging messages.
Description The original ISDN messages use binary system, not easy to read. The decoded ISDN
messages are in text format, easy to read, applicable to both network and user sides.
3.1.3.3.3 IsdnDebugLog
3.1.3.4.1 Ss1LogEnable
3.1.3.4.2 Ss1LogCreateMode
3.1.3.5.1 SpySs1LogEnable
3.1.3.5.2 SpySs1CreateMode
3.1.3.6.1 SpySs7LogEnable
3.1.3.7.1 SpyIsdnLogEnable
3.1.3.8.1 SystemInfoLogEnable
3.1.3.9.1 DSTLogEnable
3.1.3.9.2 DSTLogCreateMode
3.1.3.10.1 FaxLogEnable
3.1.3.10.2 FaxLogCreateMode
3.1.3.11.1 LogCreatePeriod
3.1.3.11.2 LogMaxKeep
3.1.3.11.3 LogMaxPeriod
3.1.3.11.4 LogFilePath
3.1.3.11.5 LogOverWrite
3.1.3.11.6 CreateDumpWhenCrash
3.1.3.12.1 DspAddr4
Sets whether to enable the feature of addressing DSP based on 4-byte access. For
some machines models such as IBM X3650 M3 and Advantech 610L, addressing DSP
Description
based on 2-byte access is not supported and can cause blue screen. To solve such
problem, this configuration item should be set to 1.
3.1.3.13.1 DspEc
3.2.1.1 MaxIndexSeg
Configuration Item MaxIndexSeg
Section [System]
Written Format MaxIndexSeg=n
0≤n≤65535, with the default value of 0. (Note: The value of ‘n×the total number of
Value Range channels×306’ must be less than the physical memory, otherwise the initialization would
fail.)
Description Sets the total number of preload voice segments on a single channel.
Note MaxIndexSeg determines the number of [SegNo=x] sections.
It is used to set the file information of each voice segment used for memory playback by index. x is the segment
number. More than one [SegNo=x] section should be configured if there are many voice segments available.
3.2.2.1 FileName
Configuration Item FileName
Section [SegNo=x]
Written Format FileName=s
s is the name of the file which contains voice segments, being either the standard wav file or
the non-header file. If it is the standard wav file, the format specified by the configuration
item CodecFormat will be ignored; otherwise, it is regarded as the non-header file, using the
Value Range
CODEC designated by the configuration item CodecFormat.
If the full path is not specified, the driver will search for this file under the current directory of
the application.
Description Sets the voice file name.
Example FileName=d0.wav
3.2.2.2 Alias
Configuration Item Alias
Section [SegNo=x]
Written Format Alias=s
s is an alias with the length not exceeding 20 characters. It does not accept the digits ‘0’ ~
Value Range ‘9’ as the initial character. The value being null indicates no alias is specified.
The default value is null.
Description Allocates aliases to voice segments.
Example Alias=D0
3.2.2.3 CodecFormat
Configuration Item CodecFormat
Section [SegNo=x]
Written Format CodecFormat=n
n=6: A-Law (default);
Value Range n=7: µ-Law;
n=17: IMA ADPCM。
Description Sets the voice CODEC.
Note All preload voice segments should have the same CODEC.
3.2.2.4 StartOffset
Configuration Item StartOffset
Section [SegNo=x]
Written Format StartOffset=n
n: The start position offset of the voice segment in the file, calculated by byte, with the
Value Range
default value of 0. While using ADPCM format, it should be set to the multiple of 256.
Sets the position among voice data in the file where the voice segment is counted from. In
the standard wav file, the value being 0, the segment is counted from the first data byte
Description
following the file header; in the non-header file, the segment is counted from the top of the
file.
3.2.2.5 Length
Configuration Item Length
Section [SegNo=x]
Written Format Length=n
Value Range n: The length of the voice segment, calculated by byte, with the default value of -1.
Sets the data length of this voice segment. The conversion ratio between the data length
Description and the time length varies on the CODEC. See the SynCTI Supported CODECs section in
Chapter 1 for details.
z If this parameter is set greater than the length of data from the configuration item
StartOffset to the end of the file, the length of the voice segment actually loaded is just
Note the value of StartOffset;
z Length being set to -1 indicates the loaded voice segment fills the space from
lStartPos to the end of the file.
(SynIPR only)
Select ‘Full’ or ‘Special’ installation mode to well install the SynCTI driver. Then the installation program will
generate a configuration file named record_slaver.ini under the installation directory, which is used to store the
configuration items for the Slaver of SynIPRecorder. The developers can edit or modify this configuration file by
using text editing software.
This configuration file is divided into sections. Each section contains one or several items. The name of the section
lies within a pair of square brackets and each line of text following the section name is a configuration item. The
effective range of a section starts from the second row of the current section and ends with the row above the next
section. All configuration items in this file are written in the format of ‘x=y’: on the left side of the sign ‘=’ is the name
of the configuration item while on the right side is the content.
3.3.1.1 ActiveConnect
Configuration Item ActiveConnect
Section [SlaverConfig]
Written Format ActiveConnect=m
m: m is a number indicating the connection mode of Slaver, with the default value
of 1. Range of value:
m=0: Passive connection mode. In this mode, the Slaver will not connect the
Master actively, and multiple Slavers can be connected with one Master. The
configurations SlaverListenIP and SlaverListenPort are valid while the
Value Range
configurations SlaverIp, SlaverPort, MasterIp and MasterPort are invalid.
m=1: Active connection mode. In this mode the Slaver will connect the Master
actively but the Master cannot connect the Slaver. The configurations
SlaverIp, SlaverPort, MasterIp and MasterPort are valid while the
configuration items SlaverListenIP and SlaverListenPort are invalid.
Description Sets the connection mode of the Slaver.
3.3.1.2 SlaverIP
Configuration Item SlaverIP
Section [SlaverConfig]
Written Format SlaverIP =m
m: m is a character string in the form of IPv4 address. The default value is
Value Range
127.0.0.1.
Description IP address in the Slaver end.
3.3.1.3 SlaverPort
Configuration Item SlaverPort
Section [SlaverConfig]
Written Format SlaverPort =m
Value Range m: m is a number with the default value of 9885.
Description Port in the Slaver end.
3.3.1.4 MasterIP
Configuration Item MasterIP
Section [SlaverConfig]
Written Format MasterIP =m
m: m is a character string in the form of IPv4 address. The default value is
Value Range
127.0.0.1.
Description Host IP address of SynIPRecorder Master
3.3.1.5 MasterPort
Configuration Item MasterPort
Section [SlaverConfig]
Written Format MasterPort =m
Value Range m: m is a number with the default value of 9888.
Description Host monitoring port of SynIPRecorder Master.
3.3.1.6 SlaverListenIP
Configuration Item SlaverListenIP
Section [SlaverConfig]
Written Format SlaverListenIP =m
m: m is a character string in the form of IPv4 address. The default value is
Value Range
127.0.0.1.
Description The monitoring IP address of the Slaver in passive connection mode.
3.3.1.7 SlaverListenPort
Configuration Item SlaverListenPort
Section [SlaverConfig]
Written Format SlaverListenPort=m
Value Range m: m is a number with the default value of 9887.
Description Monitoring port of the Slaver in passive connection mode.
3.3.2.1 KeepAliveTime
Configuration Item KeepAliveTime
Section [SlaverConfig]
Written Format KeepAliveTime =m
Value Range m: m is a number with the default value of 30.
Alive time of the Slaver end and the Master end in second. It indicates how often
the Slaver communicates with the Master to keep the connection automatically.
Description When disconnection is detected, the Slaver will automatically try to link the
Master in every m seconds. When m=0, the Slaver will not try to link the Master
automatically in case of disconnection.
3.3.2.2 RTPPortRange
Configuration Item RTPPortRange
Section [SlaverConfig]
Written Format RTPPortRange =m,n
m: m is a number with the default value of 6000. it indicates the starting port for
receiving RTP data.
Value Range
n: n is a number with the default value of 10000. it indicates the ending port for
receiving RTP data.
Description Port range for RTP data reception.
Signaling Point (SP) is a node in a signaling network that either originates and receives signaling messages, or
transfers signaling messages from one signaling link to another, or both. The signaling point that originates
messages is called Originating Point Code (OPC), set in the configuration item OPC; the signaling point that
receives messages is called Destination Point Code (DPC). Both OPC and DPC are configured in the file
Ss7Server.ini for the SS7 server.
There exist two encoding formats for signaling points: International Signaling Point Code (ISPC) Format and
National Signaling Point Code (NSPC) Format in China. As to the international signaling point code, CCITT
suggests using the14-bit format. See below for the grouping of the ISPC bits.
3bit 8bit 3bit
ZONE AREA POINT
The national signaling point code in China uses the 24-bit format, grouped as follows.
The Synway SHD Series boards support both International Signaling Point Code (ISPC) Format and National
Signaling Point Code (NSPC) Format in China, configurable via the configuration item SpCodeLen.
Connecting two or more than two signaling links serially via one or more than one signaling transport points to
transmit signaling messages, provided the path of signaling messages through the signaling network is
predetermined and fixed within a certain period of time, is called Quasi-associated Mode.
SP SP SP SP Legend:
Signaling Relationship
Signaling Link Set
STP
The SynCTI driver supports both the associated mode and the quasi-associated mode, which can be set via the
configuration items MaxDPC/DPC and MaxUP_DPC/UP_DPC. See the SS7 Server Configuration section in this
chapter for more information.
The SynCTI driver supports up to 48 signaling link sets, configurable via the configuration items MaxLinkSet and
LinkSet. Each signaling link set supports up to 16 64kbps signaling links, which can be set via the configuration
items MaxSs7Pcm and Ss7PcmLink. While 16 signaling links are included in a signaling link set, they will work in a
load sharing mode.
The SS7 server is allowed to connect with up to 48 signaling points or signaling transport points.
The SynCTI driver assigns the SS7 service to the application by the SS7 server. The application program serves
as the Client program, without limitation on the quantity and physical environment. It is acceptable that one or more
application programs run in one or more computers, or run with the SS7 server in a same computer.
The SS7 server supports the connectivity of the local signaling point with other signaling points, providing the
signaling service for the digital trunks which are compliant with China SS7 protocol. The relationship among the
signaling link, the signaling link set, DPC/OPC and the signaling route is shown in the figure below.
SP
Signaling Link
SP
SS7 Server
SP
Signaling Link Set
¾ A digital trunk can transmit both signaling messages and voice information simultanously. Usually TS16
is used to transport signaling messages while other 30 time slots (TS 1~15 and TS 17~31) to transmit
voice information.
¾ Each signaling link set contains up to 16 64kbps signaling links which work in the load sharing mode.
The load management is automatically performed by the server itself.
¾ The local signaling point is allowed to connect with up to 48 SP or STP. In direction connection, however,
only 1 signaling link set (i.e. 1 signaling route) can be used between the local point and the other
signaling points.
¾ Uses the C/S setup which is available via the distributed signaling link/client connectivity supported by
the TCP/IP protocol. Network cards are not necessary for a single computer system (the server and the
on-board signaling links are involved in a same computer).
¾ If the SS7 server has physical signaling links in it, it will automatically load the SynCTI driver for the SHD
Series boards upon the start. Note: In such case, the voice time slots on the digital trunk cannot be
used as voice paths.
The executive program of the SS7 server is Ss7Monitor.exe, and the configuration file it uses is Ss7server.ini.
① ②
④ ⑤ ⑥
⑦ ⑧
There are seven status bars and a button selection area in the interface.
1. ①②: Receive/transmit message list
This program displays the received and sent messages respectively in the above windows ① and ②. However,
what kind of messages shall be displayed are determined by which options are selected in the button selection
area ⑧:
z Display sent message: Display the message sent to the remote end only if ticked.
z Display received message: Display the message received from the remote end only if ticked.
z Display SNT message: Display the SNT message when ticked
z Display SNM message: Display the SNM message when ticked
z Auto translate: Automatically translate the received/sent message when ticked; otherwise display the
received/sent data originally in the hexadecimal format.
z Write-to-file: Output the displayed message to the file with the name ‘msu_rcv + number’ or ‘msu_send +
number’ only if ticked.
z Display DPC and OPC: Display DPC and OPC only if ticked
When “Auto translate” is ticked, all receive/transmit messages are usually in the following format:
Time Total number Signaling link number# SIO Content
For the TUP message, SIO is just ‘TUP’ (0x84), followed by the message content. It is usually in the following
format:
Title code CIC=PCM:TS Message body
2. ③: Linkset/signaling link information
This window shows the information about signaling links and link sets.
z Linkset: Linkset number, from Section [LinkSetInfo] in the configuration file Ss7Server.ini.
z Linkset state: Working state of linkset, including ‘Service On’ and ‘Service Interrupt’. A signaling linkset will
go into the state ‘Service On’ as long as a link in it is at the state of ‘Service On’.
z Link@physical position: Signaling link number and its physical position. For example, ‘0 @ IP[0]:PCM[0]’
means the physical position of Link 0 in this gateway is the E1 with the local PCM numbered 0 on Client 0.
This example comes from the configuration file Ss7Server.ini, Section [Ss7PcmLinkInfo].
z Network: Whether the signaling link is registered to the program, including two states ‘Connected’ and
‘Disconnected’ (or no display). The signaling link can be used normally only in the state of ‘Connected’.
z Sync: Basic frame Synchronization (Timeslot 0), including two states ‘Synchronous’ and ‘Asynchronous’.
The signaling link can be used only in the state of ‘Synchronous’.
z State time: A time period since the last time the signaling link enters into the state of ‘Service On’.
z Position: How many times of positioning that occurs on the signaling link after the program starts.
z Send MSU: Total number of messages sent on the signaling link after the program starts.
z Receive MSU: Total number of messages received on the signaling link after the program starts.
z Switchover MSU: Total number of messages switched over on the signaling link after the program starts.
3. ④: Client Information
This window displays the client IP address and the connection state which are from the configuration file
Ss7Server.ini, Section [Ss7ClientInfo].
z Client: Client number
z IP address: IP address of the client
z Network: Whether the client has been successfully connected to the program
4. ⑤: DPC Information
This window displays the DPC information configured by the program which is from the configuration file
Ss7Server.ini, Section [DPCInfo].
z DPC#: DPC number which starts from 0
z DPC code: Destination point code, allocated by the central office
z DPC state: Indicates whether the route to this signaling point is available, involving two states ‘Service
On’ and ‘Service Interrupt’. The message can be sent to the DPC only when the
route to the signaling point is at the state of ‘Service On’. The DPC will turn into the
state of ‘Service On’ as long as one of the linksets reaching the DPC is at the state
of ‘Service On’.
z DPC route table: Route to the DPC, i.e. linkset number.
5. ⑥: Link information
This status bar displays the detailed information on the state of all signaling links, usually used for searching the
cause for service interrupt on a signaling link.
Link# STA L2 POC LSC FSN ERR CHO
Live
LINK Link Failure Processor Forward
Link States Communication
NUMBE Causes Failures Sequence spare spare
0-6 Server Service
R (interrupt) 0-3 Number
0-1
0: uploaded 0: normal 0: normal 0: service is
but not unavailable
started
1: service 1: BSNR 1: the local 1: service is
interrupt illegal end available
processor
failure
2: initial 2: FIBR 2: the
positioning illegal remote
end
processor
failure
3: 3: T2 timeout 3: both
positioned/ ends
ready processor
failure
4: 4: T6
positioned/ timeout, the
not ready remote end
busy
5: service on 5: L3 sends
a command
to stop
6: processor 6: signaling
failure error rate too
high
7: during the
course of
initial
positioning,
fail to enter a
normal
position
8: Timer 1
timeout
9: positioned
and ready,
receive the
interrupt
signal of the
remote end
10:
positioned
but not
ready,
receive the
interrupt
signal of the
remote end
11: in the
state of
Service On,
receive the
interrupt
signal of the
remote end
12: in a
processor
failure,
receive the
interrupt
signal of the
remote end
6. ⑦: Run log
This log records all MTP3 commands and all error information that pops up during the operation.
This status bar displays the log records generated after the program starts.
4.3.1.1 OPC
Configuration Item OPC
Section [Ss7SystemConfig]
Written Format OPC=a.b.c
A: Main area code, represented by decimal digits;
Value Range B: Subarea code, represented by decimal digits;
C: Point code, represented by decimal digits.
Sets the signaling point code for the SS7 server which is usually allocated by the central
Description
office.
Note It is an essentially configured item
Example OPC=1.2.13
4.3.1.2 SpCodeLen
Configuration Item SpCodeLen
Section [Ss7SystemConfig]
Written Format SpCodeLen=n
n: Signaling point code format
Value Range n=24 (default): Uses National Signaling Point Code Format in China
n=14: Uses International Signaling Point Code Format
Description Sets the signaling point code format.
Note Users in China don't need to configure this item.
4.3.2.1 ServerIP
Refer to SecondServerIP
4.3.2.2 SecondServerIP
ServerIP
Configuration Item SecondServerIP
Section [Ss7SystemConfig]
ServerIP=a.b.c.d
Written Format SecondServerIP=a.b.c.d。
Value Range a.b.c.d: IP address. The default value of ServerIP is 127.0.0.1.
Sets the IP address of the SS7 server: ServerIP is used to set the IP address for the SS7
Description
server itself while SecondServerIP is used to set the IP address for the back-up server.
There is no need to set SecondServerIP if only one server is used. In case
Note
SecondServerIP is configured, the SS7 server must be started in the warm back-up mode.
4.3.2.3 Port
Configuration Item Port
Section [Ss7SystemConfig]
Written Format Port=n
Value Range n: Port number, with the default value of 5150.
Description Sets the monitoring port number of the SS7 sever.
Note There is no need to configure this item if only one server is used.
4.3.3.1 ConfigMtp3AsSTP
Configuration Item ConfigMtp3AsSTP
Section [Ss7SystemConfig]
Written Format ConfigMtp3AsSTP=m
m=0: Signaling point (default). The driver will check whether the DPC of a signaling link set
Value Range conforms to its OPC at the MTP3 layer.
m=1: Signaling transport point. The driver will not examine the DPC at the MTP3 layer.
Description Sets the operating mode of MTP3 in the SS7 server.
4.3.3.2 SendSNT
Configuration Item SendSNT
Section [Ss7SystemConfig]
Written Format SendSNT=n
4.3.3.3 SubServicefield
Configuration Item SubServicefield
Section [Ss7SystemConfig]
Written Format SubServicefield=0xn
n: The subservice code, represented by hexadecimal digits, the 4 lower bits being valid
(Bit3~Bit0 are respectively marked as DCBA):
DC: Network Indicator
00: International Network
Value Range 01:Spare International Network
10: National Network
11: Spare National Network
BA: Spare.
The default value of n is 8.
Description sets the SS7 subservice code.
Example SubServicefield=0x8
4.3.4.1 MaxSs7Client
Refer to IP
4.3.4.2 IP
MaxSs7Client
Configuration Item
IP
Section [Ss7ClientInfo]
MaxSs7Client=M
Written Format
IP[m]=a.b.c.d
M: The total number of client computers that use SS7 servers, with the default value of 0.
The maximum value of M is 10. If M>0, the configuration item IP must be displayed for
Value Range M times.
M: The logical client number, numbered from 0, 0≤m<M.
a.b.c.d: The IP address of Client m.
MaxSs7Client is used to set the total number of client computers that use SS7 signaling,
Description while IP is used to set the IP address of each client computer point by point. This
configuration item can be set to 1 in a single computer system.
If the SS7 server is running with the client in a same computer:
[Ss7ClientInfo]
MaxSs7Client=1
IP[0]=127.0.0.1
Example
If 2 client computers are connected to the SS7 server:
[Ss7ClientInfo]
MaxSs7Client=2
IP[0]=203.203.203.200
IP[1]= 203.203.203.201
4.3.5.1 MaxSs7Pcm
Refer to Ss7PcmLink
4.3.5.2 Ss7PcmLink
MaxSs7Pcm
Configuration Item
Ss7PcmLink
Section [Ss7PcmLinkInfo]
MaxSs7Pcm=M
Written Format
Ss7PcmLink[m]=IP[n],LocalPCM[k]
M: The total number of signaling links. The SS7 server supports up to 48 signaling link sets,
each of which supports up to 16 signaling links. Therefore, the range of M is 0<M≤768;
m: The logical signaling link number in the server (numbered from 0), 0≤m<M;
Value Range n: The logical number for the client computer which is connected to Signaling Link m. This
logical number is defined in the configuration item IP;
k: The logical number on the client computer for Signaling Link m in the SS7 server. k can
be set via the configuration items TotalPcm and Pcm in the file ShConfig.ini.
MaxSs7Pcm is used to set the total number of 64kbps signaling links, while Ss7PcmLink is
Description
to set the physical position on the client computer of a signaling link in the SS7 server.
On the assumption that the application system contains one SS7 server, two client
computers and two signaling links in total, if the 1st link is physically located at the 1st client
computer, with the local number of 0, the 2nd link is at the 2nd client computer, with the local
number of 3, relative configuration items are set as follows.
[Ss7ClientInfo]
MaxSs7Client=2
IP[0]=203.203.203.200
IP[1]= 203.203.203.201
Example
[Ss7PcmLinkInfo]
MaxSs7Pcm=2
Ss7PcmLink[0]=IP[0],LocalPCM[0]
Ss7PcmLink[1]=IP[1],LocalPCM[3]
If both the two signaling links are at the 1st client computer and their local numbers are
respectively 0 and 1, the set values of MaxSs7Pcm and Ss7PcmLink shall be:
Ss7PcmLink[0]=IP[0],LocalPCM[0]
Ss7PcmLink[1]=IP[0],LocalPCM[1]
4.3.6.1 MaxLinkSet
Refer to LinkSet
4.3.6.2 LinkSet
MaxLinkSet
Configuration Item
LinkSet
Section [LinkSetInfo]
MaxLinkSet=N
Format 1: LinkSet[n]=Ss7PcmLink[i] (only one signaling link involved in the link set)
Format 2: LinkSet[n]=Ss7PcmLink[i]+ … +Ss7PcmLink[j] (two or more than two signaling
Written Format links involved in the link set)
Format 3: LinkSet[n]=Ss7PcmLink[i],a.b.c (only one signaling link involved in the link set)
Format 4: LinkSet[n]=Ss7PcmLink[i]+ … +Ss7PcmLink[j],a.b.c (two or more than two
signaling links involved in the link set)
N: The total number of signaling link sets in the server, 1≤N≤48. N determines how many
LinkSet the driver will read;
n: The logical serial number of the signaling link set, numbered from 0, 0≤n<N;
Value Range i, ,j: The logical number in the sever for those signaling links involved in Signaling Link Set
n, specified in the configuration item Ss7PcmLink. Each link set includes up to 16
signaling links;
a.b.c: The OPC allocated to Signaling Link Set n.
MaxLinkSet is used to set the total number of signaling link sets connected to the local
Description
server; LinkSet is to configure which signaling links compose the link set.
z Format 1 and Format 3 are used for the situation when only one signaling link is
involved in the link set; Format 2 and Format 4 are used for the situation when there
are two or more than two signaling links in the link set;
Note
z Format 3 and Format 4 are applicable to the situation that involves different OPCs;
z The OPC of the signaling link set is preferentially specified by the configuration item
LinkSet[n]. If not designated in LinkSet, it is set by the configuration item OPC.
MaxLinkSet=2
Example LinkSet[0]=Ss7PcmLink[1],1.1.1
LinkSet[1]=Ss7PcmLink[2]+ Ss7PcmLink[0],1.1.2
4.3.7.1 MaxDPC
Refer to DPC
4.3.7.2 DPC
MaxDPC
Configuration Item
DPC
Section [DPCInfo]
MaxDPC=N
Written Format
DPC[n]=x.y.z,LinkSet[k]
N: The total number of DPC, 0≤N≤48;
n: The logical DPC number, numbered from 0, 0≤n<N;
x.y.z: The signaling point code for DPC n (represented by decimal digits): x - Main Area, y -
Value Range
Subarea. z is the signaling point code allocated by the central office.
k: The logical number of the signaling link set which connects the SS7 server with DPC n.
This number is specified in the configuration items MaxLinkSet and LinkSet.
MaxDPC is used to set the total number of DPC (SP or STP) connected to the SS7 server;
Description
DPC is to set the signaling point code and the route information for the DPC.
z If N≥1, DPC must be configured for N times, numbered from n=0.
Note z This configuration item is only applicable to the associated mode which you can set
via the configuration items MaxUP_DPC and UP_DPC.
MaxDPC=2
Example DPC[0]=1.1.8,LinkSet[0]
DPC[1]=1.1.9,LinkSet[1]
4.3.8.1 MaxUP_DPC
Refer to UP_DPC
4.3.8.2 UP_DPC
MaxUP_DPC
Configuration Item
UP_DPC
Section [UP_DPCInfo]
MaxUP_DPC=N
Format 1: UP_DPC[n]=x.y.z,LinkSet[i]
Written Format
Format 2: UP_DPC[n]= x.y.z,LinkSet[i]+LinkSet[j]
Format 3: UP_DPC[n]= x.y.z,LinkSet[i]+LinkSet[j],m
N: The number of UP_DPC, 0≤N≤48;
n: The logical UP_DPC number, numbered from 0, 0≤n<N;
x.y.z: The signaling point code for UP_DPC n (represented by decimal digits): x - Main Area,
y - Subarea. z is the signaling point code allocated by the central office.
i,j: The logical number of the signaling link set which connects the SS7 server with
UP_DPC n. This number is specified in the configuration items MaxLinkSet and
Value Range LinkSet.
m: In case there are 2 signaling link sets between the SS7 server and UP_DPC n, m is
to specify the way how the server uses Link Set i and Link Set j.
m=0: The load sharing mode (default, and in such case, Format 2 and Format 3
makes no difference for your use)
m=1: Signaling Link Set i serves as the normal route while Signaling Link Set j works
as the alternate route.
MaxUP_DPC is used to set the total number of SP which connect to the SS7 server via
Description STP. Its value determines how many UP_DPC[n] the driver will read. UP_DPC is used to
set the signaling point code and the route information for SP n.
z If N≥1, UP_DPC must be configured for N times, numbered from n=0.
z This configuration item is applicable to the associated mode, the quasi-associated
mode, and the hybrid use of these two modes.
z If this item is used in the associated mode, it should comply to the parameters of
configuration items MaxDPC and DPC. That is, UP_DPC and its corresponding DPC
Note
should point to a same SP.
z The format used to set UP_DPC is determined by the total number of signaling link
sets between the SS7 server and UP_DPC n.
Only 1 link set: use Format 1
2 link sets available: use Format 2 or Format 3
MaxUP_DPC=2
Example UP_DPC[0]=1.2.8,LinkSet[0]
UP_DPC[1]=1.2.9,LinkSet[1]
4.3.9.1 UP_DPC
Refer to DPC
4.3.9.2 CIC_PCM
Refer to DPC
4.3.9.3 DPC
UP_DPC
Configuration Item CIC_PCM
DPC
Section [TUPRouter] / [ISUPRouter]
Format 1: UP_DPC[i],CIC_PCM[p]=IP[j],LocalPCM[k] //used for TUP/ISUP protocol
Written Format
Format 2: DPC[i],CIC_PCM[p]=IP[j],LocalPCM[k] // used for TUP/ISUP protocol
i: The logical DPC/UP_DPC number. Format 1 specifies the use of UP_DPC, in which case
the value of the configuration item MaxUP_DPC must be set greater than 0. It is used in
the associated mode or quasi-associated mode. Format 2 specifies the use of DPC, in
which case the configuration item MaxUP_DPC may either be set to 0 or not be set. It is
only applicable to the associated mode.
Value Range p: The digital trunk number in the CIC field, and the value is obtained by dividing the initial
CIC number from the central office by 32, not necessarily numbered from 0.
j: The logical number for the client computer’s IP address. See description on configuration
items MaxSs7Client and IP for more information.
k: The logical digital trunk number on the client computer. See description on configuration
items TotalPcm and Pcm for more information.
UP_DPC, CIC_PCM are used to set the route to distribute TUP/ISUP messages.
How the SS7 server distributes TUP/ISUP Messages is described as follows.
Every time when the SS7 server receives a TUP/ISUP message from UP_DPC / DPC
i, it will acquire the digital trunk number p from the CIC field. If the matched route can
be found for this TUP/ISUP message according to the route set by the configuration
items UP_DPC, CIC_PCM, the server will change the digital trunk number p to k in
the CIC field and forward this TUP message to Client j; otherwise, this TUP/ISUP
Description
message will be discarded.
Every time when the SS7 server receives a TUP/ISUP message from Client j, it will
acquire the digital trunk number k from the CIC field. If the matched route can be
found for this TUP/ISUP message according to the route set by the configuration
items UP_DPC, CIC_PCM, the server will change the digital trunk number k to p in
the CIC field and forward this TUP message to UP_DPC / DPC i; otherwise, the
server will discard the TUP/ISUP message.
z The TUP protocol uses the [TUPRouter] section while the ISUP protocol uses the
[ISUPRouter] section;
z If the [UP_DPCInfo] section is not set or MaxUP_DPC=0, what shall be used is DPC,
CIC_PCM: DPC[i],CIC_PCM[p]=IP[j],LocalPCM[k];
Note
z If the client uses the TUP/ISUP protocol provided by the driver, this configuration item
must be set;
z This configuration item shall be used to set all digital trunks allocated by the central
office one by one.
[ISUPRouter]
Example DPC[0]:CIC_PCM[0]=IP[0],LocalPCM[0]
DPC[1]:CIC_PCM[1]=IP[0],LocalPCM[1]
4.3.10.1 ConfigAsGateway
Configuration Item ConfigAsGateway
Section [Monitor]
Written Format ConfigAsGateway=n
n=0: no (default)
Value Range
n=1: yes
Determines whether to load the SynCTI driver at the start of the SS7 server. If no Synway
boards are installed in the server, this configuration item shall be set to 0; if the SHD Series
boards are installed for signaling links, this item must be set to 1, and in such case the SS7
server will automatically load the SynCTI driver when it is started.
Description When loading the SynCTI driver, the SS7 server uses two configuration files named
ShConfig.ini and ShIndex.ini. The server will search both files under the current directory,
and then under the SynCTI driver installation directory. If they are not found, the server will
fail to start and return error information. Refer to Chapter 4 for the configuration of
ShConfig.ini and ShIndex.ini.
If this configuration item is set to 1, other application programs (if available) running in the
Note
server are not allowed to load the SynCTI driver.
4.3.11.1 RcvMsuListMaxItem
Refer to TxMsuListMaxItem.
4.3.11.2 TxMsuListMaxItem
RcvMsuListMaxItem
Configuration Item
TxMsuListMaxItem
Section [Monitor]
RcvMsuListMaxItem=n //used for messages from the client to the server
Written Format
TxMsuListMaxItem=m //used for messages from the SP/STP to the server
n,m: The maximum number of the messages allowed to be displayed, with the default
Value Range
value of 50.
The SS7 server can display the messages from the SP/STP or the client on the screen. The
configuration item is used to set the maximum number of the messages allowed to be
displayed.
Description
TxMsuListMaxItem is used to set the maximum number for the messages from the client to
the server while RcvMsuListMaxItem is to set the maximum number for the messages from
the SP/STP to the server.
4.3.12.1 EnDisplayL32Msu
Configuration Item EnDisplayL32Msu
Section [Monitor]
Written Format EnDisplayL32Msu=n
n=0: disable (default)
Value Range
n=1: enable
Description Display sent message.
4.3.12.2 EnDisplayL23Msu
Configuration Item EnDisplayL23Msu
Section [Monitor]
Written Format EnDisplayL23Msu=n
n=0: disable (default)
Value Range
n=1: enable
Description Display received message.
4.3.12.3 ShowSNT
Configuration Item ShowSNT
Section [Monitor]
Written Format ShowSNT=n
n=0: disable
Value Range
n=1: enable (default)
Description Display SNT message.
4.3.12.4 ShowSNM
Configuration Item ShowSNM
Section [Monitor]
Written Format ShowSNM=n
n=0: disable
Value Range
n=1: enable(default)
Description Display SNM message.
4.3.12.5 AutoTranslate
Configuration Item AutoTranslate
Section [Monitor]
Written Format AutoTranslate=n
n=0: disable (default)
Value Range
n=1: enable
Description Enables the auto translate feature.
4.3.12.6 WriteToFile
Configuration Item WriteToFile
Section [Monitor]
Written Format WriteToFile=n
n=0: disable (default)
Value Range
n=1: enable
Description Write the displayed message to file.
4.3.12.7 ShowDPCOPC
Configuration Item ShowDPCOPC
Section [Monitor]
Written Format ShowDPCOPC=n
n=0: disable (default)
Value Range
n=1: enable
Description Display DPC and OPC.
4.3.12.8 LogToPcap
Configuration Item LogToPcap
Section [Monitor]
Written Format LogToPcap=n
n=0: disable (default)
Value Range
n=1: enable
Sets whether to output the PCAP file which is converted from the MSU file while outputting a
Description
log file.
4.3.12.9 HeartTimeOut
Configuration Item HeartTimeOut
Section [Ss7SystemConfig]
Written Format HeartTimeOut=n
Value Range n>0, calculated by s, with the default value of 60.
Sets the heartbeat timeout value for the connection of the PC client and the server under
Description Windows operating system. In case the application system is busy, this parameter should be
set to a value as large as possible to avoid the active disconnection.
4.3.13.1 EnDisplayL32Msu
Configuration Item EnDisplayL32Msu
Section [Monitor]
Written Format EnDisplayL32Msu=n
n=0: disable
Value Range
n=1: enable (default)
Description Display sent message.
4.3.13.2 EnDisplayL23Msu
Configuration Item EnDisplayL23Msu
Section [Monitor]
Written Format EnDisplayL23Msu=n
n=0: disable
Value Range
n=1: enable (default)
Description Display received message.
4.3.13.3 ShowMSU
Configuration Item ShowMSU
Section [Monitor]
Written Format ShowMSU=n
n=0: disable (default)
Value Range
n=1: enable
Description Records the MSU messages to msu.0.log.
4.3.13.4 ShowStatus
Configuration Item ShowStatus
Section [Monitor]
Written Format ShowStatus=n
n=0: disable (default)
Value Range
n=1: enable
Description Records the Link messages to Ss7RunInfo.0.log.
4.3.13.5 ShowSNT
Configuration Item ShowSNT
Section [Monitor]
Written Format ShowSNT=n
n=0: disable (default)
Value Range
n=1: enable
Description Enables the SNT recording feature.
4.3.13.6 ShowSNM
Configuration Item ShowSNM
Section [Monitor]
Written Format ShowSNM=n
n=0: disable (default)
Value Range
n=1: enable
Description Enables the SNM recording feature.
4.3.13.7 AutoTranslate
Configuration Item AutoTranslate
Section [Monitor]
Written Format AutoTranslate=n
n=0: disable (default)
Value Range
n=1: enable
Description Enables the MSU translation feature.
4.3.13.8 LogFileSize
Configuration Item LogFileSize
Section [Monitor]
Written Format LogFileSize=n
Value Range n>0 and n is an integer; the default value is 5
Sets the size of msu.x.log, calculated by M. If the file size is larger than the set value of this
Description configuration item, the message will be sent to the next file. The total number of files is
determined by the configuration item TotalLogFiles.
4.3.13.9 TotalLogFiles
Configuration Item TotalLogFiles
Section [Monitor]
Written Format TotalLogFiles=n
Value Range n>0 and n is an integer; the default value is 1
Sets the maximum number (n+1) of msu.x.log files. When the number of files exceeds the
Description
set value of this configuration item, the earliest file will be overwritten.
4.3.13.10 LogPath
Configuration Item LogPath
Section [Monitor]
Written Format LogPath=S
S indicates the saving path of the log file. It should be less than 256 characters and its
Value Range
default value is /var/log/ss7log.
Description Sets the saving path of msu log, pcap log and Ss7RunInfo log. It must be an existing path.
4.3.13.11 LogToPcap
Configuration Item LogToPcap
Section [Monitor]
Written Format LogToPcap=n
n=0: disable (default)
Value Range
n=1: enable
Description Records the msu message to PCAP file.
4.3.13.12 WriteToFile
Configuration Item WriteToFile
Section [Monitor]
Written Format WriteToFile=n
n=0: disable
Value Range
n=1: enable (default)
Description Write the displayed message to msu file.
4.3.13.13 ShowDPCOPC
Configuration Item ShowDPCOPC
Section [Monitor]
Written Format ShowDPCOPC=n
n=0: disable (default)
Value Range
n=1: enable
Description Display DPC and OPC.
For a digital board using SS7(TUP/ISUP), both the Test program (client application) and the Ss7Monitor program
should be started. Ss7Monitor.exe is responsible for data transmission at MTP1-3 the bottom layer of SS7. At
present, a signal machine supports only one Ss7Monitor program but more than one Test program (client
application) to be started. Using the configuration item MultiCardMultiProcess, you can set to determine whether
the SynCTI driver supports multiprocessing with multi boards or not. If you set MultiCardMultiProcess to 1, more
than one Test program (client application) is allowed to run in the machine.
See the specific example below for details:
Suppose there were two SHD-120D-CT/PCI boards inserted in a machine and the configuration item
MultiCardMultiProcess was set to 1. Then three files would be generated, including two independent shconfig.ini
files and one ss7server.ini file. First configure the self-loop ISUP call as usual. Then modify some configuration
files as follows:
ss7server.ini before modification:
[Ss7ClientInfo]
MaxSs7Client=2
IP[0] = 127.0.0.1
IP[1] = 127.0.0.1
……
ss7server.ini after modification:
[Ss7ClientInfo]
MaxSs7Client=2
IP[0] = 127.0.0.1-0
IP[1] = 127.0.0.1-1
……
[SS7]
Ss7ServerIP = 127.0.0.1
LocalIP = 127.0.0.1-0
Modify and save the above configurations. Then start ss7monitor.exe and two Test programs.
The figure below shows the smallest system composed of a computer and one SHD Series board installed on it.
Ss7Monitor.exe
(Ss7Server.ini)
PBX
SS7 Application System OPC=4.5.6
OPC=1.2.3
Take the TUP protocol for example. Provided the board used is SHD-60A-CT/SS7/PCI, if as shown above, on the
1st digital trunk, TS16 serves as the signaling link while other 30 time slots work as voice paths, on the 2nd digital
trunk, all unused times slots except TS 16 serve as voice paths, the system is configured as follows:
Ss7Server.ini ShConfig.ini
……
[Ss7SystemConfig] [SS7]
[Ss7ClientInfo] [PcmInfo]
MaxSs7Client=1 TotalPcm=2
IP[0]=127.0.0.1 Pcm[0]=0,0
Pcm[1]=0,1
[Ss7PcmLinkInfo]
[BoardId=0]
MaxSs7Pcm=1
Ss7PcmLink[0]=IP[0],LocalPCM[0] ……
PcmNumber=2
[LinkSetInfo]
PcmSSx[0]=7 //SS7
MaxLinkSet=1
Application System
OPC=1.2.3 …
Take the TUP protocol for example. Assuming that the system contains 4 E1/T1 links (established via 2 boards)
and 1 16-channel station board: as to both the 1st and the 2nd boards, the 1st PCM is the link to transport both
signaling and voices while the 2nd PCM serves as the pure voice path, it is configured as follows.
Ss7Server.ini ShConfig.ini
……
[Ss7SystemConfig] [SS7]
OPC=1.2.3 Ss7ServerIP=127.0.0.1
ServerIP=127.0.0.1 LocalIP=127.0.0.1
[Ss7ClientInfo] [PcmInfo]
MaxSs7Client=1 TotalPcm=4
IP[0]=127.0.0.1 Pcm[0]=0,0
Pcm[1]=0,1
[Ss7PcmLinkInfo]
Pcm[2]=1,0
MaxSs7Pcm=2 Pcm[3]=1,1
Ss7PcmLink[0]=IP[0],LocalPCM[0]
[BoardId=0]
Ss7PcmLink[1]=IP[0],LocalPCM[2]
……
[LinkSetInfo]
PcmNumber=2
MaxLinkSet=1
PcmSSx[0]=7
LinkSet[0]=Ss7PcmLink[0]+Ss7PcmLink[1]
PcmClockMode[0]=0 //master clock, line synchronization
[DPCInfo]
PcmSSx[1]=7
MaxDPC=1 PcmClockMode[1]=2 //slave clock
DPC[0]=4.5.6,LinkSet[0]
[BoardId=1]
[TUPRouter]
……
DPC[0]:CIC_PCM[0]=IP[0],LocalPCM[0] PcmNumber=2
DPC[0]:CIC_PCM[1]=IP[0],LocalPCM[1]
PcmSSx[0]=7
DPC[0]:CIC_PCM[2]=IP[0],LocalPCM[2]
PcmClockMode[0]=2 //slave clock
DPC[0]:CIC_PCM[3]=IP[0],LocalPCM[3]
PcmSSx[1]=7
PcmClockMode[1]=2 //slave clock
……
Ss7Monitor.exe
(Ss7Server.ini)
AppXXX.exe
(ShCti.ini) E1/T1 Signaling+Voice
ShD-XX0A/SS7
TCP/IP
Voice
AppXXX.exe
(ShCti.ini)
ShD-XX0A/SS7 PBX
OPC=4.5.6
ShD-XX0A/SS7
Assume that the system contains 2 devices: the SS7 sever and the application program running at one time in
Device 1; Device 2 serving as the Client of Device 1. Device 1 covers 2 digital trunks: on the 1st digital trunk, TS16
serves as the signaling link while other 30 time slots work as voice paths; on the 2nd digital trunk, all unused times
slots except TS16 serve as voice paths. Device 2 also contains 2 digital trunks, with all of the 30×2 time slots
serving as voice paths. Taking the TUP protocol for example, such a system is configured as follows.
Ss7Server.ini ShConfig.ini
……
[Ss7SystemConfig] [SS7]
MaxSs7Client=2
IP[0]= 201.123.123.1
IP[1]= 201.123.123.2
[Ss7PcmLinkInfo]
MaxSs7Pcm=1
Ss7PcmLink[0]=IP[0],LocalPCM[0]
[LinkSetInfo]
MaxLinkSet=1
LinkSet[0]=Ss7PcmLink[0]
[DPCInfo]
MaxDPC=1
DPC[0]=4.5.6,LinkSet[0]
[TUPRouter]
DPC[0]:CIC_PCM[0]=IP[0],LocalPCM[0]
DPC[0]:CIC_PCM[1]=IP[0],LocalPCM[1]
DPC[0]:CIC_PCM[2]=IP[1],LocalPCM[0]
DPC[0]:CIC_PCM[3]=IP[1],LocalPCM[1]
For high system reliability, we suggest the use of a computer as the separate SS7 server and the run of application
programs on other one or more computers as shown below.
OPC=1.2.3
Ss7Monitor.exe
(Ss7Server.ini)
E1/T1 Signaling
ShD-XX0A/SS7
SS7 Server
(IP=201.123.123.1)
Voice 5
6
TCP/IP ShD-XX0A/SS7 7
AppXXX.exe
(ShCti.ini) 8
ShD-XX0A/SS7
PBX
PC=4.5.6
Application System
(IP=201.123.123.2)
In the figure above, Device 1 only processes signaling, which requires not only the SS7 server but also the SynCTI
driver loaded for the board only supporting signaling links, while the application system serves as the client.
Assuming that the separate SS7 server has 2 digital trunks, with only TS16 being in use, and Device 2 covers 4
digital trunks, consecutively numbered as 5, 6, 7, 8 by the central office in the TUP protocol, the system is
configured as follows.
Ss7Server.ini ShConfig.ini
……
[Ss7SystemConfig] [SS7]
MaxSs7Client=2
IP[0]= 201.123.123.1
IP[1]= 201.123.123.2
[Ss7PcmLinkInfo]
MaxSs7Pcm=2
Ss7PcmLink[0]=IP[0],LocalPCM[0]
Ss7PcmLink[1]=IP[0],LocalPCM[1]
[LinkSetInfo]
MaxLinkSet=1
LinkSet[0]=Ss7PcmLink[0]+ Ss7PcmLink[1]
[DPCInfo]
MaxDPC=1
DPC[0]=4.5.6,LinkSet[0]
[TUPRouter]
DPC[0]:CIC_PCM[5]=IP[1],LocalPCM[0]
DPC[0]:CIC_PCM[6]=IP[1],LocalPCM[1]
DPC[0]:CIC_PCM[7]=IP[1],LocalPCM[2]
DPC[0]:CIC_PCM[8]=IP[1],LocalPCM[3]
[Monitor]
Assume that the application system involves two SHD-60A-CT/PCI/SS7 boards, each of which has the time slots
TS 1~15,17~31 on its 2 digital trunks serving as voice paths, TS16 on the 1st digital trunk being the signaling link,
and TS16 on the 2nd digital trunk being unused. These 2 boards are respectively connected to 2 PBXes with
different DPC. Taking the TUP protocol for example, such a system is configured as follows.
Ss7Server.ini ShConfig.ini
[Ss7SystemConfig] ……
OPC=1.2.3 [PcmInfo]
ServerIP=127.0.0.1 TotalPcm=4
[Ss7ClientInfo] Pcm[0]=0,0
Pcm[1]=0,1
MaxSs7Client=1
Pcm[2]=1,0
IP[0]= 127.0.0.1 //the IP address of the client
Pcm[3]=1,1
[Ss7PcmLinkInfo]
[BoardId=0]
MaxSs7Pcm=2
……
Ss7PcmLink[0]=IP[0],LocalPCM[0]
PcmNumber=2
Ss7PcmLink[1]=IP[0],LocalPCM[2]
PcmSSx[0]=7
[LinkSetInfo]
PcmSSx[1]=7
MaxLinkSet=2 PcmClockMode[0]=0 //master clock, line synchronization
LinkSet[0]=Ss7PcmLink[0] PcmClockMode[1]=2 //slave clock
LinkSet[1]=Ss7PcmLink[1]
[BoardId=1]
[DPCInfo]
……
MaxDPC=2
PcmNumber=2
DPC[0]=4.5.6,LinkSet[0]
DPC[1]=7.8.9,LinkSet[1] PcmSSx[0]=7
PcmSSx[1]=7
Assume that the application system involves two SHD-60A-CT/PCI/SS7 boards. The 1st PCM serves as the link for
both signaling and voices (TS16 is the signaling time slot) while the 2nd PCM works as the pure voice path. These
two PCM correspond to a same OPC. Likewise, the 3rd PCM serves as the link for both signaling and voices (TS16
is the signaling time slot) while the 4th PCM works as the pure voice path. These two PCMs correspond to another
OPC. Taking the TUP protocol for example, such a system is configured as follows.
Ss7Server.ini ShConfig.ini
[Ss7SystemConfig] ……
OPC=1.2.3 [PcmInfo]
ServerIP=127.0.0.1 TotalPcm=4
[Ss7ClientInfo] Pcm[0]=0,0
Pcm[1]=0,1
MaxSs7Client=1
Pcm[2]=1,0
IP[0]=127.0.0.1
Pcm[3]=1,1
[Ss7PcmLinkInfo]
[BoardId=0]
MaxSs7Pcm=2
……
Ss7PcmLink[0]=IP[0],LocalPCM[0]
PcmNumber=2
Ss7PcmLink[1]=IP[0],LocalPCM[2]
PcmSSx[0]=7
[LinkSetInfo]
PcmSSx[1]=7
MaxLinkSet=2 PcmClockMode[0]=0 //master clock, line synchronization
LinkSet[0]=Ss7PcmLink[0],1.2.3 PcmClockMode[1]=2 //slave clock
LinkSet[1]=Ss7PcmLink[1],4.5.6
[BoardId=1]
[DPCInfo]
……
MaxDPC=2
PcmNumber=2
DPC[0]=7.8.9,LinkSet[0]
DPC[1]=7.8.9,LinkSet[1] PcmSSx[0]=7
PcmSSx[1]=7
[TUPRouter]
PcmClockMode[0]=2 //slave clock
DPC[0]:CIC_PCM[0]=IP[0],LocalPCM[0] PcmClockMode[1]=2 //slave clock
DPC[0]:CIC_PCM[1]=IP[0],LocalPCM[1]
DPC[1]:CIC_PCM[0]=IP[0],LocalPCM[2]
DPC[1]:CIC_PCM[1]=IP[0],LocalPCM[3]
The SS7 server developed by Synway supports the warm back-up mode, bringing the carrier-class reliability to the
application system. The figure below illustrates a typical high-reliability application system.
ShD-XX0A/SS7
As shown in the figure above, two SS7 servers, each of which has an SHD board installed in it and only uses the
signaling time slot on the digital trunk (i.e. does not process voice data), run at one time and share the same point
code (OPC=1.2.3), providing signaling services to the voice processing system. One serves as the Master server
while the other as the Slave server. Once something wrong happens to the master server, the slave server will
automatically take over all signaling services from it.
The rules below shall be followed to run the master and slave servers.
1. Use the first-started SS7 server as the master server and the other as the slave server.
2. While both servers are running well, the slave server will automatically become the master server if the
master server fails, and will be the slave server again once the original master server recovers into a
normal use.
3. It is allowed to switch manually between the master and slave servers while both servers are running.
The voice processing system consist of one or more computers and the SHD boards installed on them, and
acquires signaling services from the server via the local area network (LAN). Therefore, it does not rely on the
client computer to run the SS7 server.
¾ Master SS7 server (referred to as S1 for short) Configuration Files (including Ss7Server.ini and ShConfig.ini)
Ss7Server.ini ShConfig.ini
……
[Ss7SystemConfig]
[PcmInfo]
OPC=1.2.3
TotalPcm=1
ServerIP=201.123.123. 1 //the IP address of S1
Pcm[0]=0,0
SecondServerIP=201.123.123.2 //the IP address of S2
…… [BoardId=0]
……
[Ss7ClientInfo]
PcmNumber=1
MaxSs7Client=3 PcmSSx[0]=7
IP[0]=201.123.123.1 //signaling link processing program PcmClockMode[0]=0 //master clock, line synchronization
IP[1]=201.123.123.2 //signaling link processing program
[SS7]
IP[2]=201.123.123.3 //the IP address of the client
Ss7ServerIP=201.123.123.1 //the IP address of S1
[Ss7PcmLinkInfo]
SecondServerIP=201.123.123.2 ///the IP address of S2
MaxSs7Pcm=2 LocalIP= 201.123.123.1 //the IP address of the local PC
……
Ss7PcmLink[0]=IP[0],LocalPCM[0]
Ss7PcmLink[1]=IP[1],LocalPCM[0]
[LinkSetInfo]
MaxLinkSet=1
LinkSet[0]=Ss7PcmLink[0]+ Ss7PcmLink[1]
[DPCInfo]
MaxDPC=1
DPC[0]=4.5.6,LinkSet[0]
TUP protocol
DPC[0]:CIC_PCM[0]=IP[2],LocalPCM[0]
DPC[0]:CIC_PCM[1]=IP[2],LocalPCM[1]
ISUP protocol
DPC[0]:CIC_PCM[0]=IP[2],LocalPCM[0]
DPC[0]:CIC_PCM[1]=IP[2],LocalPCM[1]
[Monitor]
¾ Slave SS7 Server (referred to as S2 for short) Configuration Files (including Ss7Server.ini and ShConfig.ini)
Ss7Server.ini ShConfig.ini
……
[Ss7SystemConfig]
[PcmInfo]
OPC=1.2.3
TotalPcm=1
ServerIP=201.123.123.2 //the IP address of S2
Pcm[0]=0,0
SecondServerIP=201.123.123.1 //the IP address of S1
…… [BoardId=0]
[Ss7ClientInfo] ……
PcmNumber=1
MaxSs7Client=3
PcmSSx[0]=7
IP[0]= 201.123.123.1 //signaling link processing program
PcmClockMode[0]=0 //master clock, line synchronization
IP[1]= 201.123.123.2 //signaling link processing program
IP[2]= 201.123.123.3 //the IP address of the client [SS7]
[LinkSetInfo]
MaxLinkSet=1
LinkSet[0]=Ss7PcmLink[0]+ Ss7PcmLink[1]
[DPCInfo]
MaxDPC=1
DPC[0]=4.5.6,LinkSet[0]
TUP protocol
DPC[0]:CIC_PCM[0]=IP[2],LocalPCM[0]
DPC[0]:CIC_PCM[1]=IP[2],LocalPCM[1]
ISUP protocol
DPC[0]:CIC_PCM[0]=IP[2],LocalPCM[0]
DPC[0]:CIC_PCM[1]=IP[2],LocalPCM[1]
[Monitor]
……
[PcmInfo]
TotalPcm=1
Pcm[0]=0,0
[BoardId=0]
……
PcmNumber=2
PcmSSx[0]=7
PcmSSx[1]=7
PcmClockMode[0]=0 //master clock, line synchronization
PcmClockMode[1]=2 //slave clock
[SS7]
Ss7Monitor.exe
(Ss7Server.ini)
AppXXX.exe
(ShConfig.ini) E1/T1(Signaling)
ShD-XX0A/SS7
SS7 Server
(IP=201.123.123.1)
TCP/IP
AppXXX.exe
(UserNo7.ini)
E1/T1(Voice) PBX
3rd Party Board DPC=4.5.6
In the figure above, the SS7 server uses a Synway board to process signaling and the service processing system
controls the third-party board. In this way, the signaling messages are acquired from the SS7 server via the TCP/IP
protocol. Assuming that the digital trunks connected to the SS7 server have voice time slots, the data on those time
slots can be exchanged to another digital trunk interface so as to reach the application system with the help of the
Synway board’s TDM capability which is enabled via the configuration item LoadShp_a3AsSIU, as illustrated
above by dotted lines. Taking the TUP protocol for example, such a system is configured as follows.
Ss7Server.ini ShConfig.ini
[Ss7SystemConfig] ……
OPC=1.2.3
[SystemConfig]
ServerIP=201.123.123.1
LoadShp_a3AsSIU=1 //specify the time slot to output voice data
[Ss7ClientInfo]
MaxSs7Client=2 ……
IP[0]= 201.123.123.1 [PcmInfo]
IP[1]= 201.123.123.2
TotalPcm=1
[Ss7PcmLinkInfo] Pcm[0]=0,0
MaxSs7Pcm=1 [BoardId=0]
Ss7PcmLink[0]=IP[0],LocalPCM[0]
PcmNumber=1
[LinkSetInfo] PcmSSx[0]=7
MaxLinkSet=1 PcmClockMode[0]=0 //master clock, line synchronization
LinkSet[0]=Ss7PcmLink[0]
[DPCInfo]
MaxDPC=1
DPC[0]=4.5.6,LinkSet[0]
[TUPRouter]
DPC[0]:CIC_PCM[0]=IP[1],LocalPCM[0]
[Monitor]
¾ UserNo7.ini (the configuration file for the application program based on the third-party board which is using
the client of the SS7 server SDK)
[SystemConfig]
TotalPcm=2
DefaultPcmLinkStatus=0x0000
……
[AppChToPcmTsTable]
TotalAppCh=60
AppCh[0]=0,1..15
AppCh[15]=0,17..31
AppCh[30]=1,1..15
AppCh[45]=1,17..31
[SS7]
Ss7Monitor.exe LinkSet[0]
(Ss7Server.ini)
AppXXX.exe
(ShConfig.ini) ShD-XX0A/SS7 PBX
STP=1.3.3 SP=4.6.6
LinkSet[1]
Voice Processing System ShD-XX0A/SS7
OPC=7.8.9
As shown in the figure above, assume that the application system is composed of two SHD-120A/SS7 boards, with
the 1st one only processing the signaling on the 4 digital trunks (the logical PCM numbers are respectively 0, 1, 2, 3,
and TS16 on each trunk is the signaling time slot) and the 2nd one processing the voice data on the 4 digital trunks.
Taking the TUP protocol for example, such a system is configured as follows.
Ss7Server.ini ShConfig.ini
……
[Ss7SystemConfig]
[PcmInfo]
OPC=7.8.9
ServerIP=127.0.0.1 TotalPcm=8
Pcm[0]=0,0
[Ss7ClientInfo]
Pcm[1]=0,1
MaxSs7Client=1 Pcm[2]=0,2
IP[0]=127.0.0.1 Pcm[3]=0,3
Pcm[4]=1,0
[Ss7PcmLinkInfo]
Pcm[5]=1,1
MaxSs7Pcm=4 Pcm[6]=1,2
Ss7PcmLink[0]=IP[0],LocalPCM[0] Pcm[7]=1,3
Ss7PcmLink[1]=IP[0],LocalPCM[1]
[BoardId=0]
Ss7PcmLink[2]=IP[0],LocalPCM[2]
Ss7PcmLink[3]=IP[0],LocalPCM[3] PcmNumber=4
PcmSSx[0]=7
[LinkSetInfo]
PcmSSx[1]=7
MaxLinkSet=2 PcmSSx[2]=7
PcmSSx[3]=7
LinkSet[0]=Ss7PcmLink[0]+ Ss7PcmLink[1] PcmClockMode[0]=0 //master clock, line synchronization
LinkSet[1]=Ss7PcmLink[2]+ Ss7PcmLink[3] PcmClockMode[1]=2 //slave clock
PcmClockMode[2]=2 //slave clock
[DPCInfo] PcmClockMode[3]=2 //slave clock
Ss7SignalingTS[0]=16 //TS16 used as the signaling time slot
MaxDPC=2
UseTS16AsCircuit[0]=0
DPC[0]=1.2.3,LinkSet[0]
Ss7SignalingTS[1]=16 //TS16 used as the signaling time slot
DPC[1]=1.3.3,LinkSet[1]
UseTS16AsCircuit[1]=0
[UP_DPCInfo] Ss7SignalingTS[2]=16 //TS16 used as the signaling time slot
UseTS16AsCircuit[2]=0
MaxUP_DPC=2 Ss7SignalingTS[3]=16 //TS16 used as the signaling time slot
UP_DPC[0]=4.5.6,LinkSet[0]+LinkSet[1] //load sharing UseTS16AsCircuit[3]=0
UP_DPC[1]=4.6.6,LinkSet[1]+LinkSet[0],1 //Signaling ……
Link Set 1 serves as the normal route while Signaling Link
Set 0 as the alternate route. [BoardId=1]
[TUPRouter] PcmNumber=4
PcmSSx[0]=7
UP_DPC[0]:CIC_PCM[1]=IP[0],LocalPCM[4]
PcmSSx[1]=7
UP_DPC[0]:CIC_PCM[2]=IP[0],LocalPCM[5]
PcmSSx[2]=7
UP_DPC[1]:CIC_PCM[1]=IP[0],LocalPCM[6]
PcmSSx[3]=7
UP_DPC[1]:CIC_PCM[2]=IP[0],LocalPCM[7]
PcmClockMode[0]=2 //slave clock
…… PcmClockMode[1]=2 //slave clock
PcmClockMode[2]=2 //slave clock
PcmClockMode[3]=2 //slave clock
……
Appendix 801
Synway Information Engineering Co., Ltd
Appendix 802
Synway Information Engineering Co., Ltd
Appendix 803
Synway Information Engineering Co., Ltd
Appendix 804
Synway Information Engineering Co., Ltd
Appendix 805
Synway Information Engineering Co., Ltd
Appendix 806
Synway Information Engineering Co., Ltd
Appendix 807
Synway Information Engineering Co., Ltd
0000: User
0001: Private network serving the local user
0010: Public network serving the local user
0011: Transit network
0100: Public network serving the remote user
0101: Private network serving the remote user
0111: International network
1010: Network beyond interworking point
4) Cause Value (Partial)
000 0001: Unallocated number
000 0010: No route to specified transit network
000 0011: No route to destination
000 0100: Send special information tone
000 0101: Misdialed trunk prefix
001 0000: Normal call clearing
001 0001: User busy
001 0010: No user responding
001 0011: No answer from user
001 0101: Call rejected
001 0110: Number changed
001 1011: Destination out of order
001 1100: Invalid number format
001 1101: Facility rejected
001 1111: Normal
010 0010: No circuit available
010 0110: Network out of order
010 1001: Temporary Failure
010 1010: Switching equipment congestion
010 1100: Requested circuit not available
010 1111: Resource unavailable
101 1000: Incompatible destination
Appendix 808
Synway Information Engineering Co., Ltd
Appendix 809
Synway Information Engineering Co., Ltd
Appendix 810
Synway Information Engineering Co., Ltd
Appendix 811
Synway Information Engineering Co., Ltd
Appendix 812
Synway Information Engineering Co., Ltd
Appendix 813
Synway Information Engineering Co., Ltd
Appendix 814
Synway Information Engineering Co., Ltd
Appendix 815
Synway Information Engineering Co., Ltd
IAM
ACM
Ringback Tone
ANM
RLC
RLC
IAM
RLC
Appendix 816