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

Function db_insert_ucontact

modules/usrloc/ucontact.c:519–705  ·  view source on GitHub ↗

! \brief * Insert contact into the database */

Source from the content-addressed store, hash-verified

517 * Insert contact into the database
518 */
519int db_insert_ucontact(ucontact_t* _c,query_list_t **ins_list, int update)
520{
521 int nr_vals = UL_COLS - 1;
522 int start = 0;
523
524 static db_ps_t myI_ps = NULL;
525 static db_ps_t myR_ps = NULL;
526 char* dom;
527 db_key_t keys[UL_COLS];
528 db_val_t vals[UL_COLS];
529
530 if (_c->flags & FL_MEM) {
531 return 0;
532 }
533
534 /* in CM_SQL_ONLY, we let the SQL engine auto-generate the ucontact_id */
535 if (cluster_mode == CM_SQL_ONLY) {
536 start++;
537 nr_vals--;
538 }
539
540 keys[0] = &contactid_col;
541 keys[1] = &user_col;
542 keys[2] = &contact_col;
543 keys[3] = &expires_col;
544 keys[4] = &q_col;
545 keys[5] = &callid_col;
546 keys[6] = &cseq_col;
547 keys[7] = &flags_col;
548 keys[8] = &cflags_col;
549 keys[9] = &user_agent_col;
550 keys[10] = &received_col;
551 keys[11] = &path_col;
552 keys[12] = &sock_col;
553 keys[13] = &methods_col;
554 keys[14] = &last_mod_col;
555 keys[15] = &sip_instance_col;
556 keys[16] = &kv_store_col;
557 keys[17] = &attr_col;
558 keys[UL_COLS - 1] = &domain_col; /* "domain" always stays last */
559
560 memset(vals, 0, sizeof vals);
561
562 vals[0].type = DB_BIGINT;
563 vals[0].val.bigint_val = _c->contact_id;
564
565 vals[1].type = DB_STR;
566 vals[1].val.str_val.s = _c->aor->s;
567 vals[1].val.str_val.len = _c->aor->len;
568
569 vals[2].type = DB_STR;
570 vals[2].val.str_val.s = _c->c.s;
571 vals[2].val.str_val.len = _c->c.len;
572
573 vals[3].type = DB_INT;
574 vals[3].val.int_val = _c->expires;
575
576 vals[4].type = DB_DOUBLE;

Callers 2

wb_timerFunction · 0.85
insert_ucontactFunction · 0.85

Calls 7

q2doubleFunction · 0.85
bitmask_to_flag_listFunction · 0.85
map_sizeFunction · 0.85
store_serializeFunction · 0.85
q_memchrFunction · 0.85
con_set_inslistFunction · 0.85
store_free_bufferFunction · 0.85

Tested by

no test coverage detected