FileDocCategorySizeDatePackage
SipConnectionNotifier.javaAPI DocphoneME MR2 API (J2ME)3021Wed May 02 18:00:42 BST 2007javax.microedition.sip

SipConnectionNotifier.java

/*
 * Portions Copyright  2000-2007 Sun Microsystems, Inc. All Rights
 * Reserved.  Use is subject to license terms.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License version
 * 2 only, as published by the Free Software Foundation.
 * 
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License version 2 for more details (a copy is
 * included at /legal/license.txt).
 * 
 * You should have received a copy of the GNU General Public License
 * version 2 along with this work; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA
 * 
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
 * Clara, CA 95054 or visit www.sun.com if you need additional
 * information or have any questions.
 */

package javax.microedition.sip;

import javax.microedition.io.Connection;
import java.io.*;

/**
 * This interface defines a SIP server connection notifier.
 * @see JSR180 spec, v 1.0.1, p 37-39
 *
 */
public interface SipConnectionNotifier extends Connection {
    
    /**
     * Accepts and opens a new SipServerConnection in this listening point.
     * If there are no messages in the queue method will block until a
     * new request is received.
     * @return SipServerConnection which carries the received request
     * @throws IOException - if the connection can not be established
     * @throws InterruptedIOException - if the connection is closed
     * @throws SipException - TRANSACTION_UNAVAILABLE if the system
     *  can not open new SIP transactions.
     */
    public javax.microedition.sip.SipServerConnection acceptAndOpen()
    throws IOException, SipException;
    
    /**
     * Sets a listener for incoming SIP requests. If a listener is
     * already set it
     * will be overwritten. Setting listener to null will remove the current
     * listener.
     * @param sscl - listener for incoming SIP requests
     * @throws IOException - if the connection was closed
     */
    public void
            setListener(javax.microedition.sip.SipServerConnectionListener
            sscl)
            throws IOException;
    
    /**
     * Gets the local IP address for this SIP connection.
     * @return local IP address. Returns null if the address is not available.
     * @throws IOException - if the connection was closed
     */
    public java.lang.String getLocalAddress()
    throws IOException;
    
    /**
     * Gets the local port for this SIP connection.
     * @return local port number, that the notifier is listening to.
     * Returns 0 if the port is not available.
     * @throws IOException - if the connection was closed
     */
    public int getLocalPort()
    throws IOException;
}