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