[asterisk-users] interesting problem

Eve Ellen Cole ecole at mail.plymouth.edu
Tue Dec 16 17:35:04 CST 2008


I’ve got an interesting problem and am wondering if anyone can shed light …

I am running Asterisk on RHEL Server release 5.2 connecting to an Avaya Definity G3R via a Digium TE220.

Asterisk 1.4.20
Zaptel 1.4.4
Libpri 1.4.4
MySQL 5.0.45

Festival Speech Synthesis System: 1.95

We have about 4200 accounts in a MySQL db.  Asterisk retrieves the user information from the database, festival tts says the name, then the caller can leave a voicemail, which is then emailed to the user.  At this time, the system only takes calls, no calls go out.

The problem is that at times Asterisk doesn’t release the channel.  Messages in the log file show indicate the channel is busy.  The only way I can find to get the channel to release is to restart Asterisk.

[Dec 16 14:39:06] DEBUG[11141] chan_zap.c: Ring requested on channel 0/1 already in use or previously requested on span 1.  Attempting to renegotiating channel.

Since this is happening on a regular basis, I’ve been doing some troubleshooting and can now predictably cause this problem.  It mainly seems to happen with one particular mailbox, and festival seems to be a factor.  When this particular mailbox is dialed, Asterisk goes through the dialplan up to and including the Festival(${FULLNAME}) step, but not beyond.  Just for yucks, I changed the fullname of the person with that mailbox by taking out the middle name.  All seems to work fine without the middle name.  If I put a middle initial or middle name, the channel locks up again.  I’ve wondered if Festival has a problem with the length of the name, but there are other students with longer names and this problem doesn’t occur with their extensions.  Any thoughts?

Dialplan
exten => _5[14-9]XXX,1,Answer()
exten => _5[14-9]XXX,n,Playtones(ring)
exten => _5[14-9]XXX,n,MYSQL(Connect CONNID localhost asterisk HG06e6kghpUjtGvnX asterisk) 
exten => _5[14-9]XXX,n,MYSQL(Query RESULTID ${CONNID}  Select 'fullname' from voicemail_users Where mailbox=${EXTEN}) 
exten => _5[14-9]XXX,n,MYSQL(Fetch FETCHID ${RESULTID} FULLNAME) 
exten => _5[14-9]XXX,n,MYSQL(Disconnect ${CONNID}) 
exten => _5[14-9]XXX,n,GotoIf($[${FETCHID} = 1]?connect:disconn) 
exten => _5[14-9]XXX,n(connect),StopPlaytones()
exten => _5[14-9]XXX,n,Wait(2)
exten => _5[14-9]XXX,n,Playback(you-have-dialed)
exten => _5[14-9]XXX,n,Playback(the-mailbox)
exten => _5[14-9]XXX,n,Playback(for)
exten => _5[14-9]XXX,n,Festival(${FULLNAME})
exten => _5[14-9]XXX,n,VoiceMail(${EXTEN}@students)
exten => _5[14-9]XXX,n,Playback(goodbye) 
exten => _5[14-9]XXX,n,Hangup() exten => _5[14-9]XXX,n(disconn),Zapateller()
exten => _5[14-9]XXX,n,Playback(you-dialed-wrong-number)
exten => _5[14-9]XXX,n,Playback(check-number-dial-again)
exten => _5[14-9]XXX,n,Playtones(congestion)
exten => _5[14-9]XXX,n,Wait(3)
exten => _5[14-9]XXX,n,Hangup()



More information about the asterisk-users mailing list