diff options
author | Tyler Gunn <tgunn@google.com> | 2020-12-17 15:52:26 -0800 |
---|---|---|
committer | Tyler Gunn <tgunn@google.com> | 2021-01-05 11:22:51 -0800 |
commit | 09c9583861bb8e6255f01fb3c595061586001358 (patch) | |
tree | dd01023f673aeb1546b6227cde7571ecc4636573 | |
parent | d9eb0959c6092bc4206e38cac3d6e7529e23aa27 (diff) | |
download | voip-09c9583861bb8e6255f01fb3c595061586001358.tar.gz |
Deprecate android.net.rtp/android.net.sip.
The VOIP library provided in the Android platform suffers from a number of
issues and has not been maintained in a long time.
It does not support modern audio codecs, it uses broadcasts which rely
on background receivers being woken up (which won't be), and does not work
on IPV6 networks.
Mark android.net.sip code as deprecated.
This code has not been maintained in a long while and has a number of
pretty big flaws including: lack of IPV6 support, reliance on broadcasts
which are supported to wake up background receivers but don't.
Recommendation is for developers to use any number of other open source
SIP VOIP stacks available in the ecosystem.
It is also not currently supported on all Android devices.
Test: Build / observe API surface deprecation.
Bug: 175910634
Change-Id: Id6c8810b187ce06d7035ba58ad8daf849e194c1f
-rw-r--r-- | src/java/android/net/rtp/AudioCodec.java | 3 | ||||
-rw-r--r-- | src/java/android/net/rtp/AudioGroup.java | 3 | ||||
-rw-r--r-- | src/java/android/net/rtp/AudioStream.java | 2 | ||||
-rw-r--r-- | src/java/android/net/rtp/RtpStream.java | 2 | ||||
-rw-r--r-- | src/java/android/net/sip/SipAudioCall.java | 2 | ||||
-rw-r--r-- | src/java/android/net/sip/SipErrorCode.java | 2 | ||||
-rw-r--r-- | src/java/android/net/sip/SipException.java | 2 | ||||
-rw-r--r-- | src/java/android/net/sip/SipManager.java | 2 | ||||
-rw-r--r-- | src/java/android/net/sip/SipProfile.java | 2 | ||||
-rw-r--r-- | src/java/android/net/sip/SipRegistrationListener.java | 2 | ||||
-rw-r--r-- | src/java/android/net/sip/SipSession.java | 2 |
11 files changed, 24 insertions, 0 deletions
diff --git a/src/java/android/net/rtp/AudioCodec.java b/src/java/android/net/rtp/AudioCodec.java index 85255c8..9cae573 100644 --- a/src/java/android/net/rtp/AudioCodec.java +++ b/src/java/android/net/rtp/AudioCodec.java @@ -33,6 +33,9 @@ import java.util.Arrays; * </pre> * * @see AudioStream + * + * @deprecated {@link android.net.sip.SipManager} and associated classes are no longer + * supported and should not be used as the basis of future VOIP apps. */ public class AudioCodec { /** diff --git a/src/java/android/net/rtp/AudioGroup.java b/src/java/android/net/rtp/AudioGroup.java index 9d96006..fd5992f 100644 --- a/src/java/android/net/rtp/AudioGroup.java +++ b/src/java/android/net/rtp/AudioGroup.java @@ -63,6 +63,9 @@ import java.util.Map; * the AudioGroups is in use.</p> * * @see AudioStream + * + * @deprecated {@link android.net.sip.SipManager} and associated classes are no longer supported and + * should not be used as the basis of future VOIP apps. */ public class AudioGroup { /** diff --git a/src/java/android/net/rtp/AudioStream.java b/src/java/android/net/rtp/AudioStream.java index 5cd1abc..e746e7d 100644 --- a/src/java/android/net/rtp/AudioStream.java +++ b/src/java/android/net/rtp/AudioStream.java @@ -41,6 +41,8 @@ import java.net.SocketException; * * @see RtpStream * @see AudioGroup + * @deprecated {@link android.net.sip.SipManager} and associated classes are no longer supported and + * should not be used as the basis of future VOIP apps. */ public class AudioStream extends RtpStream { private AudioCodec mCodec; diff --git a/src/java/android/net/rtp/RtpStream.java b/src/java/android/net/rtp/RtpStream.java index b9d75cd..ad37455 100644 --- a/src/java/android/net/rtp/RtpStream.java +++ b/src/java/android/net/rtp/RtpStream.java @@ -27,6 +27,8 @@ import java.net.SocketException; * * <p class="note">Using this class requires * {@link android.Manifest.permission#INTERNET} permission.</p> + * @deprecated {@link android.net.sip.SipManager} and associated classes are no longer supported and + * should not be used as the basis of future VOIP apps. */ public class RtpStream { /** diff --git a/src/java/android/net/sip/SipAudioCall.java b/src/java/android/net/sip/SipAudioCall.java index 363995c..4d70017 100644 --- a/src/java/android/net/sip/SipAudioCall.java +++ b/src/java/android/net/sip/SipAudioCall.java @@ -56,6 +56,8 @@ import java.net.UnknownHostException; * <a href="{@docRoot}guide/topics/network/sip.html">Session Initiation Protocol</a> * developer guide.</p> * </div> + * @deprecated {@link android.net.sip.SipManager} and associated classes are no longer supported and + * should not be used as the basis of future VOIP apps. */ public class SipAudioCall { private static final String LOG_TAG = SipAudioCall.class.getSimpleName(); diff --git a/src/java/android/net/sip/SipErrorCode.java b/src/java/android/net/sip/SipErrorCode.java index 509728f..e3f54eb 100644 --- a/src/java/android/net/sip/SipErrorCode.java +++ b/src/java/android/net/sip/SipErrorCode.java @@ -22,6 +22,8 @@ package android.net.sip; * {@link SipSession.Listener#onError onError()}, * {@link SipSession.Listener#onCallChangeFailed onCallChangeFailed()} and * {@link SipSession.Listener#onRegistrationFailed onRegistrationFailed()}. + * @deprecated {@link android.net.sip.SipManager} and associated classes are no longer supported and + * should not be used as the basis of future VOIP apps. */ public class SipErrorCode { /** Not an error. */ diff --git a/src/java/android/net/sip/SipException.java b/src/java/android/net/sip/SipException.java index 0339395..b9cdb12 100644 --- a/src/java/android/net/sip/SipException.java +++ b/src/java/android/net/sip/SipException.java @@ -18,6 +18,8 @@ package android.net.sip; /** * Indicates a general SIP-related exception. + * @deprecated {@link android.net.sip.SipManager} and associated classes are no longer supported and + * should not be used as the basis of future VOIP apps. */ public class SipException extends Exception { public SipException() { diff --git a/src/java/android/net/sip/SipManager.java b/src/java/android/net/sip/SipManager.java index 39f66de..b74b07d 100644 --- a/src/java/android/net/sip/SipManager.java +++ b/src/java/android/net/sip/SipManager.java @@ -63,6 +63,8 @@ import java.util.List; * <a href="{@docRoot}guide/topics/network/sip.html">Session Initiation Protocol</a> * developer guide.</p> * </div> + * @deprecated {@link android.net.sip.SipManager} and associated classes are no longer supported and + * should not be used as the basis of future VOIP apps. */ public class SipManager { /** diff --git a/src/java/android/net/sip/SipProfile.java b/src/java/android/net/sip/SipProfile.java index 14b0334..6f22e47 100644 --- a/src/java/android/net/sip/SipProfile.java +++ b/src/java/android/net/sip/SipProfile.java @@ -45,6 +45,8 @@ import javax.sip.address.URI; * <a href="{@docRoot}guide/topics/network/sip.html">Session Initiation Protocol</a> * developer guide.</p> * </div> + * @deprecated {@link android.net.sip.SipManager} and associated classes are no longer supported and + * should not be used as the basis of future VOIP apps. */ public class SipProfile implements Parcelable, Serializable, Cloneable { private static final long serialVersionUID = 1L; diff --git a/src/java/android/net/sip/SipRegistrationListener.java b/src/java/android/net/sip/SipRegistrationListener.java index 9968cc7..0175e8a 100644 --- a/src/java/android/net/sip/SipRegistrationListener.java +++ b/src/java/android/net/sip/SipRegistrationListener.java @@ -18,6 +18,8 @@ package android.net.sip; /** * Listener for SIP registration events. + * @deprecated {@link android.net.sip.SipManager} and associated classes are no longer supported and + * should not be used as the basis of future VOIP apps. */ public interface SipRegistrationListener { /** diff --git a/src/java/android/net/sip/SipSession.java b/src/java/android/net/sip/SipSession.java index edbc66f..764871c 100644 --- a/src/java/android/net/sip/SipSession.java +++ b/src/java/android/net/sip/SipSession.java @@ -25,6 +25,8 @@ import android.telephony.Rlog; * <p>You can get a {@link SipSession} from {@link SipManager} with {@link * SipManager#createSipSession createSipSession()} (when initiating calls) or {@link * SipManager#getSessionFor getSessionFor()} (when receiving calls).</p> + * @deprecated {@link android.net.sip.SipManager} and associated classes are no longer supported and + * should not be used as the basis of future VOIP apps. */ public final class SipSession { private static final String TAG = "SipSession"; |