[commit] r12702 - freeswitch/trunk/scripts/contrib/swk/php/esl_cdr
Author: silik0n Date: Sat Mar 21 06:54:11 2009 New Revision: 12702 Log: add auto-reconnection to ESL, change DB stuff to PDO for more better DB stuffs Modified: freeswitch/trunk/scripts/contrib/swk/php/esl_cdr/esl_cdr.php Modified: freeswitch/trunk/scripts/contrib/swk/php/esl_cdr/esl_cdr.php ============================================================================== --- freeswitch/trunk/scripts/contrib/swk/php/esl_cdr/esl_cdr.php (original) +++ freeswitch/trunk/scripts/contrib/swk/php/esl_cdr/esl_cdr.php Sat Mar 21 06:54:11 2009 @@ -7,7 +7,17 @@ $esl_password = 'ClueCon'; -$db_url ="pgsql://root@localhost/esl_cdr"; +$dbtype='mysql'; /* Set the Database type */ +$db_hostname = 'localhost'; /* Database Server hostname */ +$db_port = '3306'; /* Database Server Port */ +$db_username = 'root'; /* Database Server username */ +$db_password = 'password'; /* Database Server password */ +$db_database = 'esl_cdr'; /* DataBase Name */ +if ($dbtype == 'mysql') { + $pdo_flags = array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,); +} + +$dbh = new PDO("$dbtype:host=$db_hostname;port=$db_port;dbname=$db_database", $db_username, $db_password, $pdo_flags); $con = MDB2::factory($db_url); if(PEAR::isError($con)) { @@ -15,12 +25,18 @@ } /* set up the ESL Connection */ -$esl = new eslConnection('204.8.45.218', '8021', 'disasterisk-sucks'); +$esl = new eslConnection($esl_host, $esl_port, $esl_password); $e = $esl->sendRecv("api status"); print $e->getBody(); $esl->events("plain", "channel_hangup"); for(;;) { - print "foo - 1\n"; + while (!$esl->connected()) { + // if the connection is down, loop until we're able to reconnect + $esl = new eslConnection($esl_host, $esl_port, $esl_password); + $esl->events("plain", "channel_hangup"); + + sleep (1); + } $e = $esl->recvEvent(); if ($e) { $lines = explode("\n", $e->serialize()); @@ -82,11 +98,6 @@ "0" ); - $result = $con->query($insert); - if(PEAR::isError($result)) { - echo "$insert\n"; - die(); - } - } + $dbh->exec($insert) or die($db->errorInfo()); } ?>
participants (1)
-
FreeSWITCH SVN