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

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

?? messagelistener.java

?? It is Java for SIP phone
?? JAVA
字號:
/* * MessageListener.java * * Created on November 17, 2003, 5:51 PM */package gov.nist.applet.phone.ua;import gov.nist.applet.phone.ua.gui.NISTMessengerGUI;import gov.nist.applet.phone.ua.router.MessengerHop;import java.util.Properties;import javax.sip.ClientTransaction;import javax.sip.Dialog;import javax.sip.ListeningPoint;import javax.sip.PeerUnavailableException;import javax.sip.RequestEvent;import javax.sip.ResponseEvent;import javax.sip.ServerTransaction;import javax.sip.SipFactory;import javax.sip.SipProvider;import javax.sip.SipStack;import javax.sip.TimeoutEvent;import javax.sip.TransactionAlreadyExistsException;import javax.sip.TransactionUnavailableException;import javax.sip.address.AddressFactory;import javax.sip.header.CSeqHeader;import javax.sip.header.HeaderFactory;import javax.sip.message.MessageFactory;import javax.sip.message.Request;import javax.sip.message.Response;/** * Manager of all incoming messages * This is the sip listener *  * @author  DERUELLE Jean */public class MessageListener implements javax.sip.SipListener {	/**	 * The SipFactory instance used to create the SipStack and the Address	 * Message and Header Factories.	 */	public static SipFactory sipFactory;	/**	 * The AddressFactory used to create URLs ans Address objects.	 */	public static AddressFactory addressFactory;	/**	 * The HeaderFactory used to create SIP message headers.	 */	public static HeaderFactory headerFactory;	/**	 * The Message Factory used to create SIP messages.	 */	public static MessageFactory messageFactory;	/**	 * The sipStack instance that handles SIP communications.	 */	public SipStack sipStack;	/**	 * The sipProvider instance that handles sending messages statelessly.	 */	public SipProvider sipProvider;	/**	 * The sipProvider instance that handles sending messages statelessly.	 */	protected MessageProcessor messageProcessor;	/**	 * manager for the status of the user agent and its calls.	 */	public MessengerManager sipMeetingManager;	/**	 * Configuration Stack of this user agent.	 */	private Configuration configuration;	/** Applet handle to signal errors.	 */	private NISTMessengerGUI appletHandle;	//Instanciation of the static members	static {		try {			sipFactory = SipFactory.getInstance();			headerFactory = sipFactory.createHeaderFactory();			addressFactory = sipFactory.createAddressFactory();			messageFactory = sipFactory.createMessageFactory();		} catch (PeerUnavailableException pue) {			pue.printStackTrace();		}	}	/** Creates a new instance of MessageListener 	 * It takes in parameter the callManager.	 * @param sipMeetingManager - manager for the status of the user agent and its calls.	 * @param configuration	 * It will be notified of every changes in the status of the call,     	 */	public MessageListener(		MessengerManager sipMeetingManager,		Configuration configuration,		NISTMessengerGUI appletHandle) {		this.sipMeetingManager = sipMeetingManager;		this.configuration = configuration;		this.appletHandle = appletHandle;	}	/********************************************************************************/	/**************************                            **************************/	/**************************    SIP LISTENER METHODS    **************************/	/**************************                            **************************/	/********************************************************************************/	/**	 * @see javax.sip.Listener#processRequest(RequestEvent requestEvent)	 */	public void processRequest(RequestEvent requestEvent) {		ServerTransaction serverTransaction =			requestEvent.getServerTransaction();		Request request = requestEvent.getRequest();		if (!request.getMethod().equals(Request.MESSAGE))			System.out.println("received request : " + request);		else			System.out.println("received request : " + request.getMethod());		CSeqHeader cSeqHeader = (CSeqHeader) request.getHeader(CSeqHeader.NAME);		String method = cSeqHeader.getMethod();		if (serverTransaction == null) {			try {				serverTransaction =					sipProvider.getNewServerTransaction(request);			} catch (TransactionAlreadyExistsException ex) {				return;			} catch (TransactionUnavailableException ex) {				return;			}		}		Dialog dialog = serverTransaction.getDialog();		//Request requestClone = (Request) request.clone();		//INVITE		if (request.getMethod().equals(Request.INVITE)) {			if (serverTransaction.getDialog().getState() == null) {				messageProcessor.processInvite(serverTransaction, request);			} else {				System.out.println(					"This message is a retransmission we dropped it : "						+ request.toString());			}		}		//ACK		else if (request.getMethod().equals(Request.ACK)) {			if (serverTransaction != null				&& serverTransaction					.getDialog()					.getFirstTransaction()					.getRequest()					.getMethod()					.equals(Request.INVITE)) {				messageProcessor.processAck(serverTransaction, request);			} else {				// just ignore				System.out.println("ignoring ack");			}		}		//BYE		else if (request.getMethod().equals(Request.BYE)) {			if (dialog				.getFirstTransaction()				.getRequest()				.getMethod()				.equals(Request.INVITE)) {				messageProcessor.processBye(serverTransaction, request);			}		}		//CANCEL		else if (request.getMethod().equals(Request.CANCEL)) {			if (dialog				.getFirstTransaction()				.getRequest()				.getMethod()				.equals(Request.INVITE)) {				messageProcessor.processCancel(serverTransaction, request);			}		}		//MESSAGE		else if (request.getMethod().equals(Request.MESSAGE)) {			messageProcessor.processMessage(serverTransaction, request);		}		//SUBSCRIBE		else if (request.getMethod().equals(Request.SUBSCRIBE)) {			messageProcessor.processSubscribe(serverTransaction, request);		}		//NOTIFY		else if (request.getMethod().equals(Request.NOTIFY)) {			messageProcessor.processNotify(serverTransaction, request);		}	}	/**	 * @see javax.sip.Listener#processTimeout(TimeoutEvent timeoutEvent)	 */	public void processTimeout(TimeoutEvent timeoutEvent) {		javax.sip.Transaction transaction;		if (timeoutEvent.isServerTransaction()) {		    transaction = timeoutEvent.getServerTransaction();		}		else {		    transaction = timeoutEvent.getClientTransaction();		}		Request request = transaction.getRequest();		request.removeContent();		Request newRequest = (Request) request.clone();		newRequest.removeContent();				System.out.println("Timeout event received on this request : " + newRequest  );		if((request.getMethod().equals(Request.MESSAGE))) {			// messageProcessor.processTimedOutMessage(request);            		} else if (request.getMethod().equals(Request.REGISTER)) {			messageProcessor.processTimedOutRegister(request);       		} else if (request.getMethod().equals(Request.INVITE)) {			messageProcessor.processTimedOutInvite(request);       		} else {            		        System.out.println("TimeOut received,"+ newRequest);		 }	}	/**	 * @see javax.sip.Listener#processResponse(ResponseEvent responseEvent)	 */	public void processResponse(ResponseEvent responseEvent) {		ClientTransaction clientTransaction =			responseEvent.getClientTransaction();		Response response = responseEvent.getResponse();		System.out.println("received response : " + response);		if (clientTransaction == null) {			System.out.println("ignoring a transactionless response");			return;		}		String method =			((CSeqHeader) response.getHeader(CSeqHeader.NAME)).getMethod();		//Response responseClone = (Response) response.clone();		//OK		if (response.getStatusCode() == Response.OK) {			//REGISTER			if (method.equals(Request.REGISTER)) {				messageProcessor.processRegisterOK(clientTransaction, response);			} //INVITE			else if (method.equals(Request.INVITE)) {				messageProcessor.processInviteOK(clientTransaction, response);			} //BYE			else if (method.equals(Request.BYE)) {				messageProcessor.processByeOK(clientTransaction, response);			} //CANCEL			else if (method.equals(Request.CANCEL)) {				messageProcessor.processCancelOK(clientTransaction, response);			} //MESSAGE			else if (method.equals(Request.MESSAGE)) {				messageProcessor.processMessageOK(clientTransaction, response);			}			//SUBSCRIBE			else if (method.equals(Request.SUBSCRIBE)) {				messageProcessor.processSubscribeOK(					clientTransaction,					response);			}		}		//TRYING		else if (response.getStatusCode() == Response.TRYING) {			if (method.equals(Request.INVITE)) {				messageProcessor.processTrying(clientTransaction, response);			}			//We could also receive a TRYING response to a REGISTER req            			else if (method.equals(Request.REGISTER)) {				//do nothing			}		}		//RINGING		else if (response.getStatusCode() == Response.RINGING) {			if (method.equals(Request.INVITE)) {				messageProcessor.processRinging(clientTransaction, response);			}		}		//SUBSCRIBE ACCEPTED		else if (response.getStatusCode() == Response.ACCEPTED) {			if (method.equals(Request.SUBSCRIBE)) {				messageProcessor.processSubscribeAccepted(					clientTransaction,					response);			}		}		//NOT_FOUND		else if (response.getStatusCode() == Response.NOT_FOUND) {			if (method.equals(Request.INVITE)) {				messageProcessor.processNotFound(clientTransaction, response);			}		}		//NOT_IMPLEMENTED		else if (response.getStatusCode() == Response.NOT_IMPLEMENTED) {			if (method.equals(Request.INVITE)) {				messageProcessor.processNotImplemented(					clientTransaction,					response);			} else if (method.equals(Request.REGISTER)) {				messageProcessor.processNotImplemented(					clientTransaction,					response);			} else {				System.out.println("Unknow message received : " + response);			}		}		//REQUEST_TERMINATED		else if (response.getStatusCode() == Response.REQUEST_TERMINATED) {			messageProcessor.processRequestTerminated(				clientTransaction,				response);		}		//BUSY_HERE		else if (response.getStatusCode() == Response.BUSY_HERE) {			if (method.equals(Request.INVITE)) {				messageProcessor.processBusyHere(clientTransaction, response);			}		}		//TEMPORARY_UNAVAILABLE		else if (			response.getStatusCode() == Response.TEMPORARILY_UNAVAILABLE) {			if (method.equals(Request.INVITE)				|| method.equals(Request.MESSAGE)) {				messageProcessor.processUnavailable(clientTransaction,					response);			}		}		//407 PROXY_AUTHENTICATION_REQUIRED & 401 UNAUTHORIZED		else if (			response.getStatusCode() == Response.PROXY_AUTHENTICATION_REQUIRED ||            response.getStatusCode() == Response.UNAUTHORIZED) {			if (method.equals(Request.REGISTER) ||                    method.equals(Request.BYE) ||                    method.equals(Request.INVITE) ||                    method.equals(Request.OPTIONS) ) {				sipMeetingManager.registerStatus.setRegisterTransaction(					clientTransaction);				sipMeetingManager.registerStatus.setRegisterResponse(response);				messageProcessor.processProxyAuthenticationRequired(					clientTransaction,					response);			}		}		//401 UNAUTHORIZED		/*else if (			response.getStatusCode() == Response.UNAUTHORIZED				|| response.getStatusCode()					== Response.PROXY_AUTHENTICATION_REQUIRED) {			if (method.equals(Request.REGISTER)) {				sipMeetingManager.registerStatus.setRegisterTransaction(					clientTransaction);				sipMeetingManager.registerStatus.setRegisterResponse(response);				messageProcessor.processProxyAuthenticationRequired(					clientTransaction,					response);			}		}*/		//405 METHOD NOT ALLOWED		else if (response.getStatusCode() == Response.METHOD_NOT_ALLOWED) {			messageProcessor.processMethodNotAllowed(				clientTransaction,				response);		} 		//503 service unavailable.		else if (response.getStatusCode() == Response.SERVICE_UNAVAILABLE) {			messageProcessor.processUnavailable(clientTransaction, response)  ;		}	}	/**	 * Starts the stack and so the user agent	 */	public void start() {		sipFactory.setPathName("gov.nist");		Properties properties = new Properties();		properties.setProperty(			"javax.sip.IP_ADDRESS",			configuration.stackIPAddress);		properties.setProperty(			"javax.sip.RETRANSMISSION_FILTER",			configuration.retransmissionFilter);		properties.setProperty(			"gov.nist.javax.sip.LOG_MESSAGE_CONTENT",			"false");		/*properties.setProperty("gov.nist.javax.sip.TRACE_LEVEL","32");		properties.setProperty("gov.nist.javax.sip.DEBUG_LOG", "./debug/debug_log.txt");		properties.setProperty("gov.nist.javax.sip.SERVER_LOG","./debug/server_log.txt");		properties.setProperty("gov.nist.javax.sip.BAD_MESSAGE_LOG","./debug/bad_message_log.txt");*/		properties.setProperty("javax.sip.STACK_NAME", configuration.stackName);		properties.setProperty(			"javax.sip.ROUTER_PATH",			"gov.nist.applet.phone.ua.router.MessengerRouter");		properties.setProperty(			"javax.sip.OUTBOUND_PROXY",			configuration.outboundProxy				+ ":"				+ configuration.proxyPort				+ "/"				+ configuration.signalingTransport);		// Create a dialog when message comes in.		properties.setProperty("javax.sip.EXTENSION_METHODS","MESSAGE");		try {			// Create SipStack object			sipStack = sipFactory.createSipStack(properties);		} catch (PeerUnavailableException e) {			// could not find			// gov.nist.jain.protocol.ip.sip.SipStackImpl			// in the classpath			e.printStackTrace();			System.err.println(e.getMessage());			if (e.getCause() != null)				e.getCause().printStackTrace();			appletHandle.fatalError(				"Error creating the communication stack. \n"					+ "Could not find communication stack!");		}		try {			ListeningPoint lp =				sipStack.createListeningPoint(					configuration.listeningPort,					configuration.signalingTransport);			sipProvider = sipStack.createSipProvider(lp);			sipProvider.addSipListener(this);			messageProcessor = new MessageProcessor(this);		} catch (Exception ex) {			ex.printStackTrace();			appletHandle.fatalError(				"Error creating the communication stack. \n"					+ "Only one instance of this applet is allowed!");		}	}	/**	 * Return the configuration associated to this sip listener	 * @return the configuration associated to this sip listener	 */	public Configuration getConfiguration() {		return configuration;	}	/**	 * Reset the outbound proxy with the new values	 */	public void resetOutBoundProxy(){		MessengerHop messengerHop=(MessengerHop)sipStack.getRouter().getOutboundProxy();		messengerHop.setHost(configuration.outboundProxy);		messengerHop.setPort(configuration.proxyPort);		messengerHop.setTransport(configuration.signalingTransport);	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品77777竹菊影视小说| 国产精品乱码一区二区三区软件| 国产激情一区二区三区| 亚洲日本在线天堂| 日韩欧美色电影| 色综合久久久久综合体| 精品一区二区三区日韩| 一区二区三区精品| 国产午夜亚洲精品理论片色戒| 欧美天堂一区二区三区| 成人午夜短视频| 日本91福利区| 亚洲综合免费观看高清完整版在线 | 精品国产一区二区亚洲人成毛片| 99久久精品国产一区| 韩国午夜理伦三级不卡影院| 亚洲国产成人porn| 中文字幕一区二区5566日韩| 日韩免费视频一区二区| 欧美日韩国产高清一区二区三区 | 在线播放视频一区| 99re在线精品| 成人av先锋影音| 国产激情精品久久久第一区二区 | 欧美大片在线观看一区二区| 欧美日精品一区视频| 91丝袜呻吟高潮美腿白嫩在线观看| 国产一区二区导航在线播放| 热久久久久久久| 五月天激情综合网| 一区二区三区在线免费视频| 自拍偷自拍亚洲精品播放| 国产亚洲精品久| 久久综合av免费| 欧美大肚乱孕交hd孕妇| 欧美一区二区三区不卡| 777亚洲妇女| 欧美久久久久久蜜桃| 欧美色手机在线观看| 欧美最新大片在线看 | 欧美乱妇一区二区三区不卡视频| 色综合久久精品| 91亚洲精华国产精华精华液| 91蜜桃婷婷狠狠久久综合9色| 不卡的电视剧免费网站有什么| 国产不卡在线一区| 成人精品免费看| caoporen国产精品视频| jlzzjlzz亚洲女人18| 99久久精品国产导航| 99精品在线免费| 色哦色哦哦色天天综合| 欧美在线制服丝袜| 欧美一区二区性放荡片| 欧美一区二区三区视频在线| 精品国产一区a| 国产午夜久久久久| 国产精品乱子久久久久| 亚洲精品久久嫩草网站秘色| 亚洲国产日韩精品| 日本欧美肥老太交大片| 精品一二线国产| 懂色av中文一区二区三区| av影院午夜一区| 91久久久免费一区二区| 制服丝袜亚洲播放| 久久久美女毛片| 亚洲视频小说图片| 天堂va蜜桃一区二区三区| 久久99国产精品久久| 成人一区二区视频| 精品视频在线免费观看| 精品日韩一区二区| 亚洲色图.com| 蜜臀av一级做a爰片久久| 国产福利一区二区三区视频在线 | 欧美日韩国产色站一区二区三区| 日韩亚洲欧美中文三级| 欧美韩国一区二区| 亚洲高清免费一级二级三级| 韩国视频一区二区| 在线亚洲欧美专区二区| 26uuu国产一区二区三区| 亚洲欧美色综合| 麻豆91精品91久久久的内涵| 成人动漫视频在线| 91精品国产欧美日韩| 国产视频一区二区在线| 亚洲一卡二卡三卡四卡无卡久久| 精久久久久久久久久久| 色婷婷久久久久swag精品| 久久综合国产精品| 亚州成人在线电影| 成人一级片网址| 欧美一个色资源| 亚洲欧洲另类国产综合| 久久精品国产99国产精品| 一本到不卡免费一区二区| 久久亚洲综合色一区二区三区 | 日韩精品免费专区| 不卡在线视频中文字幕| 欧美成人精品二区三区99精品| 亚洲欧美偷拍三级| 亚洲女同一区二区| 人人精品人人爱| www.日本不卡| 久久嫩草精品久久久久| 午夜精品一区二区三区电影天堂 | 九色综合狠狠综合久久| 在线国产亚洲欧美| 国产精品网站在线观看| 理论电影国产精品| 91豆麻精品91久久久久久| av在线播放一区二区三区| 精品国产麻豆免费人成网站| 久久久久88色偷偷免费| 国产乱人伦偷精品视频不卡| 国产欧美日韩久久| 成人a级免费电影| 亚洲伦在线观看| 欧美日韩一卡二卡三卡 | 午夜精品福利一区二区蜜股av| 欧美亚洲动漫制服丝袜| 日韩成人免费看| 精品国产免费一区二区三区香蕉| 国产精品91一区二区| 国产精品久久久久9999吃药| 一道本成人在线| 日本亚洲欧美天堂免费| 久久免费电影网| 97精品电影院| 亚洲成人午夜电影| 欧美大片免费久久精品三p| 国产成人丝袜美腿| 亚洲精品国产精品乱码不99| 制服丝袜亚洲色图| 丁香五精品蜜臀久久久久99网站 | 国内精品伊人久久久久av影院 | 亚洲欧美一区二区三区极速播放 | 国产精品国产三级国产aⅴ入口| av亚洲精华国产精华| 亚洲国产一区二区三区青草影视| 91精品国产一区二区三区| 国产一区二区精品在线观看| 亚洲色图一区二区三区| 宅男噜噜噜66一区二区66| 国产精品99久久久久久有的能看| 亚洲丝袜美腿综合| 日韩欧美在线一区二区三区| 成人激情开心网| 亚洲va欧美va国产va天堂影院| 337p日本欧洲亚洲大胆色噜噜| 99久久er热在这里只有精品15| 午夜天堂影视香蕉久久| 国产日韩影视精品| 欧美日韩免费在线视频| 国产98色在线|日韩| 亚洲高清在线精品| 国产精品污网站| 日韩三级电影网址| 99精品国产一区二区三区不卡| 日韩主播视频在线| 国产精品久久三区| 日韩一级免费观看| 色婷婷国产精品综合在线观看| 激情综合色综合久久| 一区二区三区精品视频在线| 国产日韩精品一区二区三区 | 欧美国产国产综合| 欧美一区二区三区在线| 99久久精品国产网站| 国模套图日韩精品一区二区| 亚洲高清在线精品| 亚洲欧洲精品一区二区精品久久久| 欧美一区二区视频在线观看2020| 99久久综合精品| 国产一区二区看久久| 日本少妇一区二区| 伊人性伊人情综合网| 欧美极品美女视频| 精品久久久久久久久久久久久久久 | 色猫猫国产区一区二在线视频| 国产真实乱偷精品视频免| 亚洲国产综合人成综合网站| 亚洲欧美综合网| 国产网站一区二区三区| 日韩欧美精品三级| 欧美日韩国产高清一区二区三区 | 亚洲国产成人va在线观看天堂| 国产精品乱人伦中文| 久久久亚洲精品石原莉奈| 3d成人h动漫网站入口| 欧美视频一区二区三区| 92精品国产成人观看免费| 高清久久久久久| 国产一区久久久| 久久精品国产精品亚洲精品| 男女性色大片免费观看一区二区| 亚洲成人av一区| 亚洲与欧洲av电影|