Avaya Interaction Center Programmer's Manual
Avaya Interaction Center Programmer's Manual

Avaya Interaction Center Programmer's Manual

Vtel programmer guide
Hide thumbs Also See for Interaction Center:
Table of Contents

Advertisement

Quick Links

Avaya
Interaction Center
Release 6.1
VTel Programmer Guide
585-248-220
Issue 2.1
August 2003

Advertisement

Table of Contents
loading

Summary of Contents for Avaya Interaction Center

  • Page 1 ™ Avaya Interaction Center Release 6.1 VTel Programmer Guide 585-248-220 Issue 2.1 August 2003...
  • Page 2 Link disclaimer Preventing toll fraud Avaya Inc. is not responsible for the contents or reliability of any linked "Toll fraud" is the unauthorized use of your telecommunications system Web sites and does not necessarily endorse the products, services, or by an unauthorized party (for example, anyone who is not a corporate information described or offered within them.
  • Page 3: Table Of Contents

    Contents ™ Avaya Interaction Center Release 6.1 VTel Programmer Guide Contents Before You Begin ........
  • Page 4: Strings

    Contents ........Logging out .
  • Page 5: Swapheld

    Contents ........BusyPhoneset ........ChangePassword .
  • Page 6: Serverfailed

    Contents Chapter 6: Event notification ..............Summary of events .
  • Page 7 Contents ....... ServerFailReconnectLimit ....... ServerFailRetryWaitTime .
  • Page 8 Contents 8 VTel Programmer Guide...
  • Page 9: Before You Begin

    Before You Begin Typographical Conventions This guide uses the following font conventions: Font Type Meaning This font signifies commands, information that you enter into the command computer, or information contained in a file on your computer. This font indicates variables in a command string. commandvariable italics This font is used to add emphasis to important words and for...
  • Page 10: Contacting Technical Support

    A PDF document with detailed information about all of the documentation for the Avaya Interaction Center is included in the Doc directory on the product CD-ROM. This PDF document is also included on the separate documentation CD-ROM.
  • Page 11 Avaya software. Avaya may also deliver an Addendum to the Readme, which will be posted on the Avaya Technical Support Website. The Readme Addendum will contain similar information uncovered after the manufacture of the product CD-ROM.
  • Page 12 Avaya software and documentation. Educational Services Avaya University provides excellent training courses on a variety of topics. For the latest course descriptions, schedules, and online registration, you can get in touch with us: Through the web at http://www.avaya-learning.com/logon_form.asp...
  • Page 13: Chapter 1: Definition Of Terms And Concepts

    VTel is part of Avaya Computer Telephony for IC. VTel consists of: the basic VTel engine. The VTel engine has an API of methods that can be used by ●...
  • Page 14: Phones, Calls, And Switches

    Exchange (PBX) or an ACD system.The term ACD is often used in this manual to refer to any switch or system, such as the Expert Agent Selection (EAS) on the Avaya DEFINITY switch, capable of routing calls through a queue. 14 VTel Programmer Guide...
  • Page 15: Agent Ids And Telephony Login Ids

    In the Telephony system, agents log in using a Telephony Login ID. For a simple phone, Avaya Computer Telephony for IC maps this Login ID to the physical phoneset. There is no switch involvement with the login of a simple phone. For an ACD phone, Avaya Computer Telephony for IC maps this Login ID to an Agent ID.
  • Page 16: Call Routing And Queues

    Definition of terms and concepts Call routing and queues Calls can be routed: directly to a phone when the specific phone number assigned to the physical phone set ● is called (a direct call). using a logical phone number which is mapped to the physical one by an external ●...
  • Page 17: Phone States

    Phone states Phone states Some telephone switches support a variety of states for ACD phones, inclluding Ready, Busy, and WrapUp, and can provide statistics on the time spent in each state. Other switches cannot support these states, or the rules may vary. The VTel configuration file (see Configuring VTel on page 33) accommodates and supports...
  • Page 18: Phone States After Hang Up

    Definition of terms and concepts Phone states after hang up VTel allows agents to override the predetermined default state to which an ACD phone will be set after a call is hung up. There are two styles of changing this default phone state: preset style and immediate style.
  • Page 19: Auto-In And Manual-In Modes

    Agent LoginID (EAS only) should be set to N. To enable Auto-In mode, the AutoIn and PhonePresetAcd file options in the vtel.ini file must be set to Y. CAUTION: In order to avoid conflicts, all clients within the Avaya Interaction Center CAUTION: environment must share the same settings.
  • Page 20 Definition of terms and concepts 20 VTel Programmer Guide...
  • Page 21: Chapter 2: Communicating With Other Applications

    Chapter 2: Communicating with other applications This section describes the communication path between VTel and other applications. This section contains the following topics: Using DDE on page 22 ● Starting VTel from other applications on page 24 ● The asynchronous nature of the system on page 25 ●...
  • Page 22: Using Dde

    Communicating with other applications Using DDE Three types of messages are sent between VTel and applications: requests., which perform an action or get information ● responses, which are always sent to the requester ● events, which are sent to all applications connected to VTel whenever there is a ●...
  • Page 23: Dde In Visual Basic

    Using DDE DDE in Visual Basic The necessary commands, such as the LinkExecute method, are built into the Visual Basic Language. Because of the design of Microsoft Visual Basic, a program may not send a DDE command while simultaneously processing another DDE command. This limitation can generally be avoided by using a timer-driven queue to send the responses to DDE commands.
  • Page 24: Starting Vtel From Other Applications

    Communicating with other applications Starting VTel from other applications VTel is designed to be started from other applications under Microsoft Windows, Windows 95, Microsoft NT, or OS/2. For example, the following could be used for a Visual Basic application: x = Shell("VTel",6) ’VTel started minimized, without focus’...
  • Page 25: The Asynchronous Nature Of The System

    The asynchronous nature of the system The asynchronous nature of the system The asynchronous design of Avaya Computer Telephony for IC presents situations that must be anticipated by connected applications. While some requests are processed locally, others may involve distributed components of the Telephony system.
  • Page 26: Race Conditions

    Communicating with other applications Race conditions Because telephone functions occur in real time, most operations are subject to race conditions. A race condition exists when two competing events "race" and the result is determined by which comes in first. In such a situation an external event may occur that temporarily invalidates an application’s state information.
  • Page 27: Requests And Errors

    Requests and errors Requests and errors Because of the real time behavior described above, certain requests may return a normal response even if the request is not successful. In these cases you must rely on the events returned to determine if the request was ultimately successful. In general, those requests that immediately return specific information can be relied upon as being correct at that point in time.
  • Page 28: Using The Ping() Method To Test The Connection

    Communicating with other applications Using the Ping() method to test the connection The Ping() method simply echoes a response. This is especially useful during early development for testing the communication path to VTel. Since this is a non-destructive internal command, you do not need a valid login. However, since Contact Engine servers also respond to this command, a valid login allows you to quickly test communication to both VTel and major Contact Engine servers.
  • Page 29: Multiple Concurrent Telephone Calls

    ● comes in An external application must be able to handle multiple simultaneous calls from Avaya Computer Telephony for IC. The EDU ID uniquely identifies each call and is used to associate messages with the correct call.
  • Page 30: Socket Usage

    Communicating with other applications Socket usage Generally, VTel uses three (3) TCP sockets, one each for: the Telephony Server ● the EDU Server ● a default Telephony session. ● If an agent has more than one phone number, one (1) additional socket is required for each additional phone number.
  • Page 31: Chapter 3: Initiating Access To Vtel

    Chapter 3: Initiating access to VTel This section describes a typical sequence of events that occur when connecting to VTel from an external application. This section includes the following topics: Installing and running VTel on page 32 ● Configuring VTel on page 33 ●...
  • Page 32: Installing And Running Vtel

    The VTel.exe file is installed automatically with Avaya Interaction Center. Important: Important: With Interaction Center releases 6.0 and higher, VTel does not function out- Important: of-the-box. If you need to enable VTel, please contact Technical Support for assistance. For contact information, see Contacting Technical Support page 10.
  • Page 33: Configuring Vtel

    Configuring VTel Configuring VTel Much of the appearance and behavior of VTel is determined by the entries and options selected in its configuration file. Configuration information is supplied in this local text file, which is read each time the VTel executable is started. When first started, VTel looks for the name of a configuration file to use.
  • Page 34: Using Assign To Connect To Vtel

    Initiating access to VTel Using Assign to connect to VTel After VTel starts, an application must establish a bi-directional connection so responses can be returned for all requests. Refer to Using DDE on page 22 for a discussion of bi- directional communication.
  • Page 35: Logging In - Access To Telephony Resources

    Logging in - access to Telephony resources Logging in - access to Telephony resources A login request must be sent before any access is granted to Telephony resources. There are four forms of the login command: Login() directs VTel to log into the Telephony system, creating an assignment to the ●...
  • Page 36: Logging Out

    Initiating access to VTel Logging out A single logout request from any source (either from the VTel user interface or from an external application) will log out all current interfaces. If the logout request is from the VTel user interface, the agent will be prompted for another login.
  • Page 37: Chapter 4: Message Syntax

    DDE message syntax Chapter 4: Message syntax This section describes the DDE message syntax that provides a language-independent interface to Avaya Computer Telephony for IC services. This section contains the following topics: DDE message syntax on page 37 ● Command name on page 37 ●...
  • Page 38: Arguments

    Message syntax Each command name contains the name of the server that the request is targeted for, followed by the request itself. These elements are separated by a period. Requests for VTel are preceded by VTel. For example: [VTel.Exit()] Arguments All arguments are either strings or sequences of couples (also called name-value pairs).
  • Page 39: Null Values

    Responses Null Values Null strings are represented by an empty field, such as the one after ani in this code example. {2,2,{"vdu_id","2df5d9e6003b00007800002a1f430002"},{"ani",}} Null names cannot be used in a couple. Syntax examples [VTel.Assign ("DDEApp|DDETopic")] [VTel.Login("llutton","querty","5301","1111","1812")] [VTel.Login("llutton","querty",,,)] [VTel.VDUGetOneValue("2df5d9e6003b00007800002a1f430002","ani",)] [VTel.VDUSetValues("2df5d9e6000002a1f430002",{0,1,{"ani","5089525120"}})] [VTel.VDUGetValues("2df5d9e6003b00007800002a1f430002",{0,0})] In this last line of this example, the first zero in {0,0} indicates "send back all the values found";...
  • Page 40: Faulty Request

    Message syntax Faulty request VTel cannot understand enough of the request to attempt processing or even identify the destination. A generic response message is sent to the requester, who is identified by the communications path. The original request is not returned as this will often "break" the parsing components in the requester.
  • Page 41: Return Code

    Request IDs If an exception is returned, all of the other returned information may be invalid, including the return code. Return code As shown in the response syntax, a return code may be added to the end of the response. If it is present, this value may give you additional information, but it is not an error indicator.
  • Page 42: Event Id

    Message syntax Event ID The event ID is similar to the command field of the request messages, consisting of elements separated by periods. The first element contains the name of the server (for example, VTel). The next element contains the event name. The third element contains the literal word event.
  • Page 43: Chapter 5: Methods

    Telephone switch dependency Chapter 5: Methods This section describes the VTel methods. It contains the following topics: Telephone switch dependency on page 43 ● Pass-through requests on page 44 ● Initiating calls on page 45 ● Terminating calls on page 45 ●...
  • Page 44: Pass-Through Requests

    VTel.VDUGetActive() returns the EDU IDs currently being monitored on the workstation by VTel, the direct VDU.GetActive() returns the EDU IDs of active EDUs in Avaya Computer Telephony for IC. Queuing When a pass-through request comes in to VTel, VTel internally queues the request. The internal queue is unlimited in size.
  • Page 45: Dde

    Initiating calls Each DDE message must have have a completed request and response sequence, or handshake. This applies to each request, response, and event message issued using DDE, because of the Microsoft DDEML specification. DDE messages sent to VTel must abide by this DDE protocol, ensuring that a second message is not sent until a DDE ACK has been received from the first message.
  • Page 46: Querying And Setting Edu Values

    Methods Querying and setting EDU values EDU values may be queried and set through VTel. The VTel commands that operate on the EDU are a subset of those available from the EDU Server and generally apply only to those EDUs that are active in VTel. Exceptions are the VDUFindVDU() and VDUGetData() commands, which can access information not currently active in VTel.
  • Page 47: Vtel Command Summary

    Changes the current preset to Busy (dependent on the telephone switch) BusyPhoneset Make a phoneset Busy (dependent on the telephone switch) Change Password Change the Avaya Computer Telephony for IC password for the current user ConferenceCancel Cancel a conference ConferenceComplete Establish an n-way conference...
  • Page 48 Methods Name Description Login Log user into Telephony and assign to the user's phone LoginACD Log user into Telephony as an ACD phone LoginTelephony Log user into Telephony Server and EDU Server only, assigning to the user's phone LoginVESP Log user into Telephony only; no phone access through VTel Logout Log user out of Telephony, deassigning the user's phone...
  • Page 49 VTel command summary Name Description VDUGetActive Get a list of all EDUs active in VTel VDUGetData Get all data from any EDU VDUGetOneValue Return one value from a EDU in use VDUGetValues Return multiple values from a EDU in use VDUGetCurrentValue Set the "current"...
  • Page 50: Interface Description Language (Idl) Specification

    Methods Interface Description Language (IDL) specification The CORBA Interface Description Language describes the syntax for VTel commands: interface VTel : General { ORBStatus Answer( in string vduid ); ORBStatus Assign( in string linktopic ); ORBStatus Busy( in string phonenumber ); ORBStatus BusyOverride( in string phonenumber );...
  • Page 51: Set_Timeout

    Interface Description Language (IDL) specification ORBStatus LogoutVESP( void ); ORBStatus MakeCall( in string phonenumber_orig, in string phonenumber_dest, out string vduid ); ORBStatus Ping( void ); ORBStatus Ready( in string phonenumber ); ORBStatus ReadyOverride( in string phonenumber ); ORBStatus ReadyPhoneset( void ); ORBStatus Release( in string vduid );...
  • Page 52: Vtel Methods (Requests From Other Applications)

    Methods VTel methods (requests from other applications) This section describes each of the VTel methods available to other applications. Any function or operation available from any VTel user interface can also be accomplished by using one or more methods. Some methods may not have any equivalents in a particular user interface.
  • Page 53: Assign

    VTel methods (requests from other applications) Assign IDL Syntax ORBStatus Assign( in string linktopic ); Description For DDE communications, establishes a basic request and response connection with VTel, allowing responses and events to be sent to the attached application. Input Parameters Name Required...
  • Page 54: Busyoverride

    Methods BusyOverride IDL Syntax ORBStatus BusyOverride( in string phonenumber ); Description If in call, and presets are on, changes the current preset to Busy and disallows any attempts to change the preset for the remainder of the call unless by means of another override command (such as ReadyOverride or WrapUpOverride).
  • Page 55: Changepassword

    VTel methods (requests from other applications) ChangePassword IDL Syntax ORBStatus ChangePassword( in string oldpassword, in string newpassword ); Description Changes the current Telephony password. Input Parameters Name Required Description/Comments oldpassword The currently used Telephony password. newpassword The new Telephony password, or empty for no password.
  • Page 56: Conferencecomplete

    Methods ConferenceComplete IDL Syntax ORBStatus ConferenceComplete( in string vduid ); Description Following a ConferenceInit(), this retains the new conversation with the additional party, while the previous conversation(s) are taken off hold so that all connected parties can speak together. Input Parameters Name Required...
  • Page 57: Deassign

    VTel methods (requests from other applications) Deassign IDL Syntax ORBStatus Deassign( void ); Description Breaks the connection between VTel and the external application. With DDE communications, no further commands are accepted until another Assign(). Input None. Parameters Output None. Parameters Examples [VTel.Deassign()] Notes...
  • Page 58: Exit

    Methods telephone switch and the type of phone assigned. Refer to the IDL chapter of your Telephony Services manual to determine availability. Exit IDL Syntax ORBStatus Exit( void ); Description Causes the VTel application to end. Input None. Parameters Output None.
  • Page 59: Getphoneinfo

    VTel methods (requests from other applications) Examples [VTel.GetInfo({0,0})] [VTel.GetInfo.response(,{5,5,{"pbx_name","Definity"}, {"login_name","vtelsim"},{"pbx_rev","G3V2"}, {"build","(Build 1)"},{"version","2.1.27"}})] Notes The available information may vary in different configurations. GetPhoneInfo IDL Syntax ORBStatus GetPhoneInfo( in string phonenumber, out SeqCouple values ); Description Returns switch-dependent information about the default phone. Input Parameters Name...
  • Page 60: Guilogin

    Methods Description Search old EDUs for historical information related to the given account number. The results of the search are displayed in the Call History dialog box. Input Parameters Name Required Description/Comments account An account number to use for the initial search.
  • Page 61: Hangup

    VTel methods (requests from other applications) Output None. Parameters Examples [VTel.GuiLogin("Fred",,,,)] Notes This method will return an error for an invalid login, or if another login is currently in progress. No input parameters are needed unless you wish to set default values.
  • Page 62: Hold

    Methods Hold IDL Syntax ORBStatus Hold( in string vduid ); Description Sets an active call to the hold state. Input Parameters Name Required Description/Comments vduid The EDU ID of the telephone call. Output None. Parameters Examples [VTel.Hold("2df5d9e6003b00007800002a1f430002")] Notes If the call exists and is currently on-hold, this is harmless and ignored without error.
  • Page 63: Logentry

    VTel methods (requests from other applications) LogEntry IDL Syntax ORBStatus LogEntry( in string text ); Description Permits a desktop application to add entries to the VTel log file. Input Parameters Name Required Description/Comments text The text that is to be written to the VTel log file. Examples [VTel.LogEntry("This is a test")] Notes...
  • Page 64: Loginacd

    Methods Examples [VTel.Login("llutton","qwerty",,,)] Notes This method will return an error for an invalid login, or if another login is currently in progress. The agent and station parameters may not be needed, depending on your configuration and the type of login desired. For the Meridian Link, agentid corresponds to the position ID and stationid to the equipment number.
  • Page 65: Logintelephony

    VTel methods (requests from other applications) LoginTelephony IDL Syntax ORBStatus LoginTelephony( in string login, in string password, in string agentid, in string agentpassword, in string stationid, in string queue); Description Directs VTel to assign and log into the Telephony Server and the EDU Server. LoginVESP() must be called before LoginTelephony().
  • Page 66: Loginvesp

    Methods LoginVESP IDL Syntax ORBStatus LoginVESP( in string login, in string password ); Description Directs VTel to log into Telephony only. No phone assignments are made. Input Parameters Name Required Description/Comments login Telephony login ID. password Telephony password, if one was assigned. Output None.
  • Page 67: Logouttelephony

    VTel methods (requests from other applications) LogoutTelephony IDL Syntax ORBStatus LogoutTelephony( in string retry_limit, in string wait_seconds ); Description Directs VTel to deassign and log out of the Telephony Server and the EDU Server. LogoutVESP() must be called after LogoutTelephony(). Input Parameters Name...
  • Page 68: Logoutvesp

    Methods LogoutVESP IDL Syntax ORBStatus LogoutVESP( void ); Description Directs VTel to log out from Telephony only but does not deassign the agent's telephone set. Input None. Parameters Output None. Parameters Examples [VTel.LogoutVESP()] Notes This method will fail if LoginVESP() has not been issued or if there is any work in progress.
  • Page 69: Ping

    VTel methods (requests from other applications) Output Parameters Name Description/Comments vduid The EDU ID of the completed telephone call. Examples [VTel.MakeCall("4004","5089525120",)] [VTel.MakeCall(,"5089525120",)] Notes Race conditions may occur if a telephone call arrives at the same time that an attempt to make an outgoing call is made. This results in an error return. If the phone can be set to the Busy state, this will prevent queued calls, but direct calls typically cannot be prevented.
  • Page 70: Readyoverride

    Methods phone in the Ready state. For more information , see Phone states after hang on page 18 Input Parameters Name Required Description/Comments phonenumber Dialable number or null (default phone). Output None. Parameters Examples [VTel.Ready("1234")] [VTel.Ready()] Notes This method is dependent on the telephone switch and the type of phone assigned.
  • Page 71: Readyphoneset

    VTel methods (requests from other applications) ReadyPhoneset IDL Syntax ORBStatus ReadyPhoneset( void ); Description If there are no active calls, this sets the entire phoneset to the Ready state. If there are active calls, the result is switch dependent. Consult the documentation for your telephone switch for more information.
  • Page 72: Restartserver

    Methods Output None. Parameters Examples [VTel.ResetPhones()] Notes Because this method is used to recover from synchronization errors, any additional errors received during the execution of this method are ignored. RestartServer IDL Syntax ORBStatus RestartServer( in string server, in long retrylimit, in long waitseconds ); Description Attempts to restart the server specified, restoring the connection with the same user login information that was used previously.
  • Page 73: Terminate

    VTel methods (requests from other applications) Input Parameters Name Required Description/Comments vduid The EDU ID of a current call. Output None. Parameters Examples [VTel.SwapHeld("2df5d9e6003b00007800002a1f430002")] Notes This method is dependent on the telephone switch. Refer to the IDL chapter of your Telephony Services manual to determine availability. Terminate IDL Syntax ORBStatus Terminate( in string vduid );...
  • Page 74: Transfercancel

    Methods Input Parameters Name Required Description/Comments vduid The EDU ID of a current call. phonenumber Dialable number, UserID, or ACD queue of the phone that the call is to be transferred to. Output None. Parameters Examples [VTel.Transfer("2df5d9e6003b00007800002a1f430002","George")] TransferCancel IDL Syntax ORBStatus TransferCancel( in string vduid );...
  • Page 75: Transferinit

    VTel methods (requests from other applications) Input Parameters Name Required Description/Comments vduid The EDU ID of a current call. Output None. Parameters Examples [VTel.TransferComplete("2df5d9e6003b00007800002a1f430002")] TransferInit IDL Syntax ORBStatus TransferInit( in string vduid, in string phonenumber ); Description Begins a consultative transfer. The current conversation(s) are put on hold, and an outbound call is placed to an additional party, using the same EDU ID as the previous call.
  • Page 76: Vdufindvdu

    ORBStatus VDUFindVDU( in string criteria, out SeqString values ); Description Retrieves a list of all EDUs in Avaya Computer Telephony for IC that match the given criteria, including both active calls and those stored in the DUStore Server. Input Parameters...
  • Page 77: Vdugetactive

    [VTel.VDUGetActive({0,0})] [VTel.VDUGetActive.response(,{2,2,"2df5d9e6003b00007800002a1f430002", "2df5d9e6003b00007800003bff430002"})] VDUGetData IDL Syntax ORBStatus VDUGetData( in string vduid, out SeqCouple values ); Description Retrieves all values from an EDU, which may reside anywhere in Avaya Computer Telephony for IC. Input Parameters Name Required Description/Comments vduid Any EDU in Telephony.
  • Page 78: Vdugetonevalue

    Methods Output Parameters Name Description/Comments values Values of all data elements currently in the EDU. Examples [VTel.VDUGetData("2df5d9e6003b00007800002a1f430002",{0,0})] Notes This method may return a large number of data elements. Be sure to allow enough room for the response. While it can be limited by setting the maximum number to return, this is not very useful in this case as the ordering of return values is arbitrary and you cannot determine what has been missed.
  • Page 79: Vdusetcurrent

    VTel methods (requests from other applications) Description Retrieves all values from an EDU. Input Parameters Name Required Description/Comments vduid An EDU active in VTel. Output Parameters Name Description/Comments values All data elements contained in this EDU. Examples [VTel.VDUGetValues("2df5d9e6003b00007800002a1f430002",{0,0})] Notes The EDU must currently exist within VTel. This method may return a large number of data elements.
  • Page 80: Vdusetvalues

    Methods Examples [VTel.VDUSetCurrent("2df5d9e6003b00007800002a1f430002")] [VTel.VDUSetCurrent.response(,"2df5d9e6003b00007800002a1f430002")] [VTel.VDUCurrent.event({0,"VDUCurrent",{{1,1,{"vdu_id", "2df5d9e6003b00007800002a1f430002"}}}})] [VTel.VDUSetCurrent("1234XXX")] [VTel.VDUSetCurrent.response("VTel:040002E0:VDUID not valid in VTel","1234XXX")] Notes Those GUI screens that present available calls will typically respond to this immediately. This may cause another call to be put on hold and an abrupt change in the EDU information presented to the user.
  • Page 81: Wrapup

    VTel methods (requests from other applications) WrapUp IDL Syntax ORBStatus WrapUp( in string phonenumber ); Description From within an ACD call, may either preset the WrapUp state or hang up the call, placing the phone in the WrapUp state. For more information, see Phone states after hang up on page 18.
  • Page 82: Get_Timeout

    Methods Notes This method is dependent on the telephone switch and the type of phone assigned. Refer to the IDL chapter of your Telephony Services manual. get_timeout IDL Syntax ORBStatus get_timeout( out unsigned long number ); Description Returns the current value of the Toolkit timeout, which is the length of time the Toolkit will wait for an acknowledgment for a transaction with Telephony.
  • Page 83: Chapter 6: Event Notification

    Chapter 6: Event notification This section describes the VTel events. It contains the following topics: Summary of events on page 84 ● Event messages to other applications on page 86 ● Issue 2.1 August 2003...
  • Page 84: Conferencecomplete Conferenceinit

    Event notification Summary of events An application that has created a session with VTel may receive the following event messages from VTel: Name Description Announcement A new message has been broadcast. Busy A phone is Busy and will not accept incoming calls. BusyOutbound The phone called is busy.
  • Page 85 Summary of events Name Description ReadyPreset The phone will be in Ready state after Hangup. ResetPhones All current telephony activity has been cleared from VTel. RingOutbound An outbound call has been placed, but not yet answered. ServerFailed The Telephony Server or EDU Server has failed. ServerRestart The Telephony Server or EDU Server has been restarted.
  • Page 86: Event Messages To Other Applications

    Event notification Event messages to other applications In many examples presented here, the vdu_id field has been truncated for a more convenient presentation. When using the vdu_id field, its value must be 32 characters long. Announcement Description A new announcement message has been broadcast. Output Parameters Name...
  • Page 87: Busypreset

    Event messages to other applications Output Parameters Name Description/Comments vdu_id The EDU ID corresponding to the telephone call. called The phone number or login ID used to place the outbound call. Examples [VTel.BusyOutbound.event({0,"BusyOutbound",{2,2,{"vdu_id", "2df5d9e6003b00007800002a1f430002"},{"called","jsmith"}}})] BusyPreset Description A Busy preset has been established for a current call; the phone will become Busy after the call is disconnected.
  • Page 88: Conferencecancel

    Event notification Name Description/Comments number_in_call A digit representing the number of parties now involved in the conference. vdu_id The EDU ID corresponding to the telephone call. Examples [VTel.Conference.event({0,"Conference",{6,6,{"dest","4100"}, {"dest","4007"},{"dest","4001"},{"orig","4001"},{"number_in_call", "3"},{"vdu_id", "30a3911f00000000780000111f430002"}}})] Notes The Conference event is sent to all the parties in the conference call (except for the one just added).
  • Page 89: Conferenceinit

    Event messages to other applications Output Parameters Name Description/Comments vdu_id The EDU ID corresponding to the telephone call. Examples [VTel.ConferenceComplete.event({0,"ConferenceComplete",{1,1,{"vdu_id" "2f562a7c0780261f430002"}}})] ConferenceInit Description A conference call has been initiated. The original conversation(s) have been put on hold, and a call has been placed to a new party. Output Parameters Name...
  • Page 90: Drop

    Event notification Output Parameters Name Description/Comments vdu_id The EDU ID corresponding to the telephone call. Examples [VTel.Disconnect.event({0,"Disconnect",{1,1,{"vdu_id", "2f562c6d07861f43002"}}})] Drop Description While in a conference, one of the parties has disconnected (hung up) and dropped out of the conference. This will also be received when the last party disconnects, but will then be immediately followed by a Disconnect.event.
  • Page 91: Incall

    Event messages to other applications InCall Description A call has come off hold or a new call has been answered. Output Parameters Name Description/Comments vdu_id The EDU ID corresponding to the telephone call. Examples [VTel.InCall.event({0,"InCall",{1,1,{"vdu_id", "2f562bfa00780261f430002"}}})] IncomingCall Description A new call has arrived. Output Parameters Name...
  • Page 92: Logintelephony

    Event notification Name Description/Comments station_id* Station or equipment number of phoneset. queue* Queue number agent is assigned to. The inclusion of the station_id and queue parameters depends on the request that generates the event. See the examples for this event. Examples If the request was Login: [VTel.Login.event({0,"Login",{3,3,{"login_name","jsmith"},...
  • Page 93: Logout

    Output Parameters Name Description/Comments login_name Telephony login ID. Examples [VTel.LogoutTelephony.event({0,"LogoutTelephony",{1,1,{"login_name", "jsmith"}}})] LogoutVESP Description The user has logged out of Avaya Computer Telephony for IC. Output Parameters Name Description/Comments login_name Telephony login ID. Examples [VTel.LogoutVESP.event({0,"LogoutVESP",{1,1,{"login_name","jsmith"}}})] Issue 2.1 August 2003...
  • Page 94: Makecall

    Event notification MakeCall Description A user has placed an outbound call. Output Parameters Name Description/Comments vdu_id The EDU ID corresponding to the telephone call. Examples [VTel.MakeCall.event({0,"MakeCall",{1,1,{"vdu_id", "2f562c6d00780261f430002"}}})] OnHold Description A user has placed an active call on hold. Output Parameters Name Description/Comments vdu_id...
  • Page 95: Readypreset

    Event messages to other applications ReadyPreset Description A phone is preset to a Ready state after hangup. For more information, see Phone states after hang up on page 18. Output Parameters Name Description/Comments vdu_id The EDU ID corresponding to the telephone call. Examples [VTel.ReadyPreset({0,"ReadyPreset", {1,1,{"vdu_id","2df5d9e6003b007800002a1f430002"}}})]...
  • Page 96: Serverfailed

    If the Telephony Server or EDU Server fails, this event will be sent to all connected applications. Output Parameters Name Description/Comments interface Either Avaya TS (TS) or EDU Server (EDU). Examples [VTel.ServerFailed.event({0,"ServerFailed",{1,1,{"interface","TS"}}})] ServerRestart Description If the Telephony Server or EDU Server fails, and is then restarted, this event will be sent to all connected applications.
  • Page 97: Transfer

    Event messages to other applications Output None. Parameters Examples [VTel.TerminateConnection.event({0,})] Transfer Description A blind transfer has been made. Output Parameters Name Description/Comments vdu_id The EDU ID corresponding to the telephone call. Examples [VTel.Transfer.event({0,"Transfer",{1,1,{"vdu_id", "2f562a4a00070261f430002"}}})] TransferCancel Description A consultative transfer has been canceled. Output Parameters Name...
  • Page 98: Transferinit

    Event notification Examples [VTel.TransferComplete.event({0,"TransferComplete",{1,1,{"vdu_id", "2f562a7c0780261f430002"}}})] TransferInit Description A consultative transfer has begun. The original conversation(s) have been put on hold, and a call has been placed to an additional party. Output Parameters Name Description/Comments vdu_id The EDU ID corresponding to the telephone call. Examples [VTel.TransferInit.event({0,"TransferInit",{1,1,{"vdu_id", "2f562aab00780261f430002"}}})]...
  • Page 99: Vduterminated

    Event messages to other applications Output Parameters Name Description/Comments vdu_id The EDU ID now having the current focus. Examples [VTel.VDUCurrent.event({0,"VDUCurrent",{1,1,{"vdu_id", "30a393fb00000000780000111f430002"}}})] VDUTerminated Description VTel is no longer monitoring this EDU. Output Parameters Name Description/Comments vdu_id The EDU ID corresponding to the telephone call. Examples [VTel.VDUTerminated.event({0,"VDUTerminated",{1,1,{"vdu_id", "2f5628660080000261f430002"}}})]...
  • Page 100: Wrapuppreset

    Event notification WrapUpPreset Description A phone is preset to a WrapUp state after hangup. For more information, see Phone states after hang up on page 18. Output Parameters Name Description/Comments vdu_id An active EDU ID monitored by VTel. Examples [VTel.WrapUpPreset.event({0,"WrapUpPreset",{1,1,{"vdu_id", "2f5628830000780261f430002"}}})] 100 VTel Programmer Guide...
  • Page 101: Chapter 7: Server Failure Processing

    TS/VDU.SessionFailed.event. For the Avaya TS, such an event usually corresponds to a failure in the connection between the Avaya TS and the phone switch. However, the result is the same loss of control for the clients, and it is processed in the same manner.
  • Page 102: Serverfailretrywaittime

    Server failure processing ServerFailRetryWaitTime This entry determines the time to wait (in seconds) between attempts to reconnect. For example, to make reconnect attempts at 2 second intervals: ServerFailRetryWaitTime ServerFailPrompt This entry determines whether VTel automatically prompts the agent concerning attempts to reconnect.
  • Page 103: Resynchronizing With The Phone

    In general, the agent will have to complete the current call manually. For some phones, telephony control cannot be re-established until this is done. For example, if the DEFINITY PBX is processing an ACD call to an agent, it will not allow the Avaya TS to re-establish control until the call is ended.
  • Page 104 Server failure processing 104 VTel Programmer Guide...
  • Page 105: Appendix A: The Vtel.ini Configuration File

    VTel. This file is, for the most part, self-documenting. However, in the following presentation, additional comments are occasionally inserted. Note: If you have had VTel customized for you by Avaya, your vtel.ini file may Note: have more entries than are given here. If your file is designed for a specific switch, it will have fewer entries than are given here.
  • Page 106: Annotated Vtel.ini File

    VTel documentation that expand on the function described. Important: Important: The file reproduced here is used with the stand-alone VTel application. The Important: vtel.ini file used with Avaya Agent has different settings than those described here. # ---------------------------------------------------------------- # VTEL.INI # VTel configuration file...
  • Page 107 OLE functionality is disabled. # Enable OLE Automation for Win32. VESPddeSync # Enables use of synchronous Avaya Telephony # pass-through interface to permit associating # OLE originated requests and their responses. In a number of cases, VTel (by default) filters the event information passed to it from the Telephony Server.
  • Page 108: Station Id

    # Disable all dialogs in VTel. This must be run in # NO_GUI mode. Errors are logged to vuser.log DisableVESPLogout # Prevents a hardphone logout from logging Avaya # Agent out of VESP instead of just voice channel WarnIfACDandDirect # Warns agent if ACD and Direct phone calls were...
  • Page 109: Reason

    VTel are out of sync, and that he must perform a manual logout from VTel. # Disables VTel from sending telephony messages to Avaya Telephony. Should be used # for clients that do not use VTel to control telephony functionality. All # telephony requests will return a successful response, though no request has been # made.
  • Page 110: Wrapup Codes

    The vtel.ini configuration file # CategoryReasonOutcome # To enable WrapUp functionality in VTel uncomment this INI file option. # WrapupCodeDialog Reason # WrapupCodeLimit # Number of entries per CSR ( 0 unlimited ) # WrapupCodePrivate # Codes are seen only by CSR who entered them # WrapupCodeRequired # An entry is required at wrapup # WrapupCodeMenu...
  • Page 111 Depending on the WrapupCodeDialog option used above, you must provide the names of the Reason, Category, and/or Outcome code tables that contain the relevant data. These tables can be displayed, edited, deleted, saved, and restored using Avaya Interaction Center Manager. For more information, see VTel WrapUp codes on page 125.
  • Page 112 The vtel.ini configuration file # current call. MakeCallInCall # The AutoAnswer options will cause an incoming call to be # immediately answered, provided there are no other current calls. AutoAnswerACD # Immediately answer incoming ACD calls AutoAnswerDirect # Immediately answer incoming direct calls # These allow the Ready or Busy on an ACD phone to cause # termination of all ACD calls and their related VDUs.
  • Page 113 Annotated vtel.ini file # -----Phone type # This affects the information needed for Login, and the Login Dialog shown. While # this shows the phone's capabilities, a non-agent may still login to an ACD # oriented Dialog. Typically, ACD applies to Aspect, EAS to Definity, and MRD to # Meridian.
  • Page 114 101. # On server fail, the number of times to attempt a reconnection # to the Avaya Telephony server, or zero to disable this function and # prevent any attempt at auto-reconnect. This should only be set to zero # if your application (via VTel API) is handling this.
  • Page 115 Annotated vtel.ini file # ---------------------------------------------------------------- [desktop] MainLocation # Screen location for main window BroadcastLocation # Screen location for Broadcast message TransferLocation # Screen location for Trans/Conf dialog ErrorLocation # Screen location for Error dialogs LoginLocation # Screen location for Login dialog OtherLocation # Screen location for Statistics, About, Ringing, # and Confirm Logout dialogs...
  • Page 116 The vtel.ini configuration file # ---------------------------------------------------------------- # Describes the bitmaps used for each button, in each state. # This only applies if your interface uses bitmap buttons. # Choices must be made from the list of available bitmap pictures. # Refer to each GUI design for locations of each button. If the # button number does not appear on a particular GUI design, the # information here will be ignored.
  • Page 117 Annotated vtel.ini file 3 &Conference 4 &Directory 5 &Ready 6 Re&lease 7 &WrapUp #7 DT&MF 8 &Answer #8 &Messages # ---------------------------------------------------------------- # Enabling rules for buttons # These control the actions taken and conditions enabled. For any # desired action or state destination, follow this with states # that will allow this action (qualifiers).
  • Page 118 The vtel.ini configuration file # Available from-state Names: Available Agent is available to accept new calls Alert Incoming call has arrived but not answered (ringing) Busy Agent can not accept new calls InCall Currently speaking to another party Hold Another party is currently on hold WrapUp Call disconnected, but doing additional work NewMessage...
  • Page 119 Annotated vtel.ini file [DirectButtonRules] DisabledDn InCall Alert Hangup InCall DisabledUp Hold InCall InCall Hold DisabledUp Directory HaveMessage HaveMessage NewMessage Logout DTMF [NameAliases] # ---------------------------------------------------------------- # Names displayed for states. # Whenever a particular GUI announces the current state, this # allows changing the text that is displayed. Missing (or # commented) entries use default names.
  • Page 120 The vtel.ini configuration file 120 VTel Programmer Guide...
  • Page 121: Appendix B: Vtel Errors

    Telephony error is the error type ● TS.AnswerVDU failed! is a comment on the specific error ● Number: 67109360.0 is a number for internal Avaya use ● 12/31/96 is the date (December 31, 1996) ● 14:20:48 940 is the time (20 minutes, 48 seconds, and 940 milliseconds past 2 P.M.) ●...
  • Page 122: Alphabetical List Of Vtel Errors

    VTel errors Alphabetical list of VTel errors Error Context-specific comments DDE error Refer to the Windows API Quick Reference in the Microsoft Visual C++ online documentation Does not exist When parsing configuration file: Name of missing configuration file ● - Configuration line with name of missing bitmap On call transfer/conference: ●...
  • Page 123 Alphabetical list of VTel errors Error Context-specific comments Method syntax error Bad line/value from configuration file Minor delimiter error Missing parameter Bad line from configuration file No error found Not available Number is out of range Number out of range button/label Parameter error Bad line from configuration file Request not valid in the...
  • Page 124 VTel errors 124 VTel Programmer Guide...
  • Page 125: Appendix C: Vtel Code Tables

    VTel WrapUp codes Appendix C: VTel code tables This appendix discusses VTel WrapUp codes and DEFINITY Reason codes. This section contains the following topics: VTel WrapUp codes on page 125 ● WrapUp code storage in VDU on page 129 ● VTel DEFINITY reason codes on page 131 ●...
  • Page 126 VTel code tables Note: The code tables are loaded at agent login. VTel will access the Directory Note: Server to retrieve information stored in these tables. All of the tables contain rows of codes and associated descriptions. In order to ensure a consistent presentation within VTel dialogs, wrapup code lengths should be restricted to a maximum of 8 characters, and wrapup code descriptions to a maximum of 40 characters.
  • Page 127 VTel WrapUp codes Reason table not used with Category table Auto Insurance Home Insurance New Mortgage Refinanced Mortgage Note: The EnforceWrapupFormatCategory_Reason option is a precautionary Note: option. Its sole function is to check whether "with Category Table" format and "without Category Table" format entries are combined in the same Reason Table.
  • Page 128 VTel code tables UseLegacyWrapupCodesScheme UseIndirectWrapupTables An example of the table option settings is: #ReasonCodes MyReasonTable #OutcomeCodes MyOutcomeTable #CategoryCodes MyCategoryTable #ReasonCodesIndirect MyReasonIndirectTable #OutcomeCodesIndirect MyOutcomeIndirectTable #CategoryCodesIndirect MyCategoryIndirectTable The following are examples of Category and Indirect Category code tables in such a case: Category table (MyCategoryTable) Permanent Code Text...
  • Page 129: Wrapup Code Storage In Vdu

    WrapUp code storage in VDU WrapUp code storage in VDU After entry, wrapup codes are stored in a VDU. A container syntax is used to group and organize the wrapup code entries. Containers are described in the Agent Data Unit Server Programmer's Guide.
  • Page 130: Legacy Scheme For Wrapup Code Storage In Vdu

    VTel code tables Legacy scheme for WrapUp code storage in VDU Note: Advanced Reporting Tools for Avaya IC historical reporting does not support Note: the use of the legacy scheme for wrapup codes. In the legacy scheme, the wrapup code container hierarchy produces name/value pairs of the form: {"Wrapup.n.Source.ID.C.R.O","Text"}...
  • Page 131: Vtel Definity Reason Codes

    VTel DEFINITY reason codes In the second example, Susan Brown is the third agent to receive the call, and her wrapup dialog does not allow for entry of Outcome codes. {"Wrapup.1.VTel.jsmith.21.3.001","Branch Referral;Investment;Approved"} {"Wrapup.3.VTel.sbrown.21.3.0","Branch Referral;Investment;"} VTel DEFINITY reason codes Note: These reason codes are associated only with the DEFINITY switch. To Note: implement this functionality, appropriate settings must be made for the switch.
  • Page 132 VTel code tables DefinityLogoutCodes y # Enable Definity Reason codes for Logout DefinityAuxCodes # Enable Definity Reason codes for AUX Work # ----Definity Reason code tables DefinityLogoutTable MyDefinityLogoutTable DefinityAuxTable MyDefinityAuxTable Logout or Aux (an abbreviation for Auxiliary Work, also known as Busy) entries will only be used if the corresponding option(s) have been set to yes.
  • Page 133: Index

    Index ....Command name ....Concurrent calls Symbols .
  • Page 134 ........15, 60, 63, 64, Drop Agent .
  • Page 135 ......... . GetInfo OnHold .
  • Page 136 ....Sequence of couples ..... Server setting .
  • Page 137 Issue 2.1 August 2003...
  • Page 138 138 VTel Programmer Guide...

This manual is also suitable for:

Interaction center 6.1

Table of Contents