[TriLUG] Has anyone looked at gizmo?

Aaron S. Joyner aaron at joyner.ws
Fri Mar 24 17:54:54 EST 2006


Alan Porter wrote:

>
>> Does Gizmo support sending tones?
>>
>> With Skype, I've had a problem using the dialer to send tones to 
>> phonebots and answering machines, whenever there's a "Press one to 
>> leave a message" situation.
>>  
>>
>
> On a side note, when you send tones over a cellular phone,
> they don't actually run the DTMF tones through the vocoder.
> Instead, they send meta-information "5 key pressed" and
> then "5 key released". This way, if your call fades for
> a second (you drive through a tunnel), your long keypress
> will not be broken into two short keypresses.
>
> I imagine that Skype and VOIP services do not have this
> same sort of out-of-band signaling. So I bet they have
> to encode the tones (which do not encode very well) and
> send them as normal audio.
>
> Interesting problem. I'm looking forward to learning
> more about Gizmo and other VOIP goodies. Perhaps Kevin
> or one of our other VOIP-masters would like to put
> together a presentation for a TriLUG meeting!


This type of signalling is generally referred to as simply 'out of band' 
signaling, or sometimes more specifically 'out of band dtmf'.  Most of 
the VOIP protocols, ala SIP, IAX, etc support out of band DTMF, which is 
particularly important for the low bitrate codecs such as g.729, ilbc, 
etc which can theoretically make dtmf detection at the other end wonky, 
because the dtmf tones are being mangled by the codec.  The usual 
practice is to support DTMF detection and encoding as close to the PSTN 
as possible, and then pass that data along out of band when using VOIP.  
So consider these three secnearios.

I call from my Asterisk phone system at home to Cingular, to check my 
voicemail.  My Cisco SIP phone sends out of band DTMF to Asterisk along 
side the G.711 audio.  Asterisk sends out of band DTMF along side the 
g.729 audio to Broadvoice, who encodes the DTMF and sends it over the 
PSTN to Cingular.

Someone calls me from Bell South at my Asterisk phone system at home.  
They send DTMF tones from their phone to Bellsouth, who sends the audio 
over the PSTN to Broadvoice, who grabs the audio, compresses it with 
g.729 and sends it to my Asterisk server.  My Asterisk server then has 
to decode the dtmf, in order for you to navigate the menu system to 
reach an extension.  This is suboptimal because the audio has been 
encoded with g.729, but in practice is 100% reliable.  DTMF is pretty 
well suited to computer recognition, and people have been doing it for 
many years so it's a very well-solved problem.  In a perfect world, 
Broadvoice would decode the dtmf streams and send them out of band, in 
practice I don't know of a provider that does this.

I call someone else in TriLUG directly from my Asterisk server, to their 
Asterisk server, over an IAX tunnel.  In the likely case, my phone 
transmits DTMF out of band, and both Asterisk servers continue it out of 
band all the way to the remote phone, which then (maybe) generates DTMF 
tones to play out the handset.  Perfection at it's finest, as the remote 
generation isn't impeded by what ever codecs or latency problems might 
exist in the middle, and you end up with a perfect locally-generated 
dtmf tone at the remote end.

Hopefully this short lesson in out-of-band signaling will be useful to 
someone, some day.  :)
Aaron S. Joyner



More information about the TriLUG mailing list