login : null, /// auth login
passwd : null, /// auth passwd
sessid : null,
+ loginParams : null,
getSocket : function(onmessage_cb) { return self._getSocket(onmessage_cb); }
}, options);
};
$.JsonRpcClient.prototype.closeSocket = function() {
+ var self = this;
if (self.socketReady()) {
- this._ws_socket.onclose = function (w) {console.log("Closing Socket");};
- this._ws_socket.close();
+ self._ws_socket.onclose = function (w) {console.log("Closing Socket");};
+ self._ws_socket.close();
}
};
$.JsonRpcClient.prototype.loginData = function(params) {
+ var self = this;
self.options.login = params.login;
self.options.passwd = params.passwd;
+ self.options.loginParams = params.loginParams;
};
$.JsonRpcClient.prototype.connectSocket = function(onmessage_cb) {
if (!self.authing && response.error.code == -32000 && self.options.login && self.options.passwd) {
self.authing = true;
- this.call("login", { login: self.options.login, passwd: self.options.passwd},
+ this.call("login", { login: self.options.login, passwd: self.options.passwd, loginParams: self.options.loginParams},
this._ws_callbacks[response.id].request_obj.method == "login" ?
function(e) {
self.authing = false;
tag: null,
videoParams: {},
audioParams: {},
+ loginParams: {},
iceServers: false,
ringSleep: 6000
}, options);
login: verto.options.login,
passwd: verto.options.passwd,
socketUrl: verto.options.socketUrl,
+ loginParams: verto.options.loginParams,
sessid: verto.sessid,
onmessage: function(e) {
return verto.handleMessage(e.eventData);
switch_bool_t r = SWITCH_FALSE;
const char *passwd = NULL;
const char *login = NULL;
+ cJSON *login_params = NULL;
if (!params) {
*code = CODE_AUTH_FAILED;
switch_event_create(&req_params, SWITCH_EVENT_REQUEST_PARAMS);
switch_assert(req_params);
+ if ((login_params = cJSON_GetObjectItem(params, "loginParams"))) {
+ cJSON * i;
+
+ for(i = login_params->child; i; i = i->next) {
+ if (i->type == cJSON_True) {
+ switch_event_add_header_string(req_params, SWITCH_STACK_BOTTOM, i->string, "true");
+ } else if (i->type == cJSON_False) {
+ switch_event_add_header_string(req_params, SWITCH_STACK_BOTTOM, i->string, "false");
+ } else if (!zstr(i->string) && !zstr(i->valuestring)) {
+ switch_event_add_header_string(req_params, SWITCH_STACK_BOTTOM, i->string, i->valuestring);
+ }
+ }
+
+ DUMP_EVENT(req_params);
+
+ }
+
switch_event_add_header_string(req_params, SWITCH_STACK_BOTTOM, "action", "jsonrpc-authenticate");
if (switch_xml_locate_user_merged("id", id, domain, NULL, &x_user, req_params) != SWITCH_STATUS_SUCCESS && !jsock->profile->blind_reg) {