How to access a database from Yate's Javascript module
From Yate Documentation
(Difference between revisions)
(→DB Examples) |
(→Configure database account) |
||
Line 17: | Line 17: | ||
In MySQL the configuration file is [[MySQL|mysqldb.conf]] and in PostgreSQL the configuration file is [[PostgreSQL|pgsqldb.conf]]. | In MySQL the configuration file is [[MySQL|mysqldb.conf]] and in PostgreSQL the configuration file is [[PostgreSQL|pgsqldb.conf]]. | ||
− | Let's set account 'yateadmin' so we can | + | Let's set account 'yateadmin' so we can use it in our examples, in mysqldb.conf: |
[yateadmin] | [yateadmin] |
Revision as of 14:19, 19 March 2013
Using the example below you will learn how to:
- retrieve information from database
- route call to the result obtained from database
Contents |
Configure script in Javascript module
To configure a script for Javascript routing it must be listed in the javascript.conf file:
[general] routing=example.js
Configure database account
You can set connection between Yate and MySQL database or Yate and PostGreSQL database module depending on your preference.
In MySQL the configuration file is mysqldb.conf and in PostgreSQL the configuration file is pgsqldb.conf.
Let's set account 'yateadmin' so we can use it in our examples, in mysqldb.conf:
[yateadmin] database=yateadmin user=mysql password=yate
Then in MySQL:
- create database yateadmin
- create tables: lines and test.
Database Examples
Retrieve information from DB
// Get DB Object var m = new Message("database"); // Specify connection to use m.account = "yateadmin"; // Define Query m.query = "SELECT * FROM lines WHERE location IS NOT NULL ORDER BY line LIMIT 5"; // Run the Query if (m.dispatch()) { if (m.rows > 0) { Engine.output("Got " + m.rows + " records of " + m.columns + " fields"); Engine.output("result[0,0] = " + m.getResult(0,0)); var res = m.getColumn("location"); for (var i = 0; i < res.length; i++) { Engine.output("location[" + i + "] = " + res[i]); } } } else { Engine.output("Query failed"); }
Example with call interaction
// Get DB Object, Account, Query var m = new Message("database"); m.account = "yateadmin"; m.query = "SELECT test from test"; // Run the Query if (m.dispatch()) { Engine.output("Query Ok"); if (m.rows > 0) { Engine.output("result[0,0] = " + m.getResult(0,0)); // assuming m.getResult(0,0) returns "tone/busy" or "sip/sip:345@10.11.12.13" Channel.callJust(m.getResult(0,0)); } }
See also