Toshiba TSPI Description Application Bulleti V2.26

Page 1
Computer Telephony Integration
Application Bulletin
AB50-0012 September 1, 1997

Purpose

Introduction

Microsoft® Windows® Telephony is a component of Windows Open Services Architecture. This architecture provides for the operation of telephony services when connected to many different telephone swit ches. Therefore, an a pplication ne eds to kno w only the def inition of t he API and not its implementation.
The telephony model supplies a DLL component, called TAPI.DLL. This component resides between the Telephony API called by appl icat ions an d the Telephony SPI implement ed for t he specific switch to which the PC is connected. The software applications call TAPI functions that are managed by TAPI.DLL and routed to the Service Provider Interface (e.g., Toshiba’s DKT SPI) for execution. The relationship between these components is shown in Figure 1.
4170117
TSPI Description V2.26
Microsoft Windows PC
Strata DKT
RS-232 Link
RPCI to COM Port
2046
Figure 1 The Telephony API Model and the Strata DK
Toshiba America Information Systems, Inc.
9740 Irvine Bl vd., Ir vin e, CA 92618-1697 (714) 583-3700
TAPI
Service Provider
Telecommunication Systems Division
TAPI
Application # 1
TAPI
DLL
(Windows)
TAPI
Application # 2
1 of 20
Page 2
AB50-0012
TSPI Description V2.26
The Telephone Applications Programming Interface (TAPI) was a joint development of Microsoft and Intel types of telephone systems. The standard allows software developers to create applications without having to worry about how the telephone network interface functions. This interface provides thre e levels of service: Basic, Supplementary, and Extended .Levels of Service

Levels of Service

Basic

Basic Services are centered around Plain Old Telephony Service (POTS) including a set of re­defined call states and information messages which pass events to the application. Features of POTS include answering calls, making calls, numbering plans to support dialing, and the ability to translate numbers based upon type and location of the user.

Supplementary

Supplementary Services provide additional features commonly found in most PBX’s. These include call features such as Call Transferring, Forwarding, Conferencing, Hold, Park, and Pickup. Additional services are defined for interfacing Media Services such as providing interfaces for fax, modems, voice response, and tone detection/generation. Release 2.0 of the TAPI specification includes third party call control services for Automatic Call Distribution (ACD) and future Asynchronous Transfer Mode (ATM).
®
to provide a standard method of connecting Windows based PCs to all
al
i

Extended

Extended Services provide a method to access features and services beyond the Basic or Supplementary Services. TAPI provides for the passing of messages directly between the telephone system and the application. TAPI only passes these messages directly to either end and does not take action or make interpretations of them. The application, therefore, is responsible for the complete interaction of the feature or service provided.

Interfaces

ary an
The Windows Open Syste m Architecture pr ovides two interfaces for Telephony Devices. The TAPI interface provides for the control of calls using a well defined interface and the audio connection is handled in what Microsoft calls a Media Stream. To allow for a standard interface for playing and recording messages, interfacing fax, modem or other devices uses a separate application interface. The WAV API is a common interface that can provide these services in an open manner that can be controlled using the TAPI interface.

Strata DK’s TSPI Model

rel
P
For the application’s developer, the Microsoft standard provides for two device classes: the line device and the phone devic e. Any physical telephonic device recognized by TAPI fits into one of these two classes, and can be treated in a consistent and reliable manner. Strata DK TSPI only supports the line device class. The phone class is for telephone devices controlled by the applicati on.
min
i
d Confident
2 of 20
Strata DK I&M August 1997
Page 3
TSPI Description V2.26

Line Device Model

The Strata DK TSPI models its interface as a single-line device with multiple addresses, each having no more than one call appearance. The specific capabilities of the line device and each of the addresses are explained under the function description for lineGetDevCaps and lineGetAddressCaps.

Phone Device Model

At present, the DKT TSPI does not support the phone device model.

The DKT TSPI Call State Flow

