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