code: def is_correct(self):
          
          state = True
          cls = self.__class__
  
          # Internal checks before executing inherited function...
  
          # There is a case where there is no nw: when there is not special_prop defined
          # at all!!
          if not self.notificationways:
              for prop in self.special_properties:
                  if not hasattr(self, prop):
                      msg = "[contact::%s] %s property is missing" % (self.get_name(), prop)
                      self.add_error(msg)
                      state = False
  
          if not hasattr(self, 'contact_name'):
              if hasattr(self, 'alias'):
                  # Use the alias if we miss the contact_name
                  self.contact_name = self.alias
  
          for char in cls.illegal_object_name_chars:
              if char not in self.contact_name:
                  continue
  
              msg = "[contact::%s] %s character not allowed in contact_name" \
                    % (self.get_name(), char)
              self.add_error(msg)
              state = False
  
          return super(Contact, self).is_correct() and state
docs: Check if this object configuration is correct ::
  
          * Check our own specific properties
          * Call our parent class is_correct checker
  
          :return: True if the configuration is correct, otherwise False
          :rtype: bool