본문으로 이동
WebRTC를 활용한 안심콜 개발기 #우아콘2024 #우아한형제들
컨퍼런스

WebRTC를 활용한 안심콜 개발기 #우아콘2024 #우아한형제들

우아콘 2024 우아한형제들 · YouTube

원문 보기

AI 핵심 요약

전화번호 노출과 콜백 제약을 줄이기 위해 배달 고객·라이더·사장님이 앱 안에서 양방향 통화할 수 있는 WebRTC 기반 안심콜을 구현했다. 서버는 Socket.IO 웹소켓 시그널링과 Redis 어댑터로 연결 정보를 교환하고, TURN 서버로 직접 연결이 어려운 경우의 미디어를 중계했으며 일회성 자격 증명으로 접근을 제한했다. iOS는 Swift 패키지로 통화 모듈을 구성하고 CallKit·PushKit과 연동했으며, Android는 콜 상태 관리와 통신·알림·오디오 시스템 연동을 구현했다. 샘플 앱으로 테스트 배포 부담을 줄이고 플랫폼별 푸시 및 통화 상태 처리 문제를 해결한 경험을 통해, 실시간 통화는 WebRTC 연결뿐 아니라 모바일 운영체제의 통화·권한·백그라운드 동작까지 함께 설계해야 함을 공유했다.

  • WebRTC 연결은 SDP와 ICE 후보를 시그널링으로 교환한 뒤 피어 간 연결을 수립하며, 직접 연결이 어려운 NAT 환경에서는 TURN이 미디어를 중계한다.
  • Socket.IO 시그널 서버를 여러 노드로 확장할 때는 Redis 어댑터처럼 노드 간 이벤트 전달을 지원하는 구성이 필요하다.
  • TURN은 리소스 비용이 크므로 인증된 사용자에게만 시간 제한이 있는 일회성 자격 증명을 발급하는 방식으로 접근을 통제한다.
  • 모바일 통화 기능은 통화 상태 전이를 명확히 관리하고, 푸시·오디오 경로·근접 센서·시스템 통화 상태와 연동해야 한다.
  • iOS 푸시 수신 처리에서는 PushKit 콜백에서 새 통화 보고를 누락하면 푸시 전달이 제한될 수 있으며, Android 14에서는 전체 화면 인텐트 사용 가능 여부를 확인해야 한다.

소개