The Toshiba TAPI Service Provider V2.26 provides two options for call state flow. Standard operation has a call state flow shown in Figure 2. When the shared line operation is selected, the call state flow is shown in Figure 3.
AB50-0012
al
i
I-Ring
I-Use
Deallocate Call Handle
Idle
Figure 2 Call State Flow
C-Ring C-Hold
Allocate Call Handle
min
i
Dial Tone
Busy
Offering
BusyLED
OFF
I-Use
d Confident
LED OFF
ary an
Ringback
I-Use
Hold
Busy
ConnectedStart
I-Hold E-Hold
2045
rel
P
Strata DK I&M August 1997
3 of 20
Page 4
AB50-0012
y
TSPI Description V2.26
Dial Tone
I-Use Busy
Deallocate Call Handle
Idle
Figure 3 Call State Diagram for Shared Line Appearance
Table 3-1 Call State Descriptions
Call State LED Flash Color DK16e & DK424 R3
I-Ring C-Ring
Allocate Call Handle
Busy
Unknown
LED OFF
Offering
Busy
I-Use
Busy
C-Hold
LED OFF
Ringback
I-Use
Hold
I-Hold
ConnectedStart
2432
All Other
stems
S
al
i
Idle Steady Off Idle Idle Transferred Calls (1Hz) Green T-Ring Incoming Call 1 (10Hz), 1 Off Green I-Ring I-Ring Hold Recall 1 (2Hz), 1 (10Hz) Green H-Recall H-Recall I-Hold (4Hz) Green I-Hold I-Hold Transf er Ho ld (10Hz) Green T-Hold T-Hold
d Confident
ary an
Exclusive Hold (10Hz) Green E-Hold E-Hold Current Lin e In-Use* I-Use Rate Green I-Use I-Use Common Hold 3/4 On, 1/8 Off Red C-Hold Common Hold (1Hz) Red C-Hold C-Ring, T-Hold Incoming Line Ring (1Hz) Red I-Ring Common Ring (2Hz) Red C-Ring
min
i
rel
Busy Steady On Red Busy Busy
P
*I-Use rate is generated in the phone. The cycle consists of 2 seconds on followed by 1/8 second off, 1/8 second on, 1/8 second off state.
4 of 20
Strata DK I&M August 1997
Page 5
TSPI Description V2.26

System Messages

An application receives information in two ways: solicited and unsolicited. Solicited information is req uest ed by the application through a function call such as lineGetDevCaps or lineGetAddressCaps. Unsolicited information arrives in the form of messages. Often, the two mechanisms are used together, as when an application receives a LINE_CALLSTATE message, after which it checks the infor mation contai ned in th e LINECALLINFO s truct ure b y calling lineGetCallInfo.
Strata DKT TSPI supports the following messages providing unsolicited information:

LINE_CALLSTATE

Sent to an application to notify it about changes in a call’s state.

LINE_LINEDEVSTATE

Sent to the application to notify it about changes in the line status. This message indicates which status item has changed.

LINE_ADDRESSSTATE

The Service Provider follows with this callback message giving changes to the state of any address.
AB50-0012
al
i

LINE_CALLINFO

A callback message that notifies of additional information about the call.

LINE_REPLY

Messages generated for all asynchronous requests. Toshiba DKT TSPI always uses lineMakeCall in this asynchronous manner.

LINE_NEWCALL

A message to notify the application of a new call event arriving.

Startup and Shutdown of TAPI

lineInitialize

An application re gis ters a TAPI connection b y callin g this functio n. This fun ction is not passe d through to the TSPI but handled by TAPI.DLL. One of the main purposes is to establish a pointer to the application’s callback function to allow unsolicited messages to be registered. Two pieces of information is retur ned to the appli cation: an appl icat ion ha ndle a nd the number of available line devices. Strata DK TSPI supports multiple line devices.

lineShutdown

rel
min
i
ary an
d Confident
P
Strata DK I&M August 1997
When the application is done, this command releases the resources and the TAPI environment is disconnected.
5 of 20
Page 6
AB50-0012
g

lineNegotiateAPIVersion

This function is used to negotiate the API version number to used. The application provides the range of versions it is compatible with and TAPI.DLL in turn negotiates with the TSPI to determine which version range it supports.

lineOpen

TSPI Description V2.26
This function opens the specified device ID for the purpose of monitoring or control by the application. Opening the line returns the handle for the device. The application can then use this handle to answer inbound calls, make outbound cal l s, or moni tor ca ll activities on the l i ne for logging purposes. The application should query the capabilities of the line, (using lineGetDevCaps) before opening the line device. Upon opening the line, a serial port will be allocated and initialized.

lineSetStatusMessages

This operation allows an application to specify which notification messages the service provider s hould genera te for events relat ed t o t he s tatus chang es for the s pec if ie d li ne or an y of its addresses.

lineGetStatusMessages

This function queries the TSPI for current status messages.

lineClose

This function closes the specified open line device after aborting all outstanding calls and asynchronous operations on the device.

Receiving Information

al
i
d Confident

lineGetDevCaps

