Asterisk Name In Mysql
hi. currently i am running the phonebook in astdb with
*database put cidname 0123456789 “name_surname”*
and i retrive it with
*exten =>9876543210,1,Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})})*
Now, my system has mysql and i got all my contacts in there in a database is called *asterisk *and a table called *addressbook**. *password of the mysql is
*whateverpasswd*
how do i alter the above section of the extensions.conf code to query mysql everytime there is a call, please?
6 thoughts on - Asterisk Name In Mysql
You can use func_odbc to do this.
https://wiki.asterisk.org/wiki/display/AST/Getting+Asterisk+Connected+to+MySQL+via+ODBC2
There is a good chapter in the Asterisk book about using ODBC for hotdesking that may help you understand ODBC as well.
http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/getting_funky.html
Thanks a lot for the reply. I did follow that already, but i do have a problem. Here is my extensions.conf part for that particular number exten => 6912345678,1,Answer()
exten => 6912345678,n,MYSQL(Connect connid 127.0.0.1 root mypasswd asterisk)
exten => 6912345678,n,MYSQL(Query resultid ${connid} SET NAMES utf8)
exten => 6912345678,n,GotoIf($[“${connid}” = “”]?nodb)
exten => 6912345678,n,MYSQL(Query resultid ${connid} SELECT displayname FROM root WHERE phonenumber=”${CALLERID(num)}” LIMIT 1)
exten => 6912345678,n,MYSQL(Fetch fetchid ${resultid} displayname)
exten => 6912345678,n,MYSQL(Clear ${resultid})
exten => 6912345678,n,Set(CALLERID(name)=${displayname})
exten => 6912345678,n,MYSQL(Disconnect ${connid})
exten => 6912345678,n(nodb),NoOp(DoneDB)
exten => 6912345678,n,Dial(SIP/450&SIP/451,20)
exten => 6912345678,n,VoiceMail(450@Office,su)
exten => 6912345678,n,Busy(3)
6912345678 is my DID
and here is the error i am getting
[Apr 22 23:20:29] WARNING[9725][C-00000002]: pbx.c:4991
pbx_extension_helper: No application ‘MYSQL’ for extension (IncomingDial,
6951921078, 2)
== Spawn extension (DialIn, 6912345678, 2) exited non-zero on
‘Dongle/dongle0-0100000002’
Any ideas please?
…snip…
What have you put into func_odbc.conf?
ie: what’s the definition of MYSQL?
Antony.
In article, Atux Atux wrote:
That means that your copy of asterisk does not have the “app_mysql” module. If you compiled asterisk yourself, you need to go into menuselect and make sure app_mysql is selected, and then recompile.
You will probably find app_mysql under “Addons”.
If it does not let you select app_mysql, you will need to install the mysql development package (e.g. mysql-devel) to get the headers and libraries.
Cheers Tony
Well, My suggestion was to use FUNC_ODBC but instead you went with APP_MYSQL which has been depricated.
Did you compile APP_MYSQL? It’s not enabled by default.
I will try to reinstall everything according to your instructions and i will come back. I might need a couple of weeks due to a business trip though
Στις 24 Απρ 2017 6:54 μ.μ., ο χρήστης “John Kiniston” < johnkiniston@gmail.com> έγραψε: