• No results found

Avaya Interaction Center Release 6.0 Core Services Programmer s Guide

N/A
N/A
Protected

Academic year: 2021

Share "Avaya Interaction Center Release 6.0 Core Services Programmer s Guide"

Copied!
220
0
0

Loading.... (view fulltext now)

Full text

(1)

Avaya™ Interaction Center

Release 6.0

Core Services Programmer’s Guide

DXX-1024-02

Issue 1.0

June 2002

(2)

Every effort was made to ensure that the information in this book was complete and accurate at the time of printing. However, information is subject to change.

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 working on your company's behalf). Be aware that there may 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 telecommu-nications services.

Avaya Fraud Intervention

If you suspect that you are being victimized by toll fraud and you need technical support or assistance, call Technical Service Center Toll Fraud Intervention Hotline at +1 800 643 2353.

Providing Telecommunications Security

Telecommunications security (of voice, data, and/or video communications) is the prevention of any type of intrusion to (that is, either unauthorized or mali-cious access to or use of your company's telecommunications equipment) by some party.

Your company's “telecommunications equipment” includes both this Avaya product and any other voice/data/video equipment that could be accessed via this Avaya product (that is, “networked equipment”).

An “outside party” is anyone who is not a corporate employee, agent, subcon-tractor, or working on your company's behalf. Whereas, a “malicious party” is anyone (including someone who may be otherwise authorized) who accesses your telecommunications equipment with either malicious or mischievous intent.

Such intrusions may be either to/through synchronous (time-multiplexed and/or circuit-based) or asynchronous (character-, message-, or packet-based) equip-ment or interfaces for reasons of:

• Utilization (of capabilities special to the accessed equipment) • Theft (such as, of intellectual property, financial assets, or toll-facility

access)

• Eavesdropping (privacy invasions to humans)

• Mischief (troubling, but apparently innocuous, tampering)

• Harm (such as harmful tampering, data loss or alteration, regardless of motive or intent)

Be aware that there may be a risk of unauthorized intrusions associated with your system and/or its networked equipment. Also realize that, if such an intru-sion should occur, it could result in a variety of losses to your company (includ-ing but not limited to, human/data privacy, intellectual property, material assets, financial resources, labor costs, and/or legal costs).

Your Responsibility for Your Company's Telecommunications Security

The final responsibility for securing both this system and its networked equip-ment rests with you - an Avaya customer's system administrator, your telecom-munications peers, and your managers. Base the fulfillment of your

responsibility on acquired knowledge and resources from a variety of sources including but not limited to:

• Installation documents

• System administration documents • Security documents

• Hardware-/software-based security tools • Shared information between you and your peers • Telecommunications security experts

To prevent intrusions to your telecommunications equipment, you and your

Fax: +1 800 457 1764 International Fax: 410 891 0207 Email: [email protected] Write: GlobalWare Solutions Attention: Avaya Account Manager 200 Ward Hill Avenue

Haverhill, MA 01835 USA

Order: Document No. DXX-1024-02, Issue 1.0, June 2002 To order product documentation online, go to

http://www.avayadocs.com, click on Online Services, and select the appropri-ate product group.

Warranty

Avaya Inc. provides a limited warranty on this product. Refer to the “Limited Use Software License Agreement” or other applicable documentation provided with your package to establish the terms of the limited warranty.

Avaya Web Page

http://www.avaya.com

Trademarks

Avaya, Conversant, CustomerQ, Definity, DefinityOne, Nabnasset, Quintus, and WebQ are registered trademarks or trademarks of Avaya Inc. in the United States or other countries or both.

Portions of Avaya Interaction Center include technology used under license as listed below, and are copyright of the respective companies and/or their licen-sors:

ActivePerl is a trademark of ActiveState Tool Corp. This product includes software developed by the Apache Software Foundation

(http://www.apache.org/). Cognos, Impromptu and Powerplay are registered trademarks of Cognos Incorporated. YACC++ is a registered trademark of Compiler Resources, Inc. APEX, ComponentOne, VideoSoft, True DBGrid, VSVIEW, SizerOne, VS-OCX, VSFlexGrid, VSFORUM, VSREPORTS, VSDOCX, VSSPELL, and TrueDBList are either registered trademarks or trademarks of ComponentOne LLC. CT Connect, Dialogic, Intel, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Hummingbird is a registered trademark of Hummingbird, Ltd. SearchServer is a trademark of Hummingbird, Ltd. RISC System/6000 and DirectTalk/2 are trademarks of International Business Machines Corporation in the United States or other countries or both. IBM, OS/2, AS/400, CICS, WebSphere, CT, VisualAge, and DirectTalk are registered trademarks of International Business Machines Corporation in the United States or other countries or both. Lotus and Lotus Sametime are trademarks or registered trademarks of Lotus Development Corporation and/or IBM Corporation in the United States, other countries, or both. VisualX is a registered trademark of Intergroup Technologies, Inc. ActiveX, Visio, Internet Explorer, Windows, Windows NT, Windows 2000, Win32s, SQL Server, Visual Basic, Visual C++, Outlook, and FrontPage are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. TimesTen is a registered trademark of TimesTen Performance Software. Oracle is a registered trademark, and Oracle8i and

Oracle® SQL/Services are trademarks or registered trademarks of Oracle Corporation. Rogue Wave and .h++ are registered trademarks of Rogue Wave Software Inc. SourcePro is a trademark of Rogue Wave Software, Inc. Siebel is a trademark of Siebel Systems, Inc. BasicScript is a registered trademark of Summit Software Company. Sun, iPlanet, Java, Solaris JRE, J2EE, JavaServer Pages, and all Java-based trademarks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. SPARC is a registered trademark of SPARC International, Inc. Products bearing SPARC trademarks are based on an architecture

(3)

devel-3

B

EFORE

Y

OU

B

EGIN

. . . 7

1

C

ORE

S

ERVICES

O

VERVIEW

. . . 11

Core Services Descriptions . . . 11

CORBA Implementation . . . 12

2

G

ENERIC

S

ERVER

M

ETHODS

. . . 13

IDL Specification . . . 13

3

T

HE

ORB S

ERVER

. . . 33

Overview . . . 33

Automatically Starting and Stopping Servers . . . 33

Timing Server Restart Attempts . . . 34

Updating Server Configuration . . . 34

Directing Requests to a Specific Server . . . 34

Configuration . . . 35

IDL Specification . . . 35

Alarms . . . . 43

4

T

HE

A

LARM

S

ERVER

. . . 45

Overview . . . 45

Sharing Alarms Across a WAN . . . 45

Configuring the Alarm Server . . . 46

Predefined Data Elements . . . 46

Generating Alarms . . . . 47

Alarm Monitoring . . . . 48

IDL Specification . . . 50

(4)

5

T

HE

D

IRECTORY

S

ERVER

. . . 55

Overview . . . 55

Use of the DS by Client Applications . . . 55

Wide Area Network Considerations . . . 56

Configuration . . . 57

Usage and Performance . . . 58

Sizing Recommendations . . . 59

Directory Structure . . . 59

Database Schema . . . 59

Data Structure . . . 59

Avaya IC Defined Records . . . 60

Server Record . . . 61

User Record . . . 61

Using the Directory Server . . . 63

Creating Records . . . 63

Selecting and Releasing Records . . . 63

Reading Records . . . 64

Updating Records . . . 64

Deleting Records . . . 65

Selection Criteria . . . 65

Selection Criteria Syntax . . . 65

Selection Criteria Wildcards . . . 66

IDL Specification . . . 67

6

T

HE

D

ATA

C

ONNECTOR

S

ERVER

. . . 105

Overview . . . 105

Data Server Architecture . . . 106

Single Database Login . . . 106

Client Authentication . . . 107

(5)

Issue 1.0 June 2002 5 Contents

Database Events . . . 110

Running in Different Timezones . . . 110

DISPLAYTIME=”DBMSTIME” . . . 111

Timestamps . . . 112

ODBC Data Source Interface Notes . . . 112

ODBC Setup . . . 112

Adding an ODBC Data Source . . . 113

7

A

VAYA

IC ORB R

OUTINES

. . . 117

BOA Routines (Basic Object Adapter) . . . 117

Context Routines . . . 118

Hybrid API Routines . . . 118

Hybrid DDE API Routines . . . 118

Hybrid Common API Routines . . . 118

Hybrid Client Routines . . . 119

Hybrid Server Routines . . . 119

Memory Routines . . . 120

Miscellaneous Routines . . . 121

NVList Routines (Named Value List) . . . 121

ORB Routines (Object Request Broker) . . . 122

ORB Object Routines (Server Objects) . . . 122

Request Routines . . . 123

Session Routines . . . 123

Support Routines . . . 124

Internal Network Routines . . . 125

Timed Routines . . . 125

8

A

VAYA

IC T

OOLKIT

F

UNCTIONS

. . . 127

Function Descriptions . . . 127

(6)
(7)

7

B

EFORE

Y

OU

B

EGIN

Typographical Conventions

This guide uses the following font conventions:

Notes, Tips, and Cautions

Note: A note calls attention to important information.

Tip: A tip offers additional how-to advice.

Caution: A caution points out actions that may lead to data loss or other serious problems.

Contacting Technical Support

If you are having trouble using Avaya software, you should:

1 Retry the action. Carefully follow the instructions in written or online documentation.

2 Check the documentation that came with your hardware for maintenance or hardware-related issues.

Font Type Meaning

code This font signifies commands, information that you enter into the computer, or

information contained in a file on your computer.

italics This font is used to add emphasis to important words and for references to other chapter names and manual titles.

It also indicates variables in a command string.

jump Blue text in online documents indicates a hypertext jump to related information. To view the related material, click on the blue text.

(8)

3 Note the sequence of events that led to the problem and the exact messages displayed. Have the Avaya documentation available.

4 If you continue to have a problem, contact Avaya Technical Support by: w Logging in to the Avaya Technical Support Web site

(http://www.avaya.com/support/qq).

w Calling or faxing one of the following numbers from 8:30 a.m. to 8:30 p.m. (Eastern Standard Time), Monday through Friday (excluding holidays):

w Toll free in the U.S. only: 1-888-TECH-SPT (1-888-832-4778) w Direct line for international and domestic calls: 512-425-2201 w Direct line for faxes: 512-719-8225

w Sending email with your question or problem to [email protected]. You may be asked to email one or more files to Technical Support for analysis of your application and its environment.

Note: If you have difficulty reaching Avaya Technical Support through the above URL or email address, please go to www.avaya.comfor further information.

Product Documentation

Most Avaya product documentation is available in both printed and online form. However, some reference material is available only online, and certain information is available only in printed form. 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.

Readme File

The Readme file is an HTML file included on the Avaya Interaction Center software CD-ROM. This file contains important information that was collected too late for inclusion in the printed documentation. The Readme file can include installation instructions, system requirements, information on new product features and enhancements, suggested work-arounds to known problems, and other information critical to successfully installing and using your Avaya software. You may also receive a printed Addendum to the Readme, containing similar information

uncovered after the manufacture of the product CD-ROM. You should review the Readme file and the Readme Addendum before you install your new Avaya software.

(9)

Educational Services

Issue 1.0 June 2002 9

Printed Documentation

You can purchase printed copies of these manuals separately. For details, see “Ordering Information,” on the back of this manual’s title page.

License to Print the Electronic Documentation

Online copies of documentation are included on the CD-ROM that accompanies every software release. An Avaya customer who has licensed software (a “Licensee”) is entitled to make this online documentation available on an internal network or “intranet” solely for the Licensee's use for internal business purposes. Licensees are granted the right to print the documentation

corresponding to the software they have purchased solely for such purposes.

Right-To-Print License Terms

Documents must be printed “as-is” from the provided online versions. Making changes to documents is not permitted. Documents may be printed only by any employee or contractor of Licensee that has been given access to the online documentation versions solely for Licensee's internal business purposes and subject to all applicable license agreements with Avaya. Both online and printed versions of the documents may not be distributed outside of Licensee enterprise or used as part of commercial time-sharing, rental, outsourcing, or service bureau use, or to train persons other than Licensee's employees and contractors for Licensee's internal business purposes, unless previously agreed to in writing by Avaya. If Licensee reproduces copies of printed

documents for Licensee's internal business purposes, then these copies should be marked “For internal use only within <Licensee> only.” on the first page or cover (where <Licensee> is the name of Licensee). Licensee must fully and faithfully reproduce any proprietary notices contained in the documentation. The copyrights to all documentation provided by Avaya are owned by Avaya and its licensors. By printing any copy of online documentation Licensee indicates its acceptance of these terms and conditions. This license only governs terms and conditions of printing online documentation. Please reference the appropriate license agreement for terms and conditions applicable to any other use, reproduction, modification, distribution or display of 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:

n Through the web at http://www.avaya-learning.com

n Over the telephone at 800-288-5327 (within the U.S.) +001 303-406-6089 (outside of the U.S.) n Through email at [email protected]

(10)
(11)

11

C

HAPTER

1

C

ORE

S

ERVICES

O

VERVIEW

Avaya Interaction Center (Avaya IC) is advanced contact center management software that integrates computers, telephones, voice, and data.

Avaya IC consists of a collection of specialized client and server objects, and the CORBA (Common Object Request Broker Architecture) platform and development tools necessary to develop custom clients and servers. The servers and clients provided by Avaya encompass the standard functionality required for most computer telephony integration applications.

This manual describes the Avaya IC core services, including generic methods that are available to all clients and servers in the Avaya IC system, core servers, and Telephony Toolkit functions.

Core Services Descriptions

The core services described in this manual are:

ORB Server The ORB (Object Request Broker) Server operates behind the scenes to ensure that Avaya IC services are available to clients in a truly location-independent manner. It is capable of restarting a server that is stopped when its services are needed. It also assists in locating the required services to fulfill a client's requests. One ORB Server will reside on each physical computer that contains one or more Avaya IC servers.

Alarm Server The Alarm Server is called by clients and servers to report an alarm condition.

Directory Server The Directory Server maintains a flat file database that is a central repository for information about the Avaya IC environment. It maintains configuration data for servers, agent information, lookup tables and other system information.

Data Connector Server The Data Connector Server allows developers to create database-independent applications using the Data Server libraries instead of database libraries. This reduces the size of the application and eliminates the need to install database libraries or support files on every machine running the application.

(12)

Additional Avaya IC services are described in separate manuals in the Avaya IC documentation set. For more information about Avaya IC components, consult these books on the Documentation CD.

CORBA Implementation

Avaya components communicate with each other through TCP/IP, using a protocol that is based upon an early version of the Common Object Request Broker Architecture (CORBA). The Avaya protocol includes several features that were not part of the CORBA specification. These features provide high performance and reliability for CRM and contact management applications. As CORBA has evolved, Avaya has chosen not to implement all of the features of the latest CORBA specifications, and has not made its CORBA implementation interoperable with other CORBA implementations, because the existing Avaya protocol is highly optimized for its intended use. Those customers desiring inter operability with other CORBA based products will need to implement an interface between the Avaya environment and the other CORBA environment.

Avaya IC Toolkit The Avaya IC Toolkit provides a set of network-based functions for the creation of data structures and application programming interfaces (APIs). The Toolkit functions focus on creating, defining, accessing, and deleting network-based objects.

(13)

13

C

HAPTER

2

G

ENERIC

S

ERVER

M

ETHODS

There is always a need for a certain set of basic functionality in a server. The methods described in this chapter can be inherited by all servers to create a baseline of functionality. They are built into the toolkit. To access them, include the file generic.idl in your interface definition:

#include "generic.idl"

When creating a new interface, you may inherit the General interface by including the following in your interface definition:

interface your_server : General

To access the General methods, precede the method name with the name of your server's interface; the term Generic is used as an example in this chapter.

IDL Specification

interface General virtual {

ORBStatus Deassign(); /* all VESP Servers can deassign */ /* Process control, all require proc priv */

ONEWAY Exit( in unsigned long exit_code ); ONEWAY Crash();

ORBStatus Shutdown( in unsigned long time ); /* Reject new request terminated current sessions,

tell ORB Server not to route more requests */ ORBStatus DisableServer(in unsigned long time ); ORBStatus EnableServer( in unsigned long time );

ORBStatus CreateUUID( in Identifier host, in Identifier service, in string version, in string

max_users, out string uuid_str );

ORBStatus DecodeUUID( in string uuid_str, out string host, outstring service, out string

time_high, out string time_low, out string version, out string max_users );

(14)

unsigned long GetTracing();

ORBStatus GetStatus( out SeqCouple status ); ORBStatus GetCtime( out string ctime );

ORBStatus GetTimet( out unsigned long timet ); /* Note Subsystem */

ORBStatus CreateNote( in string mode, in string name, in string value );

ORBStatus DeleteNote( in string name ); ORBStatus DeleteAllNotes();

ORBStatus GetNote( in string name, out string value ); ORBStatus GetAllNotes( out SeqCouple note_list ); ORBStatus MonitorNote( in string mode );

ORBStatus GenericUpdate( in string info );

ONEWAY SetTracing( in unsigned long trace_level ); ORBStatus LoadNewImplementation();

ORBStatus Ping();

/* Print internal server info */ ORBStatus PrintSessionInfo(); ORBStatus PrintAll();

ORBStatus PrintAllRequests();

ORBStatus GetToolkitVersion( out string version ); ORBStatus GetServerVersion( out string version ); /* memory control */

ORBStatus GetMemoryCount( out unsigned long memory_count ); ORBStatus LoseHeap();

ORBStatus ShowHeap();

ORBStatus ShowMemoryCache(); ORBStatus ShowNetworkStatus();

ORBStatus GetIntRepository( out sting interface_respostory ); ORBStatus GetImpRepository( out string

implementation_respostory );

ORBStatus GetFile( in string file_name, out string file ); ORBStatus GetEnviron( in string name, out string value ); ORBStatus PutEnviron( in string name_value );

ORBStatus SystemCall( in string name_value ); }

(15)

Generic.Crash

Issue 1.0 June 2002 15

Generic.Crash

IDL Syntax ONEWAY Crash( ) ;

Description Makes the server crash. The server executes the function abort().

You must have manager level security to access this method, and the calling session must have process security access.

Returns None

Example status = Vesp_Request( "Generic.Crash", callback, user_data, session);

Generic.CreateNote

IDL Syntax ORBStatus CreateNote( in string mode, in string name, in string value ) ;

Description Create a note. All clients assigned to this server will receive an event with the name Note. Input Parameters

Returns

Example Vesp_Request( "Generic.CreateNote ", callback, user_data, session, "", "mynote", "mynote_value" );

String event syntax:

[Generic.Note.event((1,1,( "mynote", "mynote_value")))]

mode Unused, empty. name Name of note value The text of the note.

(16)

Generic.CreateUUID

IDL Syntax ORBStatus CreateUUID( in Identifier host, in Identifier service, in string version, in string max_users,

out string uuid_str ) ;

Description Create a UUID string from its component information. Input Parameters

Output Parameters

Returns

Generic.Deassign

IDL Syntax ORBStatus Deassign( void ) ;

Description Terminates the current session. A special hybrid routine is used for deassigns; see Vesp_Deassign. This method will run with an explicit deassign call from an assigned client, or will run

automatically if a client terminates abnormally. Returns

host The name of the host machine.

service The name of the service (server) whose port will be associated with the UUID.

version Reserved; not currently used. max_users Reserved; not currently used.

uuid_str A completed UUID in string form, based on the input information.

VESP_SUCCESS Method was successful

(17)

Generic.DecodeUUID

Issue 1.0 June 2002 17

Generic.DecodeUUID

IDL Syntax ORBStatus DecodeUUID( in string uuid_str, out string host, out string service, out string time_high, out string

time_low, out string version, out string max_users ) ;

Description Decode a UUID string into its pieces. Input Parameters

Output Parameters

Returns

Generic.DeleteAllNotes

IDL Syntax ORBStatus DeleteAllNotes( void ) ;

Description Delete all the notes stored in the server. Returns

Example Vesp_Request("Generic.DeleteAllNotes", NULL, OUL, session );

uuid_str The UUID, in string form, to be decoded.

uuid_str The UUID, in string form, to be decoded. host The name of the host machine.

service The name of the service (server) whose port is associated with the UUID.

time_high The time (from the ANSI C time() function) the UUID was created.

time_low A sequence number used to distinguish between UUIDs created in the same second by the same object.

version Version information from the UUID. max_users Max user information from the UUID.

VESP_SUCCESS Method was successful

(18)

Generic.DeleteNote

IDL Syntax ORBStatus DeleteNote( in string name ) ;

Description Delete note named. Input Parameters

Returns

Example Vesp_Request("Generic.DeleteNote", NULL, OUL, session, "my_note" );

Generic.DisableServer

IDL Syntax ORBStatus DisableServer( in unsigned long time ) ;

Description Disable the named server. The server will reject assign requests. Input Parameters

Returns

name Name of note to delete.

VESP_NOT_FOUND Service not found VESP_SUCCESS Method was successful

time Number of seconds until the server is disabled.

(19)

Generic.EnableServer

Issue 1.0 June 2002 19

Generic.EnableServer

IDL Syntax ORBStatus EnableServer( in unsigned long time ) ;

Description Enable a server previously disabled with the DisableServer() method. Input Parameters

Returns

Generic.Exit

IDL Syntax ONEWAY Exit( in unsigned long exit_code ) ;

Description: Makes the server exit. The calling session must have process security access. If the server is configured for the ORB Server to autostart, it will not auto start if this method is called. This is the only clean way to exit a server.

Input Parameters

Returns None

Example Vesp_Request( "Generic.Exit", callback, user_data, session);

Generic.FlushLog

IDL Syntax ONEWAY FlushLog( void) ;

Description Make the server flush all buffered log information to the log file.

Returns None

Example Vesp_Request( "Generic.FlushLog ", callback, user_data, session);

time The length of time until the server is enabled.

VESP_SUCCESS Method was successful

(20)

Generic.GenericUpdate

IDL Syntax ORBStatus GenericUpdate( in string info ) ;

Description Make the server perform a generic update. The server must register its own version of GenericUpdate for this method to have any effect.

The following Avaya IC servers currently use the GenericUpdate method:

Input Parameters

Returns

Example Vesp_Request( "ORBServer.GenericUpdate", callback, user_data, session, "");

Implementation Example

ORBStatus ORBServer_GenericUpdate( Object obj, Environment *ev, char *info ) { EVCHECK(Vesp_Reload_Imp( object_gbl )); return ( VESP_SUCCESS) }

/* this routine is called before the server is registered with BOA */ ORBStatus Server_user_init(Object object)

{

Environment ev;

/* BOA init sequence */

SCHECK(BOA_set_method(VESP_BOA, ev, object, (char*)”GenericUpdate”, OUL, VESP_SUC_PROCESS_CONTROL, (ULONG)ORBServer_GenericUpdate));

TS Load new user information from the Directory. ORB Server Load all new server configuration from the Directory

and create a new implementation repository.

info Information specific to the update.

(21)

Generic.GetAllNotes

Issue 1.0 June 2002 21

Generic.GetAllNotes

IDL Syntax ORBStatus GetAllNotes( out SeqCouple note_list ) ;

Description Get all of the notes stored in the server. Output Parameter1

Returns

Example Vesp_Request( "Generic.GetAllNotes", callback, user_data, session, note_list );

Generic.GetCtime

IDL Syntax ORBStatus GetCtime( out string ctime ) ;

Description Return the time in a string in ANSI C format. Output Parameters

Returns

note_list All the notes in the server.

VESP_SUCCESS Method was successful

ctime The time, in ANSI C format.

VESP_SUCCESS Method was successful

(22)

Generic.GetEnviron

IDL Syntax ORBStatus GetEnviron( in string name, out string value ) ;

Description Returns the value of the named environment variable. Input Parameters

Output Parameters

Returns

Generic.GetFile

IDL Syntax ORBStatus GetFile( in string file_name, out string file ) ;

Description Retrieve the specified file. Input Parameters

Output Parameters

Returns

name Name of an environment variable.

value Value of the named environment variable.

VESP_SUCCESS Method was successful VESP_BAD_PARAMETER Invalid input parameter

file_name File to retrieve.

file String to hold file.

(23)

Generic.GetImpRepository

Issue 1.0 June 2002 23

Generic.GetImpRepository

IDL Syntax ORBStatus GetImpRepository( out string implementation_repository ) ;

Description Load from the selected server a copy of the implementation repository ( i.e., imp file). Output Parameters

Returns

Generic.GetIntRepository

IDL Syntax ORBStatusGetIntRepository( out string interface_ repository) ;

Description Load from the selected server a copy of the interface repository (i.e., pk file). Output Parameters

Returns

Generic.GetMemoryCount

IDL Syntax ORBStatus GetMemoryCount( out unsigned long memory_count ) ;

Description Find out how much memory the server has allocated using Avaya IC memory calls. Output Parameter

Returns

implementation_repository String containing the repository.

VESP_SUCCESS Method was successful

interface_ repository Name of file to hold the repository.

VESP_SUCCESS Method was successful

memory_count How much memory is in use.

(24)

Generic.GetNote

IDL Syntax ORBStatus GetNote( in string name, out string value ) ;

Description Get a specific note from a server. Input Parameters

Output Parameters

Returns

Generic.GetServerVersion

IDL Syntax ORBStatus GetServerVersion( out string version ) ;

Description Get the current version of the server. Output Parameters

Returns

name Note to retrieve.

value Contents of note.

VESP_SUCCESS Method was successful

version Version of the server.

(25)

Generic.GetStatus

Issue 1.0 June 2002 25

Generic.GetStatus

IDL Syntax ORBStatus GetStatus( out SeqCouple status ) ;

Description Get generic and custom status information from a server. This has a user definable hook so when you build a server you can add your own status information.

Output Parameters

Returns

Example /* Get Server Status */

seq_couple_out = vesp_couple_seq_create();

SCHECK( Vesp_Request_Sync( “TEST.GetStatus”,&ev, session, &reque seq_couple_out ) );

if ( ev._major != NO_EXCEPTION ) {

exit( 1); }

vesp_print_any( TC_IDL_SEQUENCE_Couple, seq_couple_out ); SCHECK( Vesp_Request_Delete( session, request ));

Generic.GetTimet

IDL Syntax ORBStatus GetTimet( out unsigned long timet ) ;

Description Returns the time in seconds since January 1, 1970 in GMT. Output Parameters

Returns

status Current status information in the server.

VESP_SUCCESS Method was successful

timet The time in seconds.

(26)

Generic.GetToolkitVersion

IDL Syntax ORBStatus GetToolkitVersion( out string version ) ;

Description Get the toolkit version of a server. Output Parameters

Returns

Generic.GetTracing

IDL Syntax unsigned long GetTracing( void ) ;

Description Get the trace level of the server. Returns Current server trace level

Example trace_level = Vesp_Request_Sync( "TEST.GetTracing ", &ev, session, &request, 1UL );

SCHECK( Vesp_Request_delete( session, request ));

Generic.LoadNewImplementation

IDL Syntax ORBStatus LoadNewImplementation( void ) ;

Description Make the server load a new set of implementations from the Directory. Returns

version The toolkit version of the server.

VESP_SUCCESS Method was successful

(27)

Generic.LoseHeap

Issue 1.0 June 2002 27

Generic.LoseHeap

IDL Syntax ORBStatus LoseHeap( void ) ;

Description Make the server lose track of detailed listing of memory that has already been allocated. This is very useful when trying to isolate memory leak problems.

Returns

Generic.MonitorNote

IDL Syntax ORBStatus MonitorNote( in string mode ) ;

Description Not currently used. Returns

Generic.Ping

IDL Syntax ORBStatus Ping( void ) ;

Description Ping the server to see if it is running. This will NOT start a server. Returns

Generic.PrintAll

IDL Syntax ORBStatus PrintAll( void ) ;

Description Print all the internal information about a server into its logfile. Returns

VESP_SUCCESS Method was successful

VESP_SUCCESS Method was successful

VESP_SUCCESS Method was successful

(28)

Generic.PrintAllRequests

IDL Syntax ORBStatus PrintAllRequests( void ) ;

Description Print the information about all the outstanding requests of a server into its log file. Returns

Generic.PrintSessionInfo

IDL Syntax ORBStatus PrintSessionInfo( void ) ;

Description Print all the information of all the sessions the server is currently engaged in to the log file. Returns

Generic.PutEnviron

IDL Syntax ORBStatus PutEnviron( in string name_value ) ;

Description Allows you to set an environment variable. The calling session must have process security access. Input Parameters

Returns

VESP_SUCCESS Method was successful

VESP_SUCCESS Method was successful

name_value Name of the environment variable and the value to which it is to be set. The format should be "name=value".

VESP_SUCCESS Method was successful VESP_BAD_PARAMETER Invalid input parameter

(29)

Generic.SetTracing

Issue 1.0 June 2002 29

Generic.SetTracing

IDL Syntax ONEWAY SetTracing ( in unsigned long trace_level ) ;

Description Set the trace level of the server. The calling session must have process security access.

Input Parameters

Returns

Example Vesp_Request( "Generic.SetTracing", callback, user_data, session, VESP_Trace_IDL_CODING|VESP_TRACE_FLUSH_LOG);

Generic.ShowHeap

IDL Syntax ORBStatus ShowHeap( void ) ;

Description Print all known allocated memory into the log file. This is very useful in finding memory leaks. Returns

Generic.ShowMemoryCache

IDL Syntax ORBStatus ShowMemoryCache( void ) ;

Description Print the server’s current memory cache information into its logfile. Returns

trace_level Trace level to be set.

VESP_SUCCESS Method was successful

VESP_SUCCESS Method was successful

(30)

Generic.ShowNetworkStatus

IDL Syntax ORBStatus ShowNetworkStatus( void ) ;

Description Print all the server’s network information into its logfile. All current TCP/IP information is printed.

Returns

Generic.Shutdown

IDL Syntax ORBStatus Shutdown( in unsigned long time ) ;

Description This method shuts a server down. A shutdown event is sent to all clients assigned to the server. Input Parameters

Returns

Generic.SystemCall

IDL Syntax ORBStatus SystemCall( in string name_value ) ;

Description Use this method to pass a request straight to the operating system. This method is available only on UNIX systems.

Input Parameters

VESP_SUCCESS Method was successful

time Time, in seconds, until the server is shutdown.

VESP_SUCCESS Method was successful

name_value Quoted string containing the command to be executed.

(31)

Generic.SystemCall

Issue 1.0 June 2002 31 Returns

VESP_SUCCESS Method was successful VESP_BAD_PARAMETER Bad input parameter

VESP_FAILURE Command failed or method was invoked on a non-Unix server

(32)
(33)

33

C

HAPTER

3

T

HE

ORB S

ERVER

Overview

The ORB Server controls and maintains servers. Every machine that runs servers must have an ORB Server running. The ORB Server can start, stop, and monitor the status of any server on its machine.

ORB Servers on different machines communicate with each other to find the correct resource for a client request. If the requested server is not on the ORB Server’s machine, the request is routed to the correct ORB Server to handle the request. If a server is not yet started, the ORB Server will start it.

Automatically Starting and Stopping Servers

The ORB Server can automatically start servers on system startup. If the server's autostart configuration parameter is set to true, the server will be automatically started when the ORB Server starts.

Individual servers can be stopped by invoking the Exit() method. Any other attempt results in the ORB Server starting the server again. If a method is invoked on the server after it has exited, the server starts. Automatic starts can be disabled by invoking the TerminateAutostart() method for the given server.

Note: All servers under the control of an ORB Server, including the ORB Server itself, can be stopped using the IC Manager Server Shutdown option, the TerminateVESP() method or the vespadmin utility. Refer to the IC Installation and Configuration Guide for information on the vespadmin utility.

(34)

Timing Server Restart Attempts

When a client sends a message to a server and the server is unable to respond, the client requests that the ORB Server start the server. If the server is still unavailable, the client may repeatedly send the request, causing the ORB Server to repeatedly attempt to start the server.

To prevent runaway conditions from occurring, the ORB Server limits the time between server restart attempts. The default is 15 seconds; this can be changed using the SetBackoffTimer() method or the serverstarttimer configuration parameter.

Updating Server Configuration

Whenever the GenericUpdate method is invoked, the ORB Server reads the new server configuration from the directory and generates a new vesp.imp file in the ORB Server home directory. There are several points to consider when updating servers in a WAN environment. n When adding a server in a WAN environment, allow an adequate lapse of time between adding

the server and updating the ORB Server. When a server is added to the Avaya IC environment using Add Server option in IC Manager, a new server record is written in the directory

maintained by the Directory Server. That change is immediately written to the parent directory, but the speed with which the change is relayed out to child directories is configurable. (Refer to

“Configuration,” on page 57 for information on configuration options for the Directory Server.) Once all child directories have been updated, the ORB Server should be updated.

Using the information in the directory, the ORB Server rebuilds the file vesp.imp in its local directory. If all servers are not run from the same directory, vesp.imp must be copied to all of the directories from which servers are run.

n All client machines must also receive the updated copy of vesp.imp. For clients with the Auto load CORBA implementation file option checked in IC Manager, the vesp.imp is

automatically loaded at login. (It is recommended that you check this option.) For other users, the vesp.imp file must be copied to the client machine.

n When adding a new Directory Server in a WAN environment, a copy of the file ds.ffd must be present in the directory in which the Directory Server has been installed before the server can be started. (The install program automatically creates ds.ffd when the first Directory Server is installed.)

(35)

Configuration

Issue 1.0 June 2002 35

Configuration

The ORB Server is configured through the IC Manager. Refer to IC Administration Volume 1: Servers & Domainsfor configuration instructions.The following table describes the label used when configuring the ORB Server with IC Manager. The parameter name that is required internally by the server is provided after the label name in parenthesis.

IDL Specification

The following is the Interface Definition Language (IDL) for the ORB Server.

The method names are provided without their interface qualifier, which is ORB. For example, a call to the Resolve() method in the ORB Server takes the form ORB.Resolve().

interface ORBServer : General {

ORBStatus obj_is_ready( in string object_str ); ORBStatus deactivate_obj( in string object_str );

ORBStatus Resolve( in string uuid, out string resolved_uuid ); ORBStatus SetBackoffTimer( in unsigned long timer );

ORBStatus StartServer( in string uuid );

ORBStatus StartServerByBuild( in string uuid, in string group, out string new_uuid );

ORBStatus StopServer( in Identifier uuid ); ORBStatus TerminateAutostart( in string uuid ); ORBStatus TerminateServer( in string uuid ); ORBStatus TerminateAllServers();

void TerminateVESP();

ORBStatus SetServiceProperty( in string uuid, in string name, in string value );

}

Label Description

Server Start Timer (serverstarttimer)

The minimum number of seconds the ORB Server should wait between attempts to start a server. The default is 15 seconds. Server Shutdown Timer

(servershutdowntimer)

The minimum number of seconds the ORB Server should wait for a server to shut down before giving up on it and moving on tp shut down other servers. The default is 180 seconds.

(36)

deactivate_obj

IDL Syntax ORBStatus deactivate_obj( in string object_str ) ;

Description This method is not yet implemented. Input Parameters

Returns

Exceptions

GenericUpdate

IDL Syntax ORBStatus GenericUpdate( in string info ) ;

Description This method is inherited from the general methods. It reloads server information from the Directory Server and copies a new copy of the vesp.imp file into its home directory. Input Parameters

Returns

Exceptions None

object_str String identifying the object to be deactivated.

VESP_SUCCESS Request was successful

VESP_NOT_FOUND Service not found

info Information specific to the update.

VESP_SUCCESS Request was successful VESP_BAD_PARAMETER A parameter was invalid

(37)

obj_is_ready

Issue 1.0 June 2002 37

obj_is_ready

IDL Syntax ORBStatus obj_is_ready( in string object_str ) ;

Description This method is for internal use only. It is used inside the Vesp_Server_Login function to inform the ORB Server that the server is now ready to accept requests.

Input Parameters

Returns

Exceptions None

Resolve

IDL Syntax ORBStatus Resolve( in string uuid, out string resolved_uuid ) ;

Description For a given server, check to see if the server has been remapped to a different uuid.

Input Parameters

Output Parameters

Returns

Exceptions

object_str String identifying the object.

VESP_SUCCESS Request was successful

uuid Id of server as found in the directory.

resolved_uuid Id of server that will perform task.

VESP_SUCCESS Request was successful

VESP_SERVER_NOT_AVAILABLE Requested service not available VESP_NOT_FOUND Service not found

(38)

SetBackoffTimer

IDL Syntax ORBStatus SetBackoffTimer( in unsigned long timer ) ;

Description To prevent runaway conditions from occurring, the ORB Server limits the time between server restart attempts. The default is 15 seconds. The SetBackoffTimer() method allows you to control the amount of time between server restart attempts.

This method requires process control security level.

The serverstarttimer configuration parameter performs the same function. Input Parameters

Returns

Exceptions

SetServiceProperty

IDL Syntax ORBStatus SetServiceProperty( in string uuid, in string name, in string value ) ;

Description This method can be used to temporarily override a server's autostart setting, delay an autostart attempt, enable or disable a server, and print ORB Server activity to a log file.

Note that when the ORB Server is updated, the server's settings will revert to the default set through the IC Manager.

Input Parameters

timer New value of the timer in seconds.

VESP_SUCCESS Request was successful

VESP_NO_PRIVILEGE Insufficient privilege for operation

(39)

StartServer

Issue 1.0 June 2002 39 Returns

Exceptions

StartServer

IDL Syntax ORBStatus StartServer( in string uuid ) ;

Description Start a server. Input Parameters

Returns

Exceptions

StartServerByUuid

IDL Syntax ORBStatus StartServerByUuid( in string uuid, in string group, out string new_uuid ) ;

Description Start a server. If the server is not local, ask another ORB Server to start the server. Input Parameters

VESP_SUCCESS Request was successful

VESP_SERVER_NOT_AVAILABLE Requested service not available VESP_NOT_FOUND Service not found

uuid Id of server as found in the directory.

VESP_SUCCESS Request was successful

VESP_SERVER_NOT_AVAILABLE Requested service not available VESP_NOT_FOUND Service not found

uuid Server to start. group Not used.

(40)

Output Parameters

Returns

Exceptions

StopServer

IDL Syntax ORBStatus StopServer( in Identifier uuid ) ;

Description Stops a server. Depending on the server's configuration, the server may be automatically restarted by the ORB Server.

Input Parameters

Returns

Exceptions

new_uuid uuid of service started.

VESP_SUCCESS Request was successful

VESP_SERVER_NOT_AVAILABLE It may not be time to restart server yet, as determined by the serverstarttimer configuration parameter

VESP_EXISTS You tried to start the ORB Server

uuid Id of server as found in the directory.

VESP_SUCCESS Request was successful

VESP_SERVER_NOT_AVAILABLE Requested service not available VESP_NOT_FOUND Service not found

(41)

TerminateAllServers

Issue 1.0 June 2002 41

TerminateAllServers

IDL Syntax ORBStatus TerminateAllServers( void ) ;

Description Terminate all servers started by this ORB Server. This does not stop the ORB Server. This method requires process control security level.

Returns

Exceptions

TerminateAutostart

IDL Syntax ORBStatus TerminateAutostart( in string uuid ) ;

Description Stop a server from autostarting. After this method is run the server specified will not autostart until the ORB Server is restarted.

This method requires process control security level. Input Parameters

Returns

Exceptions

VESP_SUCCESS Request was successful

VESP_FAILURE Could not stop all servers VESP_NO_PRIVILEGE Insufficient security level

uuid Server for which to disable autostart.

VESP_SUCCESS Request was successful

VESP_FAILURE Could not stop all servers VESP_NO_PRIVILEGE Insufficient security level

(42)

TerminateServer

IDL Syntax ORBStatus TerminateServer( in string uuid ) ;

Description Make a specific server exit. This sends the specified server a SIGTERM signal under UNIX. This method requires process control security level.

Input Parameters

Returns

Exceptions

TerminateVESP

IDL Syntax void TerminateVESP( void ) ;

Description Terminate all servers started by this ORB Server including the ORB Server itself. This performs a complete Avaya IC shutdown. Once terminated, the ORB Server has to be restarted on the server platform.

This method requires process control security level.

Note: The vespadmin utility performs this function. Refer to the IC Installation and Configuration Guide for information on the vespadmin utility.

Returns None

Exceptions

uuid uuid of server to exit.

VESP_SUCCESS Request was successful

VESP_FAILURE Could not stop server VESP_NO_PRIVILEGE Insufficient security level

(43)

TerminateVESP

Issue 1.0 June 2002 43

Alarms

The following alarms can be generated by the ORB Server.

Alarm Priority Alarm Text Cause/ Recommended Action ServerAutoRestart High Server is starting

at ORB Server start time

A server is configured to autostart, and it has restarted. No corrective action is needed unless you do not want the server to start. ServerCrash High Server has

crashed

A server has terminated for some reason other than an invocation of its Exit method. The ORB Server is aware of this and will restart the server if needed, but the cause of the termination should be investigated. ServerExit Low Server has exited

normally

A server's Exit method has been invoked and the server has stopped.

ServerNotStart High Could not start a server

The ORB Server was unable to start a server. Examine the alarm message and the server log to determine the cause of the failure.

(44)
(45)

45

C

HAPTER

4

T

HE

A

LARM

S

ERVER

Overview

The Alarm Server allows an Avaya IC client or server to generate alarms when there are problems with the system or a component. The Alarm Server enables client applications to receive these alarms as events, which allows for intervention by systems personnel or software.

The Alarm Server serves two major purposes:

n It receives alarms generated by server and client applications.

n It sends alarms (received as events) to client applications that are interested in obtaining events from one or more sources.

Each Avaya Telephony Server (Avaya TS) and client application maintains its own set of specific alarm messages. Each application that generates alarms sends the alarm to the Alarm Server through the APIs that are automatically available to all client applications (they are registered as part of the Avaya IC environment). The alarm, as well as the name and address of the software process generating the alarm, can be displayed for the system manager.

There are a variety of conditions that can cause an alarm to be generated. For example, if a server cannot perform a requested operation and the reason is environmental, an alarm can be generated. Alarms can also be generated to signal a request that is severely delayed or lost. Other conditions that may be considered less important can be recorded in the application's log file. Alarms are displayed by the IC Manager Alarm Monitor.

The stream of alarms may be captured for integration with other management environments, such as NetView, by creating an Avaya TS that captures and passes events.

Sharing Alarms Across a WAN

Clients assigned to one Alarm Server will receive alarms generated by any other Alarm Server, assuming the Alarm Servers are aware of each other. To make existing Alarm Servers aware of new Alarm Servers added to the system, use the IC Manager Update option on all existing Alarm servers. Refer toIC Administration Volume 1: Servers & Domainsfor information on the Update option.

(46)

Configuring the Alarm Server

The Alarm Server is configured through the IC Manager. Refer to IC Administration Volume 1: Servers & Domainsfor configuration instructions. The following table lists the labels used when configuring with IC Manager, followed in parentheses by the parameter name that is required internally by the server.

Predefined Data Elements

The following table describes the predefined data elements associated with the Alarm Server. The Alarm Server adds default values to any Alarm events that do not contain these data elements.

Label Description

Report Alarms (reportflag)

If checked, alarms received by this Alarm Server are saved to the database. Default is checked.

Suppress Alarms (backoff)

Suppresses alarms. Entered in the format: <alarmname> <minutes> <priority>

Once an alarm with the given <alarmname> is sent, additional

<alarmnames> will be discarded for the time specified in <minutes>. After <minutes> have elapsed, the alarm Alarm.RepeatedAlarm is sent with information about the repeated alarm, and the trap is reset.

For example, backoff DS.BadString 15 low would cause the alarm

DS.BadString to be sent once, discarded for 15 minutes, followed by a RepeatedAlarm alarm message with a low priority.

Propagate (propagate)

If checked, alarms received by this Alarm Server are distributed to other Alarm Servers. Default is checked.

Element Description Default

description Description of the alarm. No default. owner An Object string. The identity of the object

(device, person, process, etc.) raising the Alarm.

(47)

Generating Alarms

Issue 1.0 June 2002 47

Generating Alarms

When code generates an alarm, it can add any names and values it likes to the alarm event. If it does this for certain key fields (alias, object, sourcetype, group, owner, priority, time, user) the caller's values are believed. If those fields are not set, the Alarm server will try to fill them in based on what it knows about the caller, as follows:

Note: If you add or remove servers, you should issue an Update against the Alarm Server, so it knows to fetch the new server list (in the past, this was only needed if you added or dropped alarm servers.)

time Timestamp, generated in SQL format (year-mm-dd hh:mm:ss).

Date/time when the Alarm Server received the Alarm.

priority Importance of the alarm. Pre-defined levels: emergency high info low

Emergency events are sent to every Alarm Server client even if the client is not monitoring for them explicitly.

low

group Name of the domain associated with the client who raised the original alarm.

No default.

Element Description Default

owner usually set by the caller's toolkit defaults to the session uuid of the calling application. (If set by the toolkit it may be a server uuid instead.)

object usually set by the caller's toolkit, if caller is a server

defaults to the server uuid of the calling application.

If the caller is an agent, it will set user to the caller's loginid.

If the caller is a server, it will set alias to the server's alias, if any, and sourcetype to the server's type (EDU, DS, etc.)

group is filled in with the source's failover group name.

priority defaults to low, time defaults to the current time (generally alarm server local time).

(48)

Alarm Monitoring

The Alarm Server sends events to clients that are assigned to or are monitoring an Alarm Server.

Starting and Stopping Alarm Monitoring

Alarm monitoring is started by invoking the Alarm.Assign() and Alarm.Monitor() methods; it is stopped when the Deassign() method is invoked.

The Assign() and Monitor() methods accept a string as an argument. Strings have one of three forms: empty, all, or criteria.

Event Monitoring Criteria

The general syntax of a monitor criteria is:

(name relationalop value) [booleanop...] where relationalop is one of:

“<”, “<=”, “>” and “>=” are not valid with wildcards. and booleanop is one of:

empty ("") No events are monitored. Servers send certain events anyway, but this string specifies the lowest level of event traffic possible while assigned.

all ("*") All events are monitored. Note that some servers may generate a great deal of event traffic. This string is a special case and cannot contain whitespace. criteria An expression that selects some events and rejects others.

= Found. <> Not Found. < Less than.

<= Less than or equal to. > Greater than.

(49)

Selection Criteria Wildcards

Issue 1.0 June 2002 49 A sequence of couples is examined one case at a time. For the Found operator (=), a match means that a couple was found within the sequence that had the given name and value. For the Not Found operator, a match means that no Couple in the sequence had the given name and value. The Sequence might have had an instance of the name with a different value, or instances of the value paired with different names, or might not have contained that name at all. Note that all

comparisons are done as strings, and values to be compared against should be enclosed in double quotes to prevent ambiguities and parsing problems. (Within a quoted string, \" means quote and \\ means backslash.) You should also quote names if they contain characters other than letters and digits and underscores.

Examples:

"priority=emergency" "group=xxx"

Selection Criteria Wildcards

Both names and values can include a trailing *, which indicates a limited form of wildcarding, and ?, which provides single character wildcarding.

Wildcard usage is restricted to the <> and = relational operators. Single character wildcards must have a character to match:

Wildcarded names are less useful:

The criteria

(owner = s??) matches records with a 3 digit owner beginning with “s”.

(ow* = srv) matches records that have a field whose name starts with “ow” that happens to hold “srv”.

(50)

IDL Specification

The following is the Interface Definition Language (IDL) description of the Alarm Server.

interface Alarm : General {

const unsigned long NOHISTORY = 0x01; const unsigned long NOPROPOGATE = 0x02; ONEWAY Alarm( in event alarmdata );

ONEWAY AlarmNoHistory( in event alarmdata );

ONEWAY AlarmSpecial( in event alarmdata, in unsigned long flags ); ORBStatus Assign( in string criteria );

ORBStatus Monitor( in string criteria ); }

Alarm

IDL Syntax Oneway void Alarm( in event alarmdata ) ;

Description This function takes an event (a name string and a sequence of couples) and passes it to the Alarm Server. The event name should be a concise description that identifies the nature of the alarm. If the event name is empty, the event is discarded.

In the sequence of couples, any names and values may be specified. Certain names have predefined meanings as noted in “Predefined Data Elements,” on page 46. Predefined data elements will default to the values indicated in that section.

You should always specify the description and priority value. It is generally reasonable to allow the others to default.

The function has no return value; it is a oneway request. Input Parameters

Returns None

(51)

AlarmNoHistory

Issue 1.0 June 2002 51

AlarmNoHistory

IDL Syntax Oneway void AlarmNoHistory ( in event alarmdata ) ;

Description This function takes an event (a name string and a sequence of couples) and passes it to the Alarm Server. The event name should be a concise description that identifies the nature of the alarm. If the event name is empty, the event is discarded.

In the sequence of couples, any names and values may be specified. Certain names have predefined meanings as noted in “Predefined Data Elements,” on page 46. Predefined data elements will default to the values indicated in that section.

You should always specify the description and priority value. It is generally reasonable to allow the others to default.

The function has no return value; it is a oneway request. Input Parameters

Returns None

Example Event eve;

_IDL_SEQUENCE_Couple cplist[3]; eve.name = “Pop.Explosion”; cplist[0].name = “description”;

cplist[0].value = “Smoke is rising from unit POP01”; cplist[1].name = “priority”;

cplist[1].value = “high”; eve.data._buffer = cplist; eve.data._length = 2; eve.data._maximum = 0;

status = Vesp_Request( “Alarm.AlarmNoHistory”, callback, user_data, id, &eve );

AlarmSpecial

IDL Syntax Oneway AlarmSpecial( in event alarmdata, in unsigned long flags ) ;

Description This function can only be used by other Alarm Servers. Returns

alarmdata Sequence of values associated with the alarm.

VESP_SUCCESS Request was successful VESP_ERROR Request failed

(52)

Assign

IDL Syntax ORBStatus Assign( in string criteria ) ;

Description Creates a session with the Alarm Server. When a session is created, events are sent to the Avaya IC client. This enables the Alarm Server to send events to a process, and enables a process to specify events in which it is interested.

The monitor criteria is a string that determines which alarms the process will receive as events. The simplest case is “*”, which requests all alarms. No matter what criteria is specified, clients calling this function receive all alarms with priority=Emergency. The simplest criteria, to receive only system disasters, is "". In general, you can specify events to be received based on the names and values of the _IDL_SEQUENCE_Couple within each alarm event.

It is an error to attempt to assign twice; you must Deassign() before you can Assign again. Should you want to change the monitor criteria, use Alarm.Monitor() instead of a Deassign(), Assign() sequence.

Clients assigned to one Alarm Server will receive alarms generated by any other Alarm Server, assuming the Alarm Servers are aware of each other. Refer to “Sharing Alarms Across a WAN,” on page 45 for more information.

Input Parameters

Returns

Exceptions

Example Monitor all servers and clients

status = Vesp_Assign_Request( "Alarm.Assign", callback, user_data, event_callback, id, "*");

criteria Expression that selects the alarms to be received. Refer to “Event Monitoring Criteria,” on page 48 for information regarding changing monitor criteria strings.

VESP_SUCCESS Request was successful

(53)

Deassign

Issue 1.0 June 2002 53

Deassign

IDL Syntax ORBStatus Deassign( void ) ;

Description Destroys a session with the Alarm Server. When a session is deassigned, the flow of events from the Alarm Server to the client will cease.

This function undoes the effect of an Alarm.Assign(). Other than events that are already en route, the client no longer receives events from the Alarm Server unless it performs another Assign(). It is not an error to send a Deassign() without a previous Assign().

Returns

Monitor

IDL Syntax ORBStatus Monitor( in string criteria ) ;

Description This function can be used after a client has Assigned to the Alarm Server. It allows the client to change the types of alarms it receives, and is more efficient than doing a Deassign(), Assign() sequence of calls. It takes the same syntax as an Alarm.Assign().

Input Parameters

Returns

Example Monitor only important alarms.

status = Vesp_Request( "Alarm.Monitor", callback, user_data, event_callback, id, "priority <> Low");

VESP_SUCCESS Request was successful VESP_ERROR Request failed

criteria Expression that selects the alarms to be received. Refer to “Event Monitoring Criteria,” on page 48 for information on selection criteria.

VESP_SUCCESS Change in Assign criteria succeeded VESP_ERROR Attempt failed; the argument is invalid

(54)

Alarms

The following alarm is generated by the Alarm Server.

Alarm Priority Alarm Text Cause/Recommended Action RepeatedAlarm Varies. name <name of

repeated alarm> count <number of repeated alarms, including first> since <time_t of first alarm>

priority the value of <priority> fromthe config variable

owner the string “Alarm”

This alarm is generated when the

backoff configuration

parameter has been set and an alarm is being repeated. Refer to

“Configuring the Alarm Server,” on page 46 for information about the backoff parameter.

References

Related documents

In Release 1.1 (which is supported by Avaya Communication Manager Release 2.1.1 and Avaya Converged Communications Server Release 2.1), the extension name of the 4602 SIP

These Application Notes describe how to configure a sample network that uses a SIP trunk between Avaya Aura® Session Manager Release 6.1 and Avaya Communication Server 1000E

Universal Routing and Management Avaya Interaction Center manages all interactions through a universal, media-independent Contact Engine that allows voice, e-mail, web chat,

For Avaya Aura Communication Manager, the Avaya Media Server is configured correctly, as described in the Avaya 1600 Series IP Deskphones Administrator.. Guide and Avaya

These Application Notes illustrate a sample configuration using Avaya Aura® Session Manager Release 8.1, Avaya Aura® Communication Manager Release 8.1, Avaya Experience Portal 8.0

Second, market participants may consider changing boilerplate terms to neutralize interpretive shocks too risky because, even if parties contend the court's

Interaction Center manages all interactions through a universal, media-independent Contact Engine that allows voice, e-mail, web chat, and other media to be managed based

Regardless of the state of the Session Manager the client connects to (whether it is on-server or off-server and connected to the primary or backup Interaction Center server),