From 3104d01e478b1225da272c19523d9aa0b4c5405c Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Fri, 5 Dec 2025 13:20:14 -0500 Subject: [PATCH 1/3] QueueMemberRingInUseEvent.java: Add missing QueueMemberRinginuse event --- .../manager/AbstractManagerEventListener.java | 3 + .../event/QueueMemberRingInUseEvent.java | 321 ++++++++++++++++++ 2 files changed, 324 insertions(+) create mode 100644 src/main/java/org/asteriskjava/manager/event/QueueMemberRingInUseEvent.java diff --git a/src/main/java/org/asteriskjava/manager/AbstractManagerEventListener.java b/src/main/java/org/asteriskjava/manager/AbstractManagerEventListener.java index 1f977a1ae..22a1ff60e 100644 --- a/src/main/java/org/asteriskjava/manager/AbstractManagerEventListener.java +++ b/src/main/java/org/asteriskjava/manager/AbstractManagerEventListener.java @@ -189,6 +189,9 @@ public void handleEvent(QueueMemberPausedEvent event) { public void handleEvent(QueueMemberRemovedEvent event) { } + public void handleEvent(QueueMemberRingInUseEvent event) { + } + public void handleEvent(RtcpReceivedEvent event) { } diff --git a/src/main/java/org/asteriskjava/manager/event/QueueMemberRingInUseEvent.java b/src/main/java/org/asteriskjava/manager/event/QueueMemberRingInUseEvent.java new file mode 100644 index 000000000..2e41930a8 --- /dev/null +++ b/src/main/java/org/asteriskjava/manager/event/QueueMemberRingInUseEvent.java @@ -0,0 +1,321 @@ +package org.asteriskjava.manager.event; + +public class QueueMemberRingInUseEvent extends ManagerEvent { + private static final long serialVersionUID = -631622399932926664L; + + private String queue; + private String memberName; + private String _interface; + private String stateInterface; + private String membership; + private Integer penalty; + private Integer callsTaken; + private Integer lastCall; + private Integer lastPause; + private Integer loginTime; + private Integer inCall; + private Integer status; + private Boolean paused; + private String pausedReason; + private Integer ringInUse; + private Integer wrapUpTime; + + /** + * Constructs a QueueMemberRingInUseEvent + * + * @param source The object on which the Event initially occurred. + * @throws IllegalArgumentException if source is null. + */ + protected QueueMemberRingInUseEvent(Object source) { + super(source); + } + + /** + * Returns if the member is paused + * + * @return if the member is paused + */ + public Boolean getPaused() { + return paused; + } + + /** + * Sets if member is paused or not + * + * @param paused if paused + */ + public void setPaused(Boolean paused) { + this.paused = paused; + } + + /** + * Returns wrapuptime + * + * @return Returns wrapuptime + */ + public Integer getWrapuptime() { + return wrapUpTime; + } + + /** + * Sets wrapuptime + * + * @param wrapuptime the wrapuptime + */ + public void setWrapuptime(Integer wrapuptime) { + this.wrapUpTime = wrapuptime; + } + + /** + * Returns time in seconds when started last paused the queue member + * + * @return Returns time in seconds when started last paused the queue member + */ + public Integer getLastpause() { + return lastPause; + } + + /** + * Sets time in seconds when started last paused the queue member + * + * @param lastpause time in seconds when started last paused the queue member + */ + public void setLastpause(Integer lastpause) { + this.lastPause = lastpause; + } + + /** + * Returns the queue member's tech or location state + * + * @return the queue member's tech or location state + */ + public String getStateinterface() { + return stateInterface; + } + + /** + * Sets channel technology or location from which the member device changed + * + * @param stateinterface channel technology or location from which the member device changed + */ + public void setStateinterface(String stateinterface) { + this.stateInterface = stateinterface; + } + + /** + * Returns reason if set when paused + * + * @return reason if set when paused + */ + public String getPausedreason() { + return pausedReason; + } + + /** + * Sets reason if set when paused + * + * @param pausedreason reason if set when paused + */ + public void setPausedreason(String pausedreason) { + this.pausedReason = pausedreason; + } + + /** + * Returns if member is in call when event is raised + * + * @return if member is in call when event is raised + */ + public Integer getIncall() { + return inCall; + } + + /** + * Sets if member is in call when event is raised + * + * @param incall if member is in call when event is raised + */ + public void setIncall(Integer incall) { + this.inCall = incall; + } + + /** + * Returns membership in queue + * E.g. dynamic, realtime, static + * + * @return membership in queue + */ + public String getMembership() { + return membership; + } + + /** + * Sets membership in queue + * + * @param membership membership in queue + */ + public void setMembership(String membership) { + this.membership = membership; + } + + /** + * Returns queue member's tech or location name + * + * @return queue member's tech or location name + */ + public String getInterface() { + return _interface; + } + + /** + * Sets queue member's tech or location name + * + * @param _interface queue member's tech or location name + */ + public void setInterface(String _interface) { + this._interface = _interface; + } + + /** + * Returns number of calls this queue member has serviced + * + * @return number of calls this queue member has serviced + */ + public Integer getCallstaken() { + return callsTaken; + } + + /** + * Sets number of calls this queue member has serviced + * + * @param callstaken number of calls this queue member has serviced + */ + public void setCallstaken(Integer callstaken) { + this.callsTaken = callstaken; + } + + /** + * Returns member's ring in use setup + * + * @return member's ring in use setup + */ + public Integer getRinginuse() { + return ringInUse; + } + + /** + * Sets member's ring in use setup + * + * @param ringinuse member's ring in use setup + */ + public void setRinginuse(Integer ringinuse) { + this.ringInUse = ringinuse; + } + + /** + * Returns time this member last took a call, expressed in seconds + * + * @return time this member last took a call, expressed in seconds + */ + public Integer getLastcall() { + return lastCall; + } + + /** + * Sets time this member last took a call, expressed in seconds + * + * @param lastcall time this member last took a call, expressed in seconds + */ + public void setLastcall(Integer lastcall) { + this.lastCall = lastcall; + } + + /** + * Returns name of the queue member. + * + * @return name of the queue member. + */ + public String getMembername() { + return memberName; + } + + /** + * Sets name of the queue member. + * + * @param membername name of the queue member. + */ + public void setMembername(String membername) { + this.memberName = membername; + } + + /** + * Returns numeric device state status of the queue member + * + * @return numeric device state status of the queue member + */ + public Integer getStatus() { + return status; + } + + /** + * Sets numeric device state status of the queue member + * + * @param status numeric device state status of the queue member + */ + public void setStatus(Integer status) { + this.status = status; + } + + /** + * Returns the name of the queue. + * + * @return the name of the queue. + */ + public String getQueue() { + return queue; + } + + /** + * Sets the name of the queue. + * + * @param queue the name of the queue. + */ + public void setQueue(String queue) { + this.queue = queue; + } + + /** + * Returns the new penalty. + * + * @return the new penalty. + */ + public Integer getPenalty() { + return penalty; + } + + /** + * Sets the new penalty. + * + * @param penalty the new penalty. + */ + public void setPenalty(Integer penalty) { + this.penalty = penalty; + } + + /** + * Gets the login time + * + * @return the login time of the agent as a UNIX timestamp + */ + public Integer getLoginTime() { + return loginTime; + } + + /** + * Sets the login time + * + * @param logintime the login time of the agent as a UNIX timestamp + */ + public void setLoginTime(Integer logintime) { + this.loginTime = logintime; + } +} From d91715ad7f2d44543aa18d2dcda3cec3b8975fb2 Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Fri, 5 Dec 2025 13:21:26 -0500 Subject: [PATCH 2/3] app_queue: Add missing LoginTime and WrapUpTime properties to some events --- .../manager/event/QueueMemberPauseEvent.java | 46 ++++++++++++++++++- .../event/QueueMemberPenaltyEvent.java | 22 ++++++++- 2 files changed, 66 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/asteriskjava/manager/event/QueueMemberPauseEvent.java b/src/main/java/org/asteriskjava/manager/event/QueueMemberPauseEvent.java index c39ab200e..80eb1be30 100644 --- a/src/main/java/org/asteriskjava/manager/event/QueueMemberPauseEvent.java +++ b/src/main/java/org/asteriskjava/manager/event/QueueMemberPauseEvent.java @@ -1,7 +1,15 @@ package org.asteriskjava.manager.event; +/** + * A QueueMemberPauseEvent is triggered when a queue member is paused or + * unpaused. + *

+ * Before the release of Asterisk 12, this event was called + * {@code QueueMemberPaused} but was erroneously changed in commit a2d02edc to + * {@code QueueMemberPause}. + */ public class QueueMemberPauseEvent extends QueueMemberPausedEvent { - private static final long serialVersionUID = 58564514209197321L; + private static final long serialVersionUID = 5184794168561845630L; // Logger logger = LogManager.getLogger(); String membership; @@ -14,6 +22,8 @@ public class QueueMemberPauseEvent extends QueueMemberPausedEvent { String stateInterface; Integer incall; String pausedreason; + Integer logintime; + Integer wrapuptime; public QueueMemberPauseEvent(Object source) { super(source); @@ -155,5 +165,39 @@ public void setPausedreason(String pausedreason) { this.pausedreason = pausedreason; } + /** + * Gets the login time + * + * @return the login time of the agent as a UNIX timestamp + */ + public Integer getLoginTime() { + return logintime; + } + + /** + * Sets the login time + * + * @param logintime the login time of the agent as a UNIX timestamp + */ + public void setLoginTime(Integer logintime) { + this.logintime = logintime; + } + /** + * Gets the agent's wrap up time + * + * @return the agent's wrap up time (in seconds) + */ + public Integer getWrapupTime() { + return wrapuptime; + } + + /** + * Sets the agent's wrap up time + * + * @param wrapuptime the agent's wrap up time (in seconds) + */ + public void setWrapupTime(Integer wrapuptime) { + this.wrapuptime = wrapuptime; + } } diff --git a/src/main/java/org/asteriskjava/manager/event/QueueMemberPenaltyEvent.java b/src/main/java/org/asteriskjava/manager/event/QueueMemberPenaltyEvent.java index e77d943d0..054a7cfcb 100644 --- a/src/main/java/org/asteriskjava/manager/event/QueueMemberPenaltyEvent.java +++ b/src/main/java/org/asteriskjava/manager/event/QueueMemberPenaltyEvent.java @@ -30,7 +30,8 @@ public class QueueMemberPenaltyEvent extends ManagerEvent { /** * Serializable version identifier. */ - private static final long serialVersionUID = 0L; + private static final long serialVersionUID = 2361464012968723903L; + private String queue; private String location; private Integer penalty; @@ -47,6 +48,7 @@ public class QueueMemberPenaltyEvent extends ManagerEvent { private Integer lastcall; private String membername; private Integer status; + private Integer logintime; /** * Creates a new instance. @@ -346,4 +348,22 @@ public Integer getPenalty() { public void setPenalty(Integer penalty) { this.penalty = penalty; } + + /** + * Gets the login time (as a UNIX timestamp) + * + * @return the login time of the agent + */ + public Integer getLoginTime() { + return logintime; + } + + /** + * Sets the login time (as a UNIX timestamp) + * + * @param logintime the login time of the agent + */ + public void setLoginTime(Integer logintime) { + this.logintime = logintime; + } } From 433051c909531bd6a8dcdddcca0296a1b007d192 Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Fri, 5 Dec 2025 14:16:36 -0500 Subject: [PATCH 3/3] QueueMemberRingInUseEvent.java: Make constructor public --- .../asteriskjava/manager/event/QueueMemberRingInUseEvent.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/asteriskjava/manager/event/QueueMemberRingInUseEvent.java b/src/main/java/org/asteriskjava/manager/event/QueueMemberRingInUseEvent.java index 2e41930a8..4d70cc714 100644 --- a/src/main/java/org/asteriskjava/manager/event/QueueMemberRingInUseEvent.java +++ b/src/main/java/org/asteriskjava/manager/event/QueueMemberRingInUseEvent.java @@ -26,7 +26,7 @@ public class QueueMemberRingInUseEvent extends ManagerEvent { * @param source The object on which the Event initially occurred. * @throws IllegalArgumentException if source is null. */ - protected QueueMemberRingInUseEvent(Object source) { + public QueueMemberRingInUseEvent(Object source) { super(source); }