Hello all;
After wasting my time to search asterisk ability permit/deny ip
for Kamailio , i decided to consult you. Is there a module or a way to
do permit/deny ip for users. As you know asterisk can do that easily .
I found permisson module and permisson.conf but it doesn't work with db
and online , so do i write my code with my rules or is there a module to
do it?
Thanks for helps.
Hi All,
This question might have addressed, but not able to find correct answer in
archives and I have spent enough time, so posting here.
I want to load balance between 2-3 kamailio servers based on DNS, I don't
need to worry about media just trying IM with SIP messages.
Configured two servers with same domain alias(example.com) and able to send
messages between users registered to one Node. But when i tried to send
messages between users registered to two different servers, messages are
not getting routed properly. When Server A tried to reach user registered
to Server:B directly, firewall is not allowing. Tried to route message to
correct proxy based on the socket details in Loctaion table, but not able
to read socket details from location table, I am getting always NULL.
I am sure,I am doing something wrong with configuration, but not sure and
also not able to find example for this on Kamailio website. I am attaching
my configuration, appreciate any help.
Thanks,
VG
hello,
Kamailio 4.1.3 crashed today, with an segmentation fault error : kernel:
kamailio[2406]: segfault at 18 ip 0000000000495792 sp 00007fff3d9d2d80
error 4 in kamailio[400000+275000]
Here is the result of BT :
#0 0x0000000000495792 in pv_get_strval (msg=0x7fad2cf8a530,
param=0x7fad3858c288, res=0x7fff3d9d2eb0, sval=0x18) at pvapi.c:521
#1 0x00007fad365b0da8 in pv_get_pai (msg=0x7fad2cf8a530,
param=0x7fad3858c288, res=0x7fff3d9d2eb0) at pv_core.c:1021
#2 0x0000000000499518 in pv_get_spec_value (msg=0x7fad2cf8a530,
sp=0x7fad3858c270, value=0x7fff3d9d2eb0) at pvapi.c:1266
#3 0x00007fad34c6d7d9 in extra2strar (extra=0x7fad3858c260,
rq=0x7fad2cf8a530, val_arr=0x7fad34e7ae30,
int_arr=0x7fad34e7b37c,type_arr=0x7fad34e7b4e7 "\002\002\002\002") at
acc_extra.c:261
#4 0x00007fad34c65393 in acc_db_request (rq=0x7fad2cf8a530) at acc.c:474
#5 0x00007fad34c6fb43 in acc_onreply (t=0x7fad2ce0b138,
req=0x7fad2cf8a530, reply=0x7fad3859faa8, code=200) at acc_logic.c:471
#6 0x00007fad34c7008d in tmcb_func (t=0x7fad2ce0b138, type=512,
ps=0x7fff3d9d3120) at acc_logic.c:559
#7 0x00007fad36e6a478 in run_trans_callbacks_internal
(cb_lst=0x7fad2ce0b1a8, type=512, trans=0x7fad2ce0b138,
params=0x7fff3d9d3120) at t_hooks.c:290
#8 0x00007fad36e6a68a in run_trans_callbacks_with_buf (type=512,
rbuf=0x7fad2ce0b1f8, req=0x7fad2cf8a530, repl=0x7fad3859faa8, flags=183) at
t_hooks.c:336
#9 0x00007fad36e9cc06 in relay_reply (t=0x7fad2ce0b138,
p_msg=0x7fad3859faa8, branch=0, msg_status=183, cancel_data=0x7fff3d9d3480,
do_put_on_wait=1) at t_reply.c:2001
#10 0x00007fad36e9f0b7 in reply_received (p_msg=0x7fad3859faa8) at
t_reply.c:2499
#11 0x000000000045d837 in do_forward_reply (msg=0x7fad3859faa8, mode=0) at
forward.c:777
#12 0x000000000045e0f8 in forward_reply (msg=0x7fad3859faa8) at
forward.c:860
#13 0x00000000004a5887 in receive_msg (
buf=0x924600 "SIP/2.0 183 Session Progress\r\nVia: SIP/2.0/UDP
a.b.c.d;branch=z9hG4bK6e86.62fc1f802e2e40a8a17cb1556d5ccfa8.0;received=a.b.c.d\r\nVia:
SIP/2.0/UDP a.b.c.d:5060;branch=z9hG4bK6b726b55;rport=5"..., len=872,
rcv_info=0x7fff3d9d3800) at receive.c:273
#14 0x000000000053c838 in udp_rcv_loop () at udp_server.c:536
#14 0x000000000053c838 in udp_rcv_loop () at udp_server.c:536
#15 0x000000000046d42b in main_loop () at main.c:1617
#16 0x00000000004704d3 in main (argc=7, argv=0x7fff3d9d3b38) at main.c:2533
Many thanks.
Regards,
Igor.
I am trying to diagnose a SIP issue between our carrier and our network. The carrier has a CARRIER_IP and a different CARRIER_MEDIA_IP, and it submits an INVITE packet to MY_PUBLIC_IP using MY_DID. The firewall at our public IP (where the attached traffic
sample was taken) redirects it to a particular Kamailio server at 192.168.10.10 inside the LAN, and it in turn routes it to the Asterisk instance in localhost. The issue is that the INVITE is received, then the SIP/2.0 100 Trying and then SIP/2.0 200 OK
are routed back (or so I think), and then the expected ACK from is never received, even though the caller already hears the media from the Asterisk IVR. After a timeout, our Asterisk closes the call, in the middle of the conversation.
I am trying to explain the situation to our carrier, but I want to rule out possible misconfigurations on our side. Are there common misconfigurations that produce the symptoms described here? Are there any issues evident from the attached traffic?
Hi All,
I've started to play with MSILO module on kamailio v4.1.2, but it seems that all the stored
messages aren't delivered to the give user even if, looking at the debug log, the given messages
are found and queued for shipping. Another info I can add is that all the users are connected in
TLS. The relevant conf is below. Doe anyone can suggest a working setup for TLS users?
Thanks in advance,
Roberto Fichera.
# ----- msilo params -----
modparam("msilo", "db_url", DBURL)
modparam("msilo", "from_address", "sip:$rU@test.net")
modparam("msilo", "contact_hdr", "Contact: msilo@test.net:5060;msilo=yes\r\n")
modparam("msilo", "content_type_hdr", "Content-Type: text/plain\r\n")
# Handle SIP registrations
route[REGISTRAR] {
if (is_method("REGISTER"))
{
if(isflagset(FLT_NATS))
{
setbflag(FLB_NATB);
# uncomment next line to do SIP NAT pinging
## setbflag(FLB_NATSIPPING);
}
# MSILO - dumping user's offline messages
if (m_dump())
{
xlog("MSILO: offline messages dumped - if they were for user $fu\n");
}
else
{
xlog("MSILO: no offline messages dumped\n");
}
exit;
}
}
and in the route[LOCATION] I've this snippet
xlog( "Checking the destination user $rU exists\n");
if(avp_db_query("select username from subscriber where username='$rU'"))
{
xlog("MESSAGE received $ru -> storing using MSILO user=$rU\n");
if(m_store("$ru"))
{
xlog("MSILO: offline message stored\n");
if (!t_reply("202", "Accepted"))
{
sl_reply_error();
}
}
else
{
xlog("MSILO: offline message NOT stored\n");
if (!t_reply("503", "Service Unavailable"))
{
sl_reply_error();
}
}
# if the downstream UA doesn't support MESSAGE requests
# go to failure_route[1]
t_on_failure("1");
exit;
}
else
{
# The destination recipiend doen't exist
xlog( "Unable to store message for $ru because the user doesn't exist" );
if (!t_reply("404", "Not Found"))
{
sl_reply_error();
}
exit;
}
}
Hi all, i have the following setup:
C -> LB-P -> K-P -> LB-S -> K-S
The problem is the following: when K-S (Kamailio Server) replies it relays
the responses to the K-P (Kamailio Proxy) instead of the LB-P
(load-balancer of the proxies). I tried almost every solution: changing
aliases, adding Path headers, changing destination-URI, changing Via:
headers ... But the result is always the same: using transactions it seems
that, even if requests are correctly load-balanced, the replies are not
relayed back following the same path (in particular, referring to the
precedent scheme, a reply for the previous request will follow the path C
<- K-P <- K-S).
Additional information:
- K-P uses as alias the HOSTNAME of LB-P;
- K-S uses as alias the HOSTNAME of LB-S;
Everyone has some hints?
Andrea
Hello,
I can't figure out how the "timeout_socket" should be configured.
I try with the default parameter in the doc:
xmlrpc:http://127.0.0.1:8000/RPC2
I launch RTPProxy like that: -n tcp:127.0.0.1:8000
RTPProxy socket is setup like: "rtpproxy_sock", "udp:127.0.0.1:7722".
It looks like there is no communication on the port 8000. The goal is to
setup a timeout in case of asymmetric RTP.
Many help would be appreciate. Thank you!
Regards,
Igor.