LB Networks - OcularIP Connector

Introduction

The LB Networks OcularIP software is a sophisticated performance management tool that allows network owners to optimize performance and more effectively manage their network.  The Nexus Connector for OcularIP allows this critical data to be controlled and visible inside Salesforce - giving Sales professionals key information inside their CRM, and also allowing Service Delivery provisioning of network details instantly in the OcularIP platform.

Function Overview 

The connector functions for provisioning that are enabled in the Nexus package are all focused on managing the provisioning of circuit details into the LB Networks OcularIP platform.  In order to accomplish this - the following functions are performed (in sequence).  Add Circuit, Add Domains, Add Labels, Add Locations.  We also have functions available to edit Threshold Profile, Edit Location, Edit MTTR Group and Delete the Circuit.

This capability means that the circuit information stored in Salesforce after a provisioning function is completed can be used to automatically provision the details about that circuit into OcularIP automatically, saving significant time for each circuit that is configured.

The connector function for Query allows for the automatic query of network event data that is maintained in OcularIP.  These queries are executed from Salesforce and allows for the retrieval of any specified event information back into Salesforce.  Using this data, administrators can create Reports and Dashboards to display critical network events in the Salesforce platform.  In addition, administrators can set up FLOWs in Salesforce to react to specific events.  For example - an email notification to a Sales rep if a circuit has exceeded 85% utilization, or an email notification to a Support representative if a degradation event is logged.

Implementation Strategy

The typical implementation strategy for this connector is to identify all the detailed information required for Circuit, Domain, Label, and Location details. This information is typically available after provisioning of the Circuit has been completed.  Some of this information may need to be gathered from other systems (if systems other than Salesforce were used in the provisioning workflow).  These 4 functions can be executed via the Execution Manager (the button on the page layout).  However, it is a more efficient deployment step if the entire process is automated. 

By collecting all the necessary information onto a single record (e.g. the Service Order), the administrator can set up a single button, or possibly a FLOW to execute all four API calls in sequence.  This will greatly reduce the requirements for user interaction, and will establish instant update of the circuit into the OcularIP system.  In the next section, we will identify what is necessary to set up information to enable each endpoint individually, and then we'll show a couple of examples where these endpoints can be linked together via button, flow, or APEX trigger call.  Ultimately - the administrator will need to determine what automation strategy to employ, and also determine what triggering criteria will need to be met in order to initiate the automation.

For the Search Events Query function - it is most likely useful to "pre-program" the query as an automated flow that runs every night.  The Search Events Query object can be populated with parameters - and then the Search Events Query can be executed via FLOW.  You can set up multiple Search Events Query objects with different parameters and different FLOW execution schedules.  This will allow you to automatically receive network intelligence information from OcularIP on a regular schedule.

 

Implementation Instructions 

Add Circuit

Make sure that the key information required for the Circuit is available on the object.  Implementation can be completed by mapping the appropriate fields.  You can add information about Threshold Events that you wish to manage (e.g. Threshold exceeds 85% capacity). Circuit Alias is a required field - as it is required for subsequent calls. 

Add Domains

Make sure that the key information required for the Domain is available on the object.  Implementation can be completed by mapping the appropriate fields (there are only 2 - Circuit Alias and Domain).   

Edit Label

Make sure that the key information required for the Label is available on the object.  Implementation can be completed by mapping the appropriate fields (there are only 3 - Circuit Alias and Name and Value). 

Edit Location

Make sure that the key information required for the Label is available on the object.  Implementation can be completed by mapping the appropriate fields (there are 23 fields in this API callout - with Circuit Alias as the identifying key value). 

Add Threshold Profile

Make sure that the key information required for the Threshold Profile is available on the object.  Implementation can be completed by mapping the appropriate fields (there are only 2 - Circuit Alias and Threshold Profile). 

Add MTTR Group

Make sure that the key information required for the MTTR Group is available on the object.  Implementation can be completed by mapping the appropriate fields (there are only 2 - Circuit Alias and MTTR Group). 

Delete Circuit

The Delete Circuit function can be performed by mapping only 1 field - Circuit Alias. 

Search Events

If you have provisioned the circuit with a Threshold Profile - you can query for that Threshold by setting up a Search Events Query.  First - you'll need to define a new object: (Suggested: OcularIP Events).  In this object - you'll define the records that you want to query from the OcularIP Events database.  Create the new object with the following fields:

