RingMaster Software Version 7.6 Web Services API User Guide Release 7.6 31 October 2011 (Release Date) Copyright 2011, Juniper Networks, Inc. 1
Contents Overview Overview........................................................ 2 API Interface..................................................... 3 Licensing........................................................ 4 Web Services..................................................... 4 Client Summary................................................... 9 SNMP Traps XML-based APIs AirDefense Server Alarms/ Monitoring Configuration RingMaster Services LA-200 RingMaster Client Managed MXs The RingMaster 7.6 Web Services API is an XML-based API used to set up the SNMP interface and provide other alarm / inventory details using polling rather than using a trap mechanism. RingMaster Agent provides the RingMaster 7.6 Web Services API so that upstream applications can retrieve the version of RingMaster. The version will correspond to the REST interface version, which is not the same as the RingMaster software version RingMaster Agent allows the RingMaster 7.6 Web Services API to retrieve an alarm summary from the RingMaster alarm module (each alarm type, criticality and counts).. The alarm summary can be filtered based on query criteria using the Web API. (For example, client failure alarms with a certain SSID). The Web API provides inventory information, such as a list of devices (MXs and APs) and corresponding information in RingMaster (name, model, serial number, build number, system IP, location, contact info, admin state, and operational status). 2 Contents Copyright 2011, Juniper Networks, Inc.
RingMaster Agent allows the RingMaster 7.6 Web Services API to configure a list of SNMP targets (up to 4) and do basic RingMaster Agent configuration. The following information is included: Enable/Disable RM SNMP notification (global) Basic SNMP Target Information (up to 4 targets) Target IP address Port Community String Filtering Criteria > By severity: (Critical, Major, Minor, Info, All Default: All) > By category: (Client, Performance, Security, System, All Default: All) You can select a combination of the above critieria. For example, you can select both Critical and Major, and Client and Security alarms. You can add, modify, or delete an SNMP target. Advanced configuration includes: Updating interval (instant, 1 minute, 5 minutes, 15 minutes Default 5 minutes) RingMaster Agent buffers alarms based on the specified interval and forwards these alarms to specified SNMP targets only after the specified interval. This is designed to manage alarm bursting scenarios. API Interface The RingMaster 7.6 Web Services API provides a programmatic equivalent of the provisioning interface. It allows you to build your own interfaces or applications that use Internet technologies to access and manage RM alarms and device information. An industry standard for providing Web Services is the REST (Representational State Transfer) architecture. Popular Web sites such as Yahoo Web Services and ebay Services are all using REST like architecture to provide services to the customized users for advertising and web searching.. See the following link for REST architecture and sample Yahoo Web services: http://en.wikipedia.org/wiki/representational_state_transfer http://developer.yahoo.com/search/local/v3/localsearch.html The idea behind REST is to locate a resource using a URI (Universal Resource Identifier). For example, it can use HTTP GET to download or retrieve a list of resources, a PUT or POST method to make a change to it, and DELETE method to remove it. The response will be in XML format and the schema can be published for ease of integration. Copyright 2011, Juniper Networks, Inc. API Interface 3
Licensing Access to the RingMaster 7.6 Web Services API is controlled via user name and password-based authentication. User names and passwords can be configured via the Administrative interface. Based on whether user privileges are set to the monitoring or provisioning level, a user can access the corresponding set of APIs. For the following WEB API, the monitoring privilege is required. Any privilege more than Monitoring can access ths Web API. When the RingMaster 7.6 Web Services API is called via HTTP Request, the request should embed/insert basic authorization in the HEADER. See the following link for a tutorial on Basic Authentication: http://en.wikipedia.org/wiki/basic_access_authentication The RingMaster 7.6 Web Services API is part of the separately licensed RingMaster Agent feature. The license SKU for this feature is RMTS-AGENT, and it works just like the RMTS-PLAN license in that it requires that a base RMTS license be installed first. License information is as follows: Product Code SKU Description 02 RMTS Base license enabling support for up to 5 APs and one switch. 07 RMTS-AGENT Enables RingMaster Agent feature When the RingMaster Agent license is not installed, RingMaster does not support the RingMaster 7.6 Web Services API, and a Code 403 Forbidden error is returned in this situation. In SNMP notification, when you click Notification, you will be notified that a RingMaster Agent license is missing and all functions for SNMP notification are disabled. Web Services The following is a list of Web services the RingMaster Agent provides. The RingMaster Agent publishes a list of Web API interfaces and the response XML schema in the release. All Web request URLs start with the RingMaster Server IP Address and port, service name, version number, followed by a method name. The method is followed by query parameters, which take the form argument=value, where arguments and values are URL encoded. Multiple parameters are separated by an ampersand character (i.e. & ). 4 Licensing Copyright 2011, Juniper Networks, Inc.
Get RM Agent version For RM Agent 7.6, the command is updated to support the full access control privilege and the result has a new format where the result is divided into sections based on the privilege of the user group. : https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/version : This request has no parameters. Response Schema: Schema file: agent-version.xsd : https://127.0.0.1 /webservice/rm-agent/v1/monitor/version Get a list of current alarms <?xml version="1.0" encoding="utf-8"?> <BUILD_NUMBER>7.0.1.0</ BUILD_NUMBER> <BUILD_DATE>2001-01-01</BUILD_DATE> <PRODUCT_NAME>RingMaster</PRODUCT_NAME> <PRODUCT_SHORT_NAME>RM</PRODUCT_SHORT_NAME> </VERSION> Comments: The BUILD_DATE is short format, MM/DD/YY. : https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/current-alarms?scope=al l(equipment planning) : The scope parameter is required, and the value of the scope must be all, equipment, or rf-planning. : https://127.0.0.1 /webservice/rm-agent/v1/current-alarms?scope%3dall xmlns= http://trapezenetworks.com/rm_current_alarms time= 09-03-30 16:09:46 > <VIEW name= monitor scope= equipment > Copyright 2011, Juniper Networks, Inc. Web Services 5
<CATEGORY-COUNTS> <CATEGORY name="client" critical="0" major="0" minor="0" info="0" total="0" /> <CATEGORY name="performance" critical="0" major="0" minor="0" info="0" total="0" /> <CATEGORY name="security" critical="0" major="0" minor="0" info="79" total="79" /> <CATEGORY name= Client critical= 0 major= 0 minor= 0 info= 0 total= 0 /> <CATEGORY name="system" critical="1" major="0" minor="0" info="0" total="1" /> <CATEGORY name="total" critical="1" major="0" minor="0" info="79" total="80" /> </CATEGORY-COUNTS> <TYPE-COUNTS> <TYPE name= AP Fingerprint Check category= 0 severity= 0 active= 1 cleared= 0 /> <TYPE name="ap Status Alarm" count="1" severity= 0 active= 0 cleared= 0 /> <TYPE name= Ad-hoc User Detected category= 3 severity= 3 active= 0 cleared= 0 /> <TYPE name= Low RSSI category= 1 severity= 1 active= 1 cleared= 0 /> <TYPE name= Low SNR category= 1 severity= 1 active= 1 cleared= 0 /> <TYPE name="suspect AP Detected" category= 3 severity= 3 active= 50 cleared= 9 /> <TYPE name="total" count="80" /> </TYPE-COUNTS> <SECURITY-COUNTS> <DOS /> <IDS> <SECURITY-COUNT name="suspect AP Detected" count="50" /> <SECURITY-COUNT name="ad-hoc User Detected" count="1" /> </IDS> </SECURITY-COUNTS> - <VIEW name="monitor" scope="rf-planning"> - <CATEGORY-COUNTS> <CATEGORY name="system" critical="1" major="0" minor="0" info="1" total="2" /> <CATEGORY name="performance" critical="0" major="0" minor="13" info="0" total="13" /> <CATEGORY name="client" critical="0" major="0" minor="0" info="0" total="0" /> <CATEGORY name="security" critical="0" major="6" minor="0" info="12" total="18" /> <CATEGORY name="total" critical="1" major="6" minor="13" info="13" total="33" /> </CATEGORY-COUNTS> <TYPE-COUNTS> <TYPE name="ap Status Alarm" category="0" severity="0" active="1" cleared="6" /> 6 Web Services Copyright 2011, Juniper Networks, Inc.
<TYPE name="ad-hoc User Detected" category="3" severity="3" active="4" cleared="22" /> <TYPE name="low RSSI" category="1" severity="1" active="4" cleared="6" /> <TYPE name="low SNR" category="1" severity="1" active="9" cleared="3" /> <TYPE name="power Supply Status Check" category="0" severity="0" active="1" cleared="0" /> <TYPE name="rogue AP Client Detected" category="3" severity="3" active="2" cleared="7" /> <TYPE name="suspect AP Detected" category="3" severity="3" active="12" cleared="23" /> </TYPE-COUNTS> - <SECURITY-COUNTS> <DOS /> - <IDS> <SECURITY-COUNT name="rogue AP Client Detected" count="2" /> <SECURITY-COUNT name="suspect AP Detected" count="12" /> <SECURITY-COUNT name="ad-hoc User Detected" count="4" /> </IDS> </SECURITY-COUNTS> </ALARMS-SUMMARY> </ALARMS-SUMMARY> Get a list of current alarms with query criteria : https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/current-alarms?scope=al l(or equipment or rf-planning)&op=query&type=client&ssid=trpz-wlan : Parameter Value Description scope All equipment rf-planning Sample:scope=all op query All time (option) To query a different sets of alarms based on the query criteria Sample: op=query If this item ignored, the meaning is all The time format must like yy-mm-dd hh:mm:ss, Time_start Sample: time_start=07-11-29 23:20:47 time_end All time (option) See above. Type severity state : system performance client security all (required) critica major minor info all (required) All active acknowledged cleared deleted (required) Sample 1: type=system Sample 2: type=system&type=client&type=performance Sample 1: type=minor Sample 2: severity=critical&severity=major Sample 1: state =active Sample 2: state=active&state=deleted Copyright 2011, Juniper Networks, Inc. Web Services 7
https://127.0.0.1/webservice/rm-agent/v1/monitor/current-alarms?scope%3dall%26op% 3Dquery%26%20type%3DSystem%26severity%3Dcritical,info%26time_start%3D08-11- 12%2012:12:12%26 <Alarms_Details time="09-06-19 12:47:06"> <VIEW name="monitor" scope="equipment"> <ALARM_LIST count="1"> <ALARM alarmobject="mx-216(2)" category="system" desc="power Supply 2 is Missing or Failed" lastupdatetime="09-06-19 12:46:14" state="active" severity="info"> </ALARM> </ALARM_LIST> <VIEW name="monitor" scope="rf-planning"> <ALARM_LIST count="16"> <ALARM alarmobject="ap5:ap-1-10" category="system" desc="ap: AP5:AP-1-10 with serial number (0674800352) is Down" lastupdate- Time="09-06-19 12:22:51" state="active" severity="critical"> </ALARM> <ALARM alarmobject="ap6:ap06" category="system" desc="ap: AP6:AP06 with serial number (0890201321) is Down" lastupdate- Time="09-06-19 12:22:51" state="active" severity="critical"> </ALARM> <ALARM alarmobject="ap1:ap(22)" category="system" desc="ap: AP1:AP(22) with serial number (0671501441) is Down" lastupdate- Time="09-06-19 12:22:51" state="active" severity="critical"> </ALARM> <ALARM alarmobject="mx-20(1)" category="security" desc="a Suspect AP, MAC: 00:0b:0e:24:40:84 (Trapeze), SSID: symbio_guest, Radio </ALARM_LIST> </Alarms_Details> If the query results in more than 5000 alarms, the response only returns the last 5K alarms. The sort item is lastupdatetime. Get list of device inventory If you wish to continue with the query, you must narrow the scope of the query criteria. The following is a sample query URI for retrieving a list of MXs and access points: : https://127.0.0.1/webservice/rm-agent/v1/monitor/devices?scope=all(equipment rf-plann ing) : The parameter, scope, is required.. : https://127.0.0.1/webservice/rm-agent/v1/monitor/devices%3dall 8 Web Services Copyright 2011, Juniper Networks, Inc.
<?xml version="1.0" encoding="utf-8"?> <DEVICES time="09-03-30 11:36:29"> <VIEW name="configure" scope="equipment"> <DEVICE mac_address="00:0b:0e:56:0f:1a" model="mxr-2" system_ip="172.31.177.77/27" sw_version="7.0.7.3.0" location="""" name="mxr2-77" license="access Points:4" object-id="com.trapeze.appl.shared.mdl.chassis: 397" contact="" serial_number="0791600540" /> <DEVICE mac_address="00:00:00:00:00:00" model="mp-422" system_ip="" name="mxr277-ap01" object-id="com.trapeze.appl.shared.mdl.distributedap: 826" serial_number="123"> <RADIOS_INFO radio_1_type="802.11b "radio_2_mac_address="00:00:00:00:00:00" radio_2_type="802.11b "radio_1_mac_address="00:00:00:00:00:00" /> </DEVICE> <VIEW name="configure" scope="rf-planning"> <DEVICE mac_address="00:00:00:00:00:00" model="mp-422" system_ip="" name="ap-l1-a1-2.4g~-1" object-id="com.trapeze.appl.shared.mdl.distributedap: 5097" serial_number="auto-rfplan-5097"> <RADIOS_INFO radio_1_type="802.11b" radio_2_mac_address="00:00:00:00:00:00" radio_2_type="802.11b" radio_1_mac_address="00:00:00:00:00:00" /> </DEVICE> <DEVICE mac_address="00:0b:0e:3a:cd:42" model="mx-200" system_ip="172.31.177.200/27" sw_version="7.0.7.3.0" location="""" name="mx-200(1)" license="access Points:32" object-id="com.trapeze.appl.shared.mdl.chassis: 3401" contact="" serial_number="0624800034" /> </DEVICES> This XML query returns similar results as RM inventory report. Client Summary https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/client-summary?scope= all(equipment rf-planning) Copyright 2011, Juniper Networks, Inc. Web Services 9
"scope" parameter is required, the value of the scope must be all, equipment or rf-planning. Request: https://127.0.0.1/webservice/rm-agent/v1/monitor/client-summary?scope%3dall Statistics <CLIENT-SUMMARY xmlns="http://www.trapezenetworks.com/rm_client_summary"> <VIEW name="monitor" scope="equipment"> <CLIENTS-BY-SSID> <SSID name="zxc" count="1" /> </CLIENTS-BY-SSID> <CLIENTS-BY-ACCESSTYPE> <ACCESS-TYPE name="dot1x" count="1" /> </CLIENTS-BY-ACCESSTYPE> <CLIENS-BY-RADIOTYPE> <RADIO-TYPE name="802.11g" count="1" /> </CLIENS-BY-RADIOTYPE> </VIEW > <VIEW name="monitor" scope="rf-planning"> <CLIENTS-BY-SSID> <SSID name="zxc" count="1" /> </CLIENTS-BY-SSID> <CLIENTS-BY-ACCESSTYPE> <ACCESS-TYPE name="dot1x" count="1" /> </CLIENTS-BY-ACCESSTYPE> <CLIENS-BY-RADIOTYPE> <RADIO-TYPE name="802.11g" count="1" /> </CLIENS-BY-RADIOTYPE> </CLIENT-SUMMARY> https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/statistics?scope=all(equi pment rf-planning)&time= xxx "scope" and "time" parameter is required. 10 Web Services Copyright 2011, Juniper Networks, Inc.
The value of the scope must be all, equipment or rf-planning. The time is to represent the specified number of seconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT. https://127.0.0.1/webservice/rm-agent/v1/monitor/statistics?scope%3dall%26time%3d1 238400000 Status Summary <TIMESERIES-SUMMARY xmlns="http://www.trapezenetworks.com/rm_statistics"> - <VIEW name="monitor" scope="equipment"> <SESSION-STATISTICS authorizedclients="0" clientdot1xerrors="0" clientassocerrors="0" clientauthenerrors="0" clientauthorerrors="0" /> <TRAFFIC-STATISTICS octetin="120237" octetout="109197" octettotal="229434" time="1238400000" /> - <VIEW name="monitor" scope="rf-planning"> <SESSION-STATISTICS authorizedclients="1" clientdot1xerrors="0" clientassocerrors="0" clientauthenerrors="0" clientauthorerrors="0" /> <TRAFFIC-STATISTICS octetin="60117" octetout="54597" octettotal="114714" time="1238400000" /> </TIMESERIES-SUMMARY> https://<ringmasterserverip>/webservice/rm-agent /v1/monitor/status-summary?scope=all(equipment rf-planning) "scope" parameter is required. https://127.0.0.1/webservice/rm-agent /v1/monitor/status-summary?scope%3dall <STATUS-SUMMARY xmlns= http://www.trapezenetworks.com/rm_status_summary > Copyright 2011, Juniper Networks, Inc. Web Services 11
<VIEW name="monitor" scope="equipment"> <MXS down="0" up="5" disabled="0" unknown="0" /> <APS down="3" up="1" disabled="0" unknown="0" /> <RADIOS down="5" up="2" disabled="0" unknown="0" /> <VIEW name="monitor" scope="rf-planning"> <MXS down="0" up="1" disabled="0" unknown="0" /> <APS down="1" up="0" disabled="0" unknown="0" /> <RADIOS down="2" up="0" disabled="0" unknown="0" /> </STATUS-SUMMARY> Summary https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/summary?scope=all(equ ipment rf-planning).request Parameters "scope" parameter is required, the value of the scope must be all, equipment or rf-planning https://127.0.0.1/webservice/rm-agent/v1/monitor/summary?scope%3dall - <MONITOR-SUMMARY xmlns="http://www.trapezenetworks.com/rm_monitor_summary"> - <VIEW name="monitor" scope="equipment"> - <ALARMS-SUMMARY> - <CATEGORY-COUNTS> <CATEGORY name="system" critical="1" major="1" minor="0" info="0" total="2" /> <CATEGORY name="performance" critical="0" major="0" minor="2" info="0" total="2" /> <CATEGORY name="client" critical="0" major="0" minor="0" info="0" total="0" /> 12 Web Services Copyright 2011, Juniper Networks, Inc.
<CATEGORY name="security" critical="0" major="1" minor="0" info="50" total="51" /> <CATEGORY name="total" critical="1" major="2" minor="2" info="50" total="55" /> </CATEGORY-COUNTS> - <TYPE-COUNTS> <TYPE name="ap Fingerprint Check" category="0" severity="0" active="1" cleared="0" /> <TYPE name="ap Status Alarm" category="0" severity="0" active="1" cleared="0" /> <TYPE name="ad-hoc User Detected" category="3" severity="3" active="1" cleared="9" /> <TYPE name="low RSSI" category="1" severity="1" active="1" cleared="0" /> <TYPE name="low SNR" category="1" severity="1" active="1" cleared="0" /> <TYPE name="suspect AP Detected" category="3" severity="3" active="50" cleared="9" /> </TYPE-COUNTS> - <SECURITY-COUNTS> <DOS /> - <IDS> <SECURITY-COUNT name="suspect AP Detected" count="50" /> <SECURITY-COUNT name="ad-hoc User Detected" count="1" /> </IDS> </SECURITY-COUNTS> </ALARMS-SUMMARY> - <CLIENT-SUMMARY> - <CLIENTS-BY-SSID> <SSID name="ssid-belinda1" count="1" /> </CLIENTS-BY-SSID> - <CLIENTS-BY-ACCESSTYPE> <ACCESS-TYPE name="dot1x" count="1" /> </CLIENTS-BY-ACCESSTYPE> - <CLIENTS-BY-RADIOTYPE> <RADIO-TYPE name="802.11g" count="1" /> </CLIENTS-BY-RADIOTYPE> </CLIENT-SUMMARY> Copyright 2011, Juniper Networks, Inc. Web Services 13
- <STATUS-SUMMARY> <MXS down="0" up="1" disabled="0" unknown="0" /> <APS down="1" up="1" disabled="0" unknown="0" /> <RADIOS down="1" up="2" disabled="0" unknown="0" /> </STATUS-SUMMARY> - <VIEW name="monitor" scope="rf-planning"> - <ALARMS-SUMMARY> - <CATEGORY-COUNTS> <CATEGORY name="system" critical="1" major="0" minor="0" info="1" total="2" /> <CATEGORY name="performance" critical="0" major="0" minor="13" info="0" total="13" /> <CATEGORY name="client" critical="0" major="0" minor="0" info="0" total="0" /> <CATEGORY name="security" critical="0" major="6" minor="0" info="13" total="19" /> <CATEGORY name="total" critical="1" major="6" minor="13" info="14" total="34" /> </CATEGORY-COUNTS> - <TYPE-COUNTS> <TYPE name="ap Status Alarm" category="0" severity="0" active="1" cleared="6" /> <TYPE name="ad-hoc User Detected" category="3" severity="3" active="4" cleared="22" /> <TYPE name="low RSSI" category="1" severity="1" active="4" cleared="6" /> <TYPE name="low SNR" category="1" severity="1" active="9" cleared="3" /> <TYPE name="power Supply Status Check" category="0" severity="0" active="1" cleared="0" /> <TYPE name="rogue AP Client Detected" category="3" severity="3" active="2" cleared="7" /> <TYPE name="suspect AP Detected" category="3" severity="3" active="13" cleared="22" /> </TYPE-COUNTS> - <SECURITY-COUNTS> <DOS /> 14 Web Services Copyright 2011, Juniper Networks, Inc.
- <IDS> <SECURITY-COUNT name="rogue AP Client Detected" count="2" /> <SECURITY-COUNT name="suspect AP Detected" count="13" /> <SECURITY-COUNT name="ad-hoc User Detected" count="4" /> </IDS> </SECURITY-COUNTS> </ALARMS-SUMMARY> - <CLIENT-SUMMARY> <CLIENTS-BY-SSID /> <CLIENTS-BY-ACCESSTYPE /> <CLIENTS-BY-RADIOTYPE /> </CLIENT-SUMMARY> - <STATUS-SUMMARY> <MXS down="0" up="0" disabled="0" unknown="0" /> <APS down="0" up="0" disabled="0" unknown="0" /> <RADIOS down="0" up="0" disabled="0" unknown="0" /> </STATUS-SUMMARY> </MONITOR-SUMMARY> Server Status https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/server-status Not applicable. Not applicable. https://127.0.0.1/webservice/rm-agent/v1/monitor/server-status <?xml version="1.0" encoding="utf-8"?> <SERVER-STATUS xmlns="http://www.trapezenetworks.com/rm_server_status" BUILD-NUMBER="7.6.0.0.266" BUILD-DATE="03/10/11" PRODUCT-NAME="RingMaster" Copyright 2011, Juniper Networks, Inc. Web Services 15
Devices Summary PRODUCT-SHORT-NAME="RingMaster" PLAN-NAME="Default" UPTIME="71535489" HOST-NAME="lchcan2"></SERVER-STATUS> Comments: the BUILD_DATE is in the short format, as MM/DD/YY. https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/ devices-summary?scope=all(equipment rf-planning) "scope" parameter is required. (The value of the scope must be all, equipment or rf-planning) View privilege https://127.0.0.1/webservice/rm-agent/v1/monitor/devices-summary?scope%3dall <DEVICES-SUMMARY xmlns="http://www.trapezenetworks.com/rm_devices_summary"> <VIEW name="configure" scope="equipment"> <MXS> <MX model="mxr-2" managed="2" unmanaged="0"/> </MXS> <APS> <AP model="mp-71" managed="1" unmanaged="0"/> <AP model="mp-432" managed="3" unmanaged="0"/> <TOP-MX-BY-CLIENTS> <MX name="mx1" AuthorizedClients="1" Throughput="67648" TxMulticastOctets="15806167" TxUnicastOctets="24099258" RxOctets="134007619" Traffic="173913044" ApLocation="0" /> </TOP-MX-BY-CLIENTS> <TOP-MX-BY-TRAFFIC> <MX name="mx1" AuthorizedClients="1" Throughput="67648" TxMulticastOctets="15806167" TxUnicastOctets="24099258" RxOctets="134007619" Traffic="173913044" ApLocation="0" /> </TOP-MX-BY-TRAFFIC> 16 Web Services Copyright 2011, Juniper Networks, Inc.
<VIEW name="monitor" scope="rf-planning" /> </TOP-SUMMARY> Find MX https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/ find-mx?scope=equipment&name=xxx&ip-address=xxx&serial-number=xxx&status=xxx. Scope is always set to "equipment". If no search criteria is provided, all results are returned. https://127.0.0.1/webservice/rm-agent/v1/monitor/find-mx?scope%3dequipment <FIND-MX xmlns="http://www.trapezenetworks.com/rm_find_mx" toomanymatches="false" limitedaccess="true"> <VIEW name="monitor" scope="equipment"> <Device object-id="mobility Exchange:1734" name="mxr2-76" ip-address="172.31.177.76" serial-number="0621800238" model="mxr-2" status="up" /> <Device object-id="mobility Exchange:397" name="mxr2-77" ip-address="172.31.177.77" serial-number="0791600540" model="mxr-2" status="up" /> <Device object-id="mobility Exchange:5954" name="mx1" ip-address="172.31.177.39" serial-number="0525200128" model="mxr-2" status="up" /> </FIND-MX> Find AP https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/ find-ap?scope=equipment&name=xxx&ip-address=xxx&serial-number=xxx&model=xxx. Copyright 2011, Juniper Networks, Inc. Web Services 17
Scope is always set to "equipment". If no search criteria is provided, all results are returned. https://127.0.0.1/webservice/rm-agent/v1/monitor/find-ap?scope%3dall <FIND-AP xmlns="http://www.trapezenetworks.com/rm_find_ap" toomanymatches="false" limitedaccess="true"> <VIEW name="all" scope="equipment"> <DEVICE object-id="distributed AP:826" name="mxr277-ap01" serial-number="123" model="mp-422" status="down" /> <DEVICE object-id="distributed AP:6410" name="ap01" serial-number="0674600143" model="mp-422" status="up" /> <DEVICE object-id="distributed AP:6419" name="ap05" serial-number="33323233" model="mp-71" status="down" /> </FIND-AP> Find Site https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/ find-site?scope=rf-planning&name=xxx Scope is always set to "rf-planning". If no search criteria is provided, all results are returned. https://127.0.0.1/webservice/rm-agent/v1/monitor/find-site?scope%3drf-planning <FIND-SITE xmlns="http://www.trapezenetworks.com/rm_find_site" toomanymatches="false" limitedaccess="false"> <VIEW name="monitor" scope="rf-planning"> 18 Web Services Copyright 2011, Juniper Networks, Inc.
<SITE object-id="site:5072" name="sitea" network-plan="yourplan" /> </FIND-SITE> Find Building https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/ find-building?scope=rf-planning&name=xxx Scope is always set to "rf-planning". If no search criteria is provided, all results are returned. Request https://127.0.0.1/webservice/rm-agent/v1/monitor/find-building?scope%3drf-planning: <FIND-BUILDING xmlns="http://www.trapezenetworks.com/rm_find_building" toomanymatches="false" limitedaccess="true"> <VIEW name="monitor" scope="rf-planning"> <BUILDING object-id="building:5080" name="building1" network-plan="yourplan" site="sitea" /> </FIND-BUILDING> Find Floor https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/ find-floor?scope=rf-planning&name=xxx Scope is always set to "rf-planning". If no search criteria is provided, all results are returned. Copyright 2011, Juniper Networks, Inc. Web Services 19
Find Outdoor Area https://127.0.0.1/webservice/rm-agent/v1/monitor/find-floor?scope%3drf-planning: <FIND-FLOOR xmlns="http://www.trapezenetworks.com/rm_find_floor" toomanymatches="false" limitedaccess="true"> <VIEW name="monitor" scope="rf-planning"> <FLOOR object-id="floor:5082" name="floor1" network-plan="yourplan" site="sitea" building="building1" /> </FIND-FLOOR> https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/ find-outdoorarea?scope=rf-planning&name=xxx Scope is always set to "rf-planning". If no search critiera is provided, all the outdoor areas are returned. Request https://127.0.0.1/webservice/rm-agent/v1/monitor/find-outdoorarea?scope%3drf-plannin g: <FIND-OutdoorArea xmlns="http://www.trapezenetworks.com/rm_find_outdoorarea" toomanymatches="false" limitedaccess="true"> <VIEW name="monitor" scope="rf-planning"> <OUTDOORAREA object-id="outdoor Area:15360" name="oa1" site="sitea" network-plan="yourplan" /> <OUTDOORAREA object-id="outdoor Area:15366" name="oa2" site="sitea" network-plan="yourplan" /> </FIND-OutdoorArea> Find Client 20 Web Services Copyright 2011, Juniper Networks, Inc.
https://<ringmasterserverip>/webservice/rm-agent/v1/monitor/find-client? scope=all(equipment rf-planning)&user-name=xxx&mac-address=xxx&ip-address=xxx. Scope is one of "equipment rf-planning all". Besides scope, at least one of the search critieral must be provided. https://127.0.0.1/webservice/rm-agent/v1/monitor/find-client? scope%3dall%26user-name%3dbelinda1 <FIND-CLIENT-RESULT xmlns="http://www.trapezenetworks.com/find_client" toomanymatches="false" limitedaccess="true"> <VIEW name="monitor" scope="equipment"> <USER-SESSION session-id="sess-295-310934-376258-96b8a" user-name="belinda1" ip-addr="172.31.177.51" mac-addr="00:1b:11:e8:d3:ab" ssid="ssid-belinda1" session-state="active" start-time="1238376258000" access-type="dot1x" auth-server="172.31.176.23" auth-protocol="passthru" collected-time="1238399317824" op-rate="36" snr="48" rssi="-47" Scope is always set to "rf-planning". If no search critiera is provided, all the outdoor areas are returned. Request https://127.0.0.1/webservice/rm-agent/v1/monitor/find-outdoorarea?scope%3drf-plannin g: <FIND-OutdoorArea xmlns="http://www.trapezenetworks.com/rm_find_outdoorarea" toomanymatches="false" limitedaccess="true"> <VIEW name="monitor" scope="rf-planning"> Copyright 2011, Juniper Networks, Inc. Web Services 21
<OUTDOORAREA object-id="outdoor Area:15360" name="oa1" site="sitea" network-plan="yourplan" /> <OUTDOORAREA object-id="outdoor Area:15366" name="oa2" site="sitea" network-plan="yourplan" /> </FIND-OutdoorArea> device-ip-address="172.31.177.39" device-name="mx1" device-obj-id="mobility Exchange:5954" radio-obj-id="productspecific Radio:6413" device-enable-pwd="00141215174c04140b" device-authmode="legacy" /> <VIEW name="monitor" scope="rf-planning"> <USER-SESSION session-id="sess-295-310934-376258-96b8a" user-name="belinda1" ip-addr="172.31.177.51" mac-addr="00:1b:11:e8:d3:ab" ssid="ssid-belinda1" session-state="active" start-time="1238376258000" access-type="dot1x" auth-server="172.31.176.23" auth-protocol="passthru" collected-time="1238399317824" op-rate="36" snr="48" rssi="-47" device-ip-address="172.31.177.39" device-name="mx1" device-obj-id="mobility Exchange:5954" radio-obj-id="productspecific Radio:6413" device-enable-pwd="00141215174c04140b" device-authmode="legacy" /> </FIND-CLIENT-RESULT> Error Handling The RingMaster 7.6 Web Services API returns standard HTTP errors. The following errors have been identified: Code 400: Bad request Code 403: Forbidden Code 503: Service Unavailable When an error is returned, the following XML fragment is passed in the HTML body: <ERROR> <MESSAGE>The error message</message> </ERROR> 22 Web Services Copyright 2011, Juniper Networks, Inc.