1package gov.nist.javax.sip;
2
3import java.security.cert.Certificate;
4import java.security.cert.X509Certificate;
5
6import javax.net.ssl.SSLPeerUnverifiedException;
7import javax.sip.ClientTransaction;
8import javax.sip.Timeout;
9import javax.sip.address.Hop;
10
11public interface ClientTransactionExt extends ClientTransaction, TransactionExt {
12
13    /**
14     * Notify on retransmission from the client transaction side. The listener will get a
15     * notification on retransmission when this flag is set. When set the client transaction
16     * listener will get a Timeout.RETRANSMIT event on each retransmission.
17     *
18     * @param flag -- the flag that indicates whether or not notification is desired.
19     *
20     * @since 2.0
21     */
22    public void setNotifyOnRetransmit(boolean flag);
23
24    /**
25     * Send a transaction timeout event to the application if Tx is still in Calling state in the
26     * given time period ( in base timer interval count ) after sending request. The stack will
27     * start a timer and alert the application if the client transaction does not transition out
28     * of the Trying state by the given interval. This is a "one shot" alert.
29     *
30     * @param count -- the number of base timer intervals after which an alert is issued.
31     *
32     *
33     * @since 2.0
34     */
35    public void alertIfStillInCallingStateBy(int count);
36
37    /**
38     * Get the next hop that was computed by the routing layer.
39     * when it sent out the request. This allows you to route requests
40     * to the SAME destination if required ( for example if you get
41     * an authentication challenge ).
42     */
43    public Hop getNextHop();
44
45    /**
46     * Return true if this Ctx is a secure transport.
47     *
48     */
49    public boolean isSecure();
50
51
52
53
54
55}
56