Given a valid short number, determines whether it is an SMS service
    (however, nothing is implied about its validity). An SMS service is where
    the primary or only intended usage is to receive and/or send text messages
    (SMSs). This includes MMS as MMS numbers downgrade to SMS if the other
    party isn't MMS-capable. 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.  Returns False if the number doesn't
    match the region provided.

    Arguments:
    numobj -- the valid short number to check
    region_dialing_from -- the region from which the number is dialed

    Returns whether the short number is an SMS service in the provided region,
    assuming the input was a valid short number.

def is_sms_service_for_region(numobj, region_dialing_from):
    """Given a valid short number, determines whether it is an SMS service
    (however, nothing is implied about its validity). An SMS service is where
    the primary or only intended usage is to receive and/or send text messages
    (SMSs). This includes MMS as MMS numbers downgrade to SMS if the other
    party isn't MMS-capable. 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.  Returns False if the number doesn't
    match the region provided.

    Arguments:
    numobj -- the valid short number to check
    region_dialing_from -- the region from which the number is dialed

    Returns whether the short number is an SMS service in the provided region,
    assuming the input was a valid short number.
    """
    if not _region_dialing_from_matches_number(numobj, region_dialing_from):
        return False
    metadata = PhoneMetadata.short_metadata_for_region(region_dialing_from)
    return (metadata is not None and
            _matches_possible_number_and_national_number(national_significant_number(numobj), metadata.sms_services))