Пример #1
0
 def bal_iface_oper_sts_cng(self, indication, device_handler):
     ind_info = dict()
     ind_info['_object_type'] = 'interface_indication'
     ind_info['_sub_group_type'] = 'oper_state_change'
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #2
0
    def bal_acc_term_ind(self, indication, device_handler):
        #     ind_info: {'_object_type': <str>
        #                'actv_status': <str>}
        self.log.info("access-term-ind", indication=indication)
        ind_info = dict()
        ind_info['_object_type'] = 'access_terminal_indication'
        ind_info['_sub_group_type'] = 'access_terminal_indication'
        ind_info['activation_successful'] = False
        ind_info['deactivation_successful'] = False
        if indication.access_term_ind.data.admin_state == \
           bal_model_types_pb2.BAL_STATE_UP:
            if indication.access_term_ind.data.oper_status == \
               bal_model_types_pb2.BAL_STATUS_UP:
                ind_info['activation_successful'] = True
        elif indication.access_term_ind.data.admin_state == \
             bal_model_types_pb2.BAL_STATE_DOWN:
            if indication.access_term_ind.data.oper_status == \
               bal_model_types_pb2.BAL_STATUS_DOWN:
                ind_info['deactivation_successful'] = True

        reactor.callLater(0, device_handler.handle_access_term_ind, ind_info,
                          indication.access_term_ind)
        bal_err = bal_pb2.BalErr()
        bal_err.err = bal_errno_pb2.BAL_ERR_OK
        return bal_err
Пример #3
0
 def bal_flow_processing_error(self, indication, device_handler):
     # TODO: No error handling.
     self.log.debug("flow-processing-error", indication=indication)
     # dummy response
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #4
0
 def bal_tm_sched_oper_status_change(self, indication, device_handler):
     ind_info = dict()
     ind_info['_object_type'] = 'tm_sched_indication'
     ind_info['_sub_group_type'] = 'tm_sched_indication'
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #5
0
 def bal_acc_term_processing_error(self, indication, device_handler):
     # TODO: No error handling currently.
     self.log.error("access-term-processing-error", indication=indication)
     # return a dummy response
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #6
0
    def bal_subs_term_ind(self, indication, device_handler):
        #     ind_info: {'_object_type': <str>
        #                '_sub_group_type': <str>
        #                '_device_id': <str>
        #                '_pon_id' : <int>
        #                'onu_id' : <int>
        #                '_vendor_id' : <str>
        #                '__vendor_specific' : <str>
        #                'activation_successful':[True or False]}
        onu_data = indication.terminal_ind
        ind_info = dict()
        ind_info['_object_type'] = 'sub_term_indication'
        ind_info['_sub_group_type'] = 'sub_term_indication'
        ind_info['_pon_id'] = onu_data.key.intf_id
        ind_info['onu_id'] = onu_data.key.sub_term_id
        ind_info['_vendor_id'] = onu_data.data.serial_number.vendor_id
        ind_info['_vendor_specific'] = \
            onu_data.data.serial_number.vendor_specific
        if (bal_model_types_pb2.BAL_STATE_DOWN == onu_data.data.admin_state):
            ind_info['activation_successful'] = False
        elif (bal_model_types_pb2.BAL_STATE_UP == onu_data.data.admin_state):
            ind_info['activation_successful'] = True

        reactor.callLater(0, device_handler.handle_sub_term_ind, ind_info)
        bal_err = bal_pb2.BalErr()
        bal_err.err = bal_errno_pb2.BAL_ERR_OK
        return bal_err
Пример #7
0
    def bal_subs_term_dgi_ind(self, indication, device_handler):
        #     ind_info: {'_object_type': <str>
        #                '_device_id': <str>
        #                '_pon_id' : <int>
        #                'onu_id' : <int>
        #                '_vendor_id' : <str>
        #                '__vendor_specific' : <str>
        #                'activation_successful':[True or False]}
        dgi_status = indication.terminal_dgi.data.dgi_status
        if dgi_status != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE:
            ind_info = dict()
            ind_info['_object_type'] = 'sub_term_indication'
            ind_info['_sub_group_type'] = 'dgi_indication'

            balSubTermDgi_Dict = {}
            balSubTermDgi_Dict["dgi_status"] = dgi_status.__str__()
            reactor.callLater(0,
                              device_handler.BalSubsTermDgiAlarm, \
                              indication.device_id, \
                              indication.terminal_dgi.key.intf_id,\
                              indication.terminal_dgi.key.sub_term_id, \
                              dgi_status,balSubTermDgi_Dict, ind_info)
        bal_err = bal_pb2.BalErr()
        bal_err.err = bal_errno_pb2.BAL_ERR_OK
        return bal_err
