- 텍스트 베이스의 신호로 이해하기 쉬우며 확장성이 뛰어나다
- 세션 제어를 실행하는 프로토콜이며 미디어 의존성이 없다
- SIP 메세지는 요구/응답형으로 쌍방향성을 가진다
JCP에 의해서 책정된 SIP Servlet
애플리케이션 실행 환경인 JAIN(Java Advanced Integrated Network) 등 Java에 관한 사양은 Java 전문가에 의해 구성된 JCP(Java Community Process)에서 책정되었습니다. JCP에서는 각 Java 사양을 JSR(Java Specifications Request)로 책정하여 공개하였습니다. SIP Servlet에 대해서도 JAIN API 규약 중 하나이며 JCP에서 JSR 116으로서 사양이 책정되었습니다.
SIP Servlet이란 SIP라는 특정 프로토콜을 취급할 수 있는 Servlet 컨테이너라 불리는 애플리케이션 실행 환경과 실행 환경 상에서 동작하는 애플리케이션 개발용 API를 규정한 것입니다. SIP Servlet 사양에 대해서는 http://jcp.org/aboutJava/communityprocess/final/jsr116/index.html에서 다운로드할 수 있습니다.
Servlet 컨테이너에서는 SIP 메세지 수신 시에 어떤 애플리케이션을 가동하면 좋은지를 결정하고 애플리케이션을 가동시킵니다. 또, 라이프 사이클에 따른 애플리케이션의 관리나 다이얼로그/세션 등의 SIP에 관해 관리합니다. Servlet 컨테이너 덕분에 애플리케이션 개발자는 트랜잭션 제어 등의 논리를 고려할 필요는 없으며 SIP를 이용한 애플리케이션의 개발이 가능하게 됩니다.
Figure 1. Typical SIP message flow in VoIP calls
Here is an example of a SIP INVITE request and a response with a 200 OK status code:
SIP INVITE request:
INVITE sip:callee@callee.com SIP/2.0
Via: SIP/2.0/UDP pc.caller.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Callee <sip:callee@callee.com>
From: Caller <sip:caler@caller.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:caller@pc.caller.com>
Content-Type: application/sdp
Content-Length: 142
(content (SDP) is not shown)
SIP 200 OK response:
SIP/2.0 200 OK
Via: SIP/2.0/UDP pc.caller.com;branch=z9hG4bK776asdhds;received=192.0.2.1
To: Callee <sip:callee@callee.com>;tag=a6c85cf
From: Caller <sip:caller@caller.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:callee@workstation.callee.com>
Content-Type: application/sdp
Content-Length: 131
(content (SDP) is not shown)
JSR116에 정의된것 처럼 SIP Servlet 명세는 SIP어플리케이션에 대해서 container servlet programming모델을 제공한다.
Comparison between an HTTP and SIP servlet
|