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[].gemport_to_aes (object)
flows[].group_id (integer)
flows[].network_intf_id (integer)
flows[].onu_id (integer)
flows[].pbit_to_gemport (object)
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[].gemport_to_aes (object)
flows[].group_id (integer)
flows[].network_intf_id (integer)
flows[].onu_id (integer)
flows[].pbit_to_gemport (object)
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)
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[].gemport_to_aes (object)
flows[].group_id (integer)
flows[].network_intf_id (integer)
flows[].onu_id (integer)
flows[].pbit_to_gemport (object)
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[].gemport_to_aes (object)
flows[].group_id (integer)
flows[].network_intf_id (integer)
flows[].onu_id (integer)
flows[].pbit_to_gemport (object)
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)