|
|
|
|
@ -1448,6 +1448,43 @@ const char *janus_trickle(JsonReader *reader, struct janus_session *session, uin
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static const char *janus_server_info(JsonBuilder *builder) {
|
|
|
|
|
json_builder_set_member_name(builder, "name");
|
|
|
|
|
json_builder_add_string_value(builder, "rtpengine Janus interface");
|
|
|
|
|
json_builder_set_member_name(builder, "version_string");
|
|
|
|
|
json_builder_add_string_value(builder, RTPENGINE_VERSION);
|
|
|
|
|
json_builder_set_member_name(builder, "plugins");
|
|
|
|
|
json_builder_begin_object(builder); // {
|
|
|
|
|
json_builder_set_member_name(builder, "janus.plugin.videoroom");
|
|
|
|
|
json_builder_begin_object(builder); // {
|
|
|
|
|
json_builder_set_member_name(builder, "name");
|
|
|
|
|
json_builder_add_string_value(builder, "rtpengine Janus videoroom");
|
|
|
|
|
json_builder_end_object(builder); // }
|
|
|
|
|
json_builder_end_object(builder); // }
|
|
|
|
|
return "server_info";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void janus_finish_response(JsonBuilder *builder, const char *success, const char *err, int retcode) {
|
|
|
|
|
json_builder_set_member_name(builder, "janus");
|
|
|
|
|
if (err) {
|
|
|
|
|
json_builder_add_string_value(builder, "error");
|
|
|
|
|
|
|
|
|
|
json_builder_set_member_name(builder, "error");
|
|
|
|
|
json_builder_begin_object(builder); // {
|
|
|
|
|
json_builder_set_member_name(builder, "code");
|
|
|
|
|
json_builder_add_int_value(builder, retcode);
|
|
|
|
|
json_builder_set_member_name(builder, "reason");
|
|
|
|
|
json_builder_add_string_value(builder, err);
|
|
|
|
|
json_builder_end_object(builder); // }
|
|
|
|
|
|
|
|
|
|
ilog(LOG_WARN, "Janus processing returning error (code %i): %s", retcode, err);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
json_builder_add_string_value(builder, success);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const char *websocket_janus_process(struct websocket_message *wm) {
|
|
|
|
|
JsonParser *parser = NULL;
|
|
|
|
|
JsonReader *reader = NULL;
|
|
|
|
|
@ -1545,19 +1582,7 @@ const char *websocket_janus_process(struct websocket_message *wm) {
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case CSH_LOOKUP("info"):
|
|
|
|
|
success = "server_info";
|
|
|
|
|
json_builder_set_member_name(builder, "name");
|
|
|
|
|
json_builder_add_string_value(builder, "rtpengine Janus interface");
|
|
|
|
|
json_builder_set_member_name(builder, "version_string");
|
|
|
|
|
json_builder_add_string_value(builder, RTPENGINE_VERSION);
|
|
|
|
|
json_builder_set_member_name(builder, "plugins");
|
|
|
|
|
json_builder_begin_object(builder); // {
|
|
|
|
|
json_builder_set_member_name(builder, "janus.plugin.videoroom");
|
|
|
|
|
json_builder_begin_object(builder); // {
|
|
|
|
|
json_builder_set_member_name(builder, "name");
|
|
|
|
|
json_builder_add_string_value(builder, "rtpengine Janus videoroom");
|
|
|
|
|
json_builder_end_object(builder); // }
|
|
|
|
|
json_builder_end_object(builder); // }
|
|
|
|
|
success = janus_server_info(builder);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case CSH_LOOKUP("create"): // create new session
|
|
|
|
|
@ -1592,22 +1617,7 @@ const char *websocket_janus_process(struct websocket_message *wm) {
|
|
|
|
|
// done
|
|
|
|
|
|
|
|
|
|
err:
|
|
|
|
|
json_builder_set_member_name(builder, "janus");
|
|
|
|
|
if (err) {
|
|
|
|
|
json_builder_add_string_value(builder, "error");
|
|
|
|
|
|
|
|
|
|
json_builder_set_member_name(builder, "error");
|
|
|
|
|
json_builder_begin_object(builder); // {
|
|
|
|
|
json_builder_set_member_name(builder, "code");
|
|
|
|
|
json_builder_add_int_value(builder, retcode);
|
|
|
|
|
json_builder_set_member_name(builder, "reason");
|
|
|
|
|
json_builder_add_string_value(builder, err);
|
|
|
|
|
json_builder_end_object(builder); // }
|
|
|
|
|
|
|
|
|
|
ilog(LOG_WARN, "Janus processing returning error (code %i): %s", retcode, err);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
json_builder_add_string_value(builder, success);
|
|
|
|
|
janus_finish_response(builder, success, err, retcode);
|
|
|
|
|
|
|
|
|
|
if (transaction) {
|
|
|
|
|
json_builder_set_member_name(builder, "transaction");
|
|
|
|
|
|