[OpenSIPS-Users] RTP Proxy Port not updating on T38 reinvite

Răzvan Crainea razvan at opensips.org
Fri Mar 2 04:45:59 EST 2018


Hi, Pat!

Can you send over the logs from rtpproxy? Perhaps I can figure out why 
rtpproxy is not sending RTP to the new port.

Best regards,
Răzvan

On 03/01/2018 05:01 AM, Pat Burke wrote:
> We have a situation where a fax comes in, all of the negotiation looks 
> good (ports are translated like they are supposed to be), and the 
> interface with RTP Proxy looks correct (at least to me).  But what 
> happens is that after the Re-INVITE for T38, the RTP Proxy continues to 
> sent the RTP to the customer's old port.  In the example below, RTP 
> Proxy sends the RTP to the customer on port 7186 AFTER the Re-INVITE 
> with the new port.
> 
> 
> SIP trace is located at https://www.4shared.com/file/wIVrkOtnei/SIP.html
> 
> 
>  From the SIP responses, it appears that the code is performing 
> correctly.  Not certain what to try next.
> 
> 
> Also, the RTP Proxy server was rebooted.
> 
> 
> Any suggestions?
> 
> 
> Thanks in advance,
> 
> Pat
> 
> 
> 
> 
> 
> Configuration:
> 
>      OpenSIPS 2.2.3 on Ubuntu 16.04
> 
>      RTP Proxy 2.2.alpha.20160822 on Ubuntu 16.04
> 
> 
> 
> 
> ***************************************************
> 
> *** OpenSIPS re-Invite code.
> 
> 
> if (has_totag()) {
> 
> if (is_method("BYE")) {
> if ($avp(call_end_seconds) == NULL) {
> $avp(bye_src_ip) := $si;
> $avp(bye_time) := $Ts;
> get_timestamp($avp(call_end_seconds),$avp(call_end_useconds));
> 
> $json(end_recording_details) := "{}";
> $json(end_recording_details/endsec) = $avp(call_end_seconds);
> $json(end_recording_details/endusec) = $avp(call_end_useconds);
> 
> xlog("L_INFO", "$dlg_val(rU) SCRIPT:RTPPROXY:DEBUG: End call recording 
> callid=$ci ; ft= $ft data = $json(end_recording_details) \n");
> 
> 
> #async(avp_db_query("UPDATE recordings SET end_recording_details = 
> '$json(end_recording_details)' WHERE call_id = '$ci'", ""), resume_totag);
> avp_db_query("UPDATE recordings SET end_recording_details = 
> '$json(end_recording_details)' WHERE call_id = '$ci'", "");
> 
> } else {
> xlog("L_INFO", "$dlg_val(rU) SCRIPT:BILLING:DEBUG: Extra BYE received.\n");
> }
> }
> 
> if (loose_route() || match_dialog()) {
> if ( $DLG_status==NULL ) {
> if (is_method("ACK") && t_check_trans() ) {
> t_relay();
> exit;
> }
> xlog("L_WARN", "$rU SCRIPT:TRAFFIC:WARNING: - $rm is not in-dialog ( 
> callid=$ci ; ruri=$ru ; route=$(hdr(Route)[*]) )\n");
> exit;
> } else {
> if (is_method("INVITE")) {
> record_route();
> if (stream_exists("image") && $dlg_val(t38) == "0") {
> xlog("L_WARN", "$rU SCRIPT:FAX:DEBUG: Received RE-INVITE containing FAX, 
> but carrier doesn't support it - rejecting $ci \n");
> send_reply("488","Not Acceptable");
> exit;
> }
> 
> xlog("L_INFO", "$dlg_val(rU) SCRIPT:RTPPROXY:DEBUG: - 
> $dlg_val(proxy_media) - $dlg_val(rtpproxy_group) - 
> $dlg_val(customer_record)\n");
> # Setup proxy media
> if ($dlg_val(proxy_media) != NULL && $dlg_val(proxy_media) == "1") {
> if (nat_uac_test("8")) {
> rtpproxy_offer("co",,"$dlg_val(rtpproxy_group)", "$avp(rtpprpoxy_server)");
> } else {
> rtpproxy_offer("cor",,"$dlg_val(rtpproxy_group)", "$avp(rtpprpoxy_server)");
> }
> 
> $avp(rtpprpoxy_server) := $(avp(rtpprpoxy_server){s.select,1,:});
> if ($dlg_val(customer_record) == "1") {
> rtpproxy_start_recording("$dlg_val(rtpproxy_group)");
> }
> 
> xlog("L_INFO", "$dlg_val(rU) PHB - D - media = $(rb{sdp.line,c}) rtp = 
> $avp(rtpprpoxy_server) \n");
> }
> 
> t_on_reply("media");
> }
> 
> t_relay();
> exit;
> }
> } else {
> if ( is_method("ACK") ) {
> if ( t_check_trans() ) {
> t_relay();
> exit;
> } else
> exit;
> }
> sl_send_reply("404","Not here");
> exit;
> }
> 
> 
> 
> ***************************************************
> 
> *** RTP Ports in the call flow
> 
> 
>                Carrier                               OpenSIPS            
>                    Customer
> 
> 
> Audio      61616 <<<<<<<<<<<<<<<<< 18986 <<<<<<<<<<
> 
>                                    >>>>>>>>>>>>>> 16930 >>>>>>>>>>>>>> 
> 7186    (intial INVITE / 200 OK)
> 
> 
> Image                       >>>>>>>>>>>>>> 16930 >>>>>>>>>>>>>> 7192    
> (Re-INVITE / 200 OK - T38)
> 
> 
>                    61616 <<<<<<<<<<<<<<<<< 18986 <<<<<<<<<<
> 
> 
> ***************************************************
> 
> *** RTP Proxy Command TRACE
> 
> 
> #
> 
> U 216.147.191.162:41657 -> 216.147.191.232:9992
> 
> 1422_78032 Uc0,18,101 1917630487_62491918 at 208.93.41.184 208.93.41.140 
> 61616 gK0c00bce5;1
> 
> #
> 
> U 216.147.191.232:9992 -> 216.147.191.162:41657
> 
> 1422_78032 18986 216.147.191.232
> 
> 
> #
> 
> U 216.147.191.162:41657 -> 216.147.191.232:9992
> 
> 1422_78033 Lc0,101 1917630487_62491918 at 208.93.41.184 216.147.191.171 
> 7186 gK0c00bce5;1 5a142640;1
> 
> #
> 
> U 216.147.191.232:9992 -> 216.147.191.162:41657
> 
> 1422_78033 16930 216.147.191.232
> 
> 
> #
> 
> U 216.147.191.162:41657 -> 216.147.191.232:9992
> 
> 1422_78034 U 1917630487_62491918 at 208.93.41.184 216.147.191.171 7192 
> 5a142640;1 gK0c00bce5;1
> 
> #
> 
> U 216.147.191.232:9992 -> 216.147.191.162:41657
> 
> 1422_78034 16930 216.147.191.232
> 
> 
> #
> 
> U 216.147.191.162:41657 -> 216.147.191.232:9992
> 
> 1422_78035 L 1917630487_62491918 at 208.93.41.184 208.93.41.140 61616 
> 5a142640;1 gK0c00bce5;1
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> 

-- 
Răzvan Crainea
OpenSIPS Core Developer
   http://www.opensips-solutions.com
OpenSIPS Summit 2018
   http://www.opensips.org/events/Summit-2018Amsterdam



More information about the Users mailing list