CSRTPSession Class Reference
class CSRTPSession : public CBase
|
Public Member Functions
|
|
~CSRTPSession
()
|
void
|
AddStreamToList
(
CSRTPStream
*)
|
CSRTPCryptoContext
&
|
GetCryptoContext
()
|
IMPORT_C
CSRTPSession
*
|
NewL
(const
TInetAddr
&)
|
IMPORT_C
CSRTPSession
*
|
NewL
(const
TInetAddr
&,
CSRTPCryptoContext
*,
MSRTPReKeyingObserver
&)
|
IMPORT_C
CSRTPSession
*
|
NewLC
(const
TInetAddr
&)
|
IMPORT_C
CSRTPSession
*
|
NewLC
(const
TInetAddr
&,
CSRTPCryptoContext
*,
MSRTPReKeyingObserver
&)
|
IMPORT_C
HBufC8
*
|
ProtectRTCPL
(
TUint
, const
TDesC8
&)
|
IMPORT_C
HBufC8
*
|
ProtectRTPL
(
TUint
, const
TDesC8
&)
|
void
|
ReKeyNeeded
(const
CSRTPStream
&,
TBool
)
|
IMPORT_C const
TInetAddr
&
|
RemoteAddr
()
|
void
|
RemoveStreamFromList
(
CSRTPStream
*)
|
IMPORT_C void
|
SetCryptoContextL
(
CSRTPCryptoContext
*)
|
IMPORT_C
CSRTPStream
&
|
StreamL
(
TUint
,
TBool
)
|
IMPORT_C
HBufC8
*
|
UnprotectRTCPL
(
TUint
, const
TDesC8
&)
|
IMPORT_C
HBufC8
*
|
UnprotectRTPL
(
TUint
, const
TDesC8
&)
|
Constructor & Destructor Documentation
CSRTPSession(const TInetAddr &, MSRTPReKeyingObserver &)
CSRTPSession(const TInetAddr &)
CSRTPSession
|
(
|
const
TInetAddr
&
|
aDestination
|
)
|
[private]
|
Parameters
const
TInetAddr
& aDestination
|
|
~CSRTPSession()
Destructor, remove and delete all the stream in the session
Member Functions Documentation
AddStreamToList(CSRTPStream *)
ConstructL(CSRTPCryptoContext *)
FindLateBindingStreamAndUnprotectRTCPL(TUint, const TDesC8 &)
HBufC8
*
|
FindLateBindingStreamAndUnprotectRTCPL
|
(
|
TUint
|
aSSRC,
|
|
const
TDesC8
&
|
aPacket
|
|
)
|
[private]
|
FindLateBindingStreamAndUnprotectRTPL(TUint, const TDesC8 &)
HBufC8
*
|
FindLateBindingStreamAndUnprotectRTPL
|
(
|
TUint
|
aSSRC,
|
|
const
TDesC8
&
|
aPacket
|
|
)
|
[private]
|
GetCryptoContext()
Get cryptographic context associated for this session
NewL(const TInetAddr &)
IMPORT_C
CSRTPSession
*
|
NewL
|
(
|
const
TInetAddr
&
|
aDestination
|
)
|
[static]
|
Two-phased constructor. Use this function if each stream will have its own cryptographic context.
-
leave
-
KErrNone if success, system-wide error code otherwise
Parameters
const
TInetAddr
& aDestination
|
The destination address, including the port.
|
NewL(const TInetAddr &, CSRTPCryptoContext *, MSRTPReKeyingObserver &)
Two-phased constructor. Use this function if all streams will use the same cryptographic context.
-
leave
-
KErrNone if success, system-wide error code otherwise
Parameters
const
TInetAddr
& aDestination
|
The destination address, including the port
|
CSRTPCryptoContext
* aCon
|
The default cryptographic context for the session, ownership is transferred.
|
MSRTPReKeyingObserver
& aObs
|
The callback object
|
NewLC(const TInetAddr &)
IMPORT_C
CSRTPSession
*
|
NewLC
|
(
|
const
TInetAddr
&
|
aDestination
|
)
|
[static]
|
Two-phased constructor. Creates a new
CSRTPSession
instance and pushes it to
CleanupStack
. Use this function if each stream will have its own cryptographic context.
-
leave
-
KErrNone if success, system-wide error code otherwise
Parameters
const
TInetAddr
& aDestination
|
The destination address, including the port.
|
NewLC(const TInetAddr &, CSRTPCryptoContext *, MSRTPReKeyingObserver &)
Two-phased constructor. Creates a new
CSRTPSession
instance and pushes it to
CleanupStack
. Use this function if all streams will use the same cryptographic context.
-
leave
-
KErrNone if success, system-wide error code otherwise
Parameters
const
TInetAddr
& aDestination
|
The destination address, including the port
|
CSRTPCryptoContext
* aCon
|
The default cryptographic context for the session, ownership is transferred.
|
MSRTPReKeyingObserver
& aObs
|
The callback object
|
ProtectRTCPL(TUint, const TDesC8 &)
Session should find the match stream and protect packet Note that if there are no matching stream, the function leave
Parameters
TUint
aSSRC
|
- [input] SSRC of interest
|
const
TDesC8
& aPacket
|
- [input] packet to be protected, the length of descriptor should be the same with the actual data.
|
ProtectRTPL(TUint, const TDesC8 &)
Session should find the match stream and protect stream Note that if there are no matching stream, the function leave
Parameters
TUint
aSSRC
|
- [input] SSRC of interest
|
const
TDesC8
& aPacket
|
- [input] packet to be protected, the length of descriptor should be the same with the actual data, otherwise encoding will not be correct.
|
ReKeyNeeded(const CSRTPStream &, TBool)
Parameters
const
CSRTPStream
& aStream
|
the stream which needs to be rekey
|
TBool
aIsStrmCrypto
|
True if stream has it's own crypto, false otherwise
|
RemoteAddr()
IMPORT_C const
TInetAddr
&
|
RemoteAddr
|
(
|
)
|
|
Return the destination address set in NewL
RemoveAllStream()
void
|
RemoveAllStream
|
(
|
)
|
[private]
|
RemoveStreamFromList(CSRTPStream *)
Remove given stream from the list of
CSRTPStream
objects
SetCryptoContextL(CSRTPCryptoContext *)
Set/Update crypto context sharing between streams Crypto context ownersh p is transfered. Note that to update crypto context, the states and the number of packets received will be reset. ROC will not be re-intialized. This can be used only when keys lifetime has not expired. RFC 4568 6.5, 6.4
-
leave
-
KErrNone if success, system-wide error code otherwise
StreamL(TUint, TBool)
Retrieve CSSRTPStream object associated with given SSRC. Note that if there are any duplicates the first one is returned. Otherwise, Multiple SRTP streams with identical SSRCs and with same stream type (In/Out stream) are not supported.
Parameters
TUint
aSSRC
|
- [input] SSRC of interest
|
TBool
aIsInStream
|
|
UnprotectRTCPL(TUint, const TDesC8 &)
SRTPSession find the match stream and unprotect packet Note that if there are no matching stream, the function leaves SRTP must have been recive earlier otherwise the function will leave with KErrNotFound--no SSRC matching stream found Note that the streamIn must have to be created to receive RTCP report if there is only one streamOut.
Parameters
TUint
aSSRC
|
- [input] SSRC of interest
|
const
TDesC8
& aPacket
|
- [input] packet to be Unprotected
|
UnprotectRTPL(TUint, const TDesC8 &)
SRTPSession find the match stream and unprotect stream Note that if there are no matching stream, the function leave In late binding cases, session will try to find the stream which SSRC is equal to zero and unprotect the packet. If the autenticate for the packet is successful, SSRC will be set to this stream.
Parameters
TUint
aSSRC
|
- [input] SSRC of interest
|
const
TDesC8
& aPacket
|
- [input] packet to be Unprotected
|
Member Data Documentation
CSRTPCryptoContext * iContext
const TInetAddr & iDestination
const
TInetAddr
&
|
iDestination
|
[private]
|
MSRTPReKeyingObserver * iObserver
TBool
iSesssionCrypto
TBool
|
iSesssionCrypto
|
[protected]
|
TSglQueIter< CSRTPStream > iStreamIter
TSglQueLink
iStreamLink
iStreamLink, Link to list.
TSglQue< CSRTPStream > iStreamList
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.