Asterisk - The Open Source Telephony Project
18.5.0
|
; ; Static and realtime external configuration ; engine configuration ; ; See https://wiki.asterisk.org/wiki/display/AST/Realtime+Database+Configuration ; for basic table formatting information. ; [settings] ; ; Static configuration files: ; ; file.conf => driver,database[,table[,priority]] ; ; maps a particular configuration file to the given ; database driver, database and table (or uses the ; name of the file as the table if not specified) ; ; Uncomment to load queues.conf via the odbc engine. ; ;queues.conf => odbc,asterisk,ast_config ;extensions.conf => sqlite,asterisk,ast_config ; ; The following files CANNOT be loaded from Realtime storage: ; asterisk.conf ; extconfig.conf (this file) ; logger.conf ; ; Additionally, the following files cannot be loaded from ; Realtime storage unless the storage driver is loaded ; early using 'preload' statements in modules.conf: ; manager.conf ; cdr.conf ; rtp.conf ; ; Named ACLs specified in realtime also can not be used ; from manager.conf unless the storage driver is preloaded. ; Attempting to use a realtime stored named ACL before the ; driver is loaded will result in an invalid ACL which ; rejects all addresses. ; ; Realtime configuration engine ; ; maps a particular family of realtime ; configuration to a given database driver, ; database and table (or uses the name of ; the family if the table is not specified ; ;example => odbc,asterisk,alttable,1 ;example => mysql,asterisk,alttable,2 ;example2 => ldap,"dc=oxymium,dc=net",example2 ; ; Additionally, priorities are now supported for use as failover methods ; for retrieving realtime data. If one connection fails to retrieve any ; information, the next sequential priority will be tried next. This ; especially works well with ODBC connections, since res_odbc now caches ; when connection failures occur and prevents immediately retrying those ; connections until after a specified timeout. Note: priorities must ; start at 1 and be sequential (i.e. if you have only priorities 1, 2, ; and 4, then 4 will be ignored, because there is no 3). ; ; ; Possible driver backends: ; ; "odbc" is shown in the examples below, but is not the only valid realtime ; engine. Here are several of the possible options: ; odbc ... res_config_odbc ; sqlite ... res_config_sqlite ; sqlite3 ... res_config_sqlite3 ; pgsql ... res_config_pgsql ; curl ... res_config_curl ; ldap ... res_config_ldap ; mysql ... res_config_mysql (available via add-ons in menuselect) ; ; Note: The res_config_pgsql and res_config_sqlite backends configure the ; database used in their respective configuration files and ignore the ; database name configured in this file. ; ;iaxusers => odbc,asterisk ;iaxpeers => odbc,asterisk ;sippeers => odbc,asterisk ;sipregs => odbc,asterisk ; (avoid sipregs if possible, e.g. by using a view) ;ps_endpoints => odbc,asterisk ;ps_auths => odbc,asterisk ;ps_aors => odbc,asterisk ;ps_domain_aliases => odbc,asterisk ;ps_endpoint_id_ips => odbc,asterisk ;ps_outbound_publishes => odbc,asterisk ;ps_inbound_publications = odbc,asterisk ;ps_asterisk_publications = odbc,asterisk ;voicemail => odbc,asterisk ;extensions => odbc,asterisk ;meetme => mysql,general ;queues => odbc,asterisk ;queue_members => odbc,asterisk ;queue_rules => odbc,asterisk ;acls => odbc,asterisk ;musiconhold => mysql,general ;musiconhold_entry => mysql,general ;queue_log => mysql,general ; ; ; While most dynamic realtime engines are automatically used when defined in ; this file, 'extensions', distinctively, is not. To activate dynamic realtime ; extensions, you must turn them on in each respective context within ; extensions.conf with a switch statement. The syntax is: ; switch => Realtime/[[db_context@]tablename]/<opts> ; The only option available currently is the 'p' option, which disallows ; extension pattern queries to the database. If you have no patterns defined ; in a particular context, this will save quite a bit of CPU time. However, ; note that using dynamic realtime extensions is not recommended anymore as a ; best practice; instead, you should consider writing a static dialplan with ; proper data abstraction via a tool like func_odbc.