In short, RealTime provides the possibility to put configuration files in Database Servers.
Its needless to say that this eases the configuration of the asterisk server through external programs, scripts and webpages.
When making changes to the dialplan or the users, there is no need for a reload or a restart, everything is fetched from the database at all times. (this is optional and can be disabled, see later)
Besides the easier interface to other configuration tools, this also allows to have a hot spare server running asterisk, or even an easier load balanced setup.
In general the use of RealTime gives you a flexibility when you store and pull data from Asterisk.
2. Native Mysql, iodbc, unixODBC ?
There are two ways you can connect the realtime module to a database .
The first way is to use MySQL driver which is embedded in Asterisk-add ons and the second way is to use ODBC driver which is included in Asterisk HEAD CVS snapshot.
The ODBC driver is by far the best option, its a more general approach to the database, and it supports more than just mysql.
(its also used more, thus tested more, so probably the most stable of the two).
For this tutorial, we use ODBC. Again we have two options, on linux there are two ways for odbc connectivity, called iodbc and unixodbc. We use unixodbc. Also we have to mention that because of some header files duplication you can't use both driver at the same time, you have to choose one of them. Important is that the configuration of both is done in a similar way or with minor changes.
This tutorial is all about odbc with the database pgsql (PostgreSQL),
If we want to use pgsql, we will need not only the odbc apim but also the odbc-postgresql driver.
We will also need to create some things on the database, this will be documented later on in this tutorial.
3. Performance and reliability design question.
If asterisk needs to connect to the database for every step in the dialplan, the database might get very overloaded.
Its little known that Asterisk RealTime can be configured in two different ways:
Static Realtime
In this case, the data is retrieved from the database server only on startup and on reloads.
The advantage is that the load on the database server is lower, and if the database server goes down, it might not affect your running asterisk.
The big disadvantage is, ... well its not realtime :)
After every change to the database, the asterisk will need to be reloaded.)
Dynamic Realtime
this is the second possibility, here all configuration changes reflect in realtime. But if you database server goes down, so does your voip service.
4. The installation
In this tutorial we will start from a stock debian distribution, but any other distro will do fine, although some small things might be different.
Asterisk and realtime need some additional packages installed.
Packages needed before installing Asterisk:
cvs
libssl-dev
zlib1g-dev
In Debian you can install them with apt-get install <package_name>.
Packages needed to include RealTime in Asterisk:
unixodbc (our version is 2.2.4-11)
unixodbc-dev
postgresql (our version is 7.4.7-6sarge1)
postgresql-client
postgresql-contrib
postgresql-dev
odbc-postgresql (our version is 07.03.0200-5)
As we want to have an asterisk version with RealTime support, we need to fetch cvs head from the asterisk CVS server:
The version which we used for this tutorial was - CVS-HEAD-06/03/05-10:59:09.
Choose some directory to put sources and download the source.
astrealtime:~# mkdir /usr/src/asterisk
astrealtime:~# cd /usr/src/asterisk
astrealtime:~# export CVSROOT=:pserver:anoncvs@cvs.digium.com:/usr/cvsroot
astrealtime:~# cvs login (password for login on cvs server is "anoncvs")
astrealtime:~# cvs checkout zaptel libpri asterisk (getting CVS HEAD sources)
astrealtime:~# cd /usr/src/asterisk/libpri
astrealtime:~# make
astrealtime:~# make install
astrealtime:~# cd /usr/src/asterisk/zaptel
astrealtime:~# make linux26
We will do everything with kernel 2.6.x
be sure to include following features in the kernel:
Device Drivers -> Character Devices -> Enhanced Real Time Clock Support
Library Routines -> CRC-CCITT functions
It is recommended but not necessary to compile them as modules.
Note: In 2.6 kernel you no longer need the usb_uhci module.
astrealtime:~# make install
astrealtime:~# cd /usr/src/asterisk/asterisk
If you habe a special processor type you can edit it in Makefile before compiling Asterisk.
For example VIA Samuel 2 processors need to be with PROC=i586 setup in that Makefile otherwise Asterisk will not run.
astrealtime:~# make
astrealtime:~# make install
astrealtime:~# make templates
If this is your first install of Asterisk you can make templates for configuration files needed.
5. UnixODBC configuration
The next step is to configure ODBC driver, in our case UnixODBC.
If you installed from Debian package you can use template files to build the needed config files. The configuration files we need to make odbc work are /etc/odbc.ini and /etc/odbcinst.ini.
After last two steps we have /etc/odbc.ini and /etc/odbcinst.ini.
6. Configuration of PGSQL
Now we need to include some extra functions and data types in PostgreSQL database to be able to use proper ODBC connectivity.
astrealtime:~# su - postgres
astrealtime:~$ psql -d template1 </usr/share/psqlodbc/odbc.sql
astrealtime:~$ psql -d template1
template1=# CREATE DOMAIN lo AS int4;
Now we should create user asterisk and database named asterisk in wich we will put tables which we need for our configuration.
astrealtime:~$ createuser -P -N -d -D asterisk (this is executed in postgres user shell)
astrealtime:~$ createdb asterisk
astrealtime:~$ psql -d asterisk
Now it is time to create tables needed to store configuration in the database.
Creating table extensions_conf:
astrealtime:~$ psql -U asterisk -W -d asterisk
CREATE TABLE extensions_conf (
id serial NOT NULL,
context character varying(20) DEFAULT '' NOT NULL,
exten character varying(20) DEFAULT '' NOT NULL,
priority smallint DEFAULT 0 NOT NULL,
app character varying(20) DEFAULT '' NOT NULL,
appdata character varying(128)
);
Creating table cdr:
CREATE TABLE cdr (
calldate timestamp with time zone DEFAULT now() NOT NULL,
clid character varying(80) DEFAULT '' NOT NULL,
src character varying(80) DEFAULT '' NOT NULL,
dst character varying(80) DEFAULT '' NOT NULL,
dcontext character varying(80) DEFAULT '' NOT NULL,
channel character varying(80) DEFAULT '' NOT NULL,
dstchannel character varying(80) DEFAULT '' NOT NULL,
lastapp character varying(80) DEFAULT '' NOT NULL,
lastdata character varying(80) DEFAULT '' NOT NULL,
duration bigint DEFAULT 0::bigint NOT NULL,
billsec bigint DEFAULT 0::bigint NOT NULL,
disposition character varying(45) DEFAULT '' NOT NULL,
amaflags bigint DEFAULT 0::bigint NOT NULL,
accountcode character varying(20) DEFAULT '' NOT NULL,
uniqueid character varying(32) DEFAULT '' NOT NULL,
userfield character varying(255) DEFAULT '' NOT NULL
);
Creating table sip_conf:
CREATE TABLE sip_conf (
id serial NOT NULL,
name character varying(80) DEFAULT '' NOT NULL,
accountcode character varying(20),
amaflags character varying(7),
callgroup character varying(10),
callerid character varying(80),
canreinvite character varying(3) DEFAULT 'yes',
context character varying(80),
defaultip character varying(15),
dtmfmode character varying(7),
fromuser character varying(80),
fromdomain character varying(80),
host character varying(31) DEFAULT '' NOT NULL,
insecure character varying(4),
"language" character varying(2),
mailbox character varying(50),
md5secret character varying(80),
nat character varying(5) DEFAULT 'no' NOT NULL,
permit character varying(95),
deny character varying(95),
mask character varying(95),
pickupgroup character varying(10),
port character varying(5) DEFAULT '' NOT NULL,
qualify character varying(3),
restrictcid character varying(1),
rtptimeout character varying(3),
rtpholdtimeout character varying(3),
secret character varying(80),
"type" character varying DEFAULT 'friend' NOT NULL,
username character varying(80) DEFAULT '' NOT NULL,
disallow character varying(100) DEFAULT 'all',
allow character varying(100) DEFAULT 'g729;ilbc;gsm;ulaw;alaw',
musiconhold character varying(100),
regseconds bigint DEFAULT 0::bigint NOT NULL,
ipaddr character varying(15) DEFAULT '' NOT NULL,
regexten character varying(80) DEFAULT '' NOT NULL,
cancallforward character varying(3) DEFAULT 'yes'
);
Creating table voicemail_users:
CREATE TABLE voicemail_users (
id serial NOT NULL,
customer_id bigint DEFAULT (0)::bigint NOT NULL,
context character varying(50) DEFAULT '' NOT NULL,
mailbox bigint DEFAULT (0)::bigint NOT NULL,
"password" character varying(4) DEFAULT '0' NOT NULL,
fullname character varying(50) DEFAULT '' NOT NULL,
email character varying(50) DEFAULT '' NOT NULL,
pager character varying(50) DEFAULT '' NOT NULL,
stamp timestamp(6) without time zone NOT NULL
);
Since a week there irealtime support for queues and queue members was added to Asterisk HEAD CVS. Lets also add that...
GRANT ALL ON TABLE cdr TO asterisk;
GRANT ALL ON TABLE extensions_conf TO asterisk;
GRANT ALL ON TABLE sip_conf TO asterisk;
GRANT ALL ON TABLE voicemail_users TO asterisk;
GRANT ALL ON TABLE queue_member_table TO asterisk;
GRANT ALL ON TABLE queue_table TO asterisk;
Asterisk will connect towards the database with user asterisk so PostgreSQL needs some settings to allow connections to database asterisk.
We should add following lines to file /etc/postgres/pg_hba.conf:
local asterisk asterisk password
host asterisk asterisk 127.0.0.1 255.255.255.255 password
Now it is time to setup asterisk to communicate with the database.
The files we need to configure are /etc/asterisk/res_odbc.conf and /etc/asterisk/extconfig.conf.
File /etc/asterisk/res_odbc.conf contains configurations for connecting to the database.
Here is an example of the res_odbc.conf file:
File /etc/asterisk/extconfig.conf contains configurations which define type of database connectivity, families, tables and other important things which will be considered latter.
Here is an example of extconfig.conf file:
Configuration parameters in /etc/asterisk/res_odbc.conf are enough clean to be considered.
Some explanations about extconfig.conf file.
It is important to mention that I will explain only RealTime not RealTime Static configuration.
So in first column stays the family, this is a name associates with RealTime call.
Good names can be:
Only family name for extensions can be different then mentioned
here, every other has to be the same.
Next parameters in conf file are driver, database_context,table_name. Driver values can be mysql or odbc depends on database back end which we use our example is for odbc. Database_context is named context which is used in res_odbc.conf file for our example ast_cnf. Table_name is the table in which we put data.
It is very important to mention that the database_context is not the database name to which we connect it is the context which we use in res_odbc to configure database connection.
One of the things which is not implemented is tracking of available queues stored in database.
Tracking of available queues is possible only after you have Agent registered and logged in the system. In difference of that you can do such tracking when you store configuration about queues in files.
The way you can check this is to execute following command from asterisk CLI: astrealtime*CLI>show queues
No queues.>
In general the way you can check your system that there is a connection to the database from CLI is:
Checking for odbc connectivity
astrealtime*CLI>odbc show
Possible result from the command can be: Name: ast_cnf
DSN: asterisk
Connected: yes
Checking for record in database and reading it trough realtime module:
astrealtime*CLI>realtime load sipusers name user_name
Possible results could be:
Column Name Column Value
-------------------- --------------------
id 3
name user_name
canreinvite yes
context idefisk
host dynamic
nat no
port 4569
secret bad
type friend
username user_name
disallow all
allow g729
allow ilbc
allow gsm
allow ulaw
allow alaw
regseconds 1117842618
ipaddr 10.3.3.22
cancallforward yes
User Comments
abc (abc at what dot com) 30 December 2008 10:57:09 thanks for the tutorial but the english is basically fucked up and some parts of this tutorial is beyond comprehesion.
Vito Andolini (vitolini at gmail dot com) 08 September 2008 11:59:38 I followed the instructions, i didn't get any errors, but the cdr's are not logged into my database. When i call "odbc show" I get the same information and connected = yes as well.
I searched a little bit more and found out that i had to set the "dsn" in cdr_odbc.conf file and it worked like a charm!
Now the question is, why didn't this way work? At the end of the day, i still want all other example in this document to be put in the database as well not jsut cdr, bu tthe others are not geting put in the database still...
Thanks,
Vito
john (jonn337 at hotmail dot com) 20 December 2006 23:37:08 isnt this tutorial supposed to be about the db being a seperate server? And how to set that up?
Ramon (ramon at vcdics dot com) 30 October 2006 23:34:08 Hi, I installed RealTime following step-by-step the procedure given in Asterisk RealTime Architecture, but when asterisk is starting up shows (res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified).
This is my configuration.
;[PostgreSQL]
[ODBC Data Sources]
asterisk = PostgreSQL ODBC driver
Description = PostgreSQL asterisk
Driver = /usr/lib/odbc/psqlodbc.so
Trace = Yes
TraceFile = /tmp/extodbc.so
Debugging = Yes
DebugFile = /tmp/odbcdebug.log
Database = asterisk
Servername = localhost
UserName = asterisk
Password = asterisk
Port = 5432
Protocol = 6.4
ReadOnly = No
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings =
Enrique Leon (enrique dot leon dot acedo at gmail dot com) 17 October 2006 15:47:15 I installed RealTime following step-by-step the procedure given in Asterisk RealTime Architecture and Asterisk RealTiem Sip, but when asterisk tries to read the database doesn't find,I presume, mysql driver. The error message is:
WARNING[5814]: config.c:1059 find_engine: Realtime mapping for 'sippeers' found to engine 'mysql', but the engine is not available
Mysql in working find and I can connect to it with the parameters of res_mysql.conf.
Any idea on how to test the driver and how to verify that it was installed properly?
Regards
Ubin (ubinhung at gmail dot com) 12 October 2006 06:40:12 How can I use ip address like this - 212.21.10.14/27 in sip peers with mysql? Thanks for any ideas.
Evgeny (evgeny_novikov at yahoo dot com) 15 September 2006 22:45:53 Hi,
The best way is to use native Postgresql driver:
http://bugs.digium.com/file_download.php?file_id=8039&type=bug
(this is compatible with current release)
As I think more flexible to use VIEWS for realtime.
I made 3 tables:
friends (type, name, secret, context, exten, callerid, accountcode, balance)
iax (name, username, notransfer, host, ... , ipaddr, port, regseconds)
sip (name, username, canreinvite, defaultip, ... , ipaddr, port, regseconds, fullcontact)
and 2 VIEWS:
iax_friends [friends JOIN iax ON name]
sip_friends [friends JOIN sip ON name]
Made iax_friends (ipaddr, port, regseconds) and sip_friends (ipaddr, port, regseconds, username, fullcontact) writable.
Now everyone can work via sip and iax at the same time
using the same login/password ))
Dima (dima dot rudnitsky at gmail dot com) 31 May 2006 09:02:58 Hello!
I’ve just started playing with Asterisk 1.2.7.1 and the first challenge was the real time feature.
I use the native MySQL connection. Really, I’ve checked both the unixODBC and the native drivers, and I suggest utilizing the native one for the MySQL, and unixODBC for other data base vendors.
I’d like to add one more tip, since I’ve spent amount of time in order to make things working. I’m talking about the real time extensions. It is very useful for the local user provisioning. The complicated dial plans has to be stored in files, since they isn’t changed every time. But definition new customer or updating the existed one is very frequent operation and has to be done automatically. That means all the local clients with their personal dial plans (personal dial numbers) have to be stored in the real time data base.
So, after all the definition have been finished, it is necessary to add the following lines to the extensions.conf file(see the doc/README.extconfig file):
[foo]
switch => Realtime
or:
[bar]
switch => Realtime/bar@extensions
That means the context has to be defined into the extensions.conf file, and the customers’ dial numbers are stored in the data base.
Good luck.
Dima.
netjunkie (casibbald at yahoo dot com) 27 May 2006 04:01:27 I am currently desiging a billing system and i am rather concerned about data-redundancy with some of the tables.
I would like to ensure that there is no redundancy in my tables, and would like to setup proper relationships and attributes between tables.
Will asterisk pickup on relationships defines.
for example..
Can I have tables like this:
Sip_users:
ID
DDI_Number
DDI_Numbers:
ID
DDI_Number
Will asterisk pickup the relationships, or do i have to design my tables breaking SQL Normalisation practices.
Miguel (miguel at gmail dot com) 19 May 2006 20:18:12 Sorry, now in english!
Realtime Static doesn't work using ODBC and Postgresql
When I try to start Asterisk, it crash saying:
WARNING[21586]: res_odbc.c:199 odbc_smart_direct_execute: SQL Execute error! Attempting a reconnect...
Segmentation fault
I have Asterisk 1.2.7, psql (PostgreSQL) 8.0.4 in Gentoo
Any idea?
Miguel (miguel at gmail dot com) 19 May 2006 20:15:03 No logro hcer funcionar el Realtime Static mediante ODBC y Postgresql
Cuando inicio Asterisk me reporta:
WARNING[21586]: res_odbc.c:199 odbc_smart_direct_execute: SQL Execute error! Attempting a reconnect...
Segmentation fault
La conexion ODBC esta bien...
PBXIP*CLI> odbc show
Name: ast_cnf
DSN: asterisk
Connected: yes
Tengo Asterisk 1.2.7, psql (PostgreSQL) 8.0.4 sobre Gentoo
Alguna idea?
Marie-Josee (mjmalko at unity-telecom dot com) 11 May 2006 20:36:57 Great! What if the db is on another Server (IIS)?
Carles (cmirallesp at uoc dot edu) 16 April 2006 19:54:52 I follow this tutorial but when i do "realtime load sipusers name user_name" in CLI mode, it halt and shows next message "Disconnect from Asterisk Server"..
I've next configuration:
-Asterisk 1.2.6
-PostgreSql 8.1
-odbc-postgresql 1:08.01.0102-1
-postgreSQL-dev 7.5.16.1
-unixodbc 2.2.11-11build1
Can you help me, please?
german aracil boned (german at tecnoxarxa dot com) 15 April 2006 03:44:43 #!/usr/bin/perl -w
# import extensions.conf file/s to realtime database
# adapted and new coding by german aracil boned
open(CONFIG_FILE, "<$ARGV[0]") || die $!;
my @lines;
my $cat_metric = -1; # incremented to 0 on first hit
my $var_metric = -1;
my $category;
while (<CONFIG_FILE>) {
my $line = $_;
chop($line);
my($var_name, $var_val);
Etohutman (etohutman at yahoo dot com) 22 March 2006 04:22:47 I do not know how to configure Asterisk Realtime Configuration with MySQL on Redhat!
Anyone can do it? Please help me!
Best Regard!
pablo (pablo at dibicom dot com dot ar) 21 March 2006 01:02:19 I am trying to form the Real Time in mysql. already I did everything what indicated in http://www.voip-info.org/wiki-Asterisk+RealTime but does not work yet. single I want to use on queues.
Plese, can you send me a tutorial of RealTime whith MySQL?
NIls (nilse at gmail dot de) 10 March 2006 16:00:20 See: http://www.voip-info.org/wiki-Asterisk+RealTime
The database peers/users are not kept in memory. These are only loaded when we have a call and then deleted, so there's no support for NAT keep-alives (qualify=) or voicemail indications for these peers.
NOTE: If you enable RealTime caching in your sip.conf, Voicemail MWI works and so does 'sip show peers' - see rtcachefriends=yes
:-)
flora montes (f10r4m at gmail dot com) 06 March 2006 01:59:20 Thanks, for the work... I 've been testing realtime with unixODBC and postgresql. Everything seems to be working. but what should i put in iax.conf anf sip.conf to load realtime data?
realtime load ... username ... works, but
iax2 show peers, or users doesn't show anything
Leo Burd (leoburd at media dot mit) 05 March 2006 12:05:47 Is it possible to define the body of the email message that is to be sent to voicemail users in real time? If so, how to do that?
Wessel de Roode (asteriskguru at websel dot nl) 22 February 2006 02:21:20 Got it!
Just add in the odbc.ini file the line:
ksqo = No
And itworks.
Or compile the latest odbc drivers for PG and the error is gone as well. No need for using the /usr/share/psqlodbc/odbc.sql file as it no longer exists in the current ODBC dist.
Wessel
Wessel de Roode (asteriskguru at websel dot nl) 19 February 2006 20:06:15 ToBad :-(
/usr/share/psqlodbc/odbc.sql is nolonger included as it is obsolete hover the db is producing errors:
ERROR from backend during send_query: 'ERROR: unrecognized configuration parameter "ksqo"'
Wessel
Wessel de Roode (asteriskguru at websel dot nl) 19 February 2006 12:37:23 Great Tutorial! Thanks!, Worked straight with Psql 8.3 & Asterisk 1.2.4
Wessel
Eric (voiper at kittymail dot com) 07 February 2006 03:22:13 Hi,
I tried to install unixODBC-devel-2.2.11-1.i386.rpm by running "rpm -Uvh unixODBC-devel-2.2.11-1.i386.rpm" on Slackware 10.2 but got the below message -
error: Failed dependencies:
unixODBC = 2.2.11 is needed by unixODBC-devel-2.2.11-1
unixODBC-2.2.11.tar.gz was already installed from source and tested working with isql.
Any help is appreciated.
Regards
jeremy (jreme at dodgeit dot com) 03 December 2005 10:43:23 is there a way to set up iax.conf in postgres? anyone have any documentation?
natas (natasspam at gmail dot com) 03 December 2005 05:26:08 well i was using the wrong driver apparently. now its working and im using the driver at "/usr/lib/libodbcpsql.so"
natas (natasspam at gmail dot com) 03 December 2005 02:06:55 I'm trying to get this to work on my Gentoo box with the latest source from SVN and am having some problems. I keep getting:
Dec 2 20:00:10 WARNING[7296]: res_odbc.c:563 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Can't open lib '/usr/local/lib/psqlodbc.so' : /usr/local/lib/psqlodbc.so:
My psqlodbc.so files are in fact in that directory. I could not find an ebuild of "odbc-postgresql" for Gentoo, so I downloaded the psqlodbc-08.01.0101 files from the Postgres ftp and installed them from source. The package doesnt even appear to be called "odbc-postgresql" anymore.
Any info or help is appreciated as I would really like to get this to work.
Dúber Pérez (duberpp at dp dot com) 23 November 2005 05:45:37 Great tutorial Congratulations :) I tested this on a Ferora core 4 installing all packages from the rpm cds with the release version 1.2 of Asterisk. I found some files have changed like these postgresql-client -> postgresql and postgresql -> postgresql-server. in odbc.ini driver = /usr/lib/libodbcpsql.so .Finaly you should skip psql -d template1 </usr/share/psqlodbc/odbc.sql because there is no necesary for tha version postgre-odbc-8.0.3. that all. Enjoy Asterisk
netjunkie (charles at inventigo dot co dot uk) 17 November 2005 20:41:40 do you have update to this for all config files in new asterisk 1.2
regards
Tuan (pdvtuan at yahoo dot com) 03 October 2005 06:29:25 I'm installing Asterisk realtime with postgresql on Redhat Linux but I don't know why it not work:
I can't run cvs login (error: unknown cvs.digium.com - I don't connect Internet)
Marc (msutter at xilane dot ch) 22 September 2005 10:22:10 great tutorial, thanks.
Just a question:
Why do you link iaxusers and iaxpeers to the sip_conf table ?
jsalas (jsalas at magenta dot cl) 21 September 2005 17:13:20 Hello!
I tested the 1.2 beta version with oracle and it works very well!
There's some place where we can find more documentation?
Regards.
ekramul (sohel_ef at yahoo dot com) 10 September 2005 09:21:48 i tried to install Asterisk 1.0.9 with RealTime support on RetHat 9 (followed the steps found on this page). i found database (MySQL) is connected with Asterisk by issuing odbc command in CLI, but i can't find "realtime" command in CLI.
I want to know the way i can test whether Asterisk RealTime is installed properly or not. or give me some help on this.
Gustavo (info at corelan dot com dot ar) 25 August 2005 19:14:49 (i've this problem)
*CLI> realtime
No such command 'realtime' (type 'help' for help)
jsalas (jsalas at magenta dot cl) 19 August 2005 23:19:47 Hello.
Some questions.
What about voicemail? where is its setting on the extconfig.conf?
What name we must use for this family? something like:
voicemail => odbc,ast_cnf,voicemail_users
Can we use another family name?
We must to set something special in the voicemail.conf on asterisk?
can we use another families?
Thanks.
Chris Chance (cchance at gmail dot com) 17 August 2005 06:48:10 lol mikie... cudnt handle waiting eh... im looking at it as we speek :P
zoa (support at asteriskguru dot com) 09 August 2005 15:46:43 Please ask these questions on the forum, (and provide a little more information on the problem).
http://www.asteriskguru.com/board/
Klaus Gutzke (kla960 at icqmail dot com) 09 August 2005 11:55:27 I have downloaded CVS-HEAD-08/09/05-10:26:49, but it's not possible to make templates! Why???
Michel Maduro (mfmaduro at voipglobal dot org) 03 August 2005 22:29:16 Hi Guys
I started palying around with your * and it's just the best thing ever. I'm running Asterisk Vr. 1.0.7 and also purchased you book last month (invoice# 9003) but could not find this what you have on this page in the book is there a update for this ?. and was wondering if the VR i'm runing can do Dynamic Realtime. pls advise or can i hire /pay soembody todo this for me on my BOX?
Kind reagrds
Michel Maduro
Add Comment
Latest Headlines:
SELECT
n.title,
n.body,
to_char(n.publication_datetime, 'DD/Mon/YYYY HH24:MI') AS publication_datetime,
g.group,
g.group_sid,
n.news_sid,
n.description
FROM
news AS n,
status AS s,
"group" AS g
WHERE
n.status_sid = s.status_sid AND
n.group_sid = g.group_sid AND
s.status = 'Approved' AND
n.is_deleted = FALSE
ORDER BY
n.publication_datetime DESC
LIMIT 5
ERROR: relation "news" does not exist