|
|
|
@ -905,6 +905,10 @@ switch_status_t conference_member_add(conference_obj_t *conference, conference_m |
|
|
|
|
|
|
|
|
|
if (conference->la && member->channel && !switch_channel_test_flag(member->channel, CF_VIDEO_ONLY)) { |
|
|
|
|
if (!conference_utils_member_test_flag(member, MFLAG_SECOND_SCREEN)) { |
|
|
|
|
cJSON *dvars; |
|
|
|
|
switch_event_t *var_event; |
|
|
|
|
switch_event_header_t *hi; |
|
|
|
|
|
|
|
|
|
member->json = cJSON_CreateArray(); |
|
|
|
|
cJSON_AddItemToArray(member->json, cJSON_CreateStringPrintf("%0.4d", member->id)); |
|
|
|
|
cJSON_AddItemToArray(member->json, cJSON_CreateString(switch_channel_get_variable(member->channel, "caller_id_number"))); |
|
|
|
@ -915,11 +919,26 @@ switch_status_t conference_member_add(conference_obj_t *conference, conference_m |
|
|
|
|
switch_channel_get_variable(member->channel, "original_read_rate") |
|
|
|
|
)); |
|
|
|
|
|
|
|
|
|
member->status_field = cJSON_CreateString(""); |
|
|
|
|
cJSON_AddItemToArray(member->json, member->status_field); |
|
|
|
|
|
|
|
|
|
switch_channel_get_variables(member->channel, &var_event); |
|
|
|
|
|
|
|
|
|
dvars = cJSON_CreateObject(); |
|
|
|
|
|
|
|
|
|
member->status_field = cJSON_CreateString(""); |
|
|
|
|
cJSON_AddItemToArray(member->json, member->status_field); |
|
|
|
|
for (hi = var_event->headers; hi; hi = hi->next) { |
|
|
|
|
if (!strncasecmp(hi->name, "verto_dvar_", 11)) { |
|
|
|
|
char *var = hi->name + 11; |
|
|
|
|
|
|
|
|
|
if (var) { |
|
|
|
|
cJSON_AddItemToObject(dvars, var, cJSON_CreateString(hi->value)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
cJSON_AddItemToArray(member->json, dvars); |
|
|
|
|
|
|
|
|
|
switch_event_destroy(&var_event); |
|
|
|
|
|
|
|
|
|
cJSON_AddItemToArray(member->json, cJSON_CreateNull()); |
|
|
|
|
|
|
|
|
|