|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface TelephonyAdaptor
The TelephonyAdaptor interface defines methods that the adaptor implements in a Java module. This Java module
integrates the telephony services provided by a CSP (Conferencing Services Provider) with Connect Pro.
After the adaptor is instantiated, Connect Pro calls adaptor methods to fetch
the metadata for the provider represented by the adaptor. Metadata enables
Connect Pro to support different levels of telephony integrations. Some of these
methods are optional and depend on the integration supported by the adaptor.
After Connect Pro is finished retrieving the metadata, Connect Pro must call initAdaptor
method with appropriate parameters to pass settings that have been configured by the customers for
that adaptor instance, such as connection parameters.
After the adaptor instance is initialized, calls to the adaptor and callbacks to
Connect Pro provide support for various audio conference integration workflows.
The telephony adaptor interface is based on predefined Java method calls and is primarily
driven by Connect Pro. The adaptor cannot make Connect Pro API calls through the adaptor
interface. If you are developing a custom telephony integration that requires specific
customization and control over Connect Pro defaults, use the XML API calls that are supported
through the Connect Pro HTTP interface
Except for the metadata inquiry calls and certain other calls (such as the validateTelephonyProfile
method), the
telephony adaptor interface is asynchronous; that is, Connect Pro submits commands to the adaptor
but doesn’t get return values to indicate the successful completion. For these commands, Connect Pro indicates
in the UI for a meeting that a command is in process, but it doesn't change the option value in the UI
until the adaptor gives a callback to indicate the actual information change on the bridge. The javadocs mention the
asynchronous behavior where applicable. For these methods the adaptor returns immediately after
successfully submitting the request to the bridge. Asynchronous responses in these cases are returned to
Connect Pro using the TelephonyCallback
interface methods.
In addition to the asynchronous commands and responses mentioned above, the adaptor can also use the
TelephonyCallback
interface to send other notifications, such as when a new telephony user
joins the meeting. These notifications are generally generated by the CSP bridge and sent to the adaptor.
In general, adaptors implement their own logic to receive notifications from the CSP bridge. For
example, an adaptor may have logic to maintain a live TCP connection with the bridge on which it may
receive callbacks. For another example, the adaptor may be using long polling HTTP calls to retrieve
the notifications from the bridge. Alternatively adaptor may be using the HTTP callbacks sent by bridge
to the Connect Pro Telephony Server by configuring an Axis service on the Telephony Server.
Nested Class Summary | |
---|---|
static class |
TelephonyAdaptor.StopRecordingCause
Possible reasons for which Connect Pro would invoke the stopRecording call. |
Method Summary | |
---|---|
java.lang.String |
adaptorCallback(java.util.Map<java.lang.String,java.lang.String[]> callbackParameters)
This method is not supported in Connect Pro 7.5 SP1. |
java.lang.String |
addPendingAudioDownload(java.lang.String[] downloadURLs,
java.lang.String[] headers,
java.lang.String downloadPath)
Adds a pending audio file download. |
void |
destroyAdaptor()
The adaptor closes all open sessions and/or connections and release all resources. |
void |
destroyConferenceSession(java.lang.String conferenceId)
Closes the session for the specified conference. |
java.lang.String |
dialOut(java.lang.String conferenceId,
java.lang.String phoneNumber,
TelephonyUserInfo.UserType userType,
java.lang.String userName,
boolean isVideo)
Dials outs to the phone user with the specified information. |
void |
endConference(java.lang.String conferenceId)
Stops the audio conference on the bridge. |
ConferenceInfo |
getConferenceInfo(java.lang.String conferenceId)
Gets conference-wide options such as music, talkernotify, entry/exit announcements. |
java.util.List<DialInStep> |
getDialInSteps()
Gets the Universal Voice dial-in steps for telephony profiles of the Provider represented by this adaptor for the purpose of UV integration. |
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
getLocalizationStrings()
This method is not supported in Connect Pro 7.5 SP1. |
java.util.List<java.lang.String> |
getSubConferenceIds(java.lang.String conferenceId,
int connectBreakoutRoomCount)
Gets a list of sub-conference IDs assigned to break-out rooms for the specified conference. |
java.util.List<AdaptorField> |
getTelephonyFieldInfo()
Gets the metadata for telephony profiles of the provider represented by this adaptor instance. |
java.util.List<TelephonyUserInfo> |
getUserList(java.lang.String conferenceId)
Gets information about conference users for the specified conference. |
void |
hangUp(java.lang.String conferenceId,
java.lang.String telephonyUserId)
Disconnects the specified phone user from the conference. |
void |
initAdaptor(TelephonyCallback callback,
java.util.Map<java.lang.String,java.lang.String> telephonySettings,
java.lang.String adaptorInstanceId)
After the adaptor is instantiated, Connect Pro calls this method to let the adaptor perform initialization tasks. |
java.lang.String |
initConferenceSession(java.util.Map<java.lang.String,java.lang.String> telephonyProfileInfo)
Passes telephony profile parameters to the adaptor for a conference when a Connect Pro meeting is initialized with specified telephony profile. |
void |
moveAllToMainConference(java.lang.String conferenceId)
Moves all phone users in all the audio sub-conferences to the main audio conference room. |
void |
moveUserToSubConference(java.lang.String conferenceId,
java.lang.String telephonyUserId,
java.lang.String subConferenceId)
Moves individual phone user to the audio sub-conference room. |
void |
muteAll(java.lang.String conferenceId)
Mutes all the participants in the main conference room. |
void |
onConnectRoomEmpty(java.lang.String conferenceId)
This method is not supported in Connect Pro 7.5 SP1. |
void |
onConnectUserLeft(java.lang.String conferenceId,
java.lang.String telephonyUserId)
This method is not supported in Connect Pro 7.5 SP1. |
java.lang.String |
reconnectConference(java.util.Map<java.lang.String,java.lang.String> telephonyProfileInfo,
java.util.List<TelephonyUserInfo> lastKnownUserList)
Reconnects to a specified conference. |
void |
setAnnouncementOption(java.lang.String conferenceId,
AnnouncementOption optionName,
java.lang.String optionValue)
Sets an announcement option for the specified conference. |
void |
setConferenceOption(java.lang.String conferenceId,
ConferenceOption optionName,
java.lang.String optionValue)
Sets an option for the specified conference. |
void |
setCustomConferenceOption(java.lang.String conferenceId,
java.lang.String optionName,
java.lang.String optionValue)
Sets a custom option (specific to an individual adaptor) for the specified conference. |
void |
setCustomUserOption(java.lang.String conferenceId,
java.lang.String telephonyUserId,
java.lang.String optionName,
java.lang.String optionValue)
To set a custom option (specific to an individual adaptor) , for a phone user for the specified conference. |
void |
setUserOption(java.lang.String conferenceId,
java.lang.String telephonyUserId,
UserOption optionName,
java.lang.String optionValue)
To set an option for a phone user for specified conference. |
void |
startConference(java.lang.String conferenceId)
Starts the audio conference on the bridge. |
void |
startRecording(java.lang.String conferenceId,
java.lang.String fileName)
Starts a conference recording on the bridge. |
void |
stopRecording(java.lang.String conferenceId,
TelephonyAdaptor.StopRecordingCause cause)
Stop a conference recording on the audio bridge. |
java.util.List<ConferenceNumber> |
validateTelephonyProfile(java.util.Map<java.lang.String,java.lang.String> telephonyProfileInfo)
This method performs three functions. |
Method Detail |
---|
java.lang.String adaptorCallback(java.util.Map<java.lang.String,java.lang.String[]> callbackParameters)
java.lang.String addPendingAudioDownload(java.lang.String[] downloadURLs, java.lang.String[] headers, java.lang.String downloadPath) throws AdaptorException
TelephonyCallback
interface.
downloadURLs
- URLs of the files to be downloaded.headers
- The headers required to download the files.downloadPath
- The path to the folder in which the downloaded file is to be stored.
AdaptorException
- If an internal error occurs.void destroyAdaptor()
void destroyConferenceSession(java.lang.String conferenceId)
conferenceId
- Identifier generated by the adaptor on initConferenceSession.java.lang.String dialOut(java.lang.String conferenceId, java.lang.String phoneNumber, TelephonyUserInfo.UserType userType, java.lang.String userName, boolean isVideo) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.phoneNumber
- The phone number to be dialed.userType
- Added user type.userName
- Connect Pro display name of the Connect counterpart. Optional
parameter. May be ignored by the adaptor. Parameter value may also be null.isVideo
- Optional attribute indicating if the phone user is a video end-point.
Optional parameter. May be ignored by the adaptor.
AdaptorException
- If dial out can not be completed due to invalid number.void endConference(java.lang.String conferenceId) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.
AdaptorException
- If the specified conference is not active on the bridge,
or if an error occurs while communicating to the bridge.ConferenceInfo getConferenceInfo(java.lang.String conferenceId) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.
AdaptorException
- If an internal error occurs.java.util.List<DialInStep> getDialInSteps() throws AdaptorException
DialInStep
AdaptorException
- If an internal error occurs.java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> getLocalizationStrings() throws AdaptorException
AdaptorException
java.util.List<java.lang.String> getSubConferenceIds(java.lang.String conferenceId, int connectBreakoutRoomCount) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.connectBreakoutRoomCount
- Maximum breakout rooms Connect Pro supports and expects
subconference identifier for. In case adaptor/bridge supports less return less number of
identifiers.
AdaptorException
- If an internal error occurs. This means that breakout rooms
will not be integrated with audio sub conferences.java.util.List<AdaptorField> getTelephonyFieldInfo() throws AdaptorException
AdaptorField
AdaptorException
- If an internal error occurs.java.util.List<TelephonyUserInfo> getUserList(java.lang.String conferenceId) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.
AdaptorException
- If an internal error occurs.void hangUp(java.lang.String conferenceId, java.lang.String telephonyUserId) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.telephonyUserId
- Identifier generated by the adaptor for phone user.
AdaptorException
- If the phone user is inactive or unknown.void initAdaptor(TelephonyCallback callback, java.util.Map<java.lang.String,java.lang.String> telephonySettings, java.lang.String adaptorInstanceId) throws AdaptorException
TelephonyCallback
object parameter enables the adaptor to
send asynchronous responses and notifications. The adaptor stores this
TelephonyCallback object internally so that it can be used later for communication
with Connect Pro.
callback
- Callback object for asynchronous responses and notifications.telephonySettings
- Adaptor settings such as connection parameters.adaptorInstanceId
- Unique identifier generated by Connect Pro for this adaptor
instance. This identifier needs to be cached and used by adaptor/bridge if the bridge
needs to make API callbacks to the adaptor. For details look for CallBacks in
TelephonyAdaptor
javadocs.
AdaptorException
- If an internal error occurs. This means the adaptor
instance is not available to serve any other telephony requests and may be destroyed.java.lang.String initConferenceSession(java.util.Map<java.lang.String,java.lang.String> telephonyProfileInfo) throws AdaptorException
telephonyProfileInfo
- Information about the telephony profile required to
start the conference. It is a set of name value pairs, where names are the
field-id and values are user profile value of those fields.
AdaptorException
- If profile is expired or some internal error occurs. This
means the UI to start the conference would be disabled in Connect Pro meeting. Adaptor
may choose to do nothing in this call and instead may throw error for expired profile
or invalid profile on startConference call.void moveAllToMainConference(java.lang.String conferenceId) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.
AdaptorException
- If an internal error occurs.void moveUserToSubConference(java.lang.String conferenceId, java.lang.String telephonyUserId, java.lang.String subConferenceId) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.telephonyUserId
- The user telephony identifier generated by adaptor.subConferenceId
- sub-conference room identifier generated by the adaptor on
getSubConferenceIds call.
AdaptorException
- If an internal error occurs.void muteAll(java.lang.String conferenceId) throws AdaptorException
setOption()
method. The muteAll method applies
to the entire conference, whereas setOption
only applies to a selected
phone user.
muteAll
succeeds, each participant mute event is returned to Connect Pro
using userInfoUpdated callback.
conferenceId
- Identifier generated by the adaptor on initConferenceSession.
AdaptorException
- If an internal error occurs.void onConnectRoomEmpty(java.lang.String conferenceId)
conferenceId
- Identifier generated by the adaptor on initConferenceSession.void onConnectUserLeft(java.lang.String conferenceId, java.lang.String telephonyUserId)
conferenceId
- Identifier generated by the adaptor on initConferenceSession.telephonyUserId
- The user telephony identifier generated by adaptor.java.lang.String reconnectConference(java.util.Map<java.lang.String,java.lang.String> telephonyProfileInfo, java.util.List<TelephonyUserInfo> lastKnownUserList) throws AdaptorException
lastKnownUserList
- The user details known to Connect Pro before the failover. This
is an optional parameter in the sense that adaptor may choose to ignore this.
AdaptorException
- If the communication to the bridge fails, or if conference
does not exist, or if profile fields values are invalid. See error code constants
in exception javadocs.void setAnnouncementOption(java.lang.String conferenceId, AnnouncementOption optionName, java.lang.String optionValue) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.optionValue
- The value of the option being set.optionName
- The option being set. See AnnouncementOption
AdaptorException
- If an internal error occurs.AnnouncementOption
void setConferenceOption(java.lang.String conferenceId, ConferenceOption optionName, java.lang.String optionValue) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.optionName
- The option being set. See ConferenceOption
optionValue
- The value of the option being set.
AdaptorException
- If an internal error occurs.ConferenceOption
void setCustomConferenceOption(java.lang.String conferenceId, java.lang.String optionName, java.lang.String optionValue) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.optionName
- The option being set.optionValue
- The value of the option being set.
AdaptorException
- If an internal error occurs.void setCustomUserOption(java.lang.String conferenceId, java.lang.String telephonyUserId, java.lang.String optionName, java.lang.String optionValue) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.telephonyUserId
- Identifier generated by the adaptor for phone user.optionName
- The option being set.optionValue
- The value of the option being set.
AdaptorException
- If specified user no longer exists or some communication/internal
error occursvoid setUserOption(java.lang.String conferenceId, java.lang.String telephonyUserId, UserOption optionName, java.lang.String optionValue) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.telephonyUserId
- Identifier generated by the adaptor for phone user.optionName
- The option being set. See UserOption
optionValue
- The value of the option being set.
AdaptorException
- If specified user no longer exists or some communication/internal
error occursUserOption
void startConference(java.lang.String conferenceId) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.
AdaptorException
- If the communication to the bridge fails, or if conference
does not exist, or the conference account is expired, or if profile fields values
are invalid. See error code constants in exception javadocs.void startRecording(java.lang.String conferenceId, java.lang.String fileName) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.fileName
- The name of the file in which the recording is stored when merging
with Connect Pro recording.
AdaptorException
- If the conference is inactive.void stopRecording(java.lang.String conferenceId, TelephonyAdaptor.StopRecordingCause cause) throws AdaptorException
conferenceId
- Identifier generated by the adaptor on initConferenceSession.cause
- tells adaptor if the recording has been stopped by host, or because all
the Connect Pro meeting users had left the recording. Adaptor may choose to keep
recording the audio conference for other use than integration with Connect Pro
recording. For cause values see TelephonyAdaptor.StopRecordingCause
AdaptorException
- If a recording is not in progress.TelephonyAdaptor.StopRecordingCause
java.util.List<ConferenceNumber> validateTelephonyProfile(java.util.Map<java.lang.String,java.lang.String> telephonyProfileInfo) throws AdaptorException
ValidateException
.
telephonyProfileInfo
- Input/Output parameter. Input includes the information
provided by user for creating a telephony profile. Output includes additional
information generated by the adaptor for display purpose or for later use while
starting the conference.
ValidateException
- If the specified profile information is not valid.
AdaptorException
- If an internal error occurs.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |