REST APIs

BBSimAPI

BBSim exposes gRPC and REST APIs for external control of the simulated OLT. The API is defined using the protocol buffer specification in api/bbsim/bbsim.proto.

By default, the gRPC server is started on port 50070 and the REST server is started on port 50071. The following endpoints are currently defined:

GET /v1/olt

Get current status of OLT

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • ID (integer) –

  • IP (string) –

  • InternalState (string) –

  • NNIPorts[].ID (integer) –

  • NNIPorts[].OperState (string) –

  • NniDhcpTrapVid (integer) –

  • OperState (string) –

  • PONPorts[].AllocatedAllocIds[].Id (integer) –

  • PONPorts[].AllocatedAllocIds[].SerialNumber (string) –

  • PONPorts[].AllocatedGemPorts[].Id (integer) –

  • PONPorts[].AllocatedGemPorts[].SerialNumber (string) –

  • PONPorts[].AllocatedOnuIds[].Id (integer) –

  • PONPorts[].AllocatedOnuIds[].SerialNumber (string) –

  • PONPorts[].ID (integer) –

  • PONPorts[].InternalState (string) –

  • PONPorts[].OperState (string) –

  • PONPorts[].PacketCount (string) –

  • PONPorts[].Technology (string) –

  • SerialNumber (string) –

GET /v1/olt/flows

Get all flows or ONU specific flows

Query Parameters
  • SerialNumber (string) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • flow_count (integer) –

  • flows[].access_intf_id (integer) –

  • flows[].action.cmd.add_inner_tag (boolean) –

  • flows[].action.cmd.add_outer_tag (boolean) –

  • flows[].action.cmd.remark_inner_pbits (boolean) –

  • flows[].action.cmd.remark_outer_pbits (boolean) –

  • flows[].action.cmd.remove_inner_tag (boolean) –

  • flows[].action.cmd.remove_outer_tag (boolean) –

  • flows[].action.cmd.translate_inner_tag (boolean) –

  • flows[].action.cmd.translate_outer_tag (boolean) –

  • flows[].action.cmd.trap_to_host (boolean) –

  • flows[].action.i_pbits (integer) –

  • flows[].action.i_tpid (integer) –

  • flows[].action.i_vid (integer) –

  • flows[].action.o_pbits (integer) –

  • flows[].action.o_tpid (integer) –

  • flows[].action.o_vid (integer) –

  • flows[].alloc_id (integer) –

  • flows[].classifier.dst_ip (integer) –

  • flows[].classifier.dst_mac (string) –

  • flows[].classifier.dst_port (integer) –

  • flows[].classifier.eth_type (integer) –

  • flows[].classifier.i_pbits (integer) –

  • flows[].classifier.i_tpid (integer) –

  • flows[].classifier.i_vid (integer) –

  • flows[].classifier.ip_proto (integer) –

  • flows[].classifier.o_pbits (integer) –

  • flows[].classifier.o_tpid (integer) –

  • flows[].classifier.o_vid (integer) –

  • flows[].classifier.pkt_tag_type (string) –

  • flows[].classifier.src_ip (integer) –

  • flows[].classifier.src_mac (string) –

  • flows[].classifier.src_port (integer) –

  • flows[].cookie (string) –

  • flows[].flow_id (string) –

  • flows[].flow_type (string) –

  • flows[].gemport_id (integer) –

  • flows[].group_id (integer) –

  • flows[].network_intf_id (integer) –

  • flows[].onu_id (integer) –

  • flows[].port_no (integer) –

  • flows[].priority (integer) –

  • flows[].replicate_flow (boolean) –

  • flows[].symmetric_flow_id (string) –

  • flows[].tech_profile_id (integer) –

  • flows[].uni_id (integer) –

GET /v1/olt/onus

