From fcd0e50da51074703929e9f7b700a2cd11bd67e0 Mon Sep 17 00:00:00 2001 From: Chung-yih Wang Date: Mon, 21 Feb 2011 11:50:25 +0800 Subject: [PATCH] Add rport argument for a reinvite request. bug:3461707 Change-Id: I69a4f84dde3929c754c838fd12e624b774f44826 --- voip/java/com/android/server/sip/SipHelper.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/voip/java/com/android/server/sip/SipHelper.java b/voip/java/com/android/server/sip/SipHelper.java index 518543a5cbb25..ac580e7400555 100644 --- a/voip/java/com/android/server/sip/SipHelper.java +++ b/voip/java/com/android/server/sip/SipHelper.java @@ -284,6 +284,13 @@ class SipHelper { mHeaderFactory.createContentTypeHeader( "application", "sdp")); + // Adding rport argument in the request could fix some SIP servers + // in resolving the initiator's NAT port mapping for relaying the + // response message from the other end. + + ViaHeader viaHeader = (ViaHeader) request.getHeader(ViaHeader.NAME); + if (viaHeader != null) viaHeader.setRPort(); + ClientTransaction clientTransaction = mSipProvider.getNewClientTransaction(request); if (DEBUG) Log.d(TAG, "send RE-INVITE: " + request);