(Feature request)
be able to recover data from htable variable when kamailio starts, from another kamailio instances through dmq module.
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/260
repro servers peer with each other in a federated manner just like SMTP servers for email, but using TLS mutual authentication to prevent impersonation.
Kamailio has TLS support and should be able to talk to such servers and other Kamailio servers in the same way.
It would be good to create a recommended sample configuration for this type of service and also add it to the RTC Quick Start Guide:
http://rtcquickstart.org/guide/multi/sip-proxy.html
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/531
OpenSSL is well known for huge amount of deadly security vulnerabilities, even before heartbleed.
It would be nice if I could avoid bringing in such a library just because of Kamailio - having support for GnuTLS will let the user to make such a choice.
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/371
If I run set_contact_alias nothing happens - the contact remains the same on the outbound message There's no error returned and debug logs indicate a proper header
However, if I add "msg_apply_changes()" on the line after set_contact_alias the Contact sent to next hop has the alias content No other changes
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/445
Hi devs,
I'm trying to make the db_cassandra work for my kamailio specifically userblacklist module.
I've cassanda keyspace and tables defined along with the db_schema directory structure defined as instructed however the debug logs keep telling me that table 'version' doesn't exist.
I've taken a look inside the dbcassa_table.c file
https://github.com/kamailio/kamailio/blob/master/modules/db_cassandra/dbcas…
Somewhere in this function it just doesn't get hold of "tbc" and hence it throws up error.
Here is how I've figured out this code.
hash = core_hash(dbn, tbn, DBCASSA_TABLE_SIZE);
**if(!hash)
LM_ERR("hash NOT FOUND\n");**
hashidx = hash % DBCASSA_TABLE_SIZE;
**if(!hashidx)
LM_ERR("hashidx NOT FOUND\n");**
ref_read_data(dbcassa_tbl_htable[hashidx].lock);
tbc = dbcassa_tbl_htable[hashidx].dtp;
**if(!tbc)
LM_ERR("TBC NOT FOUND\n");**
while(tbc) {
LM_DBG("found dbname=%.*s, table=%.*s\n", tbc->dbname.len, tbc->dbname.s, tbc->name.len, tbc->name.s);
if(tbc->hash==hash && tbc->dbname.len == dbn->len
&& tbc->name.len == tbn->len
&& !strncasecmp(tbc->dbname.s, dbn->s, dbn->len)
&& !strncasecmp(tbc->name.s, tbn->s, tbn->len)) {
memcpy(full_path_buf + dbcassa_schema_path.len, dbn->s, dbn->len);
len = dbcassa_schema_path.len + dbn->len;
full_path_buf[len++] = '/';
memcpy(full_path_buf + len, tbn->s, tbn->len);
full_path_buf[len + tbn->len] = '\0';
if(dbcassa_check_mtime(&tbc->mt) == 0)
return tbc;
old_tbc = tbc;
break;
}
tbc = tbc->next;
}
unref_read_data(dbcassa_tbl_htable[hashidx].lock);
**if(!old_tbc) {
LM_ERR("OLD_TBC NOT FOUND\n");**
return NULL;
}
and upon starting of kamailio after recompiling the module I see these lines printed.
0(15574) DEBUG: db_cassandra [dbcassa_base.cpp:149]: db_cassa_new_connection(): opening connection: cassa://xxxx:xxxx@127.0.0.1:9160/kamailio
0(15574) DEBUG: <core> [mem/f_malloc.c:439]: fm_malloc(): fm_malloc(0x7f9c14f8a010, 48) called from db_cassandra: dbcassa_base.cpp: db_cassa_new_connection(155)
0(15574) DEBUG: <core> [mem/f_malloc.c:514]: fm_malloc(): fm_malloc(0x7f9c14f8a010, 48) returns address 0x7f9c150055f0
0(15574) DEBUG: db_cassandra [dbcassa_base.cpp:161]: db_cassa_new_connection(): 0x7f9c150055f0=pkg_malloc(48)
0(15574) DEBUG: db_cassandra [dbcassa_base.cpp:117]: dbcassa_open(): Opened connection to Cassandra cluster 127.0.0.1:9160
0(15574) DEBUG: db_cassandra [dbcassa_base.cpp:955]: db_cassa_query(): query table=version
**0(15574) ERROR: db_cassandra [dbcassa_table.c:463]: dbcassa_db_get_table(): TBC NOT FOUND
0(15574) ERROR: db_cassandra [dbcassa_table.c:486]: dbcassa_db_get_table(): OLD_TBC NOT FOUND**
0(15574) ERROR: db_cassandra [dbcassa_base.cpp:449]: cassa_translate_query(): table version does not exist!
0(15574) ERROR: db_cassandra [dbcassa_base.cpp:962]: db_cassa_query(): Failed to query Cassandra cluster
0(15574) ERROR: <core> [db.c:397]: db_table_version(): error in db_query
0(15574) ERROR: <core> [db.c:436]: db_check_table_version(): querying version for table userblacklist
0(15574) ERROR: userblacklist [db_userblacklist.c:86]: userblacklist_db_init(): during table version check.
0(15574) DEBUG: <core> [db_pool.c:100]: pool_remove(): removing connection from the pool
0(15574) DEBUG: <core> [mem/f_malloc.c:575]: fm_free(): fm_free(0x7f9c14f8a010, 0x7f9c150055f0), called from db_cassandra: dbcassa_base.cpp: db_cassa_free_connection(203)
0(15574) DEBUG: <core> [mem/f_malloc.c:594]: fm_free(): fm_free: freeing block alloc'ed from db_cassandra: dbcassa_base.cpp: db_cassa_new_connection(155)
0(15574) DEBUG: <core> [mem/f_malloc.c:575]: fm_free(): fm_free(0x7f9c14f8a010, 0x7f9c15005318), called from core: db.c: db_do_close(356)
0(15574) DEBUG: <core> [mem/f_malloc.c:594]: fm_free(): fm_free: freeing block alloc'ed from core: db.c: db_do_init2(298)
0(15574) ERROR: <core> [sr_module.c:968]: init_mod(): Error while initializing module userblacklist (/usr/local/lib64/kamailio/modules/userblacklist.so)
ERROR: error while initializing modules
Kindly look into this and let me know how to make this work.
Thanks,
Sammy
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/618
This is a snip from the user's mailing list, I'm just adding it to the issue tracker, as it is yet to be confirmed as a bug, only here for tracking pruporses:
```
I have a situation where I have 2 devices registering with the same AOR, I have the registrar module's max_contacts parameter set to 1 and I use the 0x04 flag on the save function.
When I use dmq_usrloc for replication, I can see 2 contacts registered for the AOR on the "client" nodes whereas the node where the actual registration took place only has 1 contact for the AOR.
```
```
It seems to me like another bug, although again I'm not familiar with the module so can't be sure without looking that it is not intended behaviour.
I plan to look later this week when I have some time but in the meantime, you can send me the examples directly if you like.
```
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/265
Kamailio takes care of sending in-dialog keep-alives using OPTIONS when dlg_set_attribute ka-src and ka-dst is used. It also sends OPTIONS to correct address if a client sends Re-Invite indicating a network change, which is a common case with mobile clients (switching between mobile-data and Wifi) fixed in #273
The problem is that it ends the dialog on missing even one keep-alive response. Missing a response is possible when the client is handling the network change and keep-alive is sent around that time.
Thus, having a configurable counter after which you expect to end the dialog might be helpful. For eg. you decide to end the dialog after we miss 3 responses for keep-alives in a row.
Something like dlg_set_attribute(ka-src, 3) where 3 indicates the number of responses that can be missed before ending the dialog.
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/438