CLOSED: Zombie Channel - Why doesn't it hangup?

Hello everybody,

I searched everywhere but I didn’t find a hint to this one:

I’ve got an asterisk which is connected via sip to a voip provider:
[general]
language=de
bindport=5060
useragent=Asterisk
bindaddr=hostname
srvlookup=yes
insecure=very
;nat=yes
dtmfmode=auto
maxexpirey=3600
defaultexpirey=60
disallow=all
allow=ulaw
allow=alaw
allow=g726
allow=gsm
language=de

register => 2222:secret@host.net/2222
register => 1111:secret@host.de/1111

[2222]
type=peer
username=2222
host=host.net
fromdomain=host.net
fromuser=2222
secret=secret
insecure=very
qualify=yes
nat=no
disallow=all
allow=ulaw
allow=alaw
allow=g726
allow=gsm
canreinvite=no
relaxdtmf=yes

[dus_in]
type=peer
fromdomain=host.net
host=host.net
disallow=all
allow=ulaw
allow=alaw
allow=g726
allow=gsm
context= Context

[sipgate_in]
type=friend
insecure=very ; otherwise I get authentication errors
nat=yes
username=1111
fromuser=1111
fromdomain=host.de
secret=secret
host=host.de
qualify=yes
context= Context

[3000]
callerid=Phone 3000 <3000>
host=dynamic
domain=IP des Servers
user=3000
secret=secret
type=friend
mailbox=3000
nat=yes
canreinvite=no
context= Context

I’ve got an agi-perl-script which is being called from inside the extensions.conf like this:
[Context]
exten => 3962694,1,Answer()
exten => 3962694,n,Set(Count=1)
exten => 3962694,n,While($[ ${Count} < 5])
exten => 3962694,n,AGI(agi-test.agi)
exten => 3962694,n,EndWhile()

I encounter the not reproducable phaenomenon that the while-loop in the extensions.conf keeps on looping even when I hanged up. On the console a sip show channels shows me that there’s some kind of zombie channel still alive, long after I hung up the phone.

Can anybody help me on that one? Do I need to detect the status of the channel in the loop? Is there a configuration option for the sensibility of the hangup-detection? A timeout?

Help would be appreciated!

Regs,
Nils

Hi

I think you need to add a few noops.

exten => 3962694,1,Answer()
exten => 3962694,n,Set(Count=1)
exten => 3962694,n,While($[ ${Count} < 5])
exten => 3962694,n,Noop(${Count})
exten => 3962694,n,AGI(agi-test.agi)
exten => 3962694,n,Noop(${Count})
exten => 3962694,n,EndWhile()
exten => 3962694,n,Noop(${Count})
exten => 3962694,n,Hangup()

Hello,

thanx for that debug-tipp. I just moved asterisk to another server and now i don’t encounter theses issues anymore.

Thank you anyway!

Regs,
Nils