This function queries a specified line device to determine its telephony capabilities. It is important for an application to call this function before opening the line device. This allows the application to determine which of possibly several line devices to use. Returns the supplementary and extended capabilities of a given line device as a data structure of type lineDevCaps:
min
i
dwProviderInfoSize dwProviderInfoOffset
rel
P
6 of 20
dwSwitchInfoSize dwSwitchInfoOffset
dwPermanentLineID This field will contain the permanent device ID, as
ary an
Field Name Settin
The memory area referenced by these fields will contain the NULL-terminated string describing the service provider. The Strata DK service provider is “Toshiba DKT TSPI”.
This memory area is not used by the Toshiba DKT TSPI.
found in TELEPHON.INI.
Strata DK I&M August 1997
Page 7
TSPI Description V2.26
g
dwLineNameSize dwLineNameOffset
dwStringFormat STRINGFORMAT_ASCII dwAddressModes LINEADDRESSMODE_ADDRESSID dwNumAddresses This field reports the number of addresses found for
dwBearerModes LINEBEARERMODE_VOICE dwMaxRate 0 dwMediaModes LINEMEDIAMODE_INTERACTIVEVOICE
Field Name Settin
This memory area contains the name of the device as defined in Setup of the driver installed.
this device. This is defined in Setup of the driver installed.
AB50-0012
al
i
dwGenerateToneModes dwGenerateToneMaxNumFreq
dwGenerateDigitModes LINEDIGITMODE_DTMF dwMonitorToneMaxNunFreq
dwMonitorToneMaxNumEntries dwMonitorDigitModes Not supported by Toshiba DKT TSPI. dwGatherDigitsMinTimeout
dwGatherDigitsMaxTimeout dwMedCtlDigitMaxListSize
dwMedCtlMediaMaxList dwMedCtlToneMaxListSize dwMedCtlCallStateMaxListSize
dwDevCapFlags 0 dwMaxNumActiveCalls 1 dwAnswerMode LINEANSWERSTATE_DROP dwRingModes 0 dwLineStates LINEDEVSTATE_OTHER |
ary an
Not supported by Toshiba DKT TSPI.
Not supported by Toshiba DKT TSPI.
Not supported by Toshiba DKT TSPI.
Not supported by Toshiba DKT TSPI.
d Confident
LINEDEVSTATE_CONNECTED | LINEDEVSTATE_DISCONNECTED |
LINEDEVSTATE_OPEN | LINEDEVSTATE_CLOSE |
min
LINEDEVSTATE_NUMCALLS |
i
LINEDEVSTATE_REINIT | LINEDEVSTATE_TRANSLATECHANGE
dwUUIAcceptSize
rel
dwUUIAnswerSize
P
Strata DK I&M August 1997
dwUUIMakeCallSize dwUUIDropSize dwUUISendUserUserInfoSize dwUUICallInfoSize
Not supported by Toshiba DKT TSPI.
7 of 20
Page 8
AB50-0012
g
g
TSPI Description V2.26
Field Name Settin
MinDialParams MaxDialParams DefaultDialParams
dwNumTerminals Not supported by Toshiba DKT TSPI. dwTerminalCapsSize
dwTerminalCapsOffset dwTerminalTextEntrySize dwTerminalTextOffset
These will indicate the dial speed, duration, and dial pause duration set by the phone system and are not changeable at the device level.
Not supported by Toshiba DKT TSPI.
al
i
dwDevSpecificSize dwDevSpecificOffset

lineGetAddressCaps

