1600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang/* 2600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * This source code has been contributed to the public domain by Mobicents 3600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 4600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * This software is provided by NIST as a service and is expressly 5600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 6600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 7600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 8600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * AND DATA ACCURACY. NIST does not warrant or make any representations 9600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * regarding the use of the software or the results thereof, including but 10600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * not limited to the correctness, accuracy, reliability or usefulness of 11600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * the software. 12600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 13600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Permission to use this software is contingent upon your acceptance 14600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * of the terms of this agreement. 15600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 16600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpackage gov.nist.javax.sip; 17600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 18600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport java.util.EventObject; 19600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 20600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.Dialog; 21600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 22600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang/** 23600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 24600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * DialogAckTimeoutEvent is delivered to the Listener when the 25600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * dialog does not receive or send an ACK. 26600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 27600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 28600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @author jean deruelle 29600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v2.0 30600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 31600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 32600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpublic class DialogTimeoutEvent extends EventObject { 33600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang private static final long serialVersionUID = -2514000059989311925L; 34600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public enum Reason {AckNotReceived, AckNotSent,ReInviteTimeout}; 35600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 36600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Constructs a DialogTerminatedEvent to indicate a dialog 37600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * timeout. 38600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 39600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param source - the source of TimeoutEvent. 40600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param dialog - the dialog that timed out. 41600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 42600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public DialogTimeoutEvent(Object source, Dialog dialog, Reason reason) { 43600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang super(source); 44600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang m_dialog = dialog; 45600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang m_reason = reason; 46600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 47600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 48600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 49600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 50600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Gets the Dialog associated with the event. This 51600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * enables application developers to access the dialog associated to this 52600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * event. 53600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 54600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return the dialog associated with the response event or null if there is no dialog. 55600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since v1.2 56600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 57600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public Dialog getDialog() { 58600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang return m_dialog; 59600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 60600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 61600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 62600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * The reason for the Dialog Timeout Event being delivered to the application. 63600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 64600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return the reason for the timeout event. 65600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 66600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public Reason getReason() { 67600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang return m_reason; 68600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 69600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 70600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang // internal variables 71600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang private Dialog m_dialog = null; 72600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang private Reason m_reason = null; 73600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang} 74600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 75