[asterisk-users] Help Please - Asterisk MYSQL interface seems to be eating data
Steve Totaro
stotaro at totarotechnologies.com
Mon May 5 09:06:35 CDT 2008
User intervention is required Al. You need to open a bug report on
mantis and anyone can edit the wiki (this is the nature of a wiki).
http://bugs.digium.com/main_page.php
Anyways, I am fairly certain that the UnixODBC connector is the
"preferred" way of connecting to MySQL.
Thanks,
Steve Totaro
On Mon, May 5, 2008 at 9:29 AM, Al Baker <bwentdg at pipeline.com> wrote:
> I looked all over VOIP-INFO and ATFOT and could not find anything that
> said or even suggested not using the mysql driver.(except NOT to have
> BOTH drivers loaded at the same time). I could easily be missing
> something. But the apparent BUG I am seeing is at such a Basic and
> Simple Level of functionality that either DIGIUM ought to fix it ASAP or
> update VOIP-INFO pages and their own documentation to say "Broke - No
> Workie and We Are No Gonna Fixie" :)
>
>
>
> Steve Totaro wrote:
> > On Mon, May 5, 2008 at 4:21 AM, Al Baker <bwentdg at pipeline.com> wrote:
> >
> >> I would appreciate any and all advice on what appears to be a BUG (or a
> >> brainfart on my part) with the MySQL add-on for Asterisk this is of FEDORA 8
> >> fully patched with Asterisk Addons 1-4-6 with the Asterisk 1.4.18.1
> >>
> >> It appears that the interface "eats" the first field requested from a
> >> table. If only One Field is Requested from the Table , that field is eaten
> >> ENTIRELY by Asterisk. If several fields are requested, the First Field Is
> >> Eaten and the remaining filed are returned, but place in the WRONG Variable
> >> since the 1tst fileld data was eaten. In the DIALPLAN below I have tried 3
> >> Different ways to approach this.
> >>
> >> Extension 9999 – Get only ONE (1) field from Table
> >>
> >> Extension 8888 – Get THREE(3) fields from the Table and Quote Them.
> >>
> >> Extension 7777 - Get THREE(3) fields from the Table
> >>
> >> I have show the Output from the Asterisk CL for each, which clearly show
> >> that SOMETHING is not
> >> right. Maybe the Software, maybe the person using the software :)
> >>
> >> Here is the Table in the Database.
> >>
> >> mysql> select * from agent;
> >>
> >> +----------+---------+--------+------------+---------------------+
> >>
> >> | id | cust_id | status | phone | tlce |
> >>
> >> +----------+---------+--------+------------+---------------------+
> >> | 00000001 | NAMB | free | 1234567890 | 2008-04-17 02:32:02 |
> >>
> >> | 00000002 | NAMB | free | 2234567890 | 2008-04-17 02:32:02 |
> >>
> >> | 00000003 | NAMB | free | 3234567890 | 2008-04-17 02:32:02 |
> >>
> >> | 00000004 | NAMB | free | 4234567890 | 2008-04-17 02:32:02 |
> >> +----------+---------+--------+------------+---------------------+
> >>
> >> 4 rows in set (0.00 sec)
> >>
> >>
> >> Here is the DIALPLAN
> >>
> >> exten => 7777,1,MYSQL(Connect connid localhost ivr ivrxxx dtc)
> >>
> >> exten => 7777,n,MYSQL(Query resultid ${connid} SELECT\ cust_id\, \
> >> status\,\ tlce\ from\ agent\ where\ phone=\'1234567890\')
> >>
> >> exten => 7777,n,MYSQL(Fetch fetchid ${resultid} custid mystatus mytlce)
> >>
> >> exten => 7777,n,NoOp(CUSTID is ${custid} MYSTATUS is ${mystatus} MYTLCE is
> >> ${mytlce})
> >>
> >> exten => 7777,n,NoOp(FETCHID is ${fetchid} RESULUT ID is .. ${resultid}
> >> CONNID is ${connid})
> >>
> >> exten => 7777,n,MYSQL(Clear ${resultid})
> >>
> >> exten => 7777,n,MYSQL(Disconnect ${connid})
> >>
> >> exten => 7777,n,HANGUP
> >>
> >>
> >>
> >> exten => 8888,1,MYSQL(Query resultid ${connid} SELECT\ 'cust_id'\, \
> >> 'status'\,\ 'tlce'\ from\ agent\ where\ phone=\'1234567890\')
> >>
> >> exten => 8888,n,MYSQL(Fetch fetchid ${resultid} custid mystatus mytlce)
> >>
> >> exten => 8888,n,NoOp(CUSTID is ${custid} MYSTATUS is ${mystatus} MYTLCE is
> >> ${mytlce})
> >>
> >> exten => 8888,n,NoOp(FETCHID is ${fetchid} RESULUT ID is .. ${resultid}
> >> CONNID is ${connid})
> >>
> >> exten => 8888,n,MYSQL(Clear ${resultid})
> >>
> >> exten => 8888,n,MYSQL(Disconnect ${connid})
> >>
> >> exten => 8888,n,HANGUP
> >>
> >>
> >> exten => 9999,1,MYSQL(Connect connid localhost ivr ivrxxx dtc)
> >>
> >> exten => 9999,n,MYSQL(Query resultid ${connid} SELECT\ 'cust_id'\ from\
> >> agent\ where\ phone=\'1234567890\')
> >>
> >> exten => 9999,n,MYSQL(Fetch fetchid ${resultid} custid)
> >>
> >> exten => 9999,n,NoOp(CUSTID is ${custid})
> >>
> >> exten => 9999,n,NoOp(FETCHID is ${fetchid} RESULUT ID is .. ${resultid}
> >> CONNID is ${connid})
> >>
> >> exten => 9999,n,MYSQL(Clear ${resultid})
> >>
> >> exten => 9999,n,MYSQL(Disconnect ${connid})
> >>
> >> exten => 9999,n,HANGUP
> >>
> >>
> >>
> >>
> >> Here is the Asterisk CLI Output
> >>
> >> dial 9999
> >>
> >> == Console is full duplex
> >>
> >> *CLI> -- Executing [9999 at default:1] MYSQL("OSS/dsp", "Connect connid
> >> localhost ivr ivrxxx dtc") in new stack
> >>
> >> -- Executing [9999 at default:2] MYSQL("OSS/dsp", "Query resultid 5 SELECT
> >> cust_id from agent where phone='1234567890'") in new stack
> >>
> >> -- Executing [9999 at default:3] MYSQL("OSS/dsp", "Fetch fetchid 6 custid") in
> >> new stack
> >>
> >> -- Executing [9999 at default:4] NoOp("OSS/dsp", "CUSTID is ") in new stack
> >>
> >> -- Executing [9999 at default:5] NoOp("OSS/dsp", "FETCHID is 1 RESULUT ID is
> >> .. 6 CONNID is 5") in new stack
> >>
> >> -- Executing [9999 at default:6] MYSQL("OSS/dsp", "Clear 6") in new stack
> >>
> >> -- Executing [9999 at default:7] MYSQL("OSS/dsp", "Disconnect 5") in new stack
> >>
> >> -- Executing [9999 at default:8] Hangup("OSS/dsp", "") in new stack
> >>
> >> == Spawn extension (default, 9999, 8) exited non-zero on 'OSS/dsp'
> >>
> >> << Hangup on console
> >>
> >> *CLI> dial 8888
> >>
> >> == Console is full duplex
> >>
> >> *CLI> -- Executing [8888 at default:1] MYSQL("OSS/dsp", "Connect connid
> >> localhost ivr ivrxxx dtc") in new stack
> >>
> >> -- Executing [8888 at default:2] MYSQL("OSS/dsp", "Query resultid 5 SELECT
> >> cust_id, status, tlce from agent where phone='1234567890'") in new stack
> >>
> >> -- Executing [8888 at default:3] MYSQL("OSS/dsp", "Fetch fetchid 6 custid
> >> mystatus mytlce") in new stack
> >>
> >> -- Executing [8888 at default:4] NoOp("OSS/dsp", "CUSTID is free MYSTATUS is
> >> 2008-04-17 02:32:02 MYTLCE is ") in new stack
> >>
> >> -- Executing [8888 at default:5] NoOp("OSS/dsp", "FETCHID is 1 RESULUT ID is
> >> .. 6 CONNID is 5") in new stack
> >>
> >> -- Executing [8888 at default:6] MYSQL("OSS/dsp", "Clear 6") in new stack
> >>
> >> -- Executing [8888 at default:7] MYSQL("OSS/dsp", "Disconnect 5") in new stack
> >>
> >> -- Executing [8888 at default:8] Hangup("OSS/dsp", "") in new stack
> >>
> >> == Spawn extension (default, 8888, 8) exited non-zero on 'OSS/dsp'
> >>
> >> << Hangup on console >
> >>
> >> OK – Have I done something really dumb or is this a BUG ?
> >> Thank VERY MUCH for any and ALL Help
> >>
> >
> > While it may be a bug, I am under the impression that UnixODBC is the
> > preferred way of connecting to to MySQL. Maybe you should look into
> > that and see if you come the the same conclusion about being
> > "preferred" and see if the "bug" still exists. That should help in a
> > couple different ways.
> >
> > Thanks,
> > Steve Totaro
> >
> > _______________________________________________
> > -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> >
> > asterisk-users mailing list
> > To UNSUBSCRIBE or update options visit:
> > http://lists.digium.com/mailman/listinfo/asterisk-users
> >
> >
> >
>
> _______________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
More information about the asterisk-users
mailing list