Pjsip en iPhone con llamada entrante 3G no tiene audio cuando está en UDP
Frecuentes
Visto 1,467 equipos
2
Después de descargar, compilar e instalar pjsip versión 2.0 (de pjsip.org) en mi proyecto de iPhone, tengo el siguiente problema:
El problema es cuando estoy usando UDP, mientras estoy en 3G.
Mientras el dispositivo iPhone está en 3G: en las llamadas entrantes, no puedo escuchar a la otra parte, sin embargo, la otra parte puede escucharme. En las llamadas salientes en 3G, sin embargo, todo funciona bien.
Mientras el teléfono está en Wi-Fi, todo funciona muy bien, entrante, saliente, ambas partes escuchan bien.
Además, TCP funciona bien en todos los escenarios, tanto 3G como Wi-Fi.
Intenté implementar las soluciones encontradas aquí: http://trac.pjsip.org/repos/wiki/audio-problem-local-no-audio
Pero fue en vano, me he estado rascando la cabeza por un tiempo en este caso...
2 Respuestas
0
Lo más probable es que se trate de un problema relacionado con la configuración en cualquiera de los extremos del SIP, siendo la causa principal NAT.
Le sugiero que configure ambos extremos de SIP con ATURDIR, GIRO y HIELO. Es posible que pueda solucionar la mayoría de los problemas de NAT con STUN e ICE, pero sin un servidor TURN no podrá solucionar todos los problemas de red.
Si ambos puntos finales no son compatibles con STUN, TURN e ICE (por ejemplo, un dispositivo sip de hardware), normalmente necesitará configurar un B2BUA (como una puerta de enlace de medios) o usar algún tipo de puerta de enlace de medios compatible con el servidor proxy sip.
En cuanto a la razón por la cual su configuración específica no funciona, requeriría los registros de pjsip para comprender lo que estaba sucediendo y más información sobre el entorno de red para ambos extremos de SIP.
respondido 01 mar '14, 07:03
0
Deberías probar esto. Agregue transporte UDP dentro del método startPjsipAndRegisterOnServer.
{
// Init transport config structure
pjsua_transport_config cfg;
pjsua_transport_config_default(&cfg);
cfg.port = 5080;
status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &cfg, NULL);
if (status != PJ_SUCCESS) error_exit("Error creating transport", status);
}
respondido 30 mar '17, 19:03