4 votes

SipManager.newInstance renvoie null

J'implémente une application client SIP simple pour recevoir des appels. Je passe par manuel officiel et d'en obtenir le code.

J'ai remarqué que

SipManager.newInstance(getApplicationContext());

renvoie un résultat nul. La documentation dit que cela se produit lorsque l'API SIP n'est pas prise en charge par l'appareil. Cependant, j'utilise LG G6 avec Android 7.0 et j'ai testé avec succès des clients SIP tiers à partir de Google Play. Je doute donc que l'API ne soit pas prise en charge. Comment puis-je vérifier cela ?

Mon manifeste a toutes les permissions ( INTERNET y USE_SIP )

Autorisation pour USE_SIP est accordée par l'utilisateur

2voto

Omer Asif Points 96

Le problème est que le SDK Android n'est pas pris en charge par tous les appareils.
vous pouvez d'abord vérifier s'il est pris en charge par l'appareil actuel :

 if(SipManager.isVoipSupported(getApplicationContext())){
     Log.d("VOIP:", "Supported!");
 }
 else{
     Log.d("VOIP:", "Not Supported");
 }
 if(SipManager.isApiSupported(getApplicationContext())){
     Log.d("API:", "Supported!");
 }
 else{
     Log.d("API:","NotSupported!");
 }

L'API est parfois prise en charge, mais pas la VOIP. J'ai testé sur Moto E 2nd Gen. y Moto X 2014, 1st Gen. L'API et la VOIP ne sont pas prises en charge sur le Moto X et seule l'API est prise en charge sur le Moto E, mais pas la VOIP.
Pour éviter cet inconvénient, vous pouvez utiliser des API tierces telles que Doubango .

Source : SIP sur Android : Cet article aborde ce problème en détail et propose des API alternatives.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X