[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ WebRTC 기반 서비스인 '안심콜'을 배달의민족 앱, 배민사장님 앱에서 어떻게 구현했는지 설명합니다. 더불어 구현하면서 겪은 어려움과 해결 과정을 공유하려 합니다. ㅤ 👉 발표자 소개ㅤ 이희상, 서버 개발자 신동규, iOS 개발자 이화영, Android 개발자

비슷한 학습 자료

컨퍼런스 우아콘 2024

[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 배달의민족 서비스에서 사용되는 시간을 예측하는 시스템을 설명하고, 다양한 서비스 적용 사례를 다룹니다. AI 모델 개발 사례와 추론 아키텍처를 설명하고, 수많은 변수에 좌우되는 ‘시간’을 정확하게 예측하기 위해 고민하고 개선했던 경험을 전달합니다. ㅤ 👉 발표자 소개ㅤ 한상윤, 데이터 엔지니어 김동인, 데이터 과학자

백엔드 딥러닝 · 머신러닝 로드맵 1개에 담김

컨퍼런스 우아콘 2024

[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ Module Federation 적용으로 문제를 해결했지만 비즈니스를 개발하고 운영하다 보면 복잡해지는 문제가 발생합니다. 이런 문제를 해결하기 위해 Module Federation을 쉽게 다루고 운영할 수 있는 Platform을 구축했습니다. 어떻게 Module Federation Platform을 구축하고 활용했는지 공유합니다. ㅤ 👉 발표자 소개ㅤ 마광휘, 웹프런트엔드 개발자

프론트엔드

컨퍼런스 우아콘 2024

[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 우아한형제들 멘토와 함께한 멘토링 세션입니다. ㅤ 👉 멘토 소개ㅤ 강경완, 모바일앱개발그룹/Android 김상국, 모바일앱개발그룹/Android

모바일 앱 개발

컨퍼런스 우아콘 2024

[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 이그나이트는 하나의 주제로 3~5명의 발표자가 5분간 빠르게 발표를 진행하는 방식의 세션입니다. 참여형으로 진행된 이그나이트 세션에서는, 우아한형제들 소속 발표자와 타소속 발표자가 함께 참여하였습니다. '운영 안정성을 기술적으로 지키는 방법' 세션에서는 QA, 배포 파이프라인 구성 등 기술을 활용해 어떻게 '운영 안정성'을 지키고 있는지 경험담을 공유합니다. 👉 발표 목록 1. 어쩌면 당연한 것들 - 김태정 님 2. 개선된 통합테스트 환경 만들기 - 김지훈 님 3. 파이프라인의 효율화: 운영 안정성을 위한 작은 스텝 - 정영진 님 4. 닥치면 다 해야하는 스타트업 개발자를 위한 인프라 QuickStart - 이재영 님

소프트웨어 테스트 데브옵스 · 인프라

컨퍼런스 우아콘 2023

[WOOWACON2023 세션 다시보기] 👉 세션 설명 요즘 대규모 서비스, 특히 슈퍼 앱에서는 웹뷰를 적극적으로 활용하는 모습을 보여주고 있습니다. 하지만 이런 상황에도 불구하고 모바일 앱 개발자와 프론트엔드 개발자 사이에서는 여러 가지 어려움이 있습니다. 모바일 앱 개발자로서 웹뷰를 사용하고 있으나 프론트엔드 개발자만큼 자세히 알지 못해서 어려움을 느끼나요? 프론트엔드 개발자로서 다양한 브라우저를 지원하는 것과 동시에, 같으면서도 너무 다른 웹뷰까지 지원해야 하는 데 부담을 느끼시나요? 이 발표에서는 웹뷰를 더 깊게 이해할 수 있도록 관련된 이야기를 해 보려고 합니다. 더 나아가 모바일 앱 개발자와 프론트엔드 개발자가 서로를 더 잘 이해하고 협업할 수 있길 바라면서 말이죠.ㅤ ㅤ 👉 발표자 소개 배민푸드iOS개발팀 임민호 WebKit과 Chromium을 사용하는 WebEngine 개발자를 거쳐 현재는 iOS 앱 개발을 담당하고 있습니다. 전문 분야인 웹뷰 지식을 공유해...

프론트엔드 모바일 앱 개발

컨퍼런스 우아콘 2022

배달의 민족을 이용하시는 사장님들을 위한 통합 서비스, '배민사장님 앱'! 이 앱을 개발한 개발자들은 어떤 기능을 어떻게 개발할까요? 또 어떤 고민을 가지고 어떻게 풀어나갈까요? 배민사장님앱의 개발 이야기가 궁금하신 분들은 주목해 주세요! iOS 개발자가 들려주는 앱의 핵심 기능 개발부터, 프론트엔드 개발자가 들려주는 문제상황과 해결 방법을 거쳐, Android 개발자가 들려주는 새로운 아키텍처 도입까지! 무엇을 좋아하실지 몰라 종합세트로 준비했습니다. [발표자 소개] 김동연 | 배민푸드Android개발팀 우아한형제들에서 주문고객님, 사장님을 위한 Android앱을 개발하고 있습니다. 훌륭한 동료들과 유익한 앱을 만들기 위해 노력중입니다. 김양원 | 셀러웹프론트개발팀 우아한형제들에서 배민사장님앱 웹뷰를 개발하는 웹프론트엔드 개발자입니다. 편리하고 이질감 없는 사용성을 느낄 수 있는 서비스를 만들도록 최선을 다하고 있습니다. 박하영 | 배민푸드iOS개발팀 귀한 분과 사장님을 위한...

프론트엔드 모바일 앱 개발