PlayRTC Troubleshooting

PlayRTC의 문제 해결 방법입니다. PlayRTC는 다양한 프로토콜, 서버, 기술들을 복합적으로 사용하고 있으며 여기에서는 문제가 생겼을때 살펴보아야 할 부분을 설명합니다.

기본 사항

문제가 생겼을때 기본적으로 다음의 항목을 살펴보는 것을 권장합니다.

  • PlayRTC 프로젝트 설정
    • T Developers로 부터 발급받은 API Key를 올바로 삽입 했는지 여부
    • T Developers에서 접속 허용 URL 이나 IP를 별도로 설정 했는지 여부 등
  • PlayRTC 응용 앱 설정
    • API Key를 올바로 설정했는지 여부
    • PlayRTC 라이브러리인 jar, so파일들을 올바르게 복사하고 코드상에서 임포팅 했는지 여부
    • PlayRTC.js가 올바른 버전이 로딩 됬는지, playrtc.js가 크로스 도메인 정책에 의하여 로딩이 안된것은 아닌지 여부
    • PlayRTC 객체를 인스턴스화 할때 알맞은 설정값을 넣었는지 여부
  • PlayRTC 서버와의 연결 및 채널링
    • 인터넷 연결 여부와 망의 상태가 정상적인지 여부
    • T Developers 서버의 정상작동 여부
    • PlayRTC 서버의 정상작동 여부
  • Peer 연결
    • Peer의 인터넷 연결 여부와 망의 상태 여부
  • Peer의 단말 기능과 상태
    • 단말기의 영상/음상 미디어 장치가 존재 여부
    • 사용자가 미디어 사용을 거부/승낙 하였는지 여부

기본적으로 이런내용을 확인해보면 상당수의 기초적 문제를 해결 할 수 있습니다. 또한 여기서 얻은 정보를 통해 게시판 문의를 하면 올바른 답변을 받을 가능성을 높일 수 있습니다.

로그 레벨

PlayRTC SDK는 다음과 같은 로그 레별을 가지고 있으며 필요에 따라 사용가능합니다.

Item Description
Trace 일반적인 모든 로그를 뜻합니다. PlayRTC 객체 생성부터 각 단계별 진행이 될때마다 모든 로그를 출력합니다. 또한 warn, error 로그도 출력합니다.
Warn 삭제 예정 기능을 사용하거나 필수 파라미터가 아닌 부가적인 파라미터를 넘기지 않았을 때 이를 출력합니다. 또한 error 로그도 출력합니다.
Error 모든 에러 상황을 출력합니다. 필수 파라미터가 빠졌다거나 서버와의 연동에서 서버가 에러를 반환했다던지 또한 P2P 연결이 성사되지 못 하는 등 PlayRTC 상에서 일어날 수 있는 모든 에러는 에러로 출력됩니다.
None 어떠한 로그도 출력하지 않습니다.

로그 레벨을 설정은 각 SDK별 API 문서를 참고합니다.

State Change Event

PlayRTC는 서버와의 통신간 상태를 가지게 되며 아래의 상태 변경 이벤트를 디버그 코드로 확인할 수 있습니다.

  • CHANNELING : 채널링 시작
  • CHECKING : p2p 체킹
  • SUCCESS : p2p 성공
  • CONNECTED : P2P 연결
  • DISCONNECTED : P2P 종료

Error Code

PlayRTC 객체는 각 에러 상황별로 에러 코드를 가지고 있습니다.

Javascript SDK Error Code

아래의 에러코드를 통해 디버그 시 도움을 받을 수 있습니다.

Code Message Description
M4001 Unsupported media 단말기의 영상/음성 장치 미지원 또는 로컬미디어 생성 시 오류발생
M4002 Don't accept media 브라우저 에서 미디어 사용 거부
C4001 Failed allocate channel T Developers에서 채널 할당시 에러
C4002 Failed to connect channel's server 채널 소켓 실패
C4003 Already disconnected channel's server 연결 이 닫혀 있는 상황에서 채널서버로 요청
C4004 Invalid authentication of channel 채널 서비스에서 사용자 인증 실패(토큰, PeerId)
C4005 Invalid channel id 채널 서비스의 채널 ID 인증실패
C4006 Channel error 채널 기타 모든 에러(전문 에러 포함)
C4007 Channel socket error 채널 소켓 에러
C4008 Failed to create sdp SDP 생성 실패
C4009 Failed to register SDP 등록 실패
C4010 Failed to register candidate CANDIDATE 등록 실패
P4001 Failed P2P 연결 실패