Пример #8
0
 def bal_pkt_ieee_oam_channel_rx_ind(self, indication, device_handler):
     ind_info = dict()
     ind_info['_object_type'] = 'packet_in_indication'
     ind_info['_sub_group_type'] = 'ieee_oam_message'
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #9
0
 def bal_group_ind(self, indication, device_handler):
     ind_info = dict()
     ind_info['_object_type'] = 'group_indication'
     ind_info['_sub_group_type'] = 'group_indication'
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #10
0
    def BalSubsTermInd(self, request, context):
        #     ind_info: {'_object_type': <str>
        #                '_sub_group_type': <str>
        #                '_device_id': <str>
        #                '_pon_id' : <int>
        #                'onu_id' : <int>
        #                '_vendor_id' : <str>
        #                '__vendor_specific' : <str>
        #                'activation_successful':[True or False]}
        device_id = request.device_id.decode('unicode-escape')
        self.log.info('Subscriber terminal indication received',
                      device_id=device_id, obj_type=request.objType)
        onu_data = request.terminal_ind
        ind_info = dict()
        ind_info['_object_type'] = 'sub_term_indication'
        ind_info['_sub_group_type'] = 'sub_term_indication'
        ind_info['_device_id'] = device_id
        ind_info['_pon_id'] = onu_data.key.intf_id
        ind_info['onu_id'] = onu_data.key.sub_term_id
        ind_info['_vendor_id'] = onu_data.data.serial_number.vendor_id
        ind_info['_vendor_specific'] = \
            onu_data.data.serial_number.vendor_specific
        if (bal_model_types_pb2.BAL_STATE_DOWN == onu_data.data.admin_state):
            ind_info['activation_successful'] = False
        elif (bal_model_types_pb2.BAL_STATE_UP == onu_data.data.admin_state):
            ind_info['activation_successful'] = True

        device_handler = self.adapter.devices_handlers[device_id]
        reactor.callLater(0,
                          device_handler.handle_sub_term_ind,
                          ind_info)
        bal_err = bal_pb2.BalErr()
        bal_err.err = bal_errno_pb2.BAL_ERR_OK
        return bal_err
Пример #11
0
    def BalSubsTermDgiInd(self, request, context):
        self.log.info('Subscriber terminal Indication received')
        #     ind_info: {'_object_type': <str>
        #                '_device_id': <str>
        #                '_pon_id' : <int>
        #                'onu_id' : <int>
        #                '_vendor_id' : <str>
        #                '__vendor_specific' : <str>
        #                'activation_successful':[True or False]}
        device_id = request.device_id.decode('unicode-escape')
        self.log.info('Subscriber terminal dying gasp',\
                      device_id=device_id, obj_type=request.objType)

        dgi_status = request.terminal_dgi.data.dgi_status

        if dgi_status != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE:

           balSubTermDgi_Dict = { }
           balSubTermDgi_Dict["dgi_status"]=dgi_status.__str__()

           device_handler = self.adapter.devices_handlers[device_id]
           reactor.callLater(0,
                             device_handler.BalSubsTermDgiAlarm,
                             device_id,request.terminal_dgi.key.intf_id,\
                             dgi_status,balSubTermDgi_Dict)
        '''
        ind_info = dict()
        ind_info['_object_type'] = 'sub_term_indication'
        ind_info['_sub_group_type'] = 'dgi_indication'
        '''
        bal_err = bal_pb2.BalErr()
        bal_err.err = bal_errno_pb2.BAL_ERR_OK
        return bal_err
Пример #12
0
 def BalIfaceInd(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Interface indication Received',
                   device_id=device_id, obj_type=request.objType)
     self.log.info('Awaiting ONU discovery')
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #13
0
 def BalSubsTermOperStsCng(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Not-implemented-yet',
                   device_id=device_id, obj_type=request.objType)
     device_handler = self.adapter.devices_handlers[device_id]
     self.ind_handler.bal_subs_term_oper_sts_cng(request, device_handler)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #14
0
 def BalIfaceInd(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Interface-indication-Received',
                   device_id=device_id, obj_type=request.objType)
     device_handler = self.adapter.devices_handlers[device_id]
     self.ind_handler.bal_iface_ind(request, device_handler)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #15
