Polycom ReadiVoice Developer's Manual
Polycom ReadiVoice Developer's Manual

Polycom ReadiVoice Developer's Manual

Polycom readivoice network: opers guide
Hide thumbs Also See for ReadiVoice:
Table of Contents

Advertisement

ReadiVoice CAPI
Developer's Guide

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ReadiVoice and is the answer not in the manual?

Questions and answers

Summary of Contents for Polycom ReadiVoice

  • Page 1 ReadiVoice CAPI Developer’s Guide...
  • Page 2 (e.g. a book or sound recording). Every effort has been made to ensure that the information in this manual is accurate. Polycom, Inc. is not responsible for printing or clerical errors. Information in this document is subject to change without notice.
  • Page 3: Table Of Contents

    ReadiVoice ........
  • Page 4 ReadiVoice CAPI Developer’s Guide Understanding Connections, Sessions, and Logins ....12 CAPI SDK Components ......... . 20 Programming Guidelines .
  • Page 5 Commonly Used Conferencing Procedures ......37 Sample Moderator Application ........63 Migrating Applications to CAPI Migration Overview .
  • Page 6 ReadiVoice CAPI Developer’s Guide CAPI Events Enumerated Types ..........124 CAPI Request Events .
  • Page 7 Contents END_CONF (CAPI) ........156 JOIN_PART_TO_CONF (CAPI).
  • Page 8 ReadiVoice CAPI Developer’s Guide CAPI Response Events ......... . 209 viii SET_WAITING_ROOM_OPTION (CAPI) .
  • Page 9 Contents DIALOUT_CONNECTED (CAPI)......250 DIALOUT_STARTED (CAPI) ......251 GROUP_CONTACT_ENTRY_ADDED (CAPI).
  • Page 10 ReadiVoice CAPI Developer’s Guide Proprietary & Confidential...
  • Page 11: About This Manual

    • CAPI applications interact with the ReadiVoice system. To write applications using CAPI, you need to understand a ReadiVoice CAPI system, its access type options, its conferencing features and options, and how provisioners, operators, and other users use the system. We recommend that you review the information in the following documents: •...
  • Page 12: Document Conventions

    ReadiVoice CAPI Developer’s Guide Document Conventions This document uses the following typographical conventions. Typeface bold italics code code, bold code, bold & italics SMALL CAPS Usage Names of fields, screens, windows, dialog boxes, and other user interface elements; for example: Type the number into the Phone Number field and click Dial.
  • Page 13: Customer Support

    Recognizing that technology alone cannot solve today’s complex challenges, Polycom Global Services provides the industry’s best technical support staff and programs to let you concentrate on the task at hand. ReadiVoice CAPI users can select from a variety of support solutions to obtain the level of support that best meets their needs.
  • Page 14 ReadiVoice CAPI Developer’s Guide Proprietary & Confidential...
  • Page 15: Introducing Capi

    The features users need to set up and control conferences is provided in the conferencing application you write using CAPI, and in the ReadiVoice system that the application connects to. Your CAPI application can be run as an applet in a browser with a Java 1.4 or higher plugin, or can be run as a standalone application with a compatible JVM.
  • Page 16: Capi Technical Overview

    ReadiVoice and CAPI Application Architecture The CAPI tools in this product let you write a client application that interacts with a ReadiVoice system. A ReadiVoice system has three main parts: the conferencing client application, the CACS that is the core of the conferencing system, and the bridges and ports where the conferences take place.
  • Page 17: Capi Sdk Components

    CAPI SDK Components The heart of CAPI is a set of events that provide functionality. The CAPI product, however, has far more than just the schema. Polycom provides a set of tools to make development far quicker and easier—and more reliable—than simply writing all your code from scratch.
  • Page 18: Overview Of Capi Enhancements In This Release

    ReadiVoice CAPI Developer’s Guide Overview of CAPI Enhancements in This Release CAPI is the latest release of Polycom’s powerful teleconferencing API. Key enhancements include the following: • • • • • • • • Getting Started If you’re new to CAPI, continue to Applications.”...
  • Page 19: Developing Capi Applications

    Be sure you’re familiar with conferencing applications. If you aren’t, review the “CAPI Functional Overview” additional recommended reading. Install ReadiVoice and CAPI according to the instructions in CAPI Code and Documentation” on page 5 on page 6 on page 7...
  • Page 20: Installing Capi Code And Documentation

    ReadiVoice CAPI Developer’s Guide 8Add features to the basic application using the Java files and events Installing CAPI Code and Documentation Follow the instructions in this section to install the necessary files. System Requirements Software CAPI requires the software listed in this section. Most of the required software is included with the SDK;...
  • Page 21: Readivoice

    /opt. Setup Follow the instructions in the ReadiVoice documentation to set up your system. This includes setting up system components such as the Apache web server, configuring the .odprocrc file for values needed for conference recording, and many additional setup tasks.
  • Page 22: Code

    A CAPI application interacts with the ReadiVoice system. The ReadiVoice documentation provides extensive information about the system; however, we’ve provided a high-level view of it here, and subsequently how ReadiVoice relates to CAPI. Note: We’re presenting a view of the whole architecture to ensure that you know all the processes involved.
  • Page 23: Understanding Capi Communication: Synchronous And Asynchronous

    • • The overall architecture is shown in Figure 2-1. Figure 2-1 Figure for asynchronous. They’re also known as pull and push mode, respectively. The first, pull, is for quick responses on the same connection. The second, push, is for asynchronous responses on a different connection, typically returning the results of a requested action.
  • Page 24: Understanding How Ports Are Used

    ReadiVoice CAPI Developer’s Guide • Note: In pull mode the instant reply is sent back over the same connection; in push mode a second connection is created for the asynchronous reply. However, when “a connection” is discussed in CAPI documentation, both are considered one connection.
  • Page 25: Sending Port On The Client

    Sending Port on the Server The asynchronous response to the event is sent on a port determined by the server; you set this up through ReadiVoice. Receiving Port on the Client The asynchronous response to the event is received on the port you specify when you send the event in the first place.
  • Page 26: Understanding Connections, Sessions, And Logins

    ReadiVoice CAPI Developer’s Guide Figure one firewall and the CACS is behind another. Figure 2-2 For push mode in particular, you need to ensure that the asynchronous responses on the two additional ports can get through to the client. Be sure that the data isn’t filtered or modified in any way as it goes through the firewalls.
  • Page 27: Application, Moderator, And Participant Logins

    • • Application, Moderator, and Participant Logins Three types of logins are available for a CAPI conference. A login sets the type of capabilities that will be used within a session. A session determines what types of capabilities can be used and, implicitly, what type of user or users will be in the conference.
  • Page 28: High-Level Overview Of The Conferencing Process

    ReadiVoice CAPI Developer’s Guide • • High-Level Overview of the Conferencing Process The following steps are for a simple implementation of a conference. Relationships Among Connections, Sessions, and Logins You might think that for each request/response, or for each conference, you would create one connection and one session.
  • Page 29: Basic Relationships

    Basic Relationships • • • • Login and Session Combinations • Login, Session, and Connection Combinations All of these possible combinations from the previous section can be grouped over connections in nearly any way you decide. • • • • •...
  • Page 30: Illustrations Of Connection, Session, Conference, And Login

    ReadiVoice CAPI Developer’s Guide • Illustrations of Connection, Session, Conference, and Login Configurations The following illustrations show possible approaches to connections, sessions, and logins. Conferences CACS Conferences CACS Conferences CACS Conferences CACS Figure 2-3 Multiple Applications, Moderators, and Participants can access a...
  • Page 31 Conferences CACS Conferences CACS Login controlling a conference using multiple sessions Conferences CACS Conferences Moderator login controlling sessions for one conference CACS Figure 2-4 The next illustration shows combinations that aren’t permitted. Proprietary & Confidential Connection Session Application login controlling one session and two conferences Connection Session...
  • Page 32: Benefits And Drawbacks

    ReadiVoice CAPI Developer’s Guide Conferences CACS Conferences CACS Conferences CACS Figure 2-5 Benefits and Drawbacks The choices shown in Logins” • • Considerations for Number of Connections to Use • Connection Session Session Connection Login’s sessions over different connections Connection...
  • Page 33: Considerations For Logins

    • • Considerations for Logins An Application login has the ability to manage multiple conferences, and to use the CAPI ACM tools to interface with other applications. If these features are important to you, use the Application login. Proprietary & Confidential Performance –...
  • Page 34: Capi Sdk Components

    Note: For more information on callflows, refer to the “Voice Prompts and Call Flows” appendix of the ReadiVoice Administration and Maintenance Guide. Push and Pull Mode Each event can function in either push or pull mode. Pull mode sends back ACK or NACK responses for success or failure;...
  • Page 35: Using The Event Reference Section

    Using the Event Reference Section The event reference section of this document contains extensive technical information about how to use each event. Be sure to use it as you write your application. In the event reference section, pay particular attention the responses for each event, for pull mode and for push mode.
  • Page 36: Capi Java Files

    ReadiVoice CAPI Developer’s Guide CAPI Java Files The new CAPI SDK contains the following components. • • Figure relate to each other and the conferencing software you write. A partial list of the Java classes in each category is included.
  • Page 37 Developing CAPI Applications Figure 2-6 CAPI SDK architecture with sample class names Proprietary & Confidential...
  • Page 38: Capi Java File Quick Reference

    ReadiVoice CAPI Developer’s Guide CAPI Java File Quick Reference Table Table 2-1 Category Filenames Core AsyncRecieverConnection.java Communication BasicConnection.java BasicCookie.java BasicListener.java BasicMessageBus.java Connection.java Cookie.java CookieInterface.java provides a quick reference. For technical details, see the Javadocs. Files provided with CAPI Description An implementation of Connection that uses a trivial protocol.
  • Page 39 HTTP protocol. Internally uses a BufferedReader for reading data off the connection, and provides for writing data to that connection. A utility interface for network components that listen for new connections A utility interface for main communications. A utility interface for sending CAPI events.
  • Page 40: Connecting The Capi Events And The Java Utility Files

    ReadiVoice CAPI Developer’s Guide Table 2-1 Category Filenames CastorSender.java CastorUnmarshaller.java Castor Events All events from schema. Connecting the CAPI Events and the Java Utility Files Typically, you’ll use the procedures in Procedures” events you need to use. From there, though, you need to determine which Java files to use to implement those features.
  • Page 41 • Names of Java Files Castor Generates for Each Event In addition to the Java utility files written for CAPI, a Java file is automatically generated from the schema for each event by the Castor program. The name of each automatically generated Java file is based on the event name in the event reference guide, but with some differences.
  • Page 42: Programming Guidelines

    ReadiVoice CAPI Developer’s Guide Programming Guidelines This section contains important information about designing and writing your CAPI application. How the ODPROC and the CSC Work Together This section explains what happens when ODPROC resyncs with the CSC. It’s important that you know how this works to be prepard for the events that are called and sent.
  • Page 43: Object Model Layer

    We recommend that you use Java and the Java files provided with CAPI. Java 1.4 or higher is required. See the Javadocs and more about using the Java files provides with CAPI. If you are programming in another language, you will need to use the schema as the basis for your program.
  • Page 44: Using Acm

    Failure to do so will result in the unregistration of the application. The timeout period before the application is unregistered is specified in the .odprocrc file. Refer to the ReadiVoice Administration and Maintenance Guide for information on configuring the .odprocrc file.
  • Page 45: Using Push And Pull Mode

    • For ACM sample code, see Applications” Using Push and Pull Mode As stated in Asynchronous” (asynchronous) and pull (synchronous). You can specify that any given session will be in push or pull mode. Event Return Values for Push and Pull •...
  • Page 46: Using The Login Types

    ReadiVoice CAPI Developer’s Guide Specifying Push or Pull The type of connection you create with the CACS specifies whether you’re using push or pull. For push, you need to create a listener and need to specify the client port that the connection for the response should come back to. For pull, you don’t need either of these components.
  • Page 47: Creating A Connection

    • Session Type and Session ID Sessions not only specify the capabilities, and thus the events, that can be used for a specified part of the application, but the session ID is used in push mode to let the server know where to send the response back to, on the asynchronous connection.
  • Page 48: Prerequisites: Connection And Conference, And Session And Conference Ids

    • • It is important to implement these as different items, even though they are currently assigned the same number in the Readivoice implementation. Database Conference Information Updates CSC is a module within CACS that manages conferences. The information it...
  • Page 49: Verifying Events Have Occurred

    You also need to be sure that you have saved and can read in the values for the session ID, conference ID, and subscriber ID. Verifying Events Have Occurred Sending a request and receiving an acknowledgment are not sufficient to ensure the action requested by an event was carried out.
  • Page 50: Implementing The Conference Security Code

    ReadiVoice CAPI Developer’s Guide Implementing the Conference Security Code The implementation of the conference security code (when SET_CONF_SECURITY_CODE is sent after JOIN_CONF is sent) has been updated. CAPI implementation changes the order and requires that SET_CONF_SECURITY_CODE be sent before JOIN_CONF. This approach means that SET_CONF_SECURITY_CODE is optional.
  • Page 51: Commonly Used Conferencing Procedures

    Read the descriptions and other information to determine how to use it. Additional Sources of Information For more information on how the features in this section work, refer to the ReadiVoice documentation suite. The following in particular are recommended: • •...
  • Page 52 ReadiVoice CAPI Developer’s Guide Moderator also could simply log in, make some changes to settings, and log out, without creating a conference. However, if you were to perform “Dialing Participants” on page 48, you’d need to have a conference running already so that there was a conference for them to join.
  • Page 53: Procedure Notes

    Application Login Prerequisites For any procedures involving the Application login, be sure that the Application ID and password are set up in ReadiVoice. Refer to the ReadiVoice subscriber guide for more information. Application login is for push mode, so be sure to create a push mode connection to the server.
  • Page 54: Initial Procedures

    ReadiVoice CAPI Developer’s Guide Initial Procedures This section includes procedures you perform in order to get the conference started. Setting up Logging Apache Log4J and Apache Commons logging are available, and included in the SDK. Sample Code Here’s an example of setting up logging. Refer to Application”...
  • Page 55: Connecting To The Cacs

    Connecting to the CACS You need to create a connection to the CACS before you can do anything else in the application. You specify in the connection code whether the connection will be push or pull. The connection is a simple HttpConnection; for push you also need to create a listener, and specify the client port that the asynchronous connection will come back to.
  • Page 56 ReadiVoice CAPI Developer’s Guide * We need to establish a basic HTTP connection to send commands and queries. * In push-mode, responses will come back over the asynchronous connection. httpConnection = new HttpConnection("SimpleModHttp", remoteHost, remotePort, true, Connection.DEFAULT_URL, cookie); * This is a handler for all events from the server/CACS.
  • Page 57: Maintaining An Open Session

    33. “Sample Moderator Application” * Application is responsible for sending heartbeats. This counter * is just used to limit the number of heartbeats to reduce network traffic. private static final int HEART_BEAT_COUNTER_DEFAULT = 30; private int heartBeatCounter = HEART_BEAT_COUNTER_DEFAULT;...
  • Page 58: Logging Into The Cacs

    ReadiVoice CAPI Developer’s Guide Logging Into the CACS Event LOGIN_APPLICATION, LOGIN_PUSH_MODERATOR, LOGIN_MODERATOR, LOGIN_PART Response to LOGIN_APPLICATION Pull: N/A Push: ACK for success, NACK for failure. Response to LOGIN_PUSH_MODERATOR Pull: N/A Push: SUBSCR_INFO for success, NACK for failure. Response to LOGIN_MODERATOR Pull: MODERATOR_SESSION_INFO for success, NACK for failure.
  • Page 59 Notes Use the Pull Moderator login for push mode; use the Application or Push Moderator login for push mode. You need to log into CACS before you can run any conferencing tasks. Use an Application or Moderator login since the Participant has very few capabilities. The Application Login is new in this release of CAPI.
  • Page 60: Conference Procedures

    ReadiVoice CAPI Developer’s Guide Conference Procedures This section contains the majority of the procedures; they can be performed once the initial procedures are completed. Starting a Conference Event START_CONF Response Pull: ACK for success, NACK for failure. Push: CONF_INFO_CHANGED with CIR_CONF_STARTED for success, NACK for failure.
  • Page 61: Saving Conference And Subscriber Id

    Saving Conference and Subscriber ID MAPI contained an object model, so the conference and participant IDs were saved in the conference object and sender objects. That layer does not exist currently in CAPI, so you need to be sure to save the values once you’ve created the conference, and pass them in when needed.
  • Page 62: Setting Conference Security

    Dialing Participants Note: For more information on callflows, refer to “Voice Prompts and Call Flows” appendix of the ReadiVoice Administration and Maintenance Guide. “Application, Moderator, and Participant Logins” “Procedure Sequence” on page 37.
  • Page 63 In a One-Click Conference, participants have a link or icon, such as in an e-mail invitation, on which they can click. The ReadiVoice system identifies the conference from the link’s URL and returns a Web page asking for the participant’s phone number. When the system gets this number, it calls and puts the connection in conference (or on music hold, if the subscriber isn’t present and Quick Start is off).
  • Page 64 Notes on Conference Recording Refer to the ReadiVoice Administration and Maintenance Guide for information on setting up a system for conference recording. You need to set up values in the .odprocrc file, including the recorderPhone value. The recorderPhone value is used by default unless you pass a different phone number when you send the DIAL_CALL event.
  • Page 65 Proprietary & Confidential * Dials up to two participants. Session must be active (logged in), and the * conference started. Each call to this function will dial a participant * until the maximum/desired number of dial attempts have been made, then it * will just log an error and return.
  • Page 66: Joining A Conference

    The waiting room allows a Moderator to keep participants in a separate location after they have dialed in, but before they have joined the conference. For more information, refer to the ReadiVoice Subscriber Guide and to Appendix A of the Readivoice Administration and Maintenance Guide.
  • Page 67: Setting The Port For Asynchronous Responses On The Client

    Push: CALL_STATUS_CHANGED or CALL_CONNECTED_TO_CHANGED for success, NACK for failure. JOIN_PART_TO_CONF Response Pull: ACK for success, NACK for failure. Push: CALL_CONNECTED_TO_CHANGED, PART_INFO_CHANGED with PIR_CONNECTED_TO_CONF for success, NACK for failure. DISCONNECT_CALL Response Pull: SUBSCR_INFO for success. Push: N/A Prerequisites Setting the Port for Asynchronous Responses on the Client Four ports are used for push (asynchronous) mode: •...
  • Page 68 ReadiVoice CAPI Developer’s Guide public SimplePushModerator( String remoteHost, int remotePort, String localAsyncHost, int localAsyncPort ) Validate.notEmpty(remoteHost); Validate.isTrue(remotePort > 0); Validate.notEmpty(localAsyncHost); Validate.isTrue(0 <= localAsyncPort); * This is the listener for asynchronous event communication. When the server * contacts for asynchronous communication on the specified port, this object * will create a connection for the MessageBus.
  • Page 69 ... // handler class public static void main( String[] args ) Proprietary & Confidential * This is the utility class that provides methods for sending the CAPI events * to the server/CACS. These methods will handle marshalling of the passed * arguments into the POJO representations of thoes events.
  • Page 70: Sending Events

    ReadiVoice CAPI Developer’s Guide Sending Events Event The event you want to send; see code example and sample application. Prerequisites Notes The Java utility files with “sender” in their names have extensive examples of sending events. Sample Code context. Note the lines in bold.
  • Page 71: Reading Events

    Reading Events To read events using the Java utility classes, you can use the methods in the CastorMessageHandlerBase class. Event Any event you want to read; see code example and sample application. Prerequisites Notes The CastorMessageHandlerBase.java utility file and SimplePushModeratorHandler.java sample file have extensive examples of reading events.
  • Page 72: Identifying Talkers

    ReadiVoice CAPI Developer’s Guide Identifying Talkers Identify the people talking in a specified conference. Event REGISTER_TALKER_UPDATE and UNREGISTER_TALKER_UPDATE Response Pull: N/A (only available to Push Moderator and Application login) Push: TALKER_UPDATE event containing the participant IDs of the three lines (the three talkers)
  • Page 73: Using Acm To Interface With External Applications

    Using ACM to Interface With External Applications ACM lets CAPI applications interface with external applications. Use the Application login. See also Event ACM events in the event reference section. Prerequisites Notes The message passed through the sample code in entirely on the type of messages that the ACM application understands. You need to ensure that that message is understandable by the ACM application, and handle any response that it sends.
  • Page 74: Conference-End Procedures

    ReadiVoice CAPI Developer’s Guide Conference-End Procedures Use these procedures when you’re ready to end a conference. Ending a Conference A conference will end automatically when there are no participants. Here’s how to end it explicitly. Event END_CONF Response Pull: ACK for success, NACK for failure.
  • Page 75: Logging Out

    Logging Out Logging out is the last step to complete when a conference is over. Event LOGOUT Response Pull: N/A Push: N/A Prerequisites Sample Code Refer to in context. Proprietary & Confidential public synchronized void shutdown() log.info("shutting down"); if( shouldRun ) shouldRun = false;...
  • Page 76 ReadiVoice CAPI Developer’s Guide catch( MarshallerException e ) e.printStackTrace(); System.exit(1); if( null != messageBus ) messageBus.shutdown(); else if( null != messageBus ) messageBus.shutdown(); System.exit(1); Proprietary & Confidential...
  • Page 77: Sample Moderator Application

    SimplePushModeratorHandler, which extends CastorMessageHandlerBase class for all events coming to the application. /////////////////////////////////////////////////////////////////////////////// //Copyright (c) 2005 Polycom, Inc /////////////////////////////////////////////////////////////////////////////// package com.polycom.readivoice.capi.simplemoderator; import java.io.IOException; import org.apache.commons.lang.Validate; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;...
  • Page 78 * We need to save these for future communications. private int subscriberId = -1; private int conferenceId = -1; * Application is responsible for sending heartbeats. This counter is just * used to limit the number of heartbeats to reduce network traffic. Proprietary & Confidential...
  • Page 79 Proprietary & Confidential private static final int HEART_BEAT_COUNTER_DEFAULT = 30; private int heartBeatCounter = HEART_BEAT_COUNTER_DEFAULT; * Internal non-API specific variables to implement program logic. private boolean shouldRun = false; private boolean loggedIn = false; private boolean confStarted = false; private boolean talkerRegisterSent = false; private int dialCount = 0;...
  • Page 80 ReadiVoice CAPI Developer’s Guide String localAsyncHost, int localAsyncPort) Validate.notEmpty(remoteHost); Validate.isTrue(remotePort > 0); Validate.notEmpty(localAsyncHost); Validate.isTrue(0 <= localAsyncPort); * This is the listener for asynchronous event communication. When the * server contacts for asynchronous communication on the specified * port, this object will create a connection for the MessageBus.
  • Page 81 Proprietary & Confidential * Once the CAPIUnmarshaller, the command sending HTTP connection, and * the asynchronous connection listening service are set up, we give * them to a MessageBus so it can use them to finish any further * connection setup, and begin those communications as needed. messageBus = new BasicMessageBus(unmarshaller, httpConnection, listener);...
  • Page 82 ReadiVoice CAPI Developer’s Guide return sessionId; public synchronized final void setSessionId( String sessionId ) this.sessionId = sessionId; public synchronized final boolean isConfStarted() return this.confStarted; public synchronized final void setConfStarted( boolean confStarted ) this.confStarted = confStarted; * You can register or unregister for talker updates anytime after a * conference has started (you need the conference ID)and before the * conference has ended.
  • Page 83 Proprietary & Confidential public synchronized final void setShouldRun( boolean shouldRun ) this.shouldRun = shouldRun; public synchronized final int getSubscriberId() return this.subscriberId; public synchronized final void setSubscriberId( int subscriberId ) this.subscriberId = subscriberId; public synchronized final int getConferenceId() return this.conferenceId; public synchronized final void setConferenceId( int confenceId ) this.conferenceId = confenceId;...
  • Page 84 ReadiVoice CAPI Developer’s Guide this.dialCount = dialCount; * Sends a push mode modeartor login. public synchronized void login() log.debug(“log in”); if ( !shouldRun ) return; Validate.isTrue(!loggedIn); sender.loginPushModerator(“PassbackLogin”, accessNumber, accessCode, subPassCode); catch (MarshallerException e) log.fatal(“Marshal error in login, exiting”, e); shutdown();...
  • Page 85 Proprietary & Confidential Validate.isTrue(loggedIn); Validate.notEmpty(sessionId); sender.requestSubscriberInfo(“SimpleModPassback”, getSessionId(), getSubscriberId()); catch (MarshallerException e) log.fatal(“Marshal error in login, exiting”, e); shutdown(); * Starts a conference only if application is successfuly logged in and a * conference has not already been started. public synchronized void startConf() log.debug(“startConf”);...
  • Page 86 ReadiVoice CAPI Developer’s Guide * Dials up to 2 participants. Session must be active (logged in), and the * conference started. Each call to this function will dial a participant * until the maximum/desired number of dial attempts have been made, then it * will just log an error and return.
  • Page 87 Proprietary & Confidential else log.error(“all parts already dialed”); catch (MarshallerException e) log.fatal(“Marshal error in login, exiting”, e); shutdown(); * Sends a heartbeat event with an incrementing sequence number. public synchronized void heartBeat() if ( heartBeatCounter == 0 ) log.debug(“sending connection heartbeat...”); * The server doesn’t really care what the sequence number is, it is * more of a specific passback incase the client would like to match * up heartbeats and heartbeat acknowledgements .
  • Page 88 ReadiVoice CAPI Developer’s Guide * Registers for talker update notifications. The session must be active and * the conference started for this function to work. public synchronized void registerTalkers() * Talker registration must have an active conference to register for, * otherwise there are no timing concerns.
  • Page 89 Proprietary & Confidential * time (of the conference’s life) by resending the event with the new * value. Validate.isTrue(loggedIn); Validate.notEmpty(sessionId); Validate.isTrue(confStarted); sender.setConfSecurityCode(“SimpModPassback”, sessionId, conferenceId, CONFERENCE_SECURITY_NUMBER); catch (MarshallerException e) log.fatal(“Marshal error in setting conf security number, exiting”, e); shutdown(); * Requests ACM data from an ACM application. * @param acmAppId the application ID to request data from * @param chanHndl the ID used to identify which channel’s data to get public synchronized void getAcmData( int acmAppId, int chanHndl )
  • Page 90 ReadiVoice CAPI Developer’s Guide acmSender.acmQuery(“SimpModPassback”, sessionId, acmAppId, ACM_QUERY_STRING_CHANHNDL + chanHndl + “,” + ACM_QUERY_STRING_CONFID + conferenceId); catch (MarshallerException e) log.fatal(“Marshal error in talker registration, exiting”, e); shutdown(); * Shuts down this program, ending the conference if running, logging out if * needed.
  • Page 91 Proprietary & Confidential * The Program is done, end the conference if it is still active. sender.endConference(“SimpModPassback”, sessionId, conferenceId); catch (MarshallerException e) e.printStackTrace(); System.exit(1); if ( loggedIn ) * This is not specifically needed since the server will kill the * logout eventually, but it is nice of us to send if we can.
  • Page 92 ReadiVoice CAPI Developer’s Guide * This function only contains internal program methods and variables needed * to accomplish the sample’s goal, and has nothing particularly CAPI * specific in it except for the fact that it must initiate the heartbeat * periodically to keep the connection alive.
  • Page 93 Proprietary & Confidential if ( !isConfStarted() ) log.debug(“Conf not Started, counter[“ + confNotStartedCounter + “]”); confNotStartedCounter--; if ( confNotStartedCounter < 0 ) log.fatal(“Conf did not start before timeout”); shutdown(); else int dialCount = getDialCount(); int dialsConnected = getDialConnectCount(); log.debug(“Conf Started, dialCount[“ + dialCount + “] dialsConnected[“...
  • Page 94 ReadiVoice CAPI Developer’s Guide * Arbitraily sent here. It is valid anytime after a * conference is running. setSecurityCode(); setupDone = true; * All of our parts were dialed and connected, and now we notice * that no one is left in conf, end the program.
  • Page 95 Proprietary & Confidential String cacsIp = “192.168.56.104”; int cacsPort = 80; String localAsyncIp = “10.33.48.231”; int localAsyncPort = 0; String logLevel = “ALL”; * Set up the Log4J system, refer to the Log4J manual for more * information. Sets up a single rolling log file called * SimplePushModerator.log RollingFileAppender appender = new RollingFileAppender( new TTCCLayout(), “SimplePushModerator.log”, true);...
  • Page 96 ReadiVoice CAPI Developer’s Guide if ( moderator.isAlive() ) System.out.println(“moderator activated”); Proprietary & Confidential...
  • Page 97: Simplepushmoderatorhandler.java

    SimplePushModeratorHandler.java Proprietary & Confidential /////////////////////////////////////////////////////////////////////////////// //Copyright (c) 2005 Polycom, Inc /////////////////////////////////////////////////////////////////////////////// package com.polycom.readivoice.capi.simplemoderator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.polycom.readivoice.capi.castor.CastorMessageHandlerBase; import com.polycom.readivoice.capi.castor.events.RVAPIACM_QUERY_RESP; import com.polycom.readivoice.capi.castor.events.RVAPICALL_DISCONNECTED; import com.polycom.readivoice.capi.castor.events.RVAPICONF_ENDED; import com.polycom.readivoice.capi.castor.events.RVAPICONF_INFO; import com.polycom.readivoice.capi.castor.events.RVAPICONF_INFO_CHANGED; import com.polycom.readivoice.capi.castor.events.RVAPINACK; import com.polycom.readivoice.capi.castor.events.RVAPIPART_INFO_CHANGED; import com.polycom.readivoice.capi.castor.events.RVAPISESSION_HEARTBEAT_ACK; import com.polycom.readivoice.capi.castor.events.RVAPISUBSCR_INFO; import com.polycom.readivoice.capi.castor.events.RVAPITALKER_UPDATE; import com.polycom.readivoice.capi.castor.events.types.RVAPISIMPLE_ACM_REASON_CODE;...
  • Page 98 ReadiVoice CAPI Developer’s Guide this.moderator = moderator; public void handle( RVAPINACK message ) log.debug(“Got ACK to message” + message); switch( message.getEvent().getContent().getType() ) * The login failed for some reason, we can’t do anything else, * exit the application. case RVSIMPLE_API_EV_TYPE.ET_LOGIN_PUSH_MODERATOR_TYPE: moderator.setLoggedIn(false);...
  • Page 99 Proprietary & Confidential * If this event is a reply to a login request, mark us as logged in, * setting our session and subscription ID values. if( message.getEvent().getContent().getType() == RVSIMPLE_API_EV_TYPE.ET_LOGIN_PUSH_MODERATOR_TYPE ) if( !moderator.isLoggedIn() ) moderator.setSessionId(message.getSessionId().getContent()); moderator.setSubscriberId(message.getSubscrId().getContent()); moderator.setLoggedIn(true); if( !moderator.isConfStarted() ) if( message.getConfRunning().getContent() ) moderator.setConferenceId(message.getConfId().getContent());...
  • Page 100 ReadiVoice CAPI Developer’s Guide * This may be sent periodically notifying us of conference information. We * will only get this if the conf is running, so we should inform the * moderator as such if it isn’t already. public void handle( RVAPICONF_INFO message ) log.debug(“Got conf info...”...
  • Page 101 Proprietary & Confidential int talker1 = message.getTalker1().getContent(); int talker2 = message.getTalker2().getContent(); int talker3 = message.getTalker3().getContent(); log.debug(“Got a talker update, T1[“ + talker1 + “] T2[“ + talker2 + “] T3[“ + talker3 + “]”); public void handle( RVAPIACM_QUERY_RESP message ) if( message.getAcmReason().getContent().getType() == RVAPISIMPLE_ACM_REASON_CODE.AR_NO_APP_TYPE) log.error(“There is no application currently registered with an ID of[“...
  • Page 102 ReadiVoice CAPI Developer’s Guide Proprietary & Confidential...
  • Page 103: Migrating Applications To Capi

    Migrating Applications to CAPI Use this chapter and the technical information it references to migrate MAPI applications to CAPI. • • • Migration Overview The migration process is primarily dependent upon how you implemented your current conferencing application, using either the Java or XML version of MAPI.
  • Page 104: Compatibility Notes

    ReadiVoice CAPI Developer’s Guide Compatibility Notes Your MAPI client is compatible with the new release of ReadiVoice. The client simply ignores the information that it doesn’t understand. However, note that a CAPI client is not compatible with the previous version of ReadiVoice.
  • Page 105: Mapi-To-Capi Sample Application Comparison

    MAPI-to-CAPI Sample Application Comparison This section covers how to migrate the sample Moderator application provided with MAPI to CAPI. Both are valid running applications and include key procedures such as creating a conference and adding participants. Use these examples and the event migration reference guide to migrate your application. We’ve provided the source code for the MAPI version and the CAPI version of the application.
  • Page 106 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator Simple_Moderator.java (MAPI) import java.io.*; import java.lang.*; import com.voyanttech.cnow.mapi.events.*; import com.voyanttech.cnow.mapi.types.*; import com.voyanttech.cnow.mapi.utils.*; import com.voyanttech.cnow.mtools.*; import com.voyanttech.cnow.resources.*; SimplePushModerator.java (CAPI) Import statements package com.polycom.readivoice.capi.apps; import java.io.IOException; import org.apache.commons.lang.Validate; import org.apache.commons.logging.Log;...
  • Page 107 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) public class Simple_Moderator extends Thread ///// // Initial Setup Section ///// ///// // Message sending and receiving (to/from ReadiVoice) objects ///// MESSAGE_BUS msg_bus = null; MESSAGE_SENDER msg_sender; SIMP_MESSAGE_HANDLER simp_mess_hand; int dialOutSequenceId = 0; SimplePushModerator.java (CAPI) (continued) Main thread of program * The main thread of our example program.
  • Page 108 = -1; * Application is responsible for sending heartbeats. This counter * is just used to limit the number of heartbeats to reduce network traffic. private static final int HEART_BEAT_COUNTER_DEFAULT = 30; private int heartBeatCounter = HEART_BEAT_COUNTER_DEFAULT;...
  • Page 109 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) The methods are included later in CAPI than in MAPI for a cleaner design. Most methods have the same name in each, however. /////...
  • Page 110 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) try{ simp_mess_hand = new SIMP_MESSAGE_HANDLER(this); msg_bus = new MESSAGE_BUS(simp_mess_hand, (Thread.currentThread()).getThreadGroup()); msg_sender = new MESSAGE_SENDER(msg_bus); SimplePushModerator.java (CAPI) (continued) * This is the listener for asynchronous event communication. When the server * contacts for asynchronous communication on the specified port, this object * will create a connection for the MessageBus.
  • Page 111 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) // This information is the Access Number/Subscriber's number, // Subscriber's password, SP, and SPPW, and // an instance number for this moderator (you could login // as several moderators using different instance // numbers ex.
  • Page 112 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) // Continued on page 107 SimplePushModerator.java (CAPI) (continued) public synchronized final String getSessionId() return sessionId; public synchronized final void setSessionId( String sessionId ) this.sessionId = sessionId;...
  • Page 113 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) SimplePushModerator.java (CAPI) (continued) public synchronized final void setShouldRun( boolean shouldRun ) this.shouldRun = shouldRun; public synchronized final int getSubscriberId() return this.subscriberId; public synchronized final void setSubscriberId( int subscriberId ) this.subscriberId = subscriberId;...
  • Page 114 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) SimplePushModerator.java (CAPI) (continued) public synchronized final int getDialCount() return this.dialCount; public synchronized final void setDialCount( int dialCount ) this.dialCount = dialCount; public synchronized void login() log.debug("log in");...
  • Page 115 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) SimplePushModerator.java (CAPI) (continued) if( !shouldRun ) return; Validate.isTrue(loggedIn); Validate.notEmpty(sessionId); sender.requestSubscriberInfo("SimpleModPassback", getSessionId(), getSubscriberId()); catch( MarshallerException e ) log.fatal("Marshal error in login, exiting", e); shutdown(); public synchronized void startConf() log.debug("startConf");...
  • Page 116 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) SimplePushModerator.java (CAPI) (continued) Validate.isTrue(loggedIn); Validate.notEmpty(sessionId); Validate.isTrue(!confStarted); sender.startConference("PassbackStartConf", getSessionId(), getSubscriberId()); catch( MarshallerException e ) log.fatal("Marshal error in login, exiting", e); shutdown(); public synchronized void dialPart() if( !shouldRun ) return;...
  • Page 117 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) SimplePushModerator.java (CAPI) (continued) Validate.isTrue(loggedIn); Validate.notEmpty(sessionId); Validate.isTrue(confStarted); Validate.notEmpty(phoneNum1); Validate.notEmpty(phoneNum2); if( dialCount < 1 ) log.info("Dialing part one"); sender.dialCall("Dial1Passback", getSessionId(), getConfenceId(), phoneNum1, false, partName1, "PT_SUBSCRIBER", "CF_BLAST", false);...
  • Page 118 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) SimplePushModerator.java (CAPI) (continued) catch( MarshallerException e ) log.fatal("Marshal error in login, exiting", e); shutdown(); public synchronized void heartBeat() if( heartBeatCounter == 0 ) log.debug("sending connection heartbeat...");...
  • Page 119 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) SimplePushModerator.java (CAPI) (continued) * Shuts down this program, ending the conference if running, logging out if * needed. public synchronized void shutdown() log.info("shutting down");...
  • Page 120 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) SimplePushModerator.java (CAPI) (continued) if( loggedIn ) * This is not specifically needed since the server will kill * the logout eventually, but it is nice of us to send if we can.
  • Page 121 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) public void run() while(true) sleep(3000); SimplePushModerator.java (CAPI) (continued) * This function only contains internal program methods and variables needed * to accomplish the sample's goal, and has nothing CAPI specific in it except * for the fact that it must initiate the heartbeat to keep the connection * alive.
  • Page 122 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) if(!conf_start) msg_sender.startConference(); sleep(3000); continue; } //End if a Conf has not started if(conf_start) ///// // Initialize the participant objects with information. // This can be done dynamically in the run() method after a conference // has started by using new: // PART_INFO_WITH_NAME participant1 = new PART_INFO_WITH_NAME("Name", "Phone", etc...),...
  • Page 123 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) ///// // Set sequence number to this dial out, so we can trace it when PORT_KNOW arrives ///// participant1.setDialOutSequence(dialOutSequenceId++); ///// // This adds the participant to the list of participants for the conference.
  • Page 124 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) ///// // Add Participant to conference list ///// conf.addPart(participant2); ///// // Dial Participant ///// msg_sender.dialCall(participant2); has_dialed++; } //end if(conf_start) } //End Try SimplePushModerator.java (CAPI) (continued) if( dialCount >...
  • Page 125 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) ///// // Note: this simplified version does nothing with exceptions if they are encountered. ///// catch(OD_EXCEPTION e) System.out.println(e.getMessage() ); catch(InterruptedException e) System.out.println(e.getMessage() ); } //End while } //End conference Driver method SimplePushModerator.java (CAPI) (continued)
  • Page 126 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) public static void main(String[] args) ///// // Makes a new Simple_Moderator object, and calls its constructor // which in turn starts the thread. ///// Simple_Moderator sm = new Simple_Moderator();...
  • Page 127 ReadiVoice CAPI Developer’s Guide Table 3-1 MAPI to CAPI comparison: Simple Moderator (continued) Simple_Moderator.java (MAPI) (continued) SimplePushModerator.java (CAPI) (continued) BasicConfigurator.configure(appender); catch( IOException e ) BasicConfigurator.configure(); Logger logger = Logger.getLogger("com"); logger.setLevel(Level.toLevel(logLevel)); * Create a SimplePushModerator. It should take care of the rest.
  • Page 128 ReadiVoice CAPI Developer’s Guide Table 3-2 MAPI to CAPI comparison: Simple Moderator Handler SIMP_MESSAGE_HANDLER.java (MAPI) import java.io.*; import java.util.*; import java.net.*; import java.lang.*; import com.voyanttech.cnow.resources.*; import com.voyanttech.cnow.mapi.events.*; import com.voyanttech.cnow.mapi.types.*; import com.voyanttech.cnow.mapi.utils.*; import com.voyanttech.cnow.mtools.*; SimplePushModeratorHandler.java (CAPI) package com.polycom.readivoice.capi.apps; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;...
  • Page 129 ReadiVoice CAPI Developer’s Guide Table 3-2 MAPI to CAPI comparison: Simple Moderator Handler (continued) SIMP_MESSAGE_HANDLER.java (MAPI) // OD_SERVER_BASE can handle all events from CACS system // This class is just a wrapper to give specific functionality // to some of the possible events (messages) for the user interface // Simple_Moderator.java.
  • Page 130 ReadiVoice CAPI Developer’s Guide Table 3-2 MAPI to CAPI comparison: Simple Moderator Handler (continued) SIMP_MESSAGE_HANDLER.java (MAPI) Note: The API has changed considerably, so the two implementations don’t correspond closely. Refer to the migration reference for information about how each MAPI event has changed.
  • Page 131 ReadiVoice CAPI Developer’s Guide Table 3-2 MAPI to CAPI comparison: Simple Moderator Handler (continued) SIMP_MESSAGE_HANDLER.java (MAPI) //////////////////////// LOGIN NACK ////////////////////////////// // Corresponds to NACK message on page 116 // for each “void handlemethodname method” here, look for an equivalent “public void handle” in CAPI...
  • Page 132 ReadiVoice CAPI Developer’s Guide Table 3-2 MAPI to CAPI comparison: Simple Moderator Handler (continued) SIMP_MESSAGE_HANDLER.java (MAPI) //////////////////////// CONF STARTED //////////////////////////// // Corresponds to CONF_INFO_CHANGED message on page 119 public void handleCONF_STARTED( CONF_STARTED event) throws OD_EXCEPTION ///// // The conference is already running as a result of START_CONF or dial in.
  • Page 133 ReadiVoice CAPI Developer’s Guide Table 3-2 MAPI to CAPI comparison: Simple Moderator Handler (continued) SIMP_MESSAGE_HANDLER.java (MAPI) ///// // 3. Set Bridge Id to Conference information ///// mod.conf.setBridgeId( event.getBridgeId()); ///// // 4. Register for this conference. We will received updates about the conference // whenever there is a change (new participant, mute, lock, etc.).
  • Page 134 ReadiVoice CAPI Developer’s Guide Table 3-2 MAPI to CAPI comparison: Simple Moderator Handler (continued) SIMP_MESSAGE_HANDLER.java (MAPI) ///////////////////////// PORT KNOWN ///////////////////////////// public void handlePORT_KNOWN( PORT_KNOWN event) throws OD_EXCEPTION ///// // If the participant's port is known, assign the proper values // ///// System.out.println("Getting Caller's by seq num");...
  • Page 135 ReadiVoice CAPI Developer’s Guide Table 3-2 MAPI to CAPI comparison: Simple Moderator Handler (continued) SIMP_MESSAGE_HANDLER.java (MAPI) /////////////////////// CALL CONNECTED ///////////////////////////////////// public void handleCALL_CONNECTED( CALL_CONNECTED event) ///// // If the caller we dialed connects this will join them to the conference.//...
  • Page 136 ReadiVoice CAPI Developer’s Guide Table 3-2 MAPI to CAPI comparison: Simple Moderator Handler (continued) SIMP_MESSAGE_HANDLER.java (MAPI) /////////////////////// PARTICIPANT INFO ///////////////////////// public void handlePARTICIPANT_INFO( PARTICIPANT_INFO event) throws OD_EXCEPTION ///// //For setting up participant. In this case there is no password for participants.
  • Page 137 ReadiVoice CAPI Developer’s Guide Table 3-2 MAPI to CAPI comparison: Simple Moderator Handler (continued) SIMP_MESSAGE_HANDLER.java (MAPI) //////////////////// PARTICIPANT DISCONNECT ////////////////////// // Corresponds to CALL_DISCONNECTED at right public void handlePARTICIPANT_DISCONNECT( PARTICIPANT_DISCONNECT event) throws OD_EXCEPTION System.out.println("Participant Has left *********************************"); //////////////////////// CONFERENCE END //////////////////////////...
  • Page 138: Capi Events

    CAPI Events This section provides the reference information for CAPI events. To ease migrating from MAPI, it also identifies the MAPI events that equate to the CAPI events. Enumerated Types Enumerated types are used in events to help limit what is specified. In the events where an enumeration is required, the XML schema specifies the enumeration name as the type inside the opening XML tags.
  • Page 139: Acm_Mode Enum Values

    ReadiVoice CAPI Developer’s Guide ACM_MODE Enum Values Specifies the ACM application mode. These enum values are used in “ACM_CHAN_ENTERED (CAPI)” Valid enum values are: • • • • • ACM_REASON_CODE Enum Values Specifies why an ACM application may have failed. These enum values are...
  • Page 140: Acm_Type Enum Values

    ACM_TYPE Enum Values Specifies the ACM application type. These enum values are used in “ACM_REGISTER (CAPI)” Valid enum values are: • • • ANNOUNCEMENT_OPTION Enum Values Specifies how participants are “announced” to a conference he/she is entering. These enum values are used in page 268.
  • Page 141: Call_Mode Enum Values

    Participants are placed into a conference as if they had dialed into the system. In a One-Click Conference, participants have a link or icon, such as in an e-mail invitation, on which they can click. The ReadiVoice system identifies the conference from the link’s URL and returns a Web page asking for the participant’s phone number.
  • Page 142: Conf_Run_State Enum Values

    CONF_RUN_STATE Enum Values Specifies mute and listen only options for the conference. These enum values are used in Valid enum values are: • • • • LOCK_STATE Enum Values Specifies the locking status of a conference, which together with LOCK_TYPE determines what happens with new callers to a conference.
  • Page 143: Nack_Reason Enum Values

    ReadiVoice CAPI Developer’s Guide NACK_REASON Enum Values Specifies the reason an event was rejected. These enum values are used in “NACK (CAPI)” Valid enum values are: • • • • • • • • • • • • • OP_REQ_PRIV Enum Values Specifies who can make a request to an operator if an operator is available.
  • Page 144: Op_Req_Type Enum Values

    • • OP_REQ_TYPE Enum Values Specifies who can make a request to an operator if an operator is available. Valid enum values are: • • • PART_STATUS Enum Values Status of a participant. These enum values are used in on page 260. Valid enum values are: •...
  • Page 145: Part_Type Enum Values

    ReadiVoice CAPI Developer’s Guide • • PART_TYPE Enum Values Types of conference participant types. These enum values are used in “DIAL_CALL (CAPI)” “ACM_CDR (CAPI)” Valid values are: • • • • • • • PI_REASON Enum Values Specifies the reason participant information was changed.
  • Page 146: Wav_Type Enum Values

    • • • • • • • WAV_TYPE Enum Values Specifies the type of .wav file to be played. These enum values are used in “ACM_PLAY_WAV (CAPI)” Valid enum values are: • • • • • WR_OPTION Enum Values Specifies whether or not waiting room is used for new potential conference participants.
  • Page 147 ReadiVoice CAPI Developer’s Guide • • The person who initiated the action subsequently canceled the action CR_NO_OP_AVAILABLE The action was canceled because an operator was not available MAX_CANCELATION_REASON The action was canceled for an unknown reason Proprietary & Confidential...
  • Page 148: Capi Request Events

    CAPI Request Events ACM_CHAN_ENTER (MAPI) ACM_CALL_ENTER (CAPI) Description A request by an application that a port be placed into an ACM Migration Notes The BRIDGE_ID is not needed in CAPI, because it is filled in by the CSC. Reply/Notification for PULL Session Reply/Notification for PUSH Session ACM_CALL_ENTER_ACK (CAPI) (success), ACM_CALL_LEAVE (CAPI) (as NACK)
  • Page 149: Acm_Cdr (Capi)

    ReadiVoice CAPI Developer’s Guide ACM_CDR (MAPI) ACM_CDR (CAPI) Description A request by an application to enter information into a call detail record (CDR) Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Inbound Availability Application Parameters MAPI Parameters...
  • Page 150: Acm_Get_Dtmf (Capi)

    ACM_GET_DTMF (MAPI) ACM_GET_DTMF (CAPI) Description A request by an application to collect DTMF digits from the port since the last time a termination digit was pressed or a timeout occured Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session ACM_DTMF (CAPI) (success) Direction Inbound...
  • Page 151: Acm_Get_Options (Capi)

    ReadiVoice CAPI Developer’s Guide ACM_GET_OPTIONS (MAPI) ACM_GET_OPTIONS (CAPI) Description A request by an application for the ACM option(s) associated with a conference and option. Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session The response is one or more ACM_OPTIONS (CAPI) events, where the last event has an empty OptionName field.
  • Page 152: Acm_Heartbeat (Capi)

    ACM_HEARTBEAT (MAPI) ACM_HEARTBEAT (CAPI) Description A request by an application for a heartbeat from the ACM Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session ACM_HEARTBEAT_ACK (CAPI) (success) Direction Inbound Availability Application Parameters MAPI Parameters CAPI Parameters APPLICATION_ID Id APPLICATION_ID ApplicationId ULONG SeqId Proprietary &...
  • Page 153: Acm_Play_Wav (Capi)

    ReadiVoice CAPI Developer’s Guide ACM_PLAY_WAV (MAPI) ACM_PLAY_WAV (CAPI) Description A request by an application to play an audio (.wav) file to a port Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Inbound Availability Application Parameters MAPI Parameters...
  • Page 154: Acm_Query (Capi)

    ACM_QUERY_APP (MAPI) ACM_QUERY (CAPI) Description The ACM query manager for an ACM Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session ACM_QUERY_RESP (CAPI) Direction Inbound and Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters APPLICATION_ID Id APPLICATION_ID ApplicationId STRING QueryString STRING QueryString ADDRESS Sender...
  • Page 155: Acm_Register (Capi)

    ReadiVoice CAPI Developer’s Guide ACM_REG (MAPI) ACM_REGISTER (CAPI) Description A request by an application to register for ACM events Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session ACM_REGISTERED (CAPI) (success) Direction Inbound Availability Application Parameters MAPI Parameters...
  • Page 156: Acm_Unregister (Capi)

    ACM_UNREG (MAPI) ACM_UNREGISTER (CAPI) Description A request by an application to unregister from receiving ACM events Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Inbound Availability Application Parameters MAPI Parameters CAPI Parameters APPLICATION_ID Id APPLICATION_ID ApplicationId Proprietary &...
  • Page 157: Add_Contact_Entry_To_Group (Capi)

    ReadiVoice CAPI Developer’s Guide ADD_PART_TO_PSET_GROUP (MAPI) ADD_CONTACT_ENTRY_TO_GROUP (CAPI) Description A request to add an existing contact to a new contact group in the subscriber’s phone book Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session GROUP_CONTACT_ENTRY_ADDED (success), NACK (failure)
  • Page 158: App_Register_Confs_Activity (Capi)

    CAPI Events NA (MAPI) APP_REGISTER_CONFS_ACTIVITY (CAPI) Description A request by the application session to register for conference start and end activity. “How the ODPROC and the CSC Work Together” on page 28 for information on what happens between the bridge and the CSC. Migration Notes None Reply/Notification for PULL Session...
  • Page 159: App_Register_Subscr (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) APP_REGISTER_SUBSCR (CAPI) Description Arequest by the application (once logged into CSC) to register for a subscription and its conference information Migration Notes None Reply/Notification for PULL Session SUBSCR_INFO (success) Notification for PUSH Session Direction...
  • Page 160: App_Unregister_Confs_Activity (Capi)

    CAPI Events NA (MAPI) APP_UNREGISTER_CONFS_ACTIVITY (CAPI) Description A request by the application session to unregister from receiving conference start and end activity Migration Notes None Reply/Notification for PULL Session ACK (success) Reply/Notification for PUSH Session Direction Inbound Availability Application Parameters None Proprietary &...
  • Page 161: App_Unregister_Subscr (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) APP_UNREGISTER_SUBSCR (CAPI) Description A request by the application to unregister for a subscription and its conference information Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction Inbound Availability Application Parameters CAPI Parameters...
  • Page 162: Conf_Play_Wav (Capi)

    CONF_PLAY_WAV (MAPI) CONF_PLAY_WAV (CAPI) Description A request to play an audio (.wav) file into the conference Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Inbound Direction Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters CONF_ID ConfId CONF_ID ConfId WAV_TYPES WavType WAV_TYPE WavType...
  • Page 163: Conf_Rollcall (Capi)

    ReadiVoice CAPI Developer’s Guide CONF_ROLLCALL (MAPI) CONF_ROLLCALL (CAPI) Description A request to play a rollcall of participants into the conference Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session Direction Inbound Direction Pull Moderator/Push Moderator/Application...
  • Page 164: Create_Contact (Capi)

    NEW_PARTICIPANT (MAPI) CREATE_CONTACT (CAPI) Description A request to create a new contact in the subscriber’s phone book Migration Notes The PAIR Info parameter with key-value pairs is used in place of the fixed fields in the MAPI event. Reply/Notification for PULL Session CONTACT_INFO (CAPI) Notification for PUSH Session CONTACT_CREATED (CAPI) (success), NACK (failure)
  • Page 165: Create_Contact_Group (Capi)

    ReadiVoice CAPI Developer’s Guide NEW_CONF (MAPI) CREATE_CONTACT_GROUP (CAPI) Description A request to create a new contact group in the subscriber’s phone book Migration Notes None Reply/Notification for PULL Session CONTACT_GROUP_INFO (CAPI) (success), NACK (failure) Reply/Notification for PUSH Session CONTACT_GROUP_CREATED (CAPI) (success), NACK (failure)
  • Page 166: Dial_Call (Capi)

    DIAL_CALL and QUICK_DIAL (MAPI) DIAL_CALL (CAPI) Description A request to dial the specified number and connect the participant to the conference Migration Notes The CAPI event replaces both the DIAL_CALL and QUICK_DIAL MAPI events Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session DIAL_STARTED and DIALOUT-CONNECTED (success), NACK (failure) Direction...
  • Page 167 ReadiVoice CAPI Developer’s Guide MAPI Parameters CAPI Parameters ADDRESS InitAddr PORT_ID InitPortId ULONG SequenceNumber STRING Extension ULONG ExtDelay MSG_BOOL ExtPlay MSG_BOOL Blast Description Proprietary & Confidential...
  • Page 168: Dial_Group (Capi)

    NA (MAPI) DIAL_GROUP (CAPI) Description A request to dial all of the contacts in a contract group within a subscriber’s phone book Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters CAPI Parameters SUBS_ID SubscrId STRING GroupName...
  • Page 169: Disconnect_Call (Capi)

    ReadiVoice CAPI Developer’s Guide PARTICIPANT_DISCONNECT_REQUEST (MAPI) DISCONNECT_CALL (CAPI) Description A request to disconnect the specified participant Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session CALL_DISCONNECTED (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application...
  • Page 170: End_Conf (Capi)

    END_CONF (MAPI) END_CONF (CAPI) Description A request to end a conference and disconnect all participants Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session CONF_ENDED (CAPI) (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters...
  • Page 171: Join_Part_To_Conf (Capi)

    ReadiVoice CAPI Developer’s Guide JOIN_CONF JOIN_PART_TO_CONF (CAPI) Description A request to place a participant into a conference Migration Notes None Reply for PULL Session ACK (success), NACK (failure) Notification for PUSH Session CALL_CONNECTED_TO_CHANGED, PART_INFO_CHANGED with PIR_CONNECTED_TO_CONF (success), NACK (failure) Direction...
  • Page 172: Lock_Conf (Capi)

    LOCK_CONF LOCK_CONF (CAPI) Description A request to lock a conference and prevent additional participants from joining Migration Notes CAPI requires the type of lock to be set ahead of time using the SET_LOCK_TYPE event. Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session CONF_LOCK_CHANGED (success), NACK (failure) Direction...
  • Page 173: Login_Application (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) LOGIN_APPLICATION (CAPI) Description A request to log an application session into the CSC. Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session ACK (success), NACK (failure) Direction Inbound Availability Application Parameters CAPI Parameters...
  • Page 174: Login_Moderator (Capi)

    GUI_MODERATOR_LOGIN or PARTICIPANT_LOGIN (MAPI) LOGIN_MODERATOR (CAPI) Description A request to log into a subscription as moderator Migration Notes The MAPI event combined both accessCode and SubPasscode into one field STRING Passcode, while XML event separates them. Reply/Notification for PULL Session MODERATOR_SESSION_INFO (success), NACK (failure) Reply/Notification for PUSH Session MODERATOR_SESSION_INFO (success), NACK (failure)
  • Page 175: Login_Part (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) LOGIN_PART (CAPI) Description A request to log into a subscription account as a participant Migration Notes The MAPI event combined both accessCode and SubPasscode into one field STRING Passcode, while the CAPI XML event separates them.
  • Page 176: Login_Push_Moderator (Capi)

    GUI_MODERATOR_LOGIN (MAPI) LOGIN_PUSH_MODERATOR (CAPI) Description A request to log into a moderator session as a subscriber Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction Inbound Availability Push Moderator Parameters MAPI Parameters CAPI Parameters STRING AccessNumber STRING AccessCode STRING SubscriberPasscode Proprietary &...
  • Page 177: Logout (Capi)

    ReadiVoice CAPI Developer’s Guide MOD_LOGOUT LOGOUT (CAPI) Description A request to log out a moderator session Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Inbound Availability Pull Moderator/Push Moderator/Application/One Click Parameters None (MAPI) Proprietary & Confidential...
  • Page 178: Mute_All (Capi)

    SUSPEND_CONF (MAPI) MUTE_ALL (CAPI) Description A request to mute all of a conference’s participants Migration Notes None Reply/Notification for PULL Session CALL_MODE_CHANGED (CAPI) (success) for each participant Reply/Notification for PUSH Session Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters CONF_ID ConfId PART_ID NotMutedPartId...
  • Page 179: Mute_Call (Capi)

    ReadiVoice CAPI Developer’s Guide MUTE_CALL MUTE_CALL (CAPI) Description A request to mute a participant Migration Notes CAPI does not need the BridgeId, because it can determine the bridge from the ConfId Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session...
  • Page 180: One_To_One (Capi)

    WR_CONNECT (MAPI) ONE_TO_ONE (CAPI) Description A request to place the participant in a one-on-one call Migration Notes None Reply/Notification for PULL Session ACK (Success), NACK (failure) Notification for PUSH Session CALL_STATUS_CHANGED or CALL_CONNECTED_TO_CHANGED (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters...
  • Page 181: Operator_Knocking (Capi)

    ReadiVoice CAPI Developer’s Guide RING_LOCKED_CONF (MAPI) OPERATOR_KNOCKING (CAPI) Description A request indicating an operator wants to join the locked conference Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Direction Push Moderator/Application Parameters MAPI Parameters CAPI Parameters...
  • Page 182: Play_Name (Capi)

    PART_ROLLCALL (MAPI) PLAY_NAME (CAPI) Description A request to play the name of the requested participant or the names of all participants Migration Notes In MAPI, the boolean parameter MSG_BOOL PlayAll specified whether Rollcall was on or off. In CAPI, a PartId value of -1 specifies that Rollcall is on. Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session...
  • Page 183: Register_Talker_Update (Capi)

    ReadiVoice CAPI Developer’s Guide REGISTER_TALKER_UPDATE (MAPI) REGISTER_TALKER_UPDATE (CAPI) Description A request to register the conference for Talker Update information Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session TALKER_UPDATE (CAPI) Direction Inbound Availability Push Moderator/Application Parameters MAPI Parameters...
  • Page 184: Remove_Contact (Capi)

    DELETE_PARTICIPANT (MAPI) REMOVE_CONTACT (CAPI) Description A request to remove a contact from the subscriber’s phone book. Migration Notes To transition from MAPI to CAPI, you must track the ContactId sent back from Reply/Notification for PULL Session ACK (success), NACK (failure) Notification for PUSH Session CONTACT_REMOVED (CAPI) (success), NACK (failure) Direction...
  • Page 185: Remove_Contact_Entry_From_Group (Capi)

    ReadiVoice CAPI Developer’s Guide REMOVE_PART_FROM PSET_GROUP (MAPI) REMOVE_CONTACT_ENTRY_FROM_GROUP (CAPI) Description A request to remove an existing contact from a contact group in the subscriber’s phone book Migration Notes To transition from MAPI to CAPI, you must track the ContactId sent back from the CONTACT_INFO (CAPI) event.
  • Page 186: Remove_Contact_Group (Capi)

    DELETE_CONF (MAPI) REMOVE_CONTACT_GROUP (CAPI) Description A request to remove a contact group from the subscriber’s phone book Migration Notes MAPI users must send an extra parameter—the system identifier for the subscription. Reply/Notification for PULL Session ACK (success), NACK (failure) Notification for PUSH Session CONTACT_GROUP_REMOVED (CAPI) (success), NACK (failure) Direction Inbound...
  • Page 187: Remove_Part (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) REMOVE_PART (CAPI) Description A request to remove a disconnected participant from the participant list Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters CAPI Parameters...
  • Page 188: Req_Conf_Info (Capi)

    REQ_BIG_CONF_INFO (MAPI) REQ_CONF_INFO (CAPI) Description A request for conference information Migration Notes None Reply/Notification for PULL Session CONF_INFO (success), NACK (failure) Reply/Notification for PUSH Session CONF_INFO (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters CONF_ID ConfId CONF_ID ConfId BRIDGE_ID BridgeId...
  • Page 189: Req_Contact_Group_Info (Capi)

    ReadiVoice CAPI Developer’s Guide GET_CONF_LIST REQ_CONTACT_GROUP_INFO (CAPI) Description A request to list the contacts in a contact group from a subscriber’s phone book—by requesting a CONTACT_GROUP_LIST (CAPI) event Migration Notes Even though the MAPI and CAPI events are essentially the same, the response is different.
  • Page 190: Req_Contact_Group_List (Capi)

    NA (MAPI) REQ_CONTACT_GROUP_LIST (CAPI) Description A request to list the contact groups in the subscriber’s phone book—by requesting the CONTACT_GROUP_LIST (CAPI) event Migration Notes MAPI users get this information directly from the database (through OpQMgr), while CAPI users will get it from the internal copy of the CSC. Reply/Notification for PULL Session CONTACT_GROUP_LIST (CAPI) (success), NACK (failure) Reply/Notification for PUSH Session...
  • Page 191: Req_Contact_Info (Capi)

    ReadiVoice CAPI Developer’s Guide REQ_CONTACT_INFO (CAPI) Description A request for a contact’s information from a subscriber’s phone book Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters CAPI Parameters SUBS_ID SubscrId...
  • Page 192: Req_Contact_Info_Search (Capi)

    GET_PARTS REQ_CONTACT_INFO_SEARCH (CAPI) Description A request to search the subscriber’s phone book for contacts whose first names or last names start with specified letter NOT CURRENTLY IMPLEMENTED Migration Notes Not available in XML. Reply/Notification for PULL Session The event handler is empty Reply/Notification for PUSH Session Direction Inbound...
  • Page 193: Req_Contact_List (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) REQ_CONTACT_LIST (CAPI) Description A request for a list of all of the contacts and contact information in a subscriber’s phone book--by requesting a CONTACT_LIST event. Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session CONTACT_LIST (success);...
  • Page 194: Req_Part_Info (Capi)

    NA (MAPI) REQ_PART_INFO (CAPI) Description A request for participant information Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session PART_INFO (CAPI) (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters CONF_ID ConfId PART_ID PartId Proprietary &...
  • Page 195: Req_Part_List (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) REQ_PART_LIST (CAPI) Description A request for a participant list for a subscriber’s conference Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session PART_INFO (CAPI) (success), NACK (failure) Direction...
  • Page 196: Req_Session_Info (Capi)

    CAPI Events NA (MAPI) REQ_SESSION_INFO (CAPI) Description A request for session information Migration Notes New in CAPI Reply/Notification for PULL Session MODERATOR_SESSION_INFO, PART_SESSION_INFO (CAPI), or APPLICATION_SESSION_INFO (CAPI)(success), NACK (failure) Reply/Notification for PUSH Session MODERATOR_SESSION_INFO, PART_SESSION_INFO (CAPI), or APPLICATION_SESSION_INFO (CAPI)(success), NACK (failure) Direction Inbound Availability...
  • Page 197: Req_Subscr_Id_By_Access_Data (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) REQ_SUBSCR_ID_BY_ACCESS_DATA (CAPI) Description A request to look up a subscription using the access number and access code provided Migration Notes New in CAPI Reply/Notification for PULL Session SUBSCR_INFO (CAPI) Reply/Notification for PUSH Session Direction...
  • Page 198: Req_Subscr_Info (Capi)

    PART_REQUEST_SETUP (MAPI) REQ_SUBSCR_INFO (CAPI) Description A request for subscription information Migration Notes None Reply/Notification for PULL Session SUBSCR_INFO (success), NACK (failure) Reply/Notification for PUSH Session SUBSCR_INFO (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters SUBS_ID SubscrId Proprietary &...
  • Page 199: Req_System_Info (Capi)

    ReadiVoice CAPI Developer’s Guide REQ_SYSTEM_INFO (CAPI) Description A request for system information—by requesting a SYSTEM_INFO event Migration Notes None Reply/Notification for PULL Session SYSTEM_INFO (success) Reply/Notification for PUSH Session Direction Inbound Availability Pull Moderator Parameters None (MAPI) Proprietary & Confidential...
  • Page 200: Session_Heartbeat (Capi)

    NA (MAPI) SESSION_HEARTBEAT (CAPI) Description A request for a heartbeat and to keep a session alive Migration Notes New in CAPI Reply/Notification for PULL Session Reply/Notification for PUSH Session SESSION_HEARTBEAT_ACK (CAPI) Direction Inbound Availability Pull Moderator, Push Moderator, Application, and One Click Parameters CAPI Parameters UINT32 SeqId;...
  • Page 201: Set_Announcement (Capi)

    ReadiVoice CAPI Developer’s Guide CHANGE_ANNOUNCEMENT (MAPI) SET_ANNOUNCEMENT (CAPI) Description A request to change the Announcement option for an active conference Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session ANNOUNCEMENT_CHANGED (CAPI) (success), NACK (failure)
  • Page 202: Set_Auto_Cont (Capi)

    ~PART_SETUP (MAPI) SET_AUTO_CONT (CAPI) Description A request to change the Autocontinuation option for a subscription Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session SUBSCR_INFO_CHANGED with SIR_AUTO_CONT_CHANGED (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters...
  • Page 203: Set_Conf_Cont (Capi)

    ReadiVoice CAPI Developer’s Guide CONF_TOGGLE_CONTINUE (MAPI) SET_CONF_CONT (CAPI) Description A request to change the Conference Continue option for a conference Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session CONF_CONT_CHANGED (CAPI)(success), NACK (failure) Direction...
  • Page 204: Set_Conf_Mode (Capi)

    SET_LISTEN_ONLY, SUSPEND_CONF, and UNSUSPEND_CONF (MAPI) SET_CONF_MODE (CAPI) Description A request to change the Mute and Listen Only options for the conference. Migration Notes SET_CONF_MODE (CAPI) is used to replace MAPI's conf mode alter events Reply/Notification for PULL Session ACK (success), NACK (failure) Notification for PUSH Session CONF_MODE_CHANGED (Mute success), NACK (failure) CONF_MODE_CHANGED/CALL_MODE_CHANGED (Listen Only...
  • Page 205: Set_Conf_Security_Code (Capi)

    ReadiVoice CAPI Developer’s Guide SET_SECURITY_NUM (MAPI) SET_CONF_SECURITY_CODE (CAPI) Description A request to change the conference security code for a conference Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session CONF_SECURITY_CODE_CHANGED (success), NACK (failure) Direction...
  • Page 206: Set_Contact_Group_Info (Capi)

    UPDATE_CONF SET_CONTACT_GROUP_INFO (CAPI) Description A request to change the name of a contact group in the subscriber’s phone book Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Notification for PUSH Session CONTACT_GROUP_INFO_CHANGED (CAPI) (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application...
  • Page 207: Set_Contact_Info (Capi)

    ReadiVoice CAPI Developer’s Guide UPDATE_PARTICIPANT SET_CONTACT_INFO (CAPI) Description A request to change a contact’s information in the subscriber’s phone book Migration Notes CAPI users must pair up the information in the changing fields (such as phone num, extension, etc.), rather than using the built-in MAPI fields. If a field value is set to "", it is removed from the contact’s information.
  • Page 208 MAPI Parameters CAPI Parameters STRING OldLast STRING OldPhone STRING OldExtension Proprietary & Confidential Description For CSC, this is what it stores locally CAPI Events...
  • Page 209: Set_Listen_Only_Entry (Capi)

    ReadiVoice CAPI Developer’s Guide PART_SETUP (MAPI) SET_LISTEN_ONLY_ENTRY (CAPI) Description A request to change the Listen Only on Entry option for the subscription Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Notification for PUSH Session SUBSCR_INFO_CHANGED with SIR_LISTEN_ONLY_ENTRY_CHANGED...
  • Page 210: Set_Lock_Type (Capi)

    CHANGE_CURRENT_LOCK_TYPE (MAPI) SET_LOCK_TYPE (CAPI) Description A request to change the lock type (without taking any lock action) for an active conference Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session LOCK_TYPE_CHANGED (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters...
  • Page 211: Set_Name_Record (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) SET_NAME_RECORD (CAPI) Description A request to change the Name Record option for an active conference Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session CONF_INFO_CHANGED with CIR_NAME_RECORD_CHANGED Direction Availability Pull Moderator/Push Moderator/Application...
  • Page 212: Set_Op_Req (Capi)

    GUI_OPERATOR_REQUEST CANCEL_GUI_OPERATOR_REQUEST SET_OP_REQ (CAPI) Description A request to create or cancel a participant’s or conference’s request to talk with an operator Migration Notes In CAPI, the REQ_REASON parameter in the GUI_OPERATOR_REQUEST event is always set to CONF_REQUEST. Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session OP_REQUESTED (successful response to a create request),...
  • Page 213: Set_Part_Name (Capi)

    ReadiVoice CAPI Developer’s Guide PARTICIPANT_INFO (MAPI) SET_PART_NAME (CAPI) Description A request to change the name field for a participant Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session PART_NAME_CHANGED (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application...
  • Page 214: Set_Quick_Start(Capi)

    ~PART_SETUP (MAPI) SET_QUICK_START(CAPI) Description A request to change the Quick Start option for a subscription Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session SUBSCR_INFO_CHANGED with SIR_QUICK_START_CHANGED (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters...
  • Page 215: Set_Subscr_Announcement (Capi)

    ReadiVoice CAPI Developer’s Guide ~PART_SETUP (MAPI) SET_SUBSCR_ANNOUNCEMENT (CAPI) Description A request to change the Announcement option for a subscription Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session SUBSCR_INFO_CHANGED with SIR_ANNOUCEMENT_CHANGED (success), NACK (failure)
  • Page 216: Set_Subscr_Name_Record (Capi)

    ~PART_SETUP (MAPI) SET_SUBSCR_NAME_RECORD (CAPI) Description A request to change the Name Record option for a subscription Migration Notes This is one of the CAPI events that makes up the PART_SETUP (MAPI) event. Reply/Notification for PULL Session Reply/Notification for PUSH Session SUBSCR_INFO_CHANGED with SIR_NAME_RECORD_CHANGED Direction Availability...
  • Page 217: Set_Waiting_Room_Option (Capi)

    ReadiVoice CAPI Developer’s Guide PART_SETUP (MAPI) SET_WAITING_ROOM_OPTION (CAPI) Description A request to change the Waiting Room on entry option for a subscription Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session SUBSCR_INFO_CHANGED with SIR_WAITING_ROOM_CHANGED (success), NACK Direction Inbound...
  • Page 218: Start_Conf (Capi)

    START_CONF (MAPI) START_CONF (CAPI) Description A request to start a conference Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session CONF_INFO_CHANGED with CIR_CONF_STARTED (success), NACK (failure) Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters SUBS_ID SubscrId CONF_ID ConfId...
  • Page 219: Unlock_Conf (Capi)

    ReadiVoice CAPI Developer’s Guide UNLOCK_CONF (MAPI) UNLOCK_CONF (CAPI) Description A request to unlock a conference so additional participants can join Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session CONF_LOCK_CHANGED (CAPI) (success), NACK (failure)
  • Page 220: Unmute_All (Capi)

    UNSUSPEND_CONF (MAPI) UNMUTE_ALL (CAPI) Description A request to unmute all of a conference’s participants Migration Notes None Reply/Notification for PULL Session CALL_MODE_CHANGED (CAPI) (success) for each participant Reply/Notification for PUSH Session Direction Inbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters CONF_ID ConfId Proprietary &...
  • Page 221: Unmute_Call (Capi)

    ReadiVoice CAPI Developer’s Guide UNMUTE_CALL UNMUTE_CALL (CAPI) Description A request to unmute a muted participant Migration Notes CAPI does not need the BridgeId, because it can determine the bridge from the ConfId Reply/Notification for PULL Session ACK (success), NACK (failure)
  • Page 222: Unregister_Talker_Update (Capi)

    UNREGISTER_TALKER_UPDATE (MAPI) UNREGISTER_TALKER_UPDATE (CAPI) Description A request to unregister a conference for TALKER_UPDATE information Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Inbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters CONF_ID confId CONF_ID confId BRIDGE_ID bridgeId Proprietary &...
  • Page 223: Capi Response Events

    ReadiVoice CAPI Developer’s Guide CAPI Response Events NA (MAPI) ACK (CAPI) Description A response to acknowledge that an event was received. The passback field reflects whatever value was in the originating event. Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session...
  • Page 224: Acm_Call_Enter_Ack (Capi)

    ACM_CHAN_ENTER_ACK (MAPI) ACM_CALL_ENTER_ACK (CAPI) Description A response to the ACM_CALL_ENTER (CAPI) event that indicates the port has entered the ACM Migration Notes The BRIDGE_ID is not needed in CAPI, because it is filled in by the CSC. Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound...
  • Page 225: Acm_Call_Entered (Capi)

    ReadiVoice CAPI Developer’s Guide ACM_CHAN_ENTER (MAPI) ACM_CALL_ENTERED (CAPI) Description A response to the entered the ACM Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Application Parameters MAPI Parameters CAPI Parameters PART_ID PartId CONF_ID ConfId...
  • Page 226: Acm_Call_Leave (Capi)

    ACM_CHAN_DONE (MAPI) ACM_CALL_LEAVE (CAPI) Description A request by an application that a port leave an ACM Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Inbound Availability Application Parameters MAPI Parameters CAPI Parameters APPLICATION_ID Id APPLICATION_ID ApplicationId PORT_ID ChannelHndl PART_ID PartId CONF_ID SubscriberId...
  • Page 227: Acm_Call_Left (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) ACM_CALL_LEFT (CAPI) Description A response to the left the ACM Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Application Parameters CAPI Parameters APPLICATION_ID ApplicationId PART_ID PartId CONF_ID ConfId...
  • Page 228: Acm_Dtmf (Capi)

    ACM_DTMF (MAPI) ACM_DTMF (CAPI) Description A response to the ACM_GET_DTMF (CAPI) event that provides the DTMF digits that were entered since the last time a termination digit was pressed or a timeout occured. Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound...
  • Page 229: Acm_Heartbeat_Ack (Capi)

    ReadiVoice CAPI Developer’s Guide ACM_HEARTBEAT_ACK (MAPI) ACM_HEARTBEAT_ACK (CAPI) Description A response to the ACM_HEARTBEAT (CAPI) event that sends back the heartbeat Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Application Parameters MAPI Parameters CAPI Parameters...
  • Page 230: Acm_Heartbeat_Failure (Capi)

    ACM_HEARTBEAT_FAILURE (MAPI) ACM_HEARTBEAT_FAILURE (CAPI) Description A response to the ACM_HEARTBEAT (CAPI) event that contains the Heartbeat Failure notification Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Application Parameters MAPI Parameters CAPI Parameters APPLICATION_ID Id APPLICATION_ID ApplicationId Proprietary &...
  • Page 231: Acm_Options (Capi)

    ReadiVoice CAPI Developer’s Guide ACM_OPTIONS (MAPI) ACM_OPTIONS (CAPI) Description A response to the ACM_GET_OPTIONS (CAPI) event that returns the current ACM options for the conference Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application...
  • Page 232: Acm_Query_Resp (Capi)

    ACM_QUERY_APP_RESP (MAPI) ACM_QUERY_RESP (CAPI) Description A response to ACM_QUERY (CAPI) event that provides the information requested and/or a reason code Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Inbound and Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters APPLICATION_ID Id APPLICATION_ID...
  • Page 233: Acm_Registered (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) ACM_REGISTERED (CAPI) Description A response to the has successfully been registered for ACM events Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Application Parameters MAPI Parameters CAPI Parameters...
  • Page 234: Announcement_Changed (Capi)

    ANNOUNCEMENT_CHANGED (MAPI) ANNOUNCEMENT_CHANGED (CAPI) Description A response to the SET_ANNOUNCEMENT (CAPI) event that indicates the announcement option has been changed for an active conference Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters...
  • Page 235: Application_Session_Info (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) APPLICATION_SESSION_INFO (CAPI) Description A response to the REQ_SESSION_INFO (CAPI) event that provides session information Migration Notes New in CAPI Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Application Parameters None Proprietary & Confidential...
  • Page 236: Bridge_Logout (Capi)

    BRIDGE_LOGOUT (MAPI) BRIDGE_LOGOUT (CAPI) Description A response (notification) indicating that a bridge has logged out, and the bridge interface server is going away. Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters BRIDGE_ID BridgeId...
  • Page 237: Bridge_Status_Changed (Capi)

    ReadiVoice CAPI Developer’s Guide BRIDGE_UP and BRIDGE_LOGOUT (MAPI) BRIDGE_STATUS_CHANGED (CAPI) Description A notification that indicates the bridge’s status has changed information on what happens between the bridge and the CSC. Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session...
  • Page 238: Bridge_Up (Capi)

    BRIDGE_UP (MAPI) BRIDGE_UP (CAPI) Description A response (notification) indicating that a bridge has logged in. Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters BRIDGE_ID BridgeId BRIDGE_ID BridgeId Proprietary &...
  • Page 239: Call_Connected_To_Changed (Capi)

    ReadiVoice CAPI Developer’s Guide PARTICIPANT_INFO (MAPI) CALL_CONNECTED_TO_CHANGED (CAPI) Description A response to a ONE_TO_ONE or JOIN_PART_TO_CONF event that indicates that a caller is connected one-to-one with another participant Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction...
  • Page 240: Call_Disconnected (Capi)

    PARTICIPANT_DISCONNECT (MAPI) CALL_DISCONNECTED (CAPI) Description A response to a has disconnected a caller Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters PORT_ID CallerPortId PART_ID PartId CONF_ID CallerConfId CONF_ID ConfId BRIDGE_ID BridgeId Proprietary &...
  • Page 241: Call_Left_Conf (Capi)

    ReadiVoice CAPI Developer’s Guide OP_NOT_IN_CONF CALL_LEFT_CONF (CAPI) Description A notification that indicates a participant is no longer connected to the conference Migration Notes The CAPI event is more general than its MAPI counterpart, which was a response that indicated the operator was not in conference.
  • Page 242: Call_Mode_Changed (Capi)

    CALL_MUTED / CALL_UNMUTED (MAPI) CALL_MODE_CHANGED (CAPI) Description A response to the MUTE_CALL (CAPI), UNMUTE_CALL (CAPI), MUTE ALL, UNMUTE_ALL, and SET_CONF_MODE events that indicates a participant’s (or all participants’) conference mode has changed Migration Notes The CAPI event uses the CALL_MODE parameter rather than the event itself to indicate whether the line is muted or un-muted Reply/Notification for PULL Session Reply/Notification for PUSH Session...
  • Page 243: Call_Status_Changed (Capi)

    ReadiVoice CAPI Developer’s Guide PARTICIPANT_INFO (MAPI) CALL_STATUS_CHANGED (CAPI) Description A response to a ONE_TO_ONE (CAPI) event that indicates a caller’s connection status has changed Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction Outbound Availability Push Moderator/Application...
  • Page 244: Conf_Cont_Changed (Capi)

    CONF_CONTINUE_TOGGLED (MAPI) CONF_CONT_CHANGED (CAPI) Description A response to the SET_CONF_CONT (CAPI) event that indicates the Conference Continuation option has been successfully changed Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters CONF_ID ConfId CONF_ID ConfId...
  • Page 245: Conf_Ended (Capi)

    ReadiVoice CAPI Developer’s Guide CONFERENCE_END (MAPI) CONF_ENDED (CAPI) Description A response to the END_CONF (CAPI) event that indicates a conference has ended Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters...
  • Page 246: Conf_Info (Capi)

    BIG_CONF_INFO CONF_INFO (CAPI) Description A response to REQ_CONF_INFO that provides information about a conference Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session ACK (success), NACK (failure) Direction Outbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters BRIDGE_ID DeviceId...
  • Page 247 ReadiVoice CAPI Developer’s Guide MAPI Parameters CAPI Parameters MSG_BOOL ConfCont XBOOL ConfCont ANNOUNCEMENT_OPTIO ANNOUNCEMENT_OPTION N Announcement Announcement XBOOL AnnouncementConfigurable XBOOL NameRecord XBOOL NameRecordConfigurable XBOOL LOEntry XBOOL CscSet XBOOL WaitingRoomConfigurable LOCK_TYPE LockType LOCK_STATE LockState LOCK_STATE LockState GROUP_ID GroupId MSG_BOOL RollCall STRING Passcode...
  • Page 248: Conf_Info_Changed (Capi)

    ~CONF_STARTED and ~CURRENT_CONF_INFO (MAPI) CONF_INFO_CHANGED (CAPI) Description A response to the START_CONF (CAPI) and SET_NAME_RECORD events. This event is inherited from CONF_INFO, so it also gets all of the CONF_INFO parameters. Also, CAPI sends this event instead of the CONF_STARTED event when a moderator logs in before a conference has started and then the conference starts.
  • Page 249: Conf_Lock_Changed (Capi)

    ReadiVoice CAPI Developer’s Guide CONF_LOCKED and CONF_UNLOCKED (MAPI) CONF_LOCK_CHANGED (CAPI) Description A response to the UNLOCK_CONF (CAPI) and LOCK_CONF (CAPI) events that indicates the conference lock state has changed Migration Notes CAPI combines the two MAPI events, CONF_LOCKED / CONF_UNLOCKED, into the single CONF_LOCK-CHANGED event...
  • Page 250: Conf_Mode_Changed (Capi)

    CURRENT_CONF_INFO (MAPI) CONF_MODE_CHANGED (CAPI) Description A response to the SET_CONF_MODE (CAPI) event that indicates the state of an active conference has changed Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters CONF_ID ConfId CONF_RUN_STATE ConfState...
  • Page 251: Conf_Security_Code_Changed (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) CONF_SECURITY_CODE_CHANGED (CAPI) Description A response to the SET_CONF_SECURITY_CODE event that indicates the conference security code has changed Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters...
  • Page 252: Conf_Started (Capi)

    CONF_STARTED (MAPI) CONF_STARTED (CAPI) Description A response to the START_CONF (CAPI) event that indicates a request to start a conference was successful. This response contains the bridge and conference identifiers for the conference Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound...
  • Page 253: Contact_Created (Capi)

    ReadiVoice CAPI Developer’s Guide CONTACT_CREATED (CAPI) Description A response to the CREATE_CONTACT event that indicates a new contact has been created in the subscriber’s phone book Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability...
  • Page 254: Contact_Group_Created (Capi)

    CONTACT_GROUP_CREATED (CAPI) Description A response to the CREATE_CONTACT_GROUP event that indicates a contact group was successfully created in the subscriber’s phone book Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters CAPI Parameters SUBS_ID SubscrId STRING GroupName Proprietary &...
  • Page 255: Contact_Group_Info (Capi)

    ReadiVoice CAPI Developer’s Guide CONTACT_GROUP_INFO (CAPI) Description A response to the CREATE_CONTACT_GROUP (CAPI) specified group. Migration Notes New in CAPI Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Pull Moderator/Push Moderator/Application Parameters CAPI Parameters SUBS_ID SubscrId STRING GroupName MEMBER_ENTRY memberEntries[…]...
  • Page 256: Contact_Group_Info_Changed (Capi)

    CONTACT_GROUP_INFO_CHANGED (CAPI) Description A response to the SET_CONTACT_GROUP_INFO event that indicates the name of a contact group in the subscriber’s phone book was successfully changed Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters CAPI Parameters SUBS_ID SubscrId...
  • Page 257: Contact_Group_List (Capi)

    ReadiVoice CAPI Developer’s Guide ~CONF_DETAILS CONTACT_GROUP_LIST (CAPI) Description A response to the REQ_CONTACT_GROUP_LIST (CAPI) event that lists the contact groups in the subscriber’s phone book Migration Notes MAPI users receive (n+1) CONF_DETAILS events, where n is the number of groups. The last event contains a blank group name to signal the end of list.
  • Page 258: Contact_Group_Removed (Capi)

    CONTACT_GROUP_REMOVED (CAPI) Description A response to the DELETE_CONF (MAPI) or REMOVE_CONTACT_GROUP (CAPI) event that indicates a group was successfully removed from the subscriber’s phone book Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters CAPI Parameters SUBS_ID SubscrId...
  • Page 259: Contact_Info (Capi)

    ReadiVoice CAPI Developer’s Guide CONF_PARTICIPANT DETAILS CONTACT_INFO (CAPI) Description A response to the (CAPI) a contact in the subscriber’s phone book Migration Notes Not specified according to contact list name. The contact may have additional information associated with it (in place of the fixed fields in the MAPI event) using the PAIR Info type.
  • Page 260 CAPI Events MAPI Parameters CAPI Parameters Description STRING ListName STRING Phone STRING Extension Proprietary & Confidential...
  • Page 261: Contact_Info_Changed (Capi)

    ReadiVoice CAPI Developer’s Guide CONTACT_INFO_CHANGED (CAPI) Description A response to the contact’s information for verification Migration Notes New in CAPI Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters CAPI Parameters SUBS_ID SubscrId STRING ContactId...
  • Page 262: Contact_List (Capi)

    NA(MAPI) CONTACT_LIST (CAPI) Description A response to the REQ_CONTACT_LIST event that lists all of the contacts and contact information in a subscriber’s phone book Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Pull Moderator/Push Moderator/Application Parameters CAPI Parameters SUBS_ID SubscrId...
  • Page 263: Contact_Removed (Capi)

    ReadiVoice CAPI Developer’s Guide CONTACT_REMOVED (CAPI) Description A response to the REMOVE_CONTACT event that indicates a contact was successfully removed from the subscriber’s phone book Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application...
  • Page 264: Dialout_Connected (Capi)

    CALL_CONNECTED (MAPI) DIALOUT_CONNECTED (CAPI) Description A response to the DIAL_CALL (CAPI) event that indicates the line dialed was picked up Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters PORT_ID CallerPortId PART_ID PartId CONF_ID CallerConfId...
  • Page 265: Dialout_Started (Capi)

    ReadiVoice CAPI Developer’s Guide PORT_KNOWN (MAPI) DIALOUT_STARTED (CAPI) Description A response to the picked up Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters PORT_ID CallerPortId PART_ID PartId...
  • Page 266: Group_Contact_Entry_Added (Capi)

    GROUP_CONTACT_ENTRY_ADDED (CAPI) Description A response to the ADD_CONTACT_ENTRY_TO_GROUP event that indicates an existing contact was successfully added to a new contact group in the subscriber’s phone book Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters...
  • Page 267: Group_Contact_Entry_Removed (Capi)

    ReadiVoice CAPI Developer’s Guide GROUP_CONTACT_ENTRY_REMOVED (CAPI) Description A response to the REMOVE_CONTACT_ENTRY_FROM_GROUP event that indicates a contact was successfully removed from a contact group in the subscriber’s phone book Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session...
  • Page 268: Lock_Type_Changed (Capi)

    NA (MAPI) LOCK_TYPE_CHANGED (CAPI) Description A response to the SET_LOCK_TYPE (CAPI) event that indicates the lock type has changed for a conference Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters CAPI Parameters CONF_ID ConfId LOCK_TYPE LockType Proprietary &...
  • Page 269: Moderator_Session_Info (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) MODERATOR_SESSION_INFO (CAPI) Description A response to the REQ_SESSION_INFO (CAPI) event that provides session information Migration Notes New in CAPI Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Pull Moderator, Push Moderator...
  • Page 270: Nack (Capi)

    CALL_FAILED or NACK (CAPI) Description A response that indicates the event was received but that processing failed for one or more reasons Use Event (inherited from the ACK) and PassBack (inherited indirectly from CMD_OR_QUERY) to correlate this with the particular event that failed. Note In synchronous processing, the NACK always immediately follows the event that failed.
  • Page 271: Op_Req_Answered (Capi)

    ReadiVoice CAPI Developer’s Guide PARTICIPANT_INFO (MAPI) OP_REQ_ANSWERED (CAPI) Description A notification that indicates an operator has answered a participant’s request to talk to an operator and the participant is not currently connected to the conference Migration Notes None Reply/Notification for PULL Session...
  • Page 272: Op_Req_Canceled (Capi)

    NO_OPERATOR OP_REQ_CANCELED (CAPI) Description A response to the SET_OP_REQ event that indicates a participant’s request to talk with an operator has been cancelled. Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters CONF_ID ConfId...
  • Page 273: Op_Requested (Capi)

    ReadiVoice CAPI Developer’s Guide PARTICIPANT_INFO (MAPI) OP_REQUESTED (CAPI) Description A notification in response to a SET_OP_REQ (CAPI) event that indicates a participant has requested to talk to an operator and is not currently connected to the conference Migration Notes None...
  • Page 274: Part_Info (Capi)

    PARTICIPANT_INFO (MAPI) PART_INFO (CAPI) Description A response to the REQ_PART_INFO (CAPI) event that contains information about a participant Migration Notes None Reply/Notification for PULL Session REQ_PART_INFO (CAPI) Reply/Notification for PUSH Session Reply/Notification for PUSH Session Outbound Availability Pull Moderator/Push Moderator/Application Parameters MAPI Parameters CAPI Parameters...
  • Page 275 ReadiVoice CAPI Developer’s Guide MAPI Parameters CAPI Parameters SHORT Order INT32 Order MSG_BOOL Muted XBOOL Muted MSG_BOOL OPReq XBOOL OpReq UINT ChanBoard UINT ChanSpan UINT ChanNum BRIDGE_ID BridgeId PORT_ID CallerPortId Description The order of the participant’s arrival in the conference Is the participant’s line muted?
  • Page 276: Part_Info_Changed (Capi)

    NA (MAPI) PART_INFO_CHANGED (CAPI) Description A response that indicates participant information has changed. Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters CAPI Parameters PI_REASON PiReason Proprietary & Confidential CAPI Events Description The reason the information changed.
  • Page 277: Part_List (Capi)

    ReadiVoice CAPI Developer’s Guide ~CURRENT_CONF_INFO (MAPI) PART_LIST (CAPI) Description A response to a currently in the conference Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session ACK (success), NACK (failure) Direction Outbound Availability Pull Moderator/Push Moderator/Application...
  • Page 278: Part_Name_Changed (Capi)

    PARTICIPANT_INFO (MAPI) PART_NAME_CHANGED (CAPI) Description A response to the SET_PART_NAME event that indicates a participant name associated with the call has changed Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters CONF_ID ConfId PART_ID PartId...
  • Page 279: Part_Session_Info (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) PART_SESSION_INFO (CAPI) Description A response to the REQ_SESSION_INFO (CAPI) event that provides session information Migration Notes New in CAPI Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability One Click Parameters CAPI Parameters...
  • Page 280: Part_Type_Changed (Capi)

    PARTICIPANT_INFO (MAPI) PART_TYPE_CHANGED (CAPI) Description A notification that indicates that a caller’s type has changed Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction Outbound Availability Push Moderator/Application Parameters MAPI Parameters CAPI Parameters CONF_ID ConfId PART_ID PartId PART_Type PartType Proprietary &...
  • Page 281: Session_Heartbeat_Ack (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) SESSION_HEARTBEAT_ACK (CAPI) Description A response to acknowledge the REQ_SESSION_INFO (CAPI) and SESSION_HEARTBEAT (CAPI) events sent by an application requesting a heartbeat Migration Notes New in CAPI Reply/Notification for PULL Session Reply/Notification for PUSH Session...
  • Page 282: Subscr_Info (Capi)

    ~PART_REQUEST_SETUP_ACK (MAPI) SUBSCR_INFO (CAPI) Description A response to the LOGIN_PUSH_MODERATOR, and APP_REGISTER_SUBSCR events that provides information about a subscription. Migration Notes None Reply/Notification for PULL Session ACK (success), NACK (failure) Reply/Notification for PUSH Session ACK (success), NACK (failure) Direction Outbound Availability Pull Moderator/Push Moderator/Application Parameters...
  • Page 283 ReadiVoice CAPI Developer’s Guide MAPI Parameters CAPI Parameters ANNOUNCEMENT_OPTIO ANNOUNCEMENT_OPTION N ModAnnouncement Announcement MSG_BOOL XBOOL CfgAnnouncement AnnouncementConfigurable MSG_BOOL ModRollCall XBOOL RollCallEnabled MSG_BOOL XBOOL ConfContConfigurable* CfgAutoConfCont XBOOL AutoContEnabled XBOOL AutoContConfigurable MSG_BOOL ModQuickStart XBOOL QuickStartEnabled MSG_BOOL CfgQuickStart XBOOL QuickStartConfigurable MSG_BOOL ModLOEntry XBOOL LOEntryEnabled...
  • Page 284 MAPI Parameters CAPI Parameters MSG_BOOL ModAutoConfCont MSG_BOOL CfgRollCall XBOOL GreetingRecordConfigurable XBOOL GreetingRecordEnabled Fields marked with * may have values different from those in the database if the conference is active. Proprietary & Confidential Description Depecated. Do not use. Deprecated. Do not use. CAPI Events...
  • Page 285: Subscr_Info_Changed (Capi)

    ReadiVoice CAPI Developer’s Guide NA (MAPI) SUBSCR_INFO_CHANGED (CAPI) Description A response to the SET_SUBSCR_NAME_RECORD, SET_AUTO_CONT, SET_SUBSCR_ANNOUNCEMENT, SET_QUICK_START, SET_LISTEN_ONLY_ENTRY, and SET_WAITING_ROOM_OPTION events that indicates subscription information has changed. Migration Notes None Reply/Notification for PULL Session Notification for PUSH Session Direction Outbound...
  • Page 286: System_Info (Capi)

    SYSTEM_INFO (CAPI) Description A response to the REQ_SYSTEM_INFO event that sends information about the system Migration Notes None Reply/Notification for PULL Session Reply/Notification for PUSH Session Direction Outbound Availability Pull Moderator Parameters CAPI Parameters STRING Product STRING ProductVer XBOOL ModeratorAllowed XBOOL ModeratorNeedsAccessCode XBOOL...
  • Page 287: Talker_Update (Capi)

    ReadiVoice CAPI Developer’s Guide CONF_TALKERS (MAPI) TALKER_UPDATE (CAPI) Description A response to the CONF_TALKERS (MAPI) event that contains information about the talkers in conference (i.e., the three talkers being mixed by DSP resources) Migration Notes None Reply/Notification for PULL Session...
  • Page 288 Index about this manual xi access number and code 183 application IDs, configuring 29 application types 30 conference ID 137 options 217 overview 30 using 59 ACM_CALL_ENTER 134 ACM_CALL_ENTER_ACK 134, 210 enum values 125 ACM_CALL_LEAVE 134, 212 ACM_CALL_LEFT 213 ACM_CDR 131, 135 ACM_CHAN_DONE (MAPI) 212 ACM_CHAN_ENTER (MAPI) 134 ACM_CHAN_ENTER_ACK (MAPI) 210...
  • Page 289 ReadiVoice CAPI Developer’s Guide BAD_CONF_INFO 129 BAD_ENTRY 129 BAD_LOGIN 129 BAD_PORT_ID 129 BAD_SESSION_ID 129 BAD_SUBSCR_ID 129 BasicConnection.java 24 BasicCookie.java 24 BasicListener.java 24 BasicMessageBus.java 24 BIG_CONF_INFO (MAPI) 232 blast dialing 49, 51, 126 bridge IDs 8, 134, 165, 238 BRIDGE_DOWN 129...
  • Page 290 classes CAPI SDK 3 Java files and event names 27 Java files overview 21 Java files quick reference 24 naming in events and Java files 27 CM_MUTED 127 CM_NORMAL 127 CONF_CONT_CHANGED 189, 230 CONF_CONTINUE_TOGGLED (MAPI) 230 CONF_DETAILS (MAPI) 243 CONF_ENDED 156, 231 CONF_INFO 128, 232 CONF_INFO_CHANGED 127, 204, 234 CONF_LOCK_CHANGED 158, 205, 235...
  • Page 291 ReadiVoice CAPI Developer’s Guide object model layer 29 passback field 35 prerequisites 34 procedure sequence 37, 39 procedures 37–62 push and pull, using 31 sample application 63–87 security 36 verifying events occurred 35 dial string requirements 36 DIAL_CALL 49, 126, 131, 152...
  • Page 292 sample application, specifying 95 Java CAPI Java files diagram 23 CAPI Java files overview 21 CAPI Java files quick reference 24 naming of utility files and events 24 utility files, using with events 26 version required 6 Java utility files 24 categories 3 events, using with 26 naming conventions 24...
  • Page 293 ReadiVoice CAPI Developer’s Guide MODERATOR_SESSION_INFO 160, 182, 255 MUTE_ALL 143, 164, 173, 179, 199, 206, 209 MUTE_CALL 165 NACK 129, 256 NACK_REASON 124, 129 naming conventions for Castor and Java files 27 new features 4 NEW_CONF (MAPI) 151 NEW_PARTICIPANT (MAPI) 150...
  • Page 294 10 pull versus 31 specifying in application 32 Push Moderator login event 13 using 32 QUICK_DIAL (MAPI) 152 ReadiVoice 90 architectural overview 8 recommended supplemental documentation recording conferences 50, 131 configuration 50 enum and event 49 REGISTER_TALKER_UPDATE 58, 169...
  • Page 295 ReadiVoice CAPI Developer’s Guide changes not being saved 34 logging into 44 logging out 61 see also CACS SESSION_HEARTBEAT 43, 186 SESSION_HEARTBEAT_ACK 186, 267 sessions Application info 221 connections, allowed on 15–18 defined 13 heartbeat, configuration 29 keeping open 43...

This manual is also suitable for:

Readivoice capi

Table of Contents