예: SIP 서블릿 SendOnServlet 클래스

SendOnServlet 클래스는 각 INVITE에서 호출되고 거기에서의 요청을 보내는 기본 함수를 수행하는 단순한 SIP 서블릿입니다.

SendOnServlet 클래스

함수를 쉽게 삽입하여 일부 특정 기준을 기반으로 이 INVITE 요청을 로그하거나 INVITE를 거부할 수 있습니다.

package com.example;
import java.io.IOException;
import javax.servlet.sip.*;
import java.servlet.ServletException;
public class SendOnServlet extends SipServlet {
  public void doInvite(SipServletRequest req) 
       throws ServletException, java.io.IOException {
     //send on the request
     req.getProxy().proxyTo(req.getRequestURI);
  }
}

일부 특정 기준에 따라 간단하게 초대 거부와 같은 조치를 수행하도록 doInvite 메소드를 변경할 수 있습니다. 다음 예에서 example.com 외부 도메인에서의 모든 요청은 Forbidden 응답으로 거부됩니다.

public void doInvite(SipServletRequest req)
throws ServletException, java.io.IOException {
if (req.getFrom().getURI().isSipURI()){
	   SipURI uri = (SipURI)req.getFrom.getURI();
	   if (!uri.getHost().equals(“example.com”)) {
		//send forbidden response for calls outside domain
req.createResponse(SipServletResponse.SC_FORBIDDEN, “Calls outside example.com not accepted”).send();
return;
	   }
	}
	//proxy all other requests on to their original destination
	req.getProxy().proxyTo(req.getRequestURI());
   }


SendOnServlet deployment descriptor:
<sip-app>
    <display-name>Send-on Servlet</display-name>
    <servlet>
        <servlet-name>SendOnServlet</servlet-name>
        <servlet-class>com.example.SendOnServlet</servlet-class>
    	</servlet>

    	<servlet-mapping>
        <servlet-name>SendOnServlet</servlet-name>
        <pattern>
              <equal>
                <var>request.method</var>
                <value>INVITE</value>
              </equal>
        </pattern>
    	</servlet-mapping>
</sip-app>

주제 유형을 표시하는 아이콘 참조 주제



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