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

📄 rvwpconfig.h

📁 基于h323协议的软phone
💻 H
字号:

#ifndef __RVWPCONFIG_H__
#define __RVWPCONFIG_H__

#define CONFIG_COMMON_LEN 2048
/*
 *system config param
*/
typedef struct
{
	int*	vtPoolSize;
	int*	vtNodeCount;
	int*	channels;
	int*	chanDescs;
	int*	messages;
	int*	nameChans;
	int*	tpktChans;
	int*	tpktNoBuffers;
	int*	udpChans;
	int*	protocols;
	int*	maxProcs;
	int*	maxBuffSize;
	int*	maxPoolSizeInKB;
}Allocations;

typedef struct
{
	int*	fullProperty;
	int*	copySingleMessage;
	int*	deleteSingleMessage;
	int*	doNotUseProperty;
}CallProperty;

typedef struct
{
	int*	interval;
}Watchdog;

typedef struct
{
	int*		manualStart;
	char*	pdlName;
	int*		cidAssociate;
	char* 	delimiter;
	Allocations* allocations;
	int*		maxCalls;
	int*		maxChannels;
	int*		maxRasOutTransaction;
	int*		maxRasInTransaction;
	int*		localIpAddress;
	int*		portFrom;
	int*		portTo;
	CallProperty* callProperty;
	Watchdog*	watchdog;
}SystemConfiguration;

/*
 *RAS config param
*/
typedef struct
{
	int		ip;
	int		port;
}IpAddress;

typedef struct
{
	IpAddress	ipAddress;
}TransportAddress;

typedef struct
{
	TransportAddress*	defaultGatekeeper;
}ManualDiscovery;

typedef struct
{
	int*		t35CountryCode;
	int*		t35Extension;
	int*		manufacturerCode;
}VendorN;

typedef struct
{
	int*		t35CountryCode;
	int*		t35Extension;
	int*		manufacturerCode;
}H221NonStandard;

typedef struct
{
	H221NonStandard*	vendor;
	char*		productId;
	char*		versionId;
}Vendor;

typedef struct
{
	char*			object;
	H221NonStandard*	h221NonStandard;
}NonStandardIdentifier;

typedef struct
{
	NonStandardIdentifier*	nonStandardIdentifier;
	char*				data;
}NonStandardParameter;

typedef struct
{
	NonStandardParameter*	nonStandardData;
}TerminalInfo;

typedef struct
{
	NonStandardParameter*	nonStandardData;
	Vendor*					vendor;
	TerminalInfo*				terminal;
	int*			mc;
	int*			undefinedNode;
}EndpointType;

typedef struct
{
	char*	val;
}H323ID;

typedef struct
{
	char* val;
}E164;

typedef struct
{
	char*		aliasType;
	char*		aliasVal;
}AliasAddress;

typedef struct
{
	H221NonStandard*		vendor;
	char*		productId;
	char*		versionId;
}VendorIdentifier;

typedef struct
{
	EndpointType*	terminalType;
	AliasAddress*		terminalAlias;
	int*				aliasSize;
	char*			gatekeeperIdentifier;
	VendorIdentifier*		endpointVendor;
	int*			timeToLive;
}RegistrationInfo;

typedef struct
{
	TransportAddress** annexE;
	int*		annexESize;
}AlternateTransportAddresses;
typedef struct
{
	int*	direct;
	int*	routed;
}PreGrantedArqUse;

typedef struct
{
	int*		responseTimeOut;
	int*		gatekeeper;
	int*		manualRAS;
	int*		maxFail;
	int*		allowCallsWhenNonReg;
	int*		manualRegistration;
	ManualDiscovery*	manualDiscovery;
	RegistrationInfo*	registrationInfo;
	TransportAddress*	rasMulticastAddress;
	int*		rasPort;
	int*		compare15bitRasCrv;
	int*		maxRetries;
	int*		maxMulticastTTL;
	int*		overlappedSending;
	PreGrantedArqUse*		preGrantedArqUse;
	AlternateTransportAddresses*	alternateTransportAddresses;
	int*		dontRegisterOnTimeOut;
	int*		supportAltGK;
	int*		preTimeToLiveRegistration;
}RasConfigration;

/*
 *Q.931 config param
*/
typedef struct
{
	int*		annexE;
	int*		tpkt;
	int*		raceAnnexE;
	int*		raceTPKT;
}ProtocolPreference;

typedef struct
{
	int*		defaultProtocol;
	ProtocolPreference* protocolPreference;
	int*		t_R1;
	int*		t_R2;
	int*		n_R1;
	int*		t_IMA1;
	int*		n_IMA1;
	int*		t_DT;
}UseAnnexE;

