본문
RFC4740 : Diameter Session Initiation Protocol (SIP) Application #1. 소개
이 문서는 'Diameter SIP 응용(Application)'에 대한 문서로써, 이를 통해 Diameter 클라이언트는 SIP기반의 IP Muitimedia Services를 위한 AA(Authentication, Authorization) 정보를 Diameter 서버에 요청할 수 있다. 또한 AA에서 더 나아가, 사용자의 profile을 수신하거나, 사용자에게 할당된 또다른 SIP 서버를 찾는데 도움을 주는 정보를 받는 경우 또한 고려되었다.
여기에서는 SIP 서버(예를 들어 SIP proxy server, registrar, redirect server등의)와 Diameter 클라이언트가 같은 노드에 위치해서, SIP 서버가 SIP 메시지를 처리할 수 있다고 가정한다. 이에 따라, SIP 서버는 SIP Request와 특정 SIP 서비스 사용을 위해 Diameter의 AAA(Authentication, Authorization, Accounting) infrastructure를 사용하게 된다.
이 문서에서는 멀티미디어 세션에 SIP이 사용되어 세션 초기화와 세션종료를 수행하는데 있어 필요한 특정 기능에 대해, 혹은 세션과 관련없는 응용에, SIP이 사용되어 요구되는 특정 기능에 대해 필요한 Diameter의 절차(procedure)를 제공한다. 단, 이 문서에서는 SIP 절차와 'Diameter SIP 응용' 절차에 대한 매핑을 강제하지 않으며, SIP과 Diameter사이에 발생하는 특정한 이벤트 순서를 강제하지 않는다. 이 문서에서는 원하는 기능을 수행하기 위한, SIP과 'Diameter SIP 응용'간의 상호작용에 대한 유용한 예를 제공한다.
이 문서에서는, Home Realm내에 Diameter/SIP 기능을 구현한 노드가 하나 이상 존재하는 일반적인 구조를 고려한다. 사용자는 SIP 요청을 보내 SIP 자원에 접근할 수 있다. 모든 사용자에 대해 Home Realm은 SIP 자원에 대한, 혹은 그에 필요한 노드에 대한 라우팅 정보에 대하여 AA를 수행해야 한다. 여기에서는 사용자에 관련한 데이터는 인증(Authorization)을 요구하는 SIP 노드와 분리되어 저장된다고 가정한다. 각각의 사용자에 대한 정보는 Home Realm내의 서로 다른 노드에 저장될 수 있지만, 이때, 특정 사용자에 대한 모든 정보는 하나의 노드에만 저장된다고 가정한다.(단, 이것은 데이터베이스 클러스터링을 사용할 수 없다는 의미는 아니다, 즉, Diameter 서버가 접근해야 하는 사용자의 데이터는, Diameter 서버의 관점에서 볼때, 하나의 장소에 위치한 단일 데이터베이스 내에 있어야 한다는 것이다.)
이 문서는 Home Realm에 대한 다양한 설정을 허가한다. 그중 하나로, SIP 서버(proxy, registrar등)는 동적으로 사용자에게 할당되어 서비스를 triggering하고 수행할 수 있다. 이와같은 설정에서는, SIP 서버가 다른 SIP 서버를 사용자에게 할당되도록 하거나, 혹은, 할당된 특정 SIP 서버를 위해 SIP request/responce 라우팅을 수행할 수 있어야 한다. 이때 양 SIP 서버에는 Diameter 클라이언트가 구동될 것이다. 또다른 설정으로, 이 문서에서 다루지 않을 방법을 통하여 SIP outbound proxy의 주소가 SIP User Agent에 설정되는 경우를 생각할 수 있다. 이때, SIP outbound proxy 노드내의 outbound Diameter 클라이언트는 사용자를 authenticate하고, SIP 요청을 위한 authorization을 요청하고, 또한 과금활동을 수행할 수 있다.
* acronyms in this document.
o Address-of-Record (AOR)
o User Agent (UA)
o User Agent Client (UAC)
o User Agent Server (UAS)
o Attribute-Value Pair (AVP)
AKA: Authentication and Key Agreement
LIR: Location-Info-Request
LIA: Location-Info-Answer
MAR: Multimedia-Auth-Request
MAA: Multimedia-Auth-Answer
PPR: Push-Profile-Request
PPA: Push-Profile-Answer
RTR: Registration-Termination-Request
RTA: Registration-Termination-Answer
SAR: Server-Assignment-Request
SAA: Server-Assignment-Answer
SL: Subscriber Locator
UAR: User-Authorization-Request
UAA: User-Authorization-Answer
=============
하고있는 SIP기반 프로젝트에 Diameter기능을 추가하려 한다. 지금 상황에서는 굳이 할 필요는 없을것 같은데 하라니 해야지 뭐.. 머지않은 나중을 위해서라도 미리 공부해 놓을 요량으로 오랜만에 RFC 문서를 번역해보았다. 예전에는 한땀한땀 빠뜨림 없이 번역하려고 했다면, 이제는 요령을 피운다고(라기 보다는 시간이 전만큼 나지 않아서) 몇개씩 뺴놓고 하기도 한다. 인터넷에 Diameter-SIP 연계 자료도 별로 없고 있는 자료도 survey정도의 글이지 어떻게 동작하느냐를 자세히 서술해 두지 않아서 갈팡질팡 해메고 있었는데 오히려 표준문서가 더 이해하기 쉽게 설명해 놓은것 같아 옮겨보았다. 이 표준에서 계속 반복되는 단어는 'not mandate'이다. 그리고 항상 Authentication, Authorization을 한글로 옮길때면 어색한 느낌이 들어 단어 그대로 놔두었다.
댓글