[asterisk-users] read digits during recording / DTMF in conference?

Kingsley Tart kingsley at skymarket.co.uk
Wed Feb 1 04:34:07 CST 2012


Hi,

I want to create a system for incoming calls where, under some
circumstances, callers get routed straight to voicemail (or some other
means of recording a message) but if they enter a valid extension number
then the recorded message would be abandoned and they'd be diverted to
the extension number they entered.

I realise this can be done with the voicemail app with operator=yes but
the problem with this is that the caller has to press 0 while the
announcement is being played. If they're too slow and recording has
started, they've missed the opportunity.

So I played around with ConfBridge and a couple of call files, just to
see if I could get it to work. It's a bit convoluted but the idea is
that the caller gets silently put into a conference, then two call files
make asterisk silently connect to other calls into the same conference,
with one doing the recording and the other using Read() to collect
digits.

If I just had the caller and one of the other calls in the conference
(the one doing Read()) then this worked - Read() managed to read the
DTMF digits and assign them to a variable.

However, when the 'recording' call is also in the conference, the 'read'
call can no longer recognise the DTMF digits. To test, I made the 'read'
call play a sound before calling Read() and I could hear this being
played so the call was definitely there. However, regardless of the
number of digits I pressed, Read() didn't notice any of them, even if I
introduced a delay so that the other channels were quiet before the call
to Read().

I realise this might seem a bit like a mad solution but can anyone else
think of a way to get Asterisk to read (and react to) DTMF digits during
a recording?

This is with Asterisk 1.8.7.

-- 
Cheers,
Kingsley.




More information about the asterisk-users mailing list