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?
I hope you have mention following permission in your manifest,
<uses-permission android:name="android.permission.USE_SIP" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:name="android.hardware.sip.voip" android:required="true" />
<uses-feature android:name="android.hardware.wifi" android:required="true" />
<uses-feature android:name="android.hardware.microphone" android:required="true" />
Also please make sure that you are testing this when you are connected with wifi because android SIP is provide connection when you are connected with wifi not with other network.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With