Hello Mathew ,
first let me say that I like your work on res_config_mysql
very much!
I did a stress test today with 40.000 rows in my SIP table
and it works like a charm.
I encounterded a problem when I try to get data
via realtime-mysql  from the extensions table.
When realtime tries to retrieve  an extension  that starts with  _
asterisk seg-faults ...
It works ok when the extension doesn't contain _ .

using :
---------

*CLI> show version
Asterisk CVS-HEAD-01/27/05-12:15:41 built by
[EMAIL PROTECTED] on a i686 running Linux


backtrace : -------------

#0  ast_variable_append (category=0x0, variable=0x810d070) at config.c:128
128             if (category->last)
(gdb) bt
#0  ast_variable_append (category=0x0, variable=0x810d070) at config.c:128
#1  0x42382374 in _init () from
/home/gkon/slash/usr/lib/asterisk/modules/res_config_mysql.so
#2  0x080599d1 in ast_load_realtime_multientry (family=0x810d070
"\220�\020\b\223�\020\b") at config.c:845
#3  0x45cbd744 in realtime_switch_common (table=0x426b4b71 "extensions",
context=0x8167880 "real-test",
   exten=0x426bb150 "112", priority=135319664, mode=0) at
pbx_realtime.c:115
#4  0x45cbcfbd in realtime_exists (chan=0x0, context=0x8167880 "real-test",
   exten=0x810d070 "\220�\020\b\223�\020\b", priority=135319664,
callerid=0x426bb058 "205",
   data=0x426b470c "SELECT * FROM extensions WHERE exten LIKE '\\_%'
AND context = 'real-test' AND priority = '1' ORDER BY exten") at
pbx_realtime.c:145
#5  0x08079834 in pbx_find_extension (chan=0x0, bypass=0x0,
context=0x8167880 "real-test",
   exten=0x426bb150 "112", priority=1, label=0x0, callerid=0x426bb058
"205", action=0, incstack=0x426badbc,
   stacklen=0x426b4c48, status=0x426b4c4c, swo=0x426b4c50,
data=0x426b4c54, foundcontext=0x426b4c58)
   at pbx.c:774
#6  0x08082bc6 in pbx_extension_helper (c=0x0, con=0x810d070,
context=0x8167880 "real-test",
   exten=0x426bb150 "112", priority=1, label=0x0, callerid=0x426bb058
"205", action=0) at pbx.c:1241
#7  0x080815f5 in ast_exists_extension (c=0x810d070, context=0x810d070
"\220�\020\b\223�\020\b",
   exten=0x810d070 "\220�\020\b\223�\020\b", priority=135319664,
callerid=0x810d070 "\220�\020\b\223�\020\b")
   at pbx.c:1810
#8  0x424b1b2f in get_destination (p=0x81673c0, oreq=0x0) at chan_sip.c:5183
#9  0x424abb79 in handle_request (p=0x81673c0, req=0x426c477c,
sin=0x426c476c, recount=0x810d070,
   nounlock=0x426c4704) at chan_sip.c:7708
#10 0x424a858e in sipsock_read (id=0x8137a40, fd=11, events=1,
ignore=0x0) at chan_sip.c:8163
#11 0x08053070 in ast_io_wait (ioc=0x81352c0, howlong=135319664) at io.c:267
#12 0x424a26b4 in do_monitor (data=0x0) at chan_sip.c:8310




asterisk CLI : ----------------- (I tried to call extension 112 )


*CLI> *CLI> Jan 27 16:43:24 DEBUG[12771]: chan_sip.c:2337 sip_alloc: Allocating new SIP call for [EMAIL PROTECTED] Jan 27 16:43:24 DEBUG[12771]: res_config_mysql.c:112 realtime_mysql: MySQL RealTime: Retrieve SQL: SELECT * FROM sip WHERE name = '205' Jan 27 16:43:24 DEBUG[12771]: res_config_mysql.c:595 mysql_reconnect: MySQL RealTime: Everything is fine. Jan 27 16:43:24 DEBUG[12771]: chan_sip.c:5593 check_user_full: Setting NAT on RTP to 0 Jan 27 16:43:24 DEBUG[12771]: chan_sip.c:7698 handle_request: Check for res for 205 Jan 27 16:43:24 DEBUG[12771]: res_config_mysql.c:112 realtime_mysql: MySQL RealTime: Retrieve SQL: SELECT * FROM sip WHERE name = '205' Jan 27 16:43:24 DEBUG[12771]: res_config_mysql.c:595 mysql_reconnect: MySQL RealTime: Everything is fine. Jan 27 16:43:24 DEBUG[12771]: chan_sip.c:1576 update_user_counter: Call from user '205' is 1 out of 0 Jan 27 16:43:24 DEBUG[12771]: res_config_mysql.c:112 realtime_mysql: MySQL RealTime: Retrieve SQL: SELECT * FROM extensions WHERE exten = '112' AND context = 'real-test' AND priority = '1' Jan 27 16:43:24 DEBUG[12771]: res_config_mysql.c:595 mysql_reconnect: MySQL RealTime: Everything is fine. Jan 27 16:43:24 DEBUG[12771]: res_config_mysql.c:223 realtime_multi_mysql: MySQL RealTime: Retrieve SQL: SELECT * FROM extensions WHERE exten LIKE '\_%' AND context = 'real-test' AND priority = '1' ORDER BY exten Jan 27 16:43:24 DEBUG[12771]: res_config_mysql.c:595 mysql_reconnect: MySQL RealTime: Everything is fine. Segmentation fault [EMAIL PROTECTED] sbin]$



extensions table :
----------------------

+----+-----------+-------+----------+--------+--------------------+
| id  | context   | exten | priority | app   | appdata              |
+----+-----------+-------+----------+--------+---------------------+
|  1 | real-test | _11X  |        1 | NoOp     |
  |
|  2 | real-test | _11X  |        2 | Answer  |                            |
|  3 | real-test | _11X  |        3 | Echo
|                            ||
|  4 | real-test | _22X  |        1 | DIAL     | SIP/${EXTEN} |
+----+-----------+-------+----------+--------+----------------------+


extconfig.conf -------------------- ....... sipfriends => mysql,asterisk,sip extensions => mysql,asterisk,extensions .......

extensions.conf
--------------------
................
[real-test]
switch => Realtime/@extensions
.......................

res_mysql.conf
----------------------

[general]
dbuser=root
dbpass=
dbhost=localhost
dbname=asterisk
dbsock=/var/lib/mysql/mysql.sock




_______________________________________________ Asterisk-Dev mailing list [email protected] http://lists.digium.com/mailman/listinfo/asterisk-dev To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to