code: function Plivo(keys){
    if (!keys) return
    this.name = "plivo"
    this.keys = keys
  
    this.initialize = function() {
      this.client = plivo.RestAPI({
        authId: this.keys.auth_id,
        authToken: this.keys.auth_token
      });
    }
  
    this.send = function(data, callback) {
      var context = this;
      var from = data.from || this.keys.from_phone;
      var params = {
        src: from,
        dst: data.to,
        text: data.message,
        type: "sms" 
      }
  
      this.client.send_message(params, function(status, result) {
        var plivoStat;
  
        if (status >= 200 && status < 300) {
          plivoStat = new PlivoSuccessStatus(result);
          debug("-_-_ sent with plivo _-_-");
          result.service = context;
          result.status = plivoStat;
          debug(result);
          return callback(null, result);
  
        } else {
          plivoStat = new PlivoErrorStatus(status, result);
          debug("-_-_ FAILED with plivo _-_-");
          debug(status, result);
          debug(plivoStat);
          return callback(plivoStat);
        }
      });
    }
  
    this.initialize()
  
  }
docs: /*=============================================================================
  
  Define Plivo Service Provider
  
  =============================================================================