1
2package gov.nist.javax.sip;
3
4import java.security.cert.Certificate;
5
6import javax.net.ssl.SSLPeerUnverifiedException;
7import javax.sip.SipProvider;
8import javax.sip.Transaction;
9
10public interface TransactionExt extends Transaction {
11
12    /**
13     * Get the Sip Provider associated with this transaction
14     */
15    public SipProvider getSipProvider();
16
17    /**
18     * Returns the IP address of the upstream/downstream hop from which this message was initially received
19     * @return the IP address of the upstream/downstream hop from which this message was initially received
20     * @since 2.0
21     */
22    public String getPeerAddress();
23    /**
24     * Returns the port of the upstream/downstream hop from which this message was initially received
25     * @return the port of the upstream/downstream hop from which this message was initially received
26     * @since 2.0
27     */
28    public int getPeerPort();
29    /**
30     * Returns the name of the protocol with which this message was initially received
31     * @return the name of the protocol with which this message was initially received
32     * @since 2.0
33     */
34    public String getTransport();
35
36    /**
37     * return the ip address on which this message was initially received
38     * @return the ip address on which this message was initially received
39     */
40    public String getHost();
41    /**
42     * return the port on which this message was initially received
43     * @return the port on which this message was initially received
44     */
45    public int getPort();
46
47    /**
48     * Return the Cipher Suite that was used for the SSL handshake.
49     *
50     * @return     Returns the cipher suite in use by the session which was produced by the handshake.
51     * @throw UnsupportedOperationException if this is not a secure client transaction.
52     */
53    public String getCipherSuite() throws UnsupportedOperationException;
54
55    /**
56     * Get the certificate(s) that were sent to the peer during handshaking.
57     *@return the certificate(s) that were sent to the peer during handshaking.
58     *@throw UnsupportedOperationException if this is not a secure client transaction.
59     *
60     */
61   Certificate[] getLocalCertificates() throws UnsupportedOperationException;
62
63    /**
64     * @return the identity of the peer which was identified as part of defining the session.
65     * @throws SSLPeerUnverifiedException
66     * @throw UnsupportedOperationException if this is not a secure client transaction.
67     */
68   Certificate[]  getPeerCertificates() throws SSLPeerUnverifiedException;
69}
70