We are developing a Void-Application for Android using PjSip 2.8 with openssl. On some devices we encounter the following problem: After successfully establishing a sip call the participants can’t hear each other. Whenever this happens the following message appears in the Log:
“sound_port.c EC suspended because of inactivity”
On devices where the participants can hear each other this message is followed by:
"sound_port.c EC activated"
This message does not appear on the affected devices or it appears but with a delay of a minute or even more.
For activating the sound port we use following code, which we took from the Pjsip sample Application:
@Override public void onCallMediaState(OnCallMediaStateParam prm) { CallInfo ci; try { ci = getInfo(); } catch (Exception e) { return; }
CallMediaInfoVector cmiv = ci.getMedia();
for (int i = 0; i < cmiv.size(); i++) { CallMediaInfo cmi = cmiv.get(i); if (cmi.getType() == pjmedia_type.PJMEDIA_TYPE_AUDIO && (cmi.getStatus() == pjsua_call_media_status.PJSUA_CALL_MEDIA_ACTIVE || cmi.getStatus() == pjsua_call_media_status.PJSUA_CALL_MEDIA_REMOTE_HOLD)) { // unfortunately, on Java too, the returned Media cannot be // downcasted to AudioMedia Media m = getMedia(i); AudioMedia am = AudioMedia.typecastFromMedia(m);
// connect ports try { MyApp.ep.audDevManager().getCaptureDevMedia(). startTransmit(am); am.startTransmit(MyApp.ep.audDevManager(). getPlaybackDevMedia()); } catch (Exception e) { continue; } } else if (cmi.getType() == pjmedia_type.PJMEDIA_TYPE_VIDEO && cmi.getStatus() == pjsua_call_media_status.PJSUA_CALL_MEDIA_ACTIVE && cmi.getVideoIncomingWindowId() != pjsua2.INVALID_ID) { vidWin = new VideoWindow(cmi.getVideoIncomingWindowId()); vidPrev = new VideoPreview(cmi.getVideoCapDev()); } }
MyApp.observer.notifyCallMediaState(this); }
Like i said this code seems to work on some devices, on other devices it sadly doesn’t (reliably). Any help is appreciated!
Greets! |
_______________________________________________
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@xxxxxxxxxxxxxxx
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org