Ho una rapida app di esempio che sto cercando di creare, per dimostrare semplici chiamate SIP da e verso un Nexus 7. Il dispositivo sta attualmente eseguendo Android 4.2.1.API SIP Android: mostra supportati, tuttavia errore "non supportato"
LogCat mostra l'errore:
SipBroadcastRequest/SIP VOIP not supported: com.android.phone.SIP_REMOVE_PHONE
vedo dalla documentazione API (e il codice) che questo accade se SipManager.isApiSupported (contesto Context) restituisce false. Per buona misura, ho controllato entrambi:
SipManager.isVoipSupported(this);
SipManager.isApiSupported(this);
ed entrambi return true. Vedo anche (dal codice API) che SE la chiamata api restituisce false, SipManager.newInstance(Context context)
restituirà null
. Quando creo un manager con SipManager.newInstance(this);
, restituisco un gestore valido.
Vedo molti post per problemi simili, ma non ne ho trovato nessuno che riporta true
per la chiamata SipManager.isVoipSupported(Context context)
. Qualche idea?
Nota: non sono sicuro che ciò sia importante o meno, ma cSipSimple (un'altra app SIP/Voip per Android) funziona su questo dispositivo.
UPDATE (12/20/12): Ho provato SipDemo per suggerimento di pboy. Neanche questo funziona. Sia l'app che la mia app falliscono durante la fase di registrazione. Usando il debugger, interrompo la callback onRegistrationFailed
per lo SipRegistrationListener
. Da qui posso vedere uno int errorCode
di -9 e uno String errorMessage
di "0". Ho guardato questo codice di errore, e corrisponde al seguente (preso dalla documentazione SIP API):
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)
non ho altri programmi in esecuzione SIP. La mia app è stata appena installata e attualmente non è in esecuzione. Non sono sicuro di quale altra transazione sarebbe nel mezzo?
CSipSimple utilizza una libreria esterna, quindi non dice se funziona davvero o meno. Prova SipDemo, usa la libreria nativa. – plmaheu