Hello,

I have a problem with RTPProxy.

Scenario:

SS7 (PSTN) ---> ASTERISK BOX --> Kamailio --> UAC

In case of incoming call from PSTN, when called party answer the call after 60 seconds of ringing, then the call is without audio and in this case I see in the log this message:

Creating session

Jul 11 11:24:32 b2b-voice-sipproxy-v3 rtpproxy[731]: INFO:handle_command: new session 766d0e006d8969d36c628e363ea7c3e1@upc.cz, tag as7a7c86ae;1 requested, type strong
Jul 11 11:24:32 b2b-voice-sipproxy-v3 rtpproxy[731]: INFO:handle_command: new session on a port 52902 created, tag as7a7c86ae;1
Jul 11 11:24:32 b2b-voice-sipproxy-v3 rtpproxy[731]: INFO:handle_command: pre-filling caller's address with XXX.XXX.XXX.XXX:32740

Answer after approx 60 seconds

Jul 11 11:25:40 b2b-voice-sipproxy-v3 rtpproxy[731]: INFO:handle_command: lookup request failed: session 766d0e006d8969d36c628e363ea7c3e1@upc.cz, tags as7a7c86ae;1/l0g9iusua2;1 not found
Jul 11 11:25:40 b2b-voice-sipproxy-v3 rtpproxy[731]: INFO:handle_delete: forcefully deleting session 1 on ports 35196/36656

Kamailio log (answer)

Jul 11 11:25:40 b2b-voice-sipproxy-v3 kamailio[5268]: INFO: <script>: UID:766d0e006d8969d36c628e363ea7c3e1@upc.cz -- ONREPLY_ROUTE: rtpproxy_manage(co)
Jul 11 11:25:40 b2b-voice-sipproxy-v3 kamailio[5268]: ERROR: rtpproxy [rtpproxy.c:2536]: force_rtp_proxy(): incorrect port 0 in reply from rtp proxy

It looks like there is somewhere 60 seconds session timeout. But I don't know where. When the call is answered during first 60 seconds, then everything is OK and we have both audio.

Kamailio reply route configuration:

onreply_route[REPLYROUTE] {
#
#-- On-replay block routing --
#
        xlog("L_INFO","UID:$ci -- ONREPLY_ROUTE1: $rm $si avp $avp(s:131) $avp(s:132)");
        if(has_body("application/sdp")) {
                xlog("L_INFO","UID:$ci -- ONREPLY_ROUTE: rtpproxy_manage(co)");
                rtpproxy_manage("co");
        }

        if ((isflagset(FLT_NATS) || isbflagset(FLB_NATB)) && status=~"(183)|(2[0-9][0-9])"){
                xlog("L_INFO","UID:$ci -- ONREPLY_ROUTE1: force_rtp_proxy");
                append_hf("P-hint: onreply_route|force_rtp_proxy \r\n");
        }

        if (isbflagset(FLB_NATB)) {
                xlog("L_INFO","UID:$ci -- ONREPLY_ROUTE1:  P-hint: Onreply-route - fixcontact");
                append_hf("P-hint: Onreply-route - fixcontact \r\n");
                fix_nated_contact();
        }
        exit;
}

Some parameters settings.

modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")
modparam("rtpproxy", "extra_id_pv", "$avp(extra_id)")
modparam("rtpproxy", "rtpproxy_disable_tout", 20)
modparam("rtpproxy", "rtpproxy_tout", 2)

modparam("tm", "disable_6xx_block", 1)
modparam("tm", "fr_timer", 5000) ## 5 seconds.
modparam("tm", "restart_fr_on_each_reply", 0)
modparam("tm", "auto_inv_100_reason", "Trying")

modparam("dialog", "dlg_flag", 4)
modparam("dialog", "rr_param", "rtp")
modparam("dialog", "default_timeout", 7230)
modparam("dialog", "dlg_match_mode", 1)
modparam("dialog", "db_mode", 1)
modparam("dialog", "enable_stats", 1)
modparam("dialog", "send_bye", 1)
modparam("dialog", "lreq_callee_headers", "TH: dlh\r\n")

modparam("rr", "enable_full_lr", 1)
modparam("rr", "append_fromtag", 1)
modparam("rr", "enable_double_rr", 1)

RTPproxy is installed from Debian package:

 /usr/bin/rtpproxy -s udp:127.0.0.1 7722 -u rtpproxy rtpproxy -p /var/run/rtpproxy/rtpproxy.pid -F -l XXX.XXX.XXX.XXX -d DBUG LOG_LOCAL0

Any advice?

Thanks