switch_thread_rwlock_unlock(member->rwlock);
return SWITCH_STATUS_SUCCESS;
} else {
- stream->write_function(stream, "Member: %u not found.\n", id);
+ stream->write_function(stream, "-ERR Member: %u not found.\n", id);
}
}
switch_thread_rwlock_unlock(member->rwlock);
return SWITCH_STATUS_SUCCESS;
} else {
- stream->write_function(stream, "Member: %u not found.\n", id);
+ stream->write_function(stream, "-ERR Member: %u not found.\n", id);
}
}
conference_api_sub_commands[CONF_API_COMMAND_BGDIAL].psyntax);
}
} else {
- stream->write_function(stream, "Conference %s not found\n", argv[0]);
+ stream->write_function(stream, "-ERR Conference %s not found\n", argv[0]);
}
}
member->score_iir = 0;
if (stream != NULL) {
- stream->write_function(stream, "OK mute %u\n", member->id);
+ stream->write_function(stream, "+OK mute %u\n", member->id);
}
if (test_eflag(member->conference, EFLAG_MUTE_MEMBER) &&
}
if (stream != NULL) {
- stream->write_function(stream, "OK unmute %u\n", member->id);
+ stream->write_function(stream, "+OK unmute %u\n", member->id);
}
if (test_eflag(member->conference, EFLAG_MUTE_MEMBER) &&
}
if (!member->conference->canvases[0]) {
- stream->write_function(stream, "Conference is not in mixing mode\n");
+ stream->write_function(stream, "-ERR Conference is not in mixing mode\n");
return SWITCH_STATUS_SUCCESS;
}
if (stream != NULL) {
- stream->write_function(stream, "OK vmute image snapped %u\n", member->id);
+ stream->write_function(stream, "+OK vmute image snapped %u\n", member->id);
}
if (data && !strcasecmp((char *)data, "clear")) {
}
if (stream != NULL) {
- stream->write_function(stream, "OK vmute %u\n", member->id);
+ stream->write_function(stream, "+OK vmute %u\n", member->id);
}
if (test_eflag(member->conference, EFLAG_MUTE_MEMBER) &&
}
if (stream != NULL) {
- stream->write_function(stream, "OK unvmute %u\n", member->id);
+ stream->write_function(stream, "+OK unvmute %u\n", member->id);
}
if (test_eflag(member->conference, EFLAG_MUTE_MEMBER) &&
}
if (stream != NULL) {
- stream->write_function(stream, "OK vblind %u\n", member->id);
+ stream->write_function(stream, "+OK vblind %u\n", member->id);
}
if (test_eflag(member->conference, EFLAG_BLIND_MEMBER) &&
}
if (stream != NULL) {
- stream->write_function(stream, "OK unvblind %u\n", member->id);
+ stream->write_function(stream, "+OK unvblind %u\n", member->id);
}
if (test_eflag(member->conference, EFLAG_BLIND_MEMBER) &&
}
if (stream != NULL) {
- stream->write_function(stream, "OK deaf %u\n", member->id);
+ stream->write_function(stream, "+OK deaf %u\n", member->id);
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
}
if (stream != NULL) {
- stream->write_function(stream, "OK undeaf %u\n", member->id);
+ stream->write_function(stream, "+OK undeaf %u\n", member->id);
}
if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
}
if (stream != NULL) {
- stream->write_function(stream, "OK kicked %u\n", member->id);
+ stream->write_function(stream, "+OK kicked %u\n", member->id);
}
if (member->conference && test_eflag(member->conference, EFLAG_KICK_MEMBER)) {
}
if (stream != NULL) {
- stream->write_function(stream, "OK flipped %u\n", member->id);
+ stream->write_function(stream, "+OK flipped %u\n", member->id);
}
char *dtmf = (char *) data;
if (member == NULL) {
- stream->write_function(stream, "Invalid member!\n");
+ stream->write_function(stream, "-ERR Invalid member!\n");
return SWITCH_STATUS_GENERR;
}
if (zstr(dtmf)) {
- stream->write_function(stream, "Invalid input!\n");
+ stream->write_function(stream, "-ERR Invalid input!\n");
return SWITCH_STATUS_GENERR;
} else {
char *p;
}
if (stream != NULL) {
- stream->write_function(stream, "OK sent %s to %u\n", (char *) data, member->id);
+ stream->write_function(stream, "+OK sent %s to %u\n", (char *) data, member->id);
}
if (test_eflag(member->conference, EFLAG_DTMF_MEMBER) &&
}
if (conference_utils_member_test_flag(member, MFLAG_NO_POSITIONAL)) {
- if (stream) stream->write_function(stream,
- "%s has positional audio blocked.\n", switch_channel_get_name(member->channel));
+ if (stream) stream->write_function(stream,
+ "-ERR %s has positional audio blocked.\n", switch_channel_get_name(member->channel));
return SWITCH_STATUS_SUCCESS;
}
} else {
if (stream) {
- stream->write_function(stream, "Positional audio not avalilable %d\n", member->conference->channels);
+ stream->write_function(stream, "-ERR Positional audio not avalilable %d\n", member->conference->channels);
}
return SWITCH_STATUS_FALSE;
}
if (data) {
if (conference_member_parse_position(member, data) != SWITCH_STATUS_SUCCESS) {
if (stream) {
- stream->write_function(stream, "invalid input!\n");
+ stream->write_function(stream, "-ERR invalid input!\n");
}
return SWITCH_STATUS_FALSE;
}
if (stream != NULL) {
- stream->write_function(stream, "Position %u = %0.2f:%0.2f:%0.2f\n", member->id, member->al->pos_x, member->al->pos_y, member->al->pos_z);
+ stream->write_function(stream, "+OK Position %u = %0.2f:%0.2f:%0.2f\n", member->id, member->al->pos_x, member->al->pos_y, member->al->pos_z);
}
if (test_eflag(member->conference, EFLAG_SET_POSITION_MEMBER) &&
}
if (stream != NULL) {
- stream->write_function(stream, "Volume IN %u = %d\n", member->id, member->volume_in_level);
+ stream->write_function(stream, "+OK Volume IN %u = %d\n", member->id, member->volume_in_level);
}
if (test_eflag(member->conference, EFLAG_VOLUME_IN_MEMBER) &&
data && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
unlock_member(member);
}
if (stream != NULL) {
- stream->write_function(stream, "Volume OUT %u = %d\n", member->id, member->volume_out_level);
+ stream->write_function(stream, "+OK Volume OUT %u = %d\n", member->id, member->volume_out_level);
}
if (test_eflag(member->conference, EFLAG_VOLUME_OUT_MEMBER) && data &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
int sdiv = 0, fdiv = 0;
if (!conference_utils_test_flag(conference, CFLAG_MINIMIZE_VIDEO_ENCODING)) {
- stream->write_function(stream, "Bandwidth control not available.\n");
+ stream->write_function(stream, "-ERR Bandwidth control not available.\n");
return SWITCH_STATUS_SUCCESS;
}
if (!argv[2]) {
- stream->write_function(stream, "Invalid input\n");
+ stream->write_function(stream, "-ERR Invalid input\n");
return SWITCH_STATUS_SUCCESS;
}
if ((zstr(group) || !strcmp(group, switch_str_nil(canvas->write_codecs[j]->video_codec_group)))) {
switch_core_codec_control(&canvas->write_codecs[j]->codec, SCC_VIDEO_BANDWIDTH,
SCCT_INT, &video_write_bandwidth, SCCT_NONE, NULL, NULL, NULL);
- stream->write_function(stream, "Set Bandwidth for canvas %d index %d group[%s] to %d\n", i + 1, j,
+ stream->write_function(stream, "+OK Set Bandwidth for canvas %d index %d group[%s] to %d\n", i + 1, j,
switch_str_nil(canvas->write_codecs[j]->video_codec_group), video_write_bandwidth);
if (fdiv) {
end:
if (!x) {
- stream->write_function(stream, "Bandwidth not set\n");
+ stream->write_function(stream, "-ERR Bandwidth not set\n");
}
return SWITCH_STATUS_SUCCESS;
switch_status_t status = SWITCH_STATUS_FALSE;
if (!argv[2]) {
- stream->write_function(stream, "Invalid input\n");
+ stream->write_function(stream, "-ERR Invalid input\n");
return SWITCH_STATUS_SUCCESS;
}
}
if (idx < 0 || idx > SUPER_CANVAS_ID || !conference->canvases[idx]) {
- stream->write_function(stream, "Invalid canvas\n");
+ stream->write_function(stream, "-ERR Invalid canvas\n");
return SWITCH_STATUS_SUCCESS;
}
}
if (status == SWITCH_STATUS_SUCCESS) {
- stream->write_function(stream, "Set Bgimg %s\n", file);
+ stream->write_function(stream, "+OK Set Bgimg %s\n", file);
} else {
- stream->write_function(stream, "Error Setting Bgimg %s\n", file);
+ stream->write_function(stream, "-ERR Error Setting Bgimg %s\n", file);
}
return SWITCH_STATUS_SUCCESS;
switch_status_t status = SWITCH_STATUS_FALSE;
if (!argv[2]) {
- stream->write_function(stream, "Invalid input\n");
+ stream->write_function(stream, "-ERR Invalid input\n");
return SWITCH_STATUS_SUCCESS;
}
}
if (idx < 0 || idx > SUPER_CANVAS_ID || !conference->canvases[idx]) {
- stream->write_function(stream, "Invalid canvas\n");
+ stream->write_function(stream, "-ERR Invalid canvas\n");
return SWITCH_STATUS_SUCCESS;
}
}
if (status == SWITCH_STATUS_SUCCESS) {
- stream->write_function(stream, "Set FGimg %s\n", file);
+ stream->write_function(stream, "+OK Set FGimg %s\n", file);
} else {
- stream->write_function(stream, "Error Setting FGimg %s\n", file);
+ stream->write_function(stream, "-ERR Error Setting FGimg %s\n", file);
}
return SWITCH_STATUS_SUCCESS;
if (!conference->canvases[0]) {
- stream->write_function(stream, "Conference is not in mixing mode\n");
+ stream->write_function(stream, "-ERR Conference is not in mixing mode\n");
return SWITCH_STATUS_SUCCESS;
}
if (zstr(video_canvas_size)) {
- stream->write_function(stream, "Invalid size\n");
+ stream->write_function(stream, "-ERR Invalid size\n");
return SWITCH_STATUS_SUCCESS;
} else {
char *p;
}
if (canvas_w < 320 || canvas_h < 180) {
- stream->write_function(stream, "Invalid size\n");
+ stream->write_function(stream, "-ERR Invalid size\n");
return SWITCH_STATUS_SUCCESS;
}
float fps = 0;
if (!conference->canvases[0]) {
- stream->write_function(stream, "Conference is not in mixing mode\n");
+ stream->write_function(stream, "-ERR Conference is not in mixing mode\n");
return SWITCH_STATUS_SUCCESS;
}
if (!argv[2]) {
- stream->write_function(stream, "Current FPS [%0.2f]\n", conference->video_fps.fps);
+ stream->write_function(stream, "+OK Current FPS [%0.2f]\n", conference->video_fps.fps);
return SWITCH_STATUS_SUCCESS;
}
fps = (float)atof(argv[2]);
if (conference_video_set_fps(conference, fps)) {
- stream->write_function(stream, "FPS set to [%s]\n", argv[2]);
+ stream->write_function(stream, "+OK FPS set to [%s]\n", argv[2]);
} else {
- stream->write_function(stream, "Invalid FPS [%s]\n", argv[2]);
+ stream->write_function(stream, "-ERR Invalid FPS [%s]\n", argv[2]);
}
return SWITCH_STATUS_SUCCESS;
mcu_canvas_t *canvas = NULL;
if (!argv[2]) {
- stream->write_function(stream, "Invalid input\n");
+ stream->write_function(stream, "-ERR Invalid input\n");
return SWITCH_STATUS_SUCCESS;
}
if (!conference->canvas_count) {
- stream->write_function(stream, "Conference is not in mixing mode\n");
+ stream->write_function(stream, "-ERR Conference is not in mixing mode\n");
return SWITCH_STATUS_SUCCESS;
}
int idx = 0;
if (!argv[2]) {
- stream->write_function(stream, "Invalid input\n");
+ stream->write_function(stream, "-ERR Invalid input\n");
return SWITCH_STATUS_SUCCESS;
}
if (!conference->canvases[0]) {
- stream->write_function(stream, "Conference is not in mixing mode\n");
+ stream->write_function(stream, "-ERR Conference is not in mixing mode\n");
return SWITCH_STATUS_SUCCESS;
}
}
if (!group_name) {
- stream->write_function(stream, "Group name not specified.\n");
+ stream->write_function(stream, "-ERR Group name not specified.\n");
return SWITCH_STATUS_SUCCESS;
} else {
if (((lg = switch_core_hash_find(conference->layout_group_hash, group_name)))) {
if (conference_utils_test_flag(conference, CFLAG_PERSONAL_CANVAS)) {
- stream->write_function(stream, "Change personal canvas to layout group [%s]\n", group_name);
+ stream->write_function(stream, "-ERR Change personal canvas to layout group [%s]\n", group_name);
conference->video_layout_group = switch_core_strdup(conference->pool, group_name);
conference_utils_set_flag(conference, CFLAG_REFRESH_LAYOUT);
return SWITCH_STATUS_SUCCESS;
group_name = NULL;
}
- stream->write_function(stream, "Change to layout group [%s]\n", group_name);
+ stream->write_function(stream, "+OK Change to layout group [%s]\n", group_name);
if (argv[xx]) {
if ((idx = atoi(argv[xx])) > 0) {
}
if (!vlayout && !group_name) {
- stream->write_function(stream, "Invalid layout [%s]\n", argv[2]);
+ stream->write_function(stream, "-ERR Invalid layout [%s]\n", argv[2]);
return SWITCH_STATUS_SUCCESS;
}
if (conference_utils_test_flag(conference, CFLAG_PERSONAL_CANVAS)) {
- stream->write_function(stream, "Change personal canvas set to layout [%s]\n", vlayout->name);
+ stream->write_function(stream, "+OK Change personal canvas set to layout [%s]\n", vlayout->name);
switch_mutex_lock(conference->member_mutex);
conference->new_personal_vlayout = vlayout;
switch_mutex_unlock(conference->member_mutex);
switch_mutex_lock(conference->canvases[idx]->mutex);
if (vlayout) {
- stream->write_function(stream, "Change canvas %d to layout [%s]\n", idx + 1, vlayout->name);
+ stream->write_function(stream, "+OK Change canvas %d to layout [%s]\n", idx + 1, vlayout->name);
conference->canvases[idx]->new_vlayout = vlayout;
conference->canvases[idx]->video_layout_group = NULL;
} else if (group_name) {
switch_core_hash_this(hi, NULL, NULL, &val);
conference = (conference_obj_t *) val;
- stream->write_function(stream, "Conference %s (%u member%s rate: %u%s flags: ",
+ stream->write_function(stream, "+OK Conference %s (%u member%s rate: %u%s flags: ",
conference->name,
conference->count,
conference->count == 1 ? "" : "s", conference->rate, conference_utils_test_flag(conference, CFLAG_LOCKED) ? " locked" : "");
}
if (!count) {
- stream->write_function(stream, "No active conferences.\n");
+ stream->write_function(stream, "+OK No active conferences.\n");
}
ret_status = SWITCH_STATUS_SUCCESS;
if (member->conference->floor_holder == member) {
conference_member_set_floor_holder(member->conference, NULL);
if (stream != NULL) {
- stream->write_function(stream, "OK floor none\n");
+ stream->write_function(stream, "+OK floor none\n");
}
} else if (member->conference->floor_holder == NULL) {
conference_member_set_floor_holder(member->conference, member);
if (stream != NULL) {
- stream->write_function(stream, "OK floor %u\n", member->id);
+ stream->write_function(stream, "+OK floor %u\n", member->id);
}
} else {
if (stream != NULL) {
- stream->write_function(stream, "ERR floor is held by %u\n", member->conference->floor_holder->id);
+ stream->write_function(stream, "-ERR floor is held by %u\n", member->conference->floor_holder->id);
}
}
//conference_video_set_floor_holder(conference, NULL);
switch_mutex_unlock(conference->mutex);
- stream->write_function(stream, "OK floor Cleared\n", SWITCH_VA_NONE);
+ stream->write_function(stream, "+OK floor Cleared\n", SWITCH_VA_NONE);
return SWITCH_STATUS_SUCCESS;
}
end:
- stream->write_function(stream, "Video logo %s\n", member->video_logo ? "set" : "cleared");
+ stream->write_function(stream, "+OK Video logo %s\n", member->video_logo ? "set" : "cleared");
conference_video_release_layer(&layer);
switch_mutex_lock(member->conference->member_mutex);
member->video_codec_index = -1;
switch_mutex_unlock(member->conference->member_mutex);
- stream->write_function(stream, "Video codec group %s %s\n", member->video_codec_group ? "set" : "cleared", switch_str_nil(member->video_codec_group));
+ stream->write_function(stream, "+OK Video codec group %s %s\n", member->video_codec_group ? "set" : "cleared", switch_str_nil(member->video_codec_group));
} else {
- stream->write_function(stream, "Video codec group is %s\n", member->video_codec_group);
+ stream->write_function(stream, "+OK Video codec group is %s\n", member->video_codec_group);
}
switch_url_decode(text);
if (!switch_channel_test_flag(member->channel, CF_VIDEO)) {
- stream->write_function(stream, "Channel %s does not have video capability!\n", switch_channel_get_name(member->channel));
+ stream->write_function(stream, "-ERR Channel %s does not have video capability!\n", switch_channel_get_name(member->channel));
return SWITCH_STATUS_SUCCESS;
}
layer = conference_video_get_layer_locked(member);
if (!layer) {
- stream->write_function(stream, "Channel %s is not in a video layer\n", switch_channel_get_name(member->channel));
+ stream->write_function(stream, "-ERR Channel %s is not in a video layer\n", switch_channel_get_name(member->channel));
goto end;
}
if (zstr(text)) {
- stream->write_function(stream, "No text supplied\n", switch_channel_get_name(member->channel));
+ stream->write_function(stream, "-ERR No text supplied\n", switch_channel_get_name(member->channel));
goto end;
}
if (stream == NULL) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "conference %s OK video floor auto\n", member->conference->name);
} else {
- stream->write_function(stream, "OK floor none\n");
+ stream->write_function(stream, "+OK floor none\n");
}
} else if (force || member->conference->video_floor_holder == 0) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "conference %s OK video floor %d %s\n",
member->conference->name, member->id, switch_channel_get_name(member->channel));
} else {
- stream->write_function(stream, "OK floor %u\n", member->id);
+ stream->write_function(stream, "+OK floor %u\n", member->id);
}
}
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "conference %s floor already held by %d %s\n",
member->conference->name, member->id, switch_channel_get_name(member->channel));
} else {
- stream->write_function(stream, "ERR floor is held by %u\n", member->conference->video_floor_holder);
+ stream->write_function(stream, "-ERR floor is held by %u\n", member->conference->video_floor_holder);
}
}
uint32_t id = atoi(argv[3]);
conference_member_t *member = conference_member_get(conference, id);
if (member == NULL) {
- stream->write_function(stream, "Member: %u not found.\n", id);
+ stream->write_function(stream, "-ERR Member: %u not found.\n", id);
return SWITCH_STATUS_GENERR;
}
if (argc == 3) {
if (conference_file_play(conference, argv[2], 0, NULL, async) == SWITCH_STATUS_SUCCESS) {
- stream->write_function(stream, "(play) Playing file %s\n", argv[2]);
+ stream->write_function(stream, "+OK (play) Playing file %s\n", argv[2]);
if (test_eflag(conference, EFLAG_PLAY_FILE) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_fire(&event);
}
} else {
- stream->write_function(stream, "(play) File: %s not found.\n", argv[2] ? argv[2] : "(unspecified)");
+ stream->write_function(stream, "-ERR (play) File: %s not found.\n", argv[2] ? argv[2] : "(unspecified)");
}
ret_status = SWITCH_STATUS_SUCCESS;
} else if (argc >= 4) {
if ((member = conference_member_get(conference, id))) {
if (conference_member_play_file(member, argv[2], 0, mux) == SWITCH_STATUS_SUCCESS) {
- stream->write_function(stream, "(play) Playing file %s to member %u\n", argv[2], id);
+ stream->write_function(stream, "+OK (play) Playing file %s to member %u\n", argv[2], id);
if (test_eflag(conference, EFLAG_PLAY_FILE_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
switch_event_fire(&event);
}
} else {
- stream->write_function(stream, "(play) File: %s not found.\n", argv[2] ? argv[2] : "(unspecified)");
+ stream->write_function(stream, "-ERR (play) File: %s not found.\n", argv[2] ? argv[2] : "(unspecified)");
}
switch_thread_rwlock_unlock(member->rwlock);
ret_status = SWITCH_STATUS_SUCCESS;
} else {
- stream->write_function(stream, "Member: %u not found.\n", id);
+ stream->write_function(stream, "-ERR Member: %u not found.\n", id);
}
}
switch_event_t *event;
if (zstr(text)) {
- stream->write_function(stream, "(say) Error! No text.\n");
+ stream->write_function(stream, "-ERR (say) Error! No text.\n");
return SWITCH_STATUS_GENERR;
}
if (conference_say(conference, text, 0) != SWITCH_STATUS_SUCCESS) {
- stream->write_function(stream, "(say) Error!\n");
+ stream->write_function(stream, "-ERR (say) Error!\n");
return SWITCH_STATUS_GENERR;
}
- stream->write_function(stream, "(say) OK\n");
+ stream->write_function(stream, "+OK (say) OK\n");
if (test_eflag(conference, EFLAG_SPEAK_TEXT) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "speak-text");
switch_event_t *event;
if (zstr(text)) {
- stream->write_function(stream, "(saymember) No Text!\n");
+ stream->write_function(stream, "-ERR (saymember) No Text!\n");
goto done;
}
if (!(workspace = strdup(text))) {
- stream->write_function(stream, "(saymember) Memory Error!\n");
+ stream->write_function(stream, "-ERR (saymember) Memory Error!\n");
goto done;
}
id = atoi(workspace);
if (!id || zstr(text)) {
- stream->write_function(stream, "(saymember) No Text!\n");
+ stream->write_function(stream, "-ERR (saymember) No Text!\n");
goto done;
}
if (!(member = conference_member_get(conference, id))) {
- stream->write_function(stream, "(saymember) Unknown Member %u!\n", id);
+ stream->write_function(stream, "-ERR (saymember) Unknown Member %u!\n", id);
goto done;
}
}
if (!text || conference_member_say(member, (char *) text, 0) != SWITCH_STATUS_SUCCESS) {
- stream->write_function(stream, "(saymember) Error!\n");
+ stream->write_function(stream, "-ERR (saymember) Error!\n");
goto done;
}
- stream->write_function(stream, "(saymember) OK\n");
+ stream->write_function(stream, "-ERR (saymember) OK\n");
if (test_eflag(member->conference, EFLAG_SPEAK_TEXT_MEMBER) &&
switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_member_add_event_data(member, event);
mcu_layer_t *layer = NULL;
if (!conference->canvases[0]) {
- stream->write_function(stream, "Conference is not in mixing mode\n");
+ stream->write_function(stream, "-ERR Conference is not in mixing mode\n");
return SWITCH_STATUS_SUCCESS;
}
if ((member = conference_member_get(conference, id))) {
uint32_t stopped = conference_member_stop_file(member, async ? FILE_STOP_ASYNC : current ? FILE_STOP_CURRENT : FILE_STOP_ALL);
- stream->write_function(stream, "Stopped %u files.\n", stopped);
+ stream->write_function(stream, "+OK Stopped %u files.\n", stopped);
switch_thread_rwlock_unlock(member->rwlock);
} else {
- stream->write_function(stream, "Member: %u not found.\n", id);
+ stream->write_function(stream, "-ERR Member: %u not found.\n", id);
}
} else {
uint32_t stopped = conference_file_stop(conference, async ? FILE_STOP_ASYNC : current ? FILE_STOP_CURRENT : FILE_STOP_ALL);
- stream->write_function(stream, "Stopped %u files.\n", stopped);
+ stream->write_function(stream, "+OK Stopped %u files.\n", stopped);
}
return SWITCH_STATUS_SUCCESS;
}
switch_thread_rwlock_unlock(other_member->rwlock);
}
- stream->write_function(stream, "relationship %u->%u cleared.\n", id, oid);
+ stream->write_function(stream, "+OK relationship %u->%u cleared.\n", id, oid);
switch_thread_rwlock_unlock(member->rwlock);
} else {
- stream->write_function(stream, "relationship %u->%u not found.\n", id, oid);
+ stream->write_function(stream, "-ERR relationship %u->%u not found.\n", id, oid);
}
}
conference_relationship_t *rel = NULL;
if (sendvideo && conference_utils_member_test_flag(other_member, MFLAG_RECEIVING_VIDEO) && (! (nospeak || nohear))) {
- stream->write_function(stream, "member %d already receiving video", oid);
+ stream->write_function(stream, "-ERR member %d already receiving video", oid);
goto skip;
}
switch_core_session_request_video_refresh(member->session);
}
- stream->write_function(stream, "ok %u->%u %s set\n", id, oid, action);
+ stream->write_function(stream, "+OK %u->%u %s set\n", id, oid, action);
} else {
- stream->write_function(stream, "error!\n");
+ stream->write_function(stream, "-ERR error!\n");
}
} else {
- stream->write_function(stream, "relationship %u->%u not found.\n", id, oid);
+ stream->write_function(stream, "-ERR relationship %u->%u not found.\n", id, oid);
}
skip:
}
} else {
- stream->write_function(stream, "No relationships\n");
+ stream->write_function(stream, "+OK No relationships\n");
}
switch_mutex_unlock(conference->mutex);
return SWITCH_STATUS_SUCCESS;
}
conference_utils_set_flag_locked(conference, CFLAG_LOCKED);
- stream->write_function(stream, "OK %s locked\n", argv[0]);
+ stream->write_function(stream, "+OK %s locked\n", argv[0]);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "lock");
}
conference_utils_clear_flag_locked(conference, CFLAG_LOCKED);
- stream->write_function(stream, "OK %s unlocked\n", argv[0]);
+ stream->write_function(stream, "+OK %s unlocked\n", argv[0]);
if (test_eflag(conference, EFLAG_UNLOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "unlock");
switch_assert(stream != NULL);
if (argc <= 2) {
- stream->write_function(stream, "Not enough args\n");
+ stream->write_function(stream, "-ERR Not enough args\n");
return SWITCH_STATUS_GENERR;
}
if ( !strcasecmp(argv[2], "on") ) {
conference_utils_set_flag_locked(conference, CFLAG_EXIT_SOUND);
- stream->write_function(stream, "OK %s exit sounds on (%s)\n", argv[0], conference->exit_sound);
+ stream->write_function(stream, "+OK %s exit sounds on (%s)\n", argv[0], conference->exit_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "exit-sounds-on");
}
} else if ( !strcasecmp(argv[2], "off") || !strcasecmp(argv[2], "none") ) {
conference_utils_clear_flag_locked(conference, CFLAG_EXIT_SOUND);
- stream->write_function(stream, "OK %s exit sounds off (%s)\n", argv[0], conference->exit_sound);
+ stream->write_function(stream, "+OK %s exit sounds off (%s)\n", argv[0], conference->exit_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "exit-sounds-off");
}
} else if ( !strcasecmp(argv[2], "file") ) {
if (! argv[3]) {
- stream->write_function(stream, "No filename specified\n");
+ stream->write_function(stream, "-ERR No filename specified\n");
} else {
/* TODO: if possible, verify file exists before setting it */
- stream->write_function(stream,"Old exit sound: [%s]\n", conference->exit_sound);
+ stream->write_function(stream,"+OK Old exit sound: [%s]\n", conference->exit_sound);
conference->exit_sound = switch_core_strdup(conference->pool, argv[3]);
- stream->write_function(stream, "OK %s exit sound file set to %s\n", argv[0], conference->exit_sound);
+ stream->write_function(stream, "+OK %s exit sound file set to %s\n", argv[0], conference->exit_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "exit-sound-file-changed");
}
}
} else {
- stream->write_function(stream, "Bad args\n");
+ stream->write_function(stream, "-ERR Bad args\n");
return SWITCH_STATUS_GENERR;
}
switch_assert(stream != NULL);
if (argc <= 2) {
- stream->write_function(stream, "Not enough args\n");
+ stream->write_function(stream, "-ERR Not enough args\n");
return SWITCH_STATUS_GENERR;
}
if ( !strcasecmp(argv[2], "on") ) {
conference_utils_set_flag_locked(conference, CFLAG_ENTER_SOUND);
- stream->write_function(stream, "OK %s enter sounds on (%s)\n", argv[0], conference->enter_sound);
+ stream->write_function(stream, "+OK %s enter sounds on (%s)\n", argv[0], conference->enter_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "enter-sounds-on");
}
} else if ( !strcasecmp(argv[2], "off") || !strcasecmp(argv[2], "none") ) {
conference_utils_clear_flag_locked(conference, CFLAG_ENTER_SOUND);
- stream->write_function(stream, "OK %s enter sounds off (%s)\n", argv[0], conference->enter_sound);
+ stream->write_function(stream, "+OK %s enter sounds off (%s)\n", argv[0], conference->enter_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "enter-sounds-off");
}
} else if ( !strcasecmp(argv[2], "file") ) {
if (! argv[3]) {
- stream->write_function(stream, "No filename specified\n");
+ stream->write_function(stream, "-ERR No filename specified\n");
} else {
/* TODO: verify file exists before setting it */
conference->enter_sound = switch_core_strdup(conference->pool, argv[3]);
- stream->write_function(stream, "OK %s enter sound file set to %s\n", argv[0], conference->enter_sound);
+ stream->write_function(stream, "+OK %s enter sound file set to %s\n", argv[0], conference->enter_sound);
if (test_eflag(conference, EFLAG_LOCK) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
conference_event_add_data(conference, event);
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "enter-sound-file-changed");
}
}
} else {
- stream->write_function(stream, "Bad args\n");
+ stream->write_function(stream, "-ERR Bad args\n");
return SWITCH_STATUS_GENERR;
}
switch_assert(stream != NULL);
if (argc <= 2) {
- stream->write_function(stream, "Bad Args\n");
+ stream->write_function(stream, "-ERR Bad Args\n");
return SWITCH_STATUS_GENERR;
}
} else {
conference_outcall(NULL, argv[0], NULL, argv[2], 60, NULL, argv[4], argv[3], NULL, &cause, NULL, NULL);
}
- stream->write_function(stream, "Call Requested: result: [%s]\n", switch_channel_cause2str(cause));
+ stream->write_function(stream, "+OK Call Requested: result: [%s]\n", switch_channel_cause2str(cause));
return SWITCH_STATUS_SUCCESS;
}
switch_assert(stream != NULL);
if (argc <= 2) {
- stream->write_function(stream, "Bad Args\n");
+ stream->write_function(stream, "-ERR Bad Args\n");
return SWITCH_STATUS_GENERR;
}
conference_outcall_bg(NULL, argv[0], NULL, argv[2], 60, NULL, argv[4], argv[3], uuid_str, NULL, NULL, NULL);
}
- stream->write_function(stream, "OK Job-UUID: %s\n", uuid_str);
+ stream->write_function(stream, "+OK Job-UUID: %s\n", uuid_str);
return SWITCH_STATUS_SUCCESS;
}
char *xdest = NULL;
if (!id || !(member = conference_member_get(conference, id))) {
- stream->write_function(stream, "No Member %u in conference %s.\n", id, conference->name);
+ stream->write_function(stream, "-ERR No Member %u in conference %s.\n", id, conference->name);
continue;
}
switch_channel_set_variable(channel, "last_transfered_conference", conference_name);
- stream->write_function(stream, "OK Member '%d' sent to conference %s.\n", member->id, argv[2]);
+ stream->write_function(stream, "+OK Member '%d' sent to conference %s.\n", member->id, argv[2]);
/* tell them what happened */
if (test_eflag(conference, EFLAG_TRANSFER) &&
switch_mutex_lock(conference->flag_mutex);
for (rec = conference->rec_node_head; rec; rec = rec->next) {
- stream->write_function(stream, "Record file %s%s%s\n", rec->path, rec->autorec ? " " : "", rec->autorec ? "(Auto)" : "");
+ stream->write_function(stream, "+OK Record file %s%s%s\n", rec->path, rec->autorec ? " " : "", rec->autorec ? "(Auto)" : "");
x++;
}
if (!x) {
- stream->write_function(stream, "Conference is not being recorded.\n");
+ stream->write_function(stream, "-ERR Conference is not being recorded.\n");
}
switch_mutex_unlock(conference->flag_mutex);
if (id > 0) {
- stream->write_function(stream, "Record file %s canvas %d\n", argv[2], id);
+ stream->write_function(stream, "+OK Record file %s canvas %d\n", argv[2], id);
} else {
- stream->write_function(stream, "Record file %s\n", argv[2]);
+ stream->write_function(stream, "+OK Record file %s\n", argv[2]);
}
conference->record_filename = switch_core_strdup(conference->pool, argv[2]);
all = (strcasecmp(argv[2], "all") == 0);
if (!conference_record_stop(conference, stream, all ? NULL : argv[2]) && !all) {
- stream->write_function(stream, "non-existant recording '%s'\n", argv[2]);
+ stream->write_function(stream, "-ERR non-existant recording '%s'\n", argv[2]);
}
ttl = before - conference->record_count;
- stream->write_function(stream, "Stopped recording %d file%s\n", ttl, ttl == 1 ? "" : "s");
+ stream->write_function(stream, "+OK Stopped recording %d file%s\n", ttl, ttl == 1 ? "" : "s");
return SWITCH_STATUS_SUCCESS;
}
} else {
return SWITCH_STATUS_GENERR;
}
- stream->write_function(stream, "%s recording file %s\n",
+ stream->write_function(stream, "+OK %s recording file %s\n",
action == REC_ACTION_PAUSE ? "Pause" : "Resume", argv[2]);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "%s recording file %s\n",
action == REC_ACTION_PAUSE ? "Pause" : "Resume", argv[2]);
if (!conference_record_action(conference, argv[2], action)) {
- stream->write_function(stream, "non-existant recording '%s'\n", argv[2]);
+ stream->write_function(stream, "-ERR non-existant recording '%s'\n", argv[2]);
} else {
if (test_eflag(conference, EFLAG_RECORD) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS)
{
int ok = 0;
if (argc < 2) {
- stream->write_function(stream, "missing args\n");
+ stream->write_function(stream, "-ERR missing args\n");
return SWITCH_STATUS_GENERR;
}
if (ok) {
- stream->write_function(stream, "volume changed\n");
+ stream->write_function(stream, "+OK volume changed\n");
return SWITCH_STATUS_SUCCESS;
} else {
- stream->write_function(stream, "File not playing\n");
+ stream->write_function(stream, "-ERR File not playing\n");
return SWITCH_STATUS_GENERR;
}
} else {
- stream->write_function(stream, "Invalid parameters:\n");
+ stream->write_function(stream, "-ERR Invalid parameters:\n");
return SWITCH_STATUS_GENERR;
}
}
if ((argc == 4) && (!strcmp(argv[2], "mod"))) {
conference->mpin = switch_core_strdup(conference->pool, argv[3]);
- stream->write_function(stream, "Moderator Pin for conference %s set: %s\n", argv[0], conference->mpin);
+ stream->write_function(stream, "+OK Moderator Pin for conference %s set: %s\n", argv[0], conference->mpin);
return SWITCH_STATUS_SUCCESS;
} else if ((argc == 3) && (!strcmp(argv[1], "pin"))) {
conference->pin = switch_core_strdup(conference->pool, argv[2]);
- stream->write_function(stream, "Pin for conference %s set: %s\n", argv[0], conference->pin);
+ stream->write_function(stream, "+OK Pin for conference %s set: %s\n", argv[0], conference->pin);
return SWITCH_STATUS_SUCCESS;
} else if (argc == 2 && (!strcmp(argv[1], "nopin"))) {
conference->pin = NULL;
- stream->write_function(stream, "Pin for conference %s deleted\n", argv[0]);
+ stream->write_function(stream, "+OK Pin for conference %s deleted\n", argv[0]);
return SWITCH_STATUS_SUCCESS;
} else {
- stream->write_function(stream, "Invalid parameters:\n");
+ stream->write_function(stream, "-ERR Invalid parameters:\n");
return SWITCH_STATUS_GENERR;
}
}
pfn(member, stream, argv[argn + 2]);
switch_thread_rwlock_unlock(member->rwlock);
} else {
- stream->write_function(stream, "Non-Existant ID %u\n", id);
+ stream->write_function(stream, "-ERR Non-Existant ID %u\n", id);
}
} else if (!zstr(argv[argn + 1]) && strchr(argv[argn + 1], '=')) {
conference_api_member_cmd_t pfn = (conference_api_member_cmd_t) conference_api_sub_commands[i].pfnapicmd;
pfn(member, stream, argv[argn + 2]);
switch_thread_rwlock_unlock(member->rwlock);
} else {
- stream->write_function(stream, "Non-Existant member\n");
+ stream->write_function(stream, "-ERR Non-Existant member\n");
}
switch_safe_free(var);
}
if (!found) {
- stream->write_function(stream, "Conference command '%s' not found.\n", argv[argn]);
+ stream->write_function(stream, "-ERR Conference command '%s' not found.\n", argv[argn]);
} else {
status = SWITCH_STATUS_SUCCESS;
}