blob: 587c0e06518127942d50027ed6d5694ddcf45445 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package net.java.sip.communicator.service.neomedia;
import net.java.sip.communicator.impl.neomedia.AbstractRTPConnector;
import net.java.sip.communicator.impl.neomedia.transform.TransformEngine;
import net.java.sip.communicator.service.neomedia.event.*;
/**
* Controls SRTP encryption in the MediaStream.
*
* @author Damian Minkov
*/
public interface SrtpControl
{
/**
* Cleans up the current SRTP control and its engine.
*/
public void cleanup();
/**
* Sets a <tt>SrtpListener</tt> that will listen for security events.
*
* @param srtpListener the <tt>SrtpListener</tt> that will receive the
* events
*/
public void setSrtpListener(SrtpListener srtpListener);
/**
* Returns the <tt>SrtpListener</tt> which listens for security events.
*
* @return the <tt>SrtpListener</tt> which listens for security events
*/
public SrtpListener getSrtpListener();
/**
* Gets the default secure/insecure communication status for the supported
* call sessions.
*
* @return default secure communication status for the supported
* call sessions.
*/
public boolean getSecureCommunicationStatus();
/**
* Starts and enables zrtp in the stream holding this control.
* @param masterSession whether this stream is master for the current
* media session.
*/
public void start(boolean masterSession);
/**
* Sets the multistream data, which means that the master stream
* has successfully started and this will start all other streams
* in this session.
* @param master The security control of the master stream.
*/
public void setMultistream(SrtpControl master);
/**
* Returns the transform engine currently used by this stream.
*
* @return the RTP stream transformation engine
*/
public TransformEngine getTransformEngine();
/**
* Sets the <tt>RTPConnector</tt> which is to use or uses this SRTP engine.
*
* @param connector the <tt>RTPConnector</tt> which is to use or uses this
* SRTP engine
*/
public void setConnector(AbstractRTPConnector newValue);
/**
* Indicates if the key exchange method is dependent on secure transport of
* the signaling channel.
*
* @return True when secure signaling is required to make the encryption
* secure, false otherwise.
*/
public boolean requiresSecureSignalingTransport();
}
|