Home
TAPI Link Developers Guide
Contents
1. eek Re RR Re ERA 30 2 1 39 lineSwapHold ee ee ee ee ee Re ee 30 2 1 40 lineljfihold ies asse SE tapa 31 21 41 lineUnpark nn an 31 2 2 TAPI StructureS esse seke ee Re e e a ee ee ee 32 2 2 1 LINEADDRESSCAPS ees esse ese ee ese ee ee ee ee 32 2 2 2 LINEADDRESSSTATUS ees ese esse ese ee ee ee ee 35 2 2 3 LINECGALLINFO ee ese ee ee ee ee ek ee ee ee 36 TAPILink Developer s Guide IP Office Contents 2 2 4 LINECALLPARAMS ee ee ees ee ee ee ee ee ee 37 2 25 LINEGALLSTATUS iN ei eye is 38 2 2 6 LINEDEVCAPS ese ee ee ee ee ee ee ee ee ee ee ee 39 2 3 TAPI Events Messages 41 3 TAPI 3 0 Reference ME OR a idas 44 OE ME ita 44 dPAAAFESSF EA EER sath AI e De 45 3 2 1 Address ts ii 45 3 2 2 IENUMANOTESS cccconononoconononononnnononnononononcnccncnnninanns 46 3 2 3 ITMediaSuDDOF iese esse ese ese ee Re Re ee 46 3 3 Terrminal Se EE einen 46 3ACAll _ EE EE EE N Er 47 3 41 EG Ie EE a Se 47 3 4 2 ITBasicCallControl ccocccccconconocccccnncnnoccncnnnnns 48 3 4 3 TCalIStateEvent sees ees ee ee ee 50 3 4 4 ITCallNotificationEven t ooooccccoccccccccnonocccnnnos 50 3 4 5 ITCalllnfoChangeEVvenNt iese esse ee ee ee 50 gS Call H HE N EE es 50 4 TAPI 3 Enumerated Types 4 CALLES TA TE id 52 4 2 CALLINFO STRING ee ee Re Re ee Re 52 4 3 DISCONNECT CODE ees esse see ee ee ee EA 53 4 4 CALL_STATE_EVENT_CAUSE ee see ee
2. Connect has been called and the service provider is working on making a connection This state is valid only on outgoing calls This message is optional because a service provider may have a call transition directly to the connected state Call has been connected to the remote end and communication can take place Call has been disconnected There are several causes for disconnection See the table of valid call state transitions below A new call has appeared and is being offered to an application If the application has owner privileges on the call it can either call Answer or Disconnect while the call is in the offering state The call is in the hold state The call is queued 4 2 CALLINFO_STRING The CALLINFO_STRING enum is used by ITCalllnfo methods that set and get call information involving the use of strings GEENEEN NN EE CIS CALLERIDNAME CIS CALLERIDNUMBER CIS CALLEDIDNAME CIS CALLEDIDNUMBER CIS CONNECTEDIDNAME CIS CONNECTEDIDNUMBER CIS REDIRECTIONIDNAME CIS REDIRECTIONIDNUMBER CIS REDIRECTINGIDNAME CIS REDIRECTINGIDNUMBER CIS CALLEDPARTYFRIENDLYNAME CIS COMMENT CIS DISPLAYABLEADDRESS CIS CALLINGPARTYID TAPILink Developer s Guide IP Office The name of the caller The number of the caller The name of the called location The number of the called location The name of the connected location The number of the connected location The name of the location to which a call has been redir
3. Only relevant if using TAPI Version 3 0 or higher Only relevant if using TAPI Version 3 0 or higher Only relevant if using TAPI Version 3 0 or higher Page 40 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Structures 2 3 TAPI Events Messages LINE APPNEWCALL A new call has been created LINE CALLINFO Information has changed in the LINECALLINFO structure LINE CALLSTATE The state of the call has changed See dwCallStates in the LINEADDRESSCAPS structure for the list of states supported LINE LINEDEVSTATE The line device state has changed The second parameter could be any one of the following LINEDEVSTATE DEVSPECIFIC Devspecific information has changed LINEDEVSTATE CONNECTED LINEDEVSTATE DISCONNECTED The connected state of the line has changed LINEDEVSTATE OUTOFSERVICE The TSP has lost communication with the switch This line is now out of service LINEDEVSTATE INSERVICE The TSP had lost connection to the switch but has now recovered and the line is back in service LINEDEVSTATE_RINGING The switch has detected that the caller s phone is ringing LINE DEVSPECIFIC Notifies the application about device specific events occurring on a line address or call This message prompts the application to call lineGetLineDevStatus and analyse the devspecific buffer for changes LINE ADDRESSSTATE The status of an address has changed on a line that is currently open by the application TAPILink Developer s
4. 2 1 6 ee EE EE N eles 18 2 1 7 lineDeallocateCall ee RR Re RA 18 2 1 8 lineDevSpeceifiC eie ee ee ee Re ee ee 19 21 9 lineDial RN 21 Ed Be RR EN EE ER 21 2 1 11 lineGenerateDigits eise ee ee ee ee ee 21 2 1 12 lineGenerateTone ee ee Re Re Re 21 2 1 13 lineGetAddressCapsS sesse ee ee ee 22 2 1 14 lineGetAddresslD ee RR Re ERA 22 2 1 15 lineGetAddressStatuS esse ee nennen 22 2 1 16 lineGetADDPriOrtY iese ee ee ee ee ee 22 2 1 17 lineGetCallInfo ee RR Re ERA 23 2 1 18 lineGetCallStatus ee ee ee ee ee ee 23 2 1 19 lineGetDevCapS esse ee ee Re ee ee ee 23 2 1 20 lineGetID ee ee Re ee RR ee ke ee 23 2 1 21 lineGetLineDevStatuS ee see ee ee 24 21 22 lineHandOf i s SEE RE EE EES ER Ee Re DE ge 26 2 1 23 linelHold iaa denen 26 2 1 24 linelnitialiZeEX ee RR 26 2 1 25 lineMakeCall ee ee RR Re ERA 26 2 1 26 lineMonitorDigltS oooooccconnoconanccnnnorcnonarnncn noes 27 2 1 27 lineMonitorTOn e iese ee Re ee ee Re ee 27 2 1 28 lineNegotiateAPlVersiON ees ee ee ee 27 21 29 lineObpen tse EE EE da 28 ee IG To AR N EE OK 28 2 1 31 lineRe dir Ct sninha 28 2 1 32 lineRemoveFromConference esse ee 29 2 1 33 lineSetADDPriOrity iese ee ee Re ee ee 29 2 1 34 lineSetAppSpecifiC iese ee ee 29 2 1 35 lineSetCallPrivilege ee ee ee Re Re 29 2 1 36 lineSetStatusMessageS ee ee ee 30 2 1 37 lineSetupTransfeF ees ee ee ee ee ee 30 2 1 38 lineShutdOWN
5. LINECALLPARTYID UNKNOWN LINECALLPARTYID UNAVAIL Returns the possible connected ID flags which are LINECALLPARTYID NAME LINECALLPARTYID UNKNOWN LINECALLPARTYID UNAVAIL Returns the possible redirection ID flags which are LINECALLPARTYID BLOCKED LINECALLPARTYID OUTOFAREA LINECALLPARTYID NAME LINECALLPARTYID ADDRESS LINECALLPARTYID UNKNOWN LINECALLPARTYID UNAVAIL Returns the possible redirecting ID flags which are LINECALLPARTYID BLOCKED LINECALLPARTYID OUTOFAREA LINECALLPARTYID NAME LINECALLPARTYID ADDRESS LINECALLPARTYID UNKNOWN LINECALLPARTYID UNAVAIL Returns the possible call states which are LINECALLSTATE_IDLE the call no longer exists LINECALLSTATE OFFERING a new call has arrived LINECALLSTATE ACCEPTED the call has been claimed by a application Page 32 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Structures dwDialToneModes dwBusyModes dwSpeciall nfo dwDisconnectModes dwMaxNumActiveCalls dwMaxNumOnHoldCalls dwMaxNumOnHoldPendingCalls dwMaxNumConference dwMaxNumTransConf dwAddrCapFlags dwCallFeatures TAPILink Developer s Guide IP Office LINECALLSTATE_DIALTONE the caller hears dial tone LINECALLSTATE_DIALING the switch is receiving dialling information LINECALLSTATE_RINGBACK the caller hears ringing LINECALLSTATE_BUSY the caller hears the busy signal LINECALLSTATE_CONNECTED the caller has been connected end to end LINECALLSTATE_PROCEEDING dialling has
6. WINAPI lineRemoveFromConference HCALL hCall i 2 1 33 lineSetAppPriority Call this to indicate your applications priority LONG WINAPI lineSetAppPriority LPCSTR lpszAppFilename DWORD dwMediaMode LPLINEEXTENSIONID lpExtensionID DWORD dwRequestMode LPCSTR lpszExtensionName DWORD dwPriority i 2 1 34 lineSetAppSpecific This function enables an application to set the application specific field of the specified call s call information record LONG WINAPI lineSetAppSpecific HCALL hCall DWORD dwAppSpecific 2 1 35 lineSetCallPrivilege Call this to change your applications ownership rights to a particular call LONG WINAPI lineSetCallPrivilege HCALL hCall DWORD dwCallPrivilege i TAPILink Developer s Guide Page 29 IP Office 15 601035 Issue 11g 22 June 2010 2 1 36 lineSetStatusMessages This function enables the application to state which notification messages it reguires Typically dwLineStates is set to LINEDEVSTATE ALL and dwAddressStates is set to LINEADDRESSSTATE ALL LONG WINAPI lineSetStatusMessages HLINE hLine DWORD dwLineStates DWORD dwAddressStates 2 1 37 lineSetupTransfer This function is called to create a consultation call in order to perform a supervised transfer The call that is to be transferred must exist already The call may be either active or on hold when this function is called If the call is active it will be put on hold by this function Call
7. disclosed or used except in accordance with applicable agreements O 2010 Avaya Inc All rights reserved TAPILink Developer s Guide Page 64 IP Office 15 601035 Issue 11g 22 June 2010
8. Guide Page 41 IP Office 15 601035 Issue 11g 22 June 2010 Chapter 3 TAPI 3 0 Reference TAPILink Developer s Guide ce Page 43 IP Offi 15 601035 Issue 11g 22 June 2010 3 TAPI 3 0 Reference 3 1 TAPI The TAPI object is created by CoCreatelnstance All other TAPI 3 0 objects are created by TAPI 3 0 itself 3 1 1 ITTAPI The ITTAPI interface is the base interface for the TAPI object Initialize This is the first TAPI function that should be called to initialise TAPI HRESULT Initialize Shutdown Shuts down a TAPI session Normally called as your applications closes down HRESULT Shutdown EnumerateAddresses This method enumerates the addresses that are currently available HRESULT EnumerateAddresses IEnumAddress ppEnumAddress RegisterCallNotifications Sets which new call notifications an application will receive The application must call the method for each address indicating media type or types it can handle and specifying the privileges it requests HRESULT RegisterCallNotifications ITAddress pAddress VARIANT_BOOL fMonitor VARIANT BOOL fOwner long 1MediaTypes long 1CallbackInstance long plRegister put EventFilter The put EventFilter method sets the event filter mask HRESULT put EventFilter long lFilterMask TAPILink Developer s Guide IP Office Page 44 15 601035 Issue 11g 22 June 2010 TAPI 3 0 Reference TAPI 3 2 Address The Address object repres
9. Number of groups that the user is a member of that are currently on night service Additional fields available for P Office 4 1 v 8 v Working Hours User Default Blank No rights restrictions Rights Group Name This field allows selection of user rights which may set and lock some user settings If a Working Hours Time Profile has been selected the Working Hours User Rights are only applied during the times defined by that time profile otherwise they are applied at all times maximum length 15 characters v 1 0 Null termination for working hours group name V 2 Out of Hours User Rights Default Blank No rights restrictions Group Name This field allows selection of alternate user rights that are used outside the times defined by the user s Working Hours Time Profile maximum length 15 characters V W 0 Null termination for working hours group name w 1 x User Restriction Name A list of all User Restriction Group Names defined on the IP Office List Each name is a maximum of 15 characters long and is null terminated This is provided to allow the TAPI application to present the list of valid values to which the previous two fields can be set e g in a Combo Box control x 1 0 Null termination empty string termination of name list TAPILink Developer s Guide Page 25 IP Office 15 601035 Issue 11g 22 June 2010 2 1 22 lineHandoff The lineHandoff function gives ownership of the specified call to another application LONG WINAP
10. SOFTWARE HEREINAFTER REFERRED TO INTERCHANGEABLY AS YOU AND END USER AGREE TO THESE TERMS AND CONDITIONS AND CREATE A BINDING CONTRACT BETWEEN YOU AND AVAYA INC OR THE APPLICABLE AVAYA AFFILIATE AVAYA Avaya grants End User a license within the scope of the license types described below The applicable number of licenses and units of capacity for which the license is granted will be one 1 unless a different number of licenses or units of capacity is specified in the Documentation or other materials available to End User Designated Processor means a single stand alone computing device Server means a Designated Processor that hosts a software application to be accessed by multiple users Software means the computer programs in object code originally licensed by Avaya and ultimately utilized by End User whether as stand alone products or pre installed on Hardware Hardware means the standard hardware originally sold by Avaya and ultimately utilized by End User TAPILink Developer s Guide IP Office License types Designated System s License DS End User may install and use each copy of the Software on only one Designated Processor unless a different number of Designated Processors is indicated in the Documentation or other materials available to End User Avaya may require the Designated Processor s to be identified by type serial number feature key location or other specific designation or to be provi
11. be set on calls in the connected state by passing CIB CALLDATABUFFER as the Calll nfoBuffer parameter HRESULT SetCallInfoBuffer CALLINFO_BUFFER CallInfoBuffer DWORD dwSize BYTE pCallInfoBuffer y TAPILink Developer s Guide Page 47 IP Office 15 601035 Issue 11g 22 June 2010 3 4 2 ITBasicCallControl The ITBasicCallControl interface is used by the application to connect answer and perform basic telephony operations on a Call object Connect The Connect method attempts to complete the connection of an outgoing call HRESULT Connect VARIANT_BOOL fSync Answer The Answer method answers an incoming call This method can succeed only if the call state is CS_OFFERING HRESULT Answer Disconnect The Disconnect method disconnects the call The call state will transition to CS_ DISCONNECTED after the method completes successfully HRESULT Disconnect DISCONNECT_CODE code Hold The Hold method places or removes the call from the hold HRESULT Hold VARIANT_BOOL fHold SwapHold The SwapHold method swaps the call which is active with the specified call on hold HRESULT SwapHold ITBasicCallControl pCall i ParkDirect The ParkDirect method parks the call at a specified address HRESULT ParkDirect BSTR pParkAddress y TAPILink Developer s Guide Page 48 IP Office 15 601035 Issue 11g 22 June 2010 TAPI 3 0 Reference Call Unpark The Unpark method gets the call
12. completed but the call has not yet been connected LINECALLSTATE_ONHOLD the call is on hold LINECALLSTATE CONFERENCED the call is on a conference LINECALLSTATE_ONHOLDPENDCONF the call is on hold before being conferenced LINECALLSTATE_ONHOLDPENDTRANSFER the call is on hold before being transferred LINECALLSTATE_DISCONNECTED The other end has dropped the call LINECALLSTATE_UNKNOWN the call state is unknown Returns the possible dial tone mode of LINEDIALTONEMODE_UNAVAIL Returns the possible busy modes of LINEBUSYMODE_UNAVAIL Returns the possible special info of LINESPECIALINFO_UNAVAIL Returns the possible disconnect modes which are LINEDISCONNECTMODE_NORMAL LINEDISCONNECTMODE_REJECT LINEDISCONNECTMODE_ PICKUP LINEDISCONNECTMODE_FORWARDED LINEDISCONNECTMODE_BUSY LINEDISCONNECTMODE_NOANSWER LINEDISCONNECTMODE_BADADDRESS LINEDISCONNECTMODE_UNREACHABLE LINEDISCONNECTMODE_CONGESTION LINEDISCONNECTMODE_INCOMPATIBLE LINEDISCONNECTMODE_UNAVAIL LINEDISCONNECTMODE_NODIALTONE LINEDISCONNECTMODE_QOSUNAVAIL LINEDISCONNECTMODE BLOCKED LINEDISCONNECTMODE DONOTDISTURB The maximum number of active calls 1 The maximum number of calls on hold 9 The maximum number of calls on hold pending 9 The maximum number of conference calls 9 The maximum number of transferred conference calls 9 Returns the possible address cap flags which are LINEADDRCAPFLAGS FWDNUMRINGS LINEADDRCAPFLAGS DIALED LINEADDRCAPFLAGS TRANSFERHELD LINEADDRCAP
13. ee see ee 53 5 The IP Office Media Service Provider 5 1 Usind The MSP si RE E es ia 56 5 2 Using the Device Specific Interfaces 56 9 3 1TACDAgent 2 22er 57 5 4 nele oo nenn 57 D N MB EE EE EE N N 58 H 6 11Play ER EE EE EE OOR EE EE OE 59 5 7 IPOfficePrivateEvent esse sesse ees ees ee ee ee ee ke ee 59 5 8 Using the Media Streaming Capabilities of the MSP 59 A KOR RR N RE N 61 Page 3 15 601035 Issue 11g 22 June 2010 Chapter 1 IP Office TAPI Link TAPILink Developer s Guide ce Page 5 IP Offi 15 601035 Issue 11g 22 June 2010 IP Office TAPI Link 1 IP Office TAPI Link The IP Office CTI Link is available in Lite and Pro versions which provide run time interfaces for applications to use The Software Development Kit SDK provides documentation on both Lite and Pro interfaces for software developers Both the Lite and Pro offerings are the same program The additional functionality provided by IP Office CTI Link Pro is enabled when the CTI Link Pro licence key is installed Refer to the IP Office CTI Link Installation Manual for details This document provides information to assist a developer to implement an application that uses the IP Office TAPI Service Provider It also assumes the developer is already familiar with TAPI It is recommended that the reader of this document has access to the Microsoft Developer Network MSDN Library which provides a complete TAPI reference
14. from park HRESULT Unpark BlindTransfer The BlindTransfer method performs a blind or single step transfer of the specified call to the specified destination address HRESULT BlindTransfer BSTR pDestAddress Transfer The Transfer method transfers the current call to the destination address HRESULT Transfer ITBasicCallControl pCall VARIANT_BOOL fSync Finish The Finish method is called on a consultation call to finish a conference or a transfer HRESULT Finish FINISH_MODE finishMode Conference The Conference method adds a consultation call to the conference in which the current call is a participant HRESULT Conference ITBasicCallControl pCall VARIANT_BOOL fSync RemoveFromConference The RemoveFromConference method removes the call from a conference if it is involved in one HRESULT RemoveFromConference TAPILink Developer s Guide Page 49 IP Office 15 601035 Issue 11g 22 June 2010 3 4 3 ITCallStateEvent The ITCallStateEvent interface contains methods that retrieve the description of call state events get Cause The get Cause method gets the cause associated with this event HRESULT get Cause CALL STATE EVENT CAUSE pCEC get_State The get_State method gets information on the new call state HRESULT get State CALL STATE pCallState get_Call The get_Call method gets a pointer to the call information interface for the call on which the event
15. lineDial to ring the party that is to be transferred to Call lineCompleteTransfer to complete the transfer LONG WINAPI lineSetupTransfer HCALL hCall LPHCALL lphConsultCall LPLINECALLPARAMS const l1pCallParams i 2 1 38 lineShutdown Finish using TAPI line functions Normally called as your application closes down LONG WINAPI lineShutdown HLINEAPP hLineApp i 2 1 39 lineSwapHold This function puts the current active call on hold and retrieves the held call LONG WINAPI lineSwapHold HCALL hActiveCall HCALL hHeldCall i TAPILink Developer s Guide Page 30 IP Office 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Functions 2 1 40 lineUnhold This function retrieves a held call If the line is ringing a third party or has an active call with a third party when this function is called then the ringing active call will be dropped before the held call is retrieved LONG WINAPI lineUnhold HCALL hCall i 2 1 41 lineUnpark This function retrieves a parked call dwAddresslD should be O because IP Office lines only have one address IpszDestAddress should be the same identifier that was used to park the call see linePark LONG WINAPI lineUnpark HLINE hLine DWORD dwAddressID LPHCALL lphCall LPCSTR lpszDestAddress i TAPILink Developer s Guide Page 31 IP Office 15 601035 Issue 11g 22 June 2010 2 2 TAPI Structures 2 2 1 LINEADDRESSCAPS This structure is returned by th
16. not support custom tones dwNumTones should be zero LONG WINAPI lineGenerateTone HCALL hCall DWORD dwToneMode DWORD dwDuration DWORD dwNumTones LPLINEGENERATETONE const lpTones i TAPILink Developer s Guide Page 21 IP Office 15 601035 Issue 11g 22 June 2010 2 1 13 lineGetAddressCaps Retrieves the telephony capabilities of a particular address for a particular line The capabilities are returned in the LINEADDRESSCAPS structure See LINEADDRESSCAPS in the TAPI structures section for details IP Office lines always have a single address LONG WINAPI lineGetAddressCaps HLINEAPP hLineApp DWORD dwDevicelD DWORD dwAddressID DWORD dwAPIVersion DWORD dwExtVersion LPLINEADDRESSCAPS lpAddressCaps i 2 1 14 lineGetAddressID This function is used to map a phone number address assigned to a line device back to its dwAddressID in the range zero to the number of addresses minus one returned in the line s device capabilities LINEDEVCAPS Given that dwNumAddresses in LINEDEVCAPS is 1 this function will always return O in the DWORD pointed to by IpdwAddressID LONG WINAPI lineGetAddressID HLINE hLine LPDWORD lpdwAddressID DWORD dwAddressMode LPCSTR lpsAddress DWORD dwSize i 2 1 15 lineGetAddressStatus This function allows an application to query the specified address for its current status See LINEADDRESSSTATUS in the TAPI structures section for details LONG WINAPI lineGetAddre
17. them is available on the Avaya Support Web site http support avaya com Copyright Preventing toll fraud Toll fraud is the unauthorized use of your telecommunications system by an unauthorized party for example a person who is not a corporate employee agent subcontractor or is not working on your company s behalf Be aware that there can be a risk of toll fraud associated with your system and that if toll fraud occurs it can result in substantial additional charges for your telecommunications services Avaya fraud intervention If you suspect that you are being victimized by toll fraud and you need technical assistance or support call Technical Service Center Toll Fraud Intervention Hotline at 1 800 643 2353 for the United States and Canada For additional support telephone numbers see the Avaya Support Web site http support avaya com Suspected security vulnerabilities with Avaya products should be reported to Avaya by sending mail to securityalerts avaya com Trademarks Avaya and Aura are trademarks of Avaya Inc The trademarks logos and service marks Marks displayed in this site the documentation s and product s provided by Avaya are the registered or unregistered Marks of Avaya its affiliates or other third parties Users are not permitted to use such Marks without prior written consent from Avaya or such third party which may own the Mark Nothing contained in this site the documentation s and product
18. within the applet Windows Control Panel Applet Tab XP Pro Network and Internet Connections Phone and Modem Options Advanced 2000 Phone and Modem Options Advanced Run the appropriate applet for your version of Windows and select the tab indicated above You will be presented with the list of TAPI Service Providers that you have installed The IP Office TAPI Service Provider will be in the list of installed TAPI Service Providers Select Avaya IP Office TAPI Service Provider and press Configure You will be presented with the Avaya TAPI Configuration menu screen The IP Office TAPI Service Provider can operate in Single User mode or Third Party mode A license must be purchased to enable the Third Party mode Note that the unlicensed version will not prevent you from selecting this option but it will not work Single User mode means that the TAPI application can control and or monitor a single telephony device Third Party mode means that the TAPI application can control and or monitor all telephony devices on a particular IP Office Control Unit Note On some versions of Windows it will be necessary to reboot the PC or just restart the telephony service in order for configuration changes to take effect Single User Mode Enter the IP address of the IP Office unit in the box labeled Switch IP Address Select the Single User option Enter the user name and password for the extension that is to be monitored and or controlled by TAPI Normal
19. 5 Issue 11g 22 June 2010 HRESULT tr lineDevSpecific m hLine 0 NULL buffer len Set User Priority short code feature 197 This requires two fields The first field is the extension of the user for which the priority is to be set terminated with a colon The second field is a single character representing the integer user priority level 1 to 5 inclusive Note user priority can be used to determine which ARS Alternate Route Selection groups a user is permitted to use and thus can determine levels of out going call barring void TapiLine SetUserPriority TCHAR priority TCHAR buffer 100 TCHAR p amp buffer 2 buffer 0 9 buffer 1 197 itoa m_extension amp buffer 2 10 int len strlen buffer p amp buffer len PET ET DIES p priority ptt p 0 len int p buffer 1 HRESULT tr lineDevSpecific m_hLine 0 NULL buffer len TAPILink Developer s Guide IP Office Page 12 15 601035 Issue 11g 22 June 2010 IP Office TAPI Link TAPI Only Short Codes TAPILink Developer s Guide Page 13 IP Office 15 601035 Issue 11g 22 June 2010 Chapter 2 TAPI 2 x Reference TAPILink Developer s Guide ce Page 15 IP Offi 15 601035 Issue 11g 22 June 2010 2 TAPI 2 x Reference 2 1 TAPI Functions This section describes each of the TAPI 2 x functions supported by the IP Office TAPI driver It describes any particular behaviour or limitations of the function
20. AVAYA IP Office TAPILink Developer s Guide 15 601035 Issue 11g 22 June 2010 O 2010 AVAYA All Rights Reserved Notices While reasonable efforts have been made to ensure that the information in this document is complete and accurate at the time of printing Avaya assumes no liability for any errors Avaya reserves the right to make changes and corrections to the information in this document without the obligation to notify any person or organization of such changes Documentation disclaimer Avaya shall not be responsible for any modifications additions or deletions to the original published version of this documentation unless such modifications additions or deletions were performed by Avaya End User agree to indemnify and hold harmless Avaya Avaya s agents servants and employees against all claims lawsuits demands and judgments arising out of or in connection with subsequent modifications additions or deletions to this documentation to the extent made by End User Link disclaimer Avaya is not responsible for the contents or reliability of any linked Web sites referenced within this site or documentation s provided by Avaya Avaya is not responsible for the accuracy of any information statement or content provided on these sites and does not necessarily endorse the products services or information described or offered within them Avaya does not guarantee that these links will work all the time and has no control ov
21. FLAGS TRANSFERMAKE LINEADDRCAPFLAGS CONFERENCEHELD LINEADDRCAPFLAGS CONFERENCEMAKE LINEADDRCAPFLAGS FWDSTATUSVALID Returns the possible call features which are LINECALLFEATURE ADDTOCONF LINECALLFEATURE ANSWER LINECALLFEATURE BLINDTRANSFER LINECALLFEATURE COMPLETETRANSF LINECALLFEATURE DIAL LINECALLFEATURE DROP LINECALLFEATURE GENERATEDIGITS LINECALLFEATURE HOLD LINECALLFEATURE PARK LINECALLFEATURE REDIRECT LINECALLFEATURE REMOVEFROMCONF LINECALLFEATURE SETUPTRANSFER LINECALLFEATURE SWAPHOLD LINECALLFEATURE UNHOLD Page 33 15 601035 Issue 11g 22 June 2010 dwRemoveFromConfCaps dwRemoveFromConfState dwTransferModes dwParkModes dwForwardModes dwMaxForwardEntries dwMaxSpecificEntries dwMinFwdNumRings dwMaxFwdNumRings dwMaxCallCompletions dwCallCompletionConds dwCallCompletionModes dwNumCompletionMessages dwCompletionMsgTextEntrySize dwCompletionMsgTextSize dwCompletionMsgTextOffset dwAddressFeatures dwPredictiveAutoTransferStates dwNumCallTreatments dwCallTreatmentListSize dwCallTreatmentListOffset dwDeviceClassesSize dwDeviceClassesOffset dwMaxCallDataSize dwCallFeatures2 dwMaxNoAnswerTimeout dwConnectedModes dwOfferingModes dwAvailableMediaModes TAPILink Developer s Guide IP Office LINECALLFEATURE_SETCALLDATA Returns the possible remove from conference caps which is LINEREMOVEFROMCONF ANY Returns the possible remove from conference state which is LINECALLSTATE ONHOLD Returns the possible transfe
22. I lineHandoff HCALL hCall LPCSTR lpszFileName DWORD dwMediaMode i 2 1 23 lineHold This function holds an active call LONG WINAPI lineHold HCALL hCall i 2 1 24 linelnitializeEx This is the first TAPI function that should be called to initialise TAPI The IpdwAPI Version parameter should be set to at least 0x00020000 LONG WINAPI lineInitializeEx LPHLINEAPP lphLineApp HINSTANCE hInstance LINECALLBACK lpfnCallback LPCSTR lpszFriendlyAppName LPDWORD lpdwNumDevs LPDWORD lpdwAPIVersion LPLINEINITIALIZEEXPARAMS lpLinelnitializeExParams i 2 1 25 lineMakeCall This function makes a call See section on call parameters at the end of the TAPI functions chapter LONG WINAPI lineMakeCall HLINE hLine LPHCALL lphCall LPCSTR lpszDestAddress DWORD dwCountryCode LPLINECALLPARAMS const lpCallParams i TAPILink Developer s Guide Page 26 IP Office 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Functions 2 1 26 lineMonitorDigits Call this function to enable the detection of DTMF digits This function only works when the IP Office wave driver is involved in the call and the user is a WAV user see the WAV users section Detection is done by analysing media samples in the WAV driver When a DTMF tone is detected a LINE MONITORDIGITS message is sent to the application dwDigitModes can be LINEDIGITMODE DTMF and or LINEDIGITMODE DTMFEND Call lineMonitorDigits with a dwDigitMode o
23. ICE message will be sent for each TAPI line recovered TAPI 3 When the TSP loses its connection to IP Office an ITAddressEvent is generated for each address that has registered for such events These events will indicate that the addresses state has changed The state will become AS_OUTOFSERVICE When the TSP re establishes its connection to IP Office no events are generated However once communication has been re established all open TAPI 3 Addresses will be recovered 1 6 TAPI Only Short Codes The following TAPI only short code function were added for IP Office 4 1 and higher Set User Rights Group short code feature 196 First character is an integer not ASCII of integer which selects the User restrictions group that will be changed 1 Set the active User Rights Group This option will set either the Working Hours or Out of Hours User Rights Group depending which is currently active 2 Set the Working Hours User Rights Group 3 Set the Out of Hours User Rights Group The subsequent characters are the null terminated name of the selected user rights group that you wish to set the above selection to or an empty string to clear it void Tapiline SetUserRightsGroup CString amp selstring SetURGOption setoption int len 4 selstring GetLength TCHAR buffer 100 buffer 0 9 buffer 1 196 buffer 2 setoption strlcpy amp buffer 3 LPCTSTR selstring 16 TAPILink Developer s Guide Page 11 IP Office 15 60103
24. IP Office TAPI Driver The architecture of Windows allows developers to implement applications using standard Application Programming Interfaces API regardless of telephony equipment being used Telephony equipment manufacturers provide telephony drivers called Telephony Service Providers TSP that are installed on Windows These TSPs provide the link between TAPI and the telephony equipment The TAPI driver for IP Office supports all TAPI versions from 2 0 to 3 0 Disclaimer Please note that although Avaya intend that releases of the IP Office TAPI Driver will provide backwards compatibility with earlier versions of the IP Office TAPI Driver in terms of the feature set provided Avaya cannot guarantee that the behaviour of IP Office will remain unchanged Due to improvements in IP Office the precise sequence timing and content of TAPI events are likely to change It is recommended that developers use an event driven programming model to make their applications resilient to such changes References The following are recommended reading MSDN Platform SDK Windows Telephony Programming TAPI 1 x and 2 x CTI Link Installation Manual IP Office 4 1 TAPI Changes IP Office 4 1 introduces a number of changes to the IP Office TAPI interfaces GetLineDevStatus 24 This option is now includes additional fields for reporting user rights settings If you are using the TAPI interface you may need to increase the size of message receive buffe
25. calling party identifier dwCallParamFlags TAPILink Developer s Guide Page 37 IP Office 15 601035 Issue 11g 22 June 2010 2 2 5 LINECALLSTATUS This structure is returned by the lineGetCallStatus function Not all members of this structure are listed For full information on the LINECALLSTATUS see the Microsoft TAPI documentation dwCallState Returns one of the following states LINECALLSTATE IDLE The call no longer exists LINECALLSTATE OFFERING a new call has arrived LINECALLSTATE ACCEPTED the call has been claimed by an application LINECALLSTATE DIALTONE the caller hears a dial tone LINECALLSTATE DIALING the switch is receiving dialling information LINECALLSTATE RINGBACK the caller hears ringing LINECALLSTATE BUSY the caller hears the busy signal LINECALLSTATE CONNECTED the call has been connected end to end LINECALLSTATE PROCEEDING dialling has completed but the call has not yet been connected LINECALLSTATE ONHOLD the call is on hold LINECALLSTATE CONFERENCED the call is on a conference LINECALLSTATE ONHOLDPENDCONF the call is on hold before being conferenced LINECALLSTATE ONHOLDPENDTRANSFER the call is on hold before being transferred LINECALLSTATE DISCONNECTED the other end has dropped the call LINECALLSTATE UNKNOWN the call state is unknown dwCallStateMode Always zero dwCallPrivilege The applications privilege for this call dwCallFeatures The call features available for the call state ind
26. ded by End User to Avaya through electronic means established by Avaya specifically for this purpose Copyright Except where expressly stated otherwise no use should be made of materials on this site the Documentation s and Product s provided by Avaya All content on this site the documentation s and the product s provided by Avaya including the selection arrangement and design of the content is owned either by Avaya or its licensors and is protected by copyright and other intellectual property laws including the sui generis rights relating to the protection of databases You may not modify copy reproduce republish upload post transmit or distribute in any way any content in whole or in part including any code and software Unauthorized reproduction transmission dissemination storage and or use without the express written consent of Avaya can be a criminal as well as a civil offense under the applicable law Third Party Components Certain software programs or portions thereof included in the Product may contain software distributed under third party agreements Third Party Components which may contain terms that expand or limit rights to use certain portions of the Product Third Party Terms Information regarding distributed Linux OS source code for those Products that have distributed the Linux OS source code and identifying the copyright holders of the Third Party Components and the Third Party Terms that apply to
27. e to set the divert destination to extension 236 send the following buffer unsigned char buf 6 int len 6 buf 0 9 The first two bytes are devspecific constants buf 1 6 buf 2 2 buf 3 3 buf 4 6 buf 5 0 Don t forget the null terminator 2 1 8 4 Message Waiting Lamp Some phones have lights that are lit when the user has voicemail messages waiting for them The number of messages waiting can be controlled by a devspecific command The IP Office server or other IP Office applications may also control the message waiting lamp Zero messages will extinguish the lamp One or more messages will light the lamp Send the following buffer to lineDevSpecific unsigned char buf 21 int len 21 buf 0 9 Shortcode buf 1 73 Set MWL sprintf amp buffer 2 Mailbox Msgs d num Where num is the number of messages TAPILink Developer s Guide Page 19 IP Office 15 601035 Issue 11g 22 June 2010 2 1 8 5 Forward Divert Settings The following constants will help with switching divert features on and off const unsigned char ForwardAllOn 0 j const unsigned char ForwardAllOff 1 const unsigned char ForwardBusyOn 2 const unsigned char ForwardBusyOff 3 const unsigned char ForwardNoAnswerOn 4 const unsigned char ForwardNoAnswerOff 5 const unsigned char DoNotDisturbon 7 const unsigned char DoNotDisturbOff 8 A buffer that uses any of these constants s
28. e lineGetAddressCaps function The following table indicates the values that are returned for lines that relate to the IP Office TAPI driver Not all members of this structure are listed For full information on the LINEADDRESSCAPS see the Microsoft TAPI documentation dwLineDevicelD dwDevSpecificSize dwDevSpecificOffset dwAddressSharing dwAddressStates dwCalllnfoStates dwCallerl DFlags dwCalledlDFlags dwConnectedl DFlags dwRedirectionl DFlags dwRedirectingl DFlags dwCallStates TAPILink Developer s Guide IP Office Description Value The ID of the line to which this address relates No extra information specific to the device is passed 0 LINEADDRESSSHARING_PRIVATE 0 Returns the possible call info states which are LINECALLINFOSTATE_CALLID LINECALLINFOSTATE_RELATEDCALLID LINECALLINFOSTATE_NUMOWNERINCR LINECALLINFOSTATE NUMOWNEDECR LINECALLINFOSTATE NUMMONITORS LINECALLINFOSTATE CALLERID LINECALLINFOSTATE CALLEDID LINECALLINFOSTATE REDIRECTIONID LINECALLINFOSTATE REDIRECTINGID LINECALLINFOSTATE DISPLAY LINECALLINFOSTATE MONITORMODES LINECALLINFOSTATE CALLDATA Returns the possible caller ID flags which are LINECALLPARTYID BLOCKED LINECALLPARTYID OUTOFAREA LINECALLPARTYID NAME LINECALLPARTYID ADDRESS LINECALLPARTYID UNKNOWN LINECALLPARTYID UNAVAIL Returns the possible called ID flags which are LINECALLPARTYID BLOCKED LINECALLPARTYID OUTOFAREA LINECALLPARTYID NAME LINECALLPARTYID ADDRESS
29. ected The number of the location to which a call has been redirected The name of the location that redirected the call OO NOU BU N MIO The number of the location that redirected the call The called party friendly name Rh RP HO A comment about the call provided by the application that originated the call pa N A displayable version of the called or calling address m w The identifier of the calling party Page 52 15 601035 Issue 11g 22 June 2010 4 3 DISCONNECT CODE TAPI 3 Enumerated Types CALLINFO STRING The DISCONNECT CODE enum is used by the I TBasicCallControl Disconnect method Member us beset UT 0 DC_NORMAL DC_NOANSWER 1 The call is being disconnected as part of the normal cycle of the call The call is being disconnected because it has not been answered For example an application may set a certain amount of time for the user to answer the call If the user does not answer the application can call Disconnect with the NOANSWER code DC_REJECTED 2 4 4 CALL STATE EVENT CAUSE The user rejected the offered call The CALL STATE EVENT CAUSE enum is returned by the ITCallStateEvent get_Cause method EEN EN EE CEC NONE 0 CEC_DISCONNECT_NORMAL 1 CEC_DISCONNECT_BUSY 2 CEC_DISCONNECT_BADADDRESS 3 CEC_DISCONNECT_NOANSWER 4 CEC_DISCONNECT_CANCELLED 5 CEC_DISCONNECT_REJECTED CEC_DISCONNECT_FAILED TAPILink Developer s Guide IP Office No call event has occurred The call
30. edia mode which is LINEMEDIAMODE_INTERACTI VEVOICE Set by application Call ID Returns the possible call parameter flags which is LINECALLPARAMFLAGS_IDLE Returns the possible call states which are LINECALLSTATE_IDLE LINECALLSTATE_OFFERING LINECALLSTATE_DIALTONE LINECALLSTATE_DIALING LINECALLSTATE_RINGBACK LINECALLSTATE_BUSY LINECALLSTATE_ CONNECTED LINECALLSTATE PROCEEDING LINECALLSTATE ONHOLD LINECALLSTATE CONFERENCED LINECALLSTATE ONHOLDPENDCONF LINECALLSTATE ONHOLDPENDTRANSFER LINECALLSTATE DISCONNECTED LINECALLSTATE UNKNOWN 0 0 OXFFFFFFFF only valid for TAPI Version 3 0 and above only valid for TAPI Version 3 0 and above only valid for TAPI Version 3 0 and above only valid for TAPI Version 3 0 and above oo o O OO OO OO OO OO 00000000 Ma EE pa pa only valid for TAPI Version 3 0 and above Page 36 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Structures 2 2 4 LINECALLPARAMS The following parameters are recognized in the LINECALLPARAMS structure that can be passed to lineMakeCall and lineSetupTransfer Not all members of this structure are listed For full information on the LINECALLPARAMS see the Microsoft TAPI documentation Description Value Set this to zero for normal use or enter LINEBEARERMODE_VOICE if you wish to conceal the caller line identifier on the call dwCalledPartyOffset Can be used to set the called party identifier dwCallingPartyl DOffset Can be used to set the
31. ents an entity that can make or receive calls 3 2 1 ITAddress The interface is the base interface for the Address object get AddressName Gets the displayable name of the address HRESULT get AddressName BSTR ppName get DialableAddress The get DialableAddress method gets the BSTR which can be used to connect to this address HRESULT get DialableAddress BSTR pDialableAddress get ServiceProviderName The get ServiceProviderName method gets the name of the Telephony Service Provider TSP that supports this address for example Unimdm tsp for the Unimodem service provider or H323 tsp for the H323 service provider HRESULT get ServicePproviderName BSTR ppName CreateCall The CreateCall method creates a new Call object that can be used to make an outgoing call and returns a pointer to the object s ITBasicCallControl interface HRESULT CreateCall BSTR pDialableAddress Long lAddressType Long 1MediaTypes ITBasicCallControl ppCall TAPILink Developer s Guide Page 45 IP Office 15 601035 Issue 11g 22 June 2010 3 2 2 IEnumAddress Provides COM standard enumeration methods for the TAddress interface Next The Next method gets the next specified number of elements in the enumeration sequence HRESULT Next ULONG celt ITAddress ppElements ULONG pceltFetched 3 2 3 ITMediaSupport The ITMediaSupport interface provides methods that allow an application to discover the
32. er the availability of the linked pages Warranty Avaya provides a limited warranty on this product Refer to your sales agreement to establish the terms of the limited warranty In addition Avaya s standard warranty language as well as information regarding support for this product while under warranty is available to Avaya customers and other parties through the Avaya Support Web site http www avaya com support Please note that if you acquired the product from an authorized Avaya reseller outside of the United States and Canada the warranty is provided to you by said Avaya reseller and not by Avaya Licenses THE SOFTWARE LICENSE TERMS AVAILABLE ON THE AVAYA WEBSITE HTTP SUPPORT AVAYA COM LICENSEINFO ARE APPLICABLE TO ANYONE WHO DOWNLOADS USES AND OR INSTALLS AVAYA SOFTWARE PURCHASED FROM AVAYA INC ANY AVAYA AFFILIATE OR AN AUTHORIZED AVAYA RESELLER AS APPLICABLE UNDER A COMMERCIAL AGREEMENT WITH AVAYA OR AN AUTHORIZED AVAYA RESELLER UNLESS OTHERWISE AGREED TO BY AVAYA IN WRITING AVAYA DOES NOT EXTEND THIS LICENSE IF THE SOFTWARE WAS OBTAINED FROM ANYONE OTHER THAN AVAYA AN AVAYA AFFILIATE OR AN AVAYA AUTHORIZED RESELLER AND AVAYA RESERVES THE RIGHT TO TAKE LEGAL ACTION AGAINST YOU AND ANYONE ELSE USING OR SELLING THE SOFTWARE WITHOUT A LICENSE BY INSTALLING DOWNLOADING OR USING THE SOFTWARE OR AUTHORIZING OTHERS TO DO SO YOU ON BEHALF OF YOURSELF AND THE ENTITY FOR WHOM YOU ARE INSTALLING DOWNLOADING OR USING THE
33. es voicemail messages n 12 Number of unread The number of voicemail messages waiting for the user voicemail messages n 13 Outside call sequence Type of ring for external calls number n 14 Inside call sequence Type of ring for internal calls number n 15 Ring back sequence Type of ring for ringback calls number n 16 No answer timeout Number of seconds the phone will ring before following the no answer action e g period forward on no answer divert to voicemail n 17 Wrap up time period Number of seconds the phone will remain unable to accept calls following a call n 18 Can intrude flag 1 if this phone can intrude upon calls n 19 Cannot be intruded upon 1 if this phone cannot be intruded upon flag n 20 X directory flag 1 if this user does not appear in the internal directory n 21 Force login flag in the logged out state on power up and therefore a user must log in n 22 Forced account code flag 1 if this phone is forced to provide a valid account code when making external calls n 23 Login code flag 1 if this user has a login code configured n 24 System phone flag 1 if this is a system phone n 25 Absent message id The id of the absent message n 26 Absent message set flag 1 if the absent message with the id in the previous field is displayed on the phone n 27 Voicemail email mode 1 if voicemail email mode is enabled n 28 Extn The user extension which may be different to the phone extension m m 1 0 Null terminator for Extn stri
34. ettingsChanged function on the I POfficePrivateEvents interface TAPILink Developer s Guide IP Office Page 58 15 601035 Issue 11g 22 June 2010 The IP Office Media Service Provider ITDivert 5 6 ITPlay The ITPlay interface is implemented on the MSP Call object It allows for recording and playing of wave files StartPlay BSTR FileName FileName should be the complete path to a wave file to play StopPlay StartRecord BSTR FileName FileName should be the complete path to a wave file to record to StopRecord Playing and recording can be stopped and started at any time on the call Recording will use only a single file per call though and will append to the file if recording is stopped and restarted It is not advisable to attempt to record and play at the same time If this is a requirement recording and playing can be done by selecting terminals onto the call that supply audio data from a file or record audio data to a file TAPI 3 1 introduces file streaming terminals to make this easier 5 7 IPOfficePrivateEvents This is a connection point interface that the MSP uses to report events on See the DevSpice sample on how to register for and handle private events OnUserLogin void Fired when an agent a user with force logon set in Manager logs on OnUserLogout void Fired when an agent logs out OnDivertSettingsChanged DWORD Fired when the user changes one of their divert setting flags such as Do dwDivertSettings No
35. extn 5 4 ITGroup This interface contains functions at other phones in the group PickupAny void PickupGroup void PickupExtn BSTR extn PickupMembers BSTR extn Enable BSTR groupextn Disable BSTR groupextn TAPILink Developer s Guide IP Office The IP Office Media Service Provider Using the Device Specific Interfaces Returns S_TRUE if the user is logged in and S_FALSE if the user is logged out Logs the user off of this line The user must have force logon set in Manager Logs the user onto the given extension Listens to the call present at the given extension The user must have the Can Intrude privilege set in Manager Conferences the current user in to the call present at the given extension The user must have the Can Intrude privilege set in Manager Sets the account code for the current call to take the user in and out of group as well as to intercept calls that present themselves Equivalent to executing the CallPickupAny shortcode on the user s terminal See Manager for details Equivalent to executing the CallPickupGroup shortcode on the user s terminal Equivalent to executing the CallPickupExtn shortcode on the user s extension Equivalent to executing the CallPickupMembers shortcode on the user s extension Enables the user s membership of the given group If groupextn is an empty string the user will be enabled in all groups that he she is a member of Disables the user s membership of the give
36. f zero to cancel DTMF digit detection LONG WINAPI lineMonitorDigits HCALL hCall DWORD dwDigitModes i 2 1 27 lineMonitorTone This function like the one above requires that the wave driver be involved in the call Furthermore it can only be used to detect silence The frequencies in the LINEMONITORTONE structure pointed to by IpToneList must all be zero If silence is detected a LINE MONITORTONE message is sent to the application Call lineMonitorTone with IpToneList set to NULL to cancel silence detection LONG WINAPI lineMonitorTone HCALL hCall LPLINEMONITORTONE const lpToneList DWORD dwNumEntries i 2 1 28 lineNegotiateAPlVersion This function should be called immediately after linel nitializeEx to ensure that correct TAPI notifications are sent to your application It must be called for every line that your application uses LONG WINAPI lineNegotiateAPIVersion HLINEAPP hLineApp DWORD dwDevicelD DWORD dwAPILowVersion DWORD dwAPIHighVersion LPDWORD lpdwAPIVersion LPLINEEXTENSIONID lpExtensionID TAPILink Developer s Guide Page 27 IP Office 15 601035 Issue 11g 22 June 2010 2 1 29 lineOpen This function opens a line device dwMediaModes should be set to LINEMEDIAMODE_INTERACTIVEVOICE for ISDN T1 and LINEMEDIAMODE UNKNOWN for Analogue trunks You can specify both to handle calls from both trunk types LONG WINAPI lineOpen HLINEAPP hLineApp DWORD dwDevicelD LPHLINE l
37. gins with TAPI Such as TAPI 201 You may create as many WAV users as you wish but each WAVE user will require a wave driver licence instance to enable media streaming to that user 5 2 Using the Device Specific Interfaces The device specific interfaces are implemented on the Address and Call objects of the MSP TAPI 3 0 will delegate queries for interfaces it does not recognise to the MSP If therefore you have a pointer to an ITAddress interface you can call Queryl nterface to retrieve a pointer to the ITDivert interface for example The following code from the DevSpice sample illustrates ITDivert pDivert NULL if SUCCEEDED gpAddress gt QueryInterface IID_ITDIVERT void amp pDivert DWORD dwDivertSettings 0 if FAILED pDivert gt GetDivertSettings amp dwDivertSettings The interfaces available from the address object are ITACDAgent ITDivert ITGroup The interface available from the Call object is ITPlay Furthermore the address object acts as a connection point container for IP Office Private events The connection point interface is available in the interfaces h file of the DevSpice sample and is called IPOfficePrivateEvent Details of these interfaces are given below TAPILink Developer s Guide Page 56 IP Office 15 601035 Issue 11g 22 June 2010 5 3 ITACDAgent IsLoggedIn void LogOut void Login BSTR extn CallListen BSTR extn Intrude BSTR extn SetAccountCode BSTR
38. gnored 2 1 3 lineBlindTransfer This function can be used to transfer an active call to a third party The country code is ignored LONG WINAPI lineBlindTransfer HCALL hCall LPCSTR lpszDestAddress DWORD dwCountryCode i 2 1 4 lineCompleteTransfer This function can be used to complete a transfer or complete setting up a conference call This function is supposed to return a call id to the conference but it always returns zero LONG WINAPI lineCompleteTransfer HCALL hCall HCALL hConsultCall LPHCALL lphConfCall DWORD dwTransferMode i TAPILink Developer s Guide Page 17 IP Office 15 601035 Issue 11g 22 June 2010 2 1 5 lineConfigDialog Displays the same TAPI Service Provider configuration dialog that appears in Control Panel Phone and Modem options or Telephony Parameter IpszDeviceClass is ignored LONG WINAPI lineConfigDialog DWORD dwDevicelD HWND hwndOwner LPCSTR lpszDeviceClass i 2 1 6 lineClose Closes a line Call this when you no longer want to make receive or monitor calls on a line LONG WINAPI lineClose HLINE hLine i 2 1 7 lineDeallocateCall Deallocate resources associated with a call This should be called once a call is in the idle state LONG WINAPI lineDeallocateCall HCALL hCall i TAPILink Developer s Guide Page 18 IP Office 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Functions 2 1 8 lineDevSpecific The TSPI allows for extended functi
39. has occurred HRESULT get_Call ITCallInfo ppCallInfo 3 4 4 ITCallNotificationEvent The ITCallNotificationEvent interface contains methods that retrieve the description of call notification events get_Call The get Call method returns the ITCalll nfo interface on which a call event has occurred HRESULT get_Call ITCallInfo ppCall 3 4 5 ITCalllnfoChangeEvent The ITCalllnfoChangeEvent interface contains methods that retrieve the description of call information change events get Call The get Call method returns the ITCalllnfo interface on which call information has changed HRESULT get_Call ITCallInfo ppCall y 3 5 Call Hub The Call Hub object exposes methods that retrieve information concerning participants in a multi party call Call Hubs are not supported by IP Office Call Hub Events may be received but should be ignored TAPILink Developer s Guide Page 50 IP Office 15 601035 Issue 11g 22 June 2010 Chapter 4 TAPI 3 Enumerated Types TAPILink Developer s Guide Page 51 Office 15 601035 Issue 11g 22 June 2010 4 TAPI 3 Enumerated Types 4 1 CALL STATE The CALL STATE enum is used by the ITCalllnfo get_CallState and ITCallStateEvent get State methods EEN CON GENE CS_IDLE 0 CS INPROGRESS 1 CS CONNECTED 2 CS DISCONNECTED 3 CS_ OFFERING 4 CS_ HOLD 5 CS_QUEUED The call has been created but Connect has not been called yet A call can never transition into the idle state
40. hould be three bytes in length and should begin with a 9 For example the following code will switch the line to Do Not Disturb unsigned char buf 3 int len 3 buf 0 9 buf 1 DoNotDisturbOn buf 2 0 2 1 8 6 Group Enable and Disable You can only enable and disable a users membership of the groups to which they belong as configured in IP Office Manager Send the following buffer to enable the user s membership in the group with extension groupnum unsigned char buf 10 int len 10 buf 0 9 buf 1 76 sprintf char amp buf 2 Sd groupnum Send the following buffer to disable the user s membership in the group with extension groupnum unsigned char buf 101 int len 10 buf 0 9 buf 1 77 sprintf char amp buf 2 Sd groupnum In both cases disabling and enabling group membership you may elect to disable or enable all group membership by omitting the group number and placing a zero in its place ie buf 2 0 Note The enable function toggles and therefore can be used to both enable and disable membership 2 1 8 7 Intrude Send the following buffer to intrude upon another callers call The call party to be intruded upon is identified by the integer extnnum unsigned char buf 10 int len 10 buf 0 9 Shortcode buf 1 83 Intrude sprintf char amp buf 2 Sd extnnum 2 1 8 8 Listen Send the following buffer to listen to anothe
41. icated by dwCallState TAPI specifices all possible features however only those that appear in dwCallFeatures in the LINEADDRESSCAPS structure can be used dwDevSpecificSize 0 dwDevSpecificOffset 0 dwCallFeatures2 0 tStateEntryTime Zeros TAPILink Developer s Guide Page 38 IP Office 15 601035 Issue 11g 22 June 2010 2 2 6 LINEDEVCAPS TAPI 2 x Reference TAPI Structures This structure is returned by the lineGetDevCaps function The comments below indicate the values that will be returned for lines that relate to the IP Office TAPI driver Not all members of this structure are listed For full information on the LINEDEVCAPS see the Microsoft TAPI documentation dwProviderlnfoSize dwSwitchl nfoSize dwPermanentLinel D dwLineNameSize dwStringFormat dwAddressModes dwNumAddresses dwBearerModes dwMaxRate dwMediaModes dwGenerateToneModes dwGenerateToneMaxNumFreg dwMonitorToneMaxNumFreg dwMonitorToneMaxNumeEntries dwGatherDigitsMinTimeout dwGatherDigitsMaxTimeout dwMedCtIDigitMaxListSize dwMedCtIMediaMaxListSize dwMedCtlToneMaxListSize dwMedCtlCallStateMaxListSize dwDevCapFlags dwMaxNumActiveCalls dwAnswerMode dwRingModes dwLineStates dwUUIAcceptSize dwUUIAnswerSize dwUUI MakeCallSize dwUUIDropSize dwUUISendUserUserlnfoSize dwUUI Calll nfoSize TAPILink Developer s Guide IP Office Description Value Indicates the Provider Name e the name of the TSP 0 Unique identifier assigned by W
42. indows Indicates the Line Name Returns the string format which is STRINGFORMAT_ASCII Returns the address mode which is LINEADDRESSMODE_ADDRESSID 1 Returns the bearer modes which are LINEBEARERMODE_VOICE LINEBEARERMODE_SPEECH 0 Returns the media mode which is LINEMEDIAMODE_INTERACTIVEVOICE Returns the generate tone mode which is LINETONEMODE_BEEP OO OO OOM MO Returns the dev cap flags which are LINEDEVCAPFLAGS CLOSEDROP LINEDEVCAPFLAGS DIALBILLING LINEDEVCAPFLAGS DIALOUIET LINEDEVCAPFLAGS DIALDUALTONE 9 Returns the answer mode which is LINEANSWERMODE_NONE 1 Returns the line state which is LINEDEVSTATE_RINGING LINEDEVSTATE_ CONNECTED LINEDEVSTATE_DISCONNECTED LINEDEVSTATE INSERVICE LINEDEVSTATE OUTOFSERVICE LINEDEVSTATE OPEN LINEDEVSTATE CLOSE LINEDEVSTATE REINIT LINEDEVSTATE TRANSLATECHNGE LINEDEVSTATE REMOVED 0 100 100 100 100 User to User call information size 100 Page 39 15 601035 Issue 11g 22 June 2010 dwNumTerminals dwTerminalCapsSize dwTerminalCapsOffset dwTerminalTextEntrySize dwTerminalTextSize dwTerminalTextOffset dwDevSpecificSize dwDevSpecificOffset dwLineFeatures dwSettableDevStatus dwDeviceClassesSize PermanentLineGuide dwAddressTypes ProtocolGuide dwAvailableTracking TAPILink Developer s Guide IP Office OO OO OO OO Returns the line feature which is LINEFEATURE MAKECALL 0 tapi line Only relevant if using TAPI Version 2 2 or higher
43. loper s Guide Page 59 IP Office 15 601035 Issue 11g 22 June 2010 Index C call hub 50 call state 52 event cause 53 callinfo 52 configuring driver 9 ip office 11 D device interfaces 56 disconnect code 53 divert destination 19 F forward divert settings 20 G group enable disable 20 installing drivers 7 licenses 7 intrude 20 L listen 20 logging off 19 login protocol 19 M media streaming 59 message waiting lamp 19 MSP 56 P private events 59 T TAPI events messages 41 functions 16 TAPI2 11 TAPI3 11 terminal 46 U using device interfaces 56 media streaming 59 msp 56 TAPILink Developer s Guide IP Office Index Page 61 15 601035 Issue 11g 22 June 2010 TAPILink Developer s Guide Page 63 IP Office 15 601035 Issue 11g 22 June 2010 Performance figures and data guoted in this document are typical and must be specifically confirmed in writing by Avaya before they become applicable to any particular order or contract The company reserves the right to make alterations or amendments to the detailed specifications at its discretion The publication of information in this document does not imply freedom from patent or other protective rights of Avaya or others All trademarks identified by the or are registered trademarks or trademarks respectively of Avaya Inc All other trademarks are the property of their respective owners This document contains proprietary information of Avaya and is not to be
44. ls Always 0 dwNumOnHoldPendCalls Always 0 dwAddressFeatures Indicates the capabilities which are LINEADDRFEATURE_MAKECALL LINEADDRFEATURE_SETUPCONF LINEADDRFEATURE_UNPARK dwNumRingsNoAnswer 5 dwForwardNumeEntries Always 0 dwForwardSize Always 0 dwForwardOffset Always 0 dwTerminalModesSize Always 0 dwTerminalModesOffset Always 0 dwDevSpecificSize Always 0 TAPILinkDevelopersGuide Page 35 IP Office 15 601035 Issue 11g 22 June 2010 2 2 3 LINECALLINFO This structure is returned by lineGetCalll nfo Not all members of this structure are listed For full information on the LINECALLINFO see the Microsoft TAPI documentation dwAddressID dwBearerMode dwRate dwMediaMode dwAppSpecific dwCalllD dwCallParamFlags dwCallStates dwMonitorMediaModes dwCountryCode dwTrunk dwCommentSize dwCommentOffset dwUserUserlnfoSize dwUserUserl nfoOffset dwHighLevelCompSize dwHighLevelCompOffset dwLowLevelCompSize dwLowLevelCompOffset dwCharginglnfoSize dwChargingI nfoOffset dwTerminalModesSize dwTerminalModesOffset dwCallDataOffset dwSendingFlowspecSize dwSendingFlowspecOffset dwReceivingFlowspecSize dwReceivingFlowspecOffset dwCallerl DAddressType dwCalledl DAddressType dwConnectedlDAddressType dwRedirectionl DAddressType dwRedirectingl DAddressType TAPILink Developer s Guide IP Office Always O Returns the possible bearer mode which is LINEBEARERMODE_VOICE 64000 Returns the possible m
45. ly the user name will be the name of a person associated with a physical telephone extension Third Party Mode Enter the IP address of the IP Office unit in the box labeled Switch IP Address Select the Third Party option Enter the system password of the IP Office By default Third Party mode will provide a TAPI line for every physical extension attached to the IP Office The check boxes associated with Third Party mode enable additional entities to be monitored and or controlled by TAPI WAV Users If a user has a user name that begins with TAPI it is a WAV user The IP Office switch will attempt to stream audio to WAV users when they are involved in calls This audio streaming requires the IP Office wave driver to be installed on the PC and requires a wave driver licence instance per user If the wave driver is not installed you may still have the WAV Users tick box checked and will still receive WAV user events without the need for a licence During use the TAPI WAV audio stream uses an IP Office data channel taken from the same pool of data channels as used for voicemail ports The maximum number of data channels available for simultaneous voicemail and TAPI WAV calls depends on the IP Office Control Unit type Control Unit Data Channels usable for Channels Voicemail TAP WAV 10 Small Office Edition EE o TAPILink Developer s Guide Page 9 IP Office 15 601035 Issue 11g 22 June 2010 ACD Oueues The IP Office can be co
46. media support capabilities for an Address Object that exposes this interface get_MediaTypes The get_MediaTypes method gets the media type or types supported on the current address HRESULT get_MediaTypes long plMediaTypes 3 3 Terminal Terminal object represents the source or sink of a media stream associated with a call or communications session TAPILink Developer s Guide Page 46 IP Office 15 601035 Issue 11g 22 June 2010 TAPI 3 0 Reference Terminal 3 4 Call The Call object represents an address s connection between the local address and one or more other addresses 3 4 1 ITCalllnfo The ITCalllnfo interface gets and sets a variety of information concerning a Call object get_Address The get Address method gets a pointer to the ITAddress interface of the Address object HRESULT get_Address ITAddress ppAddress get_CallState The get_CallState method gets a pointer to the current call state such as CS_IDLE HRESULT get_CallState CALL_STATE pCallState get CalllnfoString The get CalllnfoString method gets a call information items described by a string such as the displayable address HRESULT get CalllInfoString CALLINFO STRING CallInfoString BSTR ppCallInfoString y SetCalll nfoBuffer Either by accident or design TAPI 3 0 Windows 2000 only allows this function on a call that is in the IDLE state This has been changed in TAPI 3 1 Windows XP which allows call data to
47. n group If groupextn is an empty string the user will be disabled in all groups that he she is a member of Page 57 15 601035 Issue 11g 22 June 2010 5 5 ITDivert This interface contains functions for getting and setting the divert flags for the address GetDivertAllDestination BSTR pDestination SetDivertAllDestination BSTR dest GetDivertSettings DWORD pdwDivertSets SetForwardAll VARIANT_BOOL bOn SetForwardBusy VARIANT_BOOL bOn SetForwardNoAnswer VARIANT_BOOL bOn SetDoNotDisturb VARIANT_BOOL bOn Gets the current Divert All destination and returns the result in the pDestination value This function sets bits in the DWORD pointed to by pdwDivertSets to indicate which of the divert settings are currently active The bits are defined by the IP OFFICE DIVERT SETTINGS enum described below Toggles the ForwardAll setting for this user Toggles the ForwardBusy setting for this user Toggles the ForwardNoAnswer setting for this user Toggles the DND setting for this user The IP OFFICE DIVERT SETTINGS enum is defined as follows typedef enum IPOFF_FWDALL 0x01 IPOFF_FWDBUSY 0x02 IPOFF_NOANSWER 0x04 IPOFF_DND 0x08 IPOFF_DESTINATION 0x10 IP_OFFICE_DIVERT_SETTINGS Therefore getting a result of 14 Oxe from GetDivertSettings implies that the user has ForwardBusy ForwardNoAnswer and DoNotDisturb set The IPOFF_DESTINATION value is not used by GetDivertSettings only by the Fire_DivertS
48. nfigured to gueue incoming calls that are being presented to a group of internal users For example if your IP Office was configured with a group of call center agents you would want to queue an incoming call until an agent becomes available to take the call Checking the ACD Queues check box provides lines to monitor and or control the queue of calls against a group TAPILink Developer s Guide Page 10 IP Office 15 601035 Issue 11g 22 June 2010 IP Office TAPI Link Configuring the TAPI Driver 1 4 Configuring Your IP Office for TAPI This section describes the configuration of the IP Office using the Manager application If your application monitors telephones but does not control them then there is no configuration necessary There are two ways in which you can use TAPI with IP Office If your application controls telephones you should configure all users that will be controlled as an off hook station This will cause the user s phone to return to the idle state when a call is hung up using TAPI Without this option set the phone will remain in a disconnected state until the phone is hung up manually The off hook station check box can be found on the Telephony tab of the User s setting in Manager If you require a special user that will handle media streaming such as an auto attendant create a new user with a name that begins with TAPI This will be a WAV user The user s number should be in a range that does not conflict with a
49. ng above m 2 p locale The locale of the user p 1 0 Null terminator for locale p 2 q Forward destination The number that this phone is set to divert to q 1 0 Null terminator for destination above q 2 r Follow me number All calls are redirected to this number r 1 0 r 2 s Absent text The absent text defined for this phone TAPILink Developer s Gude Pages IP Office 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Functions s 1 s 2 t t 1 t 2 u u l u 2 u 3 u 4 u 5 u 6 u 7 0 Do not disturb exception A list of numbers that are permitted to ring the phone while it is in the Do Not Disturb list state Each number is a null terminated string The last number in the list is terminated by two nulls field t 1 represents the second of these two nulls If the list is empty then the data will contain just a single null represented by t 1 0 Forward on busy number The number that calls will divert to when this phone is busy 0 User s priority This priority will be associated with all calls made by this user Group membership This byte contains the number of groups that the user is currently enabled in Groups out of time Number of groups that the user is a member of that are currently outside their time profile Disabled groups Number of groups the user is currently disabled from Groups out of service Number of groups that the user is a member of that are currently out of service Night service groups
50. ny existing phone numbers or groups 1 5 Communication Loss and Recovery It is advisable to close all TAPI applications before resetting the switch This allows the Telephony Service Provider TSP to gracefully close all open lines and ensures that the switch and all connected TSPs have a consistent state In the event of an unexpected loss of communication the switch is accidentally powered down or a network cable is accidentally unplugged the TSP will detect that it is no longer connected to the switch During this time any calls to TAPI functions that require the TSP to communicate with the switch will be rejected The time delay between communication being lost and the TSP detecting the loss depends on TCP settings on the host machine and internal timing in the TSP The delay could be up to two minutes After the TSP has detected that it has lost communication with the switch it will attempt to re establish a connection When the connection is re established the service provider will usually be able to recover the open lines addresses This is the case even if the loss of communication was due to the switch rebooting The way in which the loss of communication appears to the TAPI application depends on the version of TAPI being used This is described below TAPI 2 When the TSP loses its connection to IP Office a LINEDEVSTATE_OUTOFSERVICE message will be sent on all open lines When communication is re established a LINEDEVSTATE_INSERV
51. onality through the the lineDevSpecific function Note that this is only available in the licensed version of the TAPI driver TAPI s lineDevSpecific function takes a buffer and passes that buffer unmodified through to the TSP where it is interpreted as device specific commands The types of commands are described in the following paragraphs LONG WINAPI lineDevSpecific HLINE hLine DWORD dwAddressID HCALL hCall LPVOID lpParams DWORD dwSize i 2 1 8 1 The Login Protocol To log an ACD agent onto the line being monitored set the first byte in the buffer to 8 The following bytes should be a character string describing the extension that is logging on So consider the following buffer used to log agent 218 onto the line on which we are calling lineDevSpecific unsigned char buf 6 int len 6 buf 0 8 Constant that means Login buf 1 2 buf 2 1 buf 3 8 buf 4 0 Don t forget the null terminator 2 1 8 2 Logging Off Log off can be done by passing the following buffer to the DevSpecific function unsigned char buf 3 int len 3 buf 0 9 Constant that means Shortcode buf 1 47 Constant that means Log off buf 2 0 Don t forget the null terminator 2 1 8 3 Divert Destination To set the target for diverted calls send 9 in the first byte 6 in the second and the following bytes should be a character string representing the divert destination extension For exampl
52. phLine DWORD dwAPIVersion DWORD dwExtVersion DWORD dwCallbackInstance DWORD dwPrivileges DWORD dwMediaModes LPLINECALLPARAMS const lpCallParams Note If an attempt is made to open a line that is associated with a Wave user and no there is no Wave User license installed in IP Office lineOpen will return LINEERR_RESOURCEUNAVAIL For an explanation of Wave Users see WAV Users 2 1 30 linePark This function parks a call Only park mode LINEPARKMODE DIRECTED is supported The park address may be any alphanumeric string however only numeric digits can be entered from a telephone so you may want to restrict your park addresses to numeric strings The four default park addresses that appear in Phone Manager and eConsole are 1 2 3 and 4 You should use these numbers if you want parked calls to be unparked using these applications using the default configuration LONG WINAPI linePark HCALL hCall DWORD dwParkMode LPCSTR lpszDirAddress LPVARSTRING lpNonDirAddress 2 1 31 lineRedirect The lineRedirect function redirects the specified offering call to the specified destination address Country code is ignored LONG WINAPI lineRedirect HCALL hCall LPCSTR lpszDestAddress DWORD dwCountryCode i TAPILink Developer s Guide Page 28 IP Office 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Functions 2 1 32 lineRemoveFromConference Removes the call from the conference LONG
53. r callers call The call party to be listened to is identified by the integer extnnum unsigned char buf 10 int len 10 buf 0 9 Shortcode buf 1 100 Listen sprintf char amp buf 2 Sd extnnum TAPILink Developer s Guide Page 20 IP Office 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Functions 2 1 9 lineDial This function is used to dial a number on an existing call It can be used as part of a supervised transfer see lineSetupTransfer 30 Country code is ignored LONG WINAPI lineDial HCALL hCall LPCSTR lpszDestAddress DWORD dwCountryCode i 2 1 10 lineDrop Hangs up a call UserUserlnfo is not supported and will be ignored LONG WINAPI lineDrop HCALL hCall LPCSTR lpsUserUserInfo DWORD dwSize i 2 1 11 lineGenerateDigits Call this function to generate DTMF digits on the call The user does not need to be a WAV user and the wave driver does not need to be involved in the call A LINE GENERATE message will be sent to the application when the generation is finished The only dwDigitMode supported is LINEDIGITMODE DTMF LONG WINAPI lineGenerateDigits HCALL hCall DWORD dwDigitMode LPCSTR lpszDigits DWORD dwDuration i 2 1 12 lineGenerateTone This function can be used to generate a beep on the line The line must be a WAV user and the wave driver must be involved in the call The only supported value for dwToneMode is LINETONEMODE BEEP As we do
54. r modes which are LINETRANSFERMODE TRANSFER LINETRANSFERMODE CONFERENCE Returns the possible park mode of LINEPARKMODE DIRECTED Returns the possible forward modes which are LINE FORWARDMODE_UNCOND LINE FORWARDMODE UNCONDEXTERNAL LINE FORWARDMODE UNCONDSPECIFIC LINE FORWARDMODE BUSY LINE FORWARDMODE BUSYINTERNAL LINE FORWARDMODE BUSYEXTERNAL LINE FORWARDMODE BUSYSPECIFIC LINE FORWARDMODE NOANSW LINE FORWARDMODE NOANSWINTERNAL LINE FORWARDMODE NOANSWEXTERNAL LINE FORWARDMODE NOANSWSPECIFIC LINE FORWARDMODE BUSYNA LINE FORWARDMODE BUSYNAINTERNAL LINE FORWARDMODE BUSYNAEXTERNAL LINE FORWARDMODE BUSYNASPECIFIC The maximum number of forwarded entries 10 The maximum number of specific entries 10 The minimum forward number of rings 1 The maximum forward number of ring 99 OO OO OO O Return the possible address features which are LINEADDRFEATURE_FORWARD LINEADDRFEATURE_MAKECALL LINEADDRFEATURE_SETUPCONF LINEADDRFEATURE_UNPARK LINEADDRFEATURE_FORWARDFWD LINEADDRFEATURE_FORWARDDND OO OO OO The maximum call data size 127 0 OO OO Page 34 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Structures 2 2 2 LINEADDRESSSTATUS This structure is returned by lineGetAddressStatus Not all members of this structure are listed For full information on the LINEADDRESSSTATUS see the Microsoft TAPI documentation dwNumlnUse Always 1 dwNumaActiveCalls Reflects the number of active calls dwNumOnHoldCal
55. rs for the lineDevStatus message to allow for the new fields The required increase in length is 16 2 number of User rights group defined on the IP Office TAPI Specific Short Code Features 11 The IP Office now support a number of short code features that are only invokable via the TAPI interface The features are Set User Rights and Set User Priority 1 1 Installing the TAPILink and Wave Drivers The IP Office TAPI Service Provider and Wave Driver are installed from the IP Office User CD Refer to the CTI Link Installation Manual for details 1 2 Installing the CTI TAPI Linkpro License and Wave Licenses You do not need a license in order to use the TAPI driver but the license provides the following additional functionality Third Party mode ACD Queue monitoring lineDevSpecific function enabled TAPILink Developer s Guide Page 7 IP Office 15 601035 Issue 11g 22 June 2010 To use the Wave functionality you need to install a Wave User s Licence for each Wave user in addition to the CTI Link Pro license TAPILink Developer s Guide Page 8 IP Office 15 601035 Issue 11g 22 June 2010 IP Office TAPI Link Installing the CTI TAPI Linkpro License and Wave Licenses 1 3 Configuring the TAPI Driver TAPI Service Providers are configured using a Windows Control Panel applet The name of the applet is not the same across all versions of Windows The following table indicates the name of the applet and the tab that must be selected
56. s should be construed as granting by implication estoppel or otherwise any license or right in and to the Marks without the express written permission of Avaya or the applicable third party Avaya is a registered trademark of Avaya Inc All non Avaya trademarks are the property of their respective owners Downloading documents For the most current versions of documentation see the Avaya Support Web site http www avaya com support Contact Avaya Support Avaya provides a telephone number for you to use to report problems or to ask questions about your product The support telephone number is 1 800 242 2121 in the United States For additional support telephone numbers see the Avaya Web site http www avaya com support Page 2 15 601035 Issue 11g 22 June 2010 Contents 1 IP Office TAPI Link 1 1 Installing the TAPILink and Wave Drivers 7 1 2 Installing the CTI TAPI Linkpro License and Wave RS N RE OE N EE N 7 1 3 Configuring the TAPI Driver esse esse see ee ke ee ee 9 1 4 Configuring Your IP Office for TAP esse ee 11 1 5 Communication Loss and Recovery 11 1 6 TAPI Only Short Codes ee ee ee ee ee ee ee 11 2 TAPI 2 x Reference 2 1 TAPIRUNCUONS EEEE ETET 16 2 1 1 lineAddToConference ees ee Re ee 17 2 1 2 liNEANSWETF ee ee Ee 17 2 1 3 lineBlindTransfer uennnnnn 17 2 1 4 lineCompleteTransfer nennn 17 2 1 5 lineConfigDialog 4240en nenn nennen 18
57. s Guide Page 23 IP Office 15 601035 Issue 11g 22 June 2010 2 1 21 lineGetLineDevStatus The lineGetLineDevStatus returns a device specific buffer The devspecific buffer contains the following information LONG WINAPI lineGetLineDevStatus HLINE hLine LPLINEDEVSTATUS lpLineDevStatus i Note IP Office 4 1 includes a number of additional fields see the table below If you are using the TAPI interface you may need to increase the size of message receive buffers for the lineDevStatus message to allow for the new fields The required increase in length is 16 2 number of User rights group defined on the IP Office 0 n Phone Extension This is the line number being monitored as a character string eg 217 n 1 0 Null terminator for the string above n 2 Forward on busy 1 if the phone is set to forward on busy O otherwise n 3 Forward on no answer 1 if the phone is set to forward on no answer O otherwise n 4 Forward unconditional 1 if the phone is set to forward all n 5 Forward hunt group flag 1 if the phone is set to forward hunt group calls n 6 Do Not Disturb 1 if the phone is set to DND n 7 Outgoing call bar flag 1 if the phone is barred from making external calls n 8 Call waiting on flag 1 if call waiting is enabled for this phone n 9 Voicemail on flag 1 if voicemail is enabled for this phone n 10 Voicemail ring back flag 1 if voicemail ringback is enabled for this phone n 11 Number of read The number of read messag
58. s when used with IP Office lineAddToConference 174 lineAnswer 175 lineBlindTransfer 174 lineCompleteTransfer 174 lineConfigDialog 18 lineClose 18 lineDeallocateCall 185 lineDevSpecific 19 lineDial 21 lineDrop 21 lineGenerateDigits 21 lineGenerateTonel 215 lineGetAddressCaps 22 gt lineGetAddressi D 225 lineGetAddressStatus 2A lineGetAppPriority 225 lineGetCall nfo 235 lineGetCallStatus 235 lineGetDevCaps 234 lineGet D 23 lineGetLineDevStatus 245 TAPILink Developer s Guide IP Office lineHandoff 265 lineHold 26 linel nitializeEx 26 lineMakeCall 26 lineMonitorDigits 274 lineMonitorTone 274 lineNegotiateAPI Version 274 lineOpen 285 linePark 28 gt lineRedirect 285 lineRemoveFromConferencel 29 lineSetAppPriority 2 lineSetAppSpecific 24 lineSetCallPrivilege 29 lineSetStatusMessages 305 lineSetupTransfer 3d gt lineShutdown 30 gt lineS wapHold 305 lineUnhold 315 lineUnpark 31 Page 16 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Functions 2 1 1 lineAddToConference Adds the call to the conference LONG WINAPI lineAddToConference HCALL hConfCall HCALL hConsultCall 2 1 2 lineAnswer Answer a call that is being offered to the application LONG WINAPI lineAnswer HCALL hCall LPCSTR lpsUserUserInfo DWORD dwSize i Note UserUserlnfo is not supported and will be i
59. ssStatus HLINE hLine DWORD dwAddressID LPLINEADDRESSSTATUS lpAddressStatus i 2 1 16 lineGetAppPriority Retrieve your applications priority LONG WINAPI lineGetAppPriority LPCSTR lpszAppFilename DWORD dwMediaMode LPLINEEXTENSIONID lpExtensionID DWORD dwRequestMode LPVARSTRING lpExtensionName LPDWORD lpdwPriority i TAPILink Developer s Guide Page 22 IP Office 15 601035 Issue 11g 22 June 2010 TAPI 2 x Reference TAPI Functions 2 1 17 lineGetCalllnfo Obtain fixed information about the specified call See LINECALLINFO structure for details LONG WINAPI lineGetCallInfol ECALL hCall LPLINECALLINFO lpCallInfo i 2 1 18 lineGetCallStatus This function retrieves a LINECALLSTATUS structure relating to an existing call See LINECALLSTATUS in the TAPI structures section for details LONG WINAPI lineGetCallStatus HCALL hCall LPLINECALLSTATUS lpCallStatus i 2 1 19 lineGetDevCaps Call this function to retrieve the LINEDEVCAPS structure See LINEDEVCAPS in the TAPI structures section for details LONG WINAPI lineGetDevCaps HLINEAPP hLineApp DWORD dwDevicelD DWORD dwAPIVersion DWORD dwExtVersion LPLINEDEVCAPS lpLineDevCaps i 2 1 20 lineGetID Get the ID for a line when dwSelect is LINECALLSELECT LINE LONG WINAPI lineGetID HLINE hLine DWORD dwAddressID HCALL hCall DWORD dwSelect LPVARSTRING lpDevicelD LPCSTR lpszDeviceClass i TAPILink Developer
60. t Disturb or Divert On Busy or the Divert All destination The bits in the dwDivertSettings variable are set using the IP OFFICE DIVERT SETTINGS enum described above OnGroupChanged DWORD dwGroupCount Fired when the user enables or disables group membership The dwGroupCount value gives the number of groups that this user is an enabled member of OnVoiceMail DWORD dwNumMessages This is fired when the number of voicemail messages that the user has waiting for them changes The new value is given in the dwNumMessages parameter 5 8 Using the Media Streaming Capabilities of the MSP The IP Office MSP handles media streaming to any wave user In order to do this you must select terminals onto the streams that the MSP exposes for a call Details on how to do this are given in the MSDN and an example is shown in the DevSpice sample It should be noted that IP Office streams are bi directional and there is only a single stream per call This means that both capture and render terminals are accepted on the same stream but only one of each The MSP encapsulates the functionality of the IP Office wave driver The IP Office wave driver must be installed on each machine that wishes to do media streaming to wave users If you do not wish to do media streaming and only wish to monitor wave users using TAPI you must ensure that the wave driver is not installed or you will consume wave licence instances for every wave user line you open TAPILink Deve
61. was disconnected as part of the normal life cycle of the call that is the call was over so it was disconnected An outgoing call failed to connect because the remote end was busy An outgoing call failed because the destination address was bad An outgoing call failed because the remote end was not answered An outgoing call failed because the caller disconnected The outgoing call was rejected by the remote end The call failed to connect for some other reason Page 53 15 601035 Issue 11g 22 June 2010 Chapter 5 The IP Office Media Service Provider TAPILink Developer s Guide Page 55 Office 15 601035 Issue 11g 22 June 2010 5 The IP Office Media Service Provider The IP Office Media Service Provider serves a dual purpose It providers media streaming capability which allows a TAPI 3 application to send and receive voice data on calls that are present on specific types of users lines It also allows an application access to device specific functionality of the IP Office 5 1 Using The MSP The media service provider interfaces are documented in the MSDN libraries The DevSpice sample on the SDK CD gives an example of how to use the MSP for media streaming and device specific functionality The MSP is available to every TAPI address that can be viewed in your TAPI 3 application Media streaming capabilities are only available to addresses that are specifically named as WAVE users WAVE users are users with a name that be
Download Pdf Manuals
Related Search
Related Contents
Pistolets UM22/UM25 - Nordson eManuals! Compass User Manual: A Tool for Source Code Checking (A ROSE 3-Way Ball Valve La FNPPSF défend ce à quoi vous tenez DUO Manual.indd - Uni-Span 平成 27 年度独立行政法人都市再生機構中部支社 管轄 DUNE DCT SERIES - Adam Equipment Gesamtkatalog Mess- und Prüfgeräte 2010 はじめに 用途 1. 安全にお使いいただくために 取扱説明書 5. 保守 Copyright © All rights reserved.
Failed to retrieve file