Hi all,
I'm switching my development environment from Linux to Mac.
Is there any tutorial on how to setup Kamailio on this OS? It may be an
Unix flavor, but it's still quite different from Linux :).
Thanks,
--
Carlos
http://caruizdiaz.comhttp://ngvoice.com
+52 55 3048 3303
Hi fellow kamailio users,
I'm playing actually with t_on_branch_failure, in a simultaneous forking
scenario ( lookup("location") returns multiple contacts ).
Any idea on how to get those "on_branch_failure" working ?
Thanks in Advance !
* Test by putting failure_exec_mode:
- at 1 => no branch failure being called, never.
- at 0 => t_relay does not fail if a single branch answers the
transaction, even if all other branches are failing.
* Test by moving the t_on_branch_failure("manage_branch_failure"); line
before or after the lookup("location") or on a _on_branch route to set
it per branch.
- The on_route branch are executed, but never the failure one.
- tried also with failure_exec_mode = 0 or 1.
* Using set_forward_no_connect, I can see in the logs a "Sending to
branch X failed" but no failure route being executed. Without it,
nothing in the logs indicating that the branch has timeout.
* Config extract:
# auto-discard branches from previous serial forking leg
modparam("tm", "failure_reply_mode", 3) # 3 by default
# default retransmission timeout: 30sec
modparam("tm", "fr_timer", 30000)
# default invite retransmission timeout after 1xx: 120sec
modparam("tm", "fr_inv_timer", 120000)
modparam("tm", "reparse_on_dns_failover", 0)
# 1: Allow branches to have a per branch failure route
# 0: t_relay should fail if a branch fail
modparam("tm", "failure_exec_mode", 1)
# Allow locally generated 408 to be forgotten in case a reply is received.
#modparam("tm", "faked_reply_prio", 2000)
# USER location service
route[LOCATION] {
t_on_branch_failure("manage_branch_failure");
if (!lookup("location")) {
....
}
# Let's get back after 2.5s if no 100/Trying received.
t_set_fr(0, 2500);
# set_forward_no_connect();
#t_on_branch("SET_BRANCH_FAILURE");
route(RELAY);
exit;
}
route[RELAY] {
....
if (!t_relay()) {
xlog("L_WARN","$rm|$ci|$fu|$tu|RELAY_FAILED");
sl_reply_error();
}
exit();
}
# set failure route per branch
branch_route[SET_BRANCH_FAILURE] {
xlog("L_WARN","$rm|$ci|$fu|$tu|SETTING_BrANCH_FAILURE_ROUTE");
t_on_branch_failure("manage_branch_failure");
}
# manage failure routing cases per branch
event_route[tm:branch-failure:manage_branch_failure] {
xlog("L_WARN","$rm|$ci|$fu|$tu[$avp(dest_to)]|MANAGE_BRANCH_FAILURE");
}
Hello All,
I have a need to save the Record-Route header from the INVITE and
use it as a route header in requests like BYE.
PROXY --> Kamailio(as PROXY) --> Asterisk
I am using rr module to add a record_route when passing the INVITE to Asterisk.
Thanks,
Jignesh Gandhi
Hi,
we have a load balancer which is handling a lot of SIP traffic all day.
There's always 20-40 Mbit SIP traffic going through. From time to time we
see in our logs messages like these:
Sep 16 09:46:28 ecker /usr/sbin/kamailio[25505]: ERROR: <core>
[udp_server.c:591]: udp_send(): ERROR: udp_send:
sendto(sock,0x7f2d9d6b3ce0,1321,0,46.237.225.126:5060,16): Operation not
permitted(1)
Sep 16 09:46:38 ecker /usr/sbin/kamailio[25194]: ERROR: <core>
[udp_server.c:591]: udp_send(): ERROR: udp_send:
sendto(sock,0x7efc982b8fc8,420,0,82.113.121.183:35794,16): Operation not
permitted(1)
Sep 16 09:46:40 ecker /usr/sbin/kamailio[25505]: ERROR: <core>
[udp_server.c:591]: udp_send(): ERROR: udp_send:
sendto(sock,0x7f2d9d6b3ce0,1338,0,5.158.137.9:55067,16): Operation not
permitted(1)
Sep 16 09:46:44 ecker /usr/sbin/kamailio[25183]: ERROR: <core>
[udp_server.c:591]: udp_send(): ERROR: udp_send:
sendto(sock,0x7efc982d9f48,450,0,178.165.131.197:37515,16): Operation not
permitted(1)
Sep 16 09:46:49 ecker /usr/sbin/kamailio[25643]: ERROR: <core>
[udp_server.c:591]: udp_send(): ERROR: udp_send:
sendto(sock,0x7f93fb624530,496,0,172.56.7.69:25643,16): Operation not
permitted(1)
Sep 16 09:46:55 ecker /usr/sbin/kamailio[25335]: ERROR: <core>
[udp_server.c:591]: udp_send(): ERROR: udp_send:
sendto(sock,0x7f41632cda98,598,0,80.215.234.139:3396,16): Operation not
permitted(1)
Sep 16 09:46:56 ecker /usr/sbin/kamailio[25345]: ERROR: <core>
[udp_server.c:591]: udp_send(): ERROR: udp_send:
sendto(sock,0x7f41632f4840,459,0,94.197.120.191:8225,16): Operation not
permitted(1)
I know that these messages can be produced by iptables blocking the
outbound traffic. But our outbound chain looks basically like this:
root@ecker:~# iptables-save | grep OUTPUT
:OUTPUT DROP [0:0]
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-j ACCEPT
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -o lo -m state --state NEW -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state NEW -j ACCEPT
We don't have the nf_ct_sip module loaded, syslog doesn't say anything, and
even clearing all iptables rules doesn't eliminate those errors.
Has anyone ever seen this? It looks like a load thing, because at weekends
there are significantly less errors.
Thanks,
Sebastian
Im trying to enable Kamailio TLS but the configuration is not running at
all when I cahnge it liike this as follow.
Kamailio 3.3 ubuntu 12.04 LTS
#!define WITH_TLS
#!ifdef WITH_TLS
enable_tls=yes
#!endif
#!ifdef WITH_TLS
loadmodule "tls.so"
#!endif
#!ifdef WITH_TLS
# ----- tls params -----
modparam("tls", "config", "/etc/kamailio/tls.cfg")
#!endif
Please help
--
Kethzer Docteur
Hello,
I don't understand why msg_apply changes() can be called from
REQUEST_ROUTE *only*. Can someone explain? Can this be extended to
*FAILURE_ROUTES *also?
Basically I need to call this from FAILURE_ROUTES in order to avoid
double SDP for rtpengine offers. Searching in the mailing list I could
see that there could be other means of handling this like keeping and
reading the SDP from an avp(write/read_sdp_pv), but I find the above
method pretty straightforward.
Thanks,
Stefan
Hello,
I am running Kamailio behind NAT.
Kanailio has a private IP and I am relaying NAT to internet router.
I am using:
- #!define WITH_NAT
- listen=udp:PRIVATE-IP:5060 advertise PUBLIC-IP:5060
- Patched RTP proxy including the advertise option
And everything goes fine. I can make calls and have two way audio.
The problem begins when the callee ends the call. BYE is not received in
Kamailio (caller)
I included the public IP using "add_contact_alias" because
"set_contact_alias" was not adding the public IP. I included this in in
NATDETECT (pre loaded router)
if(is_first_hop()) {
xlog("L_NOTICE","Metodo: $rm \n");
xlog("L_NOTICE","is first hop\n");
#set_contact_alias();
if (!add_contact_alias("PUBLIC-IP", "$Rp", "udp")) {
xlog("L_ERR", "Error in aliasing contact $ct\n");
send_reply("400", "Bad request");
exit;
}
}
I think the problem is related to destination that BYE is sent by the
vendor. From what I see IP and port is taken from advertised in contact
(PUBLIC-IP and 5060).
The problem is that internet router changes the source port.
Contact: <sip:999999999@PRIVATE-IP:5060;alias=PUBLIC-IP~5060~1>
--- Is it correcto to add_contact_alias("PUBLIC-IP", "$Rp", "udp") in order
to received new transactions or should I follow a different procedure???
Thank you
Hello,
sketching the road to the next major release, so people can plan their
goals for it and discuss, if needed, before the start of winter holidays:
- development freezing by end of January 2016
- test for one to one and a half month
- release in the first part of March 2016
If there are important topics to decide on, we can organize an IRC
meeting sometime in January 2016.
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.comhttp://miconda.eu
Hi there,
The example config that Kamailio ships with contains this block of code in request_route:
# handle retransmissions
if(t_precheck_trans()) {
t_check_trans();
exit;
}
t_check_trans();
I am not fully understanding the requirement for either of the t_check_trans() here. As far as I can see from the documentation, t_check_trans() returns a boolean value and does not modify any data internally.
Can anyone help me find out what the relevance of the t_check_trans() calls is?
Thanks
Phil Lavin
Systems Engineer
CloudCall by SYNETY
www.cloudcall.com<http://www.cloudcall.com>
T: +44 (0) 330 335 0000 / +1 617 982 1600
D: +44 (0) 116 424 4790 / +1 617 982 4790
SM: LinkedIn<https://uk.linkedin.com/pub/phil-lavin/25/422/750>
READ OUR BLOG FOR SMARTER COMMUNICATIONS<http://t.sidekickopen03.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJW7t5XX43…>
Confidentiality: This e-mail transmission, including any attachments, is intended only for the named recipient(s) and may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you have received this transmission in error, or are not the named recipient(s), please notify the sender immediately by return e-mail and permanently delete this transmission, including any attachments.
Security: This e-mail and any attachments are believed to be free from any virus but it is the responsibility of the recipient to ensure this is so. E-mail is not a 100% secure communication.