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

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

?? dialogmethodhandler.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.core.useragent.handlers;import java.util.ArrayList;import java.util.Collection;import java.util.Timer;import java.util.TimerTask;import net.sourceforge.peers.sip.RFC3261;import net.sourceforge.peers.sip.syntaxencoding.NameAddress;import net.sourceforge.peers.sip.syntaxencoding.SipHeaderFieldMultiValue;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.transaction.Transaction;import net.sourceforge.peers.sip.transactionuser.Dialog;import net.sourceforge.peers.sip.transactionuser.DialogManager;import net.sourceforge.peers.sip.transport.SipRequest;import net.sourceforge.peers.sip.transport.SipResponse;public abstract class DialogMethodHandler extends MethodHandler {        protected Timer ackTimer;        public DialogMethodHandler() {        ackTimer = new Timer();    }        protected Dialog buildDialogForUas(SipResponse sipResponse,            SipRequest sipRequest) {        //12.1.1                //prepare response                SipHeaders reqHeaders = sipRequest.getSipHeaders();        SipHeaders respHeaders = sipResponse.getSipHeaders();                  //copy record-route        SipHeaderFieldName recordRouteName =            new SipHeaderFieldName(RFC3261.HDR_RECORD_ROUTE);        SipHeaderFieldValue reqRecRoute = reqHeaders.get(recordRouteName);        if (reqRecRoute != null) {        	respHeaders.add(recordRouteName, reqRecRoute);        }        //FIXME Contact header should probably added in response here.        SipHeaderFieldName contactName = new SipHeaderFieldName(RFC3261.HDR_CONTACT);                Dialog dialog = DialogManager.getInstance().createDialog(sipResponse);                //build dialog state                  //route set        SipHeaderFieldValue recordRoute =            respHeaders.get(new SipHeaderFieldName(RFC3261.HDR_RECORD_ROUTE));        ArrayList<String> routeSet = new ArrayList<String>();        if (recordRoute != null) {            if (recordRoute instanceof SipHeaderFieldMultiValue) {                SipHeaderFieldMultiValue multiRecordRoute =                    (SipHeaderFieldMultiValue) recordRoute;                for (SipHeaderFieldValue routeValue : multiRecordRoute.getValues()) {                    routeSet.add(routeValue.getValue());                }            } else {                routeSet.add(recordRoute.getValue());            }        }        dialog.setRouteSet(routeSet);                  //remote target        SipHeaderFieldValue reqContact = reqHeaders.get(contactName);        String remoteTarget = reqContact.getValue();        if (remoteTarget.indexOf(RFC3261.LEFT_ANGLE_BRACKET) > -1) {            remoteTarget = NameAddress.nameAddressToUri(remoteTarget);        }        dialog.setRemoteTarget(remoteTarget);                  //remote cseq        SipHeaderFieldName cseqName = new SipHeaderFieldName(RFC3261.HDR_CSEQ);        SipHeaderFieldValue cseq = reqHeaders.get(cseqName);        String remoteCseq = cseq.getValue().substring(0, cseq.getValue().indexOf(' '));        dialog.setRemoteCSeq(Integer.parseInt(remoteCseq));                  //callid        SipHeaderFieldName callidName = new SipHeaderFieldName(RFC3261.HDR_CALLID);        SipHeaderFieldValue callid = reqHeaders.get(callidName);        dialog.setCallId(callid.getValue());                  //local tag        SipHeaderFieldName toName = new SipHeaderFieldName(RFC3261.HDR_TO);        SipHeaderFieldValue to = respHeaders.get(toName);        SipHeaderParamName tagName = new SipHeaderParamName(RFC3261.PARAM_TAG);        String toTag = to.getParam(tagName);        dialog.setLocalTag(toTag);                  //remote tag        SipHeaderFieldName fromName = new SipHeaderFieldName(RFC3261.HDR_FROM);        SipHeaderFieldValue from = reqHeaders.get(fromName);        String fromTag = from.getParam(tagName);        dialog.setRemoteTag(fromTag);                  //remote uri                String remoteUri = from.getValue();        if (remoteUri.indexOf(RFC3261.LEFT_ANGLE_BRACKET) > -1) {            remoteUri = NameAddress.nameAddressToUri(remoteUri);        }        dialog.setRemoteUri(remoteUri);                  //local uri                String localUri = to.getValue();        if (localUri.indexOf(RFC3261.LEFT_ANGLE_BRACKET) > -1) {            localUri = NameAddress.nameAddressToUri(localUri);        }        dialog.setLocalUri(localUri);                return dialog;    }        protected Dialog buildDialogForUac(SipResponse sipResponse, Transaction transaction) {        SipHeaders headers = sipResponse.getSipHeaders();        SipHeaderFieldValue to = headers.get(new SipHeaderFieldName(RFC3261.HDR_TO));        String toTag = to.getParam(new SipHeaderParamName(RFC3261.PARAM_TAG));        DialogManager dialogManager = DialogManager.getInstance();                Dialog dialog = dialogManager.getDialog(sipResponse);        if (dialog == null) {            dialog = dialogManager.createDialog(sipResponse);        }                //12.1.2                //TODO if request uri contains sips scheme or if sent over tls => dialog.setSecure(true)                //route set                dialog.setRouteSet(computeRouteSet(headers));                        //remote target                SipHeaderFieldValue contact = headers.get(new SipHeaderFieldName(RFC3261.HDR_CONTACT));        String remoteTarget = NameAddress.nameAddressToUri(contact.toString());        dialog.setRemoteTarget(remoteTarget);                //local cseq                SipHeaders requestSipHeaders = transaction.getRequest().getSipHeaders();        String requestCSeq = requestSipHeaders.get(                new SipHeaderFieldName(RFC3261.HDR_CSEQ)).toString();        requestCSeq = requestCSeq.substring(0, requestCSeq.indexOf(' '));        dialog.setLocalCSeq(Integer.parseInt(requestCSeq));                //callID                String requestCallID = requestSipHeaders.get(                new SipHeaderFieldName(RFC3261.HDR_CALLID)).toString();        dialog.setCallId(requestCallID);                //local tag                SipHeaderFieldValue requestFrom = requestSipHeaders.get(                new SipHeaderFieldName(RFC3261.HDR_FROM));        String requestFromTag =            requestFrom.getParam(new SipHeaderParamName(RFC3261.PARAM_TAG));        dialog.setLocalTag(requestFromTag);                //remote tag                dialog.setRemoteTag(toTag);                  //remote uri                String remoteUri = to.getValue();        if (remoteUri.indexOf(RFC3261.LEFT_ANGLE_BRACKET) > -1) {            remoteUri = NameAddress.nameAddressToUri(remoteUri);        }        dialog.setRemoteUri(remoteUri);                  //local uri                String localUri = requestFrom.getValue();        if (localUri.indexOf(RFC3261.LEFT_ANGLE_BRACKET) > -1) {            localUri = NameAddress.nameAddressToUri(localUri);        }        dialog.setLocalUri(localUri);                return dialog;    }    protected ArrayList<String> computeRouteSet(SipHeaders headers) {        SipHeaderFieldValue recordRoute =            headers.get(new SipHeaderFieldName(RFC3261.HDR_RECORD_ROUTE));        ArrayList<String> routeSet = new ArrayList<String>();        if (recordRoute != null) {            if (recordRoute instanceof SipHeaderFieldMultiValue) {                ArrayList<SipHeaderFieldValue> values =                    ((SipHeaderFieldMultiValue)recordRoute).getValues();                for (SipHeaderFieldValue value : values) {                    //reverse order                    routeSet.add(0, value.toString());                }            } else {                routeSet.add(recordRoute.toString());            }        }        return routeSet;    }        //TODO see if AckHandler is usable    class AckTimerTask extends TimerTask {        private String toUri;                public AckTimerTask(String toUri) {            super();            this.toUri = toUri;        }        @Override        public void run() {            ArrayList<Dialog> purgedDialogs = new ArrayList<Dialog>();            Collection<Dialog> dialogs = DialogManager.getInstance().getDialogCollection();            for (Dialog dialog : dialogs) {                String remoteUri = dialog.getRemoteUri();                if (remoteUri.equals(toUri) &&                        !dialog.CONFIRMED.equals(dialog.getState())) {                    dialog.receivedOrSentBye();                    purgedDialogs.add(dialog);                }            }            for (Dialog dialog : purgedDialogs) {                dialogs.remove(dialog);            }        }            }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久噜噜噜久久人人看 | 韩国精品主播一区二区在线观看 | 国产精品一二三四五| 99视频一区二区三区| 日韩一区二区在线看| 一区在线播放视频| 久久疯狂做爰流白浆xx| 欧美在线一二三四区| 欧美激情一区二区三区在线| 青青草97国产精品免费观看 | 日韩免费观看2025年上映的电影| 亚洲精品一线二线三线| 午夜影视日本亚洲欧洲精品| 五月天久久比比资源色| 成人午夜看片网址| 国产成人av电影免费在线观看| 久久亚洲二区三区| 99久久久精品免费观看国产蜜| 亚洲国产精品久久艾草纯爱| 91精品久久久久久蜜臀| 粉嫩高潮美女一区二区三区| 一级特黄大欧美久久久| 欧美一区二区视频在线观看2022| 国产麻豆精品95视频| 一区二区三区在线视频播放 | 美国毛片一区二区| 国产情人综合久久777777| 色综合天天综合网国产成人综合天| 亚洲va国产天堂va久久en| 国产网红主播福利一区二区| 欧美性猛交xxxx乱大交退制版| 黄色小说综合网站| 久久99精品久久久| 成人欧美一区二区三区白人 | 欧美在线小视频| 国产精品一区二区免费不卡 | 日本最新不卡在线| 中文成人综合网| 3d动漫精品啪啪1区2区免费| 丁香婷婷深情五月亚洲| 日韩精品成人一区二区在线| 中文字幕欧美日韩一区| 欧美一级片免费看| 在线欧美日韩精品| 国产乱国产乱300精品| 天堂久久久久va久久久久| 国产精品的网站| 欧美va亚洲va香蕉在线| 日本丰满少妇一区二区三区| 国产精品香蕉一区二区三区| 婷婷国产在线综合| 亚洲欧美精品午睡沙发| 国产欧美日韩在线| 精品久久久久99| 欧美日韩一卡二卡三卡| 北岛玲一区二区三区四区| 韩国午夜理伦三级不卡影院| 视频一区二区中文字幕| 一区二区三区精品视频| 国产精品对白交换视频| 欧美国产精品劲爆| 国产丝袜美腿一区二区三区| 欧美zozo另类异族| 91精品麻豆日日躁夜夜躁| 欧美丝袜丝交足nylons| 91美女在线看| 91色porny| jizz一区二区| 99精品一区二区三区| 成人黄色软件下载| 成人免费黄色在线| 从欧美一区二区三区| 国产成人av一区| 国产精品1区二区.| 国产iv一区二区三区| 高清av一区二区| 国产成人丝袜美腿| 国产高清精品在线| 成人免费看视频| 国产jizzjizz一区二区| 成人午夜视频在线观看| av电影在线观看不卡| av成人免费在线| 色综合天天综合给合国产| 色网站国产精品| 欧美日韩视频在线观看一区二区三区| 欧美综合亚洲图片综合区| 国产成人日日夜夜| 欧美激情中文字幕| 国产亚洲欧美日韩俺去了| 久久精品人人爽人人爽| 国产精品污污网站在线观看| 国产精品网站导航| 韩国女主播成人在线| 国内偷窥港台综合视频在线播放| 国产真实乱偷精品视频免| 精品不卡在线视频| 91在线码无精品| 国产成人av电影免费在线观看| 成人爱爱电影网址| 日韩欧美二区三区| 国产福利一区在线| 亚洲午夜久久久久久久久久久 | 亚洲精品在线观看网站| 91精品国产丝袜白色高跟鞋| 欧美日韩一区二区欧美激情| 91玉足脚交白嫩脚丫在线播放| 国产麻豆成人传媒免费观看| 91香蕉视频mp4| 精品毛片乱码1区2区3区| 一区二区三区在线视频免费 | 国产盗摄一区二区| 欧美电影一区二区| 亚洲欧美乱综合| 成人性生交大片| 日韩欧美综合在线| 亚洲成年人影院| 色偷偷一区二区三区| 亚洲黄色av一区| voyeur盗摄精品| 欧美唯美清纯偷拍| 久久久久久9999| 午夜不卡av免费| 在线视频欧美区| 成人国产精品免费| 欧美日韩国产不卡| 国产亚洲欧洲一区高清在线观看| 亚洲精品欧美综合四区| 美女看a上一区| 一本久久综合亚洲鲁鲁五月天| 日韩三级.com| 亚洲第一狼人社区| 成年人午夜久久久| 精品国产欧美一区二区| 樱桃国产成人精品视频| 国产精品影视网| 欧美一区二区在线视频| 亚洲欧美日韩在线| 国产高清不卡二三区| 欧美一区二区福利视频| 一区二区三区 在线观看视频| 国产成人精品在线看| 91精品福利在线一区二区三区 | 日韩女优电影在线观看| 亚洲精品国产成人久久av盗摄 | 69p69国产精品| 亚洲精品日日夜夜| 成人v精品蜜桃久久一区| 日韩精品一区二区三区老鸭窝| 亚洲一卡二卡三卡四卡无卡久久| 丁香激情综合国产| 久久久精品tv| 久久超碰97人人做人人爱| 欧美日韩精品欧美日韩精品一| 综合激情成人伊人| 成人激情校园春色| 久久久久久久久99精品| 精品在线一区二区三区| 69av一区二区三区| 亚洲成a人片在线观看中文| 91久久人澡人人添人人爽欧美| 天天色天天爱天天射综合| 91美女蜜桃在线| 中文字幕在线观看一区| 丁香六月久久综合狠狠色| 国产拍欧美日韩视频二区| 国产精品99久久久久久似苏梦涵 | 国产精品一级片在线观看| 精品91自产拍在线观看一区| 美腿丝袜亚洲色图| 日韩欧美电影一二三| 久久精品久久精品| 日韩三级高清在线| 久久av中文字幕片| 久久久影视传媒| 福利一区二区在线| 国产精品灌醉下药二区| 97精品久久久久中文字幕| 亚洲女与黑人做爰| 91原创在线视频| 欧美午夜一区二区| 91久久精品一区二区三| 99久久综合99久久综合网站| 久久精品国产99久久6| 天天操天天综合网| 色八戒一区二区三区| 亚洲综合色丁香婷婷六月图片| 在线观看视频一区| 日韩专区中文字幕一区二区| 欧美日韩国产三级| 日韩高清中文字幕一区| 日韩一级大片在线| 高清不卡一区二区在线| 中文字幕日韩一区二区| 在线免费不卡视频| 免费亚洲电影在线| 亚洲国产精品v| 欧美伊人精品成人久久综合97 | 91玉足脚交白嫩脚丫在线播放| 亚洲日本在线a|