Я разрабатываю sip-приложение, которое делает sip для sip и sip для других телефонных звонков. Я также хотел записать оба. Наконец-то я узнал, что linphone-sdk может решить проблемы. Я интегрировал Linphone-sdk из их репозитория maven в свое приложение. Я использую другой клиент Sip для звонков (не учетная запись linphone). Исходящие звонки работают отлично. Но всякий раз, когда мы получаем входящий звонок на sip-аккаунт, приложение завершается с ошибкой в журнале cat.
Как ответил в этом вопросе, я изменил соответствующую службу linphone на долго работающая служба, которая может принимать входящие вызовы, когда приложение не находится на переднем плане. Но это не решает проблему.
mHandler = new Handler();
// This will be our main Core listener, it will change activities depending on events
mCoreListener = new CoreListenerStub() {
@Override
public void onCallStateChanged(Core core, Call call, Call.State state, String message) {
android.util.Log.i(TAG, "onCallStateChanged: ");
if (state == Call.State.IncomingReceived || state == Call.State.IncomingEarlyMedia) {
Log.i(TAG, "onCallReceived: ");
// For this sample we will automatically answer incoming calls
CallParams params = getCore().createCallParams(call);
params.enableVideo(false);
call.acceptWithParams(params);
.....
}
};
В соответствии с кодом на вызов будет отвечать автоматически, но для входящих вызовов onCallStateChanged() никогда не вызывается, и логический вывод выглядит следующим образом:
... ...
2019-07-23 14:56:50.468 9248-9248/com.call.mysipapp I/liblinphone: Found payload AMR/8000 fmtp=mode-change-period=2
2019-07-23 14:56:50.469 9248-9248/com.call.mysipapp I/liblinphone: Found payload AMR/8000 fmtp=mode-change-period=1
--------- beginning of crash
2019-07-23 14:56:50.473 9248-9248/com.call.mysipapp A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x28 in tid 9248 (m.call.mysipapp)