diff options
-rw-r--r-- | voip/java/android/net/sip/SipManager.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/voip/java/android/net/sip/SipManager.java b/voip/java/android/net/sip/SipManager.java index dce46fe..cd0b5c4 100644 --- a/voip/java/android/net/sip/SipManager.java +++ b/voip/java/android/net/sip/SipManager.java @@ -471,6 +471,10 @@ public class SipManager { try { ISipSession session = mSipService.createSession(localProfile, createRelay(listener, localProfile.getUriString())); + if (session == null) { + throw new SipException( + "SipService.createSession() returns null"); + } session.register(expiryTime); } catch (RemoteException e) { throw new SipException("register()", e); @@ -492,6 +496,10 @@ public class SipManager { try { ISipSession session = mSipService.createSession(localProfile, createRelay(listener, localProfile.getUriString())); + if (session == null) { + throw new SipException( + "SipService.createSession() returns null"); + } session.unregister(); } catch (RemoteException e) { throw new SipException("unregister()", e); @@ -513,7 +521,7 @@ public class SipManager { try { String callId = getCallId(incomingCallIntent); ISipSession s = mSipService.getPendingSession(callId); - return new SipSession(s); + return ((s == null) ? null : new SipSession(s)); } catch (RemoteException e) { throw new SipException("getSessionFor()", e); } |