Hello,
we will do some maintenance work on deb.kamailio.org server these days
in order to move to a better infrastructure, so it may not be available
for a while -- the DNS needs to be updated as well, this also can affect
you if your router/provider does caching.
Once we finish with the migration, we will send updates.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference -- www.kamailioworld.com
Kamailio Advanced Training, Nov 12-14, 2018, in Berlin -- www.asipto.com
Alex,
Thank you for the feedback, just the info I needed.
Failover is working now just as it should.
Now I just have to tweak the failover timing.
Rgds,
Gertjan Wolzak
Greetings list,
I am getting hard time to make kamailio perfectly handle cancels request.
I am using http_async_client and MSILO to handle push notifications.
Case 1. When B party record exists in location but it is off-line and I
send cancel *instantly* from Party A while kamailio is sending push to wake
B Party up.
modparam("tm", "failure_reply_mode", 3)
modparam("tm", "cancel_b_method", 1)
modparam("tm", "fr_timer", 30000)
modparam("tm", "fr_inv_timer", 120000)
You can see in below picture 407 being generated after some time.
[image: default.PNG]
What could be the reason of this problem?
any pointer is much appreciated.
Br, Aqs.
Hi Kam community,
Facing an urgent issue here and not sure how to troubleshoot it further.
So our engineers been getting reports of unknown SIP timeouts and they
suspect it's something on the Kamailio side. I've logged every transaction
from receiving the message to done relaying it as shown below:
Sep 24 18:38:13 sjoprodfnsg01 /usr/local/sbin/kamailio[42608]: INFO:
<script>: [1589Fz-ses1-41d9a88aR70125425(a)xxx.xxx.xxx.xxx][4534123][CSeq 7]
NG-FuzeMedia-Server/42ae58c/mediahub Relaying [UPDATE] from
(xxx.xxx.xxx.xxx ) to ( xxx.xxx.xxx.xxx ) via (tls)
Sep 24 18:38:13 sjoprodfnsg01 /usr/local/sbin/kamailio[42608]: INFO:
<script>: [1589Fz-ses1-41d9a88aR70125425@ xxx.xxx.xxx.xxx ][4534123][CSeq
7] NG-FuzeMedia-Server/42ae58c/mediahub Done relay [UPDATE] from
(xxx.xxx.xxx.xxx ) to ( xxx.xxx.xxx.xxx ) via (tls)
When I pulled the 443 SIP trace from my tcpdump session, it shows the
application data left the machine at 18:44 as shown here:
[image: image.png]
Note: This packet is encrypted and can't see the actual SIP message.
This matches what was received on the client logs:
2018-09-24T18:38:44.032Z [40927] [INF] fuze.sip SipParser.cpp:549
LogSipMessage: xxx.xxx.xxx.xxx:443 - 4292B (local time 09/24 11:38:44)
--------------------
RECEIVE:
UPDATE sips:Luke_Surazski@ xxx.xxx.xxx.xxx:50795;id=37262838;inst=52241254
SIP/2.0
Via: SIP/2.0/TLS
xxx.xxx.xxx.xxx:443;branch=z9hG4bK15f.5052c318e1766a0a9405f10708f43188.0;i=acbb7
Via: SIP/2.0/TCP xxx.xxx.xxx.xxx
:38342;rport=38342;branch=z9hG4bK-55f913-t9-I214262897
What would cause such delays?
I'm running Kamailio 4.1.5
Thanks.
--
Andy Chen
Sr. Telephony Lead Engineer
415 516 5535 (M)
achen@ <achen(a)thinkingphones.com>fuze.com
--
*Confidentiality Notice: The information contained in this e-mail and any
attachments may be confidential. If you are not an intended recipient, you
are hereby notified that any dissemination, distribution or copying of this
e-mail is strictly prohibited. If you have received this e-mail in error,
please notify the sender and permanently delete the e-mail and any
attachments immediately. You should not retain, copy or use this e-mail or
any attachment for any purpose, nor disclose all or any part of the
contents to any other person. Thank you.*
Hi,
I’m wondering how to use subst_hf() properly.
I’m trying to debug a broken flow by manually rewriting the contact header from
Contact: <sip:b73c6f29-0101-4802-afcd-efb63f1e6d8f@10.10.10.12:5090;transport=udp>
to
Contact: <sip:2018092417381900003@81.x.x.x>
by using
$var(ctct) = "<sip:2018092417381900003@81.x.x.x>";
subst_hf("Contact", “/\<.+\>/$var(ctct)\r\n/", "a”);
but the result is
Contact: <sip:2018092417381900003@81.x.x.x>
sip:b73c6f29-0101-4802-afcd-efb63f1e6d8f@10.10.10.12:5090;transport=udp
Testing the regex with an external tool appears to match all of the original header, so I’m wondering why subst_hf doesn’t appear to rewrite the entire header.
Is there something I’m doing wrong?
TIA,
Ben
Hello guys,
I'm following this guide:
https://kb.asipto.com/asterisk:realtime:kamailio-4.0.x-asterisk-11.3.0-astdb
And I have the following schema:
Phone A -----> Kamailio -----> Asterisk -----> Phone B
(10.0.8.249) (10.0.6.123) (10.0.3.144) (10.0.13.23)
I think the flow it is like (because when UAC register to Asterisk, the
contact points to Kamailio IP):
1. Phone A --> Kamailio --> Asterisk
2. Asterisk --> Kamailio --> Phone B
In attachment is the pcap of the call, kamailio config.
The problem is that I never receive ACK after 200 OK and call drops after
30 seconds?
Kamailio version 5.1 and Asterisk version 15.1
Phones are grandstreams and also tested with microsip soft client and same
results... Like "Phone A" never sends ACK back
I tried different approaches to change contact header in 200 OK, because
is Asterisk IP. Disable NAT handling. Different "nat_uac_test" flags, but
still without success :(
Also tried with this NAT detection and manage routes (again without any
success) - source
https://github.com/sipwise/kamailio/blob/master/etc/kamailio.cfg
# 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 and signaling updates for NAT traversal
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;
if(nat_uac_test("8")) {
rtpproxy_manage("co");
} else {
rtpproxy_manage("cor");
}
if (is_request()) {
if (!has_totag()) {
if(t_is_branch_route()) {
add_rr_param(";nat=yes");
}
}
}
if (is_reply()) {
if(isbflagset(FLB_NATB)) {
if(is_first_hop())
set_contact_alias();
}
}
#!endif
return;
}
Thanks in advance
Denislav Raychev Tsonev | Integration and Infrastructure Engineer |
Musala Soft JSC
www.musala.com | t: +359 2 969 58 21 | m: +359 878 270 965 | f:
+359 2 969 58 22
World Trade Center, 36 Dragan Tsankov blvd., Sofia 1057, Bulgaria
Hello,
I'm trying to replicate active dialogs using the DMQ module. I see the
dialogs on the other nodes but it generates a error message in the logs
on all the nodes:
Sep 27 10:17:31 sip04 /usr/sbin/kamailio[27367]: CRITICAL: dialog
[dlg_timer.c:130]: insert_dlg_timer(): Trying to insert a bogus dlg
tl=0x7efdca1bebf8 tl->next=0x7efdca14cb80 tl->prev=0x7efdca14cb80
Sep 27 10:17:31 sip04 /usr/sbin/kamailio[27367]: CRITICAL: dialog
[dlg_dmq.c:309]: dlg_dmq_handle_msg(): Unable to insert dlg timer
0x7efdca1beb98 [2643:3725]
Even with the timeout_avp option disabled i still see the error
messages. I tested this on kamailio 5.0.3 and 5.1.3 with the same
results.
With debug enabled i see the correct data is replicated to the other
nodes:
dlg_dmq_replicate_action(): sending serialized data
{"action":2,"h_entry":1328,"h_id":409,"state":4,"start_ts":1538036606,"lifetime":7200,"tag1":"1635359980","tag2":"as2d80799c","cseq1":"21","cseq2":"0","route_set1":"","route_set2":"","contact1":"sip:sipuser@10.10.10.10:1057;alias=10.10.10.10~1055~1","contact2":"sip:+31101234567@10.10.10.10:5060"}
"lifetime":7200 is in the serialized data, and when i check on the other
node with "kamcmd dlg.list" i see that the lifetime data is not updated.
Thanks,
Jan
I'm building a setup with FreeSWITCH and Kamailio 5.2 but I'm having troubles in handling the registrations for multiple domains.
So far I have in my config these related settings:
# Disable database completely
modparam("usrloc", "db_mode", 0)
# Take domain into account when saving
modparam("usrloc", "use_domain", 1)
# Preload location table
modparam("usrloc", "preload", "location")
I'm using the app_python module; when performing the registrar save like this:
KSR.registrar.save(KSR.pv.get('$fd'), 1)
It fails, the debug shows that it cannot find the domain that the SIP user has here.
When I use:
KSR.registrar.save('location', 1)
The phone registers just fine; however I'm bothered by the fact that the documentation states that you should specify the domain as a parameter. Is it OK if everything is in one 'location' domain? How can I let Kamailio know what domains exist (where does Kamailio get this information from)? We have a unique domain for every customer, like g123.ctx.ourcompany.tld.
Kind regards
Maarten Ureel
Hi All,
I have a very basic question. Is there any way to add new rtpproxy instance
without restarting Kamailio?
As per my understanding, we can reload the dispatcher table when Kamailio
server is running with kamctl dispatcher reload
but do we have any such for rtpproxy list also from db when rtpproxy table
?
Below is my rtpproxy related config, load from DB ,
#Once RTPProxy was found unreachable and marked as disabled,
#the rtpproxy module will not attempt to establish communication to
RTPProxy for rtpproxy_disable_tout seconds.
modparam("rtpproxy", "rtpproxy_disable_tout", 120)
#only for local host.
modparam("rtpproxy", "timeout_socket", "xmlrpc:http://127.0.0.1:8000/RPC2")
modparam("rtpproxy", "db_url", "mysql://kamailio:xxxxxxxx@10.xx.xx.xx
/kamailio")
modparam("rtpproxy", "table_name", "rtpproxy")
#enable marker for sdp modification by rtpproxy
modparam("rtpproxy", "nortpproxy_str", "a=sdpmangled:yes\r\n")
my current instance :
./kamcmd rtpproxy.list
{
setid: 0
url: udp:xxx.xx.xxx.xxx:7722
index: 2
disabled: 0
weight: 1
recheck: 0
}
Db
+----+-------+--------------------------+-------+--------+-------------+
| id | setid | url | flags | weight | description |
+----+-------+--------------------------+-------+--------+-------------+
| 1 | 0 | udp:XXX.XXX.XXX.XXX:7722 | 0 | 1 | |
+----+-------+--------------------------+-------+--------+-------------+
I already explored ./kamcmd rtpproxy.enable command , but it seems that
this command is useful for re-enabling or disabling existing rtpproxy
instance .
My purpose is to add new rtpproxy instance when Kamailio is running.
Thanks in advance. Any suggestion would very helpful.
Thanks & Regards
Pintu