Save method for the CallDescriptor.

        If the CallDescriptor matches a past CallDescriptor it updates the existing
        database record corresponding to the hash. If it doesn't already exist it'll
        be INSERT'd.

def save( self ):
        """
        Save method for the CallDescriptor.

        If the CallDescriptor matches a past CallDescriptor it updates the existing
        database record corresponding to the hash. If it doesn't already exist it'll
        be INSERT'd.
        """
        packets = self.__enumerate_packets( )
        delete_io( self.hash )
        for packet in packets:
            packet['hash'] = self.hash
            insert_io( packet )

        return self