This is a simple script for logging out Dynamic Agents in Asterisk. The most common use would be to logout Agents automatically each day in case they forget or are on PAUSE. Edit the “LOGGEDIN” variable below to match the correct length of digits. By default it is three, ‘SIP/…’.
You can add as many or as few Queues in place of QUEUE1, QUEUE2, & QUEUE3. This is the ‘foreach’ section of the script. Whatever that is here will be applied to each instance of SIP/xxx detected by grep. Good luck.
# Execute from the command line, Asterisk or by cron
LOGGEDIN=$(/usr/sbin/asterisk -rx “queue show” | /bin/grep -o ‘SIP/…’)
for i in $LOGGEDIN
echo “$i removed”
# Add in all queues that should be included
/usr/sbin/asterisk -rx “queue remove member $i from QUEUE1”
/usr/sbin/asterisk -rx “queue remove member $i from QUEUE2”
/usr/sbin/asterisk -rx “queue remove member $i from QUEUE3”