Beispiel: SIP-Servlet-Klasse ProxyServlet

Die Klasse ProxyServlet

Nach dem ersten INVITE wird diese Anwendung in jeder nachfolgenden SIP-Nachricht aufgerufen. Diese Klasse zeigt für jede Anforderung (Request) und für jede Antwort (Response) die Aktion an und an wen sie gerichtet ist bzw. von wem sie empfangen wurde.

package com.example;
import java.io.IOException;
import javax.servlet.sip.*;
import java.servlet.ServletException;
public class ProxyServlet extends SipServlet {
  public void doInvite(SipServletRequest req)
       throws ServletException, java.io.IOException {
     //Proxy abrufen
     Proxy p=req.getProxy();
     //Den Überwachungsmodus aktivieren, damit alle Ereignisse verfolgt werden.
     //Die Standardeinstellung für diese Funktion ist true - sie wird hier
     //aber festgelegt, um die Funktion hervorzuheben.
     p.setSupervised(true);     
     //RecordRoute festlegen, damit ACK, BYE und OK angezeigt werden
     p.setRecordRoute(true);
     //Proxy für die Anforderung festlegen
     p.proxyTo(req.getRequestURI());
  }
public void doRequest(SipServletRequest req)
     throws ServletException, java.io.IOException {
   System.out.println(req.getMethod()+” Request from “+req.getFrom().getDisplayName());
   super.doRequest(req);
}
public void doResponse(SipServletResponse resp)
     throws ServletException, java.io.IOException {
   System.out.println(resp.getReasonPhrase()+” Response from “+resp.getTo().getDisplayName());
   super.doResponse(resp);
}
}

Proxy deployment descriptor
<sip-app>
    <display-name>ProxyServlet</display-name>
    <servlet>
        <servlet-name>ProxyServlet</servlet-name>
        <servlet-class>com.example.ProxyServlet</servlet-class>
    </servlet>

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

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsip_servletsample3
Dateiname:rsip_servletsample3.html