posts - 32,comments - 8,trackbacks - 0
           

          Oops! Bea Sip Server Quick Start Part 1

          Purpose

          掌握bea sip server 3.0

          就是bea公司推出的一個sip的服務器,適合下一代電信網絡。

          首先聲明一下,這個quick start比較有難度,我調了1個多小時才出來。很多很無聊的細節要注意!


          Precondition:

          sipserver300_win32.exe 328 MB (這個有點難度,可能需要去bea主頁下載,還要申請)

          kapanga 一個sip電話:http://www.kapanga.net/ip/download.cfm

           

          Quick Start

          Bea Sip Server 安裝

          首先當然是安裝sipserver 3.0。很簡單,根據提示沒有問題,不過要注意,不要使用中文文件夾、不要過長的文件夾。

          然后在sip server里面建立一個自己的domain,也很簡單,不過要注意,要使用java jdk 1.5,不要使用其他的,否則有問題。然后在ie輸入:

          http://localhost:7001/console

          就可以看到登錄框!輸入用戶名和密碼就可以進入:

           

          Kapanga sip 電話安裝

          然后安裝kapanga,需要配置,如圖:




          Username: user1

          Display name: user1

          Default URL: user1@192.168.0.130

          注意,這個ip在運行 – cmd – ipconfig看到








          Domain/realm: 192.168.0.130

          sip proxy: 192.168.0.1305060

          outbound proxy: 192.168.0.130:5060


          選擇
          register


          Local udp sip port: 5061

           

          Eclipse 開發

          然后關掉Kapanga,打開eclipse,新建一個項目Dynamic web project叫做Oops_Sip_01。注意以下設置:




          然后確認之后生成項目目錄。選擇
          project – properties – java build path – source,把default output folder修改為Oops_Sip_01/web/WEB-INF/classes





          確認后刪除掉
          build目錄,可以看到如下的結構



          打開
          .classpath文件,修改如下,即引用了3個類,來自beasipserver,這個看大家的安裝目錄確定。

          <?xml version="1.0" encoding="UTF-8"?>

          <classpath>

              
          <classpathentry kind="src" path="src" />

              
          <classpathentry kind="con"

                  path
          ="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_02" />

              
          <classpathentry kind="con"

                 path
          ="org.eclipse.jst.j2ee.internal.web.container" />

              
          <classpathentry kind="lib"

                 path
          ="C:/bea/sipserver30/server/lib/wlss/wlss.jar" />

              
          <classpathentry kind="lib"

                 path
          ="C:/bea/sipserver30/server/lib/wlss/sipservlet.jar"

                 sourcepath
          ="C:/bea/sipserver30/server/lib/wlss/sipservlet.jar" />

              
          <classpathentry kind="lib"

                 path
          ="C:/bea/sipserver30/server/lib/weblogic.jar" />

              
          <classpathentry kind="output" path="web/WEB-INF/classes" />

          </classpath>

          web " WEB-INF " lib目錄下面添加以下jar文件,這些文件都可以在eclipse / plugin 里面和下載了jstl.jar文件包里面找到。沒有的問我。




          web " WEB-INF"下添加文件夾tlds,添加以下文件:

          src目錄下面添加3java文件:

          DisplayURIServlet 這里getRequestDispatcher("/index.jsp");很關鍵!

          import java.io.*;

          import javax.servlet.*;

          import javax.servlet.http.HttpServlet;

          import javax.servlet.http.HttpServletRequest;

          import javax.servlet.http.HttpServletResponse;

          import javax.servlet.http.HttpSession;

          public class DisplayURIServlet extends HttpServlet

          {

                 
          public void doGet(HttpServletRequest request, HttpServletResponse response)

                               
          throws ServletException, IOException

                 {

                        HttpSession session 
          = request.getSession();

                        session.setAttribute(
          "user", UserController.Instance().GetList());

                        response.setContentType(
          "text/html; charset=gb2312");

                        RequestDispatcher rds;

                        rds 
          = getServletContext().getRequestDispatcher("/index.jsp");

                        rds.forward(request, response);

                        
          return;

                 }

          }


          Registration

          import java.io.IOException;

          import javax.servlet.*;

          import javax.servlet.sip.*;

          public final class Registration extends SipServlet

          {

              
          public void init(ServletConfig sc) throws ServletException

              {

                  
          super.init(sc);

                  System.out.println(
          "Oops! First Sip Application!");

              }

              
          // 把用戶保存起來

              
          public void doRegister(SipServletRequest req) throws IOException,

                      ServletParseException

              {

                  UserController.Instance().AddUser((SipURI) req.getTo().getURI());

                  SipServletResponse res 
          = req.createResponse(200);

                  res.send();

              }

          }


          UserController

          import java.util.ArrayList;

          import java.util.List;

          import javax.servlet.sip.*;

          public class UserController

          {

              List
          <SipURI> userList = new ArrayList<SipURI>();

              
          private static UserController instance;

              
          public static UserController Instance()

              {

                  
          if (instance == null)

                      instance 
          = new UserController();

                  
          return instance;

              }

              
          public void AddUser(SipURI url)

              {

                  
          if (userList.contains(url))

                      
          return;

                  userList.add(url);

              }

              
          public List<SipURI> GetList()

              {

                  
          return userList;

              }

          }


          web下面添加index.jsp文件


          <%@ page language="java" pageEncoding="UTF-8"%>

          <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

          <html>

          <body>

          <c:choose>

              
          <c:when test="${empty sessionScope.user}">

          Oops!No user!
          </c:when>

              
          <c:otherwise>

                 
          <c:out value="${user}"/>

              
          </c:otherwise>

          </c:choose>

          </body>

          </html>


          修改web/WEB-INF目錄下的web.xml文件如下:

          <?xml version="1.0" encoding="UTF-8"?>
          <web-app id="WebApp_ID" version="2.4"
              xmlns
          ="http://java.sun.com/xml/ns/j2ee"
              xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation
          ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
              
          <display-name>caonima</display-name>
              
          <welcome-file-list>
                  
          <welcome-file>index.html</welcome-file>
                  
          <welcome-file>index.htm</welcome-file>
                  
          <welcome-file>index.jsp</welcome-file>
                  
          <welcome-file>default.html</welcome-file>
                  
          <welcome-file>default.htm</welcome-file>
                  
          <welcome-file>default.jsp</welcome-file>
              
          </welcome-file-list>

              
          <jsp-config>
                  
          <taglib>
                      
          <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
                      
          <taglib-location>/WEB-INF/tlds/c.tld</taglib-location>
                  
          </taglib>
              
          </jsp-config>

              
          <servlet>
                  
          <servlet-name>user</servlet-name>
                  
          <servlet-class>
                      DisplayURIServlet
                  
          </servlet-class>
              
          </servlet>

              
          <servlet-mapping>
                  
          <servlet-name>user</servlet-name>
                  
          <url-pattern>/sip.oops</url-pattern>
              
          </servlet-mapping>
              
          </web-app>



          在web/WEB-INF/目錄下面添加2xml文件:

          sip.xml

           

          <?xml version="1.0" encoding="UTF-8"?>

          <!DOCTYPE sip-app

             PUBLIC "-//Java Community Process//DTD SIP Application 1.0//EN"

             "http://www.jcp.org/dtd/sip-app_1_0.dtd"
          >

          <sip-app>

           
          <display-name>Oops! First SIP Servlet</display-name>

           
          <distributable/>

           
          <servlet>

              
          <servlet-name>registrar</servlet-name>

              
          <servlet-class>Registration</servlet-class>

              
          <load-on-startup>1</load-on-startup>

              
          <!-- system user -->

              
          <run-as>

                
          <role-name>system-user</role-name>

              
          </run-as>

           
          </servlet>

           
          <servlet-mapping>

              
          <servlet-name>registrar</servlet-name>

              
          <pattern>

                
          <equal>

              
          <var>request.method</var>

              
          <value>REGISTER</value>

                
          </equal>

              
          </pattern>

           
          </servlet-mapping>

           
          <!-- system user for the run-as element for Registrar -->

           
          <security-role>

              
          <role-name>system-user</role-name>

           
          </security-role>

          </sip-app>



          weblogic.xml

           

          <?xml version="1.0" encoding="utf-8" standalone="no"?>

          <weblogic-web-app

           
          xmlns="http://www.bea.com/ns/weblogic/90"

           xmlns:j2ee
          ="http://java.sun.com/xml/ns/j2ee"

           xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"

           xsi:schemaLocation
          ="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">

           
          <run-as-role-assignment>

              
          <role-name>system-user</role-name>

              
          <run-as-principal-name>weblogic</run-as-principal-name>

           
          </run-as-role-assignment>

          </weblogic-web-app>





          Ok!!完成了項目開發。整體目錄如下:





          選擇
          project – clean命令編譯項目

          Sip Server部署

          現在啟動sip server,然后進入deployment頁面:




          點擊
          lock & edit,然后可以點擊install,來到你的項目位置,選擇之后一直nextfinish




          激活你的部署:




          同時在
          sipConsole可以看到一條語句:


          然后選擇你的項目,Start – serving all request,然后確定就好了!





          打開
          ie,輸入:http://localhost:7001/web/index.jsp,可以看到:





          現在運行
          Kapanga,一定要注意設置,按照上面的設置:




          然后再回到
          ie,輸入:http://localhost:7001/web/sip.oops,可以看到:




          一項艱巨的
          quick start完成!

          posted on 2007-09-11 02:12 張辰 閱讀(841) 評論(0)  編輯  收藏 所屬分類: Dr. Oops
          主站蜘蛛池模板: 平乐县| 古浪县| 铜川市| 南汇区| 醴陵市| 疏附县| 曲麻莱县| 吕梁市| 望江县| 广丰县| 元谋县| 卫辉市| 朝阳市| 丁青县| 罗平县| 漠河县| 屏东市| 繁昌县| 乌海市| 马尔康县| 原平市| 巩义市| 个旧市| 五原县| 枣庄市| 西乡县| 财经| 夏邑县| 渭南市| 辽中县| 偏关县| 锡林浩特市| 高要市| 娄底市| 金堂县| 信丰县| 西青区| 于田县| 临湘市| 龙海市| 清水河县|