diff options
| -rw-r--r-- | voip/java/com/android/server/sip/SipHelper.java | 7 |
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 518543a5cbb2..ac580e740055 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); |