Get status of all ONUs

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • items[].ActiveImageEntityId (integer) –

  • items[].CommittedImageEntityId (integer) –

  • items[].HwAddress (string) –

  • items[].ID (integer) –

  • items[].ImageSoftwareExpectedSections (integer) –

  • items[].ImageSoftwareReceivedSections (integer) –

  • items[].InternalState (string) –

  • items[].OperState (string) –

  • items[].PonPortID (integer) –

  • items[].PortNo (integer) –

  • items[].SerialNumber (string) –

  • items[].services[].CTag (integer) –

  • items[].services[].ConfigureMacAddress (boolean) –

  • items[].services[].DhcpState (string) –

  • items[].services[].DsCTagPriority (integer) –

  • items[].services[].DsSTagPriority (integer) –

  • items[].services[].EapolState (string) –

  • items[].services[].EnableMacLearning (boolean) –

  • items[].services[].GemPort (integer) –

  • items[].services[].HwAddress (string) –

  • items[].services[].IGMPState (string) –

  • items[].services[].InternalState (string) –

  • items[].services[].Name (string) –

  • items[].services[].NeedsDhcp (boolean) –

  • items[].services[].NeedsEapol (boolean) –

  • items[].services[].NeedsIgmp (boolean) –

  • items[].services[].NeedsPPPoE (boolean) –

  • items[].services[].OnuSn (string) –

  • items[].services[].STag (integer) –

  • items[].services[].UniId (integer) –

  • items[].services[].UniTagMatch (integer) –

  • items[].services[].UsCTagPriority (integer) –

  • items[].services[].UsSTagPriority (integer) –

  • items[].unis[].ID (integer) –

  • items[].unis[].MeID (integer) –

  • items[].unis[].OnuID (integer) –

  • items[].unis[].OnuSn (string) –

  • items[].unis[].OperState (string) –

  • items[].unis[].PortNo (integer) –

  • items[].unis[].Type (string) –

  • items[].unis[].services[].CTag (integer) –

  • items[].unis[].services[].ConfigureMacAddress (boolean) –

  • items[].unis[].services[].DhcpState (string) –

  • items[].unis[].services[].DsCTagPriority (integer) –

  • items[].unis[].services[].DsSTagPriority (integer) –

  • items[].unis[].services[].EapolState (string) –

  • items[].unis[].services[].EnableMacLearning (boolean) –

  • items[].unis[].services[].GemPort (integer) –

  • items[].unis[].services[].HwAddress (string) –

  • items[].unis[].services[].IGMPState (string) –

  • items[].unis[].services[].InternalState (string) –

  • items[].unis[].services[].Name (string) –

  • items[].unis[].services[].NeedsDhcp (boolean) –

  • items[].unis[].services[].NeedsEapol (boolean) –

  • items[].unis[].services[].NeedsIgmp (boolean) –

  • items[].unis[].services[].NeedsPPPoE (boolean) –

  • items[].unis[].services[].OnuSn (string) –

  • items[].unis[].services[].STag (integer) –

  • items[].unis[].services[].UniId (integer) –

  • items[].unis[].services[].UniTagMatch (integer) –

  • items[].unis[].services[].UsCTagPriority (integer) –

  • items[].unis[].services[].UsSTagPriority (integer) –

DELETE /v1/olt/onus

Shutdown all ONUs in OLT

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

POST /v1/olt/onus

Poweron all ONUs in OLT

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

POST /v1/olt/onus/{OnuSerialNumber}/dhcp

Restart DHCP for ONU

Parameters
  • OnuSerialNumber (string) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

POST /v1/olt/onus/{OnuSerialNumber}/eapol

Restart EAPOL for ONU

Parameters
  • OnuSerialNumber (string) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

POST /v1/olt/onus/{OnuSerialNumber}/{UniID}/igmp/{SubActionVal}/{GroupAddress}/{VLAN}

Change IGMP state

Parameters
  • OnuSerialNumber (string) –

  • UniID (integer) –

  • SubActionVal (string) –

  • GroupAddress (string) –

  • VLAN (integer) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

GET /v1/olt/onus/{SerialNumber}

Get status of an ONU by serial number

