Code : STM#340Code : STM#340
Samsung Electronics Co., Ltd.
What’s TSP ?What’s TSP ?
Distribution
EnglishED01
© Samsung Electronics Co., Ltd. 2
ObjectivesObjectives
After successful completion of the course the trainees should be able to execute the following activities.
© Samsung Electronics Co., Ltd. 3
1. What is TSP ? 1. What is TSP ?
PurposeA telephony service provider (TSP) is a dynamic-link library (DLL) that supports communications device control through a set of exported service functions. A TAPI application uses standardized commands, TAPI Service passes information to the telephony service provider, and the TSP handles the specific commands that must be exchanged with the device.
A TSP must conform to the Telephony Service Provider Interface (TSPI) to function as a service provider within the Microsoft Telephony environment. TSPI defines the external functions exposed by a telephony service provider supplied with communications equipment.
© Samsung Electronics Co., Ltd. 4
2. TSP2. TSP
Telephony Service Provider (= Device Driver)
One of TAPI Components made and delivered by 3rd Party Device Vender or Switch Vender
DLL (Dynamic Linking Library) supporting a set of exported service functions
(= TSPI_XXXX Function’s Body)
All telephony service providers execute in the TAPISRV process (Telephony Service) as DLL
Give Application the following interfacehow to control the specific physical telephony device
© Samsung Electronics Co., Ltd. 5
3. App - TAPI - TSP Relation3. App - TAPI - TSP Relation
TAPI Application interacts with TAPI Service and TSP using TAPI function.
TSP is located as a TAPI components on the Windows OS.
Tapi Service is a default service of Windows OS.Telephony
Application
TAPIService
TelephonyServiceProvider
TAPI
TSPI
Phone System(PBX, Key Telephone System etc.)
Window based PC
© Samsung Electronics Co., Ltd. 6
4. TSP Interfaces4. TSP Interfaces
TSP has two interfaces TSPI interface to TAPI Service Side
Proprietary CTI Protocol Interface to Switch Side
(as Cti Commands / Events)
TSP
TSPI Function Call
TAPI Service
TAPI Compatible Applications
Switch System (Device)
CTI Command
TAPI Function Call
Call Event
TAPI Event
TAPI Event
Run as a Single Process
Use TSPI Function Specification(defined by Microsoft)
Use the Proprietary Protocol as a CTI Link(defined by Vender)
TSPI_XXXX { }
Command
Translation
Event
TAPI Event
Translation
© Samsung Electronics Co., Ltd. 7
5. Roles Of TSP5. Roles Of TSP
a Role as the Translator between TAPI Compatible Applications and the real Switch / Device.
TAPI Request Switch Side Action (thought TSPI_XXXX)
Switch Side Action Application (TAPI Event)
Has two interfaces.To TAPI Side – TSPI_XXXXTo Switch Side – Proprietary CTI Protocol
© Samsung Electronics Co., Ltd. 8
6. Multiple TSPs on one system.6. Multiple TSPs on one system.
3rd Party TSPSamsung OpenTSP
Dialogic TSP etc
Windows Default TSPsH323.TSP
IPConf TSP
Kernel-Mode Device Driver TSP
NDIS Proxy TSP
Remote TSP
Unimodem.TSP
Monitor
TAPI Service
Tapi CompatibleApplication
A
Tapi CompatibleApplication
B
Tapi CompatibleApplication
C
3rd Party.TSPWindowsDefautITSP
WindowsDefautITSP
WindowsDefautITSP
WindowsDefautTSPs
© Samsung Electronics Co., Ltd. 9
7. What is OpenTSP ?7. What is OpenTSP ?
TSP Driver for Samsung Keyphone SwitchTAPI 2.x / TAPI 3.x Compatible (Legacy Telephony Driver)Just only support line_XXXX type TAPI function.(not support phone_XXXX type function)Can be used at All latest Windows OS Systems- Win98, Me, NT, 2000, XP, 2003 or laterAll TAPI Compatible Application Vender can use this OpenTSP for its own purpose.- Samsung CTI Solutions (call, operator, ACD etc)- Tapi Compatible PIMs (Outlook, ACT, Phone Dialer)- 3rd party vender’s full CTI Solutions (ARC)
© Samsung Electronics Co., Ltd. 10
8. How to install OpenTSP8. How to install OpenTSP
OpenTSP Installation meansCopy the Physical TSP File into your system folder (OpenTSP File : SCTSP32.TSP)
Register its information at the telephony configuration of your system
See the Install Guide of OpenTSPChap. 2 – 1.1 Installtion Condition / 1.2) Install Step
© Samsung Electronics Co., Ltd. 11
9. OpenTSP Configuration9. OpenTSP Configuration
By Control Panel
By OpenTSP Config Tool
Configuration ItemIP Address
Port No
Trace Mode
© Samsung Electronics Co., Ltd. 12
10. Dependency Issue10. Dependency Issue
Refer to the Installation Guide of OpenTSPInstalltation Condition
© Samsung Electronics Co., Ltd. 13
11. OfficeServ Link11. OfficeServ Link
To support multiple CTI S/W at the same time (key role)Keyphone system can’t support multiple CTI Connection( just 1 cti connection at 5002.)
There are many cti S/Ws that need this cti connection at the same time (Call/Operator/ OpenTSP/EaysSet/News/DataView etc)
To support License Check Feature for All CTI S/Ws
© Samsung Electronics Co., Ltd. 14
12. OpenTSP – OfficServ Link12. OpenTSP – OfficServ Link
OfficServ Link
OpenTSP No. 1 OpenTSP No. 2 OpenTSP No. 3 OpenTSP No. 4 OpenTSP No. N
Switch System
© Samsung Electronics Co., Ltd. 15
13. Software Map13. Software Map
3rd Party TAPI Compatible S/Wsuch as Outlook
Tapi Service
OpenTSP
Win98/ME/2000/XP/2003 XP/Win2000/2003 2000/XP/2003 Any PC
OfficeServ Link SIO, TCP/IP
TCP / IP
EasySet Server
(Web Server)
Web Client Web Client
<< OfficeServ Link and S/W Map >>
ACD Server
ACDAgent
ACDAgent
ACDAgent
ACDAgent
OfficeSerc Call / CallPlus /BLF
OfficreServ Operator DataView
CallPro Messenger
© Samsung Electronics Co., Ltd. 16
14. How to run OpenTSP14. How to run OpenTSP
Just only By Application and TAPI ServiceApplication just call lineInitialize() with some parameters.
TAPI Service calls TSPI_ProviderEnumDevice() and TSPI_providerInit().
Within TSPI_providerEnumDevice(), all internal threads of OpenTSP will be executed.
Each thread has a role for processing some functions
© Samsung Electronics Co., Ltd. 17
15. TSP Load Flow – 1)15. TSP Load Flow – 1)
Application
lineInitialize()
TAPI Service
Load All registered TSPsand Call TSPI_ProviderEnumDevice()
/ TSPI_providerInit() to each TSP
Other TSPs OpenTSP
© Samsung Electronics Co., Ltd. 18
15. TSP Load Flow – 2)15. TSP Load Flow – 2)
Create Socekt Handle
Make a Connection with OfficeServ Link
Make a Connection with OfficeServ Link
Read Config Data(OfficeServ Link IP Address / Port No / Trace Type)
Run Each Thread Service Controller
Event Handler
I/O Queue Handler
Line Handler
Config Data
Return the Available Device Count of OpenTSP
TSPI_providerEnumDevice()
Re- Calcurate the line sequence of the available device list
TSPI_providerInit()
© Samsung Electronics Co., Ltd. 19
16. Configuration Download16. Configuration Download
OpenTSP Link / Switch
I'm Alive
Alive ResponseDevice List Download
Device List Download
Device List Download
Download Complete
lineInitializeproviderEnumDevice
return enumdeviceOther Info Request
Info Response
TCP / IP Connection
© Samsung Electronics Co., Ltd. 20
17. After loading TSP17. After loading TSP
Tapi Application / TAPI Service
OpenTSP Link / Switch
lineInitialize InitInstance
TSPI_providerEnumDevice
TSPI_providerInit
lineGetDevCaps TSPI_lineGetDevCaps
CTI Link Setup & Device Download
lineOpen TSPI_lineOpen
lineSetStatusMessage TSPI_lineSetStatusMessage
lineGetLineDevStatus TSPI_lineGetLineDevStatus
Query Msg WaitQuery Callback
Query Station LockQuery DND
Query Vacant Station MsgQuery Forward
lineGetAddressStatus TSPI_lineGetAddressStatusQuery DND
Query Vacant Station MsgQuery FWD
lineNegotiateAPIVersion TSPI_lineNegotiateTSPIVersion
lineNegotiateExtVersion TSPI_lineNegotiateExtVersion
Get the line properties before opening line object
Initial Step for loading OpenTSP
open line object and use it for call control.
© Samsung Electronics Co., Ltd. 21
18. OpenTSP Architecture18. OpenTSP Architecture
TAPI SERVICE
LINE HANDLERLINE DEVICE
LINE DEVICE LIST EVENT HANDLER
IOQUEUEHANDLER
COMMUNICATION PORT
TCP/IPCOMMUNICATION
OfficeServ Link
CALLOBJ
CALLOBJ
CALLOBJ
CALLOBJ
SERVICE CONTROLLER
INITIALIZE/TERMINATE
INITIALIZE/TERMINATE
EVENT SENDER EVENT RECEIVER
COMMANDMAKER
COMMAND SEND EVENT RECEIVE
COMMUNICATION PORT
OUTPUTQUEUE
INPUTQUEUE
COMMAND READ EVENT WRITE
EVENTREAD
EVENT ANALYZE & REPORT
INITIALIZE/TERMINATEOR
CTI LINK CHECKING
CALL OBJ ECT LIST
COMMANDWRITE
FUNCTIONCALL
APP2 APP3APP1
I Telephony API
TelephoneLines
CTI LINK
INITIALIZE
<OpenTSP ARCHITECTURE>
TSPI LIBRARY
FUNCTION CALL
FUNCTION CALL
RETURN
RETURN
KeyphoneSystem
© Samsung Electronics Co., Ltd. 22
19. How to unload OpenTSP19. How to unload OpenTSP
Close all opened lines by calling lineClose()
Application calls lineShutdown()
If there is no application using OpenTSP, TAPI Service will unload the instance of OpenTSP by calling TSPI_lineShutdown().
During processing TSPI_lineShutdown(), OpenTSP will close the current TCP / IP Connection and kill all internal threads
“Unload” means the instance of TSP (as DLL) is removed from the memory area of TAPI Service
© Samsung Electronics Co., Ltd. 23
20. OpenTSP LifeCycle20. OpenTSP LifeCycle
OpenTSP Link/Switch
TSP/IP Connection Request
Alive Command 'a'
Connect RejectInitialize Fail
TAPI Compatible Application / TAPI
lineInitialize
Alive ACK 'a'
Device List 'A'
Device List 'A'
Device List 'A'
Download Complete
Initialize SuccessLine Count
lineOpen
Tapi Function Command
Call Event
Response
Kill CommandlineShoutdown
LifeCycle
Call Event
lineClose
OpenTSPUnloaded
OpenTSPLoadedLoad
TSP
UseTSP
KillTSP
© Samsung Electronics Co., Ltd. 24
21. OpenTSP Function List21. OpenTSP Function List
Basic Telephony ServiceMake / Answer / Drop Calls
Supplementary Telephpny ServiceHold / Transfer / Redirect / Conference etc
Extended Telephony Serviceproprietary services
See P.71 of the OpenTSP Driver User Guide and Supported Function List
© Samsung Electronics Co., Ltd. 25
22. TSP Operation Sample22. TSP Operation Sample
PC
‚
ƒ „
…
OfficeServ Link
CTI Service
Key Telephone System
Ext. 2001 Ext. 2002
†‡ˆ
‰
TAPI Service
Tapi Sampler
OpenTSP Driver
© Samsung Electronics Co., Ltd. 26
23. Operation Description23. Operation Description
1) lineMakeCall : The Tapi Sampler uses the lineMakeCall TAPI function to press Extension 2002 for making a call.
2) TSPI_lineMakeCall : The TAPI service calls the TSPI_lineMakeCall function to the OpenTSP driver after being asked to process the TAPI function.
3) The OpenTSP driver creates the command that can be processed by the key telephone system and forwards it to the OfficeServ Link program in order to perform the functions requested by the TAPI service.
4) The OfficeServ Link forwards the command received from each OpenTSP driver to the key telephone system of Samsung.
5) The key telephone system interprets the forwarded command to make a call from Extension 2001 to Extension 2002.
6) The key telephone system forwards the extension processing results to the OfficeServ Link.
7) The OfficeServ Link forwards the extension processing results received from the key telephone system to the OpenTSP driver.
8) The OpenTSP driver converts the event for the processing results into the form that can be processed by the TAPI service and forwards the event to the TAPI service.
9) The TAPI service forwards the results for TAPI function processing to the Tapi Sampler through the TAPI service.
Once the steps above are completed, the Tapi Sampler offers the call processing results to users through an internal processing module.
Samsung Electronics Co., Ltd.