The JSR 309 Connector is compatible with the JSR 309 Media Server Control API version 1.0.
The JSR 309 Connector supports the following functionality:
Driver loading with driver property support
Audio file playback
Video file playback
Audio recording
Conference mixing (n-party mixing based on loudest talker)
Bridge conference
Basic prompt and collect
Video conference
Signal detection
Redundant media servers (active and alternate)
Serialization
Cluster support
For a list of known issues, see the Dialogic® PowerMedia™ XMS Release Notes.
The following high-level functionality is not implemented in the JSR 309 Connector:
Side-bar and coach-pupil conference formats are not supported.
Various JSR 309 APIs accept RTC as formal parameters. Overall, RTC is not supported, except for the following which are translated to barge-in functionality:
RTC(SignalDetector.DETECTION_OF_ONE_SIGNAL, Recorder.STOP)
RTC(MediaGroup.SIGDET_STOPPLAY, <n/a>)
Signal Generator API is not supported.
Pattern matching mechanism is not supported. The flushBuffer API is not implemented.
The CodecPolicy implementation is not supported. Thus, no codec filtering is done at the connector level.
VxmlDialog is not supported.
Video streams, video layout, and video rendering components are not supported.
The JSR 309 API has three core JSR API resource containers, NC, MG, and MX, that can be joined together in three different modes, SEND, RECEIVE, and DUPLEX. However, not all combinations are supported.
NC refers to Network Connection. MG refers to Media Group. MX refers to Media Mixer.
SEND means the media streams can flow from joiner to joinee only. RECEIVE means the media streams can flow from joinee to joiner only. DUPLEX means the media streams can flow both ways.
The following table shows the supported configurations:
|
NC |
MG |
MX |
NC (DUPLEX) |
YES |
YES |
YES |
NC (SEND) |
YES |
N/A |
YES |
NC (RECEIVE) |
YES |
NO |
YES |
MG (DUPLEX) |
YES |
N/A |
YES |
MG (SEND) |
NO |
NO |
NO |
MG (RECEIVE) |
NO |
N/A |
NO |
MX (DUPLEX) |
YES |
YES |
NO |
MX (SEND) |
YES |
NO |
NO |
MX (RECEIVE) |
YES |
NO |
NO |
Note: The following
join combinations are the same.
networkConnection.join(Direction.RECV, mixer)
mixer.join(Direction.SEND, networkConnection)
networkConnection.join(Direction.SEND, mixer)
mixer.join(Direction.RECV, networkConnection)
networkConnection.join(Direction.DUPLEX, mixer)
mixer.join(Direction.DUPLEX, networkConnection)
As per the JSR 309 Connector
implementation for any above join combination, please make note that the
Allocation Event is always sent to the Network Connection component.