As Asterisk has inner problems and channels very often locks we have such
script to restart Asterisk each midnight.

 

We (our clients) mostly use v1.4.18.1. We can't upgrade to newer versions
because there are too much changes which would brake our system
(realtime/sip/iax2/cdr/etc/etc).

 

Script soft hangups all alive channels in dirty way then kills Asterisk and
starts it up. 

 

Hope it will be useful to somebody.

 

Corrections/comments welcome.

 

 

 

#! /bin/sh

 

# Script to restart asterisk softly by Kolmisoft

 

# crontab

# 0 0 * * * /usr/local/mor/asterisk_nice_restart.sh

 

# tell Asterisk do not accept new calls

asterisk -rx 'stop gracefully' >/dev/null

 

# read all channels

asterisk -rx 'core show channels verbose' | sed '1d' > /tmp/f1

cat /tmp/f1 | awk '{split ($0,a," "); print a[11]}' > /tmp/f2 

 

 

# hangup all alive channels

for i in `cat /tmp/f2`; do 

    asterisk -rx "soft hangup $i " > /dev/null 

done 

 

# let asterisk to stop by itself

sleep 5

 

# kill remainings

killall -9 safe_asterisk

killall -9 asterisk

 

# start fresh and ready to work!

/etc/init.d/asterisk start

 

 

# clean

rm -rf /tmp/f1 

rm -rf /tmp/f2

 

 

 

 

Regards,

Mindaugas Kezys

http://www.kolmisoft.com

VoIP Billing and Routing Solutions

 

_______________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to