def sendChannelJoinRequest(self, channelId): """ @summary: Send a formated Channel join request from client to server client automata function @param channelId: {integer} id of channel requested """ self._transport.send((self.writeMCSPDUHeader(UInt8(DomainMCSPDU.CHANNEL_JOIN_REQUEST)), per.writeInteger16(self._userId, Channel.MCS_USERCHANNEL_BASE), per.writeInteger16(channelId)))
def sendChannelJoinConfirm(self, channelId, confirm): """ @summary: Send a confirm channel (or not) to client @param channelId: {integer} id of channel @param confirm: {boolean} connection state """ self._transport.send((self.writeMCSPDUHeader(UInt8(DomainMCSPDU.CHANNEL_JOIN_CONFIRM), 2), per.writeEnumerates(int(confirm)), per.writeInteger16(self._userId, Channel.MCS_USERCHANNEL_BASE), per.writeInteger16(channelId), per.writeInteger16(channelId)))
def send(self, channelId, data): """ @summary: Specific send function for channelId @param channelId: {integer} Channel use to send @param data: {type.type | tuple} message to send """ self._transport.send((self.writeMCSPDUHeader(UInt8(self._sendOpcode)), per.writeInteger16(self._userId, Channel.MCS_USERCHANNEL_BASE), per.writeInteger16(channelId), UInt8(0x70), per.writeLength(sizeof(data)), data))
def sendChannelJoinConfirm(self, channelId, confirm): """ @summary: Send a confirm channel (or not) to client @param channelId: {integer} id of channel @param confirm: {boolean} connection state """ self._transport.send( (self.writeMCSPDUHeader(UInt8(DomainMCSPDU.CHANNEL_JOIN_CONFIRM), 2), per.writeEnumerates(int(confirm)), per.writeInteger16(self._userId, Channel.MCS_USERCHANNEL_BASE), per.writeInteger16(channelId), per.writeInteger16(channelId)))
def sendAttachUserConfirm(self): """ @summary: Send attach user confirm """ self._transport.send((self.writeMCSPDUHeader(UInt8(DomainMCSPDU.ATTACH_USER_CONFIRM), 2), per.writeEnumerates(0), per.writeInteger16(self._userId, Channel.MCS_USERCHANNEL_BASE)))
def writeConferenceCreateResponse(serverData): """ Write a conference create response packet @param serverData: Settings for server @return: gcc packet """ serverDataStream = Stream() serverDataStream.writeType(serverData) return (per.writeChoice(0), per.writeObjectIdentifier(t124_02_98_oid), per.writeLength(len(serverDataStream.getvalue()) + 14), per.writeChoice(0x14), per.writeInteger16(0x79F3, 1001), per.writeInteger(1), per.writeEnumerates(16), per.writeNumberOfSet(1), per.writeChoice(0xc0), per.writeOctetStream(h221_sc_key, 4), per.writeOctetStream(serverDataStream.getvalue()))
def writeConferenceCreateResponse(serverData): """ @summary: Write a conference create response packet @param serverData: Settings for server @return: gcc packet """ serverDataStream = Stream() serverDataStream.writeType(serverData) return (per.writeChoice(0), per.writeObjectIdentifier(t124_02_98_oid), per.writeLength(len(serverDataStream.getvalue()) + 14), per.writeChoice(0x14), per.writeInteger16(0x79F3, 1001), per.writeInteger(1), per.writeEnumerates(0), per.writeNumberOfSet(1), per.writeChoice(0xc0), per.writeOctetStream(h221_sc_key, 4), per.writeOctetStream(serverDataStream.getvalue()))