亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sipparsertest.java

?? Peers is a very minimalistic SIP User-Agent. It s a softphone, written in java, and it has been test
?? JAVA
字號:
/*
    This file is part of Peers.

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    
    Copyright 2007, 2008 Yohann Martineau 
*/

package net.sourceforge.peers.sip.syntaxencoding;

import java.io.ByteArrayInputStream;
import java.io.IOException;

import net.sourceforge.peers.sip.syntaxencoding.SipHeaderFieldName;
import net.sourceforge.peers.sip.syntaxencoding.SipHeaderFieldValue;
import net.sourceforge.peers.sip.syntaxencoding.SipHeaderParamName;
import net.sourceforge.peers.sip.syntaxencoding.SipHeaders;
import net.sourceforge.peers.sip.syntaxencoding.SipParser;
import net.sourceforge.peers.sip.syntaxencoding.SipParserException;
import net.sourceforge.peers.sip.transport.SipMessage;
import net.sourceforge.peers.sip.transport.SipRequest;
import net.sourceforge.peers.sip.transport.SipResponse;

import junit.framework.TestCase;

public class SipParserTest extends TestCase {

    public void testParse() {
        //request
        SipMessage sipMessage = parse("INVITE sip:UAB@example.com SIP/2.0\r\n"
                + "\r\n");
        assertEquals(SipRequest.class, sipMessage.getClass());
        //response
        sipMessage = parse("SIP/2.0 100 Trying\r\n"
                + "\r\n");
        assertEquals(SipResponse.class, sipMessage.getClass());
        //empty first lines
        sipMessage = parse("\r\n"
                + "\r\n"
                + "\r\n"
                + "INVITE sip:UAB@example.com SIP/2.0\r\n"
                + "\r\n");
        assertEquals(SipRequest.class, sipMessage.getClass());
    }

    public void testParseHeaders() {
        SipMessage sipMessage = parse("INVITE sip:UAB@example.com SIP/2.0\r\n"
                + "Via: SIP/2.0/UDP 10.20.30.40:5060\r\n"
                + "\r\n");
        assertNotNull(sipMessage);
        SipHeaders sipHeaders = sipMessage.getSipHeaders();
        assertEquals(1, sipHeaders.getCount());
        SipHeaderFieldName via = new SipHeaderFieldName("Via");
        SipHeaderFieldValue value = sipHeaders.get(via);
        assertNotNull(value);
        assertEquals("SIP/2.0/UDP 10.20.30.40:5060", value.toString());
    }
    
    public void testParseMultilineHeader() {
        SipMessage sipMessage = parse("INVITE sip:UAB@example.com SIP/2.0\r\n"
                + "Via: SIP/2.0/UDP 10.20.30.40:5060\r\n"
                + "Subject: I know you're there,\r\n"
                + "         pick up the phone\r\n"
                + "         and talk to me!\r\n"
                + "\r\n");
        assertNotNull(sipMessage);
        SipHeaders sipHeaders = sipMessage.getSipHeaders();
        assertEquals(2, sipHeaders.getCount());
        SipHeaderFieldValue value = sipHeaders.get(new SipHeaderFieldName("Subject"));
        assertEquals("I know you're there, pick up the phone and talk to me!", value.toString());
    }
    
    public void testParseMultiHeader() {
        SipMessage sipMessage = parse("INVITE sip:UAB@example.com SIP/2.0\r\n"
                + "Route: <sip:alice@atlanta.com>\r\n"
                + "Subject: Lunch\r\n"
                + "Route: <sip:bob@biloxi.com>\r\n"
                + "Route: <sip:carol@chicago.com>\r\n"
                + "\r\n");
        SipHeaders sipHeaders = sipMessage.getSipHeaders();
        assertNotNull(sipHeaders);
        assertEquals(2, sipHeaders.getCount());
        SipHeaderFieldValue subject = sipHeaders.get(new SipHeaderFieldName("Subject"));
        assertNotNull(subject);
        assertEquals("Lunch", subject.toString());
        
        SipHeaderFieldValue route = sipHeaders.get(new SipHeaderFieldName("Route"));
        assertNotNull(route);
        assertEquals("<sip:alice@atlanta.com>, <sip:bob@biloxi.com>, <sip:carol@chicago.com>",
                route.toString());
    }
    