This function queries the specified address on the specific line device to determine its telephony capabilities. The Toshiba DKT TSPI returns two sets of values depending whether the line type def ined in Setup of the dri ve r was set for Prim e Line / Intercom or an y of the other types listed. This function fills the data structure of type LineAddressCaps:
Field Name Settin
dwLineDeviceID The device ID of the line with which the address is
dwAddressSize dwAddressOffset
dwDevSpecificSize dwDevSpecificOffset
dwAddressSharing LINEADDRESSSHARING_PRIVATE dwAddressStates LINEADDRESSSTATE_OTHER |
dwCallInfoStates LINECALLINFOSTATE_OTHER |
min
i
rel
dwCallerIDFlags LINECALLPARTYID_UNAVAIL
P
dwCalledIDFlags LINECALLPARTYID_UNAVAIL
Not supported by Toshiba DKT TSPI.
associated. A NULL-termi nated string reflecting the name of the
d Confident
key on the station. This is defined during Setup of the driver.
Not supported by Toshiba DKT TSPI.
LINEADDRESSSTATE_INUSEZERO |
ary an
LINEADDRESSSTATE_INUSEONE | LINEADDRESSSTATE_NUMCALLS | LINEADDRESSSTATE_FORWARD (PDN or INT only)
LINECALLINFOSTATE_APPSPECIFIC | LINECALLINFOSTATE_NUMOWNERINCR | LINECALLINFOSTATE_NUM OWNERDECR | LINECALLINFOSTATE_NUM MONITORS | LINECALLINFOSTATE_DIALPARAMS
dwConnectedIDFlags LINECALLPARTYID_UNAVAIL dwRedirectionIDFlags LINECALLPARTYID_UNAVAIL
8 of 20
Strata DK I&M August 1997
Page 9
TSPI Description V2.26
g
dwRedirectingIDFlags LINECALLPARTYID_UNAVAIL dwCallStates LINECALLSTATE_IDLE |
dwDialToneModes LINEDIALTONEMODE_UNAVAIL dwBusyModes LINEBUSYMODES_UNAVAIL dwSpecialInfo LINESPECIALINFO_UNAVA IL dwDisconnectModes LINEDISCONNECTMODE_UNKNOWN dwMaxNumActiveCalls 1
Field Name Settin
LINECALLSTATE_OFFERING | LINECALLSTATE_DIALTONE | LINECALLSTATE_RINGBACK | LINECALLSTATE_BUSY | LINECALLSTATE_CONNECTED | LINECALLSTATE_PROCEEDING | LINECALLSTATE_ONHOLD | LINECALLSTATE_CONFERENCED | LINECALLSTATE_ONHOLDPENDCONF | LINECALLSTATE_ONHOLDPENDTRANSFER | LINECALLSTATE_UNKNOWN
AB50-0012
al
i
rel
P
dwMaxNumOnHoldCalls 1 dwMaxNumOnHoldPendingCalls 1 dwMaxNumConference 4 dwMaxNumTransConf 1 dwAddrCapFlags LINEADDRCAPFLAGS_BLOCKIDDEFAULT |
dwCallFeatures LINECALLFEATURE_ADDTOCONF |
ary an
min
i
dwRemoveFromConfCaps LINEREMOVEFROMCONF_NONE
d Confident
LINEADDRCAPFLAGS_DIALED | LINEADDRCAPFLAGS_ORIGOFFHOOK | LINEADDRCAPFLAGS_AUTORECONNECT | LINEADDRCAPFLAGS_PARTIALDIAL | LINEADDRCAPFLAGS_PICKUPCALLWAIT
LINECALLFEATURE_ANSWER | LINECALLFEATURE_BLINDTRANSFER (R3 only) | LINECALLFEATURE_COMPLETETRANSF | LINECALLFEATURE_DIAL | LINECALLFEATURE_DROP | LINECALLFEATURE_HOLD | LINECALLFEATURE_PARK | LINECALLFEATURE_PREPARETOADDCONF | LINECALLFEATURE_SETUPCONF | LINECALLFEATURE_SETUPTRANSFER LINECALLFEATURE_UNHOLD
dwRemoveFromConfState Not supported by Toshiba DKT TSPI.
Strata DK I&M August 1997
9 of 20
Page 10
AB50-0012
g
g
g
TSPI Description V2.26
Field Name Settin
dwTransferModes LINETRANSFERMODE_TRANSFER |
LINETRANSFERMODE_CONFERENCE
dwParkModes LINEPARKMODE_NONDIRECTED
Field Name Settin
dwForwardModes LINEFORWARDMODE_UNCOND |
dwMaxForwardEntries dwMaxSpecificEntries
dwMinFwdNumRings dwMaxFwdNumRings
dwMaxCallCompletions dwCallCompletionConds dwCallCompletionModes
dwNumCompletionMessages dwCompletionMsgTextEntrySize dwCompletionMsgTextSize dwCompletionMsgTextOffset

lineGetAddressStatus

This functi on queries the specified address for its current status. The current status is returned using the data structure lineAddressStatus:
al
i
LINEFORWARDMODE_BUSY | LINEFORWARDMODE_NOANSW | LINEFORWARDMODE_BUSYNA
1 1
3 3
Not supported by Toshiba DKT TSPI.
Not supported by Toshiba DKT TSPI.
d Confident
dwNumInUse 1 if there is a call associated with the address, 0 otherwise. dwNumActiveCalls 1 if there is a call in any state other than ONHOLD at the
dwNumOnHoldCalls 1 if there is a call holding at the address, 0 otherwise. dwNumOnHoldPendingCalls 1 if there is a call in either the ONHOLDPENDINGCONF
i
dwAddressFeatures If there is no call associated with the given address, this
rel
P

lineGetCallInfo

