# File sipper/sipper_configurator.rb, line 314
  def SipperConfigurator.load_yaml_file(file)
    begin
      lsip = lspo = rsip = rspo = nil   
      io = File.new(file, "r")
      @@comment_str = ""
      io.each do |line|
        if line =~ /# ----/
          break
        else  
          @@comment_str << line
        end
      end
      obj = YAML::load(io)
      if obj.class == Hash
        if SipperConfigurator[:CommandlineBitmask]
          lsip = SipperConfigurator[:LocalSipperIP] if ((SipperConfigurator[:CommandlineBitmask] | 8) == SipperConfigurator[:CommandlineBitmask])  
          lspo = SipperConfigurator[:LocalSipperPort] if ((SipperConfigurator[:CommandlineBitmask] | 4) == SipperConfigurator[:CommandlineBitmask])
          rsip = SipperConfigurator[:DefaultRIP] if ((SipperConfigurator[:CommandlineBitmask] | 2) == SipperConfigurator[:CommandlineBitmask])
          rspo = SipperConfigurator[:DefaultRP] if ((SipperConfigurator[:CommandlineBitmask] | 1) == SipperConfigurator[:CommandlineBitmask])
        end
        @@cfg_hash = @@cfg_hash.merge(obj)
        SipperConfigurator[:LocalSipperIP] = lsip if lsip
        SipperConfigurator[:LocalSipperPort] = lspo if lspo
        SipperConfigurator[:DefaultRIP] = rsip if rsip
        SipperConfigurator[:DefaultRP] = rspo if rspo
      else
        msg = "Object read from file #{file} is not a configuration"
        raise TypeError, msg
      end
    rescue IOError
      msg = "#{file} is not a proper file"
      raise TypeError, msg
    ensure
      io.close  if io  
    end 
  end