Hello Daniel,I took a pcap trace. And I see the following in the answer sent by mongoFailed 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 codeNameFailedToParseoperation TimeZ$ clusterTimeXclusterTimeZsignat ure3hashkeyId Kind regards,StephaneOn 23 February 2018 at 09:39, Daniel-Constantin Mierla <miconda@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 pool0(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?repli caSet=sre_location&slaveOk= true&readPreference=primaryPre ferred 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 0x7f735b5c44500(22216) DEBUG: db_mongodb [mongodb_dbase.c:746]: db_mongodb_store_result(): no result from mongodb0(22216) DEBUG: <core> [db.c:404]: db_table_version(): no row for table location found0(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 pool0(22216) ERROR: registrar [registrar.c:651]: domain_fixup(): failed to register domain0(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: 220(22216) ERROR: <core> [core/rvalue.c:3860]: fix_rval_expr(): failure in cfg at line: 660 col: 220(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 configuration0(22216) DEBUG: tm [t_funcs.c:85]: tm_shutdown(): start0(22216) DEBUG: tm [t_funcs.c:88]: tm_shutdown(): emptying hash table0(22216) DEBUG: tm [t_funcs.c:90]: tm_shutdown(): removing semaphores0(22216) DEBUG: tm [t_funcs.c:92]: tm_shutdown(): destroying tmcb lists0(22216) DEBUG: tm [t_funcs.c:95]: tm_shutdown(): done0(22216) INFO: <core> [core/sctp_core.c:53]: sctp_core_destroy(): SCTP API not initialized0(22216) DEBUG: <core> [core/mem/shm.c:261]: shm_destroy_manager(): destroying memory manager: q_malloc0(22216) DEBUG: <core> [core/mem/q_malloc.c:1165]: qm_shm_lock_destroy(): destroying the shared memory lock0(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 kamailioswitched to db kamailiosre_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 0ms2018-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 List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi -bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierla www.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