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.
• 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: •...
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.
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.
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.
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.
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.
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.”...
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...
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;...
/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.
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.
• • 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.
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.
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.
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.
• • 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.
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.
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. • • • • •...
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...
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...
• • 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 –...
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;...
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.
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...
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.
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.
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.
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.
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.
• 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 •...
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.
• 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.
• • 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...
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.
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.
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.
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.
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”...
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.
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;...
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.
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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;...
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 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 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[“...
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.
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.
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 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 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 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 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 //////////////////////////...
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.
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...
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.
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.
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.
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.
• • 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: •...
• • • • • • • 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...
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)
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...
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...
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.
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 &...
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...
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...
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 &...
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)
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...
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...
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 &...
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...
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...
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...
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)
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)
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...
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...
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...
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...
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...
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)
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.
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 &...
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...
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...
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...
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...
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...
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...
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...
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.
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...
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...
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.
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...
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...
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...
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);...
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...
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...
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...
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...
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;...
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)
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...
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...
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...
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...
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...
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...
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),...
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...
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)
~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...
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...
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 &...
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)
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...
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...
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...
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...
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...
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...
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 &...
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...
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...
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...
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...
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...
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...
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...
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...
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.
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...
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...
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...
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...
~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.
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...
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...
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...
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...
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...
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 &...
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...
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.
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...
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.
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...
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...
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...
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...
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...
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...
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 &...
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...
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.
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...
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...
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...
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?
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.
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...
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...
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...
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 &...
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...
~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 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...
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...
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...
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 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...
Need help?
Do you have a question about the ReadiVoice and is the answer not in the manual?
Questions and answers