<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 32,comments - 8,trackbacks - 0
     

    Oops! Bea Sip Server Quick Start Part 2

    Purpose

    掌握由網頁發出sipinvite請求。

    Precondition:

    http://www.tkk7.com/pixysoft/archive/2007/09/11/144131.html

    Quick Start

    在上一章,掌握了安裝sip serverkapanga,然后寫了一個注冊的機制。這張寫一個網頁觸發invite的事件,呼叫客戶端。

    首先建一個dynamic web project,叫做Oops_Sip_02,然后修改WebContent,改為invite,修改properties,把Default output folder改為:Oops_Sip_02/invite/WEB-INF/classes,刪除build目錄,最后整個項目為:





    修改
    .classpath文件,增加3個引用:注意這3個引用是你安裝目錄下的。

    <?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/jdk150_06"/>

        
    <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="invite/WEB-INF/classes"/>

    </classpath>

    src目錄下面增加2個文件

    httpControlServlet

     

    import java.io.IOException;

    import javax.servlet.RequestDispatcher;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    public class httpControlServlet extends HttpServlet

    {

           
    public void doGet(HttpServletRequest request, HttpServletResponse response)

                         
    throws ServletException, IOException

           {

                  doAction(request, response);

           }

           
    public void doPost(HttpServletRequest request, HttpServletResponse response)

                         
    throws ServletException, IOException

           {

                  doAction(request, response);

           }

           
    private void doAction(HttpServletRequest request,

                         HttpServletResponse response) 
    throws ServletException, IOException

           {

                  String sip 
    = request.getParameter("sip");

                  sipControlServlet.DoConnection(sip);

                  RequestDispatcher rds;

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

                  rds.forward(request, response);

                  
    return;

           }

    }

    sipControlServlet

    import java.io.IOException;

    import javax.servlet.*;

    import javax.servlet.sip.*;

    import com.bea.wcp.sip.util.TransportUtil;

    public class sipControlServlet extends SipServlet

    {

        
    private static Address myAddress;

        
    private static SipFactory factory;

        
    public void init(ServletConfig cfg) throws ServletException

        {

            
    super.init(cfg);

            factory 
    = (SipFactory) getServletContext().getAttribute(

                    SipServlet.SIP_FACTORY);

            String uri 
    = "sip:oops@localhost:5062";

            myAddress 
    = factory.createAddress(uri);

            System.out.println(
    "Oops! Sip Server Demo 2");

        }

        
    public static void DoConnection(String sip) throws ServletException,

                IOException

        {

            SipApplicationSession appSession 
    = factory.createApplicationSession();

            Address to 
    = factory.createAddress("sip:" + sip);

            SipServletRequest invite 
    = factory.createRequest(appSession, "INVITE",

                    myAddress, to);

            invite.send();

            System.out.println(
    "Connection successful!");

        }

        
    protected void doResponse(SipServletResponse resp) throws ServletException,

                IOException

        {

            resp.createAck().send();

        }

    }

    在invite/WEB-INF下面建2個文件:

    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 Sip Server Quick Start 2</display-name>

        
    <distributable />

        
    <servlet>

           
    <servlet-name>sipControlServlet</servlet-name>

           
    <servlet-class>sipControlServlet</servlet-class>

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

        
    </servlet>

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

        
    <security-role>

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

        
    </security-role>

    </sip-app>

    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>testsender</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>

        
    <servlet>

           
    <servlet-name>httpControlServlet</servlet-name>

           
    <servlet-class>httpControlServlet</servlet-class>

        
    </servlet>

        
    <servlet-mapping>

           
    <servlet-name>httpControlServlet</servlet-name>

           
    <url-pattern>/http.oops</url-pattern>

        
    </servlet-mapping>

    </web-app>

    invite目錄下添加index.jsp

    <html>

    <body>

    <form name="form_sip" action="http.oops"

        method
    ="post"><input name="sip" value="user1@192.168.0.130:5061"

        type
    ="text" style="width: 240px"><input type="submit"></form>

    </body>

    </html>

    最后整個目錄變為:



    大概解說一下:用戶網頁輸入
    sip,傳遞給后臺httpservlet,其調用sipservlet的靜態方法,創建一個會話到用戶。

    現在吧項目部署在bea sip server上面,方法參考前面的文章。然后在瀏覽器輸入:

    http://localhost:7001/invite



    之后打開
    kapanga,在點擊網頁



    完成!

    posted on 2007-09-13 08:18 張辰 閱讀(777) 評論(1)  編輯  收藏 所屬分類: Dr. Oops

    FeedBack:
    # re: Oops! Bea Sip Server Quick Start Part 2
    2008-04-23 06:33 | Guest
    Hi,

    This article is cool but I can't see the pictures? Can you double check?  回復  更多評論
      
    主站蜘蛛池模板: 亚洲精品日韩中文字幕久久久| 国产av天堂亚洲国产av天堂| 中文字幕av无码无卡免费| 亚洲产国偷V产偷V自拍色戒 | 成人免费无遮挡无码黄漫视频| 亚洲精品国产成人中文| 精品无码免费专区毛片| 2020久久精品亚洲热综合一本| 一个人在线观看视频免费| 亚洲成av人无码亚洲成av人| 在线免费观看毛片网站| 国产天堂亚洲精品| 4338×亚洲全国最大色成网站| a级在线观看免费| 精品亚洲成a人片在线观看| 天天影视色香欲综合免费| 亚洲一区二区三区国产精华液| 国产网站在线免费观看| 一级毛片aa高清免费观看| 亚洲AV永久无码精品成人| 四虎永久在线精品免费观看视频| 亚洲黄色激情视频| 亚洲第一成人影院| 免费国产黄网站在线观看可以下载| 亚洲精品国产免费| 国产性生交xxxxx免费| 成人精品视频99在线观看免费| 91亚洲国产成人久久精品网站| 免费A级毛片无码免费视| 免费人成视频在线播放| 久久精品国产亚洲AV麻豆不卡| 在线看片韩国免费人成视频| 国产青草亚洲香蕉精品久久| 亚洲精品乱码久久久久久久久久久久 | www.亚洲精品.com| 亚洲免费观看视频| 亚洲一线产品二线产品| 亚洲精品国产精品乱码不卡√ | 亚洲欧美国产国产综合一区 | 免费鲁丝片一级观看| 亚洲国产老鸭窝一区二区三区|