Technical Blog

기술 인사이트

실시간 통신, 미디어 처리, AI 통합에 대한 심층 분석.Agora SDK를 중심으로 프로덕션 레벨의 구현을 다룹니다.

53
포스트
7
카테고리

primary 카테고리 또는 태그로 Telephony에 속한 글을 모두 표시합니다.

Telephony
·22분 읽기

AI 콜봇 멀티콜이 안 되던 날 — SIP 트렁크 Bridge 모드 vs B2BUA(IVR) 모드

단일콜은 그럭저럭 되는데, 여러 명에게 동시에 거니까 콜 상태가 꼬인다면 트렁크의 동작 모드를 의심해야 합니다. 같은 SIP 트렁크 장비라도 발신 주체가 누구냐에 따라 셋업이 달라지는데, AI 콜봇처럼 시스템이 직접 발신하는 구조에서는 Bridge 모드로는 멀티콜이 깨지고 B2BUA, 현장에서 흔히 IVR 모드라 부르는 방식이 필요합니다. 이 글은 SIP 기초와 두 모드의 차이, 그리고 AI가 ringback에 대고 인사하던 200 OK 타이밍 문제까지 실제 트러블슈팅 과정을 따라가며 풀어냅니다.

SIPB2BUAIVRPDS+7
Telephony
·30분 읽기

VoIP 푸시 인프라 완전 가이드 — APNs · PushKit · CallKit · Agora 통합 구현

"통화용 푸시 토큰은 일반 알림 토큰이랑 같은 거 아닌가요? 인증서는 왜 두 개나 받으라는 거죠?" RTC를 도입하는 고객이 가장 자주 던지는 질문입니다. 이 글은 PushKit이 별도 시스템이 아니라 APNs 위에서 도는 특수 모드라는 핵심을 짚으면서, 일반 푸시와 VoIP 푸시가 인증서, 토큰, 페이로드, 처리 방식까지 왜 갈라지는지 풀어냅니다. PushKit 등록부터 CallKit과 Agora RTC를 묶는 통합 코드, 그리고 자체 구축과 Agora Chat 매니지드 중 무엇을 골라야 하는지까지 실무 기준으로 정리했습니다.

iOSPushKitAPNsVoIP+5
Telephony
·25분 읽기

iOS VoIP 통합의 4-레이어 모델 — CallKit · PushKit · AVAudioSession · Agora ADM

CallKit을 붙였더니 수신은 되는데 처음 3초가 무음이고, 통화 중 알람 한 번에 마이크가 죽는다면 원인은 한 곳에 있습니다. CallKit의 진짜 역할은 통화 UI를 그리는 게 아니라 오디오 세션을 언제 켤지 결정하는 권한을 시스템이 가져가는 것이기 때문입니다. 이 글은 PushKit, CallKit, AVAudioSession, Agora ADM이 어떻게 얽히는지 4개 레이어로 정리하고, didActivate에서 채널에 들어가고 didDeactivate에서 ADM을 재시작하는 원칙으로 무음과 인터럽트, 멀티앱 오디오 누수까지 여섯 가지 실전 케이스를 풀어냅니다.

iOSCallKitPushKitAVAudioSession+5
Telephony
·12분 읽기

시그널링과 미디어의 분리 — RTSP / SIP vs RTP의 통제 평면

"통화는 멀쩡히 연결됐는데 왜 한쪽 음성만 안 들릴까?" SIP와 RTSP 같은 시그널링은 통화를 걸고 코덱을 협상할 뿐, 실제 음성과 영상은 RTP가 따로 운반합니다. 이 글은 둘이 왜 다른 포트와 경로로 분리됐는지 설명하고, 그 구조 덕에 "신호는 OK, 미디어만 실패" 같은 증상을 어떻게 갈라서 진단하는지까지 짚습니다.

RTSPSIPRTPRTCP+5

© 2026 Frank Kim. All rights reserved.