SW Science for QA/4G 5G Network 기초

VoLTE Call Service 간단 설명

일해라폴폴 2020. 1. 20. 14:32
반응형

다음글은 Redmouse, 엔지니어를 위한 SIP이해 의 포스팅을 참고 하여 작성 하였습니다. 미국 통신사의 이해를 위해 교육목적으로 작성되었습니다. 해당 글을 상업적인 목적으로 사용은 자제 부탁 드립니다.

1. VoLTE Call Flow
Field Test 의 목적은 실제 환경에서 사용자의 입장으로 테스트를 진행 하고 발견되는 문제를 보고 하고 테스트 결과를 바탕으로 실제 시장에 제품의 출시를 예상 하기 위한 테스트의 과정으로 볼 수 있다. FVT에서 수행하는 테스트를 통해서 한국의 SW 개발팀은 실제 고객의 환경에서 사용가능한 수준인지를 확인 하고 나아가 지금까지 개발된 기능들의 동작을 확인 하기 위해 테스트를 현지에서 진행하고 있다고 생각하면 된다. 따라서 지속적인 테스트 진행을 위해서는 현재 삼성 휴대용 단말기기에서 지원하는 서비스 중 주력으로 제공하는 IMS 서비스에 대한 기본적인 이론 및 규칙들을 이해하고 테스트를 진행하는 것이 보다 좋은 품질의 테스트 및 제품을 제공 할 수 있게 된다
아래 제공되는 내용은 모두 우리가 사용중인 기기들을 중심으로 설명 되어 있으며 (Ex. Figure1 의 UE) 다른 네트워크 계층에 대한 부분은 따로 설명 하지 않겠다.

1.1. Service Initialize
1.1.1. IMS Registration
VoLTE Network를 지원하면서 사용자는 IMS 기반의 서비스 이용이 가능하다. IMS Registration은 다음과 같은 Procedure로 등록을 하게 되며 서비스 등록이 완료 되면 VoLTE Call, RCS Service, Video Call 등 다양한 서비스를 이용할 수 있게 된다.

Figure 1 IMS Registration (Ref.  http://hongjoo71-e.blogspot.com/)  

서비스 등록을 위해서 UE에서는 네트워크 공급자에게 서버 등록을 위한 Profile 정보를 보안된 Packet 으로 SIP 프로토콜을 이용하여 전송한다. 위의 Figure1 과 같이 EPC 부터 HSS까지 이어지는 네트워크 인증 경로를 따라서 인증 절차를 수행 하게 되며 네트워크 공급자로부터 정상적인 사용자로 판단이 되면 IMS registration 절차를 허용 하게 된다.

Figure 2 SIP Message Flow 
Figure 3 IMS 등록을 위한 Profile Setting 

1.1.2. IMS Subscribe
IMS Registration 절차가 완료 되면 서비스를 가입한 사용자인지를 확인 하는 절차를 확인 한다. 서비스 공급자로부터 UE IMS 서비스 가입을 했다는 정보를 확인 하게 되면 Publish Result를 받게 되고 정상적인 IMS 기능을 사용하게 된다

Figure 4 IMS Subscribe (Ref.  http://hongjoo71-e.blogspot.com/)  

Subscribe Process 에서 중요한 내용은 Expires를 확인 하는 것이다. 서비스 공급자와 단말 사이에 Session 확인 및 보안을 유지 하기 위해 (그 외에 다른 이유도 있지만…) Expires를 내려 받게 되며 이는 각 서비스 사업자 별로 다르다.
아래와 같이 Subscribe, Notify, Publish 과정을 완료 하게 되면 이때부터 단말은 IMS 서비스를 온전히 이용가능 하다.

Figure 5 SIP Message Flow 

앞서 말한 것 과 같이 IMS 등록 및 구독이 완료 되면 *#467# 이나 *#77467#을 통해서 IMS Setting 상황을 볼 수 있고, 위의 과정들이 완료 되면 IMS Registration은 True 로 확인 된다. 그 외에도 단말에서 지원을 하거나 (혹은 하지 않더라도) 서비스 공급자가 가능한 서비스들의 목록이 아래와 같이 표시 된다. 아래는 VZW의 IMS 목록이고, 모든 서비스를 지원 한다. (만약 SPR 를 보게 된다면 Video Over IP 는 False 로 표시된다. Sep.2019 기준)

Figure 6 IMS Information (VZW) 

1.2. Call Process
1.2.1. Invite Call
Call 연결은 SIP 규격에 정해진 순서대로 이루어 진다. 실제 사용되고 있는 SIP Call 성립 조건은 다음과 같다.
● Invite
● 100 Tring
● 180 Ringing
● 200 OK
● ACK
위의 규칙은 흔히 우리가 전화번호를 눌러 통화버튼을 누른 후 (Invite, 100 Tring) 상대방인 MT 과 연결되어 통화 연결음이 들리고 (180 Ringing) MT 가 전화를 수신하면 (ACK)가 통화가 성공적으로 연결 되었다고 볼 수 있다.

Figure 7 SIP Message Flow 

위의 Logcat 은 일련의 통화 연결 과정을 간략하게 보여 주는 것이다. 그리고 아래에는 Figure7 에서 보여준 Call Flow의 보다 자세한 Session 및 단말과의 통신 연결을 보여주는 Flow 이다. 아래의 연결 과정으로 통해 단말은 서비스 공급자에게 필요한 IMS기능과 사용가능 한 기능을 확인 하고 MT와의 통화 가능한 상태를 만들어 놓게 된다.

Figure 8 VoLTE setup call flow (Ref.  http://hongjoo71-e.blogspot.com)  

100 Tring 을 시도 하면서 서비스 공급자로부터 기기는 연결을 위한 세션을 업데이트 및 준비 하게 되고, SDP를 사용 하기 위한 183 Session Process 준비 하게 된다. (Figure9 참고)
해당 과정이 완료 되면 PRACK 200 메시지를 서비스 공급자로부터 UE는 받게 되고 이때부터 UE 는 통화 가능한 상태 (MT와 전화 연결이 되든 되지 않든)로 변경되는 것이다.

Figure 9 Invite 183 Process for Open SDP 

MT에서는 위와 동일한 방법으로 180 Ringing이 오게 되고 그전에 앞서 단말과 서비스공급자 간의 Invite validation, SDP session open, PRACK 연결까지 마치게 되면 화면 UI에 MO로 부터의 Incoming Calling 화면이 보이면서 벨이 울리게 된다.

1.2.2. End Call
사용자가 통화 후 통화 종료 버튼을 누르면 Application Layer에서 Modem으로 endCall()을 보내게 되고 기기는 서비스공급자에게 Session 종료 메시지를 보내게 된다.

Figure 10 End Call SIP Message 

서비스공급자는 Session 연결 종료를 위해서 MT에게도 동일하게 통화 종료를 위해 Bye를 보내게 되면 연결을 종료하게 된다.
UE는 서비스공급자로부터 연결 종료가 완료 되었다는 200 OK 메시지를 받으면 Idle상태로 변경 되며 Call 이전의 서비스 대기 상태로 변경이 된다.

Reference Site
● Redmouse: http://hongjoo71-e.blogspot.com/2015/07/e2e-volte-call-setup14-initial-attach.html
● 엔지니어를 위한 SIP이해: https://brunch.co.kr/@linecard/131

반응형