<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def call_rpc(*inputs, **kwargs):
 """Call an RPC based on the encoded value read from input b. The response of the RPC must be a 4 byte value that is used as the output of this call. The encoded RPC must be a 32 bit value encoded as "BBH": B: ignored, should be 0 B: the address of the tile that we should call H: The id of the RPC to call All other readings are then skipped so that there are no readings in any input queue when this function returns Returns: list(IOTileReading) """


    rpc_executor = kwargs['rpc_executor']

    output = []
    try:
        value = inputs[1].pop()

        addr = value.value >> 16
        rpc_id = value.value & 0xFFFF

        reading_value = rpc_executor.rpc(addr, rpc_id)
        output.append(IOTileReading(0, 0, reading_value))
    except (HardwareError, StreamEmptyError):
        pass

    for input_x in inputs:
        input_x.skip_all()

    return output