
local asterisk asterisk password host asterisk asterisk 127.0.0.1 255.255.255.255 password
Eine weitere Übersicht: asterisk-1.4.4 an postgresql knüppeln.
$ apt-get install zlib1g-dev zlib1g $ apt-get install postgresql postgresql-client postgresql-contrib $ apt-get install libpq-dev libpq $ apt-get instal odbc-postgresql $ apt-get unixodbc-dev unixodbc
Danach asterisk-1.4.4 kompilieren, installieren (./configure, make, make install, make samples). Dann einen User asterisk und eine Datenbank asterisk hinzufügen:
$ su - postgres $ createuser -s -d -l -E asterisk $ createdb asterisk
User asterisk kann sich jetzt noch nicht unfallfrei einloggen; wenn er es versucht, erhält er eine Fehlermeldung:
$ psql -W -d asterisk -U asterisk Password: psql: FATAL: IDENT authentication failed for user "asterisk"
Deshalb ist folgender Eintrag nötig in der Datei /etc/postgresql/8.2/main/pg_hba.conf:
local asterisk asterisk password host asterisk asterisk 127.0.0.1 255.255.255.255 password
Ist das geschafft, ist ein /etc/init.d/postgresql-8.2 restart fällig. Und nun kann die Datenbank mit Inhalt gefüllt werden: der Reihe nach aufrufen:
$ psql -U asterisk -W -d asterisk -f extensions_conf $ psql -U asterisk -W -d asterisk -f cdr.sql $ psql -U asterisk -W -d asterisk -f sip_conf.sql $ psql -U asterisk -W -d asterisk -f voicemail_users.sql $ psql -U asterisk -W -d asterisk -f queue_table.sql $ psql -U asterisk -W -d asterisk -f queue_member_table.sql $ psql -U asterisk -W -d asterisk -f grants.sql
Jetzt steht die Datenbank und es geht eigentlich nur noch darum, diese auch wirklich an den asterisk anzubinden; das ist vergleichsweise trivial.
[pg] dsn => asterisk username => asterisk password => keins pre-connect => yes
[settings] extensions => odbc,pg,extensions_conf sipusers => odbc,pg,sip_conf sippeers => odbc,pg,sip_conf iaxusers => odbc,pg,sip_conf iaxpeers => odbc,pg,sip_conf queues => odbc,pg,queue_table queue_members => odbc,pg,queue_member_tables
Nachdem der asterisk gestartet wurde, kann man übers CLI prüfen, ob die Datenbankverbindung steht:
*CLI> odbc show Name: pg DSN: asterisk Pooled: no Connected: yes
Sieht gut aus. Hierbei handelt es sich übrigens um ein Realtime-Setup; d.h. weder asterisk noch Datenbank müssen wegen etwaiger Änderungen neu gestartet werden, jede Änderung wird on-the-fly aktiv. Nachteil: ist die Datenbank down, gehen auch die Telefone nicht. Daher ist hier ein repliziertes System zumindest anzudenken.