message: Multi ip
  Add multi ip candidates support for endpoint
diff: @@ -32,18 +32,23 @@ class Endpoint
  constructor(ip)
  {
  //Store ip address of the endpoint
  - this.ip = ip;
  + this.ips = Array.isArray(ip) ? ip : [ip];
  //Create native endpoint
  this.bundle = new Native.RTPBundleTransport();
  //Start it
  this.bundle.Init();
  //Store all transports
  this.transports = new Set();
  - //Create candidate
  - this.candidate = new CandidateInfo("1", 1, "UDP", 33554431, ip, this.bundle.GetLocalPort(), "host");
  + //Create candidates
  + this.candidates = [];
  + for (let i=0; i<this.ips.length; i++) {
  + let priority = Math.pow(2,24) * (126-i) + (65535-i)*Math.pow(2,8) + 255;
  + this.candidates.push(new CandidateInfo("1", 1, "UDP", priority, this.ips[i], this.bundle.GetLocalPort(), "host"))
  + }
  //Get fingerprint (global at media server level currently)
  this.fingerprint = Native.MediaServer.GetFingerprint().toString();
  +
  //Create event emitter
  this.emitter = new EventEmitter();
  @@ -120,7 +125,7 @@ class Endpoint
  localInfo = {
  ice : ICEInfo.generate(true),
  dtls : new DTLSInfo(Setup.reverse(remoteInfo.dtls.getSetup()),"sha-256",this.fingerprint),
  - candidates : [this.candidate]
  + candidates : this.candidates
  };
  //If it is an SDPInfo object
  } else if (localInfo.constructor.name === "SDPInfo") {
  @@ -175,7 +180,7 @@ class Endpoint
  getLocalCandidates()
  {
  //Return local host candiadate as array
  - return [this.candidate];
  + return this.candidates;
  }
  