Have you tried using kewlstart instead? Your loopstart lines might be configured for kewlstart (forward disconnect supervision).
-wade > -----Original Message----- > From: Christian Hecimovic [mailto:[EMAIL PROTECTED] > Sent: Tuesday, September 16, 2003 7:48 PM > To: [EMAIL PROTECTED] > Subject: [Asterisk-Users] Hangups after voicemail > > Hi, > > Try as I might, I can't get hangups detected on a Zap channel with loop > start > lines. So, after someone leaves a voicemail and then hangs up, Asterisk > doesn't know it, exits VoicemailMain2, and loops back to the corporate > greeting, tying up the line even though the outside caller has hung up. > > Therefore, I've added the following hideous hack - er, code - to > voicemail2.c. > It starts right after the call to play_and_record() in leave_voicemail(). > > if (res != '#' && chan != NULL && !strncmp(chan->name, "Zap", 3)) { > /* Hang up the Zap channel only */ > ast_softhangup(chan, AST_SOFTHANGUP_EXPLICIT); > } > > Obviously, it hangs up the channel after the voicemail has been recorded, > if > the # key wasn't pressed, if the channel still exists, and if it's a Zap > channel. I couldn't see a way to do this with AGI. > > Question: is this safe? I used a soft hangup because the channel is > controlled > by another thread. I also modified channel.c so that ast_channel_free() > sets > chan to NULL after it's freed, just in case. Is there anything else I > should > be aware of? The code seems to work in my testing, resulting in a proper > hangup right after the voicemail has been recorded. I'm not up on my > Asterisk > internals, so I'm not totally confident about this. > > Thanks, > > Chris > > > _______________________________________________ > Asterisk-Users mailing list > [EMAIL PROTECTED] > http://lists.digium.com/mailman/listinfo/asterisk-users _______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users
