182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanpackage javax.sip;
282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport java.io.Serializable;
482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport java.text.ParseException;
582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport java.util.Iterator;
682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.address.Address;
782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.header.CallIdHeader;
882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.message.Request;
982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.message.Response;
1082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
1182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanpublic interface Dialog extends Serializable {
1282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Object getApplicationData();
1382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void setApplicationData(Object applicationData);
1482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
1582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    CallIdHeader getCallId();
1682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    String getDialogId();
1782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
1882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    /**
1982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     * @deprecated
2082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     */
2182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Transaction getFirstTransaction();
2282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
2382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Address getLocalParty();
2482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
2582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    /**
2682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     * @deprecated
2782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     * @see #getLocalSeqNumber()
2882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     */
2982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    int getLocalSequenceNumber();
3082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
3182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    long getLocalSeqNumber();
3282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
3382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    String getLocalTag();
3482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
3582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Address getRemoteParty();
3682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
3782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    /**
3882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     * @deprecated
3982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     * @see #getRemoteSeqNumber()
4082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     */
4182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    int getRemoteSequenceNumber();
4282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
4382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    long getRemoteSeqNumber();
4482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
4582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    String getRemoteTag();
4682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
4782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Address getRemoteTarget();
4882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
4982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Iterator getRouteSet();
5082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
5182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    SipProvider getSipProvider();
5282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
5382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    DialogState getState();
5482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
5582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    boolean isSecure();
5682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
5782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    boolean isServer();
5882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
5982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void delete();
6082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
6182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void incrementLocalSequenceNumber();
6282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
6382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Request createRequest(String method) throws SipException;
6482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Request createAck(long cseq) throws InvalidArgumentException, SipException;
6582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Request createPrack(Response relResponse)
6682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            throws DialogDoesNotExistException, SipException;
6782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Response createReliableProvisionalResponse(int statusCode)
6882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            throws InvalidArgumentException, SipException;
6982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
7082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
7182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void sendRequest(ClientTransaction clientTransaction)
7282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            throws TransactionDoesNotExistException, SipException;
7382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void sendAck(Request ackRequest) throws SipException;
7482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void sendReliableProvisionalResponse(Response relResponse)
7582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            throws SipException;
7682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
7782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void setBackToBackUserAgent();
7882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
7982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void terminateOnBye(boolean terminateFlag) throws SipException;
8082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan}
81