void on_adv_info_riuc(adv_server_t *adv_server, adv_request_t *request, char *caddr_str) { node_t *node = adv_server->user_data; int i; void *found = NULL; int idx; int *pidx; for (i = 0; i < MAX_NODE; i++) { SHOW_LOG(3, "LIST TABLE\n"); ht_list_item(&node[i].group_table); SHOW_LOG(3, "=========== NODE :%s ========\n", node[i].id); found = node_in_group(&node[i], "OIUC-FEDORA"); SHOW_LOG(3, "node_id: %s, adv_owner:%s, found:%d \n", node[i].id, "OIUC-FEDORA", found); found = node_in_group(&node[i], "OIUC-UBUNTU"); SHOW_LOG(3, "node_id: %s, adv_owner:%s, found:%d \n", node[i].id, "OIUC-UBUNTU", found); SHOW_LOG(3, "=============================\n"); } for (i = 0; i < MAX_NODE; i++) { found = node_in_group(&node[i], request->adv_info.adv_owner); if (found != NULL) { SHOW_LOG(3, "New session: %s(%s:%d)\n", request->adv_info.adv_owner, request->adv_info.sdp_mip, request->adv_info.sdp_port); if(!node_has_media(&node[i])) { SHOW_LOG(1, "Node does not have media endpoints configured\n"); return; } pidx = (int *)ht_get_item(&node[i].group_table, request->adv_info.adv_owner); if (pidx != NULL) { idx = *pidx; //idx = *((int *)ht_get_item(&node[i].group_table, request->adv_info.adv_owner); SHOW_LOG(3, "idx(ht_get_item): %d for owner: %s\n", idx, request->adv_info.adv_owner); #if 1 if( request->adv_info.sdp_port > 0 ) { receiver_stop(node[i].receiver, idx); //for (i = 0; i < node->receiver->nstreams; i++) { receiver_config_stream(node[i].receiver, request->adv_info.sdp_mip, request->adv_info.sdp_port, idx); //} receiver_start(node[i].receiver); riuc4_on_ptt(&riuc_data.riuc4, node[i].radio_port); } else { receiver_stop(node[i].receiver, idx); riuc4_off_ptt(&riuc_data.riuc4, node[i].radio_port); } usleep(250*1000); } #endif } } }
void server_stop () { _server_is_stopped = true; receiver_stop (); }