def send_voice72(self, _rx_slot, _ambe): rtpHeader = self.generate_rtp_header(_rx_slot, RTP_PAYLOAD_VOICE, 0) ipscHeader = self.generate_ipsc_voice_header(_rx_slot) ambe72_1 = BitArray('0x' + ahex(_ambe[0:9]))[0:72] ambe72_2 = BitArray('0x' + ahex(_ambe[9:18]))[0:72] ambe72_3 = BitArray('0x' + ahex(_ambe[18:27]))[0:72] ambe49_1 = ambe_utils.convert72BitTo49BitAMBE(ambe72_1) ambe49_2 = ambe_utils.convert72BitTo49BitAMBE(ambe72_2) ambe49_3 = ambe_utils.convert72BitTo49BitAMBE(ambe72_3) ambe49_1.append(False) ambe49_2.append(False) ambe49_3.append(False) ambe = ambe49_1 + ambe49_2 + ambe49_3 # this will change to SLOT2_VOICE if _rx_slot.slot is 2 burst = self.generate_ipsc_voice_burst(_rx_slot, BURST_DATA_TYPE['SLOT1_VOICE'], _ambe) frame = ipscHeader + rtpHeader + burst self.send_ipsc(_rx_slot.slot, frame) _rx_slot.vf = (_rx_slot.vf + 1) % 6 # the voice frame counter which is always mod 6 pass
def send_voice72(self, _rx_slot, _ambe): ambe72_1 = BitArray('0x' + ahex(_ambe[0:9]))[0:72] ambe72_2 = BitArray('0x' + ahex(_ambe[9:18]))[0:72] ambe72_3 = BitArray('0x' + ahex(_ambe[18:27]))[0:72] ambe49_1 = ambe_utils.convert72BitTo49BitAMBE(ambe72_1) ambe49_2 = ambe_utils.convert72BitTo49BitAMBE(ambe72_2) ambe49_3 = ambe_utils.convert72BitTo49BitAMBE(ambe72_3) ambe49_1.append(False) ambe49_2.append(False) ambe49_3.append(False) ambe = ambe49_1 + ambe49_2 + ambe49_3 _frame = self._tempVoice[_rx_slot.vf][:33] + ambe.tobytes() + self._tempVoice[_rx_slot.vf][52:] # Insert the 3 49 bit AMBE frames self.rewriteFrame(_frame, _rx_slot.slot, _rx_slot.dst_id, _rx_slot.rf_src, _rx_slot.repeater_id) _rx_slot.vf = (_rx_slot.vf + 1) % 6 # the voice frame counter which is always mod 6 pass