MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / _add_rtpengine_from_database

Function _add_rtpengine_from_database

modules/rtpengine/rtpengine.c:4601–4672  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4599
4600
4601static 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 {

Callers 2

mi_reload_rtpenginesFunction · 0.85
mod_initFunction · 0.85

Calls 1

Tested by

no test coverage detected