Kamailio database tables

Kamailio Development Team

Edited by

Henning Westerholt

1und1 Internet AG

Edited by

Norman Brandinger

Revision History
Revision $Revision: 4594 $ $Date: 2008-08-06 12:08:33 +0200 (Mi, 06 Aug 2008) $

Table of Contents

1. Accounting
2. alias db
3. Subscriber
4. AVP Operations
5. carrierroute
6. Call-processing language
7. Dialog support
8. Matching and translation rules
9. Dispatcher
10. Domain
11. Domainpolicy
12. DRouting
13. Extensions
14. Group checking
15. HashTable Values
16. Instant Message Conference
17. Least-cost Routing
18. Route Matrix
19. Message Storage
20. MTree keys-values
21. Prefix-Domain Translation
22. Permissions
23. Pipelimit
24. Presence
25. PURPLE
26. Registrar
27. RLS
28. SIPtrace
29. Speed dial
30. Version
31. UAC remote registrations
32. SIP URI checks
33. User and global blacklists
34. User location

List of Tables

1.1. Table "acc"
1.2. Table "acc" indexes
1.3. Table "missed_calls"
1.4. 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 "silo"
19.2. Table "silo" indexes
20.1. Table "mtree"
20.2. Table "mtree" indexes
20.3. Table "mtrees"
20.4. Table "mtrees" indexes
21.1. Table "pdt"
21.2. Table "pdt" indexes
22.1. Table "trusted"
22.2. Table "trusted" indexes
22.3. Table "address"
23.1. Table "pl_pipes"
24.1. Table "presentity"
24.2. Table "presentity" indexes
24.3. Table "active_watchers"
24.4. Table "active_watchers" indexes
24.5. Table "watchers"
24.6. Table "watchers" indexes
24.7. Table "xcap"
24.8. Table "xcap" indexes
24.9. Table "pua"
24.10. Table "pua" indexes
25.1. Table "purplemap"
26.1. Table "aliases"
26.2. Table "aliases" indexes
27.1. Table "rls_presentity"
27.2. Table "rls_presentity" indexes
27.3. Table "rls_watchers"
27.4. Table "rls_watchers" indexes
28.1. Table "sip_trace"
28.2. Table "sip_trace" indexes
29.1. Table "speed_dial"
29.2. Table "speed_dial" indexes
30.1. Table "version"
31.1. Table "uacreg"
31.2. Table "uacreg" indexes
32.1. Table "uri"
32.2. Table "uri" indexes
33.1. Table "userblacklist"
33.2. Table "userblacklist" indexes
33.3. Table "globalblacklist"
33.4. Table "globalblacklist" indexes
34.1. Table "location"
34.2. Table "location" indexes

Chapter 1. Accounting

acc

This table is used by the ACC module to report on transactions - accounted calls. More information is available at: http://www.kamailio.org/docs/modules/devel/acc.html

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: http://www.kamailio.org/docs/modules/devel/acc.html

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 64 '' 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 64 '' 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 32 '' 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 "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 64 '' 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 64 '' 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 32 '' no

SIP reply reason

time datetime not specified no

Date and time when this record was written.


Table 1.4. Table "missed_calls" indexes

name type links description
callid_idx default callid


Chapter 2. alias db

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: http://www.kamailio.org/docs/modules/devel/alias_db.html

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_idx unique alias_username, alias_domain

target_idx default username, domain


Chapter 3. Subscriber

subscriber

This table is used to provide authentication information. More information about the auth_db module can be found at: http://www.kamailio.org/docs/modules/devel/auth_db.html

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 25 '' no

Password

email_address string 64 '' no

Email address

ha1 string 64 '' no

md5(username:realm:password)

ha1b string 64 '' no

md5(username@domain:realm:password)

rpid string 64 NULL yes

The SIP Remote-Party-ID header identifies the calling party and includes user, party, screen and privacy headers that specify how a call is presented and screened.


Table 3.2. Table "subscriber" indexes

name type links description
account_idx unique username, domain

username_idx default username