This function returns detailed information about the specified call. The information is returned in a data structure of the type LineCallInfo:
10 of 20
Field Name Settin
ary an
address, 0 otherwise.
min
state or the ONHOLDTENDTRANSFER state, 0 otherwise.
field will contain the value LINEADDRFEATURE_MAKECALL. Otherwise, it will be 0.
Strata DK I&M August 1997
Page 11
TSPI Description V2.26
g
dwLineDeviceID The number of the line device being addressed. dwAddressID The address ID for the call associated. dwBearerMode LINEBEARERMODE_VOICE dwRate 0 dwMediaMode LINEMEDIAMODE_INTERACTIVEVOICE dwAppSpecific Retains the value passed in lineSetAppSpecific. dwCallID Not supported by Toshiba DKT TSPI. dwRelatedCallID Not supported by Toshiba DKT TSPI. dwCallParamFla gs If this c all was initiated with lineMakeCall, this field
dwCallStates
AB50-0012
Field Name Settin
al
i
will be the same as the dwCallParamFlags f iel d passed into that function via the LINECALLPARAMS structure. Otherwise, it will be 0.
dwMonitorDigitModes dwMonitorMediaModes
DialParams dwOrigin dwReason dwCompletionID Not supported by Toshiba DKT TSPI. dwNumOwners 1 dwNumMonitors 0 dwCountryCode dwTrunk Always xffffffff (Unknown) dwCallerID Fl ags dwCallerID Si ze
dwCallerIDOffset
dwCalledIDFlags dwCalledIDSize
min
i
dwCalledIDOffset dwConnectedIDFlags Not supported by Toshiba DKT TSPI
ary an
Not supported by Toshiba DKT TSPI.
d Confident
Provides Caller ID name and number when provided by the public network. Internal calls give caller ID number if LCD Name is off and Caller ID name if the LCD name feature is on.
The DNIS/DID number received and Strata DK alphanumeric tag are provided.
dwConnectedIDSize
rel
dwConnectedIDOffset
P
Strata DK I&M August 1997
dwRedirectionIDFlags Not supported by Toshiba DKT TSPI. dwRedirectionIDSize
dwRedirectionIDOffset dwRedirectingIDFlags Not supported by Toshiba DKT TSPI.
Not supported by Toshiba DKT TSPI
Not supported by Toshiba DKT TSPI.
11 of 20
Page 12
AB50-0012
g
g
Field Name Settin
dwRedirectingIDSize dwRedirectingIDOffset
dwAppNameSize dwAppNameOffset
dwDisplayableAddressSize dwDisplayableAddressOffset
dwCalledPartySize dwCalledPartyOffset
dwCommentSize dwCommentOffset
dwDisplaySize dwDisplayOffset
TSPI Description V2.26
Not supported by Toshiba DKT TSPI.
Not supported by Toshiba DKT TSPI.
al
Not supported by Toshiba DKT TSPI.
If the call being re ferenced is th e acti ve ca ll on the line , these fields will contain the contents of the two line LCD display currently being shown.
i
dwUserUserInfoSize dwUserUserInfoOffset
dwHighLevelCompSize dwHighLevelCompOffset
dwLowLevelCompSize dwLowLevelCompOffset
dwChargingInfoSize dwChargingInfoOffset

lineGetCallStatus

This function returns the current status of the specified call as a data structure of type lineCallStatus:
dwCallState This field will reflect the actual state of the call. dwCallStateMode This field will reflec t the a ctual mode of the state li sted
dwCallPrivilege This reflects the privilege granted to the call . dwCallFeatures This field will indicate all of the features allowable,
min
i
dwDevSpecificSize dwDevSpecificOffset
Not supported by Toshiba DKT TSPI.
Not supported by Toshiba DKT TSPI.
Not supported by Toshiba DKT TSPI.
Not supported by Toshiba DKT TSPI.
d Confident
Field Name Settin
ary an
above.
given the current state of the call. Not supported by Toshiba DKT TSPI.

lineGetID

rel
P
12 of 20
This function returns a device ID for the specified device class associated with the selected line, address, or call. Toshiba DKT TSPI uses this function t o identify the real device ID when the line device was opened using LINE_MAPPER as a device ID. This function call also be used to obtain the device ID of the phone or media (e.g., mci, waveform, mci midi, wave, fax,
Strata DK I&M August 1997
Page 13
TSPI Description V2.26
g
g
etc.) associated with a call, address or line. The result in returned in a data structure VARSTRING pointed to by lpDeviceID:
dwStringFormat STRINGFORMAT_BINARY
AB50-0012
Field Name Settin
dwStringSize dwStringOffset

lineGetLineDevStatus

