Téléphonie sur IP : développements réalisés
IP Telephony : software development work

import java.io.*;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

/**
* Cette classe permet d'indiquer à un poste IP Cisco muni d'un navigateur XML / HTTP
* l'emplacement d'un autre servlet qui offrira un outil de recherche dans l'annuaire
* LDAP de l'INRIA. l'URL d'exécution de ce servlet est : http://192.168.1.3/ourDirectory
**/

public class ourDirectory extends HttpServlet {

PrintWriter outToClient;

// implémentation de la méthode abstraite de la classe mère, c'est cette
// méthode qui sera exécutée lors de l'accès à l'URL abritant le servlet
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {

HttpSession session = request.getSession();

// 'content-type' doit être fixé à "text/xml" pour les postes IP response.setContentType("text/xml");

// cet objet permettra d'envoyer le contenu de notre réponse au poste IP
outToClient = response.getWriter();


System.out.println("Analysis of received Http request: ");
System.out.println("\tMethod : " + request.getMethod());
System.out.println("\tURL : " + HttpUtils.getRequestURL(request));
System.out.println("\tURI : " + request.getRequestURI());
System.out.println("\tParameters : " + request.getQueryString());

Enumeration e;
e = request.getHeaderNames();
System.out.println("\tHttp headers : ");
while (e.hasMoreElements()){

Object element = e.nextElement();
System.out.println("\t\t" + element + " : " + request.getHeader((String)element));

}

// une fois les paramètres HTTP de la réponse fixés, on peut
// effectivement envoyer notre réponse au poste IP sous la
// forme d'un objet XML <CiscoIPPhoneMenu> en indiquant le titre
// et l'URL pointée par l'objet

outToClient.println("<CiscoIPPhoneMenu>");
outToClient.println("<Title>Recherche Annuaire" + "</Title>");
outToClient.println("<MenuItem>");
outToClient.println("<Name>Annuaire INRIA</Name>");
outToClient.println("<URL>http://192.168.1.3/directorySearchTool</URL>");
outToClient.println("</MenuItem>");
outToClient.println("</CiscoIPPhoneMenu>");


// finalement, on ferme la session HTTP
session.invalidate();

}

}

 


auteur : Philippe Sultan ------- date de mise à jour : 17 juillet, 2003