    public void testHeaderParams() {
        SipMessage sipMessage = parse("INVITE sip:UAB@example.com SIP/2.0\r\n"
                + "Via: <sip:alice@atlanta.com>;transport=TCP\r\n"
                + "\r\n");
        SipHeaderFieldValue value =
            sipMessage.getSipHeaders().get(new SipHeaderFieldName("Via"));
        assertEquals("TCP", value.getParam(new SipHeaderParamName("transport")));
        assertEquals("TCP", value.getParam(new SipHeaderParamName("Transport")));
    }
    
    public void testParseBody() {
        SipMessage sipMessage = parse("INVITE sip:UAB@example.com SIP/2.0\r\n"
                + "Via: <sip:alice@atlanta.com>;transport=TCP\r\n"
                + "Content-Length: 15\r\n"
                + "\r\n"
                + "a=134\r\n"
                + "b=test\r\n");
        assertNotNull(sipMessage);
        assertEquals(2, sipMessage.getSipHeaders().getCount());
        byte[] expectedBody = "a=134\r\nb=test\r\n".getBytes();
        byte[] realBody = sipMessage.getBody();
        assertEquals(expectedBody.length, realBody.length);
        for (int i = 0; i < expectedBody.length; ++i) {
            assertEquals(expectedBody[i], realBody[i]);
        }
        
        byte[] binaryBody = new byte[0x10];
        for (byte i = 0x0; i < binaryBody.length; ++i) {
            binaryBody[i] = i;
        }
        sipMessage = parse("INVITE sip:UAB@example.com SIP/2.0\r\n"
                + "Via: <sip:alice@atlanta.com>;transport=TCP\r\n"
                + "Content-Length: " + binaryBody.length + "\r\n"
                + "\r\n"
                + new String(binaryBody));
        realBody = sipMessage.getBody();
        assertEquals(binaryBody.length, realBody.length);
        for (int i = 0; i < expectedBody.length; ++i) {
            assertEquals(binaryBody[i], realBody[i]);
        }
    }
    
