[asterisk-dev] Re: Passing DTMF through MeetMe

Tony Mountifield tony at softins.clara.co.uk
Wed Sep 27 06:29:30 MST 2006


Hi Matt,

Thanks for the response....

In article <61575c810609270442t18f90bdfu7b3f0ad4c78020db at mail.gmail.com>,
Matt Florell <astmattf at gmail.com> wrote:
> I've been over this one many times. From what I've found the pseudo
> zap channels(what all VOIP channels have to use to get into a meetme)
> can't do DTMF with any measure of reliability at all. So what I did
> was program into app_conference the ability to do DTMF broadcasting of
> both inband and RFC DTMF.
> http://www.eflo.net/files/VD_app_conference_0.6.zip

Unfortunately I can't move from app_meetme to app_conference, as I have
quite a lot of customisation already invested in meetme. But it may well
be useful as a source of ideas.

> It does still have a random double-free memory that I can't find
> anyone to fix which will crash Asterisk if you use inband DTMF
> broadcasting a lot, but it has worked for me for periods of time as
> long as 2 weeks without crashing.

Well, I just had a look through the code, and can see in member.c the
function process_incoming(), which looks like it distributes the DTMF
frames. One thing I noticed is that the condition starting with
"if (f->frametype == AST_FRAME_DTMF)" doesn't have an "else" clause,
so the DTMF frames appear to fall through to the code that processes
voice frames. I'm not sure what effect that would have, but it doesn't
look quite right.

There is an awful lot of commented-out code in there!

> To do DTMF broadcasting, make sure you read the README which has
> instructions on the flags for Conference in the dialplan.
> 
> MATT---

Thanks
Tony

> On 9/27/06, Tony Mountifield <tony at softins.clara.co.uk> wrote:
> > I have a system in the field which uses MeetMe to conference parties,
> > all of whom are connected via Zap channels on a T1 PRI.
> >
> > One of the important features the client uses is the ability to press
> > DTMF tones on their phone and for the tones to pass out to the other
> > party(ies). This is for outgoing calls made using a control screen, that
> > arrive on an IVR at the called party. Since MeetMe is invoked without
> > any menus enabled, the AST_OPTION_TONE_VERIFY option is not set, and
> > the Zap channel allows the in-band DTMF to pass through.
> >
> > I now need to replicate this functionality for SIP channels (and possibly
> > IAX too), where the DTMF arrives at Asterisk already out-of-band
> > (e.g. SIP INFO or RFC2833).
> >
> > I can think of several ways to achieve this, but am not sure which is
> > the most correct or achievable:
> > - Take the incoming AST_FRAME_DTMF frames in MeetMe and queue them up
> >   for output on all other channels in the conference. This assumes they
> >   would then be converted back to inband somewhere between Meetme and
> >   the remote party. (what happens if you queue an AST_FRAME_DTMF on a
> >   Zap channel?)
> > - Somehow act on incoming AST_FRAME_DTMF frames by generating the DTMF
> >   tones and playing them into the conference.
> > - Have the tones converted from out-of-band to inband audio by the
> >   incoming channel driver (chan_sip or chan_iax).
> >
> > Any pointers on the best way to approach this would be gratefully received.
> >
> > Cheers
> > Tony
> > --
> > Tony Mountifield
> > Work: tony at softins.co.uk - http://www.softins.co.uk
> > Play: tony at mountifield.org - http://tony.mountifield.org
> > _______________________________________________
> > --Bandwidth and Colocation provided by Easynews.com --
> >
> > asterisk-dev mailing list
> > To UNSUBSCRIBE or update options visit:
> >    http://lists.digium.com/mailman/listinfo/asterisk-dev
> >
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
> 
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev
> 


-- 
Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org


More information about the asterisk-dev mailing list