In dmq_usrloc, a ucontact_t with FL_RPL flag will not send it's modify to
other kamailio.
For example, I have one edge and three kamailio(for register, name A B C).
And First SIP REGISTER send to edge, and edge forward to register kamailio
A, then kamailio B & C have FL_RPL flag, kamailio A do not have FL_RPL flag.
In this situation, If kamailio A is crash, the second SIP REGISTER(same
call-id and tag) forward to kamailio B, kamailio B will not replicate reg
info to C, because kamailio B have FL_RPL flag.
What is the suggestion in this case?
Thanks
Hi,
I see kamailio crashing on a call to possibly (mod.stats rpc call),
@function __strcmp_sse42
probably is referencing null, which is passed mname and pointer to mname.
backtrace:
thanks a lot.
--
View this message in context: http://sip-router.1086192.n5.nabble.com/mod-stats-rpc-call-crashes-tp158967…
Sent from the Users mailing list archive at Nabble.com.
In urecord.c:get_ucontact_by_instance, REGISTER without instance-id will
check cseq number(must be higher), REGISTER with instance-id will not
check cseq number.
what is the difference?why not check cseq in REGISTER with instance-id?
Thanks
Hello,
I am using a fresh install of centos 7, homer (using install script) and
kamailio (installed with homer script).
After modifying kamailio.cfg file with correct DB username, password and
Server IP, i am able to start and stop kamailio service.
Now my issue is that I have begun to duplicate SIP messages from my PBX,
but am receiving these and other errors from kamailio:
May 25 12:44:20 localhost.localdomain homer[14456]: ERROR: db_mysql
[km_dbase.c:128]: db_mysql_submit_query(): driver error on query: Data too
long for column 'msg' at row 1 (1406)
May 25 12:44:20 localhost.localdomain homer[14456]: ERROR: <core>
[db_query.c:235]: db_do_insert_cmd(): error while submitting query
and:
May 25 12:44:42 localhost.localdomain homer[14456]: ERROR: <core>
[receive.c:173]: receive_msg(): core parsing of SIP message failed (
10.3.3.24:51553/1)
May 25 12:45:12 localhost.localdomain homer[14460]: ERROR: <core>
[parser/parse_fline.c:257]: parse_first_line(): parse_first_line: bad
message (offset: 0)
Any suggestions?
Thanks!
Hello,
I'm running 4.3.5:1b0c0a and have run into two distinct, bizarre issues
with the dialog module that I am unable to explain.
In all cases, I am using $dlg_ctx(send_bye) = 1, and passing in a dialog
timeout of 7200 sec via AVP (timeout_avp modparam).
1) Local BYEs are sent after either ~60 or ~120 sec --
This happens on a very small number of answered calls for no apparent
reason. I have spent days poring through the traces trying to figure out
if there's anything eccentric about how the messages, but can't find
anything out of the ordinary except (a) 1 retransmission of 200 OK to
INVITE due to not receiving ACK fast enough due to end-to-end latency,
and (b) consequently, retransmission of ACK.
My understanding is that the dialog module does not prophylactically end
calls as a response to strange or improper messaging, but only (a) when
the dialog timeout is reached or (b) keepalive OPTION pings (if enabled)
fail.
Keepalive OPTIONS pings are not enabled in these scenarios, and are not
sent in the traces.
(2) Local BYEs sent in response to race conditions that result in
strange dialog state transitions --
There are some calls that look something like:
A. Caller INVITEs callee;
B. Callee sends progress;
C. Callee sends 200 OK answer and immediately sends BYE (e.g. 1 ms
later);
D. Kamailio receives these nearly simultaneously and forwards the BYE
first;
E. Caller sends 487 Request Terminated response (processing BYE as if it
were CANCEL);
F. Kamailio forwards 200 OK back to caller, who ignores it.
G. Callee retransmits 200 OK through Kamailio.
A few minutes later, Kamailio sends BYE in both directions even though
dialog should have been removed from state tracking long ago because of
the dispositive 487 reply.
...
In particular, I'm curious as to whether there have been any fixes to
deal with scenarios like #2 since 4.3.5. I wasn't able to spot any
obvious ones in the commit history for the module. I'm also at a
complete loss to explain #1.
I have traces for all of these scenarios, but would prefer to send
privately.
Many thanks!
-- Alex
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
Hello,
In a user-user based calling on mobile apps, when the call is connected and
the user moves from a Wifi to Mobile data (network change); the device
sends a Re-Invite with new contact information and subsequent messages go
to appropriate changed contact address.
But when the dialog is in say ringing state; and the caller moves from one
network to another; what would be an appropriate SIP method to trigger the
contact update. My problem is generating a Re-INVITE or an UPDATE before
the call is connected is very difficult.
What I tried is sending an in-dialog INFO message with new contact address;
which gets relayed to the called party and the response for INFO is also
properly received on the new contact address. But the subsequent response
of the INVITE like a 486 or 200 goes to the original contact only.
What would be the best way to update the contact address of a client if I'm
maintaining all the dialogs in kamailio.
Thanks,
- Jayesh
Hello
I am working with Kamaiio 5.0 on the dispatcher, with the default
dispatcher.cfg file (
https://github.com/kamailio/kamailio/blob/master/src/modules/dispatcher/doc…
)
I've added via mysql a gateway:
mysql> select * from dispatcher \G;
*************************** 1. row ***************************
id: 1
setid: 1
destination: 192.168.2.20
flags: 0
priority: 0
attrs:
description: local gw
1 row in set (0.00 sec)
Kamctl sees it correctly:
kamctl dispatcher show
dispatcher gateways
+----+-------+--------------+-------+----------+-------+-------------+
| id | setid | destination | flags | priority | attrs | description |
+----+-------+--------------+-------+----------+-------+-------------+
| 1 | 1 | 192.168.2.20 | 0 | 0 | | local gw |
+----+-------+--------------+-------+----------+-------+-------------+
Here is the piece of cfg:
if(ds_list_exist(1)) {
xlog("L_INFO", "----------- data in set 1");
} else {
xlog("L_INFO", "----------- NO data in set 1");
}
if(!ds_select_dst("1", "4")) {
send_reply("404", "No destination");
exit;
}
Yet, when an INVITE arrives, I get the following errors:
DEBUG: dispatcher [dispatcher.c:876]: w_ds_list_exist(): --- Looking for
dispatcher set 1
DEBUG: dispatcher [dispatch.c:1314]: ds_list_exist(): -- Looking for set 1
INFO: dispatcher [dispatch.c:1320]: ds_list_exist(): destination set [1]
not found
INFO: <script>: ----------- NO data in set 1
ERROR: dispatcher [dispatch.c:1679]: ds_select_dst_limit(): no destination
sets
same result wether I state the dataset as 1 or "1" - Mysql table column
type is int(11).
What could be wrong ?
Thanks for the help
J.
Hi
I have Kamailio 4.4 proxying a "normal" call and am finding that it is
crashing consistently when it tries to proxy the 200OK from a BYE request
when dealing with a certain endpoint.
The SIP looks very normal to me and I've managed to obtain a trace, full
debug logs and a core dump of the issue.
I can provide full copies of the files but the interesting parts from the
logfile are here: https://pastebin.com/QkwVMxJj
bt output from the coredump is here: https://pastebin.com/auNRaeaU
Can anyone please advise?
Hi everyone,
Right now I'm running kamailio and rtpproxy on a server behind nat with a public ip. I enabled the advertise address. If i registered two clients via my home wifi or 3g/4g network, then everything's fine. However, if i start the two clients via my office wifi, two clients can calll each other but with no audio. Obviously, the rtp media session has trouble traversal the office LAN nat. I have no idea what went wrong. Anyone can point me the right direction?
Sincerely,
jesse