34 #ifndef OPAL_RTP_SRTP_H
35 #define OPAL_RTP_SRTP_H
52 class OpalSRTPCryptoSuite;
71 OpalSRTPKeyInfo(
const OpalSRTPCryptoSuite & cryptoSuite);
73 PObject * Clone()
const;
80 bool SetCipherKey(
const PBYTEArray & key);
81 bool SetAuthSalt(
const PBYTEArray & key);
83 PBYTEArray GetCipherKey()
const {
return m_key; }
84 PBYTEArray GetAuthSalt()
const {
return m_salt; }
99 OpalSRTPCryptoSuite() { }
102 virtual bool Supports(
const PCaselessString & proto)
const;
107 virtual PINDEX GetCipherKeyBits()
const = 0;
108 virtual PINDEX GetAuthSaltBits()
const = 0;
110 virtual void SetCryptoPolicy(
struct crypto_policy_t & policy)
const = 0;
136 static const PCaselessString & RTP_SAVP();
137 static const PCaselessString & RTP_SAVPF();
139 OpalSRTPSession(
const Init & init);
142 virtual const PCaselessString &
GetSessionType()
const {
return RTP_SAVP(); }
143 virtual bool Close();
156 #endif // OPAL_RTP_SRTP_H