ok, some more info:
/etc/odbc.ini
cat /etc/odbc.ini
[freeswitch]
Driver = /usr/lib/odbc/libmyodbc.so
SERVER = localhost
PORT = 3306
DATABASE = freeswitch
OPTION = 67108864
USER = root
PASSWORD = dv092171
[mydb]
Driver = /usr/lib/odbc/libmyodbc.so
SERVER = localhost
PORT = 3306
DATABASE = viking
OPTION = 67108864
USER = root
PASSWORD = mypass
switch.conf.xml
<param name="core-db-dsn" value="freeswitch:root:mypass" />
nibblebill:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="freeswitch/xml">
<section name="configuration">
<configuration name="nibblebill.conf" description="Nibble Billing">
<settings>
<param name="db_username" value="root"></param>
<param name="db_password" value="mypass"></param>
<param name="db_dsn" value="mydb"></param>
<param name="db_table" value="sip_users"></param>
<param name="db_column_cash" value="balance"></param>
<param name="db_column_account" value="id"></param>
<param name="global_heartbeat" value="10"></param>
<param name="lowbal_amt" value="0"></param>
<param name="lowbal_action" value="play ding"></param>
<param name="nobal_amt" value="0"></param>
<param name="nobal_action" value="hangup"></param>
<param name="percall_max_amt" value="100"></param>
<param name="percall_action" value="hangup"></param>
</settings>
</configuration>
</section>
</document>
dialplan:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="freeswitch/xml">
<section name="dialplan">
<context name="gold">
<extension name="dynamic_extension">
<condition field="destination_number" expression="^001.*">
<action application="set" data="continue_on_fail=NO_ROUTE_DESTINATION,UNALLOCATED_NUMBER,407"></action>
<action application="set" data="sip_from_user=1002"></action>
<action application="set" data="sip_auth_username=1002"></action>
<action application="set" data="sip_req_user=1002"></action>
<action application="set" data="hangup_after_bridge=true"></action>
<action application="set" data="nibble_rate=0.0500"></action>
<action application="set" data="nibble_account=1"></action>
<action application="set" data="gw=${distributor(TEST_ROUTE)}"></action>
<action application="bridge" data="sofia/gateway/${gw}/0013058883456"></action>
</condition>
</extension>
</context>
</section>
</document>
call goes out fine... no billing though:
2013-02-12 19:21:49.844277 [DEBUG] mod_nibblebill.c:504 22 seconds passed since last bill time of 2013-02-12 19:21:27
2013-02-12 19:21:49.844277 [DEBUG] mod_nibblebill.c:521 Billing $0.018983 to 1 (Call: d442dc6b-a3a7-423a-8450-598d17ca43b3 / 0.000000 so far)
2013-02-12 19:21:49.844277 [DEBUG] mod_nibblebill.c:351 Doing update query
[UPDATE sip_users SET balance=balance-0.018983 WHERE ='1']
2013-02-12 19:21:49.844277 [CRIT] mod_nibblebill.c:535 Failed to log to database!
2013-02-12 19:21:49.844277 [DEBUG] mod_nibblebill.c:378 Doing lookup query
[SELECT balance AS nibble_balance FROM sip_users WHERE ='1']
2013-02-12 19:21:49.844277 [ERR] mod_nibblebill.c:380 Error running this query: [SELECT balance AS nibble_balance FROM sip_users WHERE ='1']
the select go fine if executed "by hand"
Thanks for your help!
David