Maybe somebody can help me here.

I've finally got another server together, so I can test and upgrade a couple of my older 1.4.x installations.

I figured that while I'm at it, I'll give func_odbc a try (have been using the mysql addon), knowing full well that when I finally move over to 1.8.x, it's what I'm planning on using.

I've installed all the requisites listed for ODBC, compiled and install the current 1.4.41.1 (Was current a couple days ago) and set out Googling how-tos and digging into voip-info.org

After an hour, I had what seemed to be a good test case, so did a copy of my dialplan and started making changes.

On querying my database, everything is working as expected, but for the life of me, I cannot get entries in my database to update the master mysql server

I've seen lots of conflicting data on how it should be written out in the func_odbc.conf and a lot of the info is for 1.6.

My setup:

1 master mysql server
1 test slave

The test Asterisk system reads from the local mysql database and writes back to the master.

My /etc/odbc.ini

[MySQL-Conferencing]
Description     = Conferencing MySQL ODBC
Driver          = MySQL
Socket          = /var/lib/mysql/mysql.sock
Server          = 127.0.0.1
User            = username
Password        = password
Database        = Conferencing
Option          = 3

[MySQL-Corporate]
Description     = Conferencing MySQL ODBC
Driver          = MySQL
Server          = 192.168.104.142
User            = username
Password        = password
Database        = Conferencing
Option          = 3

My /etc/asterisk/res_odbc.conf

[MySQL-Conferencing]
enabled => yes
dsn => MySQL-Conferencing
username => username
password => password
preconnect => yes

[MySQL-Corporate]
enabled => yes
dsn => MySQL-Corporate
username => username
password => password
preconnect => yes

My /etc/asterisk/func_odbc.conf

[CONFERENCE]
dsn=MySQL-Conferencing
read=SELECT room, password, admin, scheduled, owner, comments FROM ${ARG1} WHERE ${ARG2}=${SQL_ESC(${ARG3})}

[CONFERENCE_WRITE]
dsn=MySQL-Corporate
write=UPDATE Corporate SET room=${VAL1}, password=${VAL2}, admin=${VAL3}, scheduled=${VAL4}, owner=${VAL5}, comments=${VAL6} WHERE admin=${VAL3}


The reading from ODBC works fine:

exten => s-verify,n,Set(ARRAY(conference.room,conference.password,conference.admin,conference.scheduled,conference.owner,conference.comments)=${ODBC_CONFERENCE_WRITE(Corporate,admin,${get-admin-password})})

The Writing does not work.

exten => s-setup,n,Set(ODBC_CONFERENCE_WRITE(room=${conference.room}\,password=${put-new-password}\,admin=${conference.admin}\,scheduled=${TODAY}\,owner=${conference.owner}\,comments=${conference.comments})

Any suggestions would be appreciated,

Doug


--

Ben Franklin quote:

"Those who would give up Essential Liberty to purchase a little Temporary Safety, 
deserve neither Liberty nor Safety."


--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
              http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to