00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef MMCCSRTPCRYPTOPARAMS_H
00022 #define MMCCSRTPCRYPTOPARAMS_H
00023
00024 #include <e32base.h>
00025
00026
00027 const TUint KMccSRTPAuthTagDefaultLength = 80;
00028
00029
00030 const TUint16 KMccSRTPDefaultKeyDerivationRate = 0x00;
00031
00032
00033 const TUint KMccSRTPPrefixLength = 0;
00034
00035 const TInt KMccReplayWindowSize = 64;
00036
00037
00038 const TUint16 KMccSRTPDefaultROCTransRate = 0x01;
00039
00040
00041 const TUint KMccSRTPAuthTagLength80 = 80;
00042
00043
00044
00045 const TUint KMccSRTPAuthTagLength32 = 32;
00046
00047
00048 const TUint KMccSRTPAuthTagLength112 = 112;
00049
00053 enum TMccSRTPEncAlg
00054 {
00055 ESrtpNullAlg = 0,
00056 ESrtpEncAES_CM
00057 };
00058
00063 enum TMccSRTPAuthAlg
00064 {
00065 ESrtpAuthNull = 0,
00066 ESrtpAuthHMAC_SHA1,
00067 ESrtpAuthRCCm1,
00068 ESrtpAuthRCCm2,
00069 ESrtpAuthRCCm3
00070 };
00071
00079 class TMccSrtpCryptoParams
00080 {
00081 public:
00082
00083
00084
00085 inline TMccSrtpCryptoParams::TMccSrtpCryptoParams() :
00086 iSrtpEncAlg( ESrtpEncAES_CM ),
00087 iSrtcpEncAlg( ESrtpEncAES_CM ),
00088 iSrtpAuthAlg( ESrtpAuthHMAC_SHA1 ),
00089 iSrtcpAuthAlg( ESrtpAuthHMAC_SHA1 ),
00090 iSrtpAuthTagLen( KMccSRTPAuthTagDefaultLength ),
00091 iSrtcpAuthTagLen(KMccSRTPAuthTagDefaultLength ),
00092 iSrtpKeyDervRate( KMccSRTPDefaultKeyDerivationRate ),
00093 iSrtcpKeyDervRate( KMccSRTPDefaultKeyDerivationRate ),
00094 iPrefixLen( KMccSRTPPrefixLength ),
00095 iSrtpReplayProtection( ETrue ),
00096 iSrtcpReplayProtection( ETrue),
00097 iROCTransRate( KMccSRTPDefaultROCTransRate ),
00098 iMasterKeysLifeTime( 0 ),
00099 iReplayWindowSizeHint( KMccReplayWindowSize ),
00100 iIsRCCm3Sync( EFalse )
00101 {
00102 };
00103
00104 TMccSRTPEncAlg iSrtpEncAlg;
00105 TMccSRTPEncAlg iSrtcpEncAlg;
00106 TMccSRTPAuthAlg iSrtpAuthAlg;
00107 TMccSRTPAuthAlg iSrtcpAuthAlg;
00108 TUint iSrtpAuthTagLen;
00109 TUint iSrtcpAuthTagLen;
00110 TUint iSrtpKeyDervRate;
00111 TUint iSrtcpKeyDervRate;
00112 TUint iPrefixLen;
00113 TBool iSrtpReplayProtection;
00114 TBool iSrtcpReplayProtection;
00115 TUint16 iROCTransRate;
00116 TUint64 iMasterKeysLifeTime;
00117 TInt iReplayWindowSizeHint;
00118 TBool iIsRCCm3Sync;
00119 };
00120
00121 typedef TPckgBuf<TMccSrtpCryptoParams> TMccSrtpCryptoParamsPckg;
00122
00123 #endif