Hello,
I would like to announce that many of the presentations at Kamailio
World 2017 (May 8-10, in Berlin, Germany) are now listed at:
- https://www.kamailioworld.com/k05/schedule/
Just several are not published yet, working to get all their details in
place and expect to have the first draft of the schedule very soon.
This edition takes place again at the same location in the famous city
center of Berlin, the number of seats is limited, last year the event
was fully booked. Do not delay too much your registration if you want to
attend this year:
- https://www.kamailioworld.com/k05/registration/
Thanks to the sponsors (https://www.kamailioworld.com/k05/sponsors/), it
looks like we will be able to offer again some grants for students or
underrepresented groups. More details will be sent out in the near future.
Looking forward to meeting many of you in Berlin!
Daniel
--
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - Mar 6-8 (Europe) and Mar 20-22 (USA) - www.asipto.com
Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com
Hi Daniel,
yes, I hear the audio going both ways ok.
In the meantime I succeeded to record something by rtpproxy
but in best case only one direction, I can hear just the callee,
but not the caller.
In the meantime I have used start_recording in route[NATMANAGE]
but before rtpproxy_manage("co"):
--------------------------------------------------
if (is_method("INVITE") and (status=="200")) {
start_recording();
}
rtpproxy_manage("co");
--------------------------------------------------
After reading of your message I tested also with
start_recording after rtpproxy_manage("co"):
--------------------------------------------------
rtpproxy_manage("co");
if (is_method("INVITE") and (status=="200")) {
start_recording();
}
--------------------------------------------------
But the result was the same:
I have 2 SIP users:
31 (X-Lite on Windows, static address 192.168.0.11)
35 (Android Zoiper, IP address 192.168.0.29 (by DHCP))
Kamailio has static address 192.168.0.13.
When 35 calls 31 then I hear 1 direction in the recorded rtp file,
the voice of callee.
When 31 calls 35 then I don't hear anything in the recorded file.
I don't understand why this difference when user 31 or 35 initiates
a call!?
But I hear audio conversation in both directions, just from the
recorded file in one direction, or even nothing.
I get 2 files per one call: <call-id>.rtp and <call-id>.rtcp
How many files should rtpproxy produce for one call?
Should also a file or two for 2nd channel be generated?
How can I record both audio ways?
Thank you
Marko
The whole function route[NATMANAGE]:
# RTPProxy control
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 (is_method("INVITE") and (status=="200")) {
start_recording();
}
rtpproxy_manage("co");
if (is_request()) {
if (!has_totag()) {
if(t_is_branch_route()) {
add_rr_param(";nat=yes");
}
}
}
if (is_reply()) {
if(isbflagset(FLB_NATB)) {
set_contact_alias();
}
}
#!endif
return;
}
----- Original Message -----
From: Daniel-Constantin Mierla <miconda(a)gmail.com>
To: Marko Tirs <marko.tirs(a)yahoo.com>; Kamailio (SER) - Users Mailing List <sr-users(a)lists.sip-router.org>
Sent: Tuesday, March 14, 2017 5:23 PM
Subject: Re: [SR-Users] rtpproxy doesn't record after start_recording
Hello,
I think you can call the start recording function just after
rtpproxy_manage().
If you don't use the start recording function, is the audio going both
ways without problems?
Cheers,
Daniel
Hi Daniel,
yes, I hear the audio going both ways ok.
In the meantime I succeeded to record something by rtpproxy
but in best case only one direction, I can hear just the callee,
but not the caller.
In the meantime I have used start_recording in route[NATMANAGE]
but before rtpproxy_manage("co"):
--------------------------------------------------
if (is_method("INVITE") and (status=="200")) {
start_recording();
}
rtpproxy_manage("co");
--------------------------------------------------
After reading of your message I tested also with
start_recording after rtpproxy_manage("co"):
--------------------------------------------------
rtpproxy_manage("co");
if (is_method("INVITE") and (status=="200")) {
start_recording();
}
--------------------------------------------------
But the result was the same:
I have 2 SIP users:
31 (X-Lite on Windows, static address 192.168.0.11)
35 (Android Zoiper, IP address 192.168.0.29 (by DHCP))
Kamailio has static address 192.168.0.13.
When 35 calls 31 then I hear 1 direction in the recorded rtp file,
the voice of callee.
When 31 calls 35 then I don't hear anything in the recorded file.
I don't understand why this difference when user 31 or 35 initiates
a call!?
But I hear audio conversation in both directions, just from the
recorded file in one direction, or even nothing.
I get 2 files per one call: <call-id>.rtp and <call-id>.rtcp
How many files should rtpproxy produce for one call?
Should also a file or two for 2nd channel be generated?
How can I record both audio ways?
Thank you
Marko
The whole function route[NATMANAGE]:
# RTPProxy control
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 (is_method("INVITE") and (status=="200")) {
start_recording();
}
rtpproxy_manage("co");
if (is_request()) {
if (!has_totag()) {
if(t_is_branch_route()) {
add_rr_param(";nat=yes");
}
}
}
if (is_reply()) {
if(isbflagset(FLB_NATB)) {
set_contact_alias();
}
}
#!endif
return;
}
----- Original Message -----
From: Daniel-Constantin Mierla <miconda(a)gmail.com>
To: Marko Tirs <marko.tirs(a)yahoo.com>; Kamailio (SER) - Users Mailing List <sr-users(a)lists.sip-router.org>
Sent: Tuesday, March 14, 2017 5:23 PM
Subject: Re: [SR-Users] rtpproxy doesn't record after start_recording
Hello,
I think you can call the start recording function just after
rtpproxy_manage().
If you don't use the start recording function, is the audio going both
ways without problems?
Cheers,
Daniel
Hello experts,
I'm newbie in Kamailio and have a problem with my 1st installation.
I just want to control the calls between SIP clients registered by Kamailio
and record the conversations.
I installed rtpproxy and started with
rtpproxy -F -s udp:127.0.0.1:7722 -l 192.168.0.13 -r /home/user1/rtpproxy
-d DBUG:LOG_LOCAL0
After start_recording() in the function onreply_route[MANAGE_REPLY]
rtpproxy creates the files <call-id>.rtp and <call-id>.rtcp but they
remain at zero length.
2nd problem is that the media stream is broken in one direction
after start_recording() has been executed, the callee doesn't hear
the caller.
How is the right Kamailio configuration for recording conversations?
Thank you
Regards
Marko
Modified kamailio-basic.cfg partly:
#!KAMAILIO
#!define WITH_NAT
#!ifdef WITH_NAT
loadmodule "nathelper.so"
loadmodule "rtpproxy.so"
#!endif
#!ifdef WITH_NAT
# ----- rtpproxy params -----
modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")
# ----- nathelper params -----
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)
modparam("nathelper", "sipping_from", "sip:pinger@kamailio.org")
# params needed for NAT traversal in other modules
modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
modparam("usrloc", "nat_bflag", FLB_NATB)
#!endif
####### Routing Logic ########
route[RELAY] {
# enable additional event routes for forwarded requests
# - serial forking, RTP relaying handling, a.s.o.
if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE")) {
if(!t_is_set("branch_route")) t_on_branch("MANAGE_BRANCH");
}
if (is_method("INVITE|SUBSCRIBE|UPDATE")) {
if(!t_is_set("onreply_route")) t_on_reply("MANAGE_REPLY");
}
if (is_method("INVITE")) {
if(!t_is_set("failure_route")) t_on_failure("MANAGE_FAILURE");
}
if (!t_relay()) {
sl_reply_error();
}
exit;
}
# RTPProxy control
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;
rtpproxy_manage("co");
if (is_request()) {
if (!has_totag()) {
if(t_is_branch_route()) {
add_rr_param(";nat=yes");
}
}
}
if (is_reply()) {
if(isbflagset(FLB_NATB)) {
set_contact_alias();
}
}
#!endif
return;
}
# Manage incoming replies
onreply_route[MANAGE_REPLY] {
xdbg("incoming reply\n");
if (is_method("INVITE") and (status=="200")) {
xlog("START_RECORDING #1\n");
start_recording();
xlog("START_RECORDING #2\n");
}
else if(status=~"[12][0-9][0-9]")
route(NATMANAGE);
}
Hi,
I want to use kamailio as a load balancer for web sockets. Is kamailio supports LB functionality for web-sockets?
I can able to use kamailio as a proxy and can make calls with websockets. Now i want to add LB functionality.
Setup: UA1 -->LB -->Proxy UA2 <--LB <--Proxy
LB is not forwarding the packets from Proxy to UA
Please help me Regards,Suresh Tummala
I would like to ask you how you deal with several asterisks and kamailio on
that same IP address, I have installation where i route 5060 to internal
server with kamailio and I would like to route RTP to asterisks, but is any
way to get around a problem with RTP ports collisions?
Hello,
I am using the module uac to do remote registration.
But sometimes i need to do unregister, to control or debug the registration
process.
I tried using kamcmd with uac.reg_disable, but this doesn't unregister.
There is any way to do it?
Best regards,
Jose Lopes
I have configured kamailio (192.168.56.102) and freeswitch(192.168.56.103)
in separate virtualboxes
when making a call, the invite goes to proxy and it is forwarded to
freeswitch but
response from freeswitch is "unreachable port" attached the wireshark trace:
I don't why 10.0.2.15 is making the Invite to freeswitch, i was expecting
192.168.56.102 to do that.
UA -> 192.168.56.102 -> 192.168.56.103
Any suggestions on this?
[image: Inline image 1]
Thanks,
Surya
Hello experts,
I'm newbie in Kamailio and have a problem with my 1st installation.
I just want to control the calls between SIP clients registered by Kamailio
and record the conversations.
I installed rtpproxy and started with
rtpproxy -F -s udp:127.0.0.1:7722 -l 192.168.0.13 -r /home/user1/rtpproxy
-d DBUG:LOG_LOCAL0
After start_recording() in the function onreply_route[MANAGE_REPLY]
rtpproxy creates the files <call-id>.rtp and <call-id>.rtcp but they
remain at zero length.
2nd problem is that the media stream is broken in one direction
after start_recording() has been executed, the callee doesn't hear
the caller.
How is the right Kamailio configuration for recording conversations?
Thank you
Regards
Marko
Modified kamailio-basic.cfg partly:
#!KAMAILIO
#!define WITH_NAT
#!ifdef WITH_NAT
loadmodule "nathelper.so"
loadmodule "rtpproxy.so"
#!endif
#!ifdef WITH_NAT
# ----- rtpproxy params -----
modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")
# ----- nathelper params -----
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)
modparam("nathelper", "sipping_from", "sip:pinger@kamailio.org")
# params needed for NAT traversal in other modules
modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
modparam("usrloc", "nat_bflag", FLB_NATB)
#!endif
####### Routing Logic ########
route[RELAY] {
# enable additional event routes for forwarded requests
# - serial forking, RTP relaying handling, a.s.o.
if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE")) {
if(!t_is_set("branch_route")) t_on_branch("MANAGE_BRANCH");
}
if (is_method("INVITE|SUBSCRIBE|UPDATE")) {
if(!t_is_set("onreply_route")) t_on_reply("MANAGE_REPLY");
}
if (is_method("INVITE")) {
if(!t_is_set("failure_route")) t_on_failure("MANAGE_FAILURE");
}
if (!t_relay()) {
sl_reply_error();
}
exit;
}
# RTPProxy control
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;
rtpproxy_manage("co");
if (is_request()) {
if (!has_totag()) {
if(t_is_branch_route()) {
add_rr_param(";nat=yes");
}
}
}
if (is_reply()) {
if(isbflagset(FLB_NATB)) {
set_contact_alias();
}
}
#!endif
return;
}
# Manage incoming replies
onreply_route[MANAGE_REPLY] {
xdbg("incoming reply\n");
if (is_method("INVITE") and (status=="200")) {
xlog("START_RECORDING #1\n");
start_recording();
xlog("START_RECORDING #2\n");
}
else if(status=~"[12][0-9][0-9]")
route(NATMANAGE);
}