|
|
|
|
@ -1396,21 +1396,18 @@ static void json_restore_call(struct redis *r, struct callmaster *m, const str *
|
|
|
|
|
JsonParser *parser =0;
|
|
|
|
|
|
|
|
|
|
rr_jsonStr = redis_get(r, REDIS_REPLY_STRING, "GET " PB, STR(callid));
|
|
|
|
|
if (!rr_jsonStr) {
|
|
|
|
|
rlog(LOG_ERR, "Could not retrieve json data from redis for key: "STR_FORMAT, STR_FMT(callid));
|
|
|
|
|
err = "could not retrieve JSON data from redis";
|
|
|
|
|
if (!rr_jsonStr)
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
parser = json_parser_new();
|
|
|
|
|
if (!json_parser_load_from_data (parser, rr_jsonStr->str, -1, NULL)) {
|
|
|
|
|
rlog(LOG_DEBUG, "Could not parse json data !");
|
|
|
|
|
err = "could not parse JSON data";
|
|
|
|
|
if (!json_parser_load_from_data (parser, rr_jsonStr->str, -1, NULL))
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
root_reader = json_reader_new (json_parser_get_root (parser));
|
|
|
|
|
if (!root_reader) {
|
|
|
|
|
rlog(LOG_DEBUG, "Could not read json data !");
|
|
|
|
|
err = "could not read JSON data";
|
|
|
|
|
if (!root_reader)
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
c = call_get_or_create(callid, m, type);
|
|
|
|
|
err = "failed to create call struct";
|
|
|
|
|
@ -1532,8 +1529,11 @@ err1:
|
|
|
|
|
err);
|
|
|
|
|
if (c)
|
|
|
|
|
call_destroy(c);
|
|
|
|
|
else
|
|
|
|
|
else {
|
|
|
|
|
mutex_lock(&m->conf.redis_write->lock);
|
|
|
|
|
redisCommandNR(m->conf.redis_write->ctx, "DEL " PB, STR(callid));
|
|
|
|
|
mutex_unlock(&m->conf.redis_write->lock);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (c)
|
|
|
|
|
obj_put(c);
|
|
|
|
|
|