Chapter 4. AVP Operations

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: http://www.kamailio.org/docs/modules/devel/avpops.html

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 128 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 '1900-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

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: http://www.kamailio.org/docs/modules/devel/carrierroute.html

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: http://www.kamailio.org/docs/modules/devel/carrierroute.html

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: http://www.kamailio.org/docs/modules/devel/carrierroute.html

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: http://www.kamailio.org/docs/modules/devel/carrierroute.html

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 its 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 128 '' 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 the scan prefixes. Scan prexies 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 128 '' 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. Call-processing language

cpl

Table for the call processing language "cpl" module. More information is available at: http://www.kamailio.org/docs/modules/devel/cpl-c.html

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 support

dialog

Persistent dialog information for the dialog module. More information can be found at: http://www.kamailio.org/docs/modules/devel/dialog.html

dialog_vars

Persistent dialog variable information for the dialog module. More information can be found at: http://www.kamailio.org/docs/modules/devel/dialog.html

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 128 no

The URI of the FROM header (as per INVITE)

from_tag string 64 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 128 no

The URI of the TO header (as per INVITE)

to_tag string 64 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 128 no

Caller's contact uri.

callee_contact string 128 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 accesible 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 128 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. Matching and translation rules

dialplan

This table is used by the dialplan module for the translation rules. More information is available at: http://www.kamailio.org/docs/modules/devel/dialplan.html

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 expresion (regexp or string).

match_len int 11 no

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

subst_exp string 64 no

Substitution expresion.

repl_exp string 32 no

Replacement expresion (sed like).

attrs string 32 no

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


Chapter 9. Dispatcher

dispatcher

This table is used by the dispatcher module. It contains the sets of destinations used for load balancing and dispatching. More information about the dispatcher module can be found at: http://www.kamailio.org/docs/modules/devel/dispatcher.html

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

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: http://www.kamailio.org/docs/modules/devel/domain.html

domain_attrs

This table contains attributes of domain ids. More information about the domain module can be found at: http://www.kamailio.org/docs/modules/devel/domain.html

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 '1900-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 '1900-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 unique did, name, value


Chapter 11. Domainpolicy

domainpolicy

Table for the domainpolicy module. More information at http://www.kamailio.org/docs/modules/devel/domainpolicy.html.

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

dr_gateways

This table is used by the douting 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: http://www.kamailio.org/docs/modules/devel/drouting.html.

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: http://www.kamailio.org/docs/modules/devel/drouting.html.

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. Extensions

Chapter 14. Group checking

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: http://www.kamailio.org/docs/modules/devel/group.html

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: http://www.kamailio.org/docs/modules/devel/group.html

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 '1900-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. HashTable Values

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: http://www.kamailio.org/docs/modules/devel/htable.html

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. Instant Message Conference

imc_rooms

Room table for the IMC module. More information at http://www.kamailio.org/docs/modules/devel/imc.html.

imc_members

Member table for the IMC module. More information at http://www.kamailio.org/docs/modules/devel/imc.html.

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. Least-cost Routing

lcr_gw

This table is used by lcr (Least Cost Routing) module to store gateway attributes. More information can be found at: http://www.kamailio.org/docs/modules/devel/lcr.html.

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: http://www.kamailio.org/docs/modules/devel/lcr.html.

lcr_rule

This table is used by the lcr (Least Cost Routing) module to store routing rules. More information can be found at: http://www.kamailio.org/docs/modules/devel/lcr.html.

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 47 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

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. Route Matrix

matrix

This table is used by the matrix module.

Table 18.1. Table "matrix"

name type size default null key extra attributes description
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. Message Storage

silo

This table us used by the msilo module to provide offline message storage More information about the msilo module can be found at: http://www.kamailio.org/docs/modules/devel/msilo.html

Table 19.1. Table "silo"

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

unique ID

src_addr string 128 '' no

Source address - From URI

dst_addr string 128 '' 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 '' no

Body of the message

extra_hdrs text not specified '' no

Extra headers that must be restored

callid string 128 '' no

