Home | History | Annotate | Download | only in sip
      1 /*
      2  * This source code has been contributed to the public domain by Mobicents
      3  *
      4  * This software is provided by NIST as a service and is expressly
      5  * provided "AS IS."  NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
      6  * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
      7  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
      8  * AND DATA ACCURACY.  NIST does not warrant or make any representations
      9  * regarding the use of the software or the results thereof, including but
     10  * not limited to the correctness, accuracy, reliability or usefulness of
     11  * the software.
     12  *
     13  * Permission to use this software is contingent upon your acceptance
     14  * of the terms of this agreement.
     15  */
     16 package gov.nist.javax.sip;
     17 
     18 import javax.sip.Dialog;
     19 import javax.sip.SipListener;
     20 
     21 /**
     22  * This interface extends the {@link SipListener} interface and adds the following events to it :
     23  * <ul>
     24  * <li>{@link DialogTimeoutEvent}- these are timeout notifications emitted as events by the
     25  * SipProvider. Timeout events represent timers expiring in the underlying SipProvider dialog
     26  * state machine. These timeout's events notify the application that a dialog has timed out.</li>
     27  * </ul>
     28  *
     29  * @author jean.deruelle (at) gmail.com
     30  *
     31  */
     32 public interface SipListenerExt extends SipListener {
     33 
     34     /**
     35      * Processes an expiration Timeout of an underlying {@link Dialog} handled by this
     36      * SipListener. This Event notifies the application that a dialog Timer expired in the
     37      * Dialog's state machine. Such a condition can occur when the application fails to send an
     38      * ACK after receiving an OK response or if an ACK is not received after an OK is sent. The
     39      * DialogTimeoutEvent encapsulates the specific timeout type and the dialog identifier. The
     40      * type of Timeout can by determined by:
     41      * <code>timeoutType = timeoutEvent.getTimeout().getValue();</code>
     42      *
     43      * Applications implementing this method should take care of sending the BYE or terminating
     44      * the dialog to avoid any dialog leaks.
     45      *
     46      * @param timeoutEvent - the timeoutEvent received indicating the dialog timed out.
     47      */
     48     public void processDialogTimeout(DialogTimeoutEvent timeoutEvent);
     49 }
     50