VoIP e Asterisk/Architettura Real-Time

Indice del libro

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.