end_time Number
acknowledged_time Number
direction Text
acknowledged_by Text
event_name Text
node_name Text
acknowledged_note Text
kpi Text
success Boolean
start_time Number
acknowledged_status Text
category Text
severity Text
circuit_name Text
secondary_circuit_name Text
id Number

 

Once you have defined this object in Salesforce and configured the mapping for this API endpoint - you'll need to set up a Time Triggered Flow to invoke the Search Events API call once a night.  This API will pull data into this object.  You can then use this data for reports/dashboards and/or specific alert emails within Salesforce to highlight business events.  Sample use cases include: Notifications when circuit capacity thresholds are exceeded (indicates potential opportunity for capacity upgrade sale), Outage notifications, QoS Degradation notifications.  

Automation Information

If you wish to automate the Circuit provisioning sequence, this would require calling the 4 provisioning APIs in sequence:  Add Circuit, Add Domain, Edit Label, Edit Location - you can create a FLOW as follows <Darren - need flow sample to launch this>

API Function Data Dictionary

This document provides details on the Nexus API fields, their event types, and data types, grouped by API function.

Add Circuit

API Field Details

Nexus API Field Name Event Type Data Type
circuit_alias Outbound Text
system_z_ip_address Outbound Text
granularity Outbound Text
system_z_model Outbound Text
event_notifications_enabled Outbound Text
derive_1_way_data_enabled Outbound Text
max_ordering_bandwidth Outbound Text
system_z_name Outbound Text
start_time Outbound Number
system_a_model Outbound Text
system_z_manufacturer Outbound Text
system_a_ip_address Outbound Text
status Outbound Text
system_a_name Outbound Text
system_a_alias Outbound Text
custom_notifications_enabled Outbound Text
description Outbound Text
bandwidth Outbound Text
circuit_image Outbound Text
paa_name Outbound Text
secondary_name Outbound Text
system_z_alias Outbound Text
eir Outbound Text
mrc Outbound Text
event_notifications_enabled_time Outbound Text
system_a_manufacturer Outbound Text
ethernet_profile_description Outbound Text
util_profile_a_az_name Outbound Text
suppress_system_z_performance_data_upload Outbound Number
util_profile_a_za_name Outbound Text
util_profile_z_za_name Outbound Text
util_profile_z_az_name Outbound Text
suppress_system_z_utilization_data_upload Outbound Number


Add Domains

Nexus API Field Name Event Type Data Type
circuit_alias Outbound Text
domains Outbound Text

Delete Circuit

Nexus API Field Name Event Type Data Type
circuit_alias Outbound Text

Edit Labels

Nexus API Field Name Event Type Data Type
name Outbound Text
circuit_alias Outbound Text
value Outbound Text

Edit Locations

Nexus API Field Name Event Type Data Type
system_a_address_2 Outbound Text
system_z_address_1 Outbound Text
system_z_zip Outbound Text
system_z_country Outbound Text
system_z_icon Outbound Text
system_a_latitude Outbound Number
system_a_circuit_specific_location Outbound Text
system_a_zip Outbound Text
system_a_country Outbound Text
system_a_location_name Outbound Text
system_z_latitude Outbound Number
system_a_icon Outbound Text
system_a_address_1 Outbound Text
system_a_city Outbound Text
system_z_location_name Outbound Text
circuit_alias Outbound Text
system_z_circuit_specific_location Outbound Text
system_z_address_2 Outbound Text
system_a_longitude Outbound Number
system_z_state Outbound Text
system_a_state Outbound Text
system_z_longitude Outbound Number
system_z_city Outbound Text

Edit MTTR Group

Nexus API Field Name Event Type Data Type
circuit_alias Outbound Text
mttr_group Outbound Text

Edit Threshold Profile

Nexus API Field Name Event Type Data Type
circuit_alias Outbound Text
threshold_profile Outbound Text

Search Events

API Field Details

Nexus API Field Name Event Type Data Type
end_time Inbound Number
acknowledged_time Inbound Number
direction Inbound Text
acknowledged_by Inbound Text
event_name Inbound Text
node_name Inbound Text
acknowledged_note Inbound Text
kpi Inbound Text
success Inbound Boolean
start_time Inbound Number
acknowledged_status Inbound Text
category Inbound Text
severity Inbound Text
circuit_name Inbound Text
secondary_circuit_name Inbound Text
id Inbound Number
include_acknowledged_info Outbound Boolean
start_time Outbound Number
event_name Outbound Text
acknowledged Outbound Number
end_time Outbound Number
category Outbound Text
include_domains Outbound Boolean
severity Outbound Text

 

Was this article helpful?
0 out of 0 found this helpful