Hello Daniel,
I took a pcap trace. And I see the following in the answer sent by mongo
Failed to parse: { find: "version", filter: { table_name: "location"
},
table_version: 1, $db: "kamailio", $readPreference: { mode:
"primaryPreferred" }, $clusterTime: { clusterTime: Timestamp(1519379980,
1), signature: { hash: BinData(0, 0000000000000000000000000000000000000000),
keyId: 0 } } }. Unrecognized field 'table_version'.code
codeNameFailedToParseoperationTimeZ$clusterTimeXclusterTimeZsignat
ure3hashkeyId
Kind regards,
Stephane
On 23 February 2018 at 09:39, Daniel-Constantin Mierla <miconda(a)gmail.com>
wrote:
Hello,
I don't know if you can see the result sent back by mongodb in its logs,
it doesn't show it there. Maybe you can sniff the traffic on the network
and see if mongodb sends the proper response back. Kamailio logs like
nothing was retrieved.
Cheers,
Daniel
On 22.02.18 18:02, Stephane Focant wrote:
Hello,
I have an issue when I try to use kamailio 5.1 with usrloc and db_mongdb
modules.
When I try to start kamailio, I get the following error:
0(22216) DEBUG: <core> [db.c:314]: db_do_init2(): connection
0x7f735b5c4100 not found in pool
0(22216) DEBUG: db_mongodb [mongodb_connection.c:55]:
db_mongodb_new_connection(): connection open to: mongodb://10.0.12.149
,10.0.12.150,10.0.12.151/kamailio?replicaSet=sre_location&slaveOk=
true&readPreference=primaryPreferred
0(22216) DEBUG: db_mongodb [mongodb_dbase.c:864]: db_mongodb_query():
query to collection [version]
0(22216) DEBUG: db_mongodb [mongodb_dbase.c:898]: db_mongodb_query():
query filter: { "table_name" : "location" }
0(22216) DEBUG: db_mongodb [mongodb_dbase.c:917]: db_mongodb_query():
columns filter: { "table_version" : 1 }
0(22216) DEBUG: <core> [db_res.c:120]: db_new_result(): allocate 56
bytes for result set at 0x7f735b5c4450
0(22216) DEBUG: db_mongodb [mongodb_dbase.c:746]:
db_mongodb_store_result(): no result from mongodb
0(22216) DEBUG: <core> [db.c:404]: db_table_version(): no row for table
location found
0(22216) ERROR: <core> [db.c:450]: db_check_table_version(): invalid
version 0 for table location found, expected 9 (check table structure and
table "version")
0(22216) ERROR: usrloc [dlist.c:659]: register_udomain(): error during
table version check.
0(22216) DEBUG: <core> [db_pool.c:100]: pool_remove(): removing
connection from the pool
0(22216) ERROR: registrar [registrar.c:651]: domain_fixup(): failed to
register domain
0(22216) ERROR: <core> [core/route.c:1154]: fix_actions(): fixing failed
(code=-1) at cfg:/usr/local/kamailio-5.1/etc/kamailio/kamailio.cfg:660
0(22216) ERROR: <core> [core/rvalue.c:3860]: fix_rval_expr(): failure in
cfg at line: 660 col: 22
0(22216) ERROR: <core> [core/rvalue.c:3860]: fix_rval_expr(): failure in
cfg at line: 660 col: 22
0(22216) ERROR: <core> [core/route.c:1154]: fix_actions(): fixing failed
(code=-1) at cfg:/usr/local/kamailio-5.1/etc/kamailio/kamailio.cfg:663
ERROR: error -1 while trying to fix configuration
0(22216) DEBUG: tm [t_funcs.c:85]: tm_shutdown(): start
0(22216) DEBUG: tm [t_funcs.c:88]: tm_shutdown(): emptying hash table
0(22216) DEBUG: tm [t_funcs.c:90]: tm_shutdown(): removing semaphores
0(22216) DEBUG: tm [t_funcs.c:92]: tm_shutdown(): destroying tmcb lists
0(22216) DEBUG: tm [t_funcs.c:95]: tm_shutdown(): done
0(22216) INFO: <core> [core/sctp_core.c:53]: sctp_core_destroy(): SCTP
API not initialized
0(22216) DEBUG: <core> [core/mem/shm.c:261]: shm_destroy_manager():
destroying memory manager: q_malloc
0(22216) DEBUG: <core> [core/mem/q_malloc.c:1165]:
qm_shm_lock_destroy(): destroying the shared memory lock
0(22216) DEBUG: <core> [core/mem/pkg.c:91]: pkg_destroy_manager():
destroying memory manager: q_malloc
In mongoDB, I have the collection "version" in the db kamailio, and the
entries needed for usrloc (location and location_attrs):
sre_location:PRIMARY> use kamailio
switched to db kamailio
sre_location:PRIMARY> db.getCollection("version").find()
{ "_id" : ObjectId("5a8ec43c601b262bef82a595"),
"table_name" :
"location", "table_version" : 9 }
{ "_id" : ObjectId("5a8edb72a3ec40427577b8d0"),
"table_name" :
"location_attrs", "table_version" : 1 }
And logs in mongo show the following info when kamailio starts:
2018-02-22T17:13:02.604+0100 I NETWORK [conn90] received client metadata
from 10.0.12.180:56320 conn: { driver: { name: "mongoc", version:
"1.9.2" }, os: { type: "Linux", name: "CentOS", version:
"6.9 (Final)",
architecture: "x86_64" }, platform: "cfg=0x1563000 posix=200809 CC=GCC
4.4.7 20120313 (Red Hat 4.4.7-18) CFLAGS="" LDFLAGS=""" }
2018-02-22T17:13:02.604+0100 I COMMAND [conn90] command admin.$cmd
command: isMaster { isMaster: 1, client: { driver: { name: "mongoc",
version: "1.9.2" }, os: { type: "Linux", name: "CentOS",
version: "6.9
(Final)", architecture: "x86_64" }, platform: "cfg=0x1563000
posix=200809
CC=GCC 4.4.7 20120313 (Red Hat 4.4.7-18) CFLAGS="" LDFLAGS="""
},
compression: [], $readPreference: { mode: "secondaryPreferred" }, $db:
"admin" } numYields:0 reslen:716 locks:{} protocol:op_query 0ms
2018-02-22T17:13:02.604+0100 I COMMAND [conn90] command kamailio.$cmd
command: find { find: "version", filter: { table_name: "location" },
table_version: 1, $db: "kamailio", $readPreference: { mode:
"primaryPreferred" }, $clusterTime: { clusterTime: Timestamp(1519315979,
1), signature: { hash: BinData(0, 0000000000000000000000000000000000000000),
keyId: 0 } } } numYields:0 reslen:531 locks:{} protocol:op_msg 0ms
2018-02-22T17:13:02.605+0100 I NETWORK [conn90] end connection
10.0.12.180:56320 (9 connections now open)
I probably miss something: it is not clear to me why kamailio is not able
to retrieve the value of table_version for the table_name location. Any
idea would be very welcome !
I use mongo-c-driver 1.9.2 and mongodb 3.6
Thank you.
Stephane
_______________________________________________
Kamailio (SER) - Users Mailing
Listsr-users@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin
Mierlawww.twitter.com/miconda --
www.linkedin.com/in/miconda
Kamailio Advanced Training - March 5-7, 2018, Berlin -
www.asipto.com
Kamailio World Conference - May 14-16, 2018 -
www.kamailioworld.com