[SR-Users] rtpproxy doesn't record after start_recording
Marko Tirs
marko.tirs at yahoo.com
Sun Mar 12 00:02:38 CET 2017
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 at 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);
}
More information about the sr-users
mailing list