code: def _format_nsn(number, metadata, num_format, carrier_code=None):
      
      # Note in some regions, the national number can be written in two
      # completely different ways depending on whether it forms part of the
      # NATIONAL format or INTERNATIONAL format. The num_format parameter here
      # is used to specify which format to use for those cases. If a carrier_code
      # is specified, this will be inserted into the formatted string to replace
      # $CC.
      intl_number_formats = metadata.intl_number_format
  
      # When the intl_number_formats exists, we use that to format national
      # number for the INTERNATIONAL format instead of using the
      # number_desc.number_formats.
      if (len(intl_number_formats) == 0 or
          num_format == PhoneNumberFormat.NATIONAL):
          available_formats = metadata.number_format
      else:
          available_formats = metadata.intl_number_format
      formatting_pattern = _choose_formatting_pattern_for_number(available_formats, number)
      if formatting_pattern is None:
          return number
      else:
          return _format_nsn_using_pattern(number, formatting_pattern, num_format, carrier_code)
docs: Format a national number.