0
 def BalIfaceLos(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Interface-Loss-Of-Signal-Alarm',\
                   device_id=device_id, obj_type=request.objType)
     device_handler = self.adapter.devices_handlers[device_id]
     self.ind_handler.bal_iface_los(request, device_handler)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #16
0
 def BalSubsTermLoociInd(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Subscriber-terminal-looci', \
                   device_id=device_id, obj_type=request.objType)
     device_handler = self.adapter.devices_handlers[device_id]
     self.ind_handler.bal_subs_term_looci_ind(request, device_handler)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #17
0
 def BalSubsTermProcErr(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Subscriber-terminal-processing-error-received',
                   device_id=device_id, obj_type=request.objType)
     device_handler = self.adapter.devices_handlers[device_id]
     self.ind_handler.bal_subs_term_processing_error(request, device_handler)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #18
0
 def bal_flow_oper_sts_cng(self, indication, device_handler):
     ind_info = dict()
     ind_info['_object_type'] = 'flow_indication'
     ind_info['_sub_group_type'] = 'oper_state_change'
     ind_info['_object_type'] = indication.objType
     ind_info['_sub_group_type'] = indication.sub_group
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #19
0
 def BalGroupInd(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Not-implemented-yet',
                   device_id=device_id, obj_type=request.objType)
     device_handler = self.adapter.devices_handlers[device_id]
     self.ind_handler.bal_group_ind(request, device_handler)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #20
0
 def bal_iface_ind(self, indication, device_handler):
     self.log.info('Awaiting-ONU-discovery')
     reactor.callLater(0,\
                       device_handler.BalIfaceIndication,\
                       indication.device_id.decode('unicode-escape'),\
                       indication.interface_ind.key.intf_id)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #21
0
 def BalFlowProcErr(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Received-bal-flow-processing-error',
                   device_id=device_id, obj_type=request.objType)
     device_handler = self.adapter.devices_handlers[device_id]
     self.ind_handler.bal_flow_processing_error(request, device_handler)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #22
0
 def BalTmSchedOperStatsChange(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Tm-Scheduler-Operation-status-change-received',
                   device_id=device_id, obj_type=request.objType)
     device_handler = self.adapter.devices_handlers[device_id]
     self.ind_handler.bal_tm_sched_oper_status_change(request, device_handler)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #23
0
 def BalSubTermActFailInd(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Subscriber-terminal-activation-fail-received',
                   device_id=device_id, obj_type=request.objType)
     device_handler = self.adapter.devices_handlers[device_id]
     self.ind_handler.bal_subs_term_activation_fail(request, device_handler)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #24
0
 def BalPktIeeeOamChannelRxInd(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Not implemented yet',
                   device_id=device_id, obj_type=request.objType)
     ind_info = dict()
     ind_info['_object_type'] = 'packet_in_indication'
     ind_info['_sub_group_type'] = 'ieee_oam_message'
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #25
0
 def BalAccTermOperStsCngInd(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Not implemented yet',
                   device_id=device_id, obj_type=request.objType)
     ind_info = dict()
     ind_info['_object_type'] = 'access_terminal_indication'
     ind_info['_sub_group_type'] = 'oper_state_change'
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #26
0
 def BalFlowInd(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Not implemented yet',
                   device_id=device_id, obj_type=request.objType)
     ind_info = dict()
     ind_info['_object_type'] = 'flow_indication'
     ind_info['_sub_group_type'] = 'flow_indication'
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #27
0
 def BalPktOmciChannelRxInd(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Received-OMCI-Messages',
                   device_id=device_id, obj_type=request.objType)
     device_handler = self.adapter.devices_handlers[device_id]
     self.ind_handler.bal_pkt_omci_channel_rx_ind(request,
                                                  device_handler)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #28
0
 def BalAccTermInd(self, request, context):
     device_id = request.device_id.decode('unicode-escape')
     self.log.info('Received-access-terminal-Indication',
                   device_id=device_id,
                   obj_type=request.objType)
     device_handler = self.adapter.devices_handlers[device_id]
     self.ind_handler.bal_acc_term_ind(request, device_handler)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #29
0
 def bal_iface_los(self, indication, device_handler):
     los_status = indication.interface_los.data.status
     if los_status != bal_model_types_pb2.BAL_ALARM_STATUS_NO__CHANGE:
         balIfaceLos_dict = dict()
         balIfaceLos_dict["los_status"] = los_status.__str__()
         reactor.callLater(0, device_handler.BalIfaceLosAlarm,
                           indication.device_id, indication, los_status,
                           balIfaceLos_dict)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err
Пример #30
0
 def bal_pkt_omci_channel_rx_ind(self, indication, device_handler):
     ind_info = dict()
     ind_info['_object_type'] = 'packet_in_indication'
     ind_info['_sub_group_type'] = 'omci_message'
     packet_data = indication.balOmciResp.key.packet_send_dest
     ind_info['onu_id'] = packet_data.itu_omci_channel.sub_term_id
     ind_info['packet'] = indication.balOmciResp.data.pkt
     self.log.info('ONU-Id-is',
                   onu_id=packet_data.itu_omci_channel.sub_term_id)
     reactor.callLater(0, device_handler.handle_omci_ind, ind_info)
     bal_err = bal_pb2.BalErr()
     bal_err.err = bal_errno_pb2.BAL_ERR_OK
     return bal_err