| 4599 | |
| 4600 | |
| 4601 | static int _add_rtpengine_from_database(void) |
| 4602 | { |
| 4603 | |
| 4604 | /* select * from rtpproxy_sockets */ |
| 4605 | db_key_t colsToReturn[2]; |
| 4606 | db_res_t *result = NULL; |
| 4607 | int rowCount = 0; |
| 4608 | char *rtpe_socket; |
| 4609 | db_row_t *row; |
| 4610 | db_val_t *row_vals; |
| 4611 | int set_id; |
| 4612 | |
| 4613 | colsToReturn[0]=&db_rtpe_sock_col; |
| 4614 | colsToReturn[1]=&db_rtpe_set_col; |
| 4615 | |
| 4616 | if(db_functions.use_table(db_connection, &db_table) < 0) { |
| 4617 | LM_ERR("Error trying to use table\n"); |
| 4618 | return -1; |
| 4619 | } |
| 4620 | |
| 4621 | if(db_functions.query(db_connection, 0, 0, 0,colsToReturn, 0, 2, 0, |
| 4622 | &result) < 0) { |
| 4623 | LM_ERR("Error querying database\n"); |
| 4624 | if(result) |
| 4625 | db_functions.free_result(db_connection, result); |
| 4626 | return -1; |
| 4627 | } |
| 4628 | |
| 4629 | if(result == NULL) |
| 4630 | { |
| 4631 | LM_ERR("mysql query failed - NULL result\n"); |
| 4632 | return -1; |
| 4633 | } |
| 4634 | |
| 4635 | if (RES_ROW_N(result)<=0 || RES_ROWS(result)[0].values[0].nul != 0) { |
| 4636 | LM_DBG("No rtpengine proxies were found\n"); |
| 4637 | if(db_functions.free_result(db_connection, result) < 0){ |
| 4638 | LM_ERR("Error freeing result\n"); |
| 4639 | return -1; |
| 4640 | } |
| 4641 | return 0; |
| 4642 | } |
| 4643 | |
| 4644 | for(rowCount=0; rowCount < RES_ROW_N(result); rowCount++) { |
| 4645 | |
| 4646 | row= &result->rows[rowCount]; |
| 4647 | row_vals = ROW_VALUES(row); |
| 4648 | |
| 4649 | rtpe_socket = (char*)row_vals[0].val.string_val; |
| 4650 | if(rtpe_socket == NULL) |
| 4651 | { |
| 4652 | LM_ERR("NULL value for %s column\n", db_rtpe_sock_col.s); |
| 4653 | goto error; |
| 4654 | } |
| 4655 | set_id= row_vals[1].val.int_val; |
| 4656 | |
| 4657 | if(rtpengine_add_rtpengine_set(rtpe_socket, set_id) == -1) |
| 4658 | { |
no test coverage detected