Hi,
I'm wondering what the best approach to handling a SIP dialog when one
endpoint disappears/fails to send the BYE message.
I have Kamailio as a proxy for all mobile (iPhone/Android) SIP clients.
Occasionally, the user hangs up the call but no BYE message is received.
This means that Asterisk has an open channel even though there is no
client. Kamailio also continues to receive successful registrations from
the SIP client so the endpoint is not down completely.
Is Kamailio the appropriate place to handle this situation? What do you
recommend? If not could you point me in the right direction? RTP timeout?
Asterisk? The SIP client itself?
Thanks for your help.
Benjamin Fitzgerald
LETS Corporation
(925) 235-1154
ben(a)letscorp.us
Setup is -
2 port ATA <> FIREWALL <> KAMAILIO / RTPPROXY <> ASTERISK
If I have a single port in use behind the firewall, all NAT functions work properly and media is relayed through rtpproxy.
If I have both ports in use behind the firewall, when outbound calls from UA are placed there is two way audio on both calls. However if inbound calls are placed to UA, the first call works, second call only has outbound audio.
Different SIP URI is used for each port.
If the firewall is eliminated everything works fine.
Anyone have an idea how to troubleshoot or what could be missing? I have done packet captures on both the UA side and Kamailio side, and I see two RTP flows (rtp ports match on both sides as well) despite lack of inbound audio on the second call.
If I can post anything config wise that would help let me know.
Thanks!
-Dan
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.
Hello,
has anyone used pipelimit at a timer_interval of 1 second?
We would like to do rate-limiting based on CPS?
The doc says it can be CPU intensive.
Testing with SIPP, we see the CPU go up to around 30% at 500 CPS (with
pipelimit blocking at 300 CPS)
Thanks
/V
Hello,
I'm looking for a way to add a Record-Route into a 200 OK before relaying
the message to the UA.
Indeed, I'm facing an issue where the 200 OK is relayed to the UA without
Record-Route and with an IP address into the Contact header. So, the UA
sends back his ACK to the Contact instead of the proxy itself.
Is it possible to achieve this?
Regards,
Igor.
Hi,
*I recently installed kamailio 4.1 on debian wheezy (i386)*
Below are the list of modules in debian wheezy.
root@debian:/etc/kamailio# find / -name modules
/etc/modules
/etc/initramfs-tools/modules
/etc/gnome-vfs-2.0/modules
/lib/modules
/usr/share/initramfs-tools/modules
/usr/share/doc/initramfs-tools/examples/modules
/usr/share/doc/kamailio/modules
/usr/lib/vmware-tools/lib64/libconf/pango/1.6.0/modules
/usr/lib/vmware-tools/lib64/libconf/gtk-2.0/modules
/usr/lib/vmware-tools/lib32/libconf/pango/1.6.0/modules
/usr/lib/vmware-tools/lib32/libconf/gtk-2.0/modules
/usr/lib/i386-linux-gnu/libproxy/0.3.1/modules
/usr/lib/i386-linux-gnu/pango/1.6.0/modules
/usr/lib/i386-linux-gnu/kamailio/modules
/usr/lib/i386-linux-gnu/gio/modules
/usr/lib/xorg/modules
/usr/lib/gnome-vfs-2.0/modules
/proc/asound/modules
/proc/modules
so i have added below mpath in kamaiio.cfg ,still i am facing errors .could
you please help on it .
*Added mpath in kamialio.cfg :*
mpath="/.... .../:/usr/lib/i386-linux-gnu/kamailio/modules/"
mpath="/usr/lib/i386-linux-gnu/kamailio/modules/"
*facing error:*
root@debian:/etc/kamailio# kamailio start
loading modules under config path: /....
.../:/usr/lib/i386-linux-gnu/kamailio/modules/
loading modules under config path: /usr/lib/i386-linux-gnu/kamailio/modules/
ERROR: bad config file (1 errors)
Segmentation fault
note:
For same debain wheezy used for PCSCF ,it is working fine .
For ICSCF and SCSCF iam facing errors. only observed one is, for these i
have installed mysql where for pcscf mysql is not installed. Is this any
problem for modules.
could you please assist me further.
Thanks in Advance!
Regards,
Ramyasri.
Hi,
I have weird behavior, when I'm trying to compare AVP with string:
if ($avp(AVP_ATTRS) != "bla") {
ds_next_dst();
}
$avp(AVP_ATTRS) contains Dispatcher attribute.
Kamailio crashes:
Dec 17 03:39:30 /usr/local/sbin/kamailio[4844]: CRITICAL: <core>
[pass_fd.c:275]: receive_fd(): EOF on 15
Dec 17 03:39:30 /usr/local/sbin/kamailio[4810]: ALERT: <core> [main.c:728]:
handle_sigs(): child process 4816 exited by a signal 11
Dec 17 03:39:30 /usr/local/sbin/kamailio[4810]: ALERT: <core> [main.c:731]:
handle_sigs(): core was not generated
Dec 17 03:39:30 /usr/local/sbin/kamailio[4810]: INFO: <core> [main.c:743]:
handle_sigs(): terminating due to SIGCHLD
Dec 17 03:39:30 /usr/local/sbin/kamailio[4843]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4842]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4841]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4840]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4839]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4838]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4837]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4836]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4835]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4834]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4829]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4814]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4815]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4823]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4813]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4821]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4812]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4818]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4825]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4819]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4822]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4844]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Dec 17 03:39:30 /usr/local/sbin/kamailio[4830]: INFO: <core> [main.c:798]:
sig_usr(): signal 15 received
Following code works fine:
if ($avp(AVP_ATTRS) == "bla") {
ds_next_dst();
}
Kamailio version:
version: kamailio 4.3.4 (x86_64/linux) a56227
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS,
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC,
DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE,
USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: a56227
compiled on 03:29:23 Dec 17 2015 with gcc 4.4.7
Thak you!
With kind regards,
Jurijs
Hi Guys,
Wonder if anyone has experienced this before, on kamailio 4.1.
I am using an sql_pvquery and it works fine, unless I pull a value from the database that is defined as 10 digits and starts with a 3, actually its populated as 03785702370 but due to the table it removes the leading 0 (bigint(20) unsigned).
Running a manual query in my database for a DestinationMsisdn I get;
select DestinationMsisdn,SourceMsisdn from MsisdnPoolAllocations where PoolMsisdn='+44162489xxxx';+-------------------+--------------+| DestinationMsisdn | SourceMsisdn |+-------------------+--------------+| 3785702370 | 4474526xxxxx |+-------------------+--------------+
However running in the kamailio.cfg an sql_pvquery to do the same query as below;
sql_pvquery("cd","select DestinationMsisdn,SourceMsisdn from MsisdnPoolAllocations where PoolMsisdn='$rU'","$var(MOdest),$var(NewSourceMSISDN)");
However this returns a value of -509264926 for $var(MOdest) which should just be the 3785702370 number.
What can cause kamailio to interpret this as a negative value? Has anyone seen this before?
Many thanks
Jon