Я пытаюсь разработать приложение для Android с возможностью вызова с использованием sip и freeswitch. Я могу успешно зарегистрировать профиль, а также могу позвонить в тестовый профиль IVR Freeswitch. Однако я не могу слышать звук.
Ниже приведен фрагмент моего манифеста, содержащий все разрешения и функции.
<uses-permission android:name="android.permission.USE_SIP" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-feature android:name="android.hardware.sip.voip" android:required="true" />
<uses-feature android:name="android.hardware.wifi" android:required="true" />
<uses-feature android:name="android.hardware.microphone" android:required="true" />
Ниже приведен фрагмент моего SipAudioCall.Listener.
listener = new SipAudioCall.Listener() {
@Override
public void onCalling(SipAudioCall call) {
//super.onCalling(call);
Log.d(TAG, "Initiating session!");
}
@Override
public void onCallEstablished(SipAudioCall call) {
//super.onCallEstablished(call);
Log.d(TAG, "Call started!");
call.startAudio();
call.setSpeakerMode(true);
if (call.isMuted()) {
Log.d(TAG, "Muted");
call.toggleMute();
}
}
@Override
public void onRinging(SipAudioCall call, SipProfile caller) {
//super.onRinging(call, caller);
Log.d(TAG, "Ringing!");
}
@Override
public void onRingingBack(SipAudioCall call) {
//super.onRingingBack(call);
Log.d(TAG, "Ringing back");
}
@Override
public void onCallEnded(SipAudioCall call) {
//super.onCallEnded(call);
Log.d(TAG, "Call ended");
}
@Override
public void onError(SipAudioCall call, int errorCode, String errorMessage) {
//super.onError(call, errorCode, errorMessage);
Log.d(TAG, "Error! " + errorMessage);
}
};
call = sipManager.makeAudioCall(sipProfile.getUriString(), "sip:[email protected]", listener, 30);