Parameters
  • SerialNumber (string) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • ActiveImageEntityId (integer) –

  • CommittedImageEntityId (integer) –

  • HwAddress (string) –

  • ID (integer) –

  • ImageSoftwareExpectedSections (integer) –

  • ImageSoftwareReceivedSections (integer) –

  • InternalState (string) –

  • OperState (string) –

  • PonPortID (integer) –

  • PortNo (integer) –

  • SerialNumber (string) –

  • services[].CTag (integer) –

  • services[].ConfigureMacAddress (boolean) –

  • services[].DhcpState (string) –

  • services[].DsCTagPriority (integer) –

  • services[].DsSTagPriority (integer) –

  • services[].EapolState (string) –

  • services[].EnableMacLearning (boolean) –

  • services[].GemPort (integer) –

  • services[].HwAddress (string) –

  • services[].IGMPState (string) –

  • services[].InternalState (string) –

  • services[].Name (string) –

  • services[].NeedsDhcp (boolean) –

  • services[].NeedsEapol (boolean) –

  • services[].NeedsIgmp (boolean) –

  • services[].NeedsPPPoE (boolean) –

  • services[].OnuSn (string) –

  • services[].STag (integer) –

  • services[].UniId (integer) –

  • services[].UniTagMatch (integer) –

  • services[].UsCTagPriority (integer) –

  • services[].UsSTagPriority (integer) –

  • unis[].ID (integer) –

  • unis[].MeID (integer) –

  • unis[].OnuID (integer) –

  • unis[].OnuSn (string) –

  • unis[].OperState (string) –

  • unis[].PortNo (integer) –

  • unis[].Type (string) –

  • unis[].services[].CTag (integer) –

  • unis[].services[].ConfigureMacAddress (boolean) –

  • unis[].services[].DhcpState (string) –

  • unis[].services[].DsCTagPriority (integer) –

  • unis[].services[].DsSTagPriority (integer) –

  • unis[].services[].EapolState (string) –

  • unis[].services[].EnableMacLearning (boolean) –

  • unis[].services[].GemPort (integer) –

  • unis[].services[].HwAddress (string) –

  • unis[].services[].IGMPState (string) –

  • unis[].services[].InternalState (string) –

  • unis[].services[].Name (string) –

  • unis[].services[].NeedsDhcp (boolean) –

  • unis[].services[].NeedsEapol (boolean) –

  • unis[].services[].NeedsIgmp (boolean) –

  • unis[].services[].NeedsPPPoE (boolean) –

  • unis[].services[].OnuSn (string) –

  • unis[].services[].STag (integer) –

  • unis[].services[].UniId (integer) –

  • unis[].services[].UniTagMatch (integer) –

  • unis[].services[].UsCTagPriority (integer) –

  • unis[].services[].UsSTagPriority (integer) –

DELETE /v1/olt/onus/{SerialNumber}

Shutdown an ONU by serial number

Parameters
  • SerialNumber (string) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

POST /v1/olt/onus/{SerialNumber}

Poweron an ONU by serial number

Parameters
  • SerialNumber (string) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

POST /v1/olt/onus/{SerialNumber}/alarms/{AlarmType}/{Status}

Send ONU alarm indication

Parameters
  • SerialNumber (string) –

  • AlarmType (string) –

  • Status (string) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

GET /v1/olt/onus/{SerialNumber}/flows

Get all flows or ONU specific flows

Parameters
  • SerialNumber (string) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • flow_count (integer) –

  • flows[].access_intf_id (integer) –

  • flows[].action.cmd.add_inner_tag (boolean) –

  • flows[].action.cmd.add_outer_tag (boolean) –

  • flows[].action.cmd.remark_inner_pbits (boolean) –

  • flows[].action.cmd.remark_outer_pbits (boolean) –

  • flows[].action.cmd.remove_inner_tag (boolean) –

  • flows[].action.cmd.remove_outer_tag (boolean) –

  • flows[].action.cmd.translate_inner_tag (boolean) –

  • flows[].action.cmd.translate_outer_tag (boolean) –

  • flows[].action.cmd.trap_to_host (boolean) –

  • flows[].action.i_pbits (integer) –

  • flows[].action.i_tpid (integer) –

  • flows[].action.i_vid (integer) –

  • flows[].action.o_pbits (integer) –

  • flows[].action.o_tpid (integer) –

  • flows[].action.o_vid (integer) –

  • flows[].alloc_id (integer) –

  • flows[].classifier.dst_ip (integer) –

  • flows[].classifier.dst_mac (string) –

  • flows[].classifier.dst_port (integer) –

  • flows[].classifier.eth_type (integer) –

  • flows[].classifier.i_pbits (integer) –

  • flows[].classifier.i_tpid (integer) –

  • flows[].classifier.i_vid (integer) –

  • flows[].classifier.ip_proto (integer) –

  • flows[].classifier.o_pbits (integer) –

  • flows[].classifier.o_tpid (integer) –

  • flows[].classifier.o_vid (integer) –

  • flows[].classifier.pkt_tag_type (string) –

  • flows[].classifier.src_ip (integer) –

  • flows[].classifier.src_mac (string) –

  • flows[].classifier.src_port (integer) –

  • flows[].cookie (string) –

  • flows[].flow_id (string) –

  • flows[].flow_type (string) –

  • flows[].gemport_id (integer) –

  • flows[].group_id (integer) –

  • flows[].network_intf_id (integer) –

  • flows[].onu_id (integer) –

  • flows[].port_no (integer) –

  • flows[].priority (integer) –

  • flows[].replicate_flow (boolean) –

  • flows[].symmetric_flow_id (string) –

  • flows[].tech_profile_id (integer) –

  • flows[].uni_id (integer) –

