Kakao i Connect Live 커뮤니티

통화를 받았는데 자동으로 통화거절되는 이유

안녕하세요
api ‘com.remotemonster:sdk:2.6.4’
최신 sdk적용 후 테스트 중입니다.

통화를 걸었을때 바로 통화거절로 이런 로그가 뜨는데
혹시 원인이 뭔지 알 수 있을까요?

D/AppRTCAudioManager: ctor
D/AppRTCBluetoothManager: create@[name=main, id=1]
ctor
D/AppRTCAudioManager: useSpeakerphone: false
defaultAudioDevice: EARPIECE
Android SDK: 23, Release: 6.0.1, Brand: lge, Device: mk6m, Id: MXB48T, Hardware: mk6m, Manufacturer: LGE, Model: LG-F770S, Product: mk6m_skt_kr
start
AudioManager starts…
D/AudioManager: getMode name:kr.co.voicefriends.mobile
V/AudioManager: requestAudioFocus() Request Package = kr.co.voicefriends.mobile
requestAudioFocus() flags = 0 Request Package = kr.co.voicefriends.mobile
D/AudioManager: setMode mode:3 name:kr.co.voicefriends.mobile
D/AppRTCAudioManager: setMicrophoneMute:was=false,new=false
D/AppRTCBluetoothManager: start
D/AppRTCBluetoothManager: BluetoothAdapter: enabled=false, state=OFF, name=LG X5, address=02:00:00:00:00:00
D/AppRTCBluetoothManager: HEADSET profile state: DISCONNECTED
Bluetooth proxy for headset profile has started
start done: BT state=HEADSET_UNAVAILABLE
D/AppRTCAudioManager: — updateAudioDeviceState: wired headset=false, BT state=HEADSET_UNAVAILABLE
Device status: available=[], selected=NONE, user selected=NONE
D/AppRTCAudioManager: audioDevice=[EARPIECE, SPEAKER_PHONE],newAudioDevice=EARPIECE,selectedAudioDevice=NONE,userSelectedDevice=NONE,setUpdatedtrue
setAudioDeviceInternal(device=EARPIECE)
New device status: available=[EARPIECE, SPEAKER_PHONE], selected=EARPIECE
D/MediaManager: onAudioManagerDevicesChanged: [EARPIECE, SPEAKER_PHONE], selected: EARPIECE
D/AppRTCAudioManager: — updateAudioDeviceState done
D/AppRTCAudioManager: AudioManager started
D/AppRTCAudioManager: WiredHeadsetReceiver.onReceive@[name=main, id=1]: a=android.intent.action.HEADSET_PLUG, s=unplugged, m=mic, n=, sb=true
— updateAudioDeviceState: wired headset=false, BT state=HEADSET_UNAVAILABLE
Device status: available=[EARPIECE, SPEAKER_PHONE], selected=EARPIECE, user selected=NONE
D/AppRTCAudioManager: audioDevice=[EARPIECE, SPEAKER_PHONE],newAudioDevice=EARPIECE,selectedAudioDevice=EARPIECE,userSelectedDevice=NONE,setUpdatedfalse
— updateAudioDeviceState done
E/MainActivity: Remon init process is failed, Remon WebServer is not respond
W/System.err: java.net.SocketTimeoutException: timeout
W/System.err: at okhttp3.internal.http2.Http2Stream$StreamTimeout.newTimeoutException(Http2Stream.java:671)
at okhttp3.internal.http2.Http2Stream$StreamTimeout.exitAndThrowIfTimedOut(Http2Stream.java:679)
at okhttp3.internal.http2.Http2Stream.takeHeaders(Http2Stream.java:153)
at okhttp3.internal.http2.Http2Codec.readResponseHeaders(Http2Codec.java:131)
W/System.err: at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:127)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:225)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:257)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:201)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
D/AppRTCBluetoothManager: stop: BT state=HEADSET_UNAVAILABLE
D/AppRTCBluetoothManager: stopScoAudio: BT state=HEADSET_UNAVAILABLE, SCO is on: false
D/AppRTCBluetoothManager: cancelTimer
stop done: BT state=UNINITIALIZED
D/AppRTCAudioManager: stop
E/AppRTCAudioManager: unregisterReceiver: Receiver not registered
D/AppRTCBluetoothManager: stop: BT state=UNINITIALIZED
D/AppRTCAudioManager: setMicrophoneMute:was=false,new=false
D/AudioManager: setMode mode:0 name:kr.co.voicefriends.mobile
D/voicefriendsDebug: newTokendaG6VOKnhZk:APA91bFWG03h5-aU1zzEeaQQdUIvgH6vr-F8p5ppg_uYHBToArSt5U9CT11ZHQP0GqLRfjD0ybp6rBEs-JEacDnpdcjaCTk-VjzH2x8BAATKCcT99fIDjBZtErT6VM8yd_yljH2g2SUn
D/FA: Logging event (FE): screen_view(_vs), Bundle[{firebase_event_origin(_o)=auto, firebase_previous_class(_pc)=IncomingCallActivity, firebase_previous_id(_pi)=203978533605837147, firebase_screen_class(_sc)=HomeActivity, firebase_screen_id(_si)=203978533605837139}]
I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@fdaedf time:95531691
V/FA: Connection attempt already in progress
Connection attempt already in progress
V/FA: Activity resumed, time: 250780073
D/FA: Logging event (FE): user_engagement(_e), Bundle[{firebase_event_origin(_o)=auto, engagement_time_msec(_et)=17830, firebase_screen_class(_sc)=IncomingCallActivity, firebase_screen_id(_si)=203978533605837147}]
V/FA: Connection attempt already in progress
D/FA: Connected to remote service
V/FA: Processing queued up service tasks: 4
D/incomingcall: onDestroy
E/통화거절: receive
D/voicefriendsDebug: rejectCode : rejectCall
E/getCookie: CR-20200109091445-1777
E/getCookie: prominence%40naver.com
D/voicefriendsDebug: header : key=jAimSiSVeRyGeniUs&st_code=voicefriend&cr_code=CR-20200109091445-1777&ac_id=prominence%40naver.com&app_key=Q1ItMjAyMDAxMDkwOTE0NDUtMTc3Nw==
header base64 : a2V5PWpBaW1TaVNWZVJ5R2VuaVVzJnN0X2NvZGU9dm9pY2VmcmllbmQmY3JfY29kZT1DUi0yMDIwMDEwOTA5MTQ0NS0xNzc3JmFjX2lkPXByb21pbmVuY2UlNDBuYXZlci5jb20mYXBwX2tleT1RMUl0TWpBeU1EQXhNRGt3T1RFME5EVXRNVGMzTnc9PQ==
W/RemonClient: Remon context is null
D/incoming: Last call ended: no incall (CPU only) wake lock were held
D/libc: getaddrinfo called from pid =11645
D/libc: getaddrinfo called from pid =11645
D/voicefriendsDebug: actionSignal api data :
D/actionSignal: log - 1 :{“enable_duration”:0,“response”:“success”}
V/FA: Inactivity, disconnecting from the service

service id가 어떤 것인지 알 수 있을까요?

09bd1300-e1cd-408f-b53f-a0e56a91fa1d 입니다.

안녕하세요.
onError 콜백을 사용하셔서 어떤 에러가 전달되는지 확인해 보시고,
해당 에러의 코드를 알려주셨으면 합니다.

앱에서 통화거절을 구현할 때, remonCall.connect() 후에 바로 remonCall.close() 하시는 방법으로 구현하셨을 것으로 생각됩니다.
위 Service ID로 1월 28일에 있었던 통화 중에 5초 미만인 것이 10건 정도 있었습니다.
서버에 남은 로그로는, 모두 클라이언트(안드로이드 모바일 앱)가 종료를 요청한 것으로 표시되었습니다.
서버의 이유로 통화가 종료된 건은 없었습니다.
앱의 통화 종료 로직을 먼저 살펴보는 것이 좋을 것 같습니다.

혹시 통화거절 하는 쪽에서 remonCall.close()를 안 하는 방법으로 구현하셨다면 추가 문의 바랍니다.
추가 문의 시 아래의 정보를 주시면 좋겠습니다.

  • 증상이 발생한 대략적인 시각 또는 Channel ID
  • onError 콜백 함수가 인자로 받은 내용
  • 재현 방법