DTMFmode for SIP client configuration
Syntax
dtmfmode=inbandChoices are inband, rfc2833, info or auto
- inband: The device that you press the key on will generate the DTMF tones. - If the codec is not ulaw or alaw then the DTMF tones will be distorted by the audio compression and will not be recognised. If the phone is set for RFC2833 and asterisk is set for inband then you may not hear anything.
- rfc2833: http://www.ietf.org/rfc/rfc2833.txt
- info: See SIP method info and SIP info DTMF or http://www.ietf.org/rfc/rfc2976.txt
- auto: Asterisk will use rfc2833 for DTMF relay by default but will switch to inband DTMF tones if the remote side does not indicate support of rfc2833 in SDP. This feature was added on Sep 6, 2005 and is not available in Asterisk 1.0.x.
Please note
Inband DTMF won't work unless the codec is ulaw or alaw (G711). Use out of band DTMF aka rfc2833 or info.See also
- Asterisk DTMF
- Asterisk cmd SipDTMFmode: Change the DTMF type of an outbound SIP call
- SIP DTMF signalling
- Asterisk SIP channels
Page Changes
We made it working with Asterisk...
Not a really good choice to make it works with Asterisk...
Here we can't do any DTMF relay by VIP-450 too, as stated by Santiago.
It's easier to set it disable any DTMF relay..
however, due to the firmware is a little bit buggy (also problematic in VIP-450 V2)
if you use the coding profile 8, which has no DTMF relay, you will still get errors about DTMF in asterisk.. but this happen only by chance..
If so, just change all profile to disable DTMF relaying.
Also, this devices seems to hard to survive in heavy duty environment..
we have 6 VIP-450 here and if we want to do a IVR using those VIP-450,
it simply bricks after some calls can be made. No calls can be made to/from VIP-450 and Asterisk.
It goes right again after you do a power-cycle..
Here heavy duty means only 5~6 calls per gateway per minutes, and calls are inter-gateway only (did not travel thru Internet)
Mode names
I think those names (inband for rfc 2833, out of band for INFO) are normally used so Asterisk names sound a bit confusing at first.
However, we could only get it working by disabling DTMF in VIP and setting Asterisk DTMF mode to inband (luckily we are using ulaw internally). When we tried to use 2833, we got some weird errors like:
When ilbc codec module wasn't loaded, or, if it was enabled errors like:
When using out of band in hardware and SIP info in Asterisk, tones were sent as Comfort Noise packets from the planet (according to ethereal) and Asterisk obviously generated a warning since it doesn't support comfort noise.
Asterisk version was 'Asterisk 1.2.5 built by bachbuilder @ g77.physik.fu-berlin.de on a i686 running Linux'
Does not work at all
- CLI> sip reload
Reloading SIP== Parsing '/etc/asterisk/sip.conf': Found
Oct 21 14:46:19 WARNING19754: chan_sip.c:8367 build_user: Unknown dtmf mode 'auto', using rfc2833
Oct 21 14:46:19 WARNING19754: chan_sip.c:8591 build_peer: Unknown dtmf mode 'auto', using rfc2833
Oct 21 14:46:19 WARNING19754: chan_sip.c:8367 build_user: Unknown dtmf mode 'auto', using rfc2833
Oct 21 14:46:19 WARNING19754: chan_sip.c:8591 build_peer: Unknown dtmf mode 'auto', using rfc2833
- CLI> show version
Asterisk CVS-v1-0-10/21/05-12:31:23 built by root@joro on a i686 running LinuxI compiled this CVS version today, Oct. 21.
We are using only alaw and ulaw for these particular peers.
If anyone knows more about this function and on which version it is supposed to work.
Old version?
I'm an * newb so I don't want to edit entries here until I'm more confident but it seems to me that line quoted above is no longer true. I'm running 1.0.3 and using dtmfmode=info for my SIP connections and voicemail works fine.