[Asterisk-Users] Hangups after voicemail

Wade J. Weppler weppler at wwworks-inc.com
Wed Sep 17 09:08:29 MST 2003


Silencethreshold of 256 sounds a bit high...

You can also add a timeout extension to just hangup the line:

exten => t,1,Hangup

Without using Kewlstart, there isn't anyway for Asterisk to know that
the line has been disconnected, so you'll have to use the timeouts.

-wade


> -----Original Message-----
> From: Christian Hecimovic [mailto:checimovic at qworks.ca]
> Sent: Wednesday, September 17, 2003 11:59 AM
> To: asterisk-users at lists.digium.com
> Subject: Re: [Asterisk-Users] Hangups after voicemail
> 
> Hi Martin,
> 
> Yes, silence detection in voicemail is working. I am using Voicemail2
with
> the
> silencethreshold set to 256. However, the line doesn't hang up after
the
> silence is detected; instead, Voicemail2 exits after recording the
> voicemail
> correctly, and Asterisk loops back into the main menu as if the # key
was
> pressed because the channel is still alive. Then it times out after 15
> seconds, as you can see below.
> 
> From extensions.conf:
> 
> [incoming]
> exten => s,1,Answer
> exten => s,2,DigitTimeout,5
> exten => s,3,ResponseTimeout,10
> exten => s,4,BackGround(corp_greeting)
> include => locals
> include => errors
> 
> The locals context consists of macros which look like this:
> 
> exten => s,1,Playback(transfer,skip)
> exten => s,2,Dial(${ARG2},20)
> exten => s,3,Voicemail2(u${ARG1})
> exten => s,4,Goto(incoming,s,1)
> exten => s,103,Voicemail2(b${ARG1})
> exten => s,104,Goto(incoming,s,1)
> 
> So after a voicemail is left, there is a Goto back into the incoming
> context.
> It all works great, except for when the line gets tied up by the
> DigitTimeout
> and ResponseTimeout bits when hangups aren't detected.
> 
> I've tried using BUSYDETECT_MARTIN with busydetect=yes and it didn't
work.
> The
> channel stays up after the outside caller hangs up.
> 
> Since all of our inside phones are SIP lines, there is no problem
> detecting
> hangups when a voice conversation is taking place, since Asterisk
> obviously
> detects SIP hangups correctly whether it's SIP to SIP or SIP to
outside
> line.
> The problem is really only when outside callers leave voicemail.
> 
> Thanks,
> 
> Chris
> 
> On Wednesday 17 September 2003 08:09, Martin Pycko wrote:
> > Do you have silence in the channel when the remote user hangs up or
busy
> > tone ?
> >
> > If you have silence you can use maxsilence=x_seconds in
voicemail.conf
> > with
> > Voicemail2 application and that will make sure the calls are hanged
up
> > after x_seconds of silence in the channel.
> >
> > If you have busy tone then use the busydetect=yes in zapata.conf.
> > You can also limit the length of the voicemail message with
> > maxmessage=x_seconds in the voicemail.conf
> >
> > regards
> > Martin
> >
> > On Tue, 16 Sep 2003, Christian Hecimovic wrote:
> > > 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
> > > Asterisk-Users at lists.digium.com
> > > http://lists.digium.com/mailman/listinfo/asterisk-users
> >
> > _______________________________________________
> > Asterisk-Users mailing list
> > Asterisk-Users at lists.digium.com
> > http://lists.digium.com/mailman/listinfo/asterisk-users
> 
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users



More information about the asterisk-users mailing list