Estoy tratando de construir un Sip client
para android usando pjsip
como CSipSimple
project. Sin embargo, en realidad no sé mucho sobre pjsip
. ¿Alguien tiene un tutorial sobre pjsip o algo así para construir un Sip softphone
en Android usando PJsip lib? ¡Cualquier sugerencia es bienvenida!PJSip en android
Respuesta
Usted no tiene que utilizar las bibliotecas de terceros para construir la funcionalidad de cliente SIP en Android. Android incluye un completo SIP API. Puede echar un vistazo al SIP demo para comprender cómo usar las API SIP para una implementación de tipo walkie-talkie.
Tenga en cuenta que esto limitará su aplicación a la versión 2.3 de Android [(API Level 9)] (http://developer.android.com/guide/appendix/api-levels.html#level9) y superior, pero supongo que es algo así como el 75% de la base de usuarios – Paaske
Según las estadísticas de Play Store en [Versiones de plataforma] (http://developer.android.com/resources/dashboard/platform-versions.html), su conjetura es correcta (como en el día de este comentario) – Rajesh
esto también limita tu aplicación a wi-fi solamente, lo cual no es útil .... conoces otra forma de usar pjsip excepto apjsua porque apjsua no funciona, he pasado días en ello ... .. –
se puede obtener ayuda de este sitio
La respuesta aceptada no es del todo precisa. Hay muchas características deseables que faltan en la API SIP de Android que puede desear lograr a través de una biblioteca de terceros.
Con respecto al pjsip antes mencionado, he pasado mucho tiempo experimentando con la compilación de Android de pjsip, y la verdad es que la única manera de lograr que el registro instantáneo confiable funcione como se documenta es compilando OpenSSL 1.0.2a biblioteca y pasarlo a la hora de configurar. Luego, en Java debe intentar (y no) habilitar la comunicación TLS, tal como lo ve para UDP y TCP. Esto es lo que quiero decir:
/* Create transports. */
try { transports.add(ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_TLS, transportConfig)); }
catch (Throwable t2) { SipManager.log().e(t2); }
try { transports.add(ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_UDP, transportConfig)); }
catch (Throwable t) { SipManager.log().e(t); }
try { transports.add(ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_TCP, transportConfig)); }
catch (Throwable t) { SipManager.log().e(t); }
Reemplazar los SipManager.log()
llamadas para su propia aplicación.
No estoy del todo seguro por qué, pero esto es necesario para mí. De lo contrario, el proceso de registro es semi-no determinista, en el sentido de que funcionará después de fallar unas pocas veces, o fallar durante 5 minutos y luego tener éxito de repente, etc. Parece confundirse después de la 1ra inscripción.
Así es como he configurado:
TARGET_ABI=arm64-v8a ./configure-android --use-ndk-cflags --with-ssl=`pwd`/../3rd-party/openssl-1.0.2a
Y eso fue después de seguir el proper Android instructions, exrtacting el paquete de archivos de OpenSSL en una carpeta por encima de PJSIP ../3rd-party/
y primer edificio allí. Describí ese proceso en detalle en un previous post.
Si desea desarrollar solo un cliente de sip, puede usar la API de sip de Android, pero como se menciona en las respuestas anteriores, limitará las funciones de su aplicación. Pero si desea desarrollar funciones de chat o de llamada en su aplicación, puede usar pjsip, que ofrece muchas características avanzadas. En cuanto a la construcción de pjsip para android, puede aprender de here(android) y para ios, aprender de here(ios). Básicamente, pjsip le ofrece muchas API con características enriquecidas que puede usar de acuerdo con sus requisitos como pjlib, pjsip, PJ media, pjsua, etc. pjsua (o pjsua2 para android) son API de nivel superior que le ayuda a extraer el máximo rendimiento con un mínimo complejities.you puede ver directamente here. usted puede aprender sobre pjsua de here. También han proporcionado una aplicación de demostración (pjsua CLI), Pjsua CLI y su fuente que le ayudará a comprender la estructura básica de una aplicación para compilar con pjsip que tiene funciones de chat y llamada.
para Android, puede ver una aplicación de demostración en github.
- 1. pjsip enviar sms a
- 2. pjsip recibir sms
- 3. Compilación de pjsip para iOS 4.0
- 4. problema de compilación sobre xcode4.2 para PJSIP
- 5. pjsip enable speaker en ios des not work
- 6. Cómo implementar la funcionalidad de silencio en una llamada PJSIP en iOS
- 7. Android SIP SSL
- 8. ¿Cómo compilar y compilar PJSIP para Xcode, usando el código de muestra IPJSUA para probar?
- 9. ¿Cómo se compila el iPhone PJSip para dispositivos y simuladores para trabajar con sifón en iOS 3 y iOS 4?
- 10. Android Creando aplicaciones en Android usando Android
- 11. Gráficos vectoriales en Android
- 12. firma digital en android
- 13. Datos principales en Android
- 14. RTP en Android MediaPlayer
- 15. RestKit en android?
- 16. Descargando archivos en Android
- 17. simple_list_item_2 en Android
- 18. Vignette en Android
- 19. Algoritmo Floodfill en Android
- 20. Usar JDO en Android
- 21. disposición desplazable en Android
- 22. validación XMLSchema en Android
- 23. Android MediaRecorder en streaming
- 24. Dynamic ListPreference en android
- 25. Autocompletar Geocoder en Android
- 26. ZXing en Android PDF417
- 27. Mostrar emoticones en Android
- 28. Android SharedPreferences en Fragment
- 29. PopupWindow en Android
- 30. InetAddress.getByName en Android
¿Hay algún tutorial? Tristemente no puedo usar la API SIP nativa. ¿Alguna sugerencia por dónde empezar? –