Loading voip/java/android/net/sip/SipAudioCall.java +18 −2 Original line number Diff line number Diff line Loading @@ -519,10 +519,15 @@ public class SipAudioCall { * @param session the session that receives the incoming call * @param sessionDescription the session description of the incoming call * @throws SipException if the SIP service fails to attach this object to * the session * the session or VOIP API is not supported by the device * @see SipManager#isVoipSupported */ public void attachCall(SipSession session, String sessionDescription) throws SipException { if (!SipManager.isVoipSupported(mContext)) { throw new SipException("VOIP API is not supported"); } synchronized (this) { mSipSession = session; mPeerSd = sessionDescription; Loading @@ -548,10 +553,15 @@ public class SipAudioCall { * SIP protocol) is used if {@code timeout} is zero or negative. * @see Listener#onError * @throws SipException if the SIP service fails to create a session for the * call * call or VOIP API is not supported by the device * @see SipManager#isVoipSupported */ public void makeCall(SipProfile peerProfile, SipSession sipSession, int timeout) throws SipException { if (!SipManager.isVoipSupported(mContext)) { throw new SipException("VOIP API is not supported"); } synchronized (this) { mSipSession = sipSession; try { Loading Loading @@ -595,6 +605,9 @@ public class SipAudioCall { public void holdCall(int timeout) throws SipException { synchronized (this) { if (mHold) return; if (mSipSession == null) { throw new SipException("Not in a call to hold call"); } mSipSession.changeCall(createHoldOffer().encode(), timeout); mHold = true; setAudioGroupMode(); Loading @@ -614,6 +627,9 @@ public class SipAudioCall { */ public void answerCall(int timeout) throws SipException { synchronized (this) { if (mSipSession == null) { throw new SipException("No call to answer"); } try { mAudioStream = new AudioStream(InetAddress.getByName( getLocalIp())); Loading voip/java/android/net/sip/SipManager.java +13 −3 Original line number Diff line number Diff line Loading @@ -133,7 +133,7 @@ public class SipManager { } /** * Returns true if the system supports SIP-based VoIP. * Returns true if the system supports SIP-based VOIP API. */ public static boolean isVoipSupported(Context context) { return context.getPackageManager().hasSystemFeature( Loading Loading @@ -305,12 +305,17 @@ public class SipManager { * @param timeout the timeout value in seconds. Default value (defined by * SIP protocol) is used if {@code timeout} is zero or negative. * @return a {@link SipAudioCall} object * @throws SipException if calling the SIP service results in an error * @throws SipException if calling the SIP service results in an error or * VOIP API is not supported by the device * @see SipAudioCall.Listener#onError * @see #isVoipSupported */ public SipAudioCall makeAudioCall(SipProfile localProfile, SipProfile peerProfile, SipAudioCall.Listener listener, int timeout) throws SipException { if (!isVoipSupported(mContext)) { throw new SipException("VOIP API is not supported"); } SipAudioCall call = new SipAudioCall(mContext, localProfile); call.setListener(listener); SipSession s = createSipSession(localProfile, null); Loading @@ -332,12 +337,17 @@ public class SipManager { * @param timeout the timeout value in seconds. Default value (defined by * SIP protocol) is used if {@code timeout} is zero or negative. * @return a {@link SipAudioCall} object * @throws SipException if calling the SIP service results in an error * @throws SipException if calling the SIP service results in an error or * VOIP API is not supported by the device * @see SipAudioCall.Listener#onError * @see #isVoipSupported */ public SipAudioCall makeAudioCall(String localProfileUri, String peerProfileUri, SipAudioCall.Listener listener, int timeout) throws SipException { if (!isVoipSupported(mContext)) { throw new SipException("VOIP API is not supported"); } try { return makeAudioCall( new SipProfile.Builder(localProfileUri).build(), Loading Loading
voip/java/android/net/sip/SipAudioCall.java +18 −2 Original line number Diff line number Diff line Loading @@ -519,10 +519,15 @@ public class SipAudioCall { * @param session the session that receives the incoming call * @param sessionDescription the session description of the incoming call * @throws SipException if the SIP service fails to attach this object to * the session * the session or VOIP API is not supported by the device * @see SipManager#isVoipSupported */ public void attachCall(SipSession session, String sessionDescription) throws SipException { if (!SipManager.isVoipSupported(mContext)) { throw new SipException("VOIP API is not supported"); } synchronized (this) { mSipSession = session; mPeerSd = sessionDescription; Loading @@ -548,10 +553,15 @@ public class SipAudioCall { * SIP protocol) is used if {@code timeout} is zero or negative. * @see Listener#onError * @throws SipException if the SIP service fails to create a session for the * call * call or VOIP API is not supported by the device * @see SipManager#isVoipSupported */ public void makeCall(SipProfile peerProfile, SipSession sipSession, int timeout) throws SipException { if (!SipManager.isVoipSupported(mContext)) { throw new SipException("VOIP API is not supported"); } synchronized (this) { mSipSession = sipSession; try { Loading Loading @@ -595,6 +605,9 @@ public class SipAudioCall { public void holdCall(int timeout) throws SipException { synchronized (this) { if (mHold) return; if (mSipSession == null) { throw new SipException("Not in a call to hold call"); } mSipSession.changeCall(createHoldOffer().encode(), timeout); mHold = true; setAudioGroupMode(); Loading @@ -614,6 +627,9 @@ public class SipAudioCall { */ public void answerCall(int timeout) throws SipException { synchronized (this) { if (mSipSession == null) { throw new SipException("No call to answer"); } try { mAudioStream = new AudioStream(InetAddress.getByName( getLocalIp())); Loading
voip/java/android/net/sip/SipManager.java +13 −3 Original line number Diff line number Diff line Loading @@ -133,7 +133,7 @@ public class SipManager { } /** * Returns true if the system supports SIP-based VoIP. * Returns true if the system supports SIP-based VOIP API. */ public static boolean isVoipSupported(Context context) { return context.getPackageManager().hasSystemFeature( Loading Loading @@ -305,12 +305,17 @@ public class SipManager { * @param timeout the timeout value in seconds. Default value (defined by * SIP protocol) is used if {@code timeout} is zero or negative. * @return a {@link SipAudioCall} object * @throws SipException if calling the SIP service results in an error * @throws SipException if calling the SIP service results in an error or * VOIP API is not supported by the device * @see SipAudioCall.Listener#onError * @see #isVoipSupported */ public SipAudioCall makeAudioCall(SipProfile localProfile, SipProfile peerProfile, SipAudioCall.Listener listener, int timeout) throws SipException { if (!isVoipSupported(mContext)) { throw new SipException("VOIP API is not supported"); } SipAudioCall call = new SipAudioCall(mContext, localProfile); call.setListener(listener); SipSession s = createSipSession(localProfile, null); Loading @@ -332,12 +337,17 @@ public class SipManager { * @param timeout the timeout value in seconds. Default value (defined by * SIP protocol) is used if {@code timeout} is zero or negative. * @return a {@link SipAudioCall} object * @throws SipException if calling the SIP service results in an error * @throws SipException if calling the SIP service results in an error or * VOIP API is not supported by the device * @see SipAudioCall.Listener#onError * @see #isVoipSupported */ public SipAudioCall makeAudioCall(String localProfileUri, String peerProfileUri, SipAudioCall.Listener listener, int timeout) throws SipException { if (!isVoipSupported(mContext)) { throw new SipException("VOIP API is not supported"); } try { return makeAudioCall( new SipProfile.Builder(localProfileUri).build(), Loading