– Kamailio SIP Server –

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
database:1.2.x [2006/12/22 02:43] 24.115.56.68database:1.2.x [2009/02/27 19:56] (current) 86.121.132.177
Line 1: Line 1:
 +====== OpenSER 1.2.x Database Table Structure ======
  
 +
 +<code>
 +Authors of initial tutorial:
 +  Norman Brandinger
 +</code>
 +<hi #eeeeee> **//last updated//**: ~~LASTMOD~~ </hi>
 +
 +For initial database structure you can also use the script
 +openser_mysql.sh create
 +which comes with the package. You can edit the script and modify e.g. database, user, password to your needs.
 +Usually it's located in /usr/local/sbin after installation of openser (src distribution).
 +
 +===== Accounting =====
 +
 +This table is used by the ACC module to report on transactions - accounted calls.
 +
 +More information is available at: http://www.openser-project.org/docs/modules/1.2.x/acc.html
 +
 +
 +** Accounting (//acc//) Table **
 +
 +^ Field ^ Type ^ Attributes ^ Description ^
 +| id | int(10) | UNSIGNED auto_increment | Unique ID per record |
 +| method | varchar(16) | | A method is the primary function that a request is meant to invoke on a server |
 +| from_tag | varchar(64) | | 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 | varchar(64) | | 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 | varchar(128) | | Call-ID header field uniquely identifies a particular invitation or all registrations of a particular client. |
 +|s ip_code | char(3) | | SIP reply code  |
 +| sip_reason | varchar(32) | | SIP reply reason |
 +| time | datetime | | Date / Time this record was written. |
 +
 +** Accounting (//acc//) Table Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | id |
 +| acc_callid | Index | callid |
 +
 +===== Active Sessions =====
 +
 +This table is used by SERWeb. It is not used by OpenSER.
 +** Active Sessions (//active_sessions// ) Table **
 +
 +^ Field ^ Type ^ Default ^ Description ^
 +|sid | varchar(32) | | SERWeb session id | 
 +|name | varchar(32) |  |
 +|val | text  | NULL | Serialized value of web session | 
 +|changed | varchar(14)| | | 
 +
 +** Active Sessions (//active_sessions//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | name, sid |
 +| changed | Index | changed |
 +
 +===== Address =====
 +
 +This table is used by permissions module. 
 +
 +** Address (//address//) Table Indexes **
 +
 +^ Field ^ Type ^ Attributes ^ Default ^ Description ^
 +| id           | bigint(20)  | auto_increment | | |
 +| grp          | smallint(5) | UNSIGNED | 0 | |
 +| ip_addr      | varchar(15) | | | |
 +| mask         | tinyint(4)  | | 32 | |
 +| port         | smallint(5) | UNSIGNED | 0 | |
 +
 +** Address (//address//) Table Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | id |
 +
 +===== Administrative Privileges  =====
 +
 +Multi-domain SERWeb Access Control List (ACL). It is not used by OpenSER.
 +
 +** Administrative Privileges (//admin_privileges//) Table **
 +
 +It is used for multidomain serweb ACL control
 +^ Field ^ Type ^ Description ^
 +|username     | varchar(64)  | Username / Phone Number|
 +|domain       | varchar(128) | Domain part of user's SIP URI | 
 +|priv_name    | varchar(64)  | Privilege name | 
 +|priv_value   | varchar(64)  | Privilege value |
 +
 +** Administrative Privileges (//admin_privileges//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | username, priv_name, priv_value, domain |
 +
 +===== Aliases =====
 +
 +This table is similar to the "location" table.
 +
 +More information is available at: http://www.openser-project.org/docs/modules/1.2.x/registrar.html
 +
 +** Aliases (//aliases//) Table **
 +^ Field ^ Type ^ Default ^ Description ^
 +|username     | varchar(64)      | | Alias Username / Phone Number |
 +|domain       | varchar(128)     | | Domain Name |
 +|contact      | varchar(255)     | | Contact header field value provides a URI whoses meaning depends on the type of request or response it is in.|
 +|received     | varchar(255)     | NULL | Received IP:PORT in the format SIP:IP:PORT |
 +|path       | varchar(255)     | NULL | Path Header(s) per RFC 3327 |
 +|expires      | datetime         | 2020-05-28 21:32:15 | Date/Time that this entry expires. |
 +|q            | float(10,2) | 1.00 | Value used for preferential routing.|
 +|callid       | varchar(255)     | Default-Call-ID | Call-ID header field uniquely identifies a particular invitation or all registrations of a particular client. |
 +|cseq       | int(11)          | 13 | CSeq header field contains a single decimal sequence number and the request method. |
 +|last_modified | datetime | 1900-01-01 00:00:00 | Date/Time this entry was last changed. |
 +|flags       | int(11)          | | Flags |
 +|user_agent   | varchar(255) | | User-Agent header field contains information about the UAC originating the request. |
 +|socket       | varchar(128) | NULL | Socket used to connect to OpenSER. For example: UDP:IP:PORT |
 +|methods      | int(11)          | NULL | Flags that indicate the SIP Methods this contact will accept.|
 +
 +** Aliases (//aliases//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | username, domain, contact |
 +| aliases_contact | Index | contact |
 +
 +===== Database Aliases =====
 +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.openser-project.org/docs/modules/1.2.x/alias_db.html
 +
 +** Database Aliases (//dbaliases//) Table **
 +
 +^ Field ^ Type ^ Description ^
 +|alias_username | varchar(64)    | Alias Username / Phone Number|
 +|alias_domain | varchar(128)   | Alias Domain Name|
 +|username | varchar(64)    | Username / Phone Number|
 +|domain         | varchar(128) | Domain Name|
 +
 +** Database Aliases (//dbaliases//) Indexes**
 +
 +^ Keyname ^ Type ^ Field ^
 +| alias_key | Unique | alias_username, alias_domain |
 +| alias_user | Index | username, domain |
 +
 +===== Domains =====
 +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.openser-project.org/docs/modules/1.2.x/domain.html
 +
 +** Domains (//domain//) Table **
 +^ Field ^ Type ^ Default ^ Description ^
 +|domain       | varchar(128)     | | Domain Name       |
 +|last_modified| datetime         | 0000-00-00 00:00:00 | Date/Time this record was last modified |
 +
 +** Domains (//domain//) Indexes**
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | domain |
 +
 +===== Domain Policy =====
 +
 +More information about the domainpolicy module can be found at: http://www.openser-project.org/docs/modules/1.2.x/domainpolicy.html
 +
 +** Domain Policy (//domainpolicy//) Table **
 +^ Field ^ Type ^ Attributes ^ Default ^ Description ^
 +|id     | int(11) | auto_increment | | Unique ID per record |
 +|rule   | varchar(255) | | | Domain policy rule name which is equal to the URI as published in the domain policy NAPTRs. |
 +|type  | varchar(255) | | | 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   | varchar(255)  | | NULL | 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   | varchar(255) | | NULL | It contains the values for AVPs created by dp_can_connect(). Default value is "val". |
 +|comment | varchar(255) | | NULL | Comments about the rule |
 +
 +** Domain Policy Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | id, rule |
 +| rule | Unique | rule, att, val |
 +| rule_idx | Index | rule |
 +
 +===== Groups =====
 +
 +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.openser-project.org/docs/modules/1.2.x/group.html
 +
 +** Groups (//grp//) Table **
 +
 +^ Field ^ Type ^ Default ^ Description ^
 +|username     | varchar(64)    |  | Username / Phone Number |
 +|domain       | varchar(128)    | Domain Name |
 +|grp       | varchar(50)    |  | Group Name |
 +|last_modified| datetime       | 0000-00-00 00:00:00 | Date/Time this record was last modified |
 +
 +** Groups (//grp//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | username, domain, grp |
 +
 +===== Gateways =====
 +This table contains Least Cost Routing Gateway definitions
 +
 +More information can be found at: http://www.openser-project.org/docs/modules/1.2.x/lcr.html
 +
 +** Gateways (//gw//) Table **
 +
 +^ Field ^ Type ^ Attributes ^ Default ^ Description ^
 +|gw_name      | varchar(128) | | | Gateway Name |
 +|grp_id       | int(10)      | UNSIGNED | | Gateway ID |
 +|ip_addr      | int(10)      | UNSIGNED | | IP Address of the gateway |
 +|port       | smallint(5)  | UNSIGNED | NULL | Port of the gateway |
 +|uri_scheme   | tinyint(3)   | UNSIGNED | NULL | URI scheme of the gateway |
 +|transport    | tinyint(3)   | UNSIGNED | NULL | Transport type to be used for the gateway |
 +|strip       | tinyint(3)   | UNSIGNED | NULL | The number of digits to strip from the RURI before applying the prefix. |
 +|prefix       | varchar(16)  | | NULL | The R-URI(destination) prefix |
 +
 +** Gateways (//gw//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | gw_name |
 +| grp_id | Index | grp_id |
 +
 +===== Gateway Groups =====
 +This table is used for administrative purposes only to associate names with gateway group ids
 +
 +More information can be found at: http://www.openser-project.org/docs/modules/1.2.x/lcr.html
 +
 +** Gateway Groups (//gw_grp//) Table **
 +
 +^ Field ^ Type ^ Attributes ^ Description ^
 +|grp_id       | int(10) | UNSIGNED auto_increment| Group ID |
 +|grp_name     | varchar(64) | | Group Name |
 +
 +** Gateway Groups (//gw_grp//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | grp_id |
 +
 +===== Least Cost Routing =====
 +This table is used by the lcr (Least Cost Routing) rules
 +
 +More information about the lcr module can be found at: http://www.openser-project.org/docs/modules/1.2.x/lcr.html
 +
 +** Least Cost Routing (//lcr//) Table **
 +^ Field ^ Type ^ Attributes ^ Default ^ Description ^
 +|prefix       | varchar(16)  |          |      | The Request-URI (destination) prefix |
 +|from_uri     | varchar(128) |          | NULL | The FROM (source) URI |
 +|grp_id       | int(10       | UNSIGNED |      | Group ID |
 +|priority     | tinyint(3)   | UNSIGNED |      | Priority |
 +
 +** Least Cost Routing (//lcr//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| prefix   | Index | prefix   |
 +| from_uri | Index | from_uri |
 +| grp_id   | Index | grp_id   |
 +
 +===== User Locations =====
 +Persistent user location information
 +
 +More information can be found at: http://www.openser-project.org/docs/modules/1.2.x/usrloc.html
 +
 +** User Locations (//location//) Table **
 +^Field ^ Type ^ Default ^ Description ^
 +|username     | varchar(64)      | | Username / Phone Number |
 +|domain       | varchar(128) | | Domain Name |
 +|contact      | varchar(255) | | Contact header field value provides a URI whose meaning depends on the type of request or response it is in |
 +|received     | varchar(255) | NULL | Received IP:PORT in the format SIP:IP:PORT|
 +|path       | varchar(255) | NULL | Path Header(s) per RFC 3327 |
 +|expires      | datetime         | 2020-05-28 21:32:15 | Expires header field gives the relative time after which the message (or content) expires |
 +|q       | float(10,2) | 1.00 | Value used for preferential routing |
 +|callid       | varchar(255) | Default-Call-ID | Call-ID header field uniquely identifies a particular invitation or all registrations of a particular client. |
 +|cseq       | int(11)          | 13 | CSeq header field contains a single decimal sequence number and the request method. |
 +|last_modified| datetime | 1900-01-01 00:00:00 | Date/Time this record was last modified|
 +|flags       | int(11)          | 0 | Internal Flags |
 +|user_agent   | varchar(255) |  | User-Agent header field contains information about the UAC originating the request.|
 +|socket       | varchar(128)     | NULL | Socket used to connect to OpenSER. For example: UDP:IP:PORT. |
 +|methods      | int(11)          | NULL | Methods accepted. |
 +
 +** User Locations (//location//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | username, domain, contact |
 +
 +===== Missed Calls =====
 +acc like table for keeping track of missed calls
 +
 +**Missed Calls (//missed_calls//) Table**
 +
 +^ Field ^ Type ^ Attributes ^ Description ^
 +|id           | int(10)       | UNSIGNED auto_increment | Unique ID per record |
 +|method       | varchar(16) |  | A method is the primary function that a request is meant to invoke on a server. |
 +|from_tag      | varchar(64) |  | 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       | varchar(64) |  | 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       | varchar(128)    |  | Call-ID header field uniquely identifies a particular invitation or all registrations of a particular client. |
 +|sip_code     | char(3)          | Code of the SIP reply |
 +|sip_reason   | varchar(32)      | Reason phrase of the SIP reply | 
 +|time       | datetime |  | Date / Time this record was written. |
 +
 +** Missed Calls (//missed_calls//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | id |
 +| acc_callid | Index | callid |
 +
 +===== Prefix-Domain Translation =====
 +
 +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.openser-project.org/docs/modules/1.2.x/pdt.html
 +
 +** Prefix-Domain Translation (//pdt//) Table **
 +
 +^ Field ^ Type ^ Description ^
 +|sdomain      | varchar(255)     | Source Domain. |
 +|prefix       | varchar(32)      | Prefix found in the username part of R-URI. |
 +|domain       | varchar(255)     | Domain corresponding to (sdomain, prefix) pair where the message must be sent.|
 +
 +
 +** Prefix-Domain Translation (//pdt//) Table Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | sdomain, prefix |
 +
 +===== Pending =====
 +SerWEB - Not used by OpenSER -- should have same structure as table **subscriber**.
 +
 +Unconfirmed subscription requests
 +
 +** Pending (//pending//) Table **
 +
 +^ Field ^ Type ^ Attributes ^ Default ^ Description ^
 +|id           | int(10)       | UNSIGNED auto_increment | | Unique ID per record |
 +|phplib_id    | varchar(32)   | | | Unique ID |
 +|username     | varchar(64)   | | | Username / Phone Number |
 +|domain       | varchar(128)  | | | Domain Name |
 +|password     | varchar(25)   | | | Password |
 +|first_name   | varchar(25)   | | | First Name |
 +|last_name    | varchar(45)   | | | Last Name |
 +|phone       | varchar(15)   | | | Phone Number |
 +|email_address| varchar(50)   | | | Email Address |
 +|datetime_created| datetime   | | 0000-00-00 00:00:00 | Date / Time this record was created |
 +|datetime_modified| datetime  | | 0000-00-00 00:00:00 | Date / Time this record was last modified |
 +|confirmation | varchar(64)   | | | |
 +|flag       | char(1)       | | o | |
 +|sendnotification| varchar(50) | | | |  
 +|greeting     | varchar(50)   | | | |
 +|ha1       | varchar(128)  | | | md5(username:realm:password) |
 +|ha1b       | varchar(128)  | | | md5(username@domain:realm:password) |
 +|allow_find   | char(1)       | | 0 | | 
 +|timezone     | varchar(128)  | | NULL | |
 +|rpid       | varchar(128)  | | NULL | 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.|
 +
 +** Pending (//pending//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | id |
 +| user_id | Unique | username, domain |
 +| phplib_id | Unique | phplib_id |
 +| username_id | Index | username |
 +
 +===== Phone Book =====
 +SERWeb - Not used by OpenSER. User's Phonebook
 +
 +** Phone Book (//phonebook//) Table **
 +
 +^ Field ^ Type ^ Attributes ^ Description ^
 +|id       | int(10)          | UNSIGNED auto_increment | ID of this record  |
 +|username     | varchar(64)      | | Username / Phone Number |
 +|domain       | varchar(128) | | Domain Name |
 +|fname       | varchar(32) | | First Name  |
 +|lname       | varchar(32) | | Last Name   |
 +|sip_uri      | varchar(128)     | | SIP URI associated with this record |
 +
 +** Phone Book (//phonebook//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | id |
 +
 +===== Regular Expression Group =====
 +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.openser-project.org/docs/modules/1.2.x/group.html
 +
 +** Regular Expression Group (//re_grp//) Table **
 +
 +^ Field ^ Type ^ Default ^ Description ^
 +|reg_exp      | varchar(128)   | 0 | Regular Expression |
 +|group_id     | int(11)        |   | Group ID           |
 +
 +** Regular Expression Group (//re_grp//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| reg_exp | UNIQUE | reg_exp |
 +
 +===== Server Monitoring =====
 +SERWeb - Not used by OpenSER
 +
 +** Server Monitoring (//server_monitoring//) Table **
 +
 +^ Field ^ Type ^ Attributes ^ Default ^ Description ^
 +|time       | datetime    |          | 0000-00-00 00:00:00 | |  
 +|id       | int(10)     | UNSIGNED |                     | |
 +|param       | varchar(32) |          |                     | |  
 +|value       | int(10)     |          | 0                   | |
 +|increment    | int(10)              | 0                   | |
 +
 +** Server Monitoring (//server_monitoring//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | id, param |
 +
 +===== Server Monitoring =====
 +SERWeb - Not used by OpenSER
 +
 +** Server Monitoring (//server_monitoring_agg//) Table**
 +^ Field ^ Type ^ Default ^ Description ^
 +|param       | varchar(32)      |   | |  
 +|s_value      | int(10)          | 0 | | 
 +|s_increment  | int(10)          | 0 | |
 +|last_aggregated_increment| int(10) | 0 | |  
 +|av       | float  | 0 | |  
 +|mv       | int(10)| 0 | |  
 +|ad       | float  | 0 | | 
 +|lv       | int(10)| 0 | |  
 +|min_val      | int(10)| 0 | |  
 +|max_val      | int(10)| 0 | |  
 +|min_inc      | int(10)| 0 | |  
 +|max_inc      | int(10)| 0 | |  
 +|lastupdate   | datetime | 0000-00-00 00:00:00 | Date/Time this record was last modified. |
 +
 +** Server Monitoring (//server_monitoring_agg//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | param |
 +
 +===== SIP Trace =====
 +This table is used to store incoming/outgoing SIP messages in database. How this can be done you find out reading http://www.openser-project.org/docs/modules/1.2.x/siptrace.html.
 +
 +** SIP Trace (//sip_trace//) Table **
 +
 +^ Field ^ Type ^ Attributes ^ Default ^ Description ^
 +|id           | bigint(20)       | auto_increment | | unique auto increment ID per message |
 +|date         | datetime         | | 0000-00-00 00:00:00 | recording date | 
 +|callid       | varchar(254)     | | | call id from SIP message |
 +|traced_user  | varchar(128)     | | | SIP URI of the user being traced |
 +|msg          | text             | | | full SIP message |
 +|method       | varchar(50)      | | | SIP method name |
 +|status       | varchar(254)     | | | SIP reply status |
 +|fromip       | varchar(50)      | | | source IP address |
 +|toip         | varchar(50)      | | | destination IP address |
 +|fromtag      | varchar(64)      | | | From tag |
 +|direction    | varchar(4)       | | | direction of the SIP message (in, out) |
 +
 +** SIP Trace (//sip_trace//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | id |
 +| user_idx | Index | traced_user |
 +| date_id | Index | date |
 +| ip_idx | Index | fromip |
 +| call_id | Index | callid |
 +
 +
 +
 +===== Offline Message Storage =====
 +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.openser-project.org/docs/modules/1.2.x/msilo.html
 +
 +** Offline Message Storage (//silo//) Table **
 +
 +^ Field ^ Type ^ Attributes ^ Default ^ Description ^
 +|mid       | int(11)       | auto_increment | | Unique ID per message |
 +|src_addr     | varchar(255)  | | | Source address - From URI |
 +|dst_addr     | varchar(255)  | | | Destination address - To URI |
 +|username     | varchar(64)   | | | Username / Phone Number of target user |
 +|domain       | varchar(128)  | | | SIP domain of target user |
 +|inc_time     | int(11)       | | 0 | Incoming time |
 +|exp_time     | int(11)       | | 0 | Expiration time |
 +|snd_time     | int(11)       | | 0 | Reminder send time |
 +|ctype       | varchar(32)   | | text/plain | Content type |
 +|body       | blob          | BINARY | | Body of the message |
 +
 +** Offline Message Storage (//silo//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | mid |
 +| username | Index | username, domain |
 +
 +===== 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.openser-project.org/docs/modules/1.2.x/speeddial.html
 +
 +** Speed Dial (//speed_dial//) Table**
 +
 +^ Field ^ Type ^ Description ^
 +|uuid         | varchar(64)    | Unique User ID    | 
 +|username | varchar(64)    | Username / Phone Number |
 +|domain         | varchar(128)    | Domain Name |
 +|sd_username | varchar(64)    | Speed Dial Username |
 +|sd_domain | varchar(128)    | Speed Dial Domain |
 +|new_uri | varchar(192)    | New URI |
 +|fname         | varchar(128)    | First Name |
 +|lname         | varchar(128)    |Last Name |
 +|description | varchar(64)    | Description |
 +
 +** Speed Dial (//speed_dial//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | username, domain, sd_domain, sd_username |
 +
 +===== Subscriber =====
 +This table is used to provide authentication information
 +
 +More information about the auth_db module can be found at: http://www.openser-project.org/docs/modules/1.2.x/auth_db.html
 +
 +** Subscriber (//subscriber//) Table **
 +
 +^ Field ^ Type ^ Attributes ^ Default ^ Description ^
 +|id          | int(10) | UNSIGNED auto_increment | | Unique ID per record |
 +|username | varchar(64) | | | Username / Phone Number |
 +|domain          | varchar(128) | | | Domain Name |
 +|password | varchar(25) | | | Password |
 +|first_name | varchar(25)  | | | First Name |
 +|last_name | varchar(45)  | | | Last Name |
 +|email_address | varchar(50)  | | | Email Address |
 +|datetime_created| datetime     | | 0000-00-00 00:00:00 | Date / Time this record was created |
 +|ha1          | varchar(128) | | | md5(username:realm:password)|
 +|ha1b          | varchar(128) | | | md5(username@domain:realm:password) |
 +|timezone | varchar(128) | | NULL | user's time zone |
 +|rpid          | varchar(128) | | NULL | 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. |
 +^^^^^--- serweb specific columns ---^^^^^
 +|phplib_id | varchar(32)  | | | Unique ID (used by SERWeb) |
 +|phone          | varchar(15)  | | | Phone Number |
 +|datetime_modified| datetime    | | 0000-00-00 00:00:00 | Date / Time this record was last modified |
 +|confirmation    | varchar(64) | | | |
 +|flag          | char(1) | | o | Flags per user |
 +|sendnotification| varchar(50) | | | |
 +|greeting | varchar(50) | | | |
 +|allow_find | char(1) | | 0 | Flag to allow others to find the SIP address when searching using the name |
 +
 +
 +** Subscriber (//subscriber//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | id |
 +| user_id | Unique | username, domain |
 +| phplib_id | Unique | phplib_id |
 +| username_id | Index | username |
 +
 +===== 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.openser-project.org/docs/modules/1.2.x/permissions.html
 +
 +** Trusted (//trusted//) Table **
 +
 +^ Field ^ Type ^ Attributes ^ Default ^ Description ^
 +|id              | bigint(20)          | auto_increment | | Unique ID per record |
 +|src_ip          | varchar(39)         | | | Source address is equal to source address of request |
 +|proto          | varchar(4)        | | | 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 | varchar(64)         | | NULL | Regular expression matches From URI of request. |
 +|tag             | varchar(32)         | | NULL | |
 +
 +** Trusted (//trusted//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | id |
 +| Key1 | Index | src_ip |
 +
 +===== URI =====
 +
 +This table is used by uri_db module to implement various SIP URI checks.
 +
 +A configuration parm: modparam("uri_db", "use_uri_table", 1) means that the (uri) table should be checked instead of the (subscriber) table.
 +
 +More information about the uri_db module can be found at: http://www.openser-project.org/docs/modules/1.2.x/uri_db.html
 +
 +** URI (//uri//) Table **
 +
 +^ Field ^ Type ^ Default ^ Description ^
 +|username | varchar(64)         | | Username / Phone Number |
 +|domain          | varchar(128)         | | Domain Name |
 +|uri_user | varchar(50)         | | Username / Phone Number |
 +|last_modified | datetime         | 0000-00-00 00:00:00 | Date/Time this record was last modified |
 +
 +** URI (//uri//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | username, domain, uri_user |
 +
 +===== User 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.openser-project.org/docs/modules/1.2.x/avpops.html
 +
 +** User Preferences (//usr_preferences//) Table **
 +
 +^ Field ^ Type ^ Attributes ^ Default ^ Description ^
 +|id              | bigint(20)         | auto_increment | | Unique ID per record | 
 +|uuid          | varchar(64)       | | | Unique User ID |
 +|username | varchar(100)       | | 0| Username / Phone Number |
 +|domain          | varchar(128)       | | | Domain Name |
 +|attribute | varchar(32)       | | | AVP Attribute |
 +|type          | int(11)       | | 0 | AVP Type |
 +|value          | varchar(128)       | | | AVP Value |
 +|last_modified | timestamp(14)      | ON UPDATE CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | Date/Time this record was last modified |
 +
 +** User Preferences (//usr_preferences//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | id |
 +| ua_idx | Index | uuid, attribute |
 +| ida_idx | Index | username, domain, attribute |
 +
 +===== User Preference Types =====
 +** User Preference Types (//usr_preferences_types//) Table **
 +
 +^ Field ^ Type ^ Default ^ Description ^
 +|att_name | varchar(32)          |        | | 
 +|att_rich_type | varchar(32)         | string | |
 +|att_raw_type | int(11)              | 2      | |
 +|att_type_spec | text                 | NULL   | |
 +|default_value | varchar(100)         |        | |
 +
 +** User Preference Types (//usr_preferences_types//) Indexes **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | att_name |
 +
 +===== Table Versions =====
 +This table contains OpenSER table names and version numbers. It is used by various OpenSER routines to ensure that the correct version of a particular table is being used.
 +
 +** Table Versions (//version//) Table **
 +
 +^ Field ^ Type ^ Default ^ Description ^
 +|table_name | varchar(64)         | | Table Name |
 +|table_version | smallint(5)         | 0 |Table Version |
 +
 +** Table Versions (//version//) Indeses **
 +
 +^ Keyname ^ Type ^ Field ^
 +| PRIMARY | Primary | table_name |
 +
 +
 +===== Database Structure Stuff =====
 +
 +{{indexmenu>database|js}}