Given a valid short number, determines whether it is carrier-specific
    (however, nothing is implied about its validity).  Carrier-specific numbers
    may connect to a different end-point, or not connect at all, depending
    on the user's carrier. If it is important that the number is valid, then
    its validity must first be checked using is_valid_short_number or
    is_valid_short_number_for_region.

    Arguments:
    numobj -- the valid short number to check

    Returns whether the short number is carrier-specific, assuming the input
    was a valid short number.

def is_carrier_specific(numobj):
    """Given a valid short number, determines whether it is carrier-specific
    (however, nothing is implied about its validity).  Carrier-specific numbers
    may connect to a different end-point, or not connect at all, depending
    on the user's carrier. If it is important that the number is valid, then
    its validity must first be checked using is_valid_short_number or
    is_valid_short_number_for_region.

    Arguments:
    numobj -- the valid short number to check

    Returns whether the short number is carrier-specific, assuming the input
    was a valid short number.
    """
    region_codes = region_codes_for_country_code(numobj.country_code)
    region_code = _region_code_for_short_number_from_region_list(numobj, region_codes)
    national_number = national_significant_number(numobj)
    metadata = PhoneMetadata.short_metadata_for_region(region_code)
    return (metadata is not None and
            _matches_possible_number_and_national_number(national_number, metadata.carrier_specific))