- 서버 : janus-gateway
- 클라이언트
- react-native
- react-native-webrtc
- STUN 서버
- 테스트 Mobile
- 갤럭시 S9+
- Android 9
이상 증상에 따른 대처 내용 들
- 발견
- 로컬 로그 분석
- 서버 로그 분석
- 분석 결과 onicecandidate 의 데이터가 부족한것으로 확인
- Android 로그 분석
- react-native-webrtc 에서 dependency 하고 있는 org.webrtc 에서 오류 뿜뿜
- ICE candidate 데이터 교환 이상은 org.webrtc 에서 발생 하는 오류로 확인
- 처리
- Unable to obtain permission to request a cellular network. 로그 발생
- Android 의 시스템 작성 권한이 없어서 발생 하는 로그 로 확인
- <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 추가해주고 수동으로 앱 설정의 시스템 권한 부여 함으로 해결. 추후 사용자에게 알림 진행 후 설정 화면으로 이동하여 부여 하도록 안내 해야 함.
- 직접적인 request 후 해당 권한을 부여 할수있는 prcess 가 없음. 안드로이드의 가이드에 의하면 설정화면으로 보내서 사용자에게 수동으로 권한 부여하도록 안내 해야 함.
- Null interface name for network. 로그 발생
- 실질적은 문제는 요놈 이었다.
- org.webrtc.NetworkMonitorAutoDetect.java.java 에 보면 networkToInfo method 가 있는데 name 가져오다 오류 발생 해서 ICE candidate 정보에 누락이 발생 한 것이다.
- 처리 방법은 뭐 더 찾아 볼 예정.
댓글 없음:
댓글 쓰기