SIP 서블릿

SIP(Session Initiation Protocol) 서블릿은 SIP 서블릿 컨테이너로 관리되고 SIP 신호를 수행하는 Java 기반의 애플리케이션입니다. SIP 서블릿은 서블릿 컨테이너를 통해 요청 및 응답 메시지를 교환하여 클라이언트와 상호작용합니다.

SIP Servlet 1.0 스펙(JSR 116)은 JSR(Java™ Specification Request) 116을 통해 표준화됩니다. 스펙은 사용하기 쉬운 API 프로그래밍 모델을 제공하는 HTTP 서블릿과 유사한 Java API(Application Programming Interface)를 제공하기 위해 사용됩니다. 많이 사용되는 HTTP 서블릿 프로그래밍 모델과 비슷하게 일부 융통성은 사용 용이성 및 가치 실현 시간을 최적화하기 위해 제한됩니다.

그렇지만 SIP 서블릿 API는 프로토콜이 다르기 때문에 HTTP 서블릿과 많은 점에서 다릅니다. IP가 요청-응답 프로토콜이지만, 모든 한 요청에 하나의 응답만 있을 필요는 없습니다. 이러한 복잡함과 고성능 솔루션에 대한 필요성으로 인해 SIP 서블릿을 처음부터 비동기화하는 것이 쉬워졌습니다. 또한, 대부분의 애플리케이션은 다른 서버에 대한 프록시나 클라이언트의 기능을 하기 때문에 HTTP 서블릿과 달리 SIP 서블릿의 프로그래밍 모델은 클라이언트 요청을 작성 중인 다른 논리와 함께 쉽게 작성하려고 합니다.

SipServlet 요청

HTTP 서블릿과 같이 각 SIP 서블릿은 기본 javax.servlet.sip.SipServlet 클래스를 확장합니다. 모든 메시지가 확장 가능한 서비스 메소드를 통해 수신됩니다. 그렇지만 SIP에 요청과 응답의 일대일 맵핑이 없으므로 대신 doRequest 또는 doResponse 메소드를 확장할 것을 권장합니다. doRequest 또는 doResponse 메소드를 확장할 때는 처리가 완료되도록 확장된 메소드를 호출하는 것이 중요합니다.

스펙이 지원해야 하는 각 요청 메소드는 HTTP와 같은 doxxx 메소드를 가집니다. HTTP에는 GET 및 POST 요청에 대해 doGet 및 doPost와 같은 메소드가 있습니다. SIP에는 각 SIP 요청 메소드에 대해 doInvite, doAck, doOptions, doBye, doCancel, doRegister, doSubscribe, doNotify, doMessage, doInfo, doPrack 메소드가 있습니다.

HTTP 서블릿과 달리, SIP 서블릿은 지원되는 각 응답 유형에 대한 메소드를 가집니다. 따라서 SIP 서블릿에는 doProvisionalResponse, doSuccessResponse, doRedirectResponse, doErrorResponse 응답이 포함됩니다. 구체적으로, 상태를 표시하려면 임시 응답(1xx 응답)을, 트랜잭션의 완료를 나타내려면 성공 응답(2xx 응답)을, 이동된 자원이나 엔티티로 클라이언트 경로를 재지정하려면 경로 재지정 응답(3xx 응답)을, 장애 또는 특정 오류 조건을 나타내려면 오류 응답(4xx, 5xx 및 6xx 응답)을 사용합니다. 이 유형의 응답 메시지는 HTTP와 유사합니다. 그러나 SIP 서블릿 프로그래밍 모델은 클라이언트 프로그래밍 모델을 포함하므로, 응답이 프로그래밍 방식으로 처리되도록 해야 합니다.

JSR 116의 설명

JSR 289는 다음과 같이 JSR 116에 일부 설명을 추가합니다.
  • JSR 289 절 4.1.3: Contact 헤더 필드
  • JSR 289 절 5.2: 내재된 트랜잭션 상태
  • JSR 289 절 5.8: SIP 서블릿 메시지의 접근성

주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csip_servlet
파일 이름:csip_servlet.html