Hello Daniel,
You will find two pcap files in attachment. I am using the
same mongoc library version in both cases.
Let me know if you need more info.
Kind regards,
Stephane
On 27 February 2018 at 09:01, Daniel-Constantin Mierla
<miconda(a)gmail.com <mailto:miconda@gmail.com>> wrote:
Hello,
can you send here the requests sent by kamailio for the
two mongodb versions? To compare and see where it can be
fixed.
Also, were you using the same mongoc library version in
both cases?
Cheers,
Daniel
On 26.02.18 12:57, Stephane wrote:
Hello,
I made some additional tests.
The problem is only present when kamailio is facing
mongo release 3.2 (or higher).
With mongo version 3.0 (or lower), the request sent by
kamailio is different: it contains $query and
$table_version elements and mongo accepts it.
Kind regards,
Stephane
On 23 February 2018 at 10:48, Stephane
<mandalavoip(a)gmail.com <mailto:mandalavoip@gmail.com>>
wrote:
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'.codecodeNameFailedToParseoperationTimeZ$clusterTimeXclusterTimeZsignature3hashkeyId
Kind regards,
Stephane
On 23 February 2018 at 09:39, Daniel-Constantin
Mierla <miconda(a)gmail.com
<mailto: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 pool
> 0(22216) DEBUG: db_mongodb
> [mongodb_connection.c:55]:
> db_mongodb_new_connection(): connection open
> to: mongodb://10.0.12.149
>
<http://10.0.12.149>,10.0.12.150,10.0.12.151/kamailio?replicaSet=sre_location&slaveOk=true&readPreference=primaryPreferred
>
<http://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 <http://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
> <http://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(a)lists.kamailio.org
> <mailto:sr-users@lists.kamailio.org>
>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
<https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
--
Daniel-Constantin Mierla
www.twitter.com/miconda
<http://www.twitter.com/miconda> --
www.linkedin.com/in/miconda
<http://www.linkedin.com/in/miconda>
Kamailio Advanced Training - March 5-7, 2018, Berlin -
www.asipto.com
<http://www.asipto.com>
Kamailio World Conference - May 14-16, 2018 -
www.kamailioworld.com
<http://www.kamailioworld.com>
<http://www.linkedin.com/in/miconda>
Kamailio Advanced Training - March 5-7, 2018, Berlin -
<http://www.asipto.com>
Kamailio World Conference - May 14-16, 2018 -