182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanpackage javax.sip;
282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport java.util.Collection;
482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport java.util.Iterator;
582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.address.Router;
682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanpublic interface SipStack {
882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    /**
982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     * Deprecated. Use {@link #createListeningPoint(String, int, String)}
1082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     * instead.
1182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     */
1282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    ListeningPoint createListeningPoint(int port, String transport)
1382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            throws TransportNotSupportedException, InvalidArgumentException;
1482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    ListeningPoint createListeningPoint(String ipAddress, int port,
1582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            String transport) throws TransportNotSupportedException,
1682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            InvalidArgumentException;
1782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void deleteListeningPoint(ListeningPoint listeningPoint)
1882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            throws ObjectInUseException;
1982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
2082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    SipProvider createSipProvider(ListeningPoint listeningPoint)
2182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            throws ObjectInUseException;
2282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void deleteSipProvider(SipProvider sipProvider) throws ObjectInUseException;
2382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
2482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Collection getDialogs();
2582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    String getIPAddress();
2682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Iterator getListeningPoints();
2782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Router getRouter();
2882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Iterator getSipProviders();
2982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    String getStackName();
3082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
3182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    /**
3282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     * @deprecated
3382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     * Use {@link ServerTransaction#enableRetransmissionAlerts()} to enable
3482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     * retransmission alerts instead.
3582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan     */
3682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    boolean isRetransmissionFilterActive();
3782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
3882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void start() throws ProviderDoesNotExistException, SipException;
3982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void stop();
4082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan}
4182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
42