Signaling

한인찬·2023년 3월 21일

시그널링의 특징

  1. 채널 관리
    통화 초대, 채널의 사용자 상태등과 같은 관리기능

  2. 온라인/오프라인 존재
    온라인/오프라인 상태의 장치들의 200ms안에서의 실시간 동기화.

  3. 낮은 지연시간.
    200ms 미만의 글로벌 평균 지연 시간 과 100ms 미만의 지역 내 평균 지연 시간과 함께 실시간 동기화를 제공한다.

  4. 저장, 배포 및 통지
    저장, 배포 및 알림을 위한 사용자 장치/채널 속성 변경 기능.

1-1 채널의 사용자 상태 관리.
사용자가 Signaling에 로그인 및 로그아웃할 때 연결 상태가 변화되며 다음과 같은 상태가 있다.
CONNECTION_STATE_DISCONNECTED - 사용자가 연결되어 있지 않습니다.
CONNECTION_STATE_CONNECTING - 사용자가 연결 중입니다.
CONNECTION_STATE_CONNECTED - 사용자가 연결되어 있습니다.
CONNECTION_STATE_RECONNECTING - 사용자가 다시 연결 중입니다.
CONNECTION_STATE_ABORTED - 사용자가 퇴출되었습니다.

  1. 시그널링에 로그인
    로그인을 호출하면 연결 상태가 DISCONNECTED에서
    CONNECTING으로 변경되며, 이 상태에서 다음 상태 중 하나로 자동 변경됩니다:
  • DISCONNECTED : 사용자가 12초 이내에 로그인하지 못함
  • CONNECTED : 로그인에 성공함.
  1. CONNECTED 상태에서 네트워크와 같은 이유로 시그널링 연결이 중단되어 4초 이내에 복구할 수 없는 경우
    RECONNECTING 상태로 변경되며 이 상태에서 로그인이 성공할 때까지 Signaling이 연결을 시도한다. 재연결에 성공하면 CONNECTED로 상태가 변경된다.

연결이 끊긴 후
수신자가 다시 연결되면,시그널링 시스템은 연결이 끊긴 기간 동안 전송된 모든 p2p 메시지를 다시 보냅니다
그러나 채널 메시지의 경우 재연결된 직전 30초 이내에 전송된 메시지만 재전송되며 최대 제한은 32개입니다.

재연결(RECONNECTING)에 계속 실패할 경우 RECONNECTING 상태로 유지가 되는데 로그아웃을 호출하여 먼저 시스템에서 로그아웃을 할 수 있습니다. 다시 적절한 방법으로 시스템에 로그인할 수 있습니다.

  1. 시그널링에서의 퇴출.
    동일한 ID를 가진 사용자가 Signaling에 로그인하면 현재 연결되어 있는 사용자가 Signaling 시스템에서 제외되고 연결 상태가 ABORTED로 변경됩니다.
    사용자가 logout을 호출하여 disconneted상태가 되게끔 한다.

1-2 통화 초대 기능.
통화 초대기능은 다음과 같이 4가지 기능으로 구현할 수 있다.

  • Send a call invitation(통화 초대 보내기)
  • Cancel a call invitation (통화 초대 취소)
  • Accept a call invitation(통화 초대 수락)
  • Refuse a call invitation (통화 초대 거절)

호출자는 LocalInvitation을 생성하고 sendLocalInvitation()함수로 통화 초대를 보낸다.

Geofencing(지오펜싱) : 실제 위치에 기반하여 가상의 경계나 구역을 만드는 기술.
Signaling SDK의 데이터 전송을 특정 영역으로 제한할 수 있으며, 지정된 영역 내의 Agora Signaling에만 연결됩니다.
지원되는 지역은 다음과 같습니다

  • GLOBAL: (Default) Global.
  • CHINA: Mainland China.
  • ASIA: Asia excluding mainland China.
  • EUROPE: Europe.
  • INDIA: India.
  • JAPAN: Japan.
  • NORTH_AMERICA: North America.
profile
개발자

0개의 댓글