Kamailio Database Tables

Kamailio Development Team

Edited by

Henning Westerholt

Norman Brandinger


Table of Contents

1. ACC Module
2. ALIAS_DB Module
3. AUTH_DB Module
4. AVPOPS Module
5. CARRIERROUTE Module
6. CPLC Module
7. DIALOG Module
8. DIALPLAN Module
9. DISPATCHER Module
10. DOMAIN Module
11. DOMAINPOLICY Module
12. DROUTING Module
13. CUSTOM Extensions
14. GROUP Module
15. HTABLE Module
16. IMC Module
17. LCR Module
18. MATRIX Module
19. MOHQUEUE Module
20. MSILO Module
21. MTREE Module
22. PDT Module
23. PERMISSIONS Module
24. PIPELIMIT Module
25. PRESENCE Module
26. PURPLE Module
27. REGISTRAR Module
28. RLS Module
29. RTPENGINE Module
30. RTPPROXY Module
31. SCA Module
32. SECFILTER Module
33. SIPTRACE Module
34. SPEEDDIAL Module
35. STANDARD CORE Tables
36. TOPOS Module
37. UAC Module
38. UID_AUTH_DB Module
39. UID_AVP_DB Module
40. UID_DOMAIN Module
41. UID_GFLAGS Module
42. UID_URI_DB Module
43. URI_DB Module
44. USERBLACKLIST Module
45. USERBLACKLIST Module
46. USRLOC Module

List of Tables

1.1. Table "acc"
1.2. Table "acc" indexes
1.3. Table "acc_cdrs"
1.4. Table "acc_cdrs" indexes
1.5. Table "missed_calls"
1.6. Table "missed_calls" indexes
2.1. Table "dbaliases"
2.2. Table "dbaliases" indexes
3.1. Table "subscriber"
3.2. Table "subscriber" indexes
4.1. Table "usr_preferences"
4.2. Table "usr_preferences" indexes
5.1. Table "carrierroute"
5.2. Table "carrierfailureroute"
5.3. Table "carrier_name"
5.4. Table "domain_name"
6.1. Table "cpl"
6.2. Table "cpl" indexes
7.1. Table "dialog"
7.2. Table "dialog" indexes
7.3. Table "dialog_vars"
7.4. Table "dialog_vars" indexes
8.1. Table "dialplan"
9.1. Table "dispatcher"
10.1. Table "domain"
10.2. Table "domain" indexes
10.3. Table "domain_attrs"
10.4. Table "domain_attrs" indexes
11.1. Table "domainpolicy"
11.2. Table "domainpolicy" indexes
12.1. Table "dr_gateways"
12.2. Table "dr_rules"
12.3. Table "dr_gw_lists"
12.4. Table "dr_groups"
14.1. Table "grp"
14.2. Table "grp" indexes
14.3. Table "re_grp"
14.4. Table "re_grp" indexes
15.1. Table "htable"
16.1. Table "imc_rooms"
16.2. Table "imc_rooms" indexes
16.3. Table "imc_members"
16.4. Table "imc_members" indexes
17.1. Table "lcr_gw"
17.2. Table "lcr_gw" indexes
17.3. Table "lcr_rule_target"
17.4. Table "lcr_rule_target" indexes
17.5. Table "lcr_rule"
17.6. Table "lcr_rule" indexes
18.1. Table "matrix"
18.2. Table "matrix" indexes
19.1. Table "mohqcalls"
19.2. Table "mohqcalls" indexes
19.3. Table "mohqueues"
19.4. Table "mohqueues" indexes
20.1. Table "silo"
20.2. Table "silo" indexes
21.1. Table "mtree"
21.2. Table "mtree" indexes
21.3. Table "mtrees"
21.4. Table "mtrees" indexes
22.1. Table "pdt"
22.2. Table "pdt" indexes
23.1. Table "trusted"
23.2. Table "trusted" indexes
23.3. Table "address"
24.1. Table "pl_pipes"
25.1. Table "presentity"
25.2. Table "presentity" indexes
25.3. Table "active_watchers"
25.4. Table "active_watchers" indexes
25.5. Table "watchers"
25.6. Table "watchers" indexes
25.7. Table "xcap"
25.8. Table "xcap" indexes
25.9. Table "pua"
25.10. Table "pua" indexes
26.1. Table "purplemap"
27.1. Table "aliases"
27.2. Table "aliases" indexes
28.1. Table "rls_presentity"
28.2. Table "rls_presentity" indexes
28.3. Table "rls_watchers"
28.4. Table "rls_watchers" indexes
29.1. Table "rtpengine"
29.2. Table "rtpengine" indexes
30.1. Table "rtpproxy"
31.1. Table "sca_subscriptions"
31.2. Table "sca_subscriptions" indexes
32.1. Table "secfilter"
32.2. Table "secfilter" indexes
33.1. Table "sip_trace"
33.2. Table "sip_trace" indexes
34.1. Table "speed_dial"
34.2. Table "speed_dial" indexes
35.1. Table "version"
35.2. Table "version" indexes
36.1. Table "topos_d"
36.2. Table "topos_d" indexes
36.3. Table "topos_t"
36.4. Table "topos_t" indexes
37.1. Table "uacreg"
37.2. Table "uacreg" indexes
38.1. Table "uid_credentials"
38.2. possible credentials flags
38.3. Table "uid_credentials" indexes
39.1. Table "uid_user_attrs"
39.2. Table "uid_user_attrs" indexes
40.1. Table "uid_domain"
40.2. possible domain flags
40.3. Table "uid_domain" indexes
40.4. Table "uid_domain_attrs"
40.5. possible domain_attrs flags
40.6. Table "uid_domain_attrs" indexes
41.1. Table "uid_global_attrs"
41.2. possible global_attrs flags
41.3. Table "uid_global_attrs" indexes
42.1. Table "uid_uri"
42.2. Table "uid_uri" indexes
42.3. Table "uid_uri_attrs"
42.4. Table "uid_uri_attrs" indexes
43.1. Table "uri"
43.2. Table "uri" indexes
44.1. Table "userblacklist"
44.2. Table "userblacklist" indexes
44.3. Table "globalblacklist"
44.4. Table "globalblacklist" indexes
45.1. Table "userblocklist"
45.2. Table "userblocklist" indexes
45.3. Table "globalblocklist"
45.4. Table "globalblocklist" indexes
46.1. Table "location"
46.2. Table "location" indexes
46.3. Table "location_attrs"
46.4. Table "location_attrs" indexes

Chapter 1. ACC Module

acc

This table is used by the ACC module to report on transactions - accounted calls. More information is available at:

acc_cdrs

This table is used by the ACC module to report on CDRs relying on dialog callbacks. More information is available at:

missed_calls

This table is used by the ACC module for keeping track of missed calls. This table is similar to the 'acc' table. More information is available at:

Table 1.1. Table "acc"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

method string 16 '' no

A method is the primary function that a request is meant to invoke on a server.

from_tag string 128 '' no

The tag parameter serves as a general mechanism to identify a dialog, which is the combination of the Call-ID along with two tags, one from participant in the dialog.

to_tag string 128 '' no

The tag parameter serves as a general mechanism to identify a dialog, which is the combination of the Call-ID along with two tags, one from participant in the dialog.

callid string 255 '' no

Call-ID header field uniquely identifies a particular invitation or all registrations of a particular client.

sip_code string 3 '' no

SIP reply code

sip_reason string 128 '' no

SIP reply reason

time datetime not specified no

Date and time when this record was written.


Table 1.2. Table "acc" indexes

name type links description
callid_idx default callid


Table 1.3. Table "acc_cdrs"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

start_time datetime not specified '2000-01-01 00:00:00' no

Start date and time

end_time datetime not specified '2000-01-01 00:00:00' no

End date and time

duration float 10,3 0 no

Duration


Table 1.4. Table "acc_cdrs" indexes

name type links description
start_time_idx default start_time


Table 1.5. Table "missed_calls"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

method string 16 '' no

A method is the primary function that a request is meant to invoke on a server.

from_tag string 128 '' no

The tag parameter serves as a general mechanism to identify a dialog, which is the combination of the Call-ID along with two tags, one from participant in the dialog.

to_tag string 128 '' no

The tag parameter serves as a general mechanism to identify a dialog, which is the combination of the Call-ID along with two tags, one from participant in the dialog.

callid string 255 '' no

Call-ID header field uniquely identifies a particular invitation or all registrations of a particular client.

sip_code string 3 '' no

SIP reply code

sip_reason string 128 '' no