GET /v1/olt/onus/{SerialNumber}/trafficschedulers

Get Traffic scheduler information for ONU

Parameters
  • SerialNumber (string) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • traffSchedulers.intf_id (integer) –

  • traffSchedulers.onu_id (integer) –

  • traffSchedulers.port_no (integer) –

  • traffSchedulers.traffic_scheds[].alloc_id (integer) –

  • traffSchedulers.traffic_scheds[].direction (string) –

  • traffSchedulers.traffic_scheds[].scheduler.additional_bw (string) –

  • traffSchedulers.traffic_scheds[].scheduler.direction (string) –

  • traffSchedulers.traffic_scheds[].scheduler.priority (integer) –

  • traffSchedulers.traffic_scheds[].scheduler.sched_policy (string) –

  • traffSchedulers.traffic_scheds[].scheduler.weight (integer) –

  • traffSchedulers.traffic_scheds[].tech_profile_id (integer) –

  • traffSchedulers.traffic_scheds[].traffic_shaping_info.add_bw_ind (string) –

  • traffSchedulers.traffic_scheds[].traffic_shaping_info.cbs (integer) –

  • traffSchedulers.traffic_scheds[].traffic_shaping_info.cir (integer) –

  • traffSchedulers.traffic_scheds[].traffic_shaping_info.gir (integer) –

  • traffSchedulers.traffic_scheds[].traffic_shaping_info.pbs (integer) –

  • traffSchedulers.traffic_scheds[].traffic_shaping_info.pir (integer) –

  • traffSchedulers.uni_id (integer) –

DELETE /v1/olt/port/{PonPortId}/onus

Shutdown all ONUs under a PON by pon-port-ID

Parameters
  • PonPortId (integer) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

POST /v1/olt/port/{PonPortId}/onus

Poweron all ONUs under a PON by pon-port-ID

Parameters
  • PonPortId (integer) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

POST /v1/olt/ports/{InterfaceType}/{InterfaceID}/alarms/los/{Status}

Send OLT alarm indication for Interface type NNI or PON

Parameters
  • InterfaceType (string) –

  • InterfaceID (integer) –

  • Status (string) –

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

POST /v1/olt/reboot

Reboot OLT

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • message (string) –

  • status_code (integer) –

GET /v1/olt/status

Get current status of OLT

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • ID (integer) –

  • IP (string) –

  • InternalState (string) –

  • NNIPorts[].ID (integer) –

  • NNIPorts[].OperState (string) –

  • NniDhcpTrapVid (integer) –

  • OperState (string) –

  • PONPorts[].AllocatedAllocIds[].Id (integer) –

  • PONPorts[].AllocatedAllocIds[].SerialNumber (string) –

  • PONPorts[].AllocatedGemPorts[].Id (integer) –

  • PONPorts[].AllocatedGemPorts[].SerialNumber (string) –

  • PONPorts[].AllocatedOnuIds[].Id (integer) –

  • PONPorts[].AllocatedOnuIds[].SerialNumber (string) –

  • PONPorts[].ID (integer) –

  • PONPorts[].InternalState (string) –

  • PONPorts[].OperState (string) –

  • PONPorts[].PacketCount (string) –

  • PONPorts[].Technology (string) –

  • SerialNumber (string) –

GET /v1/version

Get BBSim version

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • buildTime (string) –

  • commitHash (string) –

  • gitStatus (string) –

  • version (string) –

Legacy BBSimAPI

Additionally, a legacy API is available, defined in api/legacy/bbsim.proto. This API is deprecated and will be removed once BBSim reaches feature parity with the legacy version.

By default, the legacy gRPC server is started on port 50072 and the corresponding REST server is started on port 50073. The following endpoints are currently defined:

GET /v0/olt

Get current status of OLT

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • olt.olt_id (string) –

  • olt.olt_ip (string) –

  • olt.olt_serial (string) –

  • olt.olt_state (string) –

  • olt.olt_vendor (string) –

  • ports[].alarm_state (string) –

  • ports[].pon_port_active_onus (integer) –

  • ports[].pon_port_max_onus (integer) –

  • ports[].port_id (integer) –

  • ports[].port_state (string) –

  • ports[].port_type (string) –

GET /v0/olt/flows

Get flows

