У меня есть быстрое приложение для примера, которое я пытаюсь создать, чтобы продемонстрировать простые вызовы SIP на и с Nexus 7. В настоящее время устройство работает под управлением Android 4.2.1.
LogCat показывает ошибку:
SipBroadcastRequest / SIP VOIP not supported: com.android.phone.SIP_REMOVE_PHONE
Я вижу из документов API (и кода), что это происходит, если SipManager.isApiSupported(контекст контекста) возвращает false. Для хорошей меры я проверил оба варианта:
SipManager.isVoipSupported(this);
SipManager.isApiSupported(this);
и оба возвращают true. Я также вижу (из кода API), что если api-вызов возвращает false, SipManager.newInstance(Context context)
вернет null
. Когда я создаю менеджера с SipManager.newInstance(this);
, я возвращаю действительный менеджер.
Я вижу много сообщений для подобных проблем, но не нашел ни одного отчета true
для вызова SipManager.isVoipSupported(Context context)
. Любые идеи?
Примечание. Я не уверен, что это важно или нет, но cSipSimple (другое приложение SIP/Voip для Android) работает на этом устройстве.
ОБНОВЛЕНИЕ (12/20/12): Я попробовал SipDemo за предложение pboy. Это тоже не работает. И приложение, и мое приложение выходят из строя на этапе регистрации. Используя отладчик, я разбиваю обратный вызов onRegistrationFailed
для SipRegistrationListener
. Отсюда я могу видеть int errorCode
от -9 и a String errorMessage
от "0". Я просмотрел этот код ошибки и соответствует следующему (взятому из документов SIP API):
public static final int IN_PROGRESS
Добавлено в уровень API 9
Клиент находится в транзакции и не может инициировать новый.
Постоянное значение: -9 (0xfffffff7)
У меня нет других программ SIP. Мое приложение только недавно установлено и в настоящее время не работает. Я не уверен, какая другая транзакция была бы в середине?