Cómo utilizar el códec pjsip G.729 en dispositivos Android
1. Establezca la variable de entorno ANDROID_NDK_ROOT en la carpeta raíz del NDK.
2. Vaya a la carpeta pjsip 2.x y cree pjlib/include/pj/config_site.h, incluido config_site_sample.h ( #include lt; pj/config_site_sample.hgt; )
3. /configure-android
4. Ejecute make clean & make depend & make
Después de los pasos anteriores, aparecerán varios archivos en varias bibliotecas estáticas. Se recomienda ordenarlos en la misma carpeta (preferiblemente en su proyecto):
mkdir lt;your_project_pathgt;/pjsip_libs
find .-name *.a xargs -I cp | lt;your_project_pathgt;/pjsip_libs/
Una vez que tenga todas las bibliotecas listas para usted, deberá agregarlas al archivo Android.mk de su proyecto, que consta de una nueva sección de módulos, que incluye nuevas secciones. para cada biblioteca. La sección del módulo debe contener lo siguiente:
include $(CLEAR_VARS)
LOCAL_MODULE := pjsua-arm-unknown-linux-androideabi
LOCAL_SRC_FILES := $ (MY_ PJLIB_PATH)/libpjsua-arm-unknown-linux-androideabi.a
incluye $(PREBUILT_STATIC_LIBRARY)
, este es en realidad el código fuente para construir la parte del proyecto JNI, todo Se han agregado módulos a las referencias de la biblioteca estática:
LOCAL_STATIC_LIBRARIES := pjsua-arm-unknown-linux-androideabi...
Esto incluirá referencias a pjsip en su biblioteca JNI. . Ahora, necesita configurar la instancia de pjsip UA.
En pjsip/include/pjsua-lib/pjsua.h, hay una explicación sobre cómo iniciar y empezar con la UA de pjsip (pjsua), pero los pasos principales son los siguientes:
1. Usar instancia de UA pjsua_create crea una instancia de UA
2. Cree hilos de trabajo usando pj_thread_create
3.
Configuración predeterminada para la configuración de la instancia de UA:
pjsua_config cfg staca; pjsua_logging_config log_cfg; pjsua_media_config media_cfg; pjsua_media_config_default(amp; media_cfg)
4. Inicialice la pila usando pjsua_init
5 Inicie la pila de protocolos usando pjsua_start
Desde aquí, hay muchas opciones de configuración. (registro, medios, tráfico, etc.)
Puede encontrar un tutorial básico de PJSIP aquí. Hay un tutorial básico (pero no completo, sobre el uso básico de SIP) en la ruta raíz del código fuente de pjsip: pjsip-apps/ src/samples/simple_pjsua.c
EDITAR: Al generar el proyecto de Android en la aplicación pjsip, puede encontrar un problema porque la aplicación pjsua no se genera de forma predeterminada (más específicamente, pjsua: los objetivos no incluyen todos los objetivos en pjsip-apps/generate/generate-files). Para solucionar este problema, simplemente vaya a pjsip-apps/build y ejecute:
Make pjsua
Esto creará el archivo en el objeto correcto: pjsip-apps/build/output /pjsua -arm-unknown-linux-androideabi/ (necesario para crear los ejemplos de Android).
Una vez que todos los archivos de objetos correspondientes estén disponibles, puede ejecutar ndk build nuevamente en pjsip-apps/src/pjsua/android.