Query Parameters
  • onu_id (integer) –

  • pon_port_id (integer) –

  • onu_serial (string) – ONU serial number.

  • oper_state (string) – ONU oper state.

  • onu_state (string) – ONU internal state.

  • gemports (array) –

  • tconts.uni_id (integer) –

  • tconts.port_no (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • flows[].access_intf_id (integer) –

  • flows[].action.cmd.add_inner_tag (boolean) –

  • flows[].action.cmd.add_outer_tag (boolean) –

  • flows[].action.cmd.remark_inner_pbits (boolean) –

  • flows[].action.cmd.remark_outer_pbits (boolean) –

  • flows[].action.cmd.remove_inner_tag (boolean) –

  • flows[].action.cmd.remove_outer_tag (boolean) –

  • flows[].action.cmd.translate_inner_tag (boolean) –

  • flows[].action.cmd.translate_outer_tag (boolean) –

  • flows[].action.cmd.trap_to_host (boolean) –

  • flows[].action.i_pbits (integer) –

  • flows[].action.i_tpid (integer) –

  • flows[].action.i_vid (integer) –

  • flows[].action.o_pbits (integer) –

  • flows[].action.o_tpid (integer) –

  • flows[].action.o_vid (integer) –

  • flows[].alloc_id (integer) –

  • flows[].classifier.dst_ip (integer) –

  • flows[].classifier.dst_mac (string) –

  • flows[].classifier.dst_port (integer) –

  • flows[].classifier.eth_type (integer) –

  • flows[].classifier.i_pbits (integer) –

  • flows[].classifier.i_tpid (integer) –

  • flows[].classifier.i_vid (integer) –

  • flows[].classifier.ip_proto (integer) –

  • flows[].classifier.o_pbits (integer) –

  • flows[].classifier.o_tpid (integer) –

  • flows[].classifier.o_vid (integer) –

  • flows[].classifier.pkt_tag_type (string) –

  • flows[].classifier.src_ip (integer) –

  • flows[].classifier.src_mac (string) –

  • flows[].classifier.src_port (integer) –

  • flows[].cookie (string) –

  • flows[].flow_id (string) –

  • flows[].flow_type (string) –

  • flows[].gemport_id (integer) –

  • flows[].group_id (integer) –

  • flows[].network_intf_id (integer) –

  • flows[].onu_id (integer) –

  • flows[].port_no (integer) –

  • flows[].priority (integer) –

  • flows[].replicate_flow (boolean) –

  • flows[].symmetric_flow_id (string) –

  • flows[].tech_profile_id (integer) –

  • flows[].uni_id (integer) –

GET /v0/olt/onu/{onu_serial}/flows

Get flows

Parameters
  • onu_serial (string) – ONU serial number

Query Parameters
  • onu_id (integer) –

  • pon_port_id (integer) –

  • oper_state (string) – ONU oper state.

  • onu_state (string) – ONU internal state.

  • gemports (array) –

  • tconts.uni_id (integer) –

  • tconts.port_no (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • flows[].access_intf_id (integer) –

  • flows[].action.cmd.add_inner_tag (boolean) –

  • flows[].action.cmd.add_outer_tag (boolean) –

  • flows[].action.cmd.remark_inner_pbits (boolean) –

  • flows[].action.cmd.remark_outer_pbits (boolean) –

  • flows[].action.cmd.remove_inner_tag (boolean) –

  • flows[].action.cmd.remove_outer_tag (boolean) –

  • flows[].action.cmd.translate_inner_tag (boolean) –

  • flows[].action.cmd.translate_outer_tag (boolean) –

  • flows[].action.cmd.trap_to_host (boolean) –

  • flows[].action.i_pbits (integer) –

  • flows[].action.i_tpid (integer) –

  • flows[].action.i_vid (integer) –

  • flows[].action.o_pbits (integer) –

  • flows[].action.o_tpid (integer) –

  • flows[].action.o_vid (integer) –

  • flows[].alloc_id (integer) –

  • flows[].classifier.dst_ip (integer) –

  • flows[].classifier.dst_mac (string) –

  • flows[].classifier.dst_port (integer) –

  • flows[].classifier.eth_type (integer) –

  • flows[].classifier.i_pbits (integer) –

  • flows[].classifier.i_tpid (integer) –

  • flows[].classifier.i_vid (integer) –

  • flows[].classifier.ip_proto (integer) –

  • flows[].classifier.o_pbits (integer) –

  • flows[].classifier.o_tpid (integer) –

  • flows[].classifier.o_vid (integer) –

  • flows[].classifier.pkt_tag_type (string) –

  • flows[].classifier.src_ip (integer) –

  • flows[].classifier.src_mac (string) –

  • flows[].classifier.src_port (integer) –

  • flows[].cookie (string) –

  • flows[].flow_id (string) –

  • flows[].flow_type (string) –

  • flows[].gemport_id (integer) –

  • flows[].group_id (integer) –

  • flows[].network_intf_id (integer) –

  • flows[].onu_id (integer) –

  • flows[].port_no (integer) –

  • flows[].priority (integer) –

  • flows[].replicate_flow (boolean) –

  • flows[].symmetric_flow_id (string) –

  • flows[].tech_profile_id (integer) –

  • flows[].uni_id (integer) –

GET /v0/olt/onus

Get status of all or specific ONUs

Query Parameters
  • onu.onu_id (integer) –

  • onu.pon_port_id (integer) –

  • onu.onu_serial (string) – ONU serial number.

  • onu.oper_state (string) – ONU oper state.

  • onu.onu_state (string) – ONU internal state.

  • onu.gemports (array) –

  • onu.tconts.uni_id (integer) –

  • onu.tconts.port_no (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • onus[].gemports[] (integer) –

  • onus[].onu_id (integer) –

  • onus[].onu_serial (string) –

  • onus[].onu_state (string) –

  • onus[].oper_state (string) –

  • onus[].pon_port_id (integer) –

  • onus[].tconts.port_no (integer) –

  • onus[].tconts.tconts[].alloc_id (integer) –

  • onus[].tconts.tconts[].direction (string) –

  • onus[].tconts.tconts[].scheduler.additional_bw (string) –

  • onus[].tconts.tconts[].scheduler.direction (string) –

  • onus[].tconts.tconts[].scheduler.priority (integer) –

  • onus[].tconts.tconts[].scheduler.sched_policy (string) –

  • onus[].tconts.tconts[].scheduler.weight (integer) –

  • onus[].tconts.tconts[].tech_profile_id (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.add_bw_ind (string) –

  • onus[].tconts.tconts[].traffic_shaping_info.cbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.cir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.gir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pir (integer) –

  • onus[].tconts.uni_id (integer) –

DELETE /v0/olt/onus

Deactivate ONU(s) for specific PON port(s) specified by a given onu_serial, onu_id, or pon_port_id

Request JSON Object
  • onus[].gemports[] (integer) –

  • onus[].onu_id (integer) –

  • onus[].onu_serial (string) –

  • onus[].onu_state (string) –

  • onus[].oper_state (string) –

  • onus[].pon_port_id (integer) –

  • onus[].tconts.port_no (integer) –

  • onus[].tconts.tconts[].alloc_id (integer) –

  • onus[].tconts.tconts[].direction (string) –

  • onus[].tconts.tconts[].scheduler.additional_bw (string) –

  • onus[].tconts.tconts[].scheduler.direction (string) –

  • onus[].tconts.tconts[].scheduler.priority (integer) –

  • onus[].tconts.tconts[].scheduler.sched_policy (string) –

  • onus[].tconts.tconts[].scheduler.weight (integer) –

  • onus[].tconts.tconts[].tech_profile_id (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.add_bw_ind (string) –

  • onus[].tconts.tconts[].traffic_shaping_info.cbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.cir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.gir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pir (integer) –

  • onus[].tconts.uni_id (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • status_msg (string) –

POST /v0/olt/onus

Single/bulk activate ONU(s) for specific PON port(s)

Request JSON Object
  • onus[].gemports[] (integer) –

  • onus[].onu_id (integer) –

  • onus[].onu_serial (string) –

  • onus[].onu_state (string) –

  • onus[].oper_state (string) –

  • onus[].pon_port_id (integer) –

  • onus[].tconts.port_no (integer) –

  • onus[].tconts.tconts[].alloc_id (integer) –

  • onus[].tconts.tconts[].direction (string) –

  • onus[].tconts.tconts[].scheduler.additional_bw (string) –

  • onus[].tconts.tconts[].scheduler.direction (string) –

  • onus[].tconts.tconts[].scheduler.priority (integer) –

  • onus[].tconts.tconts[].scheduler.sched_policy (string) –

  • onus[].tconts.tconts[].scheduler.weight (integer) –

  • onus[].tconts.tconts[].tech_profile_id (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.add_bw_ind (string) –

  • onus[].tconts.tconts[].traffic_shaping_info.cbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.cir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.gir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pir (integer) –

  • onus[].tconts.uni_id (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • status_msg (string) –

GET /v0/olt/onus/{onu.onu_serial}

Get status of all or specific ONUs

Parameters
  • onu.onu_serial (string) – ONU serial number

Query Parameters
  • onu.onu_id (integer) –

  • onu.pon_port_id (integer) –

  • onu.oper_state (string) – ONU oper state.

  • onu.onu_state (string) – ONU internal state.

  • onu.gemports (array) –

  • onu.tconts.uni_id (integer) –

  • onu.tconts.port_no (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • onus[].gemports[] (integer) –

  • onus[].onu_id (integer) –

  • onus[].onu_serial (string) –

  • onus[].onu_state (string) –

  • onus[].oper_state (string) –

  • onus[].pon_port_id (integer) –

  • onus[].tconts.port_no (integer) –

  • onus[].tconts.tconts[].alloc_id (integer) –

  • onus[].tconts.tconts[].direction (string) –

  • onus[].tconts.tconts[].scheduler.additional_bw (string) –

  • onus[].tconts.tconts[].scheduler.direction (string) –

  • onus[].tconts.tconts[].scheduler.priority (integer) –

  • onus[].tconts.tconts[].scheduler.sched_policy (string) –

  • onus[].tconts.tconts[].scheduler.weight (integer) –

  • onus[].tconts.tconts[].tech_profile_id (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.add_bw_ind (string) –

  • onus[].tconts.tconts[].traffic_shaping_info.cbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.cir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.gir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pir (integer) –

  • onus[].tconts.uni_id (integer) –

DELETE /v0/olt/onus/{onu.onu_serial}

Deactivate ONU(s) for specific PON port(s) specified by a given onu_serial, onu_id, or pon_port_id

Parameters
  • onu.onu_serial (string) – ONU serial number

Query Parameters
  • onu.onu_id (integer) –

  • onu.pon_port_id (integer) –

  • onu.oper_state (string) – ONU oper state.

  • onu.onu_state (string) – ONU internal state.

  • onu.gemports (array) –

  • onu.tconts.uni_id (integer) –

  • onu.tconts.port_no (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • status_msg (string) –

POST /v0/olt/onus/{onu_serial}/alarms/{alarm_type}/{status}

Generate ONU related alarms

Parameters
  • onu_serial (string) – ONU serial number

  • alarm_type (string) –

    Alarm types are:

    ”signaldegrade” “lossofomcichannel” “lossofploam”

  • status (string) – “on”/”off” indicates raised or cleared alarm

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • status_msg (string) –

GET /v0/olt/ports/{onu.pon_port_id}/onus

Get status of all or specific ONUs

Parameters
  • onu.pon_port_id (integer) –

Query Parameters
  • onu.onu_id (integer) –

  • onu.onu_serial (string) – ONU serial number.

  • onu.oper_state (string) – ONU oper state.

  • onu.onu_state (string) – ONU internal state.

  • onu.gemports (array) –

  • onu.tconts.uni_id (integer) –

  • onu.tconts.port_no (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • onus[].gemports[] (integer) –

  • onus[].onu_id (integer) –

  • onus[].onu_serial (string) –

  • onus[].onu_state (string) –

  • onus[].oper_state (string) –

  • onus[].pon_port_id (integer) –

  • onus[].tconts.port_no (integer) –

  • onus[].tconts.tconts[].alloc_id (integer) –

  • onus[].tconts.tconts[].direction (string) –

  • onus[].tconts.tconts[].scheduler.additional_bw (string) –

  • onus[].tconts.tconts[].scheduler.direction (string) –

  • onus[].tconts.tconts[].scheduler.priority (integer) –

  • onus[].tconts.tconts[].scheduler.sched_policy (string) –

  • onus[].tconts.tconts[].scheduler.weight (integer) –

  • onus[].tconts.tconts[].tech_profile_id (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.add_bw_ind (string) –

  • onus[].tconts.tconts[].traffic_shaping_info.cbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.cir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.gir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pir (integer) –

  • onus[].tconts.uni_id (integer) –

DELETE /v0/olt/ports/{onu.pon_port_id}/onus

Deactivate ONU(s) for specific PON port(s) specified by a given onu_serial, onu_id, or pon_port_id

Parameters
  • onu.pon_port_id (integer) –

Query Parameters
  • onu.onu_id (integer) –

  • onu.onu_serial (string) – ONU serial number.

  • onu.oper_state (string) – ONU oper state.

  • onu.onu_state (string) – ONU internal state.

  • onu.gemports (array) –

  • onu.tconts.uni_id (integer) –

  • onu.tconts.port_no (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • status_msg (string) –

POST /v0/olt/ports/{onu.pon_port_id}/onus

Single/bulk activate ONU(s) for specific PON port(s)

Parameters
  • onu.pon_port_id (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • status_msg (string) –

GET /v0/olt/ports/{onu.pon_port_id}/onus/{onu.onu_id}

Get status of all or specific ONUs

Parameters
  • onu.pon_port_id (integer) –

  • onu.onu_id (integer) –

Query Parameters
  • onu.onu_serial (string) – ONU serial number.

  • onu.oper_state (string) – ONU oper state.

  • onu.onu_state (string) – ONU internal state.

  • onu.gemports (array) –

  • onu.tconts.uni_id (integer) –

  • onu.tconts.port_no (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • onus[].gemports[] (integer) –

  • onus[].onu_id (integer) –

  • onus[].onu_serial (string) –

  • onus[].onu_state (string) –

  • onus[].oper_state (string) –

  • onus[].pon_port_id (integer) –

  • onus[].tconts.port_no (integer) –

  • onus[].tconts.tconts[].alloc_id (integer) –

  • onus[].tconts.tconts[].direction (string) –

  • onus[].tconts.tconts[].scheduler.additional_bw (string) –

  • onus[].tconts.tconts[].scheduler.direction (string) –

  • onus[].tconts.tconts[].scheduler.priority (integer) –

  • onus[].tconts.tconts[].scheduler.sched_policy (string) –

  • onus[].tconts.tconts[].scheduler.weight (integer) –

  • onus[].tconts.tconts[].tech_profile_id (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.add_bw_ind (string) –

  • onus[].tconts.tconts[].traffic_shaping_info.cbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.cir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.gir (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pbs (integer) –

  • onus[].tconts.tconts[].traffic_shaping_info.pir (integer) –

  • onus[].tconts.uni_id (integer) –

DELETE /v0/olt/ports/{onu.pon_port_id}/onus/{onu.onu_id}

Deactivate ONU(s) for specific PON port(s) specified by a given onu_serial, onu_id, or pon_port_id

Parameters
  • onu.pon_port_id (integer) –

  • onu.onu_id (integer) –

Query Parameters
  • onu.onu_serial (string) – ONU serial number.

  • onu.oper_state (string) – ONU oper state.

  • onu.onu_state (string) – ONU internal state.

  • onu.gemports (array) –

  • onu.tconts.uni_id (integer) –

  • onu.tconts.port_no (integer) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • status_msg (string) –

POST /v0/olt/ports/{onu.pon_port_id}/onus/{onu.onu_serial}

Single/bulk activate ONU(s) for specific PON port(s)

Parameters
  • onu.pon_port_id (integer) –

  • onu.onu_serial (string) – ONU serial number

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • status_msg (string) –

POST /v0/olt/ports/{port_type}/{port_id}/alarms/los/{status}

Generate OLT related alarms

Parameters
  • port_type (string) –

  • port_id (integer) –

  • status (string) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • status_msg (string) –

GET /v0/olt/ports/{port_type}/{port_id}/status

Get status of a PON/NNI port

Parameters
  • port_type (string) –

  • port_id (integer) –

Query Parameters
  • pon_port_max_onus (integer) –

  • pon_port_active_onus (integer) –

  • port_state (string) –

  • alarm_state (string) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • ports[].alarm_state (string) –

  • ports[].pon_port_active_onus (integer) –

  • ports[].pon_port_max_onus (integer) –

  • ports[].port_id (integer) –

  • ports[].port_state (string) –

  • ports[].port_type (string) –

GET /v0/olt/status

Get current status of OLT

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • olt.olt_id (string) –

  • olt.olt_ip (string) –

  • olt.olt_serial (string) –

  • olt.olt_state (string) –

  • olt.olt_vendor (string) –

  • ports[].alarm_state (string) –

  • ports[].pon_port_active_onus (integer) –

  • ports[].pon_port_max_onus (integer) –

  • ports[].port_id (integer) –

  • ports[].port_state (string) –

  • ports[].port_type (string) –

PATCH /v0/olt/{device_type}/{serial_number}/action/{action}

Perform actions on OLT/ONU devices (e.g. reboot)

Parameters
  • device_type (string) –

  • serial_number (string) –

  • action (string) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • status_msg (string) –

PATCH /v0/{device_type}/action/{action}

Perform actions on OLT/ONU devices (e.g. reboot)

Parameters
  • device_type (string) –

  • action (string) –

Status Codes
  • 200 OK – A successful response.

  • 404 Not Found – Returned when the resource does not exist.

Response JSON Object
  • status_msg (string) –