<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Texte brut Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.TextebrutCar
        {mso-style-name:"Texte brut Car";
        mso-style-priority:99;
        mso-style-link:"Texte brut";
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=FR link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoPlainText><span lang=EN-US>Hi Henning,<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>I review the my.cnf file on my serve. I don’t find the readme, <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>but by looking the doc (<a href="https://www.kamailio.org/docs/modules/stable/modules/db_mysql.html#idp38664564">https://www.kamailio.org/docs/modules/stable/modules/db_mysql.html#idp38664564</a>), it seems correct.<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>It is located at <<<< /myqdata/mysiprdb/data/my.cnf >>>.<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>It contains the following sections :<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText style='margin-left:35.4pt'><span lang=EN-US>[client]<o:p></o:p></span></p><p class=MsoPlainText style='margin-left:35.4pt'><span lang=EN-US>port=3306<o:p></o:p></span></p><p class=MsoPlainText style='margin-left:35.4pt'><span lang=EN-US>socket=/myqdata/mysiprdb/data/mysiprdb.sock <o:p></o:p></span></p><p class=MsoPlainText style='margin-left:35.4pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText style='margin-left:35.4pt'><span lang=EN-US>[kamailio]<o:p></o:p></span></p><p class=MsoPlainText style='margin-left:35.4pt'><span lang=EN-US>socket = /myqdata/mysiprdb/data/mysiprdb.sock<o:p></o:p></span></p><p class=MsoPlainText style='margin-left:35.4pt'><span lang=EN-US>user = siprouter<o:p></o:p></span></p><p class=MsoPlainText style='margin-left:35.4pt'><span lang=EN-US>password = Isgcomms1!<o:p></o:p></span></p><p class=MsoPlainText style='margin-left:35.4pt'><span lang=EN-US>default-character-set = utf8<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>In my kamailio.cfg, I have :<o:p></o:p></span></p><p class=MsoPlainText style='margin-left:35.4pt'><span lang=EN-US>modparam("htable", "db_url", "mysql://siprouter:Isgcomms1!@localhost/siprouter")<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>So, I expected that there is no need to have symlinkg to locate the db.<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>Is there a config issue ?<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText>Cordialement.<o:p></o:p></p><p class=MsoPlainText>Patrick GINHOUX <o:p></o:p></p><p class=MsoPlainText>Unisys | +33 1 46 69 52 12 | +33 6 60 32 24 74 | patrick.ginhoux@unisys.com<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><span style='mso-fareast-language:FR'>-----Message d'origine-----<br>De : Henning Westerholt <hw@kamailio.org> <br>Envoyé : jeudi 9 août 2018 21:31<br>À : Ginhoux, Patrick <patrick.ginhoux@fr.unisys.com><br>Cc : Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org><br>Objet : Re: [SR-Users] kamcmd htable.reload propertiesHash problem</span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>Am Donnerstag, 9. August 2018, 09:51:31 CEST schrieb Ginhoux, Patrick:<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> Some update since recent discussions about the changes between 5.0.1 and<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> 5.0.7 with Sergey Safarov :<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>Hello Patrick,<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>thank you for the update, and great that you figured out the issues. <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> -          The mod_perl module had been introduced by mistake in the 5.0.7<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> stream so that new packages are now available (5.0.7-7) without this module,<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> packages I use to upgrade my server.<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>Yes, I saw the commit. Good that its now fixed. Some more comments below.<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>> -          Once the upgrade done to 5.0.7-7 level, I reported 2 problems :<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> o   An error reported by the jsonrpcs module : ERROR: jsonrpcs<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> [jsonrpcs_fifo.c:82]: jsonrpc_init_fifo_server(): Failed to change the<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> owner/group for /var/run/kamailio/kamailio_rpc_fifo  to 248.248; Operation<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> not permitted[1]<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> ð  It is fixed now by configuring the USER/GROUP parameters with the correct<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> values in the systemd unit file<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> o   An error to open the MySQL: ERROR: db_mysql [km_my_con.c:129]:<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> db_mysql_new_connection(): driver error: Can't connect to local MySQL server<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> through socket '/var/lib/mysql/mysql.sock' (2 "No such file or directory")<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> ð  Initially on my Kamailio with 5.0.1, I had created these 2 symbolic links<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> to get the connection to the local MySQL server:<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> #Symbolic links for the MySQL to MariaDB change to allow kamailio to locate<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> the mysql libs and then open the siprouter database<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> ln -s /opt/mysql/na/10.2.14/lib64/libmysqlclient.so.18.0.0<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> /usr/lib64/libmysqlclient.so.18<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> ln -s /myqdata/mysiprdb/data/my.cnf /etc/my.cnf<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> This was good for kamailio to open the local MySQL server, but it failed to<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> reload a Hash table; the kamcmd htable.reload propertiesHash returns a<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> problem :<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> kamcmd htable.reload propertiesHash<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> error: 500 - Failed to open htable db connection<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> The kamailio.log reported that it can't connect the db :<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> DEBUG: <core> [core/sr_module.c:694]: find_mod_export_record():<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> find_export_record: found <db_bind_api> in module db_mysql<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> [/usr/lib64/kamailio/modules/db_mysql.so]<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> DEBUG: <core> [db.c:209]: db_bind_mod(): using db bind api for db_mysql<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> DEBUG: <core> [db.c:314]: db_do_init2(): connection 0x7f68cc354c10 not found<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> in pool<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> DEBUG: db_mysql [km_my_con.c:98]: db_mysql_new_connection(): opening<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> connection: mysql://xxxx:xxxx@/siprouter<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> ERROR: db_mysql [km_my_con.c:124]: db_mysql_new_connection(): driver error:<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> Can't connect to local MySQL server through socket<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> '/var/lib/mysql/mysql.sock' (2 "No such file or directory")<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> ð  Now with my Kamailio upgraded with 5.0.7-7, it fails immediately at the<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> startup to connect the local MySQL server.<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>Interesting behavior, but as you said - good that its fails now immediately.  <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> DEBUG: <core> [core/sr_module.c:698]: find_mod_export_record():<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> find_export_record: found <db_bind_api> in module db_mysql<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> [/usr/lib64/kamailio/modules/db_mysql.so]<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> DEBUG: <core> [db.c:209]: db_bind_mod(): using db bind api for db_mysql<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> DEBUG: <core> [db.c:314]: db_do_init2(): connection 0x7f65e4974868 not found<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> in pool<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> DEBUG: db_mysql [km_my_con.c:98]: db_mysql_new_connection(): opening<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> connection: mysql://xxxx:xxxx@localhost/siprouter<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> ERROR: db_mysql [km_my_con.c:129]: db_mysql_new_connection(): driver error:<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> Can't connect to local MySQL server through socket<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> '/var/lib/mysql/mysql.sock' (2 "No such file or directory")<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> That is a strange behavior versus the one with kamailio 5.0.1, but it is<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> maybe better as it immediately fails.<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> In all the case, I had have to do the following the fix the issue :<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> mkdir /var/lib/mysql<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> ln -s /myqdata/mysiprdb/data/mysiprdb.sock /var/lib/mysql/mysql.sock<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> This new symbolic link would then replace the first I had created : ln -s<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> /myqdata/mysiprdb/data/my.cnf /etc/my.cnf.<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> If I can consider these problems as fixed, it lets me confused on the manner<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> the db_mysql module works.<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> I would expect that it would find by configuration the location on the local<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> MySQL server. But is seems not.<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>> [..]<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>Do you have a [client] section in your my.cnf? It should indeed pick this up <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>then. (Have a look to the db_mysql README for an example). If you don't have <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>this, I think the mysql libraries then just look for the compiled default. <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>There are no module settings in db_mysql module to configure the socket <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>setting. It just call the mysql client library. <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>If your server runs now and the reload cmd also works fine, I think you should <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>be ready to go, the problem is fixed.<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>Best regards,<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>Henning<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>-- <o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>Henning Westerholt<o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US><a href="https://skalatan.de/blog/"><span style='color:windowtext;text-decoration:none'>https://skalatan.de/blog/</span></a><o:p></o:p></span></p></div></body></html>