<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Andreas Sikkema wrote:
<blockquote
 cite="mid34F1B1EDB3E7B04C9A282FE3537FC49F50E20F@mail.ritstele.com"
 type="cite">
  <pre wrap=""><a class="moz-txt-link-abbreviated" href="mailto:asterisk-users-bounces@lists.digium.com">asterisk-users-bounces@lists.digium.com</a> wrote:

  </pre>
  <blockquote type="cite">
    <pre wrap="">I would like to store these seetings in a mysql database, so
that they are more easily accessible from a user
configuration page on a webserver. Since these settings need
to be checked in the dialplan for each call to the extension,
it seems a bit to much to have to connect, query and
disconnect from mysql every time. Is there any way to keep a
persistent connection to mysql that can be queried from the
dialplan? 
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Well, if you do this before answering, nobody is going to 
notice. Even querying during an answered call will have 
hardly any outside consequences... 

  </pre>
</blockquote>
Using the MYSQL functions from asterisk-addons....<br>
<br>
extensions.conf<br>
<br>
[macro-open-connection]<br>
<br>
exten =&gt; s,1,MYSQL(Connect connid .....<br>
exten =&gt; s,2,SetVar(OPEN-CON=1)<br>
<br>
[macro-close-connection]<br>
<br>
exten =&gt; s,1,GotoIf(${OPEN-CON}?5)<br>
exten =&gt; s,5,MYSQL(Close ${connid})<br>
<br>
Then call the open macro when you first receive a call, and make sure
in your hangup (exten =&gt; h) function you call the close macro.&nbsp; If
you have an include =&gt; hangup in all your contexts, the close macro
will be called anytime a hangup is received and it will close any
connection you opened for that call.<br>
</body>
</html>