def timestamp_in(new, initial_boundary, end_boundary) -> bool:
    """
    Check if a new message timestamp is within the initial-end boundary
    and return True or False.

    :param new: new message to consider
    :param initial_boundary: trace msg that defines the initial boundary
    :param end_boundary: trace msg that defines the end boundary
    return: bool
    """
    init_ns = initial_boundary.default_clock_snapshot.ns_from_origin
    end_ns = end_boundary.default_clock_snapshot.ns_from_origin
    new_ns = new.default_clock_snapshot.ns_from_origin

    if (init_ns <= new_ns) and (new_ns <= end_ns):
        return True
    else:
        return False