I have a quick sample app I am trying to build, to demonstrate simple SIP calls to and from a Nexus 7. The device is currently running Android 4.2.1.
LogCat shows the error:
SipBroadcastRequest / SIP VOIP not supported: com.android.phone.SIP_REMOVE_PHONE
I see from the API docs (and the code) that this happens if SipManager.isApiSupported(Context context) returns false. For good measure, I checked both:
SipManager.isVoipSupported(this);
SipManager.isApiSupported(this);
and both return true. I also see (from the API code) that IF the api call returns false, SipManager.newInstance(Context context)
will return null
. When I create a manager with SipManager.newInstance(this);
I get a valid manager back.
I see a lot of posts for similar problems, but have found none that report true
for the SipManager.isVoipSupported(Context context)
call. Any ideas?
Note: I am not sure if this matters or not, but cSipSimple (another SIP/Voip app for android) DOES work on this device.
UPDATE (12/20/12): I tried SipDemo per pboy's suggestion. That does not work either. Both that app and my app fail during the registration step. Using the debugger, I break in the onRegistrationFailed
callback for the SipRegistrationListener
. From here I can see an int errorCode
of -9 and a String errorMessage
of "0". I looked up this error code, and it corresponds to the following (taken from the SIP API docs):
public static final int IN_PROGRESS
Added in API level 9
The client is in a transaction and cannot initiate a new one.
Constant Value: -9 (0xfffffff7)
I have no other SIP programs running. My app is only freshly installed and not currently running either. I'm not sure what other transaction it would be in the middle of?