How to access a database from Yate's Javascript module
From Yate Documentation
(Difference between revisions)
(→DB Example) |
(→Example with call interaction) |
||
Line 44: | Line 44: | ||
− | // Get DB Object, Account, Query | + | // '''Get DB Object, Account, Query''' |
− | var m = new Message("database"); | + | var m = new Message("database"); |
− | m.account = "yateadmin"; | + | m.account = "yateadmin"; |
− | m.query = "SELECT test from test"; | + | m.query = "SELECT test from test"; |
− | + | ||
− | // Run the Query | + | // Run the Query |
− | if (m.dispatch()) | + | 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)); | |
− | + | } | |
− | } | + | } |
Revision as of 12:24, 19 March 2013
Using the example below you will learn how to:
- retrieve information 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
DB Examples
Example uses Javascript to 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