1600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpackage gov.nist.javax.sip;
2600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
3600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.SipProvider;
4600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
5600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang/**
6600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Extensions to SipProvider under consideration for Version 2.0.
7600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang *
8600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since 2.0
9600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */
10600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
11600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpublic interface SipProviderExt extends SipProvider {
12600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang    /**
13600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * Sets a flag that indicates that automatic error handling is enabled for this dialog (the
14600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * default when automatic dialog support is enabled). This flag is set by default to TRUE when
15600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * the Dialog is automatically created by the provider ( automatic dialog support is true) and
16600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * set to FALSE by default when the Dialog is created under program control ( automatic dialog
17600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * support is false). When this flag is set to true, the stack will automatically send the
18600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * following errors :
19600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
20600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * <ul>
21600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * <li> <b>500 Request Out of Order </b> for in-dialog requests that arrive out of order.
22600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * <li> <b>482 Loop Detected </b> When a loop is detected for merged INVITE requests.
23600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * <li> <b>400 Bad request </b> when a REFER is sent without a matching refer-to dialog.
24600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * </ul>
25600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * If this flag is set to false, the stack will not drop out of sequence ACKs but will pass
26600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * these up to the application for handling.
27600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
28600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * This flag is automatically set to true if any of the the following conditions is true:
29600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * <ul>
30600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * <li>The Back To Back User Agent flag is enabled for the Dialog.</li>
31600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * <li>The Automatic Dialog Support flag is enabled for the Dialog </li>
32600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * </ul>
33600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
34600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * This flag should only be set at the time of Dialog creation ( before the Dialog has seen its first
35600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * request or response). If set subsequently, the behavior of the flag is undefined.
36600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
37600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * @since 2.0
38600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     */
39600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang    public void setDialogErrorsAutomaticallyHandled();
40600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang}
41