Experts,
I'm currently setting up Kamailio for the first time (yay!) and ran into an
issue (DOH!!!).
The install went fine and I modified a few lines in the kamailio-basic.cfg
(below).
I also set up two users 'bob' and 'alice' and am trying to start a simple
chat session between two QjSimple clients.
In the syslog I see the following error.
/usr/sbin/kamailio[32998]: ERROR: <core> [core/receive.c:257]:
receive_msg(): no config routing engine registered
I followed the Debian installation instructions below but didn't see
anything about config routing engine setup.
https://www.kamailio.org/wiki/tutorials/getting-started/main#debian
Can you point me in the right direction what is missing?
Thanks!
Chris
-----------------------
#!KAMAILIO
#
# Kamailio (OpenSER) SIP Server v5.0 - default configuration script
# - web: http://www.kamailio.org
# - git: http://sip-router.org
#
# Direct your questions about this file to: <sr-users(a)lists.sip-router.org>
#
# Refer to the Core CookBook at http://www.kamailio.org/wiki/
# for an explanation of possible statements, functions and parameters.
#
# Several features can be enabled using '#!define WITH_FEATURE' directives:
#
# *** To run in debug mode:
# - define WITH_DEBUG
#
# *** To enable mysql:
# - define WITH_MYSQL
#
# *** To enable authentication execute:
# - enable mysql
# - define WITH_AUTH
# - add users using 'kamctl'
#
# *** To enable IP authentication execute:
# - enable mysql
# - enable authentication
# - define WITH_IPAUTH
# - add IP addresses with group id '1' to 'address' table
#
# *** To enable persistent user location execute:
# - enable mysql
# - define WITH_USRLOCDB
#
# *** To enable nat traversal execute:
# - define WITH_NAT
# - install RTPProxy: http://www.rtpproxy.org
# - start RTPProxy:
# rtpproxy -l _your_public_ip_ -s udp:localhost:7722
# - option for NAT SIP OPTIONS keepalives: WITH_NATSIPPING
#
# *** To enable TLS support execute:
# - adjust CFGDIR/tls.cfg as needed
# - define WITH_TLS
#
# *** To enhance accounting execute:
# - enable mysql
# - define WITH_ACCDB
# - add following columns to database
#!ifdef ACCDB_COMMENT
ALTER TABLE acc ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN src_ip varchar(64) NOT NULL default '';
ALTER TABLE acc ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN dst_domain VARCHAR(128) NOT NULL DEFAULT '';
ALTER TABLE missed_calls ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT
'';
ALTER TABLE missed_calls ADD COLUMN src_domain VARCHAR(128) NOT NULL
DEFAULT '';
ALTER TABLE missed_calls ADD COLUMN src_ip varchar(64) NOT NULL default
'';
ALTER TABLE missed_calls ADD COLUMN dst_ouser VARCHAR(64) NOT NULL
DEFAULT '';
ALTER TABLE missed_calls ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT
'';
ALTER TABLE missed_calls ADD COLUMN dst_domain VARCHAR(128) NOT NULL
DEFAULT '';
#!endif
####### Include Local Config If Exists #########
import_file "kamailio-local.cfg"
# Custom Setup #
#!define WITH_MYSQL
#!define WITH_AUTH
#!define WITH_USRLOCDB
####### Defined Values #########
# *** Value defines - IDs used later in config
#!ifdef WITH_MYSQL
# - database URL - used to connect to database server by modules such
# as: auth_db, acc, usrloc, a.s.o.
#!ifndef DBURL
#!define DBURL "mysql://kamailio:kamailiorw@localhost/kamailio"
#!endif
#!endif
#!define MULTIDOMAIN 0
# - flags
# FLT_ - per transaction (message) flags
# FLB_ - per branch flags
#!define FLT_ACC 1
#!define FLT_ACCMISSED 2
#!define FLT_ACCFAILED 3
#!define FLT_NATS 5
#!define FLB_NATB 6
#!define FLB_NATSIPPING 7
####### Global Parameters #########
### LOG Levels: 3=DBG, 2=INFO, 1=NOTICE, 0=WARN, -1=ERR
#!ifdef WITH_DEBUG
debug=4
log_stderror=yes
#!else
debug=2
log_stderror=no
#!endif
memdbg=5
memlog=5
log_facility=LOG_LOCAL0
fork=yes
children=4
/* uncomment the next line to disable TCP (default on) */
#disable_tcp=yes
/* uncomment the next line to disable the auto discovery of local aliases
* based on reverse DNS on IPs (default on) */
#auto_aliases=no
/* add local domain aliases */
#alias="sip.mydomain.com"
/* uncomment and configure the following line if you want Kamailio to
* bind on a specific interface/port/proto (default bind on all available)
*/
#listen=udp:10.0.0.10:5060
/* port to listen to
* - can be specified more than once if needed to listen on many ports */
port=5060
#!ifdef WITH_TLS
enable_tls=yes
#!endif
# life time of TCP connection when there is no traffic
# - a bit higher than registration expires to cope with UA behind NAT
tcp_connection_lifetime=3605
####### Modules Section ########
# set paths to location of modules (to sources or installation folders)
#!ifdef WITH_SRCPATH
mpath="modules"
#!else
mpath="/usr/lib/x86_64-linux-gnu/kamailio/modules/"
#!endif
#!ifdef WITH_MYSQL
loadmodule "db_mysql.so"
#!endif
loadmodule "jsonrpcs.so"
loadmodule "kex.so"
loadmodule "corex.so"
loadmodule "tm.so"
loadmodule "tmx.so"
loadmodule "sl.so"
loadmodule "rr.so"
loadmodule "pv.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "siputils.so"
loadmodule "xlog.so"
loadmodule "sanity.so"
loadmodule "ctl.so"
loadmodule "cfg_rpc.so"
loadmodule "acc.so"
loadmodule "counters.so"
#!ifdef WITH_AUTH
loadmodule "auth.so"
loadmodule "auth_db.so"
#!ifdef WITH_IPAUTH
loadmodule "permissions.so"
#!endif
#!endif
#!ifdef WITH_NAT
loadmodule "nathelper.so"
loadmodule "rtpproxy.so"
#!endif
#!ifdef WITH_TLS
loadmodule "tls.so"
#!endif
#!ifdef WITH_DEBUG
loadmodule "debugger.so"
#!endif
# ----------------- setting module-specific parameters ---------------
# ----- jsonrpcs params -----
modparam("jsonrpcs", "pretty_format", 1)
/* set the path to RPC fifo control file */
# modparam("jsonrpcs", "fifo_name", "/var/run/kamailio/kamailio_rpc.fifo")
/* set the path to RPC unix socket control file */
# modparam("jsonrpcs", "dgram_socket",
"/var/run/kamailio/kamailio_rpc.sock")
# ----- ctl params -----
#modparam("ctl", "binrpc", "unix:/var/run/kamailio/kamailio_ctl")
# ----- tm params -----
# auto-discard branches from previous serial forking leg
modparam("tm", "failure_reply_mode", 3)
# default retransmission timeout: 30sec
modparam("tm", "fr_timer", 30000)
# default invite retransmission timeout after 1xx: 120sec
modparam("tm", "fr_inv_timer", 120000)
# ----- rr params -----
# add value to ;lr param to cope with most of the UAs
modparam("rr", "enable_full_lr", 1)
# do not append from tag to the RR (no need for this script)
modparam("rr", "append_fromtag", 0)
# ----- registrar params -----
modparam("registrar", "method_filtering", 1)
/* uncomment the next line to disable parallel forking via location */
# modparam("registrar", "append_branches", 0)
/* uncomment the next line not to allow more than 10 contacts per AOR */
#modparam("registrar", "max_contacts", 10)
# max value for expires of registrations
modparam("registrar", "max_expires", 3600)
# set it to 1 to enable GRUU
modparam("registrar", "gruu_enabled", 0)
# ----- acc params -----
/* what special events should be accounted ? */
modparam("acc", "early_media", 0)
modparam("acc", "report_ack", 0)
modparam("acc", "report_cancels", 0)
/* by default we do not adjust the direct of the sequential requests.
* if you enable this parameter, be sure the enable "append_fromtag"
* in "rr" module */
modparam("acc", "detect_direction", 0)
/* account triggers (flags) */
modparam("acc", "log_flag", FLT_ACC)
modparam("acc", "log_missed_flag", FLT_ACCMISSED)
modparam("acc", "log_extra",
"src_user=$fU;src_domain=$fd;src_ip=$si;"
"dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
modparam("acc", "failed_transaction_flag", FLT_ACCFAILED)
/* enhanced DB accounting */
#!ifdef WITH_ACCDB
modparam("acc", "db_flag", FLT_ACC)
modparam("acc", "db_missed_flag", FLT_ACCMISSED)
modparam("acc", "db_url", DBURL)
modparam("acc", "db_extra",
"src_user=$fU;src_domain=$fd;src_ip=$si;"
"dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
#!endif
# ----- usrloc params -----
/* enable DB persistency for location entries */
#!ifdef WITH_USRLOCDB
modparam("usrloc", "db_url", DBURL)
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "use_domain", MULTIDOMAIN)
#!endif
# ----- auth_db params -----
#!ifdef WITH_AUTH
modparam("auth_db", "db_url", DBURL)
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "load_credentials", "")
modparam("auth_db", "use_domain", MULTIDOMAIN)
# ----- permissions params -----
#!ifdef WITH_IPAUTH
modparam("permissions", "db_url", DBURL)
modparam("permissions", "db_mode", 1)
#!endif
#!endif
#!ifdef WITH_NAT
# ----- rtpproxy params -----
modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")
# ----- nathelper params -----
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)
modparam("nathelper", "sipping_from", "sip:pinger@kamailio.org")
# params needed for NAT traversal in other modules
modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
modparam("usrloc", "nat_bflag", FLB_NATB)
#!endif
#!ifdef WITH_TLS
# ----- tls params -----
modparam("tls", "config", "/etc/kamailio/tls.cfg")
#!endif
#!ifdef WITH_DEBUG
# ----- debugger params -----
modparam("debugger", "cfgtrace", 1)
#!endif
####### Routing Logic ########
# Main SIP request routing logic
# - processing of any incoming SIP request starts with this route
# - note: this is the same as route { ... }
request_route {
# per request initial checks
route(REQINIT);
# NAT detection
route(NATDETECT);
# CANCEL processing
if (is_method("CANCEL")) {
if (t_check_trans()) {
route(RELAY);
}
exit;
}
# handle requests within SIP dialogs
route(WITHINDLG);
### only initial requests (no To tag)
# handle retransmissions
if(t_precheck_trans()) {
t_check_trans();
exit;
}
t_check_trans();
# authentication
route(AUTH);
# record routing for dialog forming requests (in case they are routed)
# - remove preloaded route headers
remove_hf("Route");
if (is_method("INVITE|SUBSCRIBE"))
record_route();
# account only INVITEs
if (is_method("INVITE")) {
setflag(FLT_ACC); # do accounting
}
# dispatch requests to foreign domains
route(SIPOUT);
### requests for my local domains
# handle registrations
route(REGISTRAR);
if ($rU==$null) {
# request with no Username in RURI
sl_send_reply("484","Address Incomplete");
exit;
}
# user location service
route(LOCATION);
}
route[RELAY] {
# enable additional event routes for forwarded requests
# - serial forking, RTP relaying handling, a.s.o.
if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE")) {
if(!t_is_set("branch_route")) t_on_branch("MANAGE_BRANCH");
}
if (is_method("INVITE|SUBSCRIBE|UPDATE")) {
if(!t_is_set("onreply_route")) t_on_reply("MANAGE_REPLY");
}
if (is_method("INVITE")) {
if(!t_is_set("failure_route")) t_on_failure("MANAGE_FAILURE");
}
if (!t_relay()) {
sl_reply_error();
}
exit;
}
# Per SIP request initial checks
route[REQINIT] {
#!ifdef WITH_ANTIFLOOD
# flood dection from same IP and traffic ban for a while
# be sure you exclude checking trusted peers, such as pstn gateways
# - local host excluded (e.g., loop to self)
if(src_ip!=myself) {
if($sht(ipban=>$si)!=$null) {
# ip is already blocked
xdbg("request from blocked IP - $rm from $fu (IP:$si:$sp)\n");
exit;
}
if (!pike_check_req()) {
xlog("L_ALERT","ALERT: pike blocking $rm from $fu (IP:$si:$sp)\n");
$sht(ipban=>$si) = 1;
exit;
}
}
if($ua =~ "friendly-scanner") {
sl_send_reply("200", "OK");
exit;
}
#!endif
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
}
if(is_method("OPTIONS") && uri==myself && $rU==$null) {
sl_send_reply("200","Keepalive");
exit;
}
if(!sanity_check("1511", "7")) {
xlog("Malformed SIP message from $si:$sp\n");
exit;
}
}
# Handle requests within SIP dialogs
route[WITHINDLG] {
if (!has_totag()) return;
# sequential request withing a dialog should
# take the path determined by record-routing
if (loose_route()) {
route(DLGURI);
if (is_method("BYE")) {
setflag(FLT_ACC); # do accounting ...
setflag(FLT_ACCFAILED); # ... even if the transaction fails
}
else if ( is_method("ACK") ) {
# ACK is forwarded statelessy
route(NATMANAGE);
}
else if ( is_method("NOTIFY") ) {
# Add Record-Route for in-dialog NOTIFY as per RFC 6665.
record_route();
}
route(RELAY);
exit;
}
if ( is_method("ACK") ) {
if ( t_check_trans() ) {
# no loose-route, but stateful ACK;
# must be an ACK after a 487
# or e.g. 404 from upstream server
route(RELAY);
exit;
} else {
# ACK without matching transaction ... ignore and discard
exit;
}
}
sl_send_reply("404", "Not here");
exit;
}
# Handle SIP registrations
route[REGISTRAR] {
if (!is_method("REGISTER")) return;
if(isflagset(FLT_NATS)) {
setbflag(FLB_NATB);
#!ifdef WITH_NATSIPPING
# do SIP NAT pinging
setbflag(FLB_NATSIPPING);
#!endif
}
if (!save("location"))
sl_reply_error();
exit;
}
# User location service
route[LOCATION] {
if (!lookup("location")) {
$var(rc) = $rc;
t_newtran();
switch ($var(rc)) {
case -1:
case -3:
send_reply("404", "Not Found");
exit;
case -2:
send_reply("405", "Method Not Allowed");
exit;
}
}
# when routing via usrloc, log the missed calls also
if (is_method("INVITE")) {
setflag(FLT_ACCMISSED);
}
route(RELAY);
exit;
}
# IP authorization and user uthentication
route[AUTH] {
#!ifdef WITH_AUTH
#!ifdef WITH_IPAUTH
if((!is_method("REGISTER")) && allow_source_address()) {
# source IP allowed
return;
}
#!endif
if (is_method("REGISTER") || from_uri==myself) {
# authenticate requests
if (!auth_check("$fd", "subscriber", "1")) {
auth_challenge("$fd", "0");
exit;
}
# user authenticated - remove auth header
if(!is_method("REGISTER|PUBLISH"))
consume_credentials();
}
# if caller is not local subscriber, then check if it calls
# a local destination, otherwise deny, not an open relay here
if (from_uri!=myself && uri!=myself) {
sl_send_reply("403","Not relaying");
exit;
}
#!endif
return;
}
# Caller NAT detection
route[NATDETECT] {
#!ifdef WITH_NAT
force_rport();
if (nat_uac_test("19")) {
if (is_method("REGISTER")) {
fix_nated_register();
} else {
if(is_first_hop())
set_contact_alias();
}
setflag(FLT_NATS);
}
#!endif
return;
}
# RTPProxy control
route[NATMANAGE] {
#!ifdef WITH_NAT
if (is_request()) {
if(has_totag()) {
if(check_route_param("nat=yes")) {
setbflag(FLB_NATB);
}
}
}
if (!(isflagset(FLT_NATS) || isbflagset(FLB_NATB)))
return;
rtpproxy_manage("co");
if (is_request()) {
if (!has_totag()) {
if(t_is_branch_route()) {
add_rr_param(";nat=yes");
}
}
}
if (is_reply()) {
if(isbflagset(FLB_NATB)) {
set_contact_alias();
}
}
#!endif
return;
}
# URI update for dialog requests
route[DLGURI] {
#!ifdef WITH_NAT
if(!isdsturiset()) {
handle_ruri_alias();
}
#!endif
return;
}
# Routing to foreign domains
route[SIPOUT] {
if (uri==myself) return;
append_hf("P-hint: outbound\r\n");
route(RELAY);
exit;
}
# Manage outgoing branches
branch_route[MANAGE_BRANCH] {
xdbg("new branch [$T_branch_idx] to $ru\n");
route(NATMANAGE);
}
# Manage incoming replies
onreply_route[MANAGE_REPLY] {
xdbg("incoming reply\n");
if(status=~"[12][0-9][0-9]")
route(NATMANAGE);
}
# Manage failure routing cases
failure_route[MANAGE_FAILURE] {
route(NATMANAGE);
if (t_is_canceled()) {
exit;
}
}
I only need time here to reproduce myself, what I have from your side is
enough for the moment.
Cheers,
Daniel
On 11.01.18 20:12, jenus(a)cyberchaos.nl wrote:
> Daniel,
>
> Is there something else i can test on my side? Seems it crashes with a
> very minimal config as wel (with no routing logic defined). Strange
> thing is that if i disable any other module kamailio will start fine.
>
> Jan
>
> jenus(a)cyberchaos.nl schreef op 2018-01-10 13:46:
>> Daniel,
>>
>> I have attached a stripped version of the config. With this config it
>> crashes on my machine (debian 8.10). If i disable any other module
>> kamailio starts and keeps running. Looks like it does not matter what
>> module i disable.
>>
>> Jan
>>
>>
>>
>> Daniel-Constantin Mierla schreef op 2018-01-10 13:02:
>>> I have master (which should be more or less like latest 5.1) running
>>> with app_lua, but on debian 9.0. From backtrace, no obvious issue.
>>>
>>> Wondering if you can get a stripped down version of you config with as
>>> less loaded modules as possible and minimal routing blocks that expose
>>> the issue, so I can try it here. Try to load only the app_lua and the
>>> modules it binds to and see if crashes ... if not, it could be a side
>>> effect from other place.
>>>
>>> Cheers,
>>> Daniel
>>>
>>>
>>> On 10.01.18 12:44, jenus(a)cyberchaos.nl wrote:
>>>> Daniel,
>>>>
>>>> (gdb) frame 5
>>>> #5 0x00007fd3b2684870 in lua_sr_kemi_register_libs (L=0xeffdb0) at
>>>> app_lua_sr.c:1973
>>>> 1973 app_lua_sr.c: No such file or directory.
>>>> (gdb) list
>>>> 1968 in app_lua_sr.c
>>>> (gdb) info locals
>>>> _sr_crt_KSRMethods = 0xf0cf80
>>>> emods = 0xa59a00 <_sr_kemi_modules>
>>>> emods_size = 37
>>>> i = 3
>>>> k = 35
>>>> n = 346
>>>> mname =
>>>> "KSR.uac_redirect\000\000\000\000\000\000\000\000\256\240B\262\323\177\000\000й\360\000\000\000\000\000\004\000\000\000\323\177\000\000
>>>>
>>>> ˏ\262\323\177\000\000\000\362\066\000\234\324\302Ͱ\375\357", '\000'
>>>> <repeats 21 times>,
>>>> "\065\246C\262\323\177\000\000@\265\225\356\376\177\000\000\000\000\000\000\377\377\377\377\000\000\000\000\000\000\000\000\177\241m\262\323\177\000"
>>>>
>>>> __FUNCTION__ = "lua_sr_kemi_register_libs"
>>>>
>>>> (gdb) frame 6
>>>> #6 0x00007fd3b26cf107 in lua_sr_openlibs (L=0xeffdb0) at
>>>> app_lua_api.c:185
>>>> 185 app_lua_api.c: No such file or directory.
>>>> (gdb) list
>>>> 180 in app_lua_api.c
>>>> (gdb) info locals
>>>> No locals.
>>>>
>>>>
>>>> Jan
>>>>
>>>>
>>>> Daniel-Constantin Mierla schreef op 2018-01-10 12:40:
>>>>> Now the backtrace is different, gram the output for info locals in
>>>>> frame
>>>>> 5 and 6.
>>>>>
>>>>> Cheers,
>>>>> Daniel
>>>>>
>>>>>
>>>>> On 10.01.18 11:26, jenus(a)cyberchaos.nl wrote:
>>>>>> I have overwritten the core file b y accident. I did a new
>>>>>> backtrace:
>>>>>>
>>>>>> (gdb) backtrace
>>>>>> #0 0x00007fd3b24365a0 in ?? () from
>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>> #1 0x00007fd3b2437b62 in ?? () from
>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>> #2 0x00007fd3b242a040 in lua_settable () from
>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>> #3 0x00007fd3b243a412 in luaL_findtable () from
>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>> #4 0x00007fd3b243a581 in luaL_openlib () from
>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>> #5 0x00007fd3b2684870 in lua_sr_kemi_register_libs (L=0xeffdb0) at
>>>>>> app_lua_sr.c:1973
>>>>>> #6 0x00007fd3b26cf107 in lua_sr_openlibs (L=0xeffdb0) at
>>>>>> app_lua_api.c:185
>>>>>> #7 0x00007fd3b26cf7c1 in lua_sr_init_probe () at app_lua_api.c:225
>>>>>> #8 0x00007fd3b265b97d in child_init (rank=-127) at
>>>>>> app_lua_mod.c:197
>>>>>> #9 0x0000000000549944 in init_mod_child (m=0x7fd3bc82cc70,
>>>>>> rank=-127)
>>>>>> at core/sr_module.c:938
>>>>>> #10 0x0000000000549c72 in init_child (rank=-127) at
>>>>>> core/sr_module.c:964
>>>>>> #11 0x0000000000422c1c in main_loop () at main.c:1576
>>>>>> #12 0x000000000042aab9 in main (argc=3, argv=0x7ffeee95b548) at
>>>>>> main.c:2646
>>>>>>
>>>>>> (gdb) frame 7
>>>>>> #7 0x00007fd3b26cf7c1 in lua_sr_init_probe () at app_lua_api.c:225
>>>>>> 225 app_lua_api.c: No such file or directory.
>>>>>> (gdb) list
>>>>>> 220 in app_lua_api.c
>>>>>> (gdb) info locals
>>>>>> L = 0xeffdb0
>>>>>> txt = 0x7fd3bd00dce7 <__fprintf+135> "H\201\304", <incomplete
>>>>>> sequence
>>>>>> \330>
>>>>>> li = 0x0
>>>>>> sbuf = {st_dev = 0, st_ino = 206158430256, st_nlink =
>>>>>> 140732901208248,
>>>>>> st_mode = 4002787296, st_uid = 32766, st_gid = 4002787464, __pad0 =
>>>>>> 14, st_rdev = 140728898420739, st_size = 0,
>>>>>> st_blksize = 30795, st_blocks = 7970120, st_atim = {tv_sec =
>>>>>> 7929944, tv_nsec = 0}, st_mtim = {tv_sec = 0, tv_nsec =
>>>>>> 140732901208128}, st_ctim = {tv_sec = 140547210663782,
>>>>>> tv_nsec = 7938688}, __glibc_reserved = {-541165879423,
>>>>>> 140732901208240, 5544260}}
>>>>>> __FUNCTION__ = "lua_sr_init_probe"
>>>>>>
>>>>>> I assume that in this case i need to do a "frame 7".
>>>>>>
>>>>>>
>>>>>> Jan
>>>>>>
>>>>>> Daniel-Constantin Mierla schreef op 2018-01-10 11:18:
>>>>>>> Few more things to grab from core file with gdb -- take the
>>>>>>> output for
>>>>>>> the next commands:
>>>>>>>
>>>>>>> frame 16
>>>>>>>
>>>>>>> list
>>>>>>>
>>>>>>> info locals
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Daniel
>>>>>>>
>>>>>>>
>>>>>>> On 10.01.18 11:08, jenus(a)cyberchaos.nl wrote:
>>>>>>>> Daniel,
>>>>>>>>
>>>>>>>> Here are the app_lua settings:
>>>>>>>>
>>>>>>>> # ----- app_lua params -----
>>>>>>>> modparam("app_lua", "load",
>>>>>>>> "/etc/kamailio/kamailio_functions.lua")
>>>>>>>> modparam("app_lua", "register", "sqlops")
>>>>>>>> modparam("app_lua", "register", "siputils")
>>>>>>>> modparam("app_lua", "register", "xhttp")
>>>>>>>>
>>>>>>>>
>>>>>>>> Jan
>>>>>>>>
>>>>>>>>
>>>>>>>> Daniel-Constantin Mierla schreef op 2018-01-10 11:03:
>>>>>>>>> Can you give here the parameters you set for app_lua module?
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Daniel
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 09.01.18 22:27, jenus(a)cyberchaos.nl wrote:
>>>>>>>>>> Daniel,
>>>>>>>>>>
>>>>>>>>>> Here is the backtrace.
>>>>>>>>>>
>>>>>>>>>> (gdb) backtrace
>>>>>>>>>> #0 0x00007fe41140e067 in __GI_raise (sig=sig@entry=6) at
>>>>>>>>>> ../nptl/sysdeps/unix/sysv/linux/raise.c:56
>>>>>>>>>> #1 0x00007fe41140f448 in __GI_abort () at abort.c:89
>>>>>>>>>> #2 0x00007fe41144c1b4 in __libc_message
>>>>>>>>>> (do_abort=do_abort@entry=1,
>>>>>>>>>> fmt=fmt@entry=0x7fe411541210 "*** Error in `%s': %s: 0x%s
>>>>>>>>>> ***\n") at
>>>>>>>>>> ../sysdeps/posix/libc_fatal.c:175
>>>>>>>>>> #3 0x00007fe41145198e in malloc_printerr (action=1,
>>>>>>>>>> str=0x7fe41153d42a "realloc(): invalid next size",
>>>>>>>>>> ptr=<optimized
>>>>>>>>>> out>) at malloc.c:4996
>>>>>>>>>> #4 0x00007fe41145476b in _int_realloc
>>>>>>>>>> (av=av@entry=0x7fe41177e620
>>>>>>>>>> <main_arena>, oldp=oldp@entry=0x21789c0,
>>>>>>>>>> oldsize=oldsize@entry=736,
>>>>>>>>>> nb=nb@entry=1552) at malloc.c:4234
>>>>>>>>>> #5 0x00007fe411455769 in __GI___libc_realloc (oldmem=0x21789d0,
>>>>>>>>>> bytes=1536) at malloc.c:3029
>>>>>>>>>> #6 0x00007fe40c460cae in ?? () from
>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>> #7 0x00007fe40c45c9aa in ?? () from
>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>> #8 0x00007fe40c46166d in ?? () from
>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>> #9 0x00007fe40c4640b3 in ?? () from
>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>> #10 0x00007fe40c45ccd1 in ?? () from
>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>> #11 0x00007fe40c45c92e in ?? () from
>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>> #12 0x00007fe40c45d7bb in ?? () from
>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>> #13 0x00007fe40c45d8c2 in ?? () from
>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>> #14 0x00007fe40c459528 in lua_load () from
>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>> #15 0x00007fe40c469d8c in luaL_loadbuffer () from
>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>> #16 0x00007fe40c6fe7d7 in lua_sr_init_probe () at
>>>>>>>>>> app_lua_api.c:228
>>>>>>>>>> #17 0x00007fe40c68a97d in child_init (rank=-127) at
>>>>>>>>>> app_lua_mod.c:197
>>>>>>>>>> #18 0x0000000000549944 in init_mod_child (m=0x7fe410c3b998,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:938
>>>>>>>>>> #19 0x0000000000549662 in init_mod_child (m=0x7fe410c3bec0,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #20 0x0000000000549662 in init_mod_child (m=0x7fe410c3c708,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #21 0x0000000000549662 in init_mod_child (m=0x7fe410c3cd78,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #22 0x0000000000549662 in init_mod_child (m=0x7fe410c3d360,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #23 0x0000000000549662 in init_mod_child (m=0x7fe410c3e1e8,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #24 0x0000000000549662 in init_mod_child (m=0x7fe410c3e938,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #25 0x0000000000549662 in init_mod_child (m=0x7fe410c3f4c8,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #26 0x0000000000549662 in init_mod_child (m=0x7fe410c3fca0,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #27 0x0000000000549662 in init_mod_child (m=0x7fe410c40118,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #28 0x0000000000549662 in init_mod_child (m=0x7fe410c40780,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #29 0x0000000000549662 in init_mod_child (m=0x7fe410c422f8,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #30 0x0000000000549662 in init_mod_child (m=0x7fe410c42968,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #31 0x0000000000549662 in init_mod_child (m=0x7fe410c42e50,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #32 0x0000000000549662 in init_mod_child (m=0x7fe410c43b48,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #33 0x0000000000549662 in init_mod_child (m=0x7fe410c43f20,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #34 0x0000000000549662 in init_mod_child (m=0x7fe410c446e0,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #35 0x0000000000549662 in init_mod_child (m=0x7fe410c44bd0,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #36 0x0000000000549662 in init_mod_child (m=0x7fe410c44ec8,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #37 0x0000000000549662 in init_mod_child (m=0x7fe410c45378,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #38 0x0000000000549662 in init_mod_child (m=0x7fe410c458f0,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #39 0x0000000000549662 in init_mod_child (m=0x7fe410c45e48,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #40 0x0000000000549662 in init_mod_child (m=0x7fe410c464e8,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #41 0x0000000000549662 in init_mod_child (m=0x7fe410c47278,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #42 0x0000000000549662 in init_mod_child (m=0x7fe410c476f0,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #43 0x0000000000549662 in init_mod_child (m=0x7fe410c47b68,
>>>>>>>>>> rank=-127)
>>>>>>>>>> at core/sr_module.c:935
>>>>>>>>>> #44 0x0000000000549c72 in init_child (rank=-127) at
>>>>>>>>>> core/sr_module.c:964
>>>>>>>>>> #45 0x0000000000422c1c in main_loop () at main.c:1576
>>>>>>>>>> #46 0x000000000042aab9 in main (argc=3, argv=0x7ffe17f0e788) at
>>>>>>>>>> main.c:2646
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Jan
>>>>>>>>>>
>>>>>>>>>> Daniel-Constantin Mierla schreef op 2018-01-09 22:21:
>>>>>>>>>>> Can you install the debug symbols for kamailio as well? There
>>>>>>>>>>> should be
>>>>>>>>>>> a kamailio-dbg package or so ...
>>>>>>>>>>>
>>>>>>>>>>> Then take again the backtrace, it should provide more
>>>>>>>>>>> information --
>>>>>>>>>>> file and line for each frame, ...
>>>>>>>>>>>
>>>>>>>>>>> Cheers,
>>>>>>>>>>> Daniel
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 09.01.18 21:21, jenus(a)cyberchaos.nl wrote:
>>>>>>>>>>>> Daniel,
>>>>>>>>>>>>
>>>>>>>>>>>> Just upgraded to 5.1 but kamailio now generates a core
>>>>>>>>>>>> file. I'm
>>>>>>>>>>>> running debian 8.10. It seems to crash on liblua5.1.so.0 :
>>>>>>>>>>>>
>>>>>>>>>>>> Using host libthread_db library
>>>>>>>>>>>> "/lib/x86_64-linux-gnu/libthread_db.so.1".
>>>>>>>>>>>> Core was generated by `kamailio -m 1500'.
>>>>>>>>>>>> Program terminated with signal SIGSEGV, Segmentation fault.
>>>>>>>>>>>> #0 0x00007f30c17f25a0 in ?? () from
>>>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>>>> (gdb) backtrace
>>>>>>>>>>>> #0 0x00007f30c17f25a0 in ?? () from
>>>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>>>> #1 0x00007f30c17f3b62 in ?? () from
>>>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>>>> #2 0x00007f30c17e6040 in lua_settable () from
>>>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>>>> #3 0x00007f30c17f6412 in luaL_findtable () from
>>>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>>>> #4 0x00007f30c17f6581 in luaL_openlib () from
>>>>>>>>>>>> /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
>>>>>>>>>>>> #5 0x00007f30c1a40870 in lua_sr_kemi_register_libs () from
>>>>>>>>>>>> /usr/lib/x86_64-linux-gnu/kamailio/modules/app_lua.so
>>>>>>>>>>>> #6 0x00007f30c1a8b107 in lua_sr_openlibs () from
>>>>>>>>>>>> /usr/lib/x86_64-linux-gnu/kamailio/modules/app_lua.so
>>>>>>>>>>>> #7 0x00007f30c1a8b7c1 in lua_sr_init_probe () from
>>>>>>>>>>>> /usr/lib/x86_64-linux-gnu/kamailio/modules/app_lua.so
>>>>>>>>>>>> #8 0x00007f30c1a1797d in ?? () from
>>>>>>>>>>>> /usr/lib/x86_64-linux-gnu/kamailio/modules/app_lua.so
>>>>>>>>>>>> #9 0x0000000000549944 in ?? ()
>>>>>>>>>>>> #10 0x0000000000549c72 in init_child ()
>>>>>>>>>>>> #11 0x0000000000421498 in main_loop ()
>>>>>>>>>>>> #12 0x000000000042aab9 in main ()
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>
>>>>>>>>>>>> Jan
>>>>>>>>>>>>
>>>>>>>>>>>> jenus(a)cyberchaos.nl schreef op 2018-01-09 20:53:
>>>>>>>>>>>>> Daniel,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Currently running kamailio 5.0.5.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Jan
>>>>>>>>>>>>>
>>>>>>>>>>>>> Daniel-Constantin Mierla schreef op 2018-01-09 13:27:
>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> what version of kamailio are you using?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>> Daniel
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 07.01.18 22:14, jenus(a)cyberchaos.nl wrote:
>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I'm doing some tests with a lua script and app_lua. I'm
>>>>>>>>>>>>>>> using
>>>>>>>>>>>>>>> sr.sqlops.query to insert records into the database but
>>>>>>>>>>>>>>> would
>>>>>>>>>>>>>>> like to
>>>>>>>>>>>>>>> test the exit status of the sql query. In kamailio i can
>>>>>>>>>>>>>>> do:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> if(!sql_query("kamailio", "INSERT INTO subscriber ..."))
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Is there some kind of exit status for the lua function
>>>>>>>>>>>>>>> sr.sqlops.query
>>>>>>>>>>>>>>> in order to do the same check in lua? In other words, is it
>>>>>>>>>>>>>>> possible
>>>>>>>>>>>>>>> to check if a sql query was successful in lua? The result
>>>>>>>>>>>>>>> seems
>>>>>>>>>>>>>>> to be
>>>>>>>>>>>>>>> nill in all cases for a INSERT in lua using
>>>>>>>>>>>>>>> sr.sqlops.query.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Jan Hazenberg
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> Kamailio (SER) - Users Mailing List
>>>>>>>>>>>>>>> sr-users(a)lists.kamailio.org
>>>>>>>>>>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Kamailio (SER) - Users Mailing List
>>>>>>>>>>>>> sr-users(a)lists.kamailio.org
>>>>>>>>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users(a)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
Hi Daniel,
I will be at Fosdem and I'd like to join the dinner.
See you there.
Federico
On 15 Jan 2018 09:29, "Daniel-Constantin Mierla" <miconda(a)gmail.com> wrote:
Hello,
in the past 10 years or so, many of us met at Fosdem conference in
Brussels (the edition this year happens during February 3-4) and had a
dinner on Saturday evening. I know already couple of people from
community that will go there, so the question is if there is any
interest to organize again such event.
If yes, it will be again on Saturday, on the evening of the 3rd of February.
At the past editions, it turned into an all-RTC dinner, but we can
consider to have it alone again (eventually with few other invited
friends), if there are too many or people want a smaller meeting.
Reply this week if you want to join, so we can estimate how many seats
we need and have enough time to find a place that can accommodate us.
More about Fosdem can be found at:
- https://fosdem.org
There is a devroom on Sunday with topics covering real time
communications. I will have a presentation there.
Cheers,
Daniel
--
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
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
The situation is an INVITE sent and forked to multiple branches to send to multiple devices. After forwarding the AP goes down before either the 180 or final response from any branch. In the case with multiple branches going stateless wouldn't work because the caller would potentially receive multiple final responses? And sending cancels to the other branches after a final response wouldn't work since we wouldn't know about them.
I was envisioning something like what you said, serializing the transaction info and saving it (and updating it on branch replies) and then having other hosts able to read it if they end up getting a message for which they werent in the original route.
Hi,
I have a problem with the blind transfer via WebSocket,
debugging from the browser we see that in some cases when the REFER is
done and the sip message "202 Accepted" arrives,
the message "180 Ringing" arrives first and then the "100 Trying"
and the transfer goes in error with "500 JsSIP Internal Error"
I have an architecture with Kamailio in frontend and asterisk in backend
on the same network, the sip dialogue between FE and BE is in SIP / UDP.
The WebRTC client connects to WebSocket at Kamailio's public address.
We have verified that the sip messages exchanged between kamailio and
asterisk are always correct.
Kamailio Ver. 4.4.4
Asterisk Ver. 13.18.3
PJSIP Ver. 2.6
JSSIP Ver. 3.2.2
Thanks
Alessio
Hello all,
I am testing VoLTE between Kamailio and several smart phones. The phones
requested re-synchronization from time to time. However, I found the one
phone could not re-syn while the other phones could. The main difference is
that this phone send "auts" with no "response", and other phone requested
re-sync with a "response". Here is the comparison of two typical
Authorization attribute:
1, no response:
Authorization:
Authentication Scheme: Digest
Nonce Value: "ruyNeVizArzCYHL7P8RARxEImZpylYAAzrS+UZA9LS4="
Username: "460000123456005(a)ims.mnc000.mcc460.3gppnetwork.org"
Authentication URI: "sip:ims.mnc000.mcc460.3gppnetwork.org"
Realm: "ims.mnc000.mcc460.3gppnetwork.org"
Algorithm: AKAv1-MD5,response=""
QOP: auth,cnonce="86340c0486340c24"
Nonce Count: 00000001,auts="UNjSbCZ9C8A7gHq2ngE="
2, no response:
Authorization:
Authentication Scheme: Digest
Username: "460000123456006(a)ims.mnc000.mcc460.3gppnetwork.org"
Realm: "ims.mnc000.mcc460.3gppnetwork.org"
Nonce Value: "XA2hWJsI0H1ElQORsxX9KjaGlvSLNIAAqUhXhX7iIgw="
Algorithm: AKAv1-MD5,uri="sip:ims.mnc000.mcc460.3gppnetwork.org"
Digest Authentication Response: "6ebd7700739d5e6d4f8d3c7009147fa3"
QOP: auth,nc=00000001,cnonce="dsf232sun603405704xyx"
Authentication Token: "F3k9aD3/Zd7ijAeKiWw="
I think the problem lies in module ims_auth. On line 784 of
kamailio/src/modules/ims_auth/authorize.c:
if (!get_nonce_response(msg, &username, realm, &nonce, &response16,
&qop, &qop_str, &nc, &cnonce, &uri, is_proxy_auth) ||
!nonce.len || !response16.len) {
LM_DBG("Nonce or response missing: nonce len [%i], response16
len[%i]\n", nonce.len, response16.len);
return AUTH_ERROR;
}
Basically the code skip re-sync request and return auth failure when
"response" is empty. So the IMS server doesn't update SQN with UE and it
responds 401 challenge with a old SQN. Re-synchronization can never succeed
then.
By deleting the existence cheek of response, re-sync passed on my setup。
if (!get_nonce_response(msg, &username, realm, &nonce, &response16,
&qop, &qop_str, &nc, &cnonce, &uri, is_proxy_auth) ||
!nonce.len ) {
I hope I didn't miss anything else and won't cause other problem.
Regards,
Wei-Jian Chen
Hi all.
This question has already been asked in the past:
https://lists.kamailio.org/pipermail/sr-users/2015-July/089083.html
But I don't see any answer if this is supported.
Can you tell me if it is possible to enable the IMS to talk to HSS using
Cx (diameter) over SCTP ?
In the source code (kamailio/src/modules/cdp/configparser.c) I can see
only these parameters for Peer node:
- FQDN
- Realm
- port
- src_addr
but there is no protocol parameter.
I tried with the example VM here:
https://www.kamailio.org/w/2016/02/kamailio-ims-getting-started-box/
I started all services and dumped the traffic with wireshark. The
transport is TCP.
This VM uses an older version of kamailio:
====================================================
kamailio -v
version: kamailio 4.3.4 (x86_64/linux) 583dc0
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS,
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC,
DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE,
USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 583dc0
compiled on 21:01:04 Dec 1 2015 with gcc 4.9.2
====================================================
So I installed the latest stable but it seems it also uses TCP.
Regards.
Is there any module in kamailio that enables proxies to handle transactions that weren’t created by that proxy? Anything which stores the transaction state in the database? Did a bit of looking but I didn’t see anything that looked like it did that and nothing in the FAQ.
Hi
I set my logging like this to rsyslog to write to local file
log_facility=LOG_LOCAL0
"local0.* -/var/log/kamailio.log" >> /etc/rsyslog.conf
The entries I have logging is quite detailed and can even be used to in place of acc info.
For each call it writes 50 lines. Would this be considered to many writes and impact performance?
Hi,
I’m new in Kamailio and Asterisk world (only 1 week), I’ve installed Kamailio for the 1st time with Siremis GUI.
I’m having a problem when adding subscriber on Kamailio, it gives me an error:
From Siremis GUI:
[2018-01-15 09:54:34 (GMT)] An exception occurred while executing this script:
Error message: #0, Error in query:: SELECT T0.id, T0.username, T0.domain, T0.contact, T0.received, T0.path, T0.expires, T0.q, T0.callid, T0.cseq, T0.last_modified, T0.flags, T0.cflags, T0.user_agent, T0.socket, T0.methods, T0.ruid, T0.instance, T0.reg_id, T0.server_id, T0.connection_id, T0.keepalive, T0.partition FROM `location` T0 LIMIT 10. SQLSTATE[42S22]: Column not found: 1054 Unknown column 'T0.server_id' in 'field list'
Script name and line number of error: /var/www/html/openbiz/bin/data/BizDataObj_Lite.php:447
function: _run_search ( Array(2) ) @ /var/www/html/openbiz/bin/data/BizDataObj_Lite.php 243
function: fetch ( ) @ /var/www/html/openbiz/bin/easy/EasyForm.php 690
function: fetchDataSet ( ) @ /var/www/html/openbiz/bin/easy/FormRenderer.php 69
function: renderSmarty ( Object(EasyForm), "/var/www/html/siremis/modules/ser/template/grid.tpl" ) @ /var/www/html/openbiz/bin/easy/FormRenderer.php 45
function: render ( Object(EasyForm) ) @ /var/www/html/openbiz/bin/easy/EasyForm.php 1648
function: renderHTML ( ) @ /var/www/html/openbiz/bin/easy/EasyForm.php 1538
function: render ( ) @ /var/www/html/openbiz/bin/easy/ViewRenderer.php 83
function: renderSmarty ( Object(EasyView), "/var/www/html/siremis/modules/ser/template/view_tabs.tpl" ) @ /var/www/html/openbiz/bin/easy/ViewRenderer.php 40
function: render ( Object(EasyView) ) @ /var/www/html/openbiz/bin/easy/EasyView.php 274
function: _render ( ) @ /var/www/html/openbiz/bin/easy/EasyView.php 237
function: render ( ) @ /var/www/html/openbiz/bin/BizController.php 221
function: renderView ( "ser.view.SubscriberListView", "", "", Null, "" ) @ /var/www/html/openbiz/bin/BizController.php 107
function: dispatchRequest ( ) @ /var/www/html/openbiz/bin/BizController.php 32
function: include_once ( "/var/www/html/openbiz/bin/BizController.php" ) @ /var/www/html/siremis/bin/controller.php 6
function: include ( "/var/www/html/siremis/bin/controller.php" ) @ /var/www/html/siremis/bin/_forward.php 102
function: include ( "/var/www/html/siremis/bin/_forward.php" ) @ /var/www/html/siremis/index.php 3
and via kamcli commands
[root@localhost html]# kamctl add test1(a)192.168.1.204 test
which: no gdb in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/)
MySQL password for user 'kamailio@localhost':
ERROR 1045 (28000): Access denied for user 'kamailio'@'localhost' (using password: YES)
ERROR: introducing the new user 'test1(a)192.168.1.204' to the database failed
The password Is correct I can add Domain but not an subscriber or Location list.
How can I overcome this issue?
Also can you support on how I can do authentication on Kamailio using Asterisk database?
Thanks
Alex