summaryrefslogtreecommitdiffstats
path: root/voip
diff options
context:
space:
mode:
authorChung-yih Wang <cywang@google.com>2011-02-21 11:50:25 +0800
committerChung-yih Wang <cywang@google.com>2011-02-21 11:53:58 +0800
commitfcd0e50da51074703929e9f7b700a2cd11bd67e0 (patch)
tree03d46d3d1e2fb4710b4e4e695a4ec30b8130bd2e /voip
parent25474a2230152700e5f7eb7e1495be40c6bd26a8 (diff)
downloadframeworks_base-fcd0e50da51074703929e9f7b700a2cd11bd67e0.zip
frameworks_base-fcd0e50da51074703929e9f7b700a2cd11bd67e0.tar.gz
frameworks_base-fcd0e50da51074703929e9f7b700a2cd11bd67e0.tar.bz2
Add rport argument for a reinvite request.
bug:3461707 Change-Id: I69a4f84dde3929c754c838fd12e624b774f44826
Diffstat (limited to 'voip')
-rw-r--r--voip/java/com/android/server/sip/SipHelper.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/voip/java/com/android/server/sip/SipHelper.java b/voip/java/com/android/server/sip/SipHelper.java
index 518543a..ac580e7 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);