This operation queries the specified open line device for its current status. If successful it returns the current status of the specified open line device using a data structure LineDevStatus:
Field Name Settin
dwNumOpens The number of instances this application opened,
dwOpenMediaModes LINEMEDIAMODE_INTERACTIVEVOICE dwNumActiveCalls The number of calls ringing and/or connected. dwNumOnHoldCalls The number of calls that are on hold. dwNumOnHoldPendCalls The number of calls pending in the
dwLineFeatures LINEFEATURE_MAKECALL if no active calls e xist,
4 A DWORD containing the ID for the line device specified.
al
i
normally 1.
ONHOLDPENDCONF or the
d Confident
ONHOLDPENDTRANSFER states.
otherwise 0. dwNumCallCompletions dwRingMode Always 0. dwSignalLevel Not supported by Toshiba DKT TSPI. dwBatteryLevel Not supported by Toshiba DKT TSPI. dwRoamMode LINEROAMMODE_UNAVAIL dwDevStatusFlags The current status of the device. dwTerminalModesSize
dwTerminalModesOffset
min
dwDevSpecificSize
i
dwDevSpecificOffset

lineGetAddressID

rel
P
This function is used to map a phon e number assig ned to a line de vi ce back to is dwAddr essID in the range of 0 to the number of addresses minus 1 returned in the line’s device capabilities. LineMakeCall allows the application to make a call by specifying a line handle an address on the line. The address can be specified either as dwAddressID, as a phone number, or as a device specific name or identifier.
ary an
Not supported by Toshiba DKT TSPI.
Not supported by Toshiba DKT TSPI.
Strata DK I&M August 1997
13 of 20
Page 14
AB50-0012
g

Basic Call Control

lineMakeCall

This function places a call on the specified line to the specified address. The application has the option to specify an originating address on the specified line. The TSPI models the addresses based upon the line type when Setup was used to define the driver.
TSPI Description V2.26
If the line is busy when a call attempt is made, the currently active call will be disconnected. If no destination address is provided, a new call will be created and the line will transition to
the LINECALLSTATE_DIALTONE state. The lineDial function can be used at this point to dial the destination address.

LINECALLPARAMS (default)

Field Name Settin
dwBearerMode LINEBEARERMODE_VOICE dwMinRate
dwMaxRate dwMediaMode LINEMEDIAMODE_INTERACTIVEVOICE dwCallParamFlag s 0 dwAddressMode LINEADDRESSMODE_ADDRESSID dwAddressID any available DialParams 0, 0, 0, 0 dwOrigAddressSize
dwOrigAddressOffset dwDisplayableAddressSize
dwDisplayableAddressOffset dwCalledPartySize
dwCalledPartyOffset dwCommentSize
dwCommentOffset dwUserUserInfoSize
al
i
0 (3.1kHz ) 0
d Confident
0
0
0
0
ary an
dwUserUserInfoOffset 0 dwHighLevelCompSize
dwHighLevelCompOffset
min
i
dwLowLevelCompSize dwLowLevelCompOffset
dwDevSpecificSize dwDevSpecificOffset
rel
P

lineDial

This function dials the specified dialable number. Use this operation in all situations where you need to send address information to the switch on an existing call; such as dialing the address of the party to transfer a call, etc.
14 of 20
0
0
0
Strata DK I&M August 1997
Page 15
TSPI Description V2.26

lineAnswer

This function accepts the specified OFFERED call. The optional user-to-user information is ignored.

lineDrop

This function drops or disconnects the specified call, or abandons a call attempt in progress. When this function returns, the call will be in the IDLE state. The o ptional user-to-user information is ignored.
Because the DKT TSPI can drop calls only to which it is connect ed, this fe ature is allo wed for calls in the CONNECTED stat e only. In addition, the service prov ider k eeps tra ck of wheth er a given call is owned by a TAPI application, in order to avoid dropping calls initiated or answered by other applica tions. The call is considere d o wned b y a TAPI application, it must be either initiated, answered, or placed on hold by a TAPI application.

lineDeallocateCall

This function releases resources used to keep track of a given call. This function can only be called while the state is idle.
AB50-0012
al
i

Holding Calls

lineHold

This function places the specified call on hard hold. This can be used when in either LINECALLSTATE_CONNECTED or LINECALLSTATE_PROCEEDING states. The application can place a call on hold even if it did not originate or answer that call.

lineUnhold

This function retrieves the specified held call. This feature is only valid when the call is in the LINECALLSTATE_ONHOLD state.

Transferring Calls

TAPI provides two mechanisms for call transfer: blind transfer or consultation transfer.
In blind transfer, an existing call is transferred to a specified destination address in one
min
phase using lineBlindTransfer (Supported on DK280 R3 or DK16e and later systems).
i
In a consultation transfer, the existing call is first prepared for transfer to another address
using lineSetupTransfer. This places the existing call on consultation hold, and identifies the call as t he t ar ge t fo r the ne xt tr ansfer-completion request. This command al so al locat es
rel
P
a consultation call that can be used to establish the consultation call with the party to which the call will be transferred.
The application can dial the extension of the destination party on the consultation call using lineDial, or is can drop and deallocate the consultation call and instead activate an existing held call (lineUnhold). Fi nally, the application comp letes the transfer of the call on transfer hold t o the desti natio n part y b y using lineCompl eteTransfer. At thi s poin t, bot h call appearances revert to the IDLE state.
d Confident
ary an
Strata DK I&M August 1997
15 of 20
Page 16
AB50-0012