SIP Call-Id

status int not specified 0 no

Status of notification


Table 19.2. Table "silo" indexes

name type links description
account_idx default username, domain


Chapter 20. MTree keys-values

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: http://www.kamailio.org/docs/modules/devel/mtree.html

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: http://www.kamailio.org/docs/modules/devel/mtree.html

Table 20.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 20.2. Table "mtree" indexes

name type links description
tprefix_idx unique tprefix


Table 20.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 20.4. Table "mtrees" indexes

name type links description
tname_tprefix_tvalue_idx unique tname, tprefix, tvalue


Chapter 21. Prefix-Domain Translation

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: http://www.kamailio.org/docs/modules/devel/pdt.html

Table 21.1. Table "pdt"

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

Unique ID

sdomain string 128 no

Source domain

prefix string 32 no

Prefix found in the username part of R-URI.

domain string 128 '' no

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


Table 21.2. Table "pdt" indexes

name type links description
sdomain_prefix_idx unique sdomain, prefix


Chapter 22. Permissions

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: http://www.kamailio.org/docs/modules/devel/permissions.html

address

This table is used by the permissions module. More information is available at: http://www.kamailio.org/docs/modules/devel/permissions.html

Table 22.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.

tag string 64 yes

Tag


Table 22.2. Table "trusted" indexes

name type links description
peer_idx default src_ip


Table 22.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 48 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 23. Pipelimit

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: http://www.kamailio.org/docs/modules/devel/pipelimit.html

Table 23.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 24. Presence

presentity

Table for the presence module. More information can be found at: http://www.kamailio.org/docs/modules/devel/presence.html

active_watchers

Table for the presence module. More information can be found at: http://www.kamailio.org/docs/modules/devel/presence.html

watchers

Table for the presence module. More information can be found at: http://www.kamailio.org/docs/modules/devel/presence.html

xcap

Table for the presence module. More information can be found at: http://www.kamailio.org/docs/modules/devel/presence.html

pua

Table for the presence related pua module. More information can be found at: http://www.kamailio.org/docs/modules/devel/pua.html

Table 24.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 64 no

User name

expires int 11 no

Expires

received_time int 11 no

Reveived time

body binary not specified no

sender string 128 no

Sender contact


Table 24.2. Table "presentity" indexes

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

presentity_expires default expires

account_idx default username, domain, event


Table 24.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 128 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 64 no

TO tag

from_tag string 64 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 128 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 128 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


Table 24.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

This index is needed only if you use DB_ONLY mode.

updated_idx default updated

updated_winfo_idx default updated_winfo, presentity_uri


Table 24.5. Table "watchers"

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

Unique ID

presentity_uri string 128 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 24.6. Table "watchers" indexes

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


Table 24.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 64 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 24.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 24.9. Table "pua"

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

Unique ID

pres_uri string 128 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 64 no

Etag

tuple_id string 64 yes

Tuple ID

watcher_uri string 128 no

Watcher URI

call_id string 255 no

Call ID

to_tag string 64 no

To tag

from_tag string 64 no

To tag

cseq int 11 no

record_route text not specified yes

Record route

contact string 128 no

Contact

remote_contact string 128 no

Remote contact

version int 11 no

extra_headers text not specified no

Extra Headers


Table 24.10. Table "pua" indexes

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

expires_idx unique expires

dialog1_idx default call_id, from_tag, to_tag

dialog2_idx default pres_id, pres_uri

tmp_dlg1_idx default call_id, from_tag

tmp_dlg2_idx default pres_id, pres_uri, call_id, from_tag

tmp_record1_idx default pres_id

tmp_record2_idx default pres_id, etag


Chapter 25. PURPLE

purplemap

Table for the purple module. More information can be found at: http://www.kamailio.org/docs/modules/devel/purple.html

Table 25.1. Table "purplemap"

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

Unique ID

sip_user string 128 no

SIP user's URI

ext_user string 128 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 26. Registrar

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. More information is available at: http://www.kamailio.org/docs/modules/devel/registrar.html. Most people uses the dbaliases table with the alias_db module now.

