삼성전자의 조성연님과 노키아의 원성환님이 보내주신 세번째 기고글입니다. 읽기 쉽고 유익한 기고글을 보내주신 두 분께 감사드립니다.
지난 시간에는 이동 통신망을 이용할 수 있는 상황에서 발언권을 허용 받은 지휘관 또는 보고자가 말하고 이외 그룹 통신 참여자들은 음성 스트림을 수신하는 과정을 설명하였다. 그리고 사용자 별로 음성 품질을 보장하는 베어러(GBR bearer)를 설정하였을 경우, 일정 수 이상의 사용자를 수용할 수 없는 셀에 업무 수행을 위하여 수백/천의 그룹 통신 참여자가 몰렸을 때, MBMS를 통하여 이 그룹 통신 참여자들에게 하향링크 데이터를 효율적으로 전달하는 기술에 대하여 설명하였다.
이번 시간에는 재난 안전망이 다루어야 하는 또 다른 특수 상황인 통신망 인프라가 파괴되었거나 통신 인프라가 존재하지 않는 상황에 처한 사용자들에게 MCPTT 서비스를 지원하는 방식을 설명하겠다.
이동 통신 인프라가 존재하지 않는 상태에서 그룹 내에서 허락 받은 사람만 말하고 나머지는 듣기만 하도록 발언권이 제어된 그룹 콜을 송수신하기 위해서는 그림1과 같이 다음의 단계적 절차가 필요하다.
1) MCPTT 오프넷과 Device to Device 관련 설정 정보 취득1
2) Device to Device 통신을 위한 그룹 멤버 discovery2
3) MCPTT 그룹콜 셋업 또는 이미 셋업된 그룹 콜에 join3
4) 발언권 제어 수행
[그림 1] Device to Device 기반 OffNet용 MCPTT 수행 절차
1: 단말 배포 후 한번도 서버(이동 통신망을 포함)에 접속하지 못한 단말을 지원하기 위하여 설정 정보를 단말이나 USIM에 pre-configuration할 수도 있다.
2: 이 절차는 생략 가능하나, 생략 시 주변에 그룹 멤버가 없음에도 그룹 콜 announcement 및 음성 스트밍 전송이 이루어지므로 주파수 자원이 낭비되거나 발언자의 배터리 소모가 증가할 수 있다.
3: LTE 네트워크 기반 MCPTT 서비스와 달리 서버에 연결되지 않으므로 Call Announcement로 수행된다.
[그림 2] Off-Net용 MCPTT 수행을 위한 망 구성
첫번째 절차부터 살펴보자.
MCPTT 오프넷 관련 설정 정보는 그림2과 같이 LTE, WiFi, Bluetooth등을 이용하여 MCPTT 설정 서버로의 접속이 가능할 때 받는다. MCPTT 오프넷 설정 정보는 지난 기고에서 설명한 LTE 네트워크 기반 MCPTT 서비스 사용을 위한 설정 정보와 유사하지만 이동 통신 인프라의 제어를 받지 않고 주파수를 사용하는 Device to Device 통신과 오프넷 그룹 콜의 사용을 연결하기 위한 정보를 추가적으로 포함한다. 예를 들면, MCPTT 단말이 수신할 설정 정보 가운데 그룹 설정 정보의 경우,
등을 포함한다.
4: Device to Device 통신은 상위 ProSe Layer와 MAC 포함 하위 layer인 Device to Device Layer로 구별되므로, 보다 정확히 말하자면 ProSe Layer-2 Group ID를 뜻한다.
MCPTT 오프넷 단말은 위의 애플리케이션 레벨의 설정 정보 뿐만 아니라, out of coverage상황에서 Device to Device 기술을 사용하기 위하여, 사용할 수 있는 주파수 정보, 지리 정보 등의 설정 정보와 허가 정보도 MCPTT 설정 서버들이 아닌 별도의 Device to Device 설정 서버(ProSe Function)으로 부터 받는다.
1)번 절차를 통하여 관련Device to Device 통신에 필요한 설정 정보를 받은 단말은 Device to Device 통신 enabling을 위한 절차를 수행한다. 앞서 말했듯, 통신하고자 하는 대상이 있을 때에 Device to Device 통신을 시도하는 것이 더 효율적이기 때문에, 단말끼리 직접 그룹 통신을 하기에 앞서 통신하고자 하는 대상인 그룹 멤버가 그 단말 통신 범위 안에 있는지 발견하는 것이 필요하다.
모든 단말이 글로벌하게 유일한 식별자를 이용하여 스스로의 존재를 주변 단말들에게 알리고, 이를 수신한 단말들은 1)번 절차를 통하여 알고 있는 그룹 멤버 정보를 이용하여 자신이 참여하고자 하는 그룹 멤버인지 여부를 확인하게 되면, 이동 통신망의 개입이 없어도 서로를 발견하고 통신을 수행할 수 있을 것이다.
그러나 이동 통신망의 개입 없이 Device to Device 통신을 수행하게 되면 단말들이 일으키는 간섭 때문에 이동 통신망에 부정적인 영향을 줄 수 있고, 또한 말 그대로 이동 통신망의 제어에서 벗어나기 때문에 망 관리 또는 과금 면에서 불리한 측면이 있다.
따라서, 단말은 그림 1과 그림2에 표시된 이동 통신망의 ProSe Function에 의해 관리되고 사용허가되는 ProSe Code를 기반으로 1차적으로 서로를 식별하고, 추가 정보인 지난 기고에서 설명한 MCPTT ID를 통하여 이차적으로 식별한다.
단말이 서로를 발견하는 방식에는 두 가지 모델이 있는데, 모델 A로 일컬어지는announcing-monitoring 모델과 모델 B로 일컬어지는 discoverer-discoveree 모델이 바로 그것이다.
모델 A는 announcing 단말이 불특정 다수의 monitoring 단말에게 자신의 존재를 알림으로써 monitoring 단말이 announcing 단말을 발견하는 방식이다. Announcing 단말이 ProSe Function으로부터 announce할 자신에 대한 정보를 압축적으로 표현한 ProSe Application Code를 취득하여, 이를 announce한다.
Monitoring 단말은 자신이 관심 있는 단말들에 대한 정보를 알수 있는 ( 기서는 그룹 멤버들에 대한 압축 정보인 Prose Application Code들을 구별해 낼수 있는 ) Discovery Filter를 ProSe Function으로부터 획득하는데, 이 필터를 사용하면 announcing 단말이 announce하는 ProSe Application Code가 관심대상인지 즉 자신의 관심있는 그룹의 멤버인지 아닌지 검출해낼 수 있다.
모델 B는 discoverer 단말이 찾고 싶은 단말(discoveree 단말)이 있음을 알리면 discoveree 단말이 응답함으로써 discoverer 단말이 discoveree 단말을 발견하는 방식이다. Discoveree 단말은 ProSe Function으로부터 ProSe Response Code와 Discovery Query Filter를 취득한다. 한편 discoverer 단말은 ProSe Function으로부터 ProSe Query Code와 Discovery Response Filter를 취득하여 ProSe Query Code를 announce한다. 이 announce되는 ProSe Query Code가 discoveree 단말이 취득한 Discovery Query Filter에 의해 관심대상으로 검출되면 ProSe Response Code를 announce하며, discoverer 단말은 취득한 Discovery Response Filter를 이용해 ProSe Response Code가 관심대상인지 판별한다.
그리고 discovery과정과 함께 다음 과정인 그룹콜 셋업을 위한 IP 주소를 설정을 하는데 IPv6를 이용하는 경우에는 link local ipv6 addreas 설정 매커니즘(RFC 4862)으로, IPv4를 이용하는 경우에는 1) 과정에서 수신한 그룹별로 사용 설정된 IP 주소를 사용하거나 IPv4 link local addreas 설정 매커니즘 (RFC 3927)을 이용하신 단말에서 사용할 주소를 정한다
[그림 3] MCPTT Group Call Announcement
Device to Device 통신을 수행할 그룹 멤버가 주변에 존재한다는 것이 확인되면 이제 MCPTT Group Call을 시작할 차례이다. LTE 네트워크 기반 MCPTT 서비스에서는 centralized control 방법(그룹콜 셋업 요청을 받은 MCPTT 그룹 콜 서버가, 그룹 관리 서버에서 받은 그룹 멤버 정보를 이용하여, 그룹 멤버들에게 그룹 콜에 참여하도록 지시)을 사용했었다.
이와 달리 오프넷에서는 서버가 존재하지 않아 centralized control을 사용할 수 없으므로 decentralized 방식을 사용하게 된다. 즉, call initiator가 서버로 그룹 콜 셋업 요청을 보내는 것이 아니라 그림3와 같이 call initiator 주변의 그룹 멤버들을 대상으로 그룹 콜 시작을 요청하는 MCPTT Group Call Announcement를 전송한다.
Group Call Announcement 메시지는 Device to Device 통신을 이용하여 call initiators의 전송 영역 내에 있는 단말들로 전송된다. 이때, 1)번 절차에서 받은 설정 정보에 포함된 콜을 셋업하려는 그룹에 해당하는 multicast 주소(IP 레이어)와 ProSe Layer-2 Group ID (D2D/ProSe 레이어)가 가리키는 목적지로 전송된다.
Call initiator 반경 내에 있어 announcement를 수신한 단말들은 announcement 목적지가 1)번 절차에서 설정 정보로 받은 참여가 허용된 그룹에 해당하는 ProSe Layer-2 Group ID (D2D/ProSe 레이어)와 multicast 주소(IP 레이어)를 목적지로 온 메시지인지 확인 한다.
확인 결과 참여가 허가된 그룹 콜에 대한 것이면 announcement 내에 정보를 추출한다. Announcement 에 포함된 정보는 콜 셋업 후 전달될 음성 스트림과 발언권 제어 대한 정보로, 구체적으로는 미디어 코덱과, 음성 스트림을 수신하기 위한 multicast 포트, 발언권 제어 메시지인 MBCP/TBCP를 수신할 포트이다.
확인된 정보는 그룹 콜 참여자들이 음성 스트림과 발언권 제어 메시지를 수신할 설정을 하는데 사용된다. 수신 설정을 마친 그룹콜 참여자들은 수신할 준비가 되었음을 MCPTT Group ID가 포함된 response 메시지로 알린다5.
5: 기지국과 같은 주파수 사용 컨트롤러가 없는 오프넷 환경의 주파수 사용의 절약을 위해서 Group Call Announcement 에 대한 response는 생략될 수 있다.
그리고, 오프넷 환경에서는 단말들이 모두 이동성을 가지기 때문에 call initiator의 전송 영역 내에 있는 그룹 멤버들이 바뀔 수 있으므로 그룹콜 셋업 시에는 전송 영역 내에 없던 그룹 멤버가 전송 영역 내로 들어올 수 있다. 이러한 그룹 멤버들을 위하여 Group Call Announcement 는 주기적으로 발송된다.
마지막으로, 발언권을 획득하고 음성 스트림을 전송할 차례이다. LTE 네트워크 기반 MCPTT 서비스에서는 발언권 제어 서버가 발언권 요청을 받은 후 어느 그룹 멤버에게 발언권을 줄 것인가 결정하고 발언권을 허가 받은 이에게는 floor grant 메시지를 그 외 참여자들에게는 floor taken 메시지를 전송하는 centralized control 방법을 사용했었다.
오프넷에서는 발언권 제어 서버 역시 존재하지 않으므로 decentralized control 방식을 사용하는데, 그 핵심은 발언자가 발언권 제어 기능을 수행한다는 것이다. 먼저 그룹 콜 셋업 후 첫번째 발언 요청자는 발언권 요청(floor request) 메시지를 역시 그룹 멤버들에게 그 그룹의 multicast 주소와ProSe Layer-2 Group ID를 이용하여 전송한다.
그리고 다른 발언권 요청자가 있는지 contention을 확인하기 위하여 일정 시간 다른 그룹 콜 멤버의 발언권 요청을 청취한다. 청취결과 다른 발언권 요청자가 없어 contention이 없는 것으로 확인되면 자신이 발언권을 가져갔다가는 floor taken 메시지를 자신의 MCPTT ID를 넣어서 전송하고 이어서 발언을 담은 음성 스트림을 전송한다.
음성 스트림 전송 중에 다른 그룹콜 멤버가 발언을 원하게 되면 발언권 요청 메시지인 floor request 메시지를 그 그룹의 multicast 주소와 ProSe Layer-2 Group ID를 이용하여 전송한다. 이때는 현재 발언자가 발언권 제어 기능을 수행하므로 이 발언권 요청을 수신한 현재 발언자는 요청자의 MCPTT ID를 자신의 발언이 끝나면 발언할 순서대로 현재 요청자의 MCPTT ID를 포함하여 이전 요청자들의 MCPTT ID들이 적힌 queue 정보, 즉 발언권 제어 queue를 그룹 멤버들로 보낸다.
이를 수신한 현재 발언권 요청자 포함 그룹 멤버들은 자신의 발언 순서를 확인하게 된다. 그리고, 그 후 현재 발언자의 발언이 끝나면 그 발언자는 발언권 제어 queue의 첫번째 MCPTT ID 소유자에게 발언권 넘기기 위하여 저장되어 있던 queue 정보를 넣어서 발언권 허용 메시지인 floor grant 메시지를 그룹의 멤버들로 multicast 주소와 ProSe Layer-2 Group ID를 이용하여 전송한다.
이 발언권 허용 메시지를 수신한 그룹 멤버들은 누가 발언할지 알게 되고, 발언권을 넘겨 받은 그룹 멤버는 발언을 시작함과 동시에 발언권 제어 기능 수행자로서 발언권 제어 queue를 관리하게 된다.
이로써 재난 및 안전 관련 통신 기술에 대한 전반적인 이해도를 높여 더욱 안전한 사회가 되는 데 보탬이 될 수 있길 바라며, 재난 안전 관련 기술에 대한 리뷰를 마친다.
기고자 소개
조성연 (Songyean.cho@gmail.com)
직장: Samsung Electronics
직함: Principle Engineer
관심분야: LTE, EPC, IMS, 5G, D2D, V2X, Public Safety Network
원성환 (sung.won@nokia.com)
직장: Nokia Solutions and Networks Korea
직함: Senior Specialist
관심분야: LTE, EPC, 5G
감사합니다.
고맙습니다.^0^