code: function SSDP(opts) {
    var self = this
  
    if (!(this instanceof SSDP)) return new SSDP(opts)
  
    this._subclass = this._subclass || 'node-ssdp:base'
  
    opts = opts || {}
  
    this._logger = opts.customLogger || debug(this._subclass)
  
    EE.call(self)
  
    this._init(opts)
  }
docs: Options:
  
  @param {Object} opts
  @param {String} opts.ssdpSig SSDP signature
  @param {String} opts.ssdpIp SSDP multicast group
  @param {String} opts.ssdpPort SSDP port
  @param {Number} opts.ssdpTtl Multicast TTL
  @param {Number} opts.adInterval Interval at which to send out advertisement (ms)
  @param {String} opts.description Path to SSDP description file
  @param {String} opts.udn SSDP Unique Device Name
  @param {Object} opts.headers Additional headers
  @param {Array} opts.interfaces Names of interfaces to use. When set, other interfaces are ignored.
  
  @param {Number} opts.ttl Packet TTL
  @param {Boolean} opts.allowWildcards Allow wildcards in M-SEARCH packets (non-standard)
  
  @returns {SSDP}
  @constructor