lineBlindTransfer

This function performs a single-step transfer of the specified call to the specified destination address. The lpszDestAddress is interpreted in the same manner as lineMakeCall function.

lineSetupTransfer

This function initiates the transfer of the specified call. It establishes a consultation call, lphdConsultCall, on which the party can be dialed that can become the destination of the transfer. The original call transitions to the ONHOLDPENDTRANSFER state.

lineCompleteTransfer

This function completes the transfer of the specified call to the party, or enter a three-way conference, connected in the consultation call.

Conferencing

A conference call must be gi n as re gu lar t wo -party ca ll. Addi tiona l part ies ca n be added , one a t a time. Calling lineS etupConfer ence prepa res a gi v en cal l for the ad dition of another p arty, and this action establishes the conference call. This operation takes the original two-party call as input, allocates a conference call, connects the original call to the conference, and allocates a consultation call whose handle is returned to the application.
TSPI Description V2.26
al
i
The application can then use lineDial on the consultation call to establish a connection to the next party to be added. lineDrop can be used to abandon this call attempt. The third party is added with the function lineAddToConference, which specifies both the conference call and the consul tation call.
To add additional parties to an existing conference call, the application uses linePrepareAddToConference. When calling this function, the application supplies the handle of an existi ng conferen ce call. The function a lloca tes a consul tation c all that can later be added to the conference cal l and retur ns a consulta tion ca ll handle t o the applic ation. This confere nce call is then placed on conf er enc e hol d. Once the consultation call exi st s, it can be added to the existing conference call with lineAddToConference.
Once a call becomes a member of the conference call, the member’s call state reverts to CONFERENCED while the conference call’s state becomes CONNECTED. The call handle to the conference call and all the added parties remain valid as individual calls.

lineSetupConference

This function sets up a conference call for the addition of the third party. The function allocates a consultation call for connecting to the party that is to be added to the call and returns a newly created conference call with call state of ONHOLDPENDCONF.

lineAddToConference

rel
P
This function adds a consultation call, specified by hdConsultCall, to an existing conference call, specified by hdConfCall.
min
i
d Confident
ary an
16 of 20
Strata DK I&M August 1997
Page 17
TSPI Description V2.26

linePrepareAddToConference

This function prepa res an e xi stin g conf erenc e call for the additi on of ano the r part y. It creates a new, temporary consultation call which can subsequently be added to the conference with the lineAddToConference function.

Call Pa rkin g

linePark

Parks a given call at another address.

lineUnpark

Retrieves a parked call.

Call Forwarding

AB50-0012
al
i

lineForward

Set or cancel call forwarding requests.

Call Pickup

linePickup

Pick up a cal l that is alerting at another station

Miscellaneous Functions

ary an

lineConfigDialog

This function displays a configuration dialog for the DKT TSPI device. The configurable options are the minimum number of digits necessary for an outside number and the access code that should be used to obtain an outside line. These two parameters are used when a complete destination address is supplied with lineMakeCall to determine whether the destination is internal or external. Any changes made will take place immediately; the service provider allows changes to be made while the line is open.
min
i
d Confident

lineSetAppSpecific

Strata DK I&M August 1997
rel
P
This operation sets the application-specific field of the specified call’s LINECALLINFO structure. Its usa ge i s ent irely defined by the appl icat io n and is unint errupt ed by the Telephony API or the service provider.
When this field is changed, the service provider sends a LINE_CALLINFO message with an indication that the dwAppSpecific field has changed.
17 of 20
Page 18
AB50-0012

Commands and Messages Not Supported

lineSecureCall lineRemoveFromConference lineSwapHold lineSetMediaControl lineSetCallParams lineMonitorDigits lineMonitorMedia lineGatherDigits
TSPI Description V2.26
lineMonitorTone lineGenerateTone lineGenerateDigits lineRedirect lineAccept lineUncompleteCall lineCompleteCall lineDevSpecific lineDevSpecificFeature LINE_MONITORMEDIA lineSetTerminal LINE_MONITORTONE LINE_MONITORDIGITS LINE_DEVSPECIFIC LINE_CALLDEVSPECIFIC LINE_DEVSPECIFICFEATURE LINE_CALLDEVSPECIFICFEATURE

Extended Services

lineNegotiateExtVersion

The following two extended services are available when an application negotiates for a revision level 1 extended service.

Snapshot Data Structure (Application)

