def _group_transaction_messages(self, messages): ''' Group together the SIP transactions. ''' transactions = {} for message in sorted(messages, key=itemgetter('utc')): if message['protocol'] == 'SIP': sipmessage = SipMessage() sipmessage.load(message) key = sipmessage.get_transaction_id() if key in transactions.keys(): transactions[key].append(sipmessage) else: transactions[key] = [sipmessage] return transactions