[Freeswitch-svn] [commit] r13776 - freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include

FreeSWITCH SVN jmesquita at freeswitch.org
Mon Jun 15 13:15:42 PDT 2009


Author: jmesquita
Date: Mon Jun 15 15:15:41 2009
New Revision: 13776

Log:
Proper includes...

Added:
   freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/k3l.h
Removed:
   freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/KDefs.h
   freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/KErrorDefs.h
   freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/KGSM.h
   freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/KH100Defs.h
   freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/KISDN.h
   freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/KMixerDefs.h
   freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/KR2D.h
   freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/KTypeDefs.h
   freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/KVoIP.h
   freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/k3lVersion.h

Added: freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/k3l.h
==============================================================================
--- (empty file)
+++ freeswitch/trunk/scripts/contrib/jmesquita/mod_khomp/include/k3l.h	Mon Jun 15 15:15:41 2009
@@ -0,0 +1,1787 @@
+/*  
+    KHOMP channel provider for Asterisk PBX
+    Copyright (C) 2007-2008 Khomp Ind. & Com.  
+  
+  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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA 
+  
+*/
+
+#ifndef INCLUDED_K3LDEFS_H
+#define INCLUDED_K3LDEFS_H
+#if !defined KLTYPEDEFS_H
+#define KLTYPEDEFS_H
+#if defined( _WINDOWS ) || defined( _Windows ) || defined( _WIN32 )
+	#ifndef KWIN32
+	#define KWIN32 1
+	#endif
+#endif
+
+#ifdef KWIN32
+	typedef __int64				int64;
+	typedef unsigned __int64	uint64;
+	#define Kstdcall __stdcall
+#else
+	typedef long long				int64;
+	typedef unsigned long long		uint64;
+	#define Kstdcall 
+#endif
+typedef int					int32;
+typedef unsigned int		uint32;
+typedef unsigned long long  intptr;
+typedef long                stackint;
+typedef short int			int16;
+typedef unsigned short int	uint16;
+typedef char				int8;
+typedef unsigned char		uint8;
+typedef unsigned char		byte;
+typedef char				sbyte;
+typedef double				float64;
+typedef float				float32;
+typedef int32				stt_code;
+
+enum KLibraryStatus 
+{
+	ksSuccess =			0,
+	ksFail =			1,
+	ksTimeOut =			2,
+	ksBusy =			3,
+	ksLocked =			4,
+	ksInvalidParams =	5,
+	ksEndOfFile =		6,
+	ksInvalidState =	7,
+	ksServerCommFail =	8,
+	ksOverflow =		9,
+    ksUnderrun =        10,
+	ksNotFound =		11,
+    ksNotAvailable =    12
+};	
+enum KTxRx
+{
+	kNoTxRx	= 0x0,
+	kTx		= 0x1,
+	kRx		= 0x2,
+	kBoth	= 0x3
+}; 
+
+#define KMAX_SERIAL_NUMBER			12 
+#define KMAX_E1_CHANNELS			30
+#define KMAX_DIAL_NUMBER	        20
+#define KMAX_ADDRESS				60
+#define KMAX_DSP_NAME		        8
+#define KMAX_STR_VERSION	        80
+#define KMAX_BUFFER_ADDRESSES		16
+#define KMAX_LOG                    1024
+#define KMAX_SIP_DATA               248
+#endif
+#if !defined KVOIPDEFS_H
+#define KVOIPDEFS_H
+enum KRejectReason
+{
+	UserBusy = 0,
+	UserNotFound,
+	NoAnswer,
+	Decline,
+	ServiceUnavailable,
+	ServerInternalError,
+	UnknownRejectReason
+};
+enum KSIP_Failures
+{
+	kveResponse_200_OK_Success             		= 200,
+    kveRedirection_300_MultipleChoices			= 300,
+	kveRedirection_301_MovedPermanently			= 301,
+	kveRedirection_302_MovedTemporarily			= 302,
+	kveRedirection_305_UseProxy					= 305,
+	kveRedirection_380_AlternativeService		= 380,
+	kveFailure_400_BadRequest					= 400,
+	kveFailure_401_Unauthorized					= 401,
+	kveFailure_402_PaymentRequired				= 402,
+	kveFailure_403_Forbidden					= 403,
+	kveFailure_404_NotFound						= 404,
+	kveFailure_405_MethodNotAllowed				= 405,
+	kveFailure_406_NotAcceptable				= 406,
+	kveFailure_407_ProxyAuthenticationRequired	= 407,
+	kveFailure_408_RequestTimeout				= 408,
+	kveFailure_410_Gone							= 410,
+	kveFailure_413_RequestEntityTooLarge		= 413,
+	kveFailure_414_RequestURI_TooLong			= 414,
+	kveFailure_415_UnsupportedMediaType			= 415,
+	kveFailure_416_UnsupportedURI_Scheme		= 416,
+	kveFailure_420_BadExtension					= 420,
+	kveFailure_421_ExtensionRequired			= 421,
+	kveFailure_423_IntervalTooBrief				= 423,
+	kveFailure_480_TemporarilyUnavailable		= 480,
+	kveFailure_481_CallDoesNotExist				= 481,
+	kveFailure_482_LoopDetected					= 482,
+	kveFailure_483_TooManyHops					= 483,
+	kveFailure_484_AddressIncomplete			= 484,
+	kveFailure_485_Ambiguous					= 485,
+	kveFailure_486_BusyHere						= 486,
+	kveFailure_487_RequestTerminated			= 487,
+	kveFailure_488_NotAcceptableHere			= 488,
+	kveFailure_491_RequestPending				= 491,
+	kveFailure_493_Undecipherable				= 493,
+	kveServer_500_InternalError					= 500,
+	kveServer_501_NotImplemented				= 501,
+	kveServer_502_BadGateway					= 502,
+	kveServer_503_ServiceUnavailable			= 503,
+	kveServer_504_TimeOut						= 504,
+	kveServer_505_VersionNotSupported			= 505,
+	kveServer_513_MessageTooLarge				= 513,
+	kveGlobalFailure_600_BusyEverywhere			= 600,
+	kveGlobalFailure_603_Decline				= 603,
+	kveGlobalFailure_604_DoesNotExistAnywhere	= 604,
+	kveGlobalFailure_606_NotAcceptable			= 606
+};
+enum KVoIPRegTypes
+{
+   kvrtRegister    =   0,
+   kvrtUnregister  =   1
+};
+
+struct KVoIPCallParams
+{
+	sbyte ToUser[ KMAX_ADDRESS + 1 ];
+	sbyte FromUser[ KMAX_ADDRESS + 1 ];
+    sbyte FromUserIP[ KMAX_ADDRESS + 1 ];
+};
+struct KVoIPEvRegisterParams
+{
+    KVoIPRegTypes Register;
+	sbyte User[ KMAX_ADDRESS + 1 ];
+	sbyte ProxyIP[ KMAX_ADDRESS + 1 ];
+};
+struct KVoIPSeize 
+{
+	sbyte FromUser[ KMAX_ADDRESS + 1 ];
+	sbyte ToUser[ KMAX_ADDRESS + 1 ];
+    sbyte ProxyIP[ KMAX_ADDRESS + 1 ];
+};
+#endif
+#if !defined KLDEFS_H
+#define KLDEFS_H
+
+
+
+#define CM_SEIZE					0x01
+     
+#define CM_SYNC_SEIZE				0x02
+
+#define CM_SIP_REGISTER             0x03
+
+#define CM_DIAL_DTMF				0x04
+
+#define CM_DISCONNECT				0x05
+
+#define CM_CONNECT					0x06
+
+#define CM_PRE_CONNECT				0x07
+
+#define CM_CAS_CHANGE_LINE_STT		0x08
+
+#define CM_CAS_SEND_MFC				0x09
+
+#define CM_SET_FORWARD_CHANNEL		0x0A
+
+#define CM_CAS_SET_MFC_DETECT_MODE	0x0B
+
+#define CM_DROP_COLLECT_CALL		0x0C
+
+#define CM_MAKE_CALL				0x0D
+
+#define CM_RINGBACK 				0x0E
+
+#define CM_USER_INFORMATION         0x0F
+
+#define CM_VOIP_SEIZE				0x23
+
+
+#define	CM_LOCK_INCOMING			0x10
+
+#define CM_UNLOCK_INCOMING			0x11
+
+#define CM_LOCK_OUTGOING			0x12
+
+#define CM_UNLOCK_OUTGOING			0x13
+
+#define CM_START_SEND_FAIL			0x14
+
+#define CM_STOP_SEND_FAIL			0x15
+
+#define CM_END_OF_NUMBER            0x16
+
+#define CM_SEND_SIP_DATA			0x17
+
+#define CM_SS_TRANSFER              0x18
+
+#define CM_GET_SMS                  0x19
+
+#define CM_PREPARE_SMS              0x1A
+
+#define CM_SEND_SMS                 0x1B
+
+#define CM_SEND_TO_MODEM            0x1C
+
+#define CM_CHECK_NEW_SMS            0x1D
+
+#define CM_ISDN_SEND_SUBADDRESSES   0x1E
+
+#define CM_ENABLE_DTMF_SUPPRESSION	0x30
+
+#define CM_DISABLE_DTMF_SUPPRESSION	0x31
+
+#define CM_ENABLE_AUDIO_EVENTS		0x32
+
+#define CM_DISABLE_AUDIO_EVENTS		0x33
+
+#define CM_ENABLE_CALL_PROGRESS		0x34
+
+#define CM_DISABLE_CALL_PROGRESS	0x35
+
+#define CM_FLASH					0x36
+
+#define CM_ENABLE_PULSE_DETECTION	0x37
+
+#define CM_DISABLE_PULSE_DETECTION	0x38
+
+#define CM_ENABLE_ECHO_CANCELLER	0x39
+
+#define CM_DISABLE_ECHO_CANCELLER	0x3A
+
+#define CM_ENABLE_AGC				0x3B
+
+#define CM_DISABLE_AGC				0x3C
+
+#define CM_ENABLE_HIGH_IMP_EVENTS	0x3D
+
+#define CM_DISABLE_HIGH_IMP_EVENTS	0x3E
+
+#define CM_ENABLE_CALL_ANSWER_INFO  0x40
+
+#define CM_DISABLE_CALL_ANSWER_INFO 0x41
+
+#define CM_HOLD_SWITCH             0x4A
+
+#define CM_MPTY_CONF               0x4B
+
+#define CM_MPTY_SPLIT              0x4C
+
+#define CM_START_FAX_TX				0x50
+
+#define CM_CANCEL_FAX_TX			0x51
+
+#define CM_ADD_FAX_FILE				0x52
+
+
+#define CM_RESET_LINK				0xF1
+
+#define CM_CLEAR_LINK_ERROR_COUNTER 0xF2
+
+#define CM_SEND_DEVICE_SECURITY_KEY 0xF3
+
+#define CM_RESET_MODEM              0xF4
+
+
+#define EV_CHANNEL_FREE				0x01
+
+#define EV_CONNECT					0x03
+
+#define EV_DISCONNECT				0x04
+
+#define EV_CALL_SUCCESS				0x05
+
+#define EV_CALL_FAIL				0x06
+
+#define EV_NO_ANSWER				0x07
+
+#define EV_BILLING_PULSE			0x08
+
+#define EV_SEIZE_SUCCESS			0x09
+
+#define EV_SEIZE_FAIL				0x0A
+
+#define EV_SEIZURE_START			0x0B
+
+#define EV_CAS_LINE_STT_CHANGED		0x0C
+
+#define EV_CAS_MFC_RECV				0x0D
+
+#define EV_NEW_CALL                 0x0E
+
+#define EV_USER_INFORMATION         0x0F
+
+#define EV_DIALED_DIGIT             0x10
+
+#define EV_SIP_REGISTER_INFO        0x11
+
+#define EV_RING_DETECTED            0x12
+
+#define EV_ISDN_SUBADDRESSES        0x13
+
+#define EV_CALL_HOLD_START			0x16
+
+#define EV_CALL_HOLD_STOP			0x17
+
+#define EV_SS_TRANSFER_FAIL         0x18
+
+#define EV_FLASH                    0x19
+
+#define EV_ISDN_PROGRESS_INDICATOR	0x1A
+
+#define EV_DTMF_DETECTED			0x20
+
+#define EV_DTMF_SEND_FINISH			0x21
+
+#define EV_AUDIO_STATUS				0x22
+
+#define EV_CADENCE_RECOGNIZED		0x23
+#define EV_CALL_PROGRESS			EV_CADENCE_RECOGNIZED
+
+#define EV_END_OF_STREAM			0x24
+
+#define EV_PULSE_DETECTED			0x25
+
+#define EV_POLARITY_REVERSAL		0x26
+
+#define EV_CALL_ANSWER_INFO     	0x27
+
+#define EV_COLLECT_CALL          	0x28
+
+#define EV_SIP_DTMF_DETECTED        0x29
+
+#define EV_SIP_DATA			        0x2A
+
+#define EV_RECV_FROM_MODEM			0x42
+
+#define EV_NEW_SMS                  0x43
+
+#define EV_SMS_INFO                 0x44
+
+#define EV_SMS_DATA                 0x45
+
+#define EV_SMS_SEND_RESULT          0x46
+
+#define EV_CALL_MPTY_START			0x47
+
+#define EV_CALL_MPTY_STOP			0x48
+
+#define EV_GSM_COMMAND_STATUS		0x49
+
+
+#define EV_CHANNEL_FAIL				0x30
+
+#define EV_REFERENCE_FAIL			0x31
+
+#define EV_INTERNAL_FAIL			0x32
+
+#define EV_HARDWARE_FAIL			0x33
+
+#define EV_LINK_STATUS				0x34
+
+#define EV_PHYSICAL_LINK_UP			0x35
+
+#define EV_PHYSICAL_LINK_DOWN		0x36
+
+#define EV_CLIENT_RECONNECT		0xF0
+
+#define EV_CLIENT_AUDIOLISTENER_TIMEOUT     0xF1
+
+#define EV_CLIENT_BUFFERED_AUDIOLISTENER_OVERFLOW   0xF2
+
+#define EV_REQUEST_DEVICE_SECURITY_KEY 0xF3
+
+#define EV_DISK_IS_FULL		0xF4
+
+
+#define CM_SEND_DTMF				0xD1
+
+#define CM_STOP_AUDIO 				0xD2
+
+#define CM_HARD_RESET				0xF0
+
+#define EV_VOIP_SEIZURE					0x40
+
+#define EV_SEIZURE					0x41
+
+#define EV_FAX_CHANNEL_FREE			0x50
+#define EV_FAX_FILE_SENT			0x51
+#define EV_FAX_FILE_FAIL			0x52
+#endif
+
+   #define FC_REMOTE_FAIL			0x01
+   #define FC_LOCAL_FAIL			0x02
+ 
+   #define FC_REMOTE_LOCK			0x03
+  
+   #define FC_LINE_SIGNAL_FAIL		0x04
+   #define FC_ACOUSTIC_SIGNAL_FAIL	0x05
+
+enum KChannelFail
+{
+	kfcRemoteFail = FC_REMOTE_FAIL,
+	kfcLocalFail = FC_LOCAL_FAIL,
+	kfcRemoteLock = FC_REMOTE_LOCK,
+	kfcLineSignalFail = FC_LINE_SIGNAL_FAIL,
+	kfcAcousticSignalFail = FC_ACOUSTIC_SIGNAL_FAIL
+};
+
+   #define ER_INTERRUPT_CTRL		0x01
+   #define ER_COMMUNICATION_FAIL	0x02
+   #define ER_PROTOCOL_FAIL			0x03
+   #define ER_INTERNAL_BUFFER		0x04
+	#define ER_MONITOR_BUFFER		0x05
+	#define ER_INITIALIZATION		0x06
+	#define ER_INTERFACE_FAIL		0x07
+	#define ER_CLIENT_COMM_FAIL		0x08
+	#define ER_POLL_CTRL			0x09
+	#define ER_EVT_BUFFER_CTRL		0x0A
+
+	#define ER_INVALID_CONFIG_VALUE 0x0B
+
+	#define ER_INTERNAL_GENERIC_FAIL 0x0C
+
+enum KInternalFail
+{
+	kifInterruptCtrl = ER_INTERRUPT_CTRL,
+	kifCommunicationFail = ER_COMMUNICATION_FAIL,
+	kifProtocolFail = ER_PROTOCOL_FAIL,
+	kifInternalBuffer = ER_INTERNAL_BUFFER,
+	kifMonitorBuffer = ER_MONITOR_BUFFER,
+	kifInitialization = ER_INITIALIZATION,
+	kifInterfaceFail = ER_INTERFACE_FAIL,
+	kifClientCommFail = ER_CLIENT_COMM_FAIL
+};	
+
+   #define FS_CHANNEL_LOCKED		0x01
+   #define FS_INCOMING_CHANNEL		0x02
+   #define FS_CHANNEL_NOT_FREE		0x03
+   #define FS_DOUBLE_SEIZE			0x04
+   #define FS_LOCAL_CONGESTION		0x06
+   #define FS_NO_DIAL_TONE			0x07
+enum KSeizeFail
+{
+	ksfChannelLocked = FS_CHANNEL_LOCKED,
+	ksfIncomingChannel = FS_INCOMING_CHANNEL,
+	ksfChannelBusy = FS_CHANNEL_NOT_FREE,
+	ksfDoubleSeizure = FS_DOUBLE_SEIZE,
+	ksfCongestion = FS_LOCAL_CONGESTION,
+	ksfNoDialTone = FS_NO_DIAL_TONE
+};
+#if !defined KH100DEFS_H
+#define KH100DEFS_H
+
+#define CM_SEND_TO_CTBUS			0x90
+
+#define CM_RECV_FROM_CTBUS			0x91
+
+#define CM_SEND_RANGE_TO_CTBUS		0x92
+
+#define CM_SETUP_H100				0x93
+
+enum KH100ConfigIndex
+{
+	khciDeviceMode = 0,
+	khciMasterGenClock = 1,
+	khciCTNetRefEnable = 4,
+	khciSCbusEnable = 6,
+	khciHMVipEnable = 7,
+	khciMVip90Enable = 8,
+	khciCTbusDataEnable = 9,
+	khciCTbusFreq03_00 = 10,
+	khciCTbusFreq07_04 = 11,
+	khciCTbusFreq11_08 = 12,
+	khciCTbusFreq15_12 = 13,
+	khciMax = 14,
+	khciMasterDevId = 20,
+	khciSecMasterDevId = 21,
+	khciCtNetrefDevId = 22,
+    khciMaxH100ConfigIndex
+};	
+
+enum KMasterPLLClockReference
+{
+    h100_Ref_FreeRun = 0,
+    h100_Ref_holdover = 1,
+	h100_Automatic = 2,
+    h100_Ref_ctnetref = 7,
+    h100_Ref_link0 = 8,
+    h100_Ref_link1 = 9
+};
+enum KSlavePLLClockReference
+{
+    h100_PllLoc_ClkA = 0,
+    h100_PllLoc_ClkB = 1,
+    h100_PllLoc_SCBus = 2,
+    h100_PllLoc_MVIP90 = 3,
+    h100_PllLoc_Link0 = 4,
+    h100_PllLoc_Link1 = 5,
+    h100_PllLoc_Error = 6
+};
+
+#define H100_DEVICE_MODE				khciDeviceMode
+	enum KH100Mode
+	{
+		h100_Slave,
+		h100_Master,
+		h100_StandbyMaster,
+		h100_Diagnostic,
+		h100_NotConnected
+	};
+#define H100_MASTER_GEN_CLOCK			khciMasterGenClock
+	enum KH100SelectCtbusClock
+	{
+		h100_scClockA,
+		h100_scClockB
+	};
+
+#define H100_CT_NETREF_ENABLE			khciCTNetRefEnable
+	enum KH100CtNetref
+	{
+		h100_nrOff,
+		h100_nrEnable
+	};
+#define	H100_SCBUS_ENABLE				khciSCbusEnable
+	enum KH100ScbusEnable
+	{
+		h100_seOff,
+		h100_seOn2Mhz,
+		h100_seOn4Mhz,
+		h100_seOn8Mhz
+	};
+#define H100_HMVIP_ENABLE				khciHMVipEnable
+
+#define H100_MVIP90_ENABLE				khciMVip90Enable
+
+#define H100_CTBUS_DATA_ENABLE			khciCTbusDataEnable
+
+enum KH100Enable
+{
+	h100_On = 0x01,
+	h100_Off = 0x00
+};
+	
+#define H100_CTBUS_FREQ_03_00			khciCTbusFreq03_00
+#define H100_CTBUS_FREQ_07_04			khciCTbusFreq07_04
+#define H100_CTBUS_FREQ_11_08			khciCTbusFreq11_08
+#define H100_CTBUS_FREQ_15_12			khciCTbusFreq15_12
+
+enum KH100CtbusFreq
+{
+	h100_cf_2Mhz	=	0,
+	h100_cf_4Mhz	=	1,
+	h100_cf_8Mhz	=	2 
+};
+
+#endif
+
+#define CM_MIXER					0x60
+
+#define CM_CLEAR_MIXER				0x61
+
+#define CM_PLAY_FROM_FILE			0x62
+
+#define CM_RECORD_TO_FILE			0x63
+	
+#define CM_PLAY_FROM_STREAM			0x64 
+
+#define CM_INTERNAL_PLAY			0x65 
+
+#define CM_STOP_PLAY				0x66
+
+#define CM_STOP_RECORD				0x67
+
+#define CM_PAUSE_PLAY				0x68
+
+#define CM_PAUSE_RECORD				0x69
+
+#define CM_RESUME_PLAY				0x6A
+
+#define CM_RESUME_RECORD			0x6B
+
+#define CM_INCREASE_VOLUME			0x6C
+
+#define CM_DECREASE_VOLUME			0x6D
+
+#define CM_LISTEN					0x6E
+
+#define CM_STOP_LISTEN				0x6F
+
+#define CM_PREPARE_FOR_LISTEN		0x70
+
+#define CM_PLAY_SOUND_CARD			0x71
+
+#define CM_STOP_SOUND_CARD			0x72
+
+#define CM_MIXER_CTBUS				0x73
+
+#define CM_PLAY_FROM_STREAM_EX			0x74 
+
+#define CM_INTERNAL_PLAY_EX			0x75 
+
+#define CM_ENABLE_PLAYER_AGC		0x76
+
+#define CM_DISABLE_PLAYER_AGC		0x77
+
+#define CM_START_STREAM_BUFFER		0x78
+
+#define CM_ADD_STREAM_BUFFER		0x79
+
+#define CM_STOP_STREAM_BUFFER		0x7A
+
+#define CM_SEND_BEEP				0x7B
+
+#define CM_SEND_BEEP_CONF			0x7C
+
+#define CM_ADD_TO_CONF				0x7D
+
+#define CM_REMOVE_FROM_CONF			0x7E
+
+#define CM_RECORD_TO_FILE_EX		0x7F
+
+#define CM_SET_VOLUME				0xA0
+
+#define CM_START_CADENCE			0xA1
+
+#define CM_STOP_CADENCE				0xA2
+#if !defined KR2D_H
+#define KR2D_H
+
+#define CM_SET_LINE_CONDITION		0x80
+
+#define CM_SEND_LINE_CONDITION		0x81
+
+#define CM_SET_CALLER_CATEGORY		0x82
+      
+	
+#define CM_DIAL_MFC					0x83
+
+
+
+enum KSignGroupII_Brazil
+{
+	kg2BrOrdinary		        = 0x01,     
+	kg2BrPriority		        = 0x02,     
+	kg2BrMaintenance	        = 0x03,     
+	kg2BrLocalPayPhone	        = 0x04,     
+	kg2BrTrunkOperator	        = 0x05,     
+	kg2BrDataTrans	            = 0x06,     
+	kg2BrNonLocalPayPhone       = 0x07,     
+	kg2BrCollectCall	        = 0x08,     
+	kg2BrOrdinaryInter	        = 0x09,     
+	kg2BrTransfered		        = 0x0B,     
+};
+
+enum KSignGroupB_Brazil
+{
+	kgbBrLineFreeCharged		= 0x01,     
+	kgbBrBusy					= 0x02,     
+	kgbBrNumberChanged			= 0x03,     
+	kgbBrCongestion				= 0x04,     
+	kgbBrLineFreeNotCharged		= 0x05,     
+	kgbBrLineFreeChargedLPR		= 0x06,     
+	kgbBrInvalidNumber			= 0x07,     
+	kgbBrLineOutOfOrder			= 0x08,     
+	kgbBrNone					= 0xFF      
+};
+
+
+enum KSignGroupII_Argentina
+{
+	kg2ArOrdinary		        = 0x01,     
+	kg2ArPriority		        = 0x02,     
+	kg2ArMaintenance	        = 0x03,     
+	kg2ArLocalPayPhone	        = 0x04,     
+	kg2ArTrunkOperator	        = 0x05,     
+	kg2ArDataTrans	            = 0x06,     
+    kg2ArCPTP                   = 0x0B,     
+    kg2ArSpecialLine            = 0x0C,     
+    kg2ArMobileUser             = 0x0D,     
+    kg2ArPrivateRedLine         = 0x0E,     
+    kg2ArSpecialPayPhoneLine    = 0x0F,     
+};
+
+enum KSignGroupB_Argentina
+{
+	kgbArNumberChanged			= 0x02,     
+	kgbArBusy					= 0x03,     
+	kgbArCongestion				= 0x04,     
+	kgbArInvalidNumber			= 0x05,     
+	kgbArLineFreeCharged		= 0x06,     
+	kgbArLineFreeNotCharged		= 0x07,     
+	kgbArLineOutOfOrder			= 0x08,     
+	kgbArNone					= 0xFF      
+};
+
+
+enum KSignGroupII_Chile
+{
+    kg2ClOrdinary		        = 0x01,     
+	kg2ClPriority		        = 0x02,     
+	kg2ClMaintenance	        = 0x03,     
+	kg2ClTrunkOperator	        = 0x05,     
+	kg2ClDataTrans	            = 0x06,     
+    kg2ClUnidentifiedSubscriber = 0x0B,     
+};
+
+enum KSignGroupB_Chile
+{
+	kgbClNumberChanged			= 0x02,     
+	kgbClBusy					= 0x03,     
+	kgbClCongestion				= 0x04,     
+	kgbClInvalidNumber			= 0x05,     
+	kgbClLineFreeCharged		= 0x06,     
+	kgbClLineFreeNotCharged		= 0x07,     
+	kgbClLineOutOfOrder			= 0x08,     
+	kgbClNone					= 0xFF      
+};
+
+
+enum KSignGroupII_Mexico
+{
+	kg2MxTrunkOperator	        = 0x01,     
+	kg2MxOrdinary		        = 0x02,     
+	kg2MxMaintenance	        = 0x06,     
+};
+
+enum KSignGroupB_Mexico
+{
+	kgbMxLineFreeCharged		= 0x01,     
+	kgbMxBusy					= 0x02,     
+	kgbMxLineFreeNotCharged		= 0x05,     
+	kgbMxNone				    = 0xFF      
+};
+
+
+enum KSignGroupII_Uruguay
+{
+	kg2UyOrdinary		        = 0x01,     
+	kg2UyPriority		        = 0x02,     
+	kg2UyMaintenance	        = 0x03,     
+	kg2UyLocalPayPhone	        = 0x04,     
+	kg2UyTrunkOperator	        = 0x05,     
+	kg2UyDataTrans	            = 0x06,     
+    kg2UyInternSubscriber       = 0x07,     
+};
+
+enum KSignGroupB_Uruguay
+{
+	kgbUyNumberChanged			= 0x02,     
+	kgbUyBusy					= 0x03,     
+	kgbUyCongestion				= 0x04,     
+	kgbUyInvalidNumber			= 0x05,     
+	kgbUyLineFreeCharged		= 0x06,     
+	kgbUyLineFreeNotCharged		= 0x07,     
+	kgbUyLineOutOfOrder			= 0x08,     
+	kgbUyNone					= 0xFF      
+};
+
+
+enum KSignGroupII_Venezuela
+{
+	kg2VeOrdinary		        = 0x01,     
+	kg2VePriority		        = 0x02,     
+	kg2VeMaintenance	        = 0x03,     
+	kg2VeLocalPayPhone	        = 0x04,     
+	kg2VeTrunkOperator	        = 0x05,     
+	kg2VeDataTrans	            = 0x06,     
+    kg2VeNoTransferFacility     = 0x07,     
+};
+
+enum KSignGroupB_Venezuela
+{
+	kgbVeLineFreeChargedLPR		= 0x01,     
+	kgbVeNumberChanged			= 0x02,     
+	kgbVeBusy					= 0x03,     
+	kgbVeCongestion				= 0x04,     
+	kgbVeInformationTone		= 0x05,     
+	kgbVeLineFreeCharged		= 0x06,     
+	kgbVeLineFreeNotCharged		= 0x07,     
+    kgbVeLineBlocked            = 0x08,     
+    kgbVeIntercepted            = 0x09,     
+    kgbVeDataTrans              = 0x0A,     
+	kgbVeNone					= 0xFF      
+};
+
+
+
+
+
+enum KSignGroupB
+{
+	kgbLineFreeCharged			= 0x01,
+	kgbLineFreeNotCharged		= 0x05,
+	kgbLineFreeChargedLPR		= 0x06,
+	kgbBusy						= 0x02,
+	kgbNumberChanged			= 0x03,
+	kgbCongestion				= 0x04,
+	kgbInvalidNumber			= 0x07,
+	kgbLineOutOfOrder			= 0x08,
+	kgbNone						= 0xFF
+};
+#define STT_GB_LINEFREE_CHARGED				0x01
+#define STT_GB_LINEFREE_NOTCHARGED			0x05
+#define STT_GB_LINEFREE_CHARGED_LPR			0x06
+#define	STT_GB_BUSY							0x02
+#define STT_GB_NUMBER_CHANGED				0x03
+#define STT_GB_CONGESTION					0x04
+#define STT_GB_UNALLOCATED_NUMBER			0x07
+#define STT_GB_LINE_OUT_OF_ORDER			0x08
+#define STT_GB_NONE							0xFF
+
+enum KSignGroupII
+{
+	kg2Ordinary			= 0x01,
+	kg2Priority			= 0x02,
+	kg2Maintenance		= 0x03,
+	kg2LocalPayPhone	= 0x04,
+	kg2TrunkOperator	= 0x05,
+	kg2DataTrans		= 0x06,
+	kg2NonLocalPayPhone = 0x07,
+	kg2CollectCall		= 0x08,
+	kg2OrdinaryInter	= 0x09,
+	kg2Transfered		= 0x0B,
+};
+#define STT_GII_ORDINARY					0x01
+#define STT_GII_PRIORITY					0x02
+#define STT_GII_MAINTENANCE					0x03
+#define STT_GII_LOCAL_PAY_PHONE				0x04
+#define STT_GII_TRUNK_OPERATOR				0x05
+#define STT_GII_DATA_TRANS					0x06
+#define STT_GII_NON_LOCAL_PAY_PHONE			0x07		
+#define STT_GII_COLLECT_CALL				0x08
+#define STT_GII_ORDINARY_INTERNATIONAL		0x09
+#define STT_GII_TRANSFERED					0x0B
+#endif
+#ifndef _KISDN_H_
+#define _KISDN_H_
+#define KMAX_USER_USER_LEN              32
+#define KMAX_SUBADRESS_INFORMATION_LEN  20 
+
+enum KQ931Cause
+{
+    kq931cNone                    			= 0,
+    kq931cUnallocatedNumber       			= 1,
+    kq931cNoRouteToTransitNet     			= 2,
+    kq931cNoRouteToDest           			= 3,
+	kq931cSendSpecialInfoTone				= 4,
+	kq931cMisdialedTrunkPrefix				= 5,
+    kq931cChannelUnacceptable     			= 6,
+    kq931cCallAwarded             			= 7,
+	kq931cPreemption						= 8,
+	kq931cPreemptionCircuitReuse			= 9,
+	kq931cQoR_PortedNumber					= 14,
+    kq931cNormalCallClear         			= 16,
+    kq931cUserBusy                			= 17,
+    kq931cNoUserResponding        			= 18,
+    kq931cNoAnswerFromUser        			= 19,
+	kq931cSubscriberAbsent					= 20,
+    kq931cCallRejected            			= 21,
+    kq931cNumberChanged           			= 22,
+	kq931cRedirectionToNewDest				= 23,
+	kq931cCallRejectedFeatureDest			= 24,
+	kq931cExchangeRoutingError				= 25,
+    kq931cNonSelectedUserClear    			= 26,
+    kq931cDestinationOutOfOrder   			= 27,
+    kq931cInvalidNumberFormat     			= 28,
+    kq931cFacilityRejected        			= 29,
+    kq931cRespStatusEnquiry       			= 30,
+    kq931cNormalUnspecified       			= 31,
+    kq931cNoCircuitChannelAvail   			= 34,
+    kq931cNetworkOutOfOrder       			= 38,
+	kq931cPermanentFrameConnOutOfService	= 39,
+	kq931cPermanentFrameConnOperational		= 40,
+    kq931cTemporaryFailure          		= 41,
+    kq931cSwitchCongestion          		= 42,
+    kq931cAccessInfoDiscarded       		= 43,
+    kq931cRequestedChannelUnav      		= 44,
+	kq931cPrecedenceCallBlocked				= 46,
+    kq931cResourceUnavailable       		= 47,
+    kq931cQosUnavailable            		= 49,
+    kq931cReqFacilityNotSubsc       		= 50,
+	kq931cOutCallsBarredWithinCUG			= 53,
+	kq931cInCallsBarredWithinCUG			= 55,
+    kq931cBearerCapabNotAuthor      		= 57,
+    kq931cBearerCapabNotAvail       		= 58,
+	kq931cInconsistency						= 62,
+    kq931cServiceNotAvailable       		= 63,
+    kq931cBcNotImplemented          		= 65,
+    kq931cChannelTypeNotImplem      		= 66,
+    kq931cReqFacilityNotImplem      		= 69,
+    kq931cOnlyRestrictedBcAvail     		= 70,
+    kq931cServiceNotImplemented     		= 79,
+    kq931cInvalidCrv                		= 81,
+    kq931cChannelDoesNotExist       		= 82,
+    kq931cCallIdDoesNotExist        		= 83,
+    kq931cCallIdInUse               		= 84,
+    kq931cNoCallSuspended           		= 85,
+    kq931cCallIdCleared             		= 86,
+	kq931cUserNotMemberofCUG				= 87,
+    kq931cIncompatibleDestination   		= 88,
+    kq931cInvalidTransitNetSel      		= 91,
+    kq931cInvalidMessage            		= 95,
+    kq931cMissingMandatoryIe        		= 96,
+    kq931cMsgTypeNotImplemented     		= 97,
+    kq931cMsgIncompatWithState      		= 98,
+    kq931cIeNotImplemented          		= 99,
+    kq931cInvalidIe                 		= 100,
+    kq931cMsgIncompatWithState2     		= 101,
+    kq931cRecoveryOnTimerExpiry     		= 102,
+    kq931cProtocolError             		= 103,
+	kq931cMessageWithUnrecognizedParam		= 110,
+	kq931cProtocolErrorUnspecified			= 111,
+    kq931cInterworking              		= 127,
+    kq931cCallConnected             		= 128,
+    kq931cCallTimedOut              		= 129,
+    kq931cCallNotFound              		= 130,
+    kq931cCantReleaseCall           		= 131,
+    kq931cNetworkFailure            		= 132,
+    kq931cNetworkRestart            		= 133,
+    kq931cLastValidCause            		= kq931cNetworkRestart,
+};
+
+enum KQ931ProgressIndication
+{
+    kq931pTonesMaybeAvailable       = 1,
+    kq931pDestinationIsNonIsdn      = 2,
+    kq931pOriginationIsNonIsdn      = 3,
+    kq931pCallReturnedToIsdn        = 4,
+    kq931pTonesAvailable            = 8,
+};
+
+enum KQ931Hlc
+{
+    kq931hTelefony                  = 0x81,
+    k1931hFaxGroup23                = 0x84,
+    k1931hFaxGroup4                 = 0xa1,
+    kq931hTeletexF184               = 0xa4,
+    kq931hTeletexF220               = 0xa8,
+    kq931hTeletexf200               = 0xb1,
+    kq931hVideotex                  = 0xb2,
+    kq931hTelexF60                  = 0xb5,
+    kq931hMhs                       = 0xb8,
+    kq931hOsiApp                    = 0xc1,
+    kq931hMaintenance               = 0xde,
+    kq931hManagement                = 0xdf,
+};
+
+enum KQ931BearerCapability
+{
+    kq931bSpeech                    = 0x00,
+    kq931bUnrestrictedDigital       = 0x08,
+    kq931bAudio31kHz                = 0x10,
+    kq931bAudio7kHz                 = 0x11,
+    kq931bVideo                     = 0x18,
+};
+
+enum KQ931TypeOfNumber
+{
+    kq931tUnknownNumber             = 0x00,
+    kq931tInternationalNumber       = 0x10,
+    kq931tNationalNumber            = 0x20,
+    kq931tNetworkSpecificNumber     = 0x30,
+    kq931tSubscriberNumber          = 0x40,
+    kq931tAbbreviatedNumber         = 0x60,
+    kq931tReservedNumber            = 0x70,
+    kq931tDefaultNumber             = kq931tUnknownNumber,
+};
+
+enum KQ931NumberingPlan
+{
+    kq931pUnknownPlan               = 0x00,
+    kq931pIsdnPlan                  = 0x01,
+    kq931pDataPlan                  = 0x03,
+    kq931pTelexPlan                 = 0x04,
+    kq931pNationalPlan              = 0x08,
+    kq931pPrivatePlan               = 0x09,
+    kq931pReservedPlan              = 0x0F,
+    kq931pDefaultPlan               = kq931pUnknownPlan,
+};
+
+enum KQ931UserInfoProtocolDescriptor
+{
+    kq931uuUserSpecific             = 0x00,
+    kq931uuOSI_HighLayer            = 0x01,
+    kq931uuX244                     = 0x02,
+    kq931uuIA5_Chars                = 0x04,
+    kq931uuX208_X209                = 0x05,
+    kq931uuV120                     = 0x07,
+    kq931uuQ931_CallControl         = 0x08,
+    kq931uuNational                 = 0x40 
+};
+enum KQ931PresentationIndicator
+{
+	kq931piPresentationAllowed					= 0x00,
+	kq931piPresentationRestricted				= 0x01,
+	kq931piNumberNotAvailableDueToInterworking	= 0x02,
+};
+enum KQ931ScreeningIndicator
+{
+	kq931siUserProvidedNotScreened				= 0x00,
+	kq931siUserProvidedVerifiedAndPassed		= 0x01,
+	kq931siUserProvidedVerifiedAndFailed		= 0x02,
+	kq931siNetworkProvided						= 0x03,
+};
+enum KQ931TypeOfSubaddress
+{
+    kq931tsNSAP                                 = 0x00,
+    kq931tsUserSpecified                        = 0x01,
+};
+#endif 
+#ifndef KGSM_H
+#define KGSM_H
+
+enum KGsmCallCause
+{
+    kgccNone                      = 0,
+    kgccUnallocatedNumber         = 1,
+    kgccNoRouteToDest             = 3,
+    kgccChannelUnacceptable       = 6,
+    kgccOperatorDeterminedBarring = 8,
+    kgccNormalCallClear           = 16,
+    kgccUserBusy                  = 17,
+    kgccNoUserResponding          = 18,
+    kgccNoAnswerFromUser          = 19,
+    kgccCallRejected              = 21,
+    kgccNumberChanged             = 22,
+    kgccNonSelectedUserClear      = 26,
+    kgccDestinationOutOfOrder     = 27,
+    kgccInvalidNumberFormat       = 28,
+    kgccFacilityRejected          = 29,
+    kgccRespStatusEnquiry         = 30,
+    kgccNormalUnspecified         = 31,
+    kgccNoCircuitChannelAvail     = 34,
+    kgccNetworkOutOfOrder         = 38,
+    kgccTemporaryFailure          = 41,
+    kgccSwitchCongestion          = 42,
+    kgccAccessInfoDiscarded       = 43,
+    kgccRequestedChannelUnav      = 44,
+    kgccResourceUnavailable       = 47,
+    kgccQosUnavailable            = 49,
+    kgccReqFacilityNotSubsc       = 50,
+    kgccCallBarredWitchCUG        = 55,
+    kgccBearerCapabNotAuthor      = 57,
+    kgccBearerCapabNotAvail       = 58,
+    kgccServiceNotAvailable       = 63,
+    kgccBcNotImplemented          = 65,
+    kgccReqFacilityNotImplem      = 69,
+    kgccOnlyRestrictedBcAvail     = 70,
+    kgccServiceNotImplemented     = 79,
+    kgccInvalidCrv                = 81,
+    kgccUserNotMemberOfCUG        = 82,
+    kgccIncompatibleDestination   = 88,
+    kgccInvalidTransitNetSel      = 91,
+    kgccInvalidMessage            = 95,
+    kgccMissingMandatoryIe        = 96,
+    kgccMsgTypeNotImplemented     = 97,
+    kgccMsgIncompatWithState      = 98,
+    kgccIeNotImplemented          = 99,
+    kgccInvalidIe                 = 100,
+    kgccMsgIncompatWithState2     = 101,
+    kgccRecoveryOnTimerExpiry     = 102,
+    kgccProtocolError             = 111,
+    kgccInterworking              = 127,
+};
+
+enum KGsmMobileCause
+{
+    kgmcPhoneFailure                = 0,
+    kgmcNoConnectionToPhone         = 1,
+    kgmcPhoneAdaptorLinkReserved    = 2,
+    kgmcOperationNotAllowed         = 3,
+    kgmcOperationNotSupported       = 4,
+    kgmcPH_SIMPINRequired           = 5,
+    kgmcPH_FSIMPINRequired          = 6,
+    kgmcPH_FSIMPUKRequired          = 7,
+    kgmcSIMNotInserted              = 10,
+    kgmcSIMPINRequired              = 11,
+    kgmcSIMPUKRequired              = 12,
+    kgmcSIMFailure                  = 13,
+    kgmcSIMBusy                     = 14,
+    kgmcSIMWrong                    = 15,
+    kgmcIncorrectPassword           = 16,
+    kgmcSIMPIN2Required             = 17,
+    kgmcSIMPUK2Required             = 18,
+    kgmcMemoryFull                  = 20,
+    kgmcInvalidIndex                = 21,
+    kgmcNotFound                    = 22,
+    kgmcMemoryFailure               = 23,
+    kgmcTextStringTooLong           = 24,
+    kgmcInvalidCharInTextString     = 25,
+    kgmcDialStringTooLong           = 26,
+    kgmcInvalidCharInDialString     = 27,
+    kgmcNoNetworkService            = 30,  
+    kgmcNetworkTimeout              = 31,  
+    kgmcNetworkNotAllowed           = 32,
+    kgmcCommandAborted              = 33,
+    kgmcNumParamInsteadTextParam    = 34,
+    kgmcTextParamInsteadNumParam    = 35,
+    kgmcNumericParamOutOfBounds     = 36,
+    kgmcTextStringTooShort          = 37,
+    kgmcNetworkPINRequired          = 40,
+    kgmcNetworkPUKRequired          = 41,
+    kgmcNetworkSubsetPINRequired    = 42,
+    kgmcNetworkSubnetPUKRequired    = 43,
+    kgmcServiceProviderPINRequired  = 44,
+    kgmcServiceProviderPUKRequired  = 45,
+    kgmcCorporatePINRequired        = 46,
+    kgmcCorporatePUKRequired        = 47,
+    kgmcSIMServiceOptNotSupported   = 60,
+    kgmcUnknown                     = 100,
+    kgmcIllegalMS_N3                = 103,
+    kgmcIllegalME_N6                = 106,
+    kgmcGPRSServicesNotAllowed_N7   = 107,
+    kgmcPLMNNotAllowed_No11         = 111,
+    kgmcLocationAreaNotAllowed_N12  = 112,
+    kgmcRoamingNotAllowed_N13       = 113,
+    kgmcServiceOptNotSupported_N32  = 132,
+    kgmcReqServOptNotSubscribed_N33 = 133,
+    kgmcServOptTempOutOfOrder_N34   = 134,
+    kgmcLongContextActivation       = 147,
+    kgmcUnspecifiedGPRSError        = 148,
+    kgmcPDPAuthenticationFailure    = 149,
+    kgmcInvalidMobileClass          = 150,
+    kgmcGPRSDisconnectionTmrActive  = 151,
+    kgmcTooManyActiveCalls          = 256,
+    kgmcCallRejected                = 257,
+    kgmcUnansweredCallPending       = 258,
+    kgmcUnknownCallingError         = 259,
+    kgmcNoPhoneNumRecognized        = 260,
+    kgmcCallStateNotIdle            = 261,
+    kgmcCallInProgress              = 262,
+    kgmcDialStateError              = 263,
+    kgmcUnlockCodeRequired          = 264,
+    kgmcNetworkBusy                 = 265,
+    kgmcInvalidPhoneNumber          = 266,
+    kgmcNumberEntryAlreadyStarted   = 267,
+    kgmcCancelledByUser             = 268,
+    kgmcNumEntryCouldNotBeStarted   = 269,
+    kgmcDataLost                    = 280,
+    kgmcInvalidBessageBodyLength    = 281,
+    kgmcInactiveSocket              = 282,
+    kgmcSocketAlreadyOpen           = 283
+};
+
+enum KGsmSmsCause
+{
+    kgscUnassigned                  = 1,
+    kgscOperatorDeterminedBarring   = 8,
+    kgscCallBarred                  = 10,
+    kgscSMSTransferRejected         = 21,
+    kgscDestinationOutOfService     = 27,
+    kgscUnidentifiedSubscriber      = 28,
+    kgscFacilityRejected            = 29,
+    kgscUnknownSubscriber           = 30,
+    kgscNetworkOutOfOrder           = 38,
+    kgscTemporaryFailure            = 41,
+    kgscCongestion                  = 42,
+    kgscResourcesUnavailable        = 47,
+    kgscFacilityNotSubscribed       = 50,
+    kgscFacilityNotImplemented      = 69,
+    kgscInvalidSMSTransferRefValue  = 81,
+    kgscInvalidMessage              = 95,
+    kgscInvalidMandatoryInformation = 96,
+    kgscMessageTypeNonExistent      = 97,
+    kgscMsgNotCompatWithSMProtState = 98,
+    kgscInformationElementNonExiste = 99,
+    kgscProtocolError               = 111,
+    kgscInterworking                = 127,
+    kgscTelematicInterworkingNotSup = 128,
+    kgscSMSTypeZeroNotSupported     = 129,
+    kgscCannotReplaceSMS            = 130,
+    kgscUnspecifiedTPPIDError       = 143,
+    kgscAlphabetNotSupported        = 144,
+    kgscMessageClassNotSupported    = 145,
+    kgscUnspecifiedTPDCSError       = 159,
+    kgscCommandCannotBeActioned     = 160,
+    kgscCommandUnsupported          = 161,
+    kgscUnspecifiedTPCommandError   = 175,
+    kgscTPDUNotSupported            = 176,
+    kgscSCBusy                      = 192,
+    kgscNoSCSubscription            = 193,
+    kgscSCSystemFailure             = 194,
+    kgscInvalidSMEAddress           = 195,
+    kgscDestinationSMEBarred        = 196,
+    kgscSMRejectedDuplicateSM       = 197,
+    kgscTPVPFNotSupported           = 198,
+    kgscTPVPNotSupported            = 199,
+    kgscSIMSMSStorageFull           = 208,
+    kgscNoSMSStorageCapabilityInSIM = 209,
+    kgscErrorInMS                   = 210,
+    kgscMemoryCapacityExceeded      = 211,
+    kgscSIMDataDownloadError        = 213,
+    kgscUnspecifiedError            = 255,
+    kgscPhoneFailure                = 300,
+    kgscSmsServiceReserved          = 301,
+    kgscOperationNotAllowed         = 302,
+    kgscOperationNotSupported       = 303,
+    kgscInvalidPDUModeParameter     = 304,
+    kgscInvalidTextModeParameter    = 305,
+    kgscSIMNotInserted              = 310,
+    kgscSIMPINNecessary             = 311,
+    kgscPH_SIMPINNecessary          = 312,
+    kgscSIMFailure                  = 313,
+    kgscSIMBusy                     = 314,
+    kgscSIMWrong                    = 315,
+    kgscMemoryFailure               = 320,
+    kgscInvalidMemoryIndex          = 321,
+    kgscMemoryFull                  = 322,
+    kgscSMSCAddressUnknown          = 330,
+    kgscNoNetworkService            = 331,
+    kgscNetworkTimeout              = 332,
+    kgscUnknownError                = 500,
+    kgscNetworkBusy                 = 512,
+    kgscInvalidDestinationAddress   = 513,
+    kgscInvalidMessageBodyLength    = 514,
+    kgscPhoneIsNotInService         = 515,
+    kgscInvalidPreferredMemStorage  = 516,
+    kgscUserTerminated              = 517
+};
+#endif
+#ifndef k3lVersion_h
+#define k3lVersion_h
+#define k3lApiMajorVersion	2
+#define k3lApiMinorVersion	1
+#define k3lApiBuildVersion	0
+#endif
+#if !defined K3L_H
+#define K3L_H
+
+enum KDeviceType
+{
+	kdtE1     = 0,
+	kdtFXO    = 1,
+	kdtConf   = 2,
+	kdtPR     = 3,
+	kdtE1GW   = 4,
+	kdtFXOVoIP = 5,
+	kdtE1IP	  = 6,
+	kdtE1Spx  = 7,
+    kdtGWIP   = 8,
+    kdtFXS    = 9,
+    kdtFXSSpx = 10,
+    kdtGSM    = 11,
+    kdtGSMSpx = 12,
+	kdtFax    = 13,
+	kdtDevTypeCount
+};
+enum KSignaling
+{
+	ksigInactive		= 0,
+	ksigR2Digital		= 1,
+	ksigContinuousEM	= 2,
+	ksigPulsedEM		= 3,
+	ksigUserR2Digital	= 4,
+	ksigAnalog			= 5,
+	ksigOpenCAS			= 6,
+	ksigOpenR2			= 7,
+	ksigSIP 			= 8,
+    ksigOpenCCS         = 9,
+    ksigPRI_EndPoint    = 10,
+    ksigAnalogTerminal  = 11,
+    ksigPRI_Network     = 12,
+    ksigPRI_Passive     = 13,
+	ksigLineSide  		= 14,
+	ksigCAS_EL7			= 15,
+    ksigGSM             = 16,
+	ksigE1LC			= 17,
+	ksigISUP			= 18,
+	ksigFax				= 19,
+};
+enum KE1DeviceModel
+{
+	kdmE1600	= 0,
+	kdmE1600E	= 1,
+	kdmE1600EX  = 2
+};
+enum KE1GWDeviceModel 
+{
+	kdmE1GW640   = 1,
+    kdmE1GW640EX = 2
+};
+enum KE1IPDeviceModel 
+{
+	kdmE1IP   = 1,
+    kdmE1IPEX = 2
+};
+enum KGWIPDeviceModel 
+{
+	kdmGWIP   = 1,
+	kdmGWIPEX = 2
+};
+enum KFXODeviceModel
+{
+	kdmFXO80    = 0,
+	kdmFXOHI    = 1,
+	kdmFXO160HI = 2
+};
+enum KFXOVoIPDeviceModel 
+{
+	kdmFXGW180 = kdmFXO80
+};
+enum KConfDeviceModel
+{
+	kdmConf240   = 0,
+	kdmConf120   = 1,
+	kdmConf240EX = 2,
+	kdmConf120EX = 3
+};
+enum KPRDeviceModel
+{
+	kdmPR300v1         = 0,
+    kdmPR300           = 1,
+	kdmPR300SpxBased   = 2,
+    kdmPR300EX         = 3
+};
+enum KFXSDeviceModel
+{
+    kdmFXS300   = 1,
+    kdmFXS300EX = 2
+};
+enum KFXSSpxDeviceModel
+{
+    kdmFXSSpx300      = 0,
+    kdmFXSSpx2E1Based = 1,
+    kdmFXSSpx300EX    = 2
+};
+enum KE1SpxDeviceModel
+{
+	kdmE1Spx    = 0,
+	kdm2E1Based = 1,
+    kdmE1SpxEX  = 2
+};
+enum KGSMDeviceModel
+{
+    kdmGSM      = 0
+};
+enum KGSMSpxDeviceModel
+{
+    kdmGSMSpx   = 0
+};
+enum KFaxDeviceModel
+{
+	kdmFax   = 0,
+	kdmFaxEX = 1
+};
+enum KSystemObject
+{
+	ksoLink		= 0x00,		
+	ksoLinkMon	= 0x20,		
+	ksoChannel	= 0x1000,	
+	ksoH100		= 0x200,	
+	ksoFirmware = 0x80,		
+	ksoDevice	= 0x100,	
+	ksoAPI		= 0x150		
+};
+enum KFirmwareId
+{
+	kfiE1600A,				
+	kfiE1600B,				
+	kfiFXO80,				
+    kfiGSM40                
+};
+enum KE1Status
+{
+	kesOk					= 0x00,		
+	kesSignalLost			= 0x01,		
+	kesNetworkAlarm			= 0x02,		
+	kesFrameSyncLost		= 0x04,		
+	kesMultiframeSyncLost	= 0x08,		
+	kesRemoteAlarm			= 0x10,		
+	kesHighErrorRate		= 0x20,		
+	kesUnknownAlarm			= 0x40,		
+	kesE1Error				= 0x80,		
+    kesNotInitialized       = 0xFF      
+};
+enum KE1ChannelStatus
+{
+	kecsFree			= 0x00,			
+	kecsBusy			= 0x01,			
+	kecsOutgoing		= 0x02,			
+	kecsIncoming		= 0x04,			
+	kecsLocked			= 0x06,			
+	kecsOutgoingLock	= 0x10,			
+	kecsLocalFail		= 0x20,			
+	kecsIncomingLock	= 0x40,			
+	kecsRemoteLock		= 0x80			
+};
+enum KVoIPChannelStatus
+{
+	kipcsFree			= kecsFree,		
+	kipcsOutgoingLock	= kecsOutgoingLock,
+	kipcsIncomingLock	= kecsIncomingLock
+};
+enum KFXOChannelStatus
+{
+	kfcsDisabled	= 0x00,		
+	kfcsEnabled		= 0x01		
+};
+enum KFXSChannelStatus
+{
+    kfxsOnHook,
+    kfxsOffHook,
+    kfxsRinging,
+    kfxsFail
+};
+enum KGsmChannelStatus
+{
+    kgsmIdle,
+    kgsmCallInProgress,
+    kgsmSMSInProgress,
+    kgsmModemError,
+    kgsmSIMCardError,
+    kgsmNetworkError,
+    kgsmNotReady
+};
+enum KCallStatus
+{
+	kcsFree		= 0x00,				
+	kcsIncoming = 0x01,				
+	kcsOutgoing = 0x02,				
+	kcsFail		= 0x04				
+};
+enum KCallStartInfo
+{
+    kcsiHumanAnswer,
+    kcsiAnsweringMachine,
+    kcsiCellPhoneMessageBox,
+    kcsiUnknown,
+    kcsiCarrierMessage
+};
+enum KChannelFeatures
+{
+	kcfDtmfSuppression	= 0x0001,
+	kcfCallProgress		= 0x0002,
+	kcfPulseDetection	= 0x0004,
+	kcfAudioNotification= 0x0008,
+	kcfEchoCanceller	= 0x0010,
+	kcfAutoGainControl	= 0x0020,
+	kcfHighImpEvents	= 0x0080,
+    kcfCallAnswerInfo   = 0x0100,
+    kcfOutputVolume     = 0x0200,
+    kcfPlayerAGC        = 0x0400
+};
+enum KMixerSource
+{
+	kmsChannel,
+	kmsPlay,
+	kmsGenerator,
+	kmsCTbus,
+    kmsNoDelayChannel
+};
+struct KMixerCommand
+{
+    int32 Track;
+    int32 Source;        
+    int32 SourceIndex;
+};
+struct KPlayFromStreamCommand
+{
+	void *Buffer;
+	uint32 BufferSize;
+	int32 CodecIndex;
+};
+struct KBufferParam
+{
+	void *Buffer;
+	uint32 BufferSize;
+};
+enum KMixerTone
+{
+	kmtSilence	= 0x00,	
+	kmtDial		= 0x01, 
+	kmtBusy		= 0x02, 
+	kmtFax		= 0x03, 
+	kmtVoice	= 0x04, 
+	kmtEndOf425 = 0x05,	
+    kmtCollect  = 0x06, 
+    kmtEndOfDtmf= 0x07, 
+};
+struct K3L_CHANNEL_STATUS
+{
+ 	KCallStatus CallStatus;
+	KMixerTone AudioStatus;
+	int32 AddInfo;			
+	int32 EnabledFeatures;	
+};
+struct K3L_LINK_STATUS
+{
+	int16 E1; 
+	byte Channels[ KMAX_E1_CHANNELS ];	
+};
+enum KPllErrors
+{
+	kpeClockAError    = 0x01,
+	kpeClockBError    = 0x02,
+	kpeSCbusError     = 0x04,
+	kpeMVIPError	  = 0x08,
+	kpeMasterPllError = 0x10,
+	kpeModeError      = 0x20,
+	kpeLocalRefError  = 0x40,
+	kpeInternalError  = 0x80
+};
+struct K3L_H100_STATUS
+{
+	int32 Mode;
+	int32 MasterClock;
+	int32 Enable;
+	int32 Reference;
+	int32 SCbus;
+	int32 HMVIP;
+	int32 MVIP90;
+	int32 CT_NETREF;
+	int32 PllLocalRef;
+	int32 PllErrors;		
+};
+enum KEchoLocation
+{
+	kelNetwork	= 0x0,
+	kelCtBus	= 0x1
+};
+enum KCodecIndex
+{
+	kci8kHzALAW	= 0x00,
+	kci8kHzPCM	= 0x01,  
+	kci11kHzPCM	= 0x02,  
+	kci8kHzGSM	= 0x03, 
+	kci8kHzADPCM= 0x04, 
+	kci8kHzULAW	= 0x05,
+	kci8kHzG729 = 0x06,
+	kci8kHziLBC = 0x07,
+	kciLastCodecEntryMark
+};
+enum KEchoCancellerConfig
+{
+    keccNotPresent,
+    keccOneSingleBank,
+    keccOneDoubleBank,
+    keccTwoSingleBank,
+    keccTwoDoubleBank,
+    keccFail
+};
+struct K3L_DEVICE_CONFIG
+{
+	int32 LinkCount;
+	int32 ChannelCount;
+	int32 EnabledChannelCount;
+	int32 MixerCount;
+	int32 MixerCapacity;
+	int32 WorkStatus;
+	int32 DeviceModel;		
+	int32 H100_Mode;		
+	int32 PciBus;
+	int32 PciSlot;
+	int32 PlayerCount;
+	int32 VoIPChannelCount;
+    int32 CTbusCount;
+    KEchoCancellerConfig EchoConfig;
+    KEchoLocation EchoLocation;
+	sbyte SerialNumber[ KMAX_SERIAL_NUMBER ];
+};
+
+typedef K3L_DEVICE_CONFIG K3L_E1_DEVICE_CONFIG;
+typedef K3L_DEVICE_CONFIG K3L_FX_DEVICE_CONFIG;
+struct K3L_API_CONFIG
+{
+	int32 MajorVersion;
+	int32 MinorVersion;
+	int32 BuildVersion;
+    int32 SvnRevision;
+	int32 RawCmdLogging;
+	int32 VpdVersionNeeded;
+	sbyte StrVersion[ KMAX_STR_VERSION ];
+};
+struct K3L_LINK_CONFIG
+{
+	KSignaling Signaling;
+	int32 IncomingDigitsRequest;
+	int32 IdentificationRequestPos;
+	int32 ChannelCount;
+	int32 ReceivingClock;
+	sbyte NumberA[ KMAX_DIAL_NUMBER + 1 + 3 ]; 
+};
+struct K3L_CHANNEL_CONFIG
+{
+	KSignaling Signaling;
+    int32 AutoEnableFeatures;   
+    int32 CapableFeatures;      
+};
+struct K3L_E1600A_FW_CONFIG
+{
+	int32 MfcExchangersCount;
+	int32 MonitorBufferSize;
+	sbyte FwVersion[ KMAX_STR_VERSION ];
+	sbyte DspVersion[ KMAX_DSP_NAME ];
+};
+struct K3L_E1600B_FW_CONFIG
+{
+	int32 AudioBufferSize;
+	int32 FilterCount;
+	int32 MixerCount;
+	int32 MixerCapacity;
+	sbyte FwVersion[ KMAX_STR_VERSION ];
+	sbyte DspVersion[ KMAX_DSP_NAME ];
+};
+typedef K3L_E1600B_FW_CONFIG K3L_GSM40_FW_CONFIG;
+typedef K3L_E1600B_FW_CONFIG K3L_FXO80_FW_CONFIG;
+struct K3L_COMMAND
+{
+	int32 Object;			
+	int32 Cmd;				
+	byte *Params;			
+};
+
+enum KEventObjectId
+{
+	koiDevice		= 0x00,
+	koiChannel		= 0x01,
+	koiPlayer		= 0x02,
+	koiLink			= 0x03,
+    koiSystem       = 0x04
+};
+
+struct K3L_EVENT
+{
+	int32 Code;				
+	int32 AddInfo;			
+	int32 DeviceId;			
+	int32 ObjectInfo;		
+	void *Params;			
+	int32 ParamSize;		
+	int32 ObjectId;			
+};
+struct KIncomingSeizeParams
+{
+	sbyte NumberB[ KMAX_DIAL_NUMBER + 1 ];
+	sbyte NumberA[ KMAX_DIAL_NUMBER + 1 ];
+	sbyte Padding[2];  
+};
+struct KCtbusCommand
+{
+	int32 Stream;
+	int32 TimeSlot;
+	int32 Enable;
+};
+struct KUserInformation
+{
+    int32 ProtocolDescriptor;
+    int32 UserInfoLength;
+    byte  UserInfo[ KMAX_USER_USER_LEN ];
+};
+struct KISDNSubaddressInformation
+{
+    KQ931TypeOfSubaddress TypeOfSubaddress;
+    bool  OddNumberOfSignals;
+    int32 InformationLength;
+    byte  Information[ KMAX_SUBADRESS_INFORMATION_LEN ];
+};
+struct KISDNSubaddresses
+{
+    KISDNSubaddressInformation Called;
+    KISDNSubaddressInformation Calling;
+};
+enum KLinkErrorCounter
+{
+	klecChangesToLock		=  0,
+	klecLostOfSignal		=  1,
+	klecAlarmNotification   =  2,
+	klecLostOfFrame         =  3,
+	klecLostOfMultiframe    =  4,
+	klecRemoteAlarm			=  5,
+	klecUnknowAlarm			=  6,
+	klecPRBS				=  7,
+	klecWrogrBits			=  8,
+	klecJitterVariation		=  9,
+	klecFramesWithoutSync	= 10,
+	klecMultiframeSignal	= 11,
+	klecFrameError			= 12,
+	klecBipolarViolation	= 13,
+	klecCRC4				= 14,
+	klecCount				= 15
+};
+struct K3L_LINK_ERROR_COUNTER
+{
+	int32 ErrorCounters[ klecCount ];
+};
+struct KSipData
+{
+    int32 DataLength;
+    byte  Data[ KMAX_SIP_DATA ];
+};
+
+enum KLibParams
+{
+	klpDebugFirmware,           
+    klpResetFwOnStartup,		
+    klpResetFwOnShutdown,       
+    klpSeizureEventCompat,      
+    klpDisableTDMBufferWarnings,
+    klpDisableInternalVoIP,     
+    klpLogCallControl,          
+    klpDoNotLogApiInterface,    
+	klpMaxParams
+};
+
+typedef stt_code ( Kstdcall K3L_CALLBACK )();
+typedef stt_code ( Kstdcall K3L_MONITOR_CALLBACK )( byte *, byte );
+typedef stt_code ( Kstdcall K3L_EVENT_CALLBACK )( int32 Object, K3L_EVENT * );
+typedef stt_code ( Kstdcall *K3L_THREAD_CALLBACK )( void * );
+typedef void	 ( Kstdcall K3L_AUDIO_CALLBACK )( int32 DevId, int32 Channel, byte *Buffer, int32 Size );
+#if __GNUC__ >= 4
+#pragma GCC visibility push(default)
+#endif
+extern "C"
+{
+sbyte *Kstdcall k3lStart( int32 Major, int32 Minor, int32 Build );
+void Kstdcall k3lStop();
+void Kstdcall k3lRegisterEventHandler( K3L_EVENT_CALLBACK *Function );
+void Kstdcall k3lRegisterAudioListener( K3L_AUDIO_CALLBACK *Player, K3L_AUDIO_CALLBACK *Recorder );
+int32 Kstdcall k3lSendCommand( int32 DeviceId, K3L_COMMAND *Cmd );
+int32 Kstdcall k3lSendRawCommand( int32 DeviceId, int32 IntfId, void *Command, int32 CmdSize );
+int32 Kstdcall k3lRegisterMonitor( K3L_MONITOR_CALLBACK *EventMonitor, K3L_MONITOR_CALLBACK *CommandMonitor, K3L_MONITOR_CALLBACK *BufferMonitor );
+int32 Kstdcall k3lGetDeviceConfig( int32 DeviceId, int32 Object, void *Data, int32 DataSize );
+int32 Kstdcall k3lGetDeviceStatus( int32 DeviceId, int32 Object, void *Data, int32 DataSize );
+int32 Kstdcall k3lGetDeviceCount();
+int32 Kstdcall k3lGetDeviceType( int32 DeviceId );
+int32 Kstdcall k3lGetEventParam( K3L_EVENT *Evt, const sbyte *Name, sbyte *Buffer, int32 BufferSize );
+int32 Kstdcall k3lSetGlobalParam( int32 ParamIndex, int32 ParamValue );
+}
+#if __GNUC__ >= 4
+#pragma GCC visibility pop
+#endif
+#endif
+
+
+enum KISDNDebugFlag
+{
+    kidfQ931                        = 0x01,
+    kidfLAPD                        = 0x02,
+    kidfSystem                      = 0x04,
+    kidfInvalid                     = 0x08,
+};
+
+#define CM_VOIP_START_DEBUG      0x20
+#define CM_VOIP_STOP_DEBUG       0x21
+#define CM_VOIP_DUMP_STAT        0x22
+
+#define CM_ISDN_DEBUG            0x24
+
+#define CM_PING     0x123456
+#define EV_PONG     0x654321
+
+#define CM_LOG_REQUEST                  0x100
+#define CM_LOG_CREATE_DISPATCHER        0x101
+#define CM_LOG_DESTROY_DISPATCHER       0x102
+
+#endif /* INCLUDED_K3LDEFS_H */



More information about the Freeswitch-svn mailing list