typedef struct
{
	int*		responseTimeOut;
	int*		connectTimeOut;
	int*		callSignalingPort;
	int*		annexEcallSignalingPort;
	int*		maxCalls;
	int*		manualAccept;
	int*		notEstablishControl;
	int*		h245Tunneling;
	int*		earlyH245;
	int*		autoAnswer;
	int*		manualCallProceeding;
	int*		overlappedSending;
	int*		t302;
	int*		t304;
	int*		busyCause;
	int*		busyReason;
	UseAnnexE*	useAnnexE;
	int*		diffSrcAddressInSetupAndARQ;
	int*		postControlDisconnectionDelay;
	int*		keepCallOnQ931Close;
}Q931Configuration;

/*
 *H.245 config param
*/
typedef struct
{
	int*		terminalType;
	int*		manulOperation;
	int*		manualResponse;
	int*		timeout;
}MasterSlaveConf;

typedef struct
{
	int	centralizedControl;
	int	distributedControl;
	int	centralizedAudio;
	int	distributedAudio;
	int	centralizedVideo;
	int	distributedVideo;
}MediaDistributionCapability;

typedef struct
{
	int		multicastCapability;
	int		multiUniCastConference;
	MediaDistributionCapability*	mediaDistributionCapability;
	int		size;
}MultipointCapability;

typedef struct
{
	int	centralizedConferenceMC;
	int	decentralizedConferenceMC;
}McCapability;

typedef struct
{
	int		h261aVideoPacketization;
}MediaPacketizationCapability;

typedef struct
{
	int		maximumAudioDelayJitter;
	MultipointCapability	*	receiveMultipointCapability;
	MultipointCapability	*	transmitMultipointCapability;
	MultipointCapability	*	receiveAndTransmitMultipointCapability;
	McCapability			mcCapability;
	int					rtcpVideoControlCapability;
	MediaPacketizationCapability	mediaPacketizationCapability;
}H2250Capability;

typedef struct 
{
	H2250Capability	h2250Capability;
}MultiplexCapability;

typedef struct
{
	int maxAl_sduAudioFrames;
	int silenceSuppression;
}GG7231;

typedef struct
{
	int*	g711Alaw64k;
	int*	g711Alaw56k;
	int*	g711Ulaw64k;
	int*	g711Ulaw56k;
	int*	g722_64k;
	int*	g722_56k;
	int*	g722_48k;
	int*	g729;
	int*	g729AnnexA;
	int*	g729wAnnexB;
	int*	g729AnnexAwAnnexB;
	GG7231* g7231;
}AudioCapability;

typedef struct
{
	AudioCapability	receiveAudioCapability;
	/*AudioCapability	transmitAudioCapability;*/
}Capability;

typedef int	CapabilityTableEntryNumber;

typedef struct
{
	CapabilityTableEntryNumber	capabilityTableEntryNumber;
	Capability				capability;
}CapabilityTableEntry;

typedef struct
{
	int*		val;
	int		size;
}AlternativeCapabilitySet;

typedef int		CapabilityDescriptorNumber;
typedef struct
{
	CapabilityDescriptorNumber	capabilityDescriptorNumber;
	AlternativeCapabilitySet*	simultaneousCapabilities;/*optional*/
	int						size;
}CapabilityDescriptor;

typedef struct
{
	int		sequenceNumber;
	int		protocolIdentifier;
	MultiplexCapability*	multiplexCapability;
	CapabilityTableEntry*	capabilityTable;			/*array*/
	int					tableSize;
	CapabilityDescriptor*	capabilityDescriptor;		/*array*/
	int					descSize;
}TermianlCapabilitySet;

typedef struct
{
	/* add when necessary	*/
	TermianlCapabilitySet*	terminalCapabilitySet;

	int*		manualOperation;
	int*		manualReqponse;
	int*		timeout;
}CapabilitiesConf;

typedef struct
{
	AudioCapability*	audioData;
}DataType;

typedef struct
{
	char*		name;
	DataType		dataType;
	int*			isDynamicPayloadType;
}ChannelEntry;

/*	add this when necessary
typedef struct
{
char** name;
ModeElement*		mode;
}ModeEntry;
*/
typedef struct
{
	MasterSlaveConf*	masterSlave;
	CapabilitiesConf*	capabilities;
	ChannelEntry*	channels;
	int				channelsSize;
	/*ModeEntry**		modes;
	int*				modesSize;*/
	int*		channelsTimeout;
	int*		roundTripTimeout;
	int*		requestCloseTimeout;
	int*		requestModeTimeout;
	int*		mediaLoopTimeout;
}H245Configuration;

typedef struct
{
	SystemConfiguration*	system;
	RasConfigration*		RAS;
	Q931Configuration*	Q931;
	H245Configuration*	h245;
}Config;

#define UNUSED_HANDLE(pfun) (pfun=NULL)

extern char* bufConfig;
extern void endConfig();

extern void String2Bmp(char* string, char* bmp, int size);
extern void Bmp2String(char* bmp, char* string, int size);

#endif

⌨️ 快捷键说明

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