⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 siptransactioninviteclientua.h

📁 MiniSip Client with DomainKeys Authentication, Sip, Audio communications, Echo Cancel
💻 H
字号:
/*  Copyright (C) 2005, 2004 Erik Eliasson, Johan Bilien    This library is free software; you can redistribute it and/or  modify it under the terms of the GNU Lesser General Public  License as published by the Free Software Foundation; either  version 2.1 of the License, or (at your option) any later version.  This library 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  Lesser General Public License for more details.  You should have received a copy of the GNU Lesser General Public  License along with this library; if not, write to the Free Software  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*//* * Authors: Erik Eliasson <eliasson@it.kth.se> *          Johan Bilien <jobi@via.ecp.fr>*//* Name * 	SipTransactionInviteInitiator.h * Author * 	Erik Eliasson, eliasson@it.kth.se * Purpose * */#ifndef SIPTRANSACTIONINVITEICLIENTUA_H#define SIPTRANSACTIONINVITEICLIENTUA_H#include<libmsip/libmsip_config.h>#include<libmsip/SipSMCommand.h>#include<libmsip/SipTransactionInviteClient.h>/**	Implement an INVITE Transaction Client UAC,	as defined in RFC 3261, section 17.1.1		It is composed of the following states:		start, calling, proceeding, completed, terminated		Transition functions between the states are axxx_description().		There is a transition from any state into TERMINATED, defined in 	the base class SipTransaction::a1000_xxxx()		All transitions are the same as for the parent class, except for	a5 and a7, which are substituted by a1001 and 1002.	Transition a1003 is new.*/class LIBMSIP_API SipTransactionInviteClientUA: public SipTransactionInviteClient{	public:		SipTransactionInviteClientUA(MRef<SipStack *> stack, 				//MRef<SipDialog*> d, 				int seq_no, 				const std::string &cSeqMethod, 				const std::string &callid);				virtual ~SipTransactionInviteClientUA();		void changeStateMachine();		virtual std::string getMemObjectType(){return "SipTransactionInviteClientUA";}		virtual std::string getName(){return "transaction_ua_invite_client[branch="+getBranch()+"]";}	private:		/**			Transition from CALLING to COMPLETED			It subsitutes the transition from CALLING to TERMINATED that 			   exhists in its parent class.			If a final 2xx response is received, we move to the COMPLETED			state. 			Timer A is cancelled (no more retx)			Timer B is also cancelled.			Set Timer D (wait time for response re-tx)			Forward the 2xx to the TU.			Send an ACK (transport layer) ... //FIXME:shouldn't it be the TU sending it?		*/		bool a1001_calling_completed_2xx( const SipSMCommand &command);				/**			Transition from PROCEEDING to COMPLETED			Same as a1001, but from the PROCEEDING state.			Send an ACK (transport layer) ... //FIXME:shouldn't it be the TU sending it?				*/		bool a1002_proceeding_completed_2xx( const SipSMCommand &command);		/**			Loop in COMPLETED state.			While in COMPLETED state, resend an ACK for each 2xx response 			that we receive. Do not notify the TU.		*/		bool a1003_completed_completed_2xx( const SipSMCommand &command);};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -