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

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

?? messagelistener.java

?? 這是一個java實現的客戶登陸電話系統的代碼
?? JAVA
字號:
/* * MessageListener.java * * Created on November 17, 2003, 5:51 PM */package gov.nist.applet.phone.ua;import javax.sip.SipStack;import javax.sip.SipProvider;import javax.sip.Dialog;import javax.sip.SipFactory;import javax.sip.RequestEvent;import javax.sip.ResponseEvent;import javax.sip.TimeoutEvent;import javax.sip.ServerTransaction;import javax.sip.ClientTransaction;import javax.sip.TransactionAlreadyExistsException;import javax.sip.TransactionUnavailableException;import javax.sip.message.Request;import javax.sip.message.Response;import javax.sip.address.AddressFactory;import javax.sip.header.HeaderFactory;import javax.sip.header.CSeqHeader;import javax.sip.message.MessageFactory;import javax.sip.PeerUnavailableException;import javax.sip.ListeningPoint;import java.util.Properties;import javax.swing.*;import gov.nist.applet.phone.ua.gui.NISTMessengerGUI;import gov.nist.applet.phone.ua.router.MessengerHop;/** * 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);			}		}		//SUBSCRIBE DECLINE		else if (response.getStatusCode() == Response.DECLINE) {			if (method.equals(Request.SUBSCRIBE)) {				JOptionPane.showMessageDialog(					null,										"The contact declined your request",					"Decline Message",					JOptionPane.INFORMATION_MESSAGE);				return;			}		}		//SUBSCRIBE NOT_FOUND		else if (response.getStatusCode() == Response.NOT_FOUND) {			if (method.equals(Request.SUBSCRIBE)) {				JOptionPane.showMessageDialog(					null,										"The contact you want to add is not found",					"Not Found Message",					JOptionPane.ERROR_MESSAGE);				return;			}		}				//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		else if (			response.getStatusCode()				== Response.PROXY_AUTHENTICATION_REQUIRED) {			if (method.equals(Request.REGISTER)) {				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一区二区三区免费野_久草精品视频
亚洲精品在线观看网站| 亚洲色图制服诱惑| 欧美激情在线观看视频免费| 一区二区日韩av| 国产在线播放一区二区三区| 色激情天天射综合网| 精品免费视频一区二区| 一区二区三区在线观看视频 | 亚洲精品午夜久久久| 日本女人一区二区三区| 91丨porny丨中文| 久久色中文字幕| 日韩电影在线看| 99久久99久久综合| 国产日韩欧美亚洲| 久久国产三级精品| 在线不卡中文字幕| 夜夜夜精品看看| 成人av在线网| 国产色综合久久| 久久国产综合精品| 欧美一区二区三区视频在线| 亚洲自拍偷拍网站| 色噜噜夜夜夜综合网| 国产精品乱子久久久久| 国产毛片精品视频| 日韩一区二区三| 91蜜桃网址入口| 日本一区二区三区在线不卡 | 国产精品99久久久| 日韩欧美激情四射| 日本欧美在线观看| 在线综合+亚洲+欧美中文字幕| 亚洲一区二区三区四区五区中文| 白白色 亚洲乱淫| 中文字幕在线一区免费| 成人激情小说网站| 亚洲欧美在线aaa| 99精品视频一区| 亚洲欧美日韩国产另类专区| 99久久99久久精品免费观看| 亚洲私人黄色宅男| 日本久久一区二区三区| 亚洲永久免费av| 欧美无砖专区一中文字| 亚洲成人av一区二区三区| 欧美日韩国产经典色站一区二区三区 | www日韩大片| 精品在线播放免费| 国产调教视频一区| 国产91综合一区在线观看| 欧美国产激情一区二区三区蜜月| 成人激情图片网| 亚洲欧美日韩在线不卡| 欧美三级电影网| 欧美aⅴ一区二区三区视频| 日韩一区二区三免费高清| 韩国一区二区视频| 国产精品久久三| 日本高清无吗v一区| 午夜久久久久久| 日韩欧美中文字幕精品| 韩国精品一区二区| 综合精品久久久| 欧美日韩激情一区二区三区| 久久精品国产亚洲aⅴ| 欧美经典一区二区| 91成人免费电影| 久久国产福利国产秒拍| 成人欧美一区二区三区小说| 欧美日韩国产高清一区二区 | 一级精品视频在线观看宜春院| 欧美日韩国产美女| 福利一区二区在线| 婷婷亚洲久悠悠色悠在线播放| 久久亚洲捆绑美女| 色婷婷av一区二区三区软件| 老司机精品视频线观看86| 国产精品久久久久永久免费观看| 欧美日韩夫妻久久| 成人性生交大片免费看视频在线| 午夜精品免费在线观看| 久久精品无码一区二区三区| 在线观看日产精品| 国产一区二区三区在线看麻豆| 一区二区三区中文字幕| 337p粉嫩大胆色噜噜噜噜亚洲| 色久优优欧美色久优优| 精彩视频一区二区三区| 亚洲主播在线播放| 国产精品女主播在线观看| 91精品国产一区二区三区蜜臀| 成人av在线播放网站| 秋霞影院一区二区| 夜夜精品浪潮av一区二区三区| 久久日韩粉嫩一区二区三区| 欧美日韩夫妻久久| 色婷婷精品久久二区二区蜜臀av| 狠狠色丁香婷婷综合久久片| 午夜伦理一区二区| 亚洲免费成人av| 国产精品激情偷乱一区二区∴| 日韩欧美亚洲国产另类| 欧美日韩精品一区二区三区四区| 99久久国产免费看| 高清国产午夜精品久久久久久| 青娱乐精品视频| 天天影视涩香欲综合网| 一区二区三区精品在线| 亚洲国产精品国自产拍av| 精品久久久三级丝袜| 91麻豆精品国产自产在线| 欧美影视一区在线| 91黄色激情网站| 91免费视频网| 91蜜桃在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 成人天堂资源www在线| 国产精品中文有码| 国产盗摄视频一区二区三区| 国内久久精品视频| 国产麻豆视频一区| 国产一区不卡精品| 高清国产午夜精品久久久久久| 国产suv精品一区二区6| 成人精品视频一区二区三区尤物| 懂色av一区二区三区免费观看| 成人午夜激情影院| 91亚洲男人天堂| 91国偷自产一区二区使用方法| 在线看日韩精品电影| 欧美日韩精品一二三区| 欧美一区日韩一区| 亚洲精品一区二区三区香蕉| 国产情人综合久久777777| 国产精品萝li| 亚洲大片在线观看| 美腿丝袜一区二区三区| 国产乱码精品一区二区三区av| 成熟亚洲日本毛茸茸凸凹| 99re成人精品视频| 欧美日韩久久久久久| 欧美tickling网站挠脚心| 国产日韩欧美麻豆| 一区二区三区波多野结衣在线观看| 亚洲电影在线免费观看| 日韩成人免费在线| 国产精品自拍在线| 色综合一个色综合| 欧美一区二区三区系列电影| 国产三级精品视频| 亚洲美女电影在线| 久久国产福利国产秒拍| 99精品久久只有精品| 欧美区视频在线观看| 精品久久五月天| 亚洲免费三区一区二区| 久久电影国产免费久久电影| av在线不卡网| 欧美一区二区福利在线| 中文字幕一区二| 美日韩一区二区| 91农村精品一区二区在线| 3d动漫精品啪啪一区二区竹菊 | 国产剧情一区在线| 欧美性受极品xxxx喷水| 国产欧美日本一区视频| 婷婷国产在线综合| 成人黄色a**站在线观看| 91精品国产综合久久精品麻豆| 国产精品久久久久久户外露出| 日本sm残虐另类| 91久久精品网| 欧美国产亚洲另类动漫| 日日欢夜夜爽一区| 一本高清dvd不卡在线观看| 亚洲精品在线免费观看视频| 性做久久久久久久免费看| 成人av资源下载| 久久久精品国产免大香伊| 婷婷中文字幕一区三区| 91亚洲精品久久久蜜桃网站| 国产亚洲va综合人人澡精品| 日韩av一级电影| 欧美在线观看一二区| 亚洲欧洲精品天堂一级| 国产精品一级片| 精品国产三级a在线观看| 爽好多水快深点欧美视频| 91成人免费网站| 亚洲欧美视频在线观看视频| 高清av一区二区| 久久综合九色综合久久久精品综合 | 亚洲国产高清不卡| 国内成人免费视频| 欧美成人性福生活免费看| 日韩国产一二三区| 欧美人体做爰大胆视频| 亚洲一区二区中文在线| 色欧美片视频在线观看在线视频|