    private SipMessage parse(String message) {
        ByteArrayInputStream bais = new ByteArrayInputStream(message.getBytes());
        SipParser sipParser = new SipParser();
        SipMessage sipMessage = null;
        try {
            sipMessage = sipParser.parse(bais);
        } catch (SipParserException e) {
            e.printStackTrace();
            fail(e.getMessage());
        } catch (IOException ioe) {
            ioe.printStackTrace();
            fail(ioe.getMessage());
        }
        return sipMessage;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线电影国产精品| 亚洲精品免费在线播放| 椎名由奈av一区二区三区| 视频一区二区欧美| 成人免费毛片片v| 欧美成人伊人久久综合网| 亚洲女爱视频在线| 盗摄精品av一区二区三区| 欧美电影在线免费观看| 亚洲黄一区二区三区| 国产精品一线二线三线精华| 欧美群妇大交群中文字幕| 国产精品久久三区| 国产精品1024| 久久久一区二区三区| 日本一不卡视频| 欧美日韩一区在线观看| 伊人一区二区三区| 99re视频精品| 专区另类欧美日韩| 91麻豆国产福利精品| 国产精品久久久久7777按摩| 国产麻豆9l精品三级站| 日韩精品一区二| 毛片不卡一区二区| 日韩欧美资源站| 奇米精品一区二区三区在线观看| 欧美色图片你懂的| 亚洲国产精品综合小说图片区| k8久久久一区二区三区| 亚洲欧洲日本在线| 91麻豆国产福利在线观看| 亚洲私人影院在线观看| 91农村精品一区二区在线| 成人欧美一区二区三区白人| 高清不卡一二三区| 亚洲视频免费观看| 欧美亚洲国产一区二区三区va| 亚洲自拍偷拍欧美| 91精品在线一区二区| 日韩经典一区二区| 精品国产sm最大网站| 国产又粗又猛又爽又黄91精品| 久久久久国产免费免费| 成人中文字幕在线| 一区二区三区中文字幕精品精品| 在线观看一区二区精品视频| 午夜激情久久久| 欧美本精品男人aⅴ天堂| 国产在线不卡一区| 亚洲精品欧美综合四区| 欧美日韩国产精品自在自线| 奇米精品一区二区三区在线观看一| 日韩欧美精品在线| 成人亚洲一区二区一| 悠悠色在线精品| 日韩精品中午字幕| 成人黄色小视频| 亚洲成a人v欧美综合天堂| 日韩一区二区中文字幕| 成人性视频网站| 午夜久久福利影院| 日本一区二区三区久久久久久久久不| 97国产一区二区| 麻豆精品视频在线| 亚洲四区在线观看| 日韩精品最新网址| 色www精品视频在线观看| 免费一级欧美片在线观看| 国产精品萝li| 日韩一级片网站| 91亚洲男人天堂| 精品一区二区在线视频| 亚洲欧美日本韩国| 久久一区二区视频| 欧美日本在线观看| 91丨九色丨黑人外教| 久久精品国产色蜜蜜麻豆| 亚洲日本va在线观看| 日韩欧美亚洲一区二区| 日本高清成人免费播放| 国产成人在线观看免费网站| 日韩精品免费视频人成| 亚洲特级片在线| 久久精品亚洲乱码伦伦中文| 欧美日本免费一区二区三区| 成人看片黄a免费看在线| 蜜桃久久精品一区二区| 亚洲一区视频在线观看视频| 国产精品国产三级国产普通话三级 | 国产成人av影院| 日精品一区二区| 一区二区三区久久| 国产精品久久久久久久蜜臀| 精品成人在线观看| 欧美精品久久久久久久久老牛影院| av毛片久久久久**hd| 国产酒店精品激情| 久久精品99国产精品| 日韩高清不卡一区| 亚洲国产aⅴ成人精品无吗| 亚洲同性gay激情无套| 亚洲国产激情av| 国产人成一区二区三区影院| 精品人伦一区二区色婷婷| 欧美一级一区二区| 这里只有精品电影| 91 com成人网| 欧美一级日韩免费不卡| 91.麻豆视频| 日韩视频中午一区| 欧美一区二区三区喷汁尤物| 欧美视频中文字幕| 欧美精品在线观看一区二区| 欧美系列亚洲系列| 欧美日韩国产影片| 欧美日韩极品在线观看一区| 欧美日韩免费电影| 91精品国产入口在线| 日韩一级片在线观看| 精品国产乱码久久久久久老虎| 日韩欧美国产综合在线一区二区三区| 日韩一级黄色片| 久久一区二区三区四区| 久久久影视传媒| 中文字幕av一区二区三区免费看| 亚洲国产精品成人久久综合一区| 国产精品成人一区二区艾草 | 欧美一区二区三区免费大片| 91精品国产色综合久久久蜜香臀| 欧美一级一级性生活免费录像| 欧美成人aa大片| 国产日产欧产精品推荐色| 中文字幕不卡在线| 亚洲国产美女搞黄色| 免费视频最近日韩| 国产精品538一区二区在线| 欧美午夜寂寞影院| 91精品综合久久久久久| 久久久国产精品午夜一区ai换脸| 中文在线资源观看网站视频免费不卡| 国产精品国产三级国产aⅴ原创 | 国产色一区二区| 亚洲欧美一区二区三区孕妇| 亚洲一区二区视频在线观看| 视频一区在线视频| 国产一区二区三区免费看| 成人小视频在线| 欧美日韩国产一二三| 欧美tk—视频vk| 最新国产の精品合集bt伙计| 天天亚洲美女在线视频| 国产精品影视在线| 欧美日韩mp4| 国产精品婷婷午夜在线观看| 亚洲成人激情av| 从欧美一区二区三区| 欧美日韩三级视频| 国产精品色在线观看| 亚洲a一区二区| av一二三不卡影片| 日韩免费在线观看| 亚洲一级二级在线| 国产91综合网| 精品精品欲导航| 午夜免费欧美电影| 99re热这里只有精品免费视频| 欧美大胆一级视频| 亚洲二区在线视频| 成人av在线网站| 久久综合九色综合97婷婷| 亚洲高清视频的网址| 99热国产精品| 国产精品午夜免费| 韩国成人精品a∨在线观看| 欧洲一区二区三区免费视频| 国产精品看片你懂得| 国产真实乱对白精彩久久| 欧美人与性动xxxx| 亚洲第一激情av| 91福利在线看| 亚洲色图都市小说| 成人av在线电影| 国产精品久久久久影院老司| 国产一区二区三区免费播放| 制服丝袜中文字幕一区| 亚洲一区二区3| 色丁香久综合在线久综合在线观看| 国产精品嫩草99a| 国产成人精品亚洲777人妖| 欧美大片顶级少妇| 狠狠色狠狠色综合| 26uuu欧美| 国产一区二区不卡| 久久亚洲免费视频| 国产精品资源在线| 中文字幕欧美激情一区| 成人高清免费在线播放| 综合中文字幕亚洲| 日本高清视频一区二区|