def ccc2ID(channel, cc, page=0, device_number=0):
    """
    Turns a combination of channel and cc into a Control ID.

    The ID is nothing more than an enumeration of all possible
    channel + cc combinations
    >>> ccc2ID(1, 0)
    0
    >>> ccc2ID(1, 1)
    1
    >>> ccc2ID(1, 127)
    127
    >>> ccc2ID(2, 0)
    128 
    >>> ccc2ID(16, 127)
    2047 
    """
    return ((channel - 1) * 128 + cc + device_number * 128 * 16) + (page * 128 * 16)