[ePDG] VoWiFi Call via ePDG Server — IMS 통화가 Wi-Fi에서 살아나는 과정
SEO Meta Description: VoWiFi 통화가 ePDG 서버를 통해 IMS로 연결되는 과정을 UE, Wi-Fi, ePDG, AAA, P-GW, P-CSCF, IMS 흐름 중심으로 정리합니다. IKEv2, EAP-AKA, IPsec, IMS REGISTER, SIP INVITE, 장애 분석 포인트까지 다룹니다.
SEO Keywords: ePDG, VoWiFi, Wi-Fi Calling, IMS, IKEv2, IPsec, EAP-AKA, SWm, S2b, P-GW, P-CSCF, SIP REGISTER, SIP INVITE
VoWiFi를 처음 보면 “Wi-Fi로 전화한다”는 말이 너무 단순하게 들립니다. 그런데 실제 로그를 열어보면 Wi-Fi 접속, ePDG 선택, IKEv2, EAP-AKA, IPsec 터널, EPC 세션, IMS 등록, SIP Call까지 여러 계층이 줄줄이 이어집니다. 이 글에서는 ePDG가 통화 서버처럼 동작한다고 오해하기보다, Wi-Fi에서 IMS망으로 안전하게 들어가기 위한 관문으로 이해하는 방향으로 정리하겠습니다.
- VoWiFi에서 ePDG가 필요한 이유
- 전체 구조: UE, Wi-Fi, ePDG, AAA, P-GW, IMS
- VoWiFi Call 절차 한 번에 보기
- ePDG Discovery와 IKEv2/IPsec 터널 생성
- AAA 인증과 EPC 세션 생성
- IMS REGISTER와 실제 Call Setup
- 실무 로그 분석 포인트
- 장애 원인과 체크리스트
- FAQ와 공식 참고자료
1. VoWiFi에서 ePDG가 필요한 이유
VoLTE는 단말이 LTE 무선망에 붙은 상태에서 IMS APN을 통해 음성 서비스를 사용하는 구조입니다. 반면 VoWiFi는 액세스 구간이 LTE가 아니라 Wi-Fi입니다. 문제는 Wi-Fi가 이동통신사가 직접 제어하는 3GPP 무선망이 아니라는 점입니다. 집 공유기, 회사 Wi-Fi, 카페 AP처럼 품질과 보안 상태를 통신사가 끝까지 보장하기 어렵습니다.
그래서 등장하는 장비가 ePDG(Evolved Packet Data Gateway)입니다. 단말은 Wi-Fi로 인터넷에 붙은 뒤, 인터넷 너머의 ePDG와 IPsec 터널을 만듭니다. 이 터널 안쪽으로 IMS APN 트래픽이 지나가면, 코어망 입장에서는 단말이 비3GPP 액세스를 통해 EPC에 안전하게 들어온 것처럼 처리할 수 있습니다.
ePDG는 “VoWiFi 통화 서버”가 아닙니다. SIP REGISTER, INVITE, 183 Session Progress, 200 OK 같은 IMS/SIP 절차는 P-CSCF, S-CSCF, TAS 등 IMS 영역에서 처리됩니다. ePDG는 그 전에 단말과 EPC 사이의 보안 액세스 경로를 만들어 주는 장비로 보는 편이 정확합니다.
2. 전체 구조: VoWiFi는 어떤 장비를 지나갈까?
| 구성요소 | 역할 | 로그에서 보면 |
|---|---|---|
| UE | VoWiFi를 지원하는 단말. Wi-Fi 접속 후 ePDG와 IPsec 터널을 만들고 IMS 등록을 수행한다. | DNS, IKEv2, EAP-AKA, SIP REGISTER, SIP INVITE 로그가 모두 단말 쪽에서 시작된다. |
| Wi-Fi AP / Router | 단말에게 인터넷 연결을 제공한다. 이동통신망 장비는 아니므로 품질 보장이 제한적이다. | UDP 500/4500 차단, NAT, MTU 이슈가 자주 보인다. |
| ePDG | 단말과 IPsec 터널을 맺고, EPC 쪽으로 S2b 세션을 연결한다. | IKE_SA_INIT, IKE_AUTH, CHILD_SA, SPI, tunnel IP가 핵심이다. |
| 3GPP AAA / HSS | USIM 기반 인증 벡터, 가입자 권한, APN 접근 가능 여부를 확인한다. | SWm Diameter, EAP-AKA Challenge, Authorization Result를 본다. |
| P-GW | IMS APN의 IP 연결을 제공하고, ePDG와 S2b로 연결된다. | Create Session Request/Response, APN, P-CSCF 주소, UE inner IP가 중요하다. |
| IMS Core | SIP 등록과 통화 제어를 담당한다. P-CSCF, I-CSCF, S-CSCF, TAS 등이 여기에 포함된다. | REGISTER 401/200 OK, INVITE/183/200 OK/ACK, RTP 흐름을 확인한다. |
3. VoWiFi Call 절차 한 번에 보기
VoWiFi 통화는 크게 두 구간으로 나누면 이해가 쉽습니다. 첫 번째는 ePDG 접속 구간입니다. 이 단계에서 단말은 Wi-Fi 위에 IPsec 터널을 만들고 EPC의 IMS APN에 붙습니다. 두 번째는 IMS 통화 구간입니다. 이 단계에서 단말은 P-CSCF를 통해 IMS에 등록하고, 실제 발신/착신 SIP 절차를 수행합니다.
- UE가 Wi-Fi에 연결됩니다.
단말은 일반 인터넷을 사용할 수 있는 IP를 받습니다. 이 IP는 아직 IMS 서비스용 IP가 아니라, ePDG에 도달하기 위한 바깥쪽 IP라고 보면 됩니다. - UE가 ePDG를 찾습니다.
PLMN 정보와 FQDN 규칙, DNS 조회 등을 통해 접속할 ePDG 주소를 찾습니다. 해외 로밍이나 사설 Wi-Fi 환경에서는 이 단계부터 실패하는 경우가 꽤 있습니다. - UE와 ePDG가 IKEv2 협상을 시작합니다.
IKE_SA_INIT에서 암호 알고리즘, DH 그룹, nonce, NAT 감지 등이 오갑니다. NAT가 있으면 이후 UDP 4500 기반 NAT-T로 넘어가는 경우가 많습니다. - EAP-AKA/EAP-AKA' 기반 인증이 진행됩니다.
단말의 USIM과 가입자 정보가 핵심입니다. ePDG는 AAA/HSS 쪽과 연동해 가입자 인증과 권한을 확인합니다. - IPsec CHILD_SA가 생성됩니다.
이제 단말과 ePDG 사이에 암호화된 터널이 생깁니다. 단말 입장에서는 이 터널 안쪽에 IMS APN용 내부 IP가 붙습니다. - ePDG가 P-GW와 S2b 세션을 만듭니다.
사업자 구현에 따라 GTP 기반 또는 PMIPv6 기반 구성이 가능하지만, 상용망 분석에서는 S2b의 세션 생성 성공 여부가 매우 중요한 분기점입니다. - UE가 IMS REGISTER를 수행합니다.
P-CSCF 주소를 얻은 뒤 SIP REGISTER를 보내고, IMS AKA Challenge를 통과하면 등록 상태가 됩니다. - 통화 시 SIP INVITE와 RTP 흐름이 만들어집니다.
발신이면 INVITE가 나가고, 착신이면 IMS 등록 상태를 바탕으로 단말이 호출됩니다. 음성 RTP는 IMS 미디어 경로와 EPC bearer/QoS 정책에 따라 흐릅니다.
4. ePDG Discovery와 IKEv2/IPsec 터널 생성
ePDG 접속의 첫 단추는 Discovery입니다. 단말이 “어느 ePDG로 붙어야 하는가”를 모르면 IKEv2를 시작할 수 없습니다. 일반적으로 단말은 사업자 PLMN 정보를 바탕으로 ePDG FQDN을 만들고 DNS로 주소를 찾습니다. 이 단계는 단순해 보이지만, 실제 현장에서는 DNS, 로밍, 방화벽, captive portal 때문에 실패가 제법 많습니다.
| 단계 | 확인할 내용 | 장애 때 보이는 흔한 증상 |
|---|---|---|
| Wi-Fi 연결 | UE가 IP, Gateway, DNS를 정상 수신했는지 확인 | Wi-Fi 아이콘은 켜져 있지만 인터넷이 안 되거나 captive portal에 걸림 |
| ePDG DNS | ePDG FQDN 질의와 응답 IP 확인 | DNS timeout, NXDOMAIN, 잘못된 국가/사업자 ePDG 선택 |
| IKE_SA_INIT | UDP 500/4500 도달성, NAT Detection, 알고리즘 협상 확인 | No response, proposal mismatch, NAT-T 전환 실패 |
| IKE_AUTH | EAP-AKA Challenge/Response, ID, 인증 벡터 확인 | Authentication failed, synchronization failure, subscription not allowed |
| CHILD_SA | 터널용 Traffic Selector, SPI, inner IP, DNS/P-CSCF 수신 여부 확인 | IPsec은 올라온 것처럼 보이나 IMS REGISTER가 나가지 않음 |
VoWiFi 장애는 “SIP가 안 된다”로 접수되는 경우가 많지만, 실제 원인은 SIP 이전 단계인 경우가 많습니다. ePDG DNS가 안 됐는지, IKEv2가 실패했는지, EAP-AKA에서 막혔는지, S2b 세션이 안 만들어졌는지부터 나누면 분석 시간이 줄어듭니다.
5. AAA 인증과 EPC 세션 생성
IKEv2 메시지는 UE와 ePDG 사이에서 오가지만, ePDG 혼자서 가입자를 인증하는 것은 아닙니다. ePDG는 3GPP AAA 서버와 연동하고, AAA는 HSS/HLR 계열의 가입자 데이터와 연결됩니다. 결국 단말의 USIM, 가입자 프로파일, IMS APN 접근 권한, 로밍 정책이 함께 맞아야 VoWiFi 접속이 완료됩니다.
인증이 끝나면 ePDG는 P-GW와 연결해 IMS APN 세션을 구성합니다. 이 단계에서 UE는 터널 안쪽에서 사용할 IP 주소를 받고, P-CSCF 주소 같은 IMS 접속 정보를 전달받을 수 있습니다. 여기까지 성공해야 단말의 SIP REGISTER가 의미 있게 시작됩니다.
| 구분 | 주요 인터페이스/프로토콜 | 역할 |
|---|---|---|
| UE ↔ ePDG | IKEv2, IPsec ESP, EAP-AKA/EAP-AKA' | 비신뢰 Wi-Fi 구간을 안전한 터널로 감싼다. |
| ePDG ↔ AAA | SWm, Diameter | 가입자 인증, 권한 확인, EAP 메시지 중계/처리. |
| AAA ↔ HSS | SWx 등 사업자 구현 기반 연동 | 가입자 정보와 인증 벡터를 조회한다. |
| ePDG ↔ P-GW | S2b, GTPv2-C/GTP-U 또는 PMIPv6 계열 | IMS APN용 EPC 세션과 사용자 트래픽 경로를 만든다. |
| UE ↔ IMS | SIP, RTP/RTCP | IMS 등록, 발신/착신 통화, 미디어 전송. |
6. IMS REGISTER와 실제 Call Setup
ePDG 터널이 올라왔다고 해서 통화가 바로 가능한 것은 아닙니다. 그 다음에는 IMS 등록이 필요합니다. 단말은 P-CSCF로 SIP REGISTER를 보내고, IMS Core는 401 Unauthorized Challenge를 통해 IMS AKA 인증을 진행합니다. 인증 응답이 맞으면 200 OK가 내려오고, 단말은 IMS에 등록된 상태가 됩니다.
VoWiFi IMS 등록 흐름 예시
UE → P-CSCF : REGISTER
IMS → UE : 401 Unauthorized (WWW-Authenticate)
UE → P-CSCF : REGISTER (Authorization 포함)
IMS → UE : 200 OK
이후 발신 Call
UE → IMS : INVITE
IMS → UE : 100 Trying / 183 Session Progress
UE ↔ IMS/상대망 : RTP Media 준비
IMS → UE : 200 OK
UE → IMS : ACK
발신 통화에서는 INVITE 이후 183 Session Progress와 SDP 협상이 중요합니다. 착신 통화에서는 단말이 Wi-Fi에 붙어 있어도 IMS 등록 상태가 유지되어야 하고, 네트워크는 그 등록 정보를 바탕으로 단말을 호출합니다. 여기서 ePDG는 SIP 메시지를 해석하는 주체라기보다는, IPsec 터널과 EPC 경로를 유지하는 쪽에 가깝습니다.
EPC/IMS 쪽에서는 SIP signaling과 voice media에 대해 bearer와 QoS 정책을 구분할 수 있습니다. 다만 Wi-Fi 무선 구간은 이동통신사가 LTE처럼 세밀하게 제어하기 어렵습니다. 그래서 VoWiFi 품질 문제는 IMS/SIP 로그만 봐서는 잘 안 잡히고, Wi-Fi RSSI, packet loss, jitter, NAT, MTU까지 같이 봐야 합니다.
7. 실무 로그 분석 시 확인 포인트
VoWiFi 분석은 순서를 지키는 것이 중요합니다. SIP 메시지가 없다고 바로 IMS 문제로 보면 빗나갈 수 있습니다. 아래 순서대로 보면 “아예 ePDG에 못 붙은 문제”와 “ePDG는 붙었지만 IMS 등록이 실패한 문제”를 구분하기 쉽습니다.
| 분석 순서 | 확인 포인트 | 정상일 때 기대값 |
|---|---|---|
| 1. Wi-Fi | IP 할당, DNS, 인터넷 도달성, captive portal | UE가 외부 IP로 ePDG에 도달 가능 |
| 2. ePDG Discovery | FQDN 생성, DNS 응답, 선택된 ePDG IP | 사업자/로밍 정책에 맞는 ePDG 주소 선택 |
| 3. IKEv2 | IKE_SA_INIT, IKE_AUTH, proposal, NAT-T |
IKE SA가 생성되고 인증 단계로 진행 |
| 4. EAP-AKA | Identity, Challenge, Response, Result | USIM 기반 인증 성공 |
| 5. IPsec | CHILD_SA, SPI, Traffic Selector, inner IP | UE ↔ ePDG 암호화 터널 생성 |
| 6. S2b/EPC | APN, P-GW 선택, Create Session Response, P-CSCF 주소 | IMS APN 세션 생성 및 P-CSCF 정보 확보 |
| 7. IMS REGISTER | REGISTER, 401, Authorization, 200 OK | IMS 등록 완료 |
| 8. Call | INVITE, SDP, 183/180, 200 OK, ACK, RTP | 호 설정 완료 및 양방향 RTP 카운터 증가 |
8. 장애 원인별로 보면 더 빨리 잡힌다
VoWiFi 장애는 한 줄로 “통화 안 됨”이라고 들어와도 원인은 층별로 완전히 다릅니다. 아래 표는 현장에서 자주 마주치는 유형을 절차 순서대로 정리한 것입니다.
| 증상 | 가능한 원인 | 우선 확인할 로그 |
|---|---|---|
| VoWiFi 아이콘이 안 뜸 | 단말 설정, 사업자 프로비저닝, Wi-Fi 조건, ePDG Discovery 실패 | Wi-Fi 상태, DNS 질의, ePDG FQDN, 단말 VoWiFi enable flag |
| ePDG에 연결이 안 됨 | UDP 500/4500 차단, NAT 문제, 방화벽, IKE proposal mismatch | IKE_SA_INIT request/response, NAT detection, retransmission |
| 인증 실패 | USIM 인증 실패, AAA/HSS 프로파일 문제, 로밍 권한 없음 | EAP-AKA result, SWm Diameter result code, subscription data |
| IPsec은 올라오지만 IMS 등록 실패 | P-CSCF 미수신, IMS APN 세션 문제, SIP 403/timeout | P-GW 세션 응답, P-CSCF address, SIP REGISTER trace |
| 통화 발신만 실패 | IMS 서비스 권한, TAS/charging/policy, SIP routing 문제 | INVITE, 403/488/500 계열 응답, SDP negotiation |
| 무음 또는 한쪽 음성 | RTP 경로 문제, NAT/방화벽, MTU/fragmentation, Wi-Fi 품질 | RTP counter, packet loss, jitter, ESP packet size, ICMP unreachable |
| 통화 중 끊김 | Wi-Fi RSSI 저하, AP roaming, IPsec DPD timeout, 네트워크 절체 실패 | Wi-Fi roam event, IKE DPD, rekey, RTP gap, SIP BYE reason |
10. FAQ
Q1. ePDG와 P-CSCF는 같은 장비인가요?
아닙니다. ePDG는 Wi-Fi 같은 비3GPP 액세스에서 EPC로 안전하게 들어오기 위한 보안 게이트웨이입니다. P-CSCF는 IMS SIP signaling의 첫 진입점입니다. 둘은 역할이 다르고, 장애 분석에서도 분리해서 봐야 합니다.
Q2. VoWiFi에서는 LTE 망을 전혀 쓰지 않나요?
무선 액세스는 Wi-Fi를 사용하지만, 서비스는 이동통신사의 EPC/IMS 인프라를 사용합니다. 즉, 무선 구간은 Wi-Fi이고, 코어 서비스는 IMS 기반 이동통신 서비스라고 보는 것이 맞습니다.
Q3. IPsec 터널이 올라오면 바로 전화가 되나요?
그렇지 않습니다. IPsec 터널은 IMS로 가는 안전한 길을 만든 것에 가깝습니다. 이후 SIP REGISTER를 통해 IMS 등록이 성공해야 발신/착신 통화가 가능합니다.
Q4. VoWiFi 통화 품질은 왜 Wi-Fi 상태에 민감한가요?
IMS와 EPC 쪽에서 QoS 정책을 적용하더라도, 실제 단말과 AP 사이의 무선 품질은 Wi-Fi 환경에 크게 좌우됩니다. RSSI, 간섭, AP roaming, packet loss, jitter가 통화 품질에 직접 영향을 줍니다.
Q5. ePDG 기반 VoWiFi와 5GC의 N3IWF는 같은 개념인가요?
목적은 비슷하지만 구조는 다릅니다. 이 글은 EPC 기반 ePDG VoWiFi를 다룹니다. 5GC에서는 untrusted non-3GPP access 연동에 N3IWF가 사용되며, NAS/NGAP/N2/N3 구조로 설명하는 편이 더 적절합니다.
Q6. SIP 로그만 보면 VoWiFi 장애를 충분히 분석할 수 있나요?
IMS 등록 이후 문제라면 SIP 로그가 중요합니다. 하지만 SIP가 나오기 전 단계에서 막힌 장애라면 DNS, IKEv2, EAP-AKA, IPsec, S2b 로그를 먼저 봐야 합니다. VoWiFi는 SIP 이전 단계가 절반 이상입니다.
12. 3GPP/RFC 공식 참고자료
아래 문서는 ePDG 기반 VoWiFi를 공부할 때 기준점으로 삼기 좋은 공식 자료입니다. 블로그 글에서는 전체 표준 조항을 그대로 옮기기보다, 용어와 절차의 기준을 맞추는 용도로 참고하는 편이 좋습니다.
- 3GPP TS 23.402 — Architecture enhancements for non-3GPP accesses
- 3GPP TS 24.302 — Access to EPC via non-3GPP access networks; Stage 3
- 3GPP TS 33.402 — Security aspects of non-3GPP accesses
- 3GPP TS 29.273 — EPS AAA interfaces
- 3GPP TS 29.274 — GTPv2-C; Stage 3
- 3GPP TS 23.228 — IP Multimedia Subsystem (IMS); Stage 2
- RFC 7296 — Internet Key Exchange Protocol Version 2 (IKEv2)
- RFC 4187 — EAP-AKA
- RFC 5448 — EAP-AKA'
- RFC 3948 — UDP Encapsulation of IPsec ESP Packets
마무리
VoWiFi를 한 문장으로 줄이면 “Wi-Fi 위에 IMS 음성 서비스를 올리는 구조”라고 할 수 있습니다. 하지만 실제 절차는 단순하지 않습니다. Wi-Fi 접속이 먼저 있고, ePDG Discovery가 있고, IKEv2와 EAP-AKA 인증이 있고, IPsec 터널과 EPC 세션이 만들어진 뒤에야 IMS REGISTER가 시작됩니다.
그래서 VoWiFi 장애를 볼 때는 IMS만 바라보면 답이 늦게 나옵니다. ePDG 전 단계인지, IPsec 단계인지, EPC 세션 단계인지, IMS 등록 이후인지를 나누면 훨씬 빨라집니다. ePDG는 통화의 주인공은 아니지만, VoWiFi 통화가 시작되기 전에 반드시 문을 열어줘야 하는 중요한 관문입니다.
'Wireless > IMS' 카테고리의 다른 글
| [IMS] XCAP - Call Diversion Part (0) | 2022.03.19 |
|---|---|
| [IMS] CSCF - IMS Authentication Procedure Part (0) | 2022.03.19 |