<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def createDataChannel(self, label, maxPacketLifeTime=None, maxRetransmits=None, ordered=True, protocol='', negotiated=False, id=None):
 """ Create a data channel with the given label. :rtype: :class:`RTCDataChannel` """

        if maxPacketLifeTime is not None and maxRetransmits is not None:
            raise ValueError('Cannot specify both maxPacketLifeTime and maxRetransmits')

        if not self.__sctp:
            self.__createSctpTransport()

        parameters = RTCDataChannelParameters(
            id=id,
            label=label,
            maxPacketLifeTime=maxPacketLifeTime,
            maxRetransmits=maxRetransmits,
            negotiated=negotiated,
            ordered=ordered,
            protocol=protocol)
        return RTCDataChannel(self.__sctp, parameters)