Table 26.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

Alias Username / Phone Number

domain string 64 NULL yes

Domain name

contact string 255 '' no

Contact header field value provides a URI whoses 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 128 NULL yes

Path Header(s) per RFC 3327

expires datetime not specified '2020-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 '1900-01-01 00:00:01' no

Date and time when this entry was last modified.

flags int 11 0 no

Flags

cflags int 11 0 no

CFlags

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


Table 26.2. Table "aliases" indexes

name type links description
alias_idx default username, domain, contact


Chapter 27. RLS

rls_presentity

Table for the RLS module.

rls_watchers

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

Table 27.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 128 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 27.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

expires_idx default expires


Table 27.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 128 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 64 no

To tag

from_tag string 64 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 128 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 128 no

Local contact

from_user string 64 no

From user

from_domain string 64 no

From domain

updated int 11 no

Update flag


Table 27.4. Table "rls_watchers" indexes

name type links description
rls_watcher_idx unique callid, to_tag, from_tag

rls_watchers_delete default callid, to_tag

rls_watchers_update default watcher_username, watcher_domain, event

rls_watchers_expires default expires

updated_idx default updated


Chapter 28. SIPtrace

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: http://www.kamailio.org/docs/modules/devel/siptrace.html.

Table 28.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 '1900-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 128 '' 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 128 '' no

SIP reply status

fromip string 50 '' no

Source IP address

toip string 50 '' no

Destination IP address

fromtag string 64 '' no

From tag

direction string 4 '' no

Destination IP address


Table 28.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 29. Speed dial

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: http://www.kamailio.org/docs/modules/devel/speeddial.html

Table 29.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 128 '' no

New URI

fname string 64 '' no

First name

lname string 64 '' no

Last name

description string 64 '' no

Description


Table 29.2. Table "speed_dial" indexes

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


Chapter 30. Version

Table 30.1. Table "version"

name type size default null key extra attributes description
table_name string 32 no

table_version unsigned int not specified 0 no


Chapter 31. UAC remote registrations

uacreg

This table is used by theuac module to load user details for remote server registration: http://www.kamailio.org/docs/modules/devel/uac.html

Table 31.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 128 '' no

Local domain

r_username string 64 '' no

Remote username

r_domain string 128 '' no

Remote domain

realm string 64 '' no

Remote username

auth_username string 64 '' no

Authentication username

auth_password string 64 '' no

Authentication password

auth_proxy string 64 '' no

Outbound proxy SIP address

expires int not specified 0 no

Expiration time (in seconds, 0 means disabled)


Table 31.2. Table "uacreg" indexes

name type links description
l_uuid_idx unique l_uuid


Chapter 32. SIP URI checks

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: http://www.kamailio.org/docs/modules/devel/uri_db.html

Table 32.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 '1900-01-01 00:00:01' no

Date and time when this record was last modified.


Table 32.2. Table "uri" indexes

name type links description
account_idx unique username, domain, uri_user


Chapter 33. User and global blacklists

userblacklist

This table is used by the userblacklist module for the user specific blacklists. More information is available at: http://www.kamailio.org/docs/modules/devel/userblacklist.html

globalblacklist

This table is used by the userblacklist module for the global blacklists. More information is available at: http://www.kamailio.org/docs/modules/devel/userblacklist.html

Table 33.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 33.2. Table "userblacklist" indexes

name type links description
userblacklist_idx default username, domain, prefix


Table 33.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 33.4. Table "globalblacklist" indexes

name type links description
globalblacklist_idx default prefix


Chapter 34. User location

location

Persistent user location information for the usrloc module. More information can be found at: http://www.kamailio.org/docs/modules/devel/usrloc.html

Table 34.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 255 '' no

Contact header field value provides a URI whoses 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 128 NULL yes

Path Header(s) per RFC 3327

expires datetime not specified '2020-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 '1900-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


Table 34.2. Table "location" indexes

name type links description
account_contact_idx default username, domain, contact