Written by Vishal Chougule, Ratheesh Vazhayil, Bhavuk Srivastava
OVERVIEW
AudioVideo is a network and resource usage intensive application. Each enterprise, large or small, has to plan the initial deployment of Real Time AV collaboration based on the usage cost.
The monitoring tools help the administrator obtain a view of the current active bandwidth and usage data. Monitoring tools also help in expanding the deployment to wider enterprise users internally and externally based on the adoption. Monitoring tools provide a view of concurrent active calls and the peak hours when the system usage is heavy.
Monitoring APIs List
This section provides the complete list of the provided APIs.
REST APIs
- /monitoring/MonitoringRestServlet?method=ConferenceIdList [GET]
- /monitoring/MonitoringRestServlet?method=AcrossConferenceData [GET]
- /monitoring/MonitoringRestServlet?method=ConferenceData&conferenceId= [GET]
- /monitoring/MonitoringRestServlet?method=PerConferenceRequestedData&conferenceId=&requestedValues=[GET]
- /monitoring/MonitoringRestServlet?method=AcrossConferenceRequestedData& requestedValues=[GET]
JMX Operations
- getConferenceIdList
- getAllConferenceValues – input : conferenceId
- getConferenceValues – input : Conference Id , requested Attributes
- getAttributes
MONITORING APIs DETAILS
This section provides the detailed description of the APIs. Each API has been exposed both via REST and JMX interface. The section also provides a sample of each API.
Conference ID List
Purpose - Returns List of all Active Conference IDs
REST
Resource - /monitoring/MonitoringRestServlet?method=ConferenceIdList
Method - GET
Sample URI - http://:/ConferenceFocus/monitoring/MonitoringRestServlet?method=ConferenceIdList
Requested Query parameter
Parameter | Value | Description |
method | ConferenceIdList | API name to retrieve conference ID list |
Response
- 400 – Bad Request
- 500 – Internal Server error
- 200 - JSON Object containing list of all active Conference Ids
Sample Response
For example:
If there is no conference, the output is similar to this: {"ConferenceIdList":[""]}
If there is a conference, the output is similar to this:
{"ConferenceIdList":[TCSPI_ID=[68]com.ibm.mediaserver.telephony.conferencing.service.ConferenceService\/1000"]}
JMX
Operation Name - getConferenceIdList
Sample Websphere command -
Set the ' mymonitor' to JMX Mbean (MonitorMBean)
wsadmin>set mymonitor [$AdminControl queryNames *:*,type=MonitorMBean]
Call operation getConferenceIdList
wsadmin>$AdminControl invoke $mymonitor getConferenceIdList
JMX Operation Details
Operation | Input Paramater | Description |
getConferenceIdList | NA | Operation to retrieve conference id list |
Response
- Success - List of all active Conference IDs
- Error – Runtime Exception
Across Conference Data
Purpose - Returns data for currently active conferences in media server
REST
Resource - /monitoring/MonitoringRestServlet?method=AcrossConferenceData
Method - GET
Sample URI - http://:/ConferenceFocus/monitoring/MonitoringRestServlet?method= AcrossConferenceData
Requested Query parameter
Parameter | Value | Description |
method | AcrossConferenceData | API to retrieve data for all currently active conferences on media server |
Response
- 400 – Bad Request
- 500 – Internal Server error
- 200 - JSON Object containing data for all conferences running
JSON Response Values:
- current number of externally invoked conferences
- current number of telephony activities
- count of all active calls – count of all calls which are active at a given point of time on the media server
- count of active 1x1 calls – count of all 1x1 calls that are active at a given point of time on media server
- count of active MCU calls – count of all multi-user calls that are active at a given point of time on media server
- count of active PS calls -- count of all packet switch calls that are active at a given point of time on media server
- count of all active Users -- count of all users which are active at a given point of time on the media server
- count of active 1x1 Users -- count of all point to point call users that are active at a given point of time on media server
- count of active MCU Users -- count of all multi-user call users that are active at a given point of time on media server
- count of active PS Users -- count of all packet switch call users that are active at a given point of time on media server
- count of all calls started – total count of all calls that were started on media server (including the calls that are ended)
- count of all 1x1 calls started -- total count of all point to point calls that were started on media server (including the calls that are ended)
- count of all PS calls started -- total count of all packet switch calls that were started on media server (including the calls that are ended)
- count of all MCU calls started -- total count of all multi-user calls that were started on media server (including the calls that are ended)
JMX
Mbean method Name - getAttributes
Sample Websphere command -
Set the ' mymonitor' to JMX Mbean (MonitorMBean)
wsadmin>set mymonitor [$AdminControl queryNames *:*,type=MonitorMBean]
Call getAttributes on MBeam
wsadmin>$AdminControl getAttributes $mymonitor
JMX Operation Details
Operation | Input Paramater | Description |
getAttributes | NA | Returns all attributes values defined in Mbean , which represent aggregated data for all active conferences |
Response
- Success - All attributes defined in Mbean representing aggregated data for all active conferences
- Error – Runtime Exception
Response Attributes:
- sipAvailability – If call is sip or non sip based
- countOfAllActiveCalls – count of all calls which are active at a given point of time on the media server
- countOfP2PActiveCalls – count of all 1x1 calls that are active at a given point of time on media server
- countOfMCUActiveCalls – count of all multi-user calls that are active at a given point of time on media server
- countOfPSActiveCalls -- count of all packet switch calls that are active at a given point of time on media server
- countOfAllActiveUsers -- count of all users which are active at a given point of time on the media server
- countOfP2PActiveUsers -- count of all 1x1 call users that are active at a given point of time on media server
- countOfMCUActiveUsers-- count of all multi-user call users that are active at a given point of time on media server
- countOfPSActiveUsers -- count of all packet switch call users that are active at a given point of time on media server
- countOfAllCallsStarted – total count of all calls that were started on media server (including the calls that are ended)
- countOfP2PCallsStarted-- total count of all 1x1 calls that were started on media server (including the calls that are ended)
- countOfPSCallsStarted -- total count of all packet switch calls that were started on media server (including the calls that are ended)
- countOfMCUCallsStarted -- total count of all multi-user calls that were started on media server (including the calls that are ended)
Conference Data
Purpose - Returns data for requested active conference on media server
REST
Resource - /monitoring/MonitoringRestServlet?method=ConferenceData&conferenceId=
Method - GET
Sample URI - http://:/ConferenceFocus/monitoring/MonitoringRestServlet?method=ConferenceData&conferenceId=
Requested Query parameter
Parameter | Value | Description |
method | ConferenceData | API name to retrieve data for all attributes of requested conference ID. |
conferenceId | **Actual conference id value | ID to identify a particular active conference . |
** Sample conference ID for the Value column in the table above:
"TCSPI_ID=[68]com.ibm.mediaserver.telephony.conferencing.service.ConferenceService/1000"
Response
- 400 – Bad Request
- 500 – Internal Server error
- 200 - JSON Object containing data for all attributes of requested conference ID.
JSON Response Values
- title – title of the conference whose id is given
- conference id
- start time – time at which the conference with the given id is started
- type description – whether the conference with the given id is server hosted or client hosted
- media flag string – whether the conference with the given id is audio or video or both audio and video
- service provider id – id of the media service provider
- client version – the version of the sametime client installed on the users machine
- expected users – number of users expected to join the conference with the given id
- current users – current number of users in the conference with the given id
- maximum users – total count of all users that have joined the conference with the given id (including the users those have left the conference)
- moderator uri – URI of the client who has the moderator role in the conference
- proxy state name – proxy state of the client
- is SIP trunk – whether the conference is SIP trunk or not (boolean – true or false)
Client (End points data)
- client version
- client state
- mcu state
JMX
Mbean method Name - getAllConferenceValues
Sample Websphere command -
Set the ' mymonitor' to JMX Mbean (MonitorMBean)
wsadmin>set mymonitor [$AdminControl queryNames *:*,type=MonitorMBean]
Call getAttributes on MBeam
wsadmin>$AdminControl invoke $mymonitor getAllConferenceValues {{conference Id}}
JMX Operation Details
Operation | Input Paramater | Description |
getAllConferenceValues | Conference Id | Returns data pertaining to active conference on media server for the conference provided |
Response
- Success - Data related to provided conference id active on media server
- Error – Runtime Exception
Response Values: Response attributes values are same as those corresponding REST API 'Conference Data'
Conference Requested Data
Purpose - Returns data for requested attributes, for requested active conference on media server
REST
Resource - /monitoring/MonitoringRestServlet?method=PerConferenceRequestedData&conferenceId= & requestedValues=
Method - GET
Sample URI -
http://:/ConferenceFocus/monitoring/MonitoringRestServlet?method=PerConferenceRequestedData&conferenceId= & requestedValues=
Requested Query parameter
Parameter | Value | Description |
method | ConferenceRequestedData | API name to retrieve data for all attributes of requested conference ID. |
conferenceId | Conference Id for which data is needed | ID to identify a particular active conference. |
requestedValues | Attributes names | Attribute names for which values need to be retrieved, for example, Title, Start time etc. |
Response
- 400 – Bad Request
- 500 – Internal Server error
- 200 - JSON Object containing data for requested attributes of requested conference ID.
JMX
Mbean method Name - getConferenceValues
Sample Websphere command -
Set the ' mymonitor' to JMX Mbean (MonitorMBean)
wsadmin>set mymonitor [$AdminControl queryNames *:*,type=MonitorMBean]
Call getAttributes on MBeam
wsadmin>$AdminControl invoke $mymonitor getConferenceValues {{conference Id}{Attribute1 Attribute2 ...}}
JMX Operation Details
Operation | Input Paramater | Description |
getConferenceValues | Conference Id, Requested Attribute | Returns data pertaining to active conference on media server for the conference and attributes provided |
Response
- Success - Data related to provided conference ID and requested attributes active on media server
- Error – Runtime Exception
Across Conference Requested Data
Purpose - Returns data for requested attributes, for all active conferences on media server
REST
Resource - /monitoring/MonitoringRestServlet?method=AcrossConferenceRequestedData&requestedValues=
Method - GET
Sample URI - http://:/ConferenceFocus/monitoring/MonitoringRestServlet?method=AcrossConferenceRequestedData&requestedValues=
Requested Query parameter
Parameter | Input Value | Description |
method | AcrossConferenceRequestedData | API name to retrieve data for all attributes of requested conference ID. |
requestedValues | Requested attributes names | Attribute names for which values need to be retrieved, for example, Title, Start time etc. |
Response
- 400 – Bad Request
- 500 – Internal Server error
- 200 - JSON Object containing data for requested attributes across all conferences.
JMX
We don't have corresponding JMX operation for this The attributes for all active conferences can be retrieved by “
getAttributes” as described in the
Across Conference Data section of this article.