al
i
d Confident
P
18 of 20
The snapshot data structure is provided for applications that want to provide an image of the DKT 2000 phone within the PC Application Program along with their TAPI interface. The Toshiba Service Provider will send a message each time an update occurs in the LED or LCD display that looks like a snapshot of the phone which can be used to provide the identical display in the PC as seen on the phone. The following chart is a description of the meaning of the ongoing displays when calls are being handled by the Strata DK. For example, an incoming call will cause a series of messages to change the LED flash rate each second to either 10Hz or OFF until the call is answered.
The LCD and LED ev ents a re a v ailable to applic ations who n egot iate with the servi ce pro vider for extension version 1.0 (lineNegotiateExtVersion). After successfully negotiating this version, the service provider will send the LINE_LINEDEVSTATE notification message with the dwParam1 set to LINEDEVSTATE_DEVSPECIFIC each time the information changes. To retrieve this snapshot view of the DKT’s current LED/LCD state, call lineGetLineDevStatus. The service provider will fill in the dwDevSpecific section of
rel
LINEDEVSTATUS structure with a DKTSNAPSHOT structure. This structure is defined as follows:
#pragma pack(1) #define MAX_KEYS 20 #define DISPLAY 16
min
i
ary an
Strata DK I&M August 1997
Page 19
TSPI Description V2.26
enum EledFlashRate {EFlashOn = 1, EFlash1Hz, EFlash2Hz,
enum ELedColor {ERed = 0, EGreen}; enum EKeyType (INVALIDKEY = 0, ECO_Line, EDND,
typedef struct_tagFLEXKEY { ELedFlashRate eFlashRate; //Current LED Flash Rate ELedColor eColor; //Current LED Color EKeyType eType; //Key Type char szLabel[MAX_LABEL+1]; //Label assigned to key }FLEXKEY, *PFLEXKEY;
AB50-0012
EFlash10Hz, EFlashIUse, EFlash4Hz, EFlashOff};
EFeature_Key, EFlash, EHot_Line, EIntercom, EMessage_Waiting, EMultiLine_Hunt, EPrime_Line, EPrivate_Line, ERelease, ESecondary_Appearance, ESecondary_Private_Line, ESpeed_Dial, ESpeed_Dial_Pause, EData, EData_Release};
al
i
typedef struct_tagDKTSNAPSHOT { int nNumKeys; //10 or 20 button FLEXKEY FlexKeys[MAX_KEYS]; Flex Key Array ELedFlashRate eSpeaker; //Speaker LED Status Color (Red or off) ELedFlashRate eMic; //MIC LED Status Color (Red or off) ELedFlashRate eMsg; //Msg LED Status Color (Red or off) char szUpperLine[DISPLAY+1]; //Upper line of the display char szLowerLine[DISPLAY+1]; //Lower line of the display }DKTSNAPSHOT, *PDKTSNAPSHOT; #pragma pack(0)

DKT Key Access

If an application program will operate the phone connected to the PC, this feature access allows a dialing code system for using the “lineMakeCall” function to press any key on the DKT 2000 phone.
Dialing instructions are indicated by “!,” followed by a 2 digit code which represents telephone key operations. The following table defines the dialing code for each key function.
min
i
d Confident
ary an
rel
P
Strata DK I&M August 1997
19 of 20
Page 20
AB50-0012
TSPI Description V2.26
Single Action Keys Single Action Keys Dual Action Keys
Key Name Code Key Name Code Key Name ON OFF
Flex Key 01 Flex Key 02 Flex Key 03
!05 !13 !21
Digit 1 Digit 2 Digit 3
!24 !32 !40
Hook Switch
Mic
Spkr
!07 !45 !44
!15 !48 !46
al
Flex Key 04 Flex Key 05 Flex Key 06 Flex Key 07 Flex Key 08 Flex Key 09 Flex Key 10 Flex Key 11 Flex Key 12 Flex Key 13 Flex Key 14 Flex Key 15 Flex Key 16 Flex Key 17 Flex Key 18
!29 !37 !00 !01 !02 !03 !04 !08 !09 !10 !11 !12 !16 !17 !18
Digit 4 Digit 5 Digit 6 Digit 7 Digit 8 Digit 9 Digit 0
Digit *
Digit #
Msg
Redial
Hold
Mode
Page
!25 !33 !41 !26 !34 !42 !35 !27 !43 !30 !14 !06 !31
d Confident
!39
Conf/Trns
Vol Up Vol Dn
Scroll
Dial
!22 !28 !36 !47 !36
i
!23 !50 !38 !49 !37
rel
P
Flex Key 19 Flex Key 20
min
i
!19 !20
ary an
20 of 20
Strata DK I&M August 1997
Loading...