1package gov.nist.javax.sip;
2
3import javax.sip.Dialog;
4import javax.sip.SipProvider;
5
6/**
7 * Extensions for Next specification revision. These interfaces will remain unchanged and be
8 * merged with the next revision of the spec.
9 *
10 *
11 * @author mranga
12 *
13 */
14public interface DialogExt extends Dialog {
15
16    /**
17     * Returns the SipProvider that was used for the first transaction in this Dialog
18     *
19     * @return SipProvider
20     *
21     * @since 2.0
22     */
23    public SipProvider getSipProvider();
24
25    /**
26     * Sets a flag that indicates that this Dialog is part of a BackToBackUserAgent. If this flag
27     * is set, INVITEs are not allowed to interleave and timed out ACK transmission results in a
28     * BYE being sent to the other side. Setting this flag instructs the stack to automatically
29     * handle dialog errors. Once this flag is set for a dialog, it cannot be changed.
30     * This flag can be set on a stack-wide basis, on a per-provider basis or on a per Dialog basis.
31     * This flag must only be set at the time of Dialog creation. If the flag is set after the first
32     * request or response is seen by the Dialog, the behavior of this flag is undefined.
33     *
34     * @since 2.0
35     */
36    public void setBackToBackUserAgent();
37
38
39    /**
40     * Turn off sequence number validation for this dialog. This passes all requests to the
41     * application layer including those that arrive out of order. This is good for testing
42     * purposes. Validation is delegated to the application and the stack will not attempt to
43     * block requests arriving out of sequence from reaching the application. In particular, the
44     * validation of CSeq and the ACK retransmission recognition are delegated to the application.
45     * Your application will be responsible for error handling of these cases.
46     *
47     * @since 2.0
48     */
49    public void disableSequenceNumberValidation();
50
51
52
53
54
55}
56