VoIP e Asterisk/Architettura Real-Time
A partire dalla release 1.2 di Asterisk è stata introdotta l'architettura Real-Time, architettura che permette di modificare al volo i parametri del sistema, senza richiedere un restart della macchina e conseguentemente perdere le connessioni attive.
Utile soprattutto nei sistemi in cui si necessita di ridurre il downtime al massimo. Per la maggior parte dei parametri (non tutti) l'architettura real-time permette la modifica on-the-fly, le famiglie di parametri supportati sono:
- Estensioni
- Utenti SIP
- Utenti IAX
- Code e membri
- Voicemail
Per ognuna di queste famiglie la modifica di un parametro verrà automaticamente ripresa nel funzionamento di Asterisk.
L'architettura Real-Time funziona avendo come back-end un DBMS, non un file di configurazione, perciò lo storage dei parametri in una configurazione Real-Time avverrà in un database.
Il suo funzionamento verrà specificato nel file extconfig.conf, eccone un esempio:
[settings] extensions => odbc,ast_cnf,extensions_conf sipusers => odbc,ast_cnf,sip_conf sippeers => odbc,ast_cnf,sip_conf iaxusers => odbc,ast_cnf,sip_conf iaxpeers => odbc,ast_cnf,sip_conf queues => odbc,ast_cnf,queue_table queue_members => odbc,ast_cnf,queue_member_table dblogger => odbc,ast_cnf,dblogger_table voicemail => odbc,ast_cnf,voicemail_users
Il formato di questo file è:
family => driver,contesto_database,tabella_database
In Asterisk sono disponibili svariati driver, il più usato è odbc, driver che si basa sulle librerie unixODBC. In questo caso il contesto da usare viene definito in res_odbc.conf:
[ast_cnf] dsn => Data Source Name (vedi /etc/odbc.ini) username => user di connessione al dbms password => PASSWORD pre-connect => yes
Il formato delle tabelle è standard, e riflette più o meno la struttura del file corrispondente.