SIP reply reason

time datetime not specified no

Date and time when this record was written.


Table 1.6. Table "missed_calls" indexes

name type links description
callid_idx default callid


Chapter 2. ALIAS_DB Module

dbaliases

This table us used by the alias_db module as an alternative for user aliases via userloc. More information about the alias_db module can be found at:

Table 2.1. Table "dbaliases"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

alias_username string 64 '' no

Alias username / phone number

alias_domain string 64 '' no

Alias domain name

username string 64 '' no

Username / phone number

domain string 64 '' no

Domain name


Table 2.2. Table "dbaliases" indexes

name type links description
alias_user_idx default alias_username

alias_idx default alias_username, alias_domain

target_idx default username, domain


Chapter 3. AUTH_DB Module

subscriber

This table is used to provide authentication information. More information about the auth_db module can be found at:

Table 3.1. Table "subscriber"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

username string 64 '' no

Username / phone number

domain string 64 '' no

Domain name

password string 64 '' no

Password

ha1 string 128 '' no

md5(username:realm:password)

ha1b string 128 '' no

md5(username@domain:realm:password)


Table 3.2. Table "subscriber" indexes

name type links description
account_idx unique username, domain

username_idx default username


Chapter 4. AVPOPS Module

usr_preferences

This table us used by the avpops module to implement Attribute Value Pairs (AVP's). More information about the avpops module can be found at:

Table 4.1. Table "usr_preferences"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

uuid string 64 '' no

Unique user ID

username string 255 0 no

Username / phone number

domain string 64 '' no

Domain name

attribute string 32 '' no

AVP attribute

type int 11 0 no

AVP type

value string 128 '' no

AVP value

last_modified datetime not specified '2000-01-01 00:00:01' no

Date and time when this record was last modified.


Table 4.2. Table "usr_preferences" indexes

name type links description
ua_idx default uuid, attribute

uda_idx default username, domain, attribute


Chapter 5. CARRIERROUTE Module

carrierroute

This table is used by the carrierroute module to provides routing, balancing and blacklisting capabilities. It contains the routing data. More information is available at:

carrierfailureroute

This table is used by the carrierroute module to provide failure routing capabilities. It contains the failureroute routing informations. More information is available at:

carrier_name

This table is used by the carrierroute module to provides routing, balancing and blacklisting capabilities. It contains the existing carriers, consisting of the ids and corresponding names. More information is available at:

domain_name

This table is used by the carrierroute module to provides routing, balancing and blacklisting capabilities. It contains the existing domains, consisting of the ids and corresponding names. More information is available at:

Table 5.1. Table "carrierroute"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Name of the column contains the unique identifier of a route.

carrier unsigned int 10 0 no

This column contains the carrier id.

domain unsigned int 10 0 no

This column contains the routing domain id. You can define several routing domains to have different routing rules. Maybe you use domain 0 for normal routing and domain 1 if domain 0 failed.

scan_prefix string 64 '' no

Name of column contains the scan prefixes. Scan prefixes define the matching portion of a phone number, e.g. when we have the scan prefixes 49721 and 49, the called number is 49721913740, it matches 49721, because the longest match is taken. If no prefix matches, the number is not routed. To prevent this, an empty prefix value of could be added.

flags unsigned int 11 0 no

This column contains the flags used for rule matching.

mask unsigned int 11 0 no

This column contains the mask that is applied to the message flags before rule matching.

prob float not specified 0 no

Name of column contains the probability. The probability value is used to distribute the traffic between several gateways. Let's say 70 % of the traffic shall be routed to gateway A, the other 30 % shall be routed to gateway B, we define a rule for gateway A with a prob value of 0.7 and a rule for gateway B with a prob value of 0.3.

If all probabilities for a given prefix, tree and domain don't add to 100%, the prefix values will be adjusted according the given prob values. E.g. if three hosts with prob values of 0.5, 0.5 and 0.4 are defined, the resulting probabilities are 35.714, 35.714 and 28.571%. But it is better to choose meaningful values in the first place because of clarity.

strip unsigned int 11 0 no

Name of the column contains the number of digits to be stripped of the userpart of an URI before prepending rewrite_prefix.

rewrite_host string 255 '' no

Name of column contains the rewrite prefixes. Here you can define a rewrite prefix for the localpart of the SIP URI. An empty field represents a blacklist entry, anything else is put as domain part into the Request URI of the SIP message.

rewrite_prefix string 64 '' no

Name of column contains the rewrite prefixes. Here you can define a rewrite prefix for the localpart of the SIP URI.

rewrite_suffix string 64 '' no

Name of column contains the rewrite suffixes. Here you can define a rewrite suffix for the localpart of the SIP URI.

description string 255 NULL yes

A comment for the route entry, useful for larger routing tables. The comment is also displayed by the fifo cmd "cr_dump_routes".


Table 5.2. Table "carrierfailureroute"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

This column contains the unique identifier of a failure route.

carrier unsigned int 10 0 no

This column contains the carrier id.

domain unsigned int 10 0 no

This column contains the routing domain id. You can define several routing domains to have different routing rules. Maybe you use domain 0 for normal routing and domain 1 if domain 0 failed.

scan_prefix string 64 '' no

Name of column contains the scan prefixes. Scan prefixes define the matching portion of a phone number, e.g. we have the scan prefixes 49721 and 49, the called number is 49721913740, it matches 49721, because the longest match is taken. If no prefix matches, the number is not failure routed. To prevent this, an empty prefix value of could be added.

host_name string 255 '' no

Name of the column containing the host name of the last routing destination, using for rules matching.

reply_code string 3 '' no

This column contains the reply code used for rule matching.

flags unsigned int 11 0 no

This column contains the flags used for rule matching.

mask unsigned int 11 0 no

This column contains the mask that is applied to the message flags before rule matching.

next_domain unsigned int 10 0 no

This column contains the route domain id that should be used for the next routing attempt.

description string 255 NULL yes

A comment for the route entry, useful for larger routing tables.


Table 5.3. Table "carrier_name"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Name of the column containing the unique identifier of a carrier.

carrier string 64 NULL yes

This column contains the carrier name.


Table 5.4. Table "domain_name"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Name of the column containing the unique identifier of a domain.

domain string 64 NULL yes

This column contains the domain name.


Chapter 6. CPLC Module

cpl

Table for the call processing language "cpl" module. More information is available at:

Table 6.1. Table "cpl"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

username string 64 no

domain string 64 '' no

cpl_xml text not specified yes

cpl_bin text not specified yes


Table 6.2. Table "cpl" indexes

name type links description
account_idx unique username, domain


Chapter 7. DIALOG Module

dialog

Persistent dialog information for the dialog module. More information can be found at:

dialog_vars

Persistent dialog variable information for the dialog module. More information can be found at:

Table 7.1. Table "dialog"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

hash_entry unsigned int 10 no

Number of the hash entry in the dialog hash table

hash_id unsigned int 10 no

The ID on the hash entry

callid string 255 no

Call-ID of the dialog

from_uri string 255 no

The URI of the FROM header (as per INVITE)

from_tag string 128 no

The tag parameter serves as a general mechanism to identify a dialog, which is the combination of the Call-ID along with two tags, one from participant in the dialog.

to_uri string 255 no

The URI of the TO header (as per INVITE)

to_tag string 128 no

The tag parameter serves as a general mechanism to identify a dialog, which is the combination of the Call-ID along with two tags, one from participant in the dialog.

caller_cseq string 20 no

Last Cseq number on the caller side.

callee_cseq string 20 no

Last Cseq number on the caller side.

caller_route_set string 512 yes

Route set on the caller side.

callee_route_set string 512 yes

Route set on on the caller side.

caller_contact string 255 no

Caller's contact uri.

callee_contact string 255 no

Callee's contact uri.

caller_sock string 64 no

Local socket used to communicate with caller

callee_sock string 64 no

Local socket used to communicate with callee

state unsigned int 10 no

The state of the dialog.

start_time unsigned int 10 no

The timestamp (unix time) when the dialog was confirmed.

timeout unsigned int 10 0 no

The timestamp (unix time) when the dialog will expire.

sflags unsigned int 10 0 no

The flags to set for dialog and accessible from config file.

iflags unsigned int 10 0 no

The internal flags for dialog.

toroute_name string 32 yes

The name of route to be executed at dialog timeout.

req_uri string 255 no

The URI of initial request in dialog

xdata string 512 yes

Extra data associated to the dialog (e.g., serialized profiles).


Table 7.2. Table "dialog" indexes

name type links description
hash_idx default hash_entry, hash_id


Table 7.3. Table "dialog_vars"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

hash_entry unsigned int 10 no

Number of the hash entry in the dialog hash table

hash_id unsigned int 10 no

The ID on the hash entry

dialog_key string 128 no

The key of the dialog variable

dialog_value string 512 no

The value of the dialog variable


Table 7.4. Table "dialog_vars" indexes

name type links description
hash_idx default hash_entry, hash_id


Chapter 8. DIALPLAN Module

dialplan

This table is used by the dialplan module for the translation rules. More information is available at:

Table 8.1. Table "dialplan"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

dpid int 11 no

Dialplan ID.

pr int 11 no

Priority of rule.

match_op int 11 no

Matching operator for rule (0-equal, 1-regexp).

match_exp string 64 no

Matching expression (regexp or string).

match_len int 11 no

Length of the matching expression (used only for equal operator).

subst_exp string 64 no

Substitution expression.

repl_exp string 256 no

Replacement expression (sed like).

attrs string 64 no

General attributes string to be returned in case of rule matching.


Chapter 9. DISPATCHER Module

dispatcher

This table is used by the dispatcher module. It contains the list of destinations used for load balancing and dispatching. More information about the dispatcher module can be found at:

Table 9.1. Table "dispatcher"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

setid int not specified 0 no

Destination set id

destination string 192 '' no

Destination SIP address

flags int not specified 0 no

Flags of destination SIP address

priority int not specified 0 no

Priority of destination SIP address

attrs string 128 '' no

Attributes specific for this destination

description string 64 '' no

Description for this destination


Chapter 10. DOMAIN Module

domain

This table is used by the domain module to determine if a host part of a URI is "local" or not. More information about the domain module can be found at:

domain_attrs

This table contains attributes of domain ids. More information about the domain module can be found at:

Table 10.1. Table "domain"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

domain string 64 no

Domain name

did string 64 NULL yes

Domain id. Value of did column may be NULL, which means that it has the same value as domain column.

last_modified datetime not specified '2000-01-01 00:00:01' no

Date and time when this record was last modified.


Table 10.2. Table "domain" indexes

name type links description
domain_idx unique domain


Table 10.3. Table "domain_attrs"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

did string 64 no

Domain id

name string 32 no

Name of attribute

type unsigned int not specified no

Type of attribute (0=integer, 2=string)

value string 255 no

Value of attribute

last_modified datetime not specified '2000-01-01 00:00:01' no

Date and time when this record was last modified.


Table 10.4. Table "domain_attrs" indexes

name type links description
domain_attrs_idx default did, name


Chapter 11. DOMAINPOLICY Module

domainpolicy

Table for the domainpolicy module. More information at:

Table 11.1. Table "domainpolicy"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

rule string 255 no

Domain policy rule name which is equal to the URI as published in the domain policy NAPTRs.

type string 255 no

Domain policy rule type. In the case of federation names, this is "fed". For standard referrals according to draft-lendl-speermint-technical-policy-00, this is "std". For direct domain lookups, this is "dom". Default value is "type".

att string 255 yes

It contains the AVP's name. If the rule stored in this row triggers, than dp_can_connect() will add an AVP with that name.

val string 128 yes

It contains the values for AVPs created by dp_can_connect(). Default value is "val"

description string 255 no

Comment about the rule


Table 11.2. Table "domainpolicy" indexes

name type links description
rav_idx unique rule, att, val

rule_idx default rule


Chapter 12. DROUTING Module

dr_gateways

This table is used by the drouting module - keeps the gateways data:

dr_rules

This table is used by the drouting module - keeps the routing rules data:

dr_gw_lists

This table is used by the drouting module to define lists of gateways to be used in rule definitions. More information can be found at:

dr_groups

This table is used by the drouting module to store information about the routing groups (users mapped over groups). More information can be found at:

Table 12.1. Table "dr_gateways"

name type size default null key extra attributes description
gwid unsigned int 10 no primary autoincrement

Unique ID per gateway

type unsigned int 11 0 no

Type of gateway

address string 128 no

Address of gateway (hostname or ip and port)

strip unsigned int 11 0 no

Number of digits to strip from dialed number

pri_prefix string 64 NULL yes

What to prefix to dialed number

attrs string 255 NULL yes

Generic string to be returned in cfg script

description string 128 '' no

Short description of gateway


Table 12.2. Table "dr_rules"

name type size default null key extra attributes description
ruleid unsigned int 10 no primary autoincrement

Rule unique ID

groupid string 255 no

list of routing group IDs

prefix string 64 no

Destination prefix for this rule

timerec string 255 no

Time recurrence for this rule.

priority int 11 0 no

Priority of the rule.

routeid string 64 no

Name of route block (from cfg script) to be executed when matching this rule.

gwlist string 255 no

The list of destinations (gws) to be used when matching this rule.

description string 128 '' no

Short description of the rule


Table 12.3. Table "dr_gw_lists"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

gwlist string 255 no

List of GW ids.

description string 128 '' no

Text description of the GW list


Table 12.4. Table "dr_groups"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

username string 64 no

Username part of user

domain string 128 '' no

Domain part of user

groupid unsigned int 11 0 no

The ID of the routing group the user belongs to.

description string 128 '' no

Text description of the group/user


Chapter 13. CUSTOM Extensions

Chapter 14. GROUP Module

grp

This table us used by the group module as a means of group membership checking. Used primarily for Access Control Lists (ACL's). More information about the group module can be found at:

re_grp

This table is used by the group module to check membership based on regular expressions. More information about the group module can be found at:

Table 14.1. Table "grp"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

username string 64 '' no

Username / phone number

domain string 64 '' no

Domain name

grp string 64 '' no

Group name

last_modified datetime not specified '2000-01-01 00:00:01' no

Date and time when this record was last modified.


Table 14.2. Table "grp" indexes

name type links description
account_group_idx unique username, domain, grp


Table 14.3. Table "re_grp"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

reg_exp string 128 '' no

Regular expression

group_id int 11 0 no

Group ID


Table 14.4. Table "re_grp" indexes

name type links description
group_idx default group_id


Chapter 15. HTABLE Module

htable

This table us used by the htable module to load values in the hash table at start up. More information about the htable module can be found at:

Table 15.1. Table "htable"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

key_name string 64 '' no

Name of the hash key

key_type int not specified 0 no

Type of the key (0 - single value; 1 - array)

value_type int not specified 0 no

Type of the value (0 - string value; 1 - integer value)

key_value string 128 '' no

The value of the key

expires int not specified 0 no

The epoch at which the key expires


Chapter 16. IMC Module

imc_rooms

Room table for the IMC module. More information at:

imc_members

Member table for the IMC module. More information at:

Table 16.1. Table "imc_rooms"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

name string 64 no

Name of the room

domain string 64 no

Domain of the room

flag int 11 no

Flags


Table 16.2. Table "imc_rooms" indexes

name type links description
name_domain_idx unique name, domain


Table 16.3. Table "imc_members"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

username string 64 no

Username

domain string 64 no

Domain

room string 64 no

flag int 11 no

Flags


Table 16.4. Table "imc_members" indexes

name type links description
account_room_idx unique username, domain, room


Chapter 17. LCR Module

lcr_gw

This table is used by lcr (Least Cost Routing) module to store gateway attributes. More information can be found at:.

lcr_rule_target

This table is used by the lcr (Least Cost Routing) module to store routing rule targets. More information can be found at:

lcr_rule

This table is used by the lcr (Least Cost Routing) module to store routing rules. More information can be found at:

Table 17.1. Table "lcr_gw"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

lcr_id unsigned short not specified no

LCR instance identifier

gw_name string 128 yes

Name of the gateway (for documentation only)

ip_addr string 50 yes

IPv4 or IPv6 Address of the gateway

hostname string 64 yes

Hostname of the gateway

port unsigned short not specified yes

Port of the gateway

params string 64 yes

Gateway's URI parameters

uri_scheme unsigned char not specified yes

URI scheme of gateway

transport unsigned char not specified yes

Transport protocol to be used for the gateway

strip unsigned char not specified yes

The number of digits to strip from Request URI user part before inserting tag

prefix string 16 NULL yes

Prefix to be added to Request URI user part

tag string 64 NULL yes

Tag of gateway to be stored to tag_avp

flags unsigned int not specified 0 no

Gateway specific flags

defunct unsigned int not specified NULL yes

If not null, contains unix timestamp telling when gw becomes operational


Table 17.2. Table "lcr_gw" indexes

name type links description
lcr_id_idx default lcr_id


Table 17.3. Table "lcr_rule_target"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

lcr_id unsigned short not specified no

LCR instance identifier

rule_id unsigned int not specified no

Identifies a rule in lcr_rule table

gw_id unsigned int not specified no

Identifies a gateway in lcr_gw table

priority unsigned char not specified no

Priority of this target (0-255)

weight unsigned int not specified 1 no

Weight of this target (1-254)


Table 17.4. Table "lcr_rule_target" indexes

name type links description
rule_id_gw_id_idx unique rule_id, gw_id

lcr_id_idx default lcr_id


Table 17.5. Table "lcr_rule"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

lcr_id unsigned short not specified no

LCR instance identifier

prefix string 16 NULL yes

Prefix of Request URI user part

from_uri string 64 NULL yes

PCRE regular expression that is matched to caller's URI

request_uri string 64 NULL yes

PCRE regular expression that is matched to full request URI

mt_tvalue string 128 NULL yes

Mtree tvalue

stopper unsigned int not specified 0 no

Tells if rule is "stopper" rule

enabled unsigned int not specified 1 no

Tells if rule is enabled


Table 17.6. Table "lcr_rule" indexes

name type links description
lcr_id_prefix_from_uri_idx unique lcr_id, prefix, from_uri


Chapter 18. MATRIX Module

Table 18.1. Table "matrix"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

first int 10 no

The row id in the matrix

second short 10 no

The column id in the matrix

res int 10 no

The resource element in the matrix


Table 18.2. Table "matrix" indexes

name type links description
matrix_idx default first, second


Chapter 19. MOHQUEUE Module

mohqcalls

This table is used by the mohqueue module to store call information. This is a read-only table from the viewpoint of outside processes. More information about the mohqueue module can be found at:

mohqueues

This table is used by the mohqueue module to store queue definitions. This is a read-only table from the viewpoint of the module. More information about the mohqueue module can be found at:

Table 19.1. Table "mohqcalls"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

mohq_id unsigned int 10 no

queue id

call_id string 100 no

Call-ID header

call_status unsigned int not specified no

status of call

call_from string 100 no

From header

call_contact string 100 yes

Contact header

call_time datetime not specified no

time when call first entered queue


Table 19.2. Table "mohqcalls" indexes

name type links description
mohqcalls_idx unique call_id


Table 19.3. Table "mohqueues"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

name string 25 no

queue name

uri string 100 no

URI for the queue

mohdir string 100 yes

directory for MOH files

mohfile string 100 no

base name for the MOH file

debug int not specified no

debug flag


Table 19.4. Table "mohqueues" indexes

name type links description
mohqueue_uri_idx unique uri

mohqueue_name_idx unique name


Chapter 20. MSILO Module

silo

This table us used by the msilo module to provide offline message storage. More information about the msilo module can be found at:

Table 20.1. Table "silo"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

src_addr string 255 '' no

Source address - From URI

dst_addr string 255 '' no

Destination address - To URI

username string 64 '' no

SIP domain of target user

domain string 64 '' no

Username / phone number of target user

inc_time int not specified 0 no

Incoming time

exp_time int not specified 0 no

Expiration time

snd_time int not specified 0 no

Reminder send time

ctype string 32 'text/plain' no

Content type

body binary not specified yes

Body of the message

extra_hdrs text not specified yes

Extra headers that must be restored

callid string 128 '' no

SIP Call-Id

status int not specified 0 no

Status of notification


Table 20.2. Table "silo" indexes

name type links description
account_idx default username, domain


Chapter 21. MTREE Module

mtree

This table is used by the mtree module to load values in the shared memory tree at start up. More information about the mtree module can be found at:

mtrees

This table is used by the mtree module to load values in shared memory trees at start up. More information about the mtree module can be found at:

Table 21.1. Table "mtree"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

tprefix string 32 '' no

Key to be used to index the values in the tree, usually a DID or prefix.

tvalue string 128 '' no

The value of the key


Table 21.2. Table "mtree" indexes

name type links description
tprefix_idx unique tprefix


Table 21.3. Table "mtrees"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

tname string 128 '' no

Name of shared memory tree.

tprefix string 32 '' no

Key to be used to index the values in the tree, usually a DID or prefix.

tvalue string 128 '' no

The value of the key


Table 21.4. Table "mtrees" indexes

name type links description
tname_tprefix_tvalue_idx unique tname, tprefix, tvalue


Chapter 22. PDT Module

pdt

Prefix-Domain Translation means to change the host and port in R-URI, based on the prefix found in R-URI and source domain (that is domain in From-URI). More information can be found at:

Table 22.1. Table "pdt"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

sdomain string 255 no

Source domain

prefix string 32 no

Prefix found in the username part of R-URI.

domain string 255 '' no

Domain corresponding to (sdomain, prefix) pair where the message must be sent.


Table 22.2. Table "pdt" indexes

name type links description
sdomain_prefix_idx unique sdomain, prefix


Chapter 23. PERMISSIONS Module

trusted

This table is used by the permissions module to determine if a call has the appropriate permission to be established. More information about the permissions module can be found at:

address

This table is used by the permissions module. More information is available at:

Table 23.1. Table "trusted"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

src_ip string 50 no

Source address is equal to source address of request

proto string 4 no

Transport protocol is either "any" or equal to transport protocol of request. Possible values that can be stored are "any", "udp", "tcp", "tls", and "sctp".

from_pattern string 64 NULL yes

Regular expression matches From URI of request.

ruri_pattern string 64 NULL yes

Regular expression matches Request URI of request.

tag string 64 yes

Tag

priority int not specified 0 no

Priority of rule.


Table 23.2. Table "trusted" indexes

name type links description
peer_idx default src_ip


Table 23.3. Table "address"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

grp unsigned int 11 1 no

Group

ip_addr string 50 no

IP address

mask int not specified 32 no

Network mask - integer equal or less than 128

port unsigned short 5 0 no

Port

tag string 64 yes

Tag - string value returned in config variable upon address matching


Chapter 24. PIPELIMIT Module

pl_pipes

This table us used by the pipelimit module to keep the definition of pipes. More information about the pipelimit module can be found at:

Table 24.1. Table "pl_pipes"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

pipeid string 64 '' no

Unique ID for pipe

algorithm string 32 '' no

Algorithm to be used for pipe limits. See the readme of the module for description of available options: NOP, RED, TAILDROP, FEEDBACK, NETWORK

plimit int not specified 0 no

Pipe limit (hits per second)


Chapter 25. PRESENCE Module

presentity

Table for the presence module. More information can be found at:

active_watchers

Table for the presence module. More information can be found at:

watchers

Table for the presence module. More information can be found at:

xcap

Table for the presence module. More information can be found at:

pua

Table for the presence related pua module. More information can be found at:

Table 25.1. Table "presentity"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

username string 64 no

User name

domain string 64 no

Domain

event string 64 no

Event

etag string 128 no

Etag attribute

expires int 11 no

Expires

received_time int 11 no

Received time

body binary not specified no

sender string 255 no

Sender contact

priority int 11 0 no

Priority of the record

ruid string 64 yes

Record internal unique id


Table 25.2. Table "presentity" indexes

name type links description
presentity_idx unique username, domain, event, etag

ruid_idx unique ruid

presentity_expires default expires

account_idx default username, domain, event


Table 25.3. Table "active_watchers"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

presentity_uri string 255 no

Presence URI

watcher_username string 64 no

From User

watcher_domain string 64 no

From Domain

to_user string 64 no

To User

to_domain string 64 no

To Domain

event string 64 'presence' no

Event description

event_id string 64 yes

Event ID

to_tag string 128 no

TO tag

from_tag string 128 no

From tag

callid string 255 no

Call ID

local_cseq int 11 no

Local cseq

remote_cseq int 11 no

Remote cseq

contact string 255 no

Contact

record_route text not specified yes

Record route

expires int 11 no

Expires

status int 11 2 no

Status

reason string 64 yes

Reason

version int 11 0 no

Version

socket_info string 64 no

Socket info

local_contact string 255 no

Local contact

from_user string 64 no

From User

from_domain string 64 no

From Domain

updated int 11 no

Update flag

updated_winfo int 11 no

Update winfo flag

flags int 11 0 no

Branch and contact flags

user_agent string 255 '' yes

User-Agent header field contains information about the UAC originating the request.


Table 25.4. Table "active_watchers" indexes

name type links description
active_watchers_idx unique callid, to_tag, from_tag

active_watchers_expires default expires

active_watchers_pres default presentity_uri, event

This index is needed only if you use DB_ONLY mode.

updated_idx default updated

This index is needed only if you use DB_ONLY mode. If possible use a partial index WHERE (updated <>(-1))

updated_winfo_idx default updated_winfo, presentity_uri

This index is needed only if you use DB_ONLY mode. If possible use a partial index WHERE (updated_winfo <>(-1))


Table 25.5. Table "watchers"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

presentity_uri string 255 no

Presentity Uri

watcher_username string 64 no

Watcher User

watcher_domain string 64 no

Watcher Domain

event string 64 'presence' no

Event description

status int 11 no

Status

reason string 64 yes

Reason

inserted_time int 11 no


Table 25.6. Table "watchers" indexes

name type links description
watcher_idx unique presentity_uri, watcher_username, watcher_domain, event

time_status_idx default inserted_time, status


Table 25.7. Table "xcap"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

username string 64 no

User name

domain string 64 no

Domain

doc largebinary not specified no

doc

doc_type int 11 no

Document type

etag string 128 no

Document Etag

source int 11 no

Entity inserting the record

doc_uri string 255 no

Document uri

port int 11 no

XCAP server port


Table 25.8. Table "xcap" indexes

name type links description
doc_uri_idx unique doc_uri

account_doc_type_idx default username, domain, doc_type

account_doc_type_uri_idx default username, domain, doc_type, doc_uri

account_doc_uri_idx default username, domain, doc_uri


Table 25.9. Table "pua"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

pres_uri string 255 no

URI

pres_id string 255 no

ID

event int 11 no

Event

expires int 11 no

Expires

desired_expires int 11 no

Desired Expires

flag int 11 no

Flags

etag string 128 no

Etag

tuple_id string 64 yes

Tuple ID

watcher_uri string 255 no

Watcher URI

call_id string 255 no

Call ID

to_tag string 128 no

To tag

from_tag string 128 no

To tag

cseq int 11 no

record_route text not specified yes

Record route

contact string 255 no

Contact

remote_contact string 255 no

Remote contact

version int 11 no

extra_headers text not specified no

Extra Headers


Table 25.10. Table "pua" indexes

name type links description
pua_idx unique etag, tuple_id, call_id, from_tag

expires_idx default expires

dialog1_idx default pres_id, pres_uri

dialog2_idx default call_id, from_tag

record_idx default pres_id


Chapter 26. PURPLE Module

purplemap

Table for the purple module. More information can be found at:

Table 26.1. Table "purplemap"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

sip_user string 255 no

SIP user's URI

ext_user string 255 no

External (MSN, GTalk, ...) user's URI/Login

ext_prot string 16 no

External protocol to use

ext_pass string 64 yes

External user's password


Chapter 27. REGISTRAR Module

aliases

This table for the registrar module is similar to the "location" table, (the aliases index makes lookup of missed calls much faster). Thus, the function lookup("alias") can be used to map aliases to AORs. Many people use the 'dbaliases' table with the 'alias_db' module. More information is available at:

Table 27.1. Table "aliases"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

ruid string 64 '' no

Record internal unique id

username string 64 '' no

Username / phone number

domain string 64 NULL yes

Domain name

contact string 255 '' no

Contact header field value provides a URI whose meaning depends on the type of request or response it is in.

received string 255 NULL yes

Received IP:PORT in the format SIP:IP:PORT

path string 512 NULL yes

Path Header(s) per RFC 3327

expires datetime not specified '2030-05-28 21:32:15' no

Date and time when this entry expires.

q float 10,2 1.0 no

Value used for preferential routing.

callid string 255 'Default-Call-ID' no

Call-ID header field uniquely identifies a particular invitation or all registrations of a particular client.

cseq int 11 1 no

CSeq header field contains a single decimal sequence number and the request method.

last_modified datetime not specified '2000-01-01 00:00:01' no

Date and time when this entry was last modified.

flags int 11 0 no

Internal flags

cflags int 11 0 no

Branch and contact flags

user_agent string 255 '' no

User-Agent header field contains information about the UAC originating the request.

socket string 64 NULL yes

Socket used to connect to Kamailio. For example: UDP:IP:PORT

methods int 11 NULL yes

Flags that indicate the SIP Methods this contact will accept.

instance string 255 NULL yes

The value of SIP instance parameter for GRUU.

reg_id int 11 0 no

The value of reg-id contact parameter

server_id int 11 0 no

The value of server_id from configuration file

connection_id int 11 0 no

The value of connection id for location record

keepalive int 11 0 no

The value to control sending keep alive requests

partition int 11 0 no

The value to of the partition for keep alive requests


Table 27.2. Table "aliases" indexes

name type links description
account_contact_idx default username, domain, contact

ruid_idx unique ruid

expires_idx default expires


Chapter 28. RLS Module

rls_presentity

Table for the RLS module:

rls_watchers

Table for RLS module used for storing resource lists subscribe information:

Table 28.1. Table "rls_presentity"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

rlsubs_did string 255 no

Resource list subscribe dialog id

resource_uri string 255 no

List Uri

content_type string 255 no

Content type

presence_state binary not specified no

expires int 11 no

Expires

updated int 11 no

Update flag

auth_state int 11 no

Watcher authorization state

reason string 64 no

reason for watcher authorization state


Table 28.2. Table "rls_presentity" indexes

name type links description
rls_presentity_idx unique rlsubs_did, resource_uri

rlsubs_idx default rlsubs_did

updated_idx default updated

If possible use a partial index WHERE (updated <>(-1))

expires_idx default expires


Table 28.3. Table "rls_watchers"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

presentity_uri string 255 no

Presence URI

to_user string 64 no

To user

to_domain string 64 no

To domain

watcher_username string 64 no

From user

watcher_domain string 64 no

From domain

event string 64 'presence' no

Event description

event_id string 64 yes

Event ID

to_tag string 128 no

To tag

from_tag string 128 no

From tag

callid string 255 no

Call ID

local_cseq int 11 no

Local cseq

remote_cseq int 11 no

Remote cseq

contact string 255 no

Contact

record_route text not specified yes

Record route

expires int 11 no

Expires

status int 11 2 no

Status

reason string 64 no

Reason

version int 11 0 no

Version

socket_info string 64 no

Socket info

local_contact string 255 no

Local contact

from_user string 64 no

From user

from_domain string 64 no

From domain

updated int 11 no

Update flag


Table 28.4. Table "rls_watchers" indexes

name type links description
rls_watcher_idx unique callid, to_tag, from_tag

rls_watchers_update default watcher_username, watcher_domain, event

rls_watchers_expires default expires

updated_idx default updated

This index is needed only if you use DB_ONLY mode. If possible use a partial index WHERE (updated <>(-1))


Chapter 29. RTPENGINE Module

rtpengine

This table is used by the rtpengine module. It contains the sets of rtpengine instances used for proxying media between endpoints. More information about the rtpengine module can be found at:

Table 29.1. Table "rtpengine"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

setid unsigned int 10 0 no

RTPEngine instance set ID

url string 64 no

RTPEngine instance socket URL

weight unsigned int 10 1 no

RTPEngine instance weight

disabled int 1 0 no

RTPEngine instance state

stamp datetime not specified '1900-01-01 00:00:01' no

RTPEngine instance add timestamp


Table 29.2. Table "rtpengine" indexes

name type links description
rtpengine_nodes unique setid, url


Chapter 30. RTPPROXY Module

rtpproxy

This table is used by the rtpproxy module. It contains the sets of rtpproxy instances used for proxying media between endpoints. More information about the rtpproxy module can be found at:

Table 30.1. Table "rtpproxy"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

setid string 32 00 no

Set ID

url string 64 '' no

RTPProxy instance socket URL

flags int not specified 0 no

Flags of the rtpproxy instance

weight int not specified 1 no

Weighting of this rtpproxy instance in the set

description string 64 '' no

Description for this instance


Chapter 31. SCA Module

sca_subscriptions

This table is used by the sca module to store active subscriptions. At startup time, the sca module loads unexpired subscriptions into its subscription hash table. More information about the sca module can be found at:

Table 31.1. Table "sca_subscriptions"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

subscriber string 255 no

URI of SCA subscriber

aor string 255 no

SCA Address-of-Record for the group

event int not specified 0 no

SCA event type. 0 - call-info, 1 - line-seize

expires int 11 0 no

Epoch time of SCA subscription expiration

state int not specified 0 no

SCA subscription state, 0 - active

app_idx int not specified 0 no

Seized line appearance index

call_id string 255 no

Call-ID value for subscription dialog

from_tag string 128 no

From-tag for subscription dialog

to_tag string 128 no

To-tag for subscription dialog

record_route text not specified yes

Subscription Record-Route values

notify_cseq int 11 no

Cseq for NOTIFYs sent to subscriber

subscribe_cseq int 11 no

Cseq for SUBSCRIBEs sent from subscriber

server_id int 11 0 no

The value of server_id from configuration file


Table 31.2. Table "sca_subscriptions" indexes

name type links description
sca_subscriptions_idx unique subscriber, call_id, from_tag, to_tag

sca_expires_idx default server_id, expires

sca_subscribers_idx default subscriber, event


Chapter 32. SECFILTER Module

secfilter

This table is used by the secfilter module. It contains the sets of values used to block or allow messages. More information about the secfilter module can be found at:

Table 32.1. Table "secfilter"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

action short not specified 0 no

Action to do (0=blacklisted data, 1=whitelisted data, 2=blacklisted destination).

type short not specified 0 no

Type of data (0=user-agent, 1=country, 2=domain, 3=IP address, 4=user).

data string 64 '' no

Data value.


Table 32.2. Table "secfilter" indexes

name type links description
secfilter_idx default action, type, data


Chapter 33. SIPTRACE Module

sip_trace

This table is used to store incoming/outgoing SIP messages in database. More informations can be found in the siptrace module documentation at:

Table 33.1. Table "sip_trace"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

time_stamp datetime not specified '2000-01-01 00:00:01' no

Time stamp of processing the SIP message

time_us unsigned int not specified 0 no

Store the milliseconds part of the time

callid string 255 '' no

call ID from SIP message

traced_user string 255 '' no

SIP URI of the user being traced

msg largetext not specified no

Full SIP message

method string 50 '' no

SIP method name

status string 255 '' no

SIP reply status

fromip string 64 '' no

Source IP address

toip string 64 '' no

Destination IP address

fromtag string 128 '' no

From tag

totag string 128 '' no

To tag

direction string 4 '' no

Destination IP address


Table 33.2. Table "sip_trace" indexes

name type links description
traced_user_idx default traced_user

date_idx default time_stamp

fromip_idx default fromip

callid_idx default callid


Chapter 34. SPEEDDIAL Module

speed_dial

This table is used by the speeddial module to provide on-server speed dial facilities. More information about the speeddial module can be found at:

Table 34.1. Table "speed_dial"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

username string 64 '' no

Username / phone number

domain string 64 '' no

Domain name

sd_username string 64 '' no

Speed dial username

sd_domain string 64 '' no

Speed dial domain

new_uri string 255 '' no

New URI

fname string 64 '' no

First name

lname string 64 '' no

Last name

description string 64 '' no

Description


Table 34.2. Table "speed_dial" indexes

name type links description
speed_dial_idx unique username, domain, sd_domain, sd_username


Chapter 35. STANDARD CORE Tables

version

This table is used by Kamailio modules to check if the structure of database tables has the expected number.

Table 35.1. Table "version"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

table_name string 32 no

Table name

table_version unsigned int not specified 0 no

Version number


Table 35.2. Table "version" indexes

name type links description
table_name_idx unique table_name


Chapter 36. TOPOS Module

topos_d

This table is used to store topos structures in database. More informations can be found in the topos module documentation at:

topos_t

This table is used to store topos structures in database. More informations can be found in the topos module documentation at:

Table 36.1. Table "topos_d"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

rectime datetime not specified no

Date and time when this record was written.

x_context string 64 '' no

Context value

s_method string 64 '' no

Method from SIP message

s_cseq string 64 '' no

CSeq from SIP message

a_callid string 255 '' no

Call ID from SIP message

a_uuid string 255 '' no

UUID for A side

b_uuid string 255 '' no

UUID for B side

a_contact string 512 '' no

Contact address - A side

b_contact string 512 '' no

Contact address - B side

as_contact string 512 '' no

Contact address - server A side

bs_contact string 512 '' no

Contact address - server B side

a_tag string 255 '' no

From tag.

b_tag string 255 '' no

From tag.

a_rr largetext not specified yes

Record route - A side

b_rr largetext not specified yes

Record route - B side

s_rr largetext not specified yes

Record route - S side

iflags unsigned int 10 0 no

The internal flags.

a_uri string 255 '' no

The URI of the From header

b_uri string 255 '' no

The URI of the To header

r_uri string 255 '' no

The R-URI

a_srcaddr string 128 '' no

Source address - A side

b_srcaddr string 128 '' no

Source address - B side

a_socket string 128 '' no

Socket address - A side

b_socket string 128 '' no

Socket address - B side


Table 36.2. Table "topos_d" indexes

name type links description
rectime_idx default rectime

a_callid_idx default a_callid

a_uuid_idx default a_uuid

b_uuid_idx default b_uuid


Table 36.3. Table "topos_t"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

rectime datetime not specified no

Date and time when this record was written.

x_context string 64 '' no

Context value

s_method string 64 '' no

Method from SIP message

s_cseq string 64 '' no

CSeq from SIP message

a_callid string 255 '' no

Call ID from SIP message

a_uuid string 255 '' no

UUID for A side

b_uuid string 255 '' no

UUID for B side

direction int not specified 0 no

Forwarding direction

x_via largetext not specified yes

Via stack - A or B side

x_vbranch string 255 '' no

Via branch - A or B side

x_rr largetext not specified yes

RR stack - incoming A or B side

y_rr largetext not specified yes

RR stack - the other A or B side

s_rr largetext not specified yes

RR stack - the S side

x_uri string 255 '' no

The R-URI

a_contact string 512 '' no

Contact address - A side

b_contact string 512 '' no

Contact address - B side

as_contact string 512 '' no

Contact address - server A side

bs_contact string 512 '' no

Contact address - server B side

x_tag string 255 '' no

From tag - A or B side.

a_tag string 255 '' no

From tag - A side.

b_tag string 255 '' no

From tag - B side.

a_srcaddr string 255 '' no

Source address - A side

b_srcaddr string 255 '' no

Source address - B side

a_socket string 128 '' no

Socket address - A side

b_socket string 128 '' no

Socket address - B side


Table 36.4. Table "topos_t" indexes

name type links description
rectime_idx default rectime

a_callid_idx default a_callid

x_vbranch_idx default x_vbranch

a_uuid_idx default a_uuid


Chapter 37. UAC Module

uacreg

This table is used by the uac module to load user details for remote server registration:

Table 37.1. Table "uacreg"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

l_uuid string 64 '' no

Local unique id used to build and match contact addresses.

l_username string 64 '' no

Local username

l_domain string 64 '' no

Local domain

r_username string 64 '' no

Remote username

r_domain string 64 '' no

Remote domain

realm string 64 '' no

Remote username

auth_username string 64 '' no

Authentication username

auth_password string 64 '' no

Authentication password in clear text

auth_ha1 string 128 '' no

Hashed (HA1) authentication password - it has priority over auth_password field.

auth_proxy string 255 '' no

Outbound proxy SIP address

expires int not specified 0 no

Expiration time (in seconds, 0 means disabled)

flags int not specified 0 no

Flags to control the behavior

reg_delay int not specified 0 no

Initial registration delay

contact_addr string 255 '' no

Used contact_addr in contact header for sending out requests, if not passed reg_contact_addr will be used instead

socket string 128 '' no

Used socket for sending out requests


Table 37.2. Table "uacreg" indexes

name type links description
l_uuid_idx unique l_uuid


Chapter 38. UID_AUTH_DB Module

uid_credentials

Credentials table maps credentials, identified by username and realm to users identified by uid. Credentials can be used in digest authentication in SIP and/or authentication in SERWeb. In most situations credentials for digest authentication and SERWeb authentication are same. There are cases, however, where separate credentials for SERWeb and separate credentials for digest authentication may be needed. One such example are setups where subscribers get HW user agents with locked configuration and they do not know the password and are not allowed to change it. If they should be able to authenticate in SERWeb then they need different credentials with different password.

Table 38.1. Table "uid_credentials"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

auth_username string 64 no

Credentials username. In digest authentication this is the username configured in user agents, in SERWeb this is the login username.

did string 64 '_default' no

DID of the virtual domain the username belongs to.

realm string 64 no

Credentials realm. In digest authentication this is the value of digest realm attribute, in SERWeb this is the part after @ in login username.

password string 28 '' no

Plain text password of the subscriber, can be used for both digest (SER) and SERWeb authentication.

flags int not specified 0 no

Flags that identify where this particular instance of credentials can be used. If FOR_SER flag is set then the credentials can be used in digest authentication in SIP. If FOR_SERWEB is set then the credentials can be used for authentication in SERWeb. Meaning of flags is summarized in the table below.

Note

Note that several flags below have no meaning in this table and are only presented for completeness, because the flags column has identical meaning of flags across most tables in the database.

Table 38.2. possible credentials flags

BitHex valueFlagDescription
00x00000001FOR_SER If set then SER will load the row (not applicable in this table).
10x00000002DISABLED The data represented by the row is temporarily disabled, which means it stays in the database but no applications use it.
20x00000004CANONICAL The URI or domain name is canonical. When displaying the URI of the user or name of a domain then this entry should be used. Not applicable in this table.
30x00000008ALLOWED_TO The URI represented by this row can be used in The Request-URI or To header field. In other words the user will be reachable under this URI and can use it as an alias. Not applicable in this table.
40x00000010ALLOWED_FROM The user identified by uid can use this URI in From header field. Not applicable in this table.
50x00000020FOR_SERWEB The data represented by the row is for SERWeb. This is currently used in credentials table only where the flags allows to keep different credentials for digest authentication in SIP and for SERWeb authentication. Not applicable in this table.
60x00000040PENDING The account owning the piece of data has not been activated yet. Not applicable in this table, this is mainly used in credentials table.
70x00000100DELETED The row has been scheduled for deletion.
80x00000200CALLER_DELETED The accounting record has been scheduled for deletion by the caller. The row can be deleted once both the caller and callee schedule the record for deletion. A single record can be shared by two users and thus both of them must schedule it for deletion before it can be physically deleted.
90x00000400CALLEE_DELETED The accounting record has been scheduled for deletion by the callee. The row can be deleted once both the caller and callee schedule the record for deletion. A single record can be shared by two users and thus both of them must schedule it for deletion before it can be physically deleted.


ha1 string 32 no

For digest authentication only. This is the H(A1) value calculated as per RFC2617. The value contains an MD5 hash of string concatenated from username, realm, and password: MD5(username:realm:password).

ha1b string 32 '' no

Similar to ha1, but username@domain is used as username. This is necessary for user agents that put username@domain into digest username attribute. This is often useful in multi-domain setups because it allows users to explicitly specify the domain they wish to sign in.

uid string 64 no

This is the UID (User ID) identifier of the user the credentials are assigned to. Each uid can have multiple credentials assigned. UIDs of subscribers with no credentials assigned do not appear in this table.


Table 38.3. Table "uid_credentials" indexes

name type links description
cred_idx default auth_username, did

uid default uid

did_idx default did

realm_idx default realm


Chapter 39. UID_AVP_DB Module

uid_user_attrs

Per user attributes loaded with uid_avp_db module.

Table 39.1. Table "uid_user_attrs"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

uid string 64 no

name string 32 no

value string 128 yes

type int not specified 0 no

flags unsigned int not specified 0 no

Various flags (SER_LOAD and such).


Table 39.2. Table "uid_user_attrs" indexes

name type links description
userattrs_idx unique uid, name, value


Chapter 40. UID_DOMAIN Module

uid_domain

Domain table is used in multi-domain setups where single SER instance is responsible for multiple domains at the same time. Each virtual domain has a unique identifier called DID. This is a string that uniquely identifies the domain. In smaller setups DID will be same as the domain part used in SIP URIs, that is for virtual domain iptel.org will have DID "iptel.org".

DIDs are not limited to domain names that can appear in SIP URIs. Domain names are subject to change over time and, especially in setups with large number of domains hosted on a single SIP proxy server, a different format for DIDs (not based on the domain name) might be more convenient.

Each virtual domain has one or more domain names assigned. Typically all domain names and IP addresses that resolve to the SIP proxy responsible for the domain should be listed in this table. Virtual domain iptel.org, for example, would contain domain names: "iptel.org", "sip.iptel.org", "proxy.iptel.org", "195.37.77.101".

uid_domain_attrs

Each domain can have several attribute-value pairs assigned. They are used to store additional information about the domain, such as digest realm to be used when challenging users, language settings for the domain, time zone, and so on. The AVPs (attribute-value pairs) are stored in this table. Domain attributes have lower priority then user attributes, thus the values from this table will only be used if no user-specific attribute with the same name does not exist. Lists of domain attributes are managed by domain module of SER.

Table 40.1. Table "uid_domain"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

did string 64 no

Unique identifier of the domain.

domain string 64 no

Domain name.

flags unsigned int not specified 0 no

Various flags. The meaning of bits in the flags field is described in the table below.

Note

Note that several flags below have no meaning in this table and are only presented for completeness, because the flags column has identical meaning of flags across most tables in the database.

Table 40.2. possible domain flags

BitHex valueFlagDescription
00x00000001FOR_SER If set then SER will load the row (not applicable in this table).
10x00000002DISABLED The data represented by the row is temporarily disabled, which means it stays in the database but no applications use it.
20x00000004CANONICAL The URI or domain name is canonical. When displaying the URI of the user or name of a domain then this entry should be used. Not applicable in this table.
30x00000008ALLOWED_TO The URI represented by this row can be used in The Request-URI or To header field. In other words the user will be reachable under this URI and can use it as an alias. Not applicable in this table.
40x00000010ALLOWED_FROM The user identified by uid can use this URI in From header field. Not applicable in this table.
50x00000020FOR_SERWEB The data represented by the row is for SERWeb. This is currently used in credentials table only where the flags allows to keep different credentials for digest authentication in SIP and for SERWeb authentication. Not applicable in this table.
60x00000040PENDING The account owning the piece of data has not been activated yet. Not applicable in this table, this is mainly used in credentials table.
70x00000100DELETED The row has been scheduled for deletion.
80x00000200CALLER_DELETED The accounting record has been scheduled for deletion by the caller. The row can be deleted once both the caller and callee schedule the record for deletion. A single record can be shared by two users and thus both of them must schedule it for deletion before it can be physically deleted.
90x00000400CALLEE_DELETED The accounting record has been scheduled for deletion by the callee. The row can be deleted once both the caller and callee schedule the record for deletion. A single record can be shared by two users and thus both of them must schedule it for deletion before it can be physically deleted.



Table 40.3. Table "uid_domain" indexes

name type links description
domain_idx unique domain

did_idx default did


Table 40.4. Table "uid_domain_attrs"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

did string 64 yes

DID (Domain ID) of the virtual domain that owns the attribute.

name string 32 no

Attribute name. This should be one of the names listed in attr_types table.

type int not specified 0 no

Attribute type. This should be the value of type column from attr_types table with same name.

value string 128 yes

Value of the attribute.

flags unsigned int not specified 0 no

Various flags. The meaning of bits in the flags field is described in the table below.

Note

Note that several flags below have no meaning in this table and are only presented for completeness, because the flags column has identical meaning of flags across most tables in the database.

Table 40.5. possible domain_attrs flags

BitHex valueFlagDescription
00x00000001FOR_SER If set then SER will load the row (not applicable in this table).
10x00000002DISABLED The data represented by the row is temporarily disabled, which means it stays in the database but no applications use it.
20x00000004CANONICAL The URI or domain name is canonical. When displaying the URI of the user or name of a domain then this entry should be used. Not applicable in this table.
30x00000008ALLOWED_TO The URI represented by this row can be used in The Request-URI or To header field. In other words the user will be reachable under this URI and can use it as an alias. Not applicable in this table.
40x00000010ALLOWED_FROM The user identified by uid can use this URI in From header field. Not applicable in this table.
50x00000020FOR_SERWEB The data represented by the row is for SERWeb. This is currently used in credentials table only where the flags allows to keep different credentials for digest authentication in SIP and for SERWeb authentication. Not applicable in this table.
60x00000040PENDING The account owning the piece of data has not been activated yet. Not applicable in this table, this is mainly used in credentials table.
70x00000100DELETED The row has been scheduled for deletion.
80x00000200CALLER_DELETED The accounting record has been scheduled for deletion by the caller. The row can be deleted once both the caller and callee schedule the record for deletion. A single record can be shared by two users and thus both of them must schedule it for deletion before it can be physically deleted.
90x00000400CALLEE_DELETED The accounting record has been scheduled for deletion by the callee. The row can be deleted once both the caller and callee schedule the record for deletion. A single record can be shared by two users and thus both of them must schedule it for deletion before it can be physically deleted.



Table 40.6. Table "uid_domain_attrs" indexes

name type links description
domain_attr_idx unique did, name, value

domain_did default did, flags


Chapter 41. UID_GFLAGS Module

uid_global_attrs

The table contains value for global attributes. Global attributes are often used to implement default value for attributes that are not present in domain or user attributes.

Table 41.1. Table "uid_global_attrs"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

name string 32 no

Attribute name. This should be one of the names listed in attr_types table.

type int not specified 0 no

Attribute type. This should be the value of type column from attr_types table with same name.

value string 128 yes

Value of the attribute.

flags unsigned int not specified 0 no

Various flags. The meaning of bits in the flags field is described in the table below.

Note

Note that several flags below have no meaning in this table and are only presented for completeness, because the flags column has identical meaning of flags across most tables in the database.

Table 41.2. possible global_attrs flags

BitHex valueFlagDescription
00x00000001FOR_SER If set then SER will load the row (not applicable in this table).
10x00000002DISABLED The data represented by the row is temporarily disabled, which means it stays in the database but no applications use it.
20x00000004CANONICAL The URI or domain name is canonical. When displaying the URI of the user or name of a domain then this entry should be used. Not applicable in this table.
30x00000008ALLOWED_TO The URI represented by this row can be used in The Request-URI or To header field. In other words the user will be reachable under this URI and can use it as an alias. Not applicable in this table.
40x00000010ALLOWED_FROM The user identified by uid can use this URI in From header field. Not applicable in this table.
50x00000020FOR_SERWEB The data represented by the row is for SERWeb. This is currently used in credentials table only where the flags allows to keep different credentials for digest authentication in SIP and for SERWeb authentication. Not applicable in this table.
60x00000040PENDING The account owning the piece of data has not been activated yet. Not applicable in this table, this is mainly used in credentials table.
70x00000100DELETED The row has been scheduled for deletion.
80x00000200CALLER_DELETED The accounting record has been scheduled for deletion by the caller. The row can be deleted once both the caller and callee schedule the record for deletion. A single record can be shared by two users and thus both of them must schedule it for deletion before it can be physically deleted.
90x00000400CALLEE_DELETED The accounting record has been scheduled for deletion by the callee. The row can be deleted once both the caller and callee schedule the record for deletion. A single record can be shared by two users and thus both of them must schedule it for deletion before it can be physically deleted.



Table 41.3. Table "uid_global_attrs" indexes

name type links description
global_attrs_idx unique name, value


Chapter 42. UID_URI_DB Module

Table 42.1. Table "uid_uri"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

uid string 64 no

did string 64 no

username string 64 no

flags unsigned int not specified 0 no

Various flags (is_from, is_to, is_disabled, is_canon).

scheme string 8 'sip' no

URI scheme: - SIP - SIPS - TEL - TELS


Table 42.2. Table "uid_uri" indexes

name type links description
uri_idx1 default username, did, scheme

uri_uid default uid


Table 42.3. Table "uid_uri_attrs"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

Unique ID

username string 64 no

did string 64 no

name string 32 no

value string 128 yes

type int not specified 0 no

flags unsigned int not specified 0 no

Various flags (SER_LOAD and such).

scheme string 8 'sip' no

URI scheme: - SIP - SIPS - TEL - TELS


Table 42.4. Table "uid_uri_attrs" indexes

name type links description
uriattrs_idx unique username, did, name, value, scheme


Chapter 43. URI_DB Module

uri

This table is used by uri_db module to implement various SIP URI checks. More information about the uri_db module can be found at:

Table 43.1. Table "uri"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

username string 64 '' no

Username / phone number

domain string 64 '' no

Domain name

uri_user string 64 '' no

Username / phone number

last_modified datetime not specified '2000-01-01 00:00:01' no

Date and time when this record was last modified.


Table 43.2. Table "uri" indexes

name type links description
account_idx unique username, domain, uri_user


Chapter 44. USERBLACKLIST Module

userblacklist

This table is used by the userblacklist module for the user specific blacklists. More information is available at:

globalblacklist

This table is used by the userblacklist module for the global blacklists. More information is available at:

Table 44.1. Table "userblacklist"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

username string 64 '' no

The user that is used for the blacklist lookup.

domain string 64 '' no

The domain that is used for the blacklist lookup.

prefix string 64 '' no

The prefix that is matched for the blacklist.

whitelist char 1 0 no

Specify if this a blacklist (0) or a whitelist (1) entry.


Table 44.2. Table "userblacklist" indexes

name type links description
userblacklist_idx default username, domain, prefix


Table 44.3. Table "globalblacklist"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

prefix string 64 '' no

The prefix that is matched for the blacklist.

whitelist char 1 0 no

Specify if this a blacklist (0) or a whitelist (1) entry.

description string 255 NULL yes

A comment for the entry.


Table 44.4. Table "globalblacklist" indexes

name type links description
globalblacklist_idx default prefix


Chapter 45. USERBLACKLIST Module

userblocklist

This table is used by the userblocklist module for the user specific blocklists. More information is available at:

globalblocklist

This table is used by the userblocklist module for the global blocklists. More information is available at:

Table 45.1. Table "userblocklist"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

username string 64 '' no

The user that is used for the blocklist lookup.

domain string 64 '' no

The domain that is used for the blocklist lookup.

prefix string 64 '' no

The prefix that is matched for the blocklist.

allowlist char 1 0 no

Specify if this is a blocklist (0) or an allowlist (1) entry.


Table 45.2. Table "userblocklist" indexes

name type links description
userblocklist_idx default username, domain, prefix


Table 45.3. Table "globalblocklist"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

prefix string 64 '' no

The prefix that is matched for the blocklist.

allowlist char 1 0 no

Specify if this is a blocklist (0) or an allowlist (1) entry.

description string 255 NULL yes

A comment for the entry.


Table 45.4. Table "globalblocklist" indexes

name type links description
globalblocklist_idx default prefix


Chapter 46. USRLOC Module

location

Persistent user location information for the usrloc module. More information can be found at:

location_attrs

Persistent user location attributes for the usrloc module. More information can be found at:

Table 46.1. Table "location"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

ruid string 64 '' no

Record internal unique id

username string 64 '' no

Username / phone number

domain string 64 NULL yes

Domain name

contact string 512 '' no

Contact header field value provides a URI whose meaning depends on the type of request or response it is in.

received string 128 NULL yes

Received IP:PORT in the format SIP:IP:PORT

path string 512 NULL yes

Path Header(s) per RFC 3327

expires datetime not specified '2030-05-28 21:32:15' no

Date and time when this entry expires.

q float 10,2 1.0 no

Value used for preferential routing.

callid string 255 'Default-Call-ID' no

Call-ID header field uniquely identifies a particular invitation or all registrations of a particular client.

cseq int 11 1 no

CSeq header field contains a single decimal sequence number and the request method.

last_modified datetime not specified '2000-01-01 00:00:01' no

Date and time when this entry was last modified.

flags int 11 0 no

Internal flags

cflags int 11 0 no

Branch and contact flags

user_agent string 255 '' no

User-Agent header field contains information about the UAC originating the request.

socket string 64 NULL yes

Socket used to connect to Kamailio. For example: UDP:IP:PORT

methods int 11 NULL yes

Flags that indicate the SIP Methods this contact will accept.

instance string 255 NULL yes

The value of SIP instance parameter for GRUU.

reg_id int 11 0 no

The value of reg-id contact parameter

server_id int 11 0 no

The value of server_id from configuration file

connection_id int 11 0 no

The value of connection id for location record

keepalive int 11 0 no

The value to control sending keep alive requests

partition int 11 0 no

The value to of the partition for keep alive requests


Table 46.2. Table "location" indexes

name type links description
account_contact_idx default username, domain, contact

ruid_idx unique ruid

expires_idx default expires

tcpcon_idx default connection_id

connection_idx default server_id, connection_id


Table 46.3. Table "location_attrs"

name type size default null key extra attributes description
id unsigned int 10 no primary autoincrement

unique ID

ruid string 64 '' no

Record internal unique id

username string 64 '' no

Username / phone number

domain string 64 NULL yes

Domain name

aname string 64 '' no

Attribute name.

atype int 11 0 no

Attribute type.

avalue string 512 '' no

Attribute value.

last_modified datetime not specified '2000-01-01 00:00:01' no

Date and time when this entry was last modified.


Table 46.4. Table "location_attrs" indexes

name type links description
account_record_idx default username, domain, ruid

last_modified_idx default last_modified