Hello,
We're testing kamailio 4.3.4 with two kamailio's communicating with each other. One of them is a gateway with rtpengine at the carrier side, the other is a basic sip router.
When calling a destination and cancelling the INVITE a 487 is received from the carrier and directly ACK'd by the first kamailio and in turn is forwarded to the second.
But the 487 response received by the 2nd kamailio doesn't have a Via header which results in kamailio printing the error: receive_msg(): no via found in reply.
Any ideas why the forwarded 487 doesn't contain a Via header and how to fix this?
Note: IP's are changed.
Carrier: 10.0.0.1
Kamailio 1: 10.14.0.1
Kamailio 2: 10.14.0.2
U 10.0.0.1:5060 -> 10.14.0.1:5060
SIP/2.0 487 Request Cancelled.
Via: SIP/2.0/UDP 10.14.0.1;branch=z9hG4bK8e28.642c68037d059634308d4be8fe3f0cdc.0.
From: "+31612345678" <sip:+31612345678@10.14.0.3:5060>;tag=109ac722.
To: <sip:003112345678@10.14.0.3:5060>;tag=sbcsipuas_1_C22196_20160314080307791_b59sb10.
Call-ID: 78100MjY3OGExZmMyODU2MzAyMzM5ODA3MmNhMDdlMzg0MzU.
Contact: <sip:10.0.0.1:5060>.
CSeq: 2 INVITE.
Server: sbc_5.
Content-Length: 0.
.
#
U 10.14.0.1:5060 -> 10.0.0.1:5060
ACK sip:003112345678@10.0.0.1:5060 SIP/2.0.
Via: SIP/2.0/UDP 10.14.0.1;branch=z9hG4bK8e28.642c68037d059634308d4be8fe3f0cdc.0.
Max-Forwards: 67.
To: <sip:003112345678@10.14.0.3:5060>;tag=sbcsipuas_1_C22196_20160314080307791_b59sb10.
From: "+31612345678"<sip:+31612345678@10.14.0.3:5060>;tag=109ac722.
Call-ID: 78100MjY3OGExZmMyODU2MzAyMzM5ODA3MmNhMDdlMzg0MzU.
CSeq: 2 ACK.
Content-Length: 0.
.
#
U 10.14.0.1:5060 -> 10.14.0.2:5060
SIP/2.0 487 Request Cancelled.
From: "+31612345678" <sip:+31612345678@10.14.0.3:5060>;tag=109ac722.
To: <sip:003112345678@10.14.0.3:5060>;tag=sbcsipuas_1_C22196_20160314080307791_b59sb10.
Call-ID: 78100MjY3OGExZmMyODU2MzAyMzM5ODA3MmNhMDdlMzg0MzU.
Contact: <sip:10.0.0.1:5060>.
CSeq: 2 INVITE.
Server: sbc_5.
Content-Length: 0.
Hello,
I plan to add some rate limiting in the Kamailio. I'm already using Pike to rate limit based on the source IP.
But in this case, i want to do the rate limiting per customer(regardless of the source IP), I can identify the customer based on a custom
header in the INVITE, idea is to limit the customer to 'x' number of requests per second.
Nitesh
Hi,
I have two SIP servers, *A* and *B*, connected each other though a OPENVPN
tunnel. The server *B* needs to t_relay() every SIP message containing the
method MESSAGE to the server *A* but these messages never reach destination.
I have tested the tunnel connectivity and works fine. I wrote a Perl script
(located in *B*) that sends SIP MESSAGES to Kamailio (located in *A*) trying
to figure out what is happening but these messages are received by *A* and
processed correctly but when *B* does the same from Kamailio, it is never
received.
Here is the route part of kamailio.cfg in *B*:
Observation: ($rU == "1004") result is *true*
*
if(is_method("MESSAGE"))
{
if($rU == "1004")
{
xlog("L_INFO","En 1004");
rewritehost("10.8.0.1");
if (!t_relay())
xlog("L_INFO","MIO Error en t_relay");
t_reply("200", "Ok");
xlog("L_INFO","MIO despues rewrite");
exit;
}
.....*
The perl script that WORKS:
*$msg = 'MESSAGE sip:1004@192.168.1.2:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.2
From: "2002" <sip:2002@192.168.1.2 <sip%3A2002(a)192.168.1.2>>;tag=1837944796
To: <sip:1004@192.168.1.2 <sip%3A1004(a)192.168.1.2>>
Call-ID: 19722852989(a)192.168.1.2
CSeq: 15773 MESSAGE
Contact: <sip:2002@**PublicIP-protected**:5060>
Max-Forwards: 29
User-Agent: DBL
Content-Type: text/plain
Content-Length: 34
+595981[protected]
hello from kamailio
';
use IO::Socket;
my $sock = IO::Socket::INET->new( Proto=>'udp',
PeerHost=>'192.168.2.102',
PeerPort=>'5060');
print "Sending msg $msg\n";
$sock->send($msg) or die "error sending $!\n";
*Please help!
Thanks in advance.
Carlos.
Hi
I am using the topos module when bridging 2 networks with Kamailio.
The INVITE/200OK part of the transaction is working fine (i.e. the Contact
on both sides matches correctly the corresponding network).
However when the ACK is sent into Kamailio, instead of realising the next
hop is myself and skipping it, Kamailio is sending the ACK directly to
itself as a packet, causing the call setup to break.
Does anyone have any advice for this situation?
Hi,
About 3 weeks ago i upgraded one of my production server with latest stable
kamailio version 4.2.1-fad00a. Now i am getting a lot of complaints about
missing CDR events in ACC table. I observe following problems,
1. There are only BYE records in acc table, no record for INVITE or ACK.
2. In kamailio logs when ACK is received against 200 OK response for
INVITE, i see following errors,
--
ERROR: <core> [parser/parse_from.c:113]: parse_from_uri(): failed to parse
>From uri
ERROR: pv [pv_core.c:434]: pv_get_xto_attr(): cannot parse From URI
NOTICE: <script>: [udp:<null>@1.0.0.127:5060]: Call from 'you(a)kamailio.org'
to 'you(a)kamailio.org' has been hanged up by '<null>' at '1419364717.255484'
--
Of course all these errors are bogus, I have checked all headers in ACK
(not just FROM header), they all seem perfectly fine and valid.
3. Then the dialog times out,
--
WARNING: dialog [dlg_handlers.c:1440]: dlg_ontimeout(): timeout for dlg
with CallID '6D8BD23CAC65AE3C1DE1D0B531F87B8CFEAA9CB9' and tags
'1D3ECD34F5731AB845BA3064AC95BB2D'
'7f55e81e0630-100007f-13c4-6009-2440a4-5fa31570-2440a4'
--
4. Any further sequential requests complain about "unable to find dialog",
e.g.
--
NOTICE: <script>: Sequencial 'BYE' request received from caller
ERROR: uac [replace.c:591]: restore_uri(): new URI [] shorter than old URI [
sip:00xxxxxxxxxx@sip.domain.com]
WARNING: dialog [dlg_handlers.c:1174]: dlg_onroute(): unable to find dialog
for BYE with route param '5ae1.d595' [7845:22877]
--
5. However the acc record for BYE is written to db and log file,
--
NOTICE: acc [acc.c:318]: acc_log_request(): ACC: transaction answered:
timestamp=1419364760;method=BYE;from_tag=7f55e81e0630-100007f-13c4-6009-2440a4-5fa31570-2440a4;to_tag=1D3ECD34F5731AB845BA3064AC95BB2D;call_id=6D8BD23CAC65AE3C1DE1D0B531F87B8CFEAA9CB9;code=200;reason=OK;src_user=00xxxxxxxxxx;src_domain=
sip.domain.com
;src_ip=xx.xx.xx.xx;dst_ouser=+1xxxxxxxxxx;dst_user=1xxxxxxxxxx;dst_domain=yy.yy.yy.yy
--
The same config was working fine with older version 4.2.0-97cab8. The
kamailio config i am using is pretty much standard,
--
#!define FLT_ACC 1
#!define FLT_ACCMISSED 2
#!define FLT_ACCFAILED 3
#!define FLT_DLG 4
...
modparam("acc", "early_media", 1)
modparam("acc", "report_ack", 1)
modparam("acc", "report_cancels", 1)
modparam("acc", "detect_direction", 1)
modparam("acc", "log_flag", FLT_ACC)
modparam("acc", "log_missed_flag", FLT_ACCMISSED)
modparam("acc", "failed_transaction_flag", FLT_ACCFAILED)
# log to db
modparam("acc", "db_flag", FLT_ACC)
modparam("acc", "db_missed_flag", FLT_ACCMISSED)
modparam("acc", "db_url", "DBURL")
...
request_route {
# per request initial checks
route(REQINIT);
# NAT detection
route(NATDETECT);
# handle requests within SIP dialogs
route(WITHINDLG);
# CANCEL processing
if (is_method("CANCEL")) {
if (t_check_trans()) {
t_relay();
};
exit;
};
#### only initial requests (no To tag) ####
t_check_trans();
....
# account only INVITEs
if (is_method("INVITE")) {
setflag(FLT_DLG); # create dialog
setflag(FLT_ACC); # do accounting
setflag(FLT_ACCFAILED); # ... even if the transaction fails
$avp(dlg_timeout) = 60;
dlg_manage();
....
}
--
Any ideas why its happening? Since it is 3 weeks old so may be problem has
already been spotted and fixed by someone else. Otherwise let me know how
can i provide more info to help fix this issue.
Thank you.
Hi
I am novice to kamailio , I have installed kamailio-4.2.0 and SIREMIS. I
have add and registered two IP phones with kamailio these phone able to
call each other.
How can i make outbound call with that I am using a asterisk server as PSTN
Gateway. i am not famalier with kamailio script.
Regards
Sharad Tyagi
SparkTG info Pvt Ltd
Hello,
I got two coredumps:
(gdb) bt full
#0 0x000000000061ab8e in qm_insert_free (qm=0x7f0f7fca7000,
frag=0x7f0f8f6f6268) at mem/q_malloc.c:180
f = 0x7f0f8f6c45e8
prev = 0x0
hash = 5
And
(gdb) bt full
#0 0x000000000061b935 in qm_detach_free (qm=0x7f0f7fca7000,
frag=0x7f0f8f6d70b8) at mem/q_malloc.c:271
prev = 0x7f0f7fca7248
next = 0x7f0f8f6c45e8
What are necessary to diagnose how this issue occurs? Thank you for your
support.
Regards,
Igor.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Hello,
I recently started testing topology hiding module on Kamailio and
encountered a problem where B party hangs up, Kamailio can't identify
the ongoing transaction to which the BYE should be related to and
instead of tearing the call down Kamailio just sends back "481 Call
leg/Transaction does not exist" to B party.
On Kamailio config I have only enabled the topoh.so -module with default
options and configured this to enable masking:
modparam("topoh", "mask_callid", 1)
Here is what the INVITE to B party looks like and the BYE message coming
from the B party:
http://pastebin.com/raw/f63zUmid
When debugging on Kamailio end i get:
http://pastebin.com/raw/ZefGAz30
Is this a Kamailio issue or a softphone issue on B party end?
Cheers,
--Olli
Hi All.
Today I have problem with connection from 1 of the clients.
Their PBX sends KEEP-ALIVE after some time after REGISTER.
I have next error in kamailio log
Feb 28 14:26:19 sbc2 /usr/sbin/kamailio[3657]: ERROR: <core>
[tcp_read.c:1354]: tcp_read_req(): bad request, state=7, error=4
buf:#012KEEP-ALIVE sip:1.2.3.4 SIP/2.0#015#012#015#012#012parsed
:#012KEEP-ALIVE sip:1.2.3.4 SIP/2.0
After which my kamailio closes TCP session....
This connection is done with sip TLS.
Thank you in advance.
--
Best regards,
Sergey Basov e-mail: sergey.v.basov(a)gmail.com
Hello,
Two times in the last week, Kamailio reports MySQL errors like these:
/usr/local/sbin/kamailio[19225]: ERROR: db_mysql [km_dbase.c:126]:
db_mysql_submit_query(): driver error on query: Can't connect to MySQL
server on '192.168.2.6' (4) (2003)
/usr/local/sbin/kamailio[19225]: ERROR: <core> [db_query.c:235]:
db_do_insert_cmd(): error while submitting query
/usr/local/sbin/kamailio[19225]: ERROR: acc [acc.c:504]: acc_db_request():
failed to insert into database
These errors are repeated many times and cause Kamailio to hang and don't
reply to SIP requests. A reboot of Kamailio solves the issue.
Anyone has already had this issue and had solved it?
Regards,
Igor.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus