Overview
DTMF - Dual-Tone Multi-Frequency signaling
This signaling method is used for telecommunication over analogue telephone lines in the voice-frequency band between telephone handsets and other communication devices and the switching center.
Methods of sending DTMF
There are 3 methods of sending DTMF in the SIP environment:
- SIP INFO packets.
- As specially marked events in the RTP stream - see: RFC 2833.
- Inband as normal audio tones in the RTP stream with no special coding or markers.
Flashphoner supports DTMF with 1 and 2.
DTMF settings
Using SIP INFO packets
To send DTMF using SIP INFO packets, the following parameter in flashphoner.properties file should be set
dtmf=INFO
PBX configuration
To receive DTMF using SIP INFO packets, PBX should be configured as follows (Asterisk for example)
[general] bindport=5060 bindaddr=0.0.0.0 context=default dtmfmode=info allow=all [2000] type=friend secret=2000 host=dynamic canreinvite=no dtmfmode=info
Note that Asterisk uses inband
method by default which does not supported by WCS.
DTMF over RFC2833
To send DTMF as specially marked events according to RFC 2833, the following parameter in flashphoner.properties file should be set
dtmf=RFC2833
Also, telephone-event
codec should be enabled, for example
codecs =opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h264,vp8,flv,mpv codecs_exclude_sip =mpeg4-generic,flv,mpv,alaw,ulaw,g729,speex16,g722,vp8 codecs_exclude_streaming =telephone-event codecs_exclude_sip_rtmp =opus,g729,g722,mpeg4-generic,vp8,mpv
In the case above, H264
for video, opus
for audio and telephone-event
for DTMF are enabled.
PBX configuration
To receive DTMF according to RFC 2833, PBX should be configured as follows (Asterisk for example)
[general] bindport=5060 bindaddr=0.0.0.0 context=default dtmfmode=rfc2833 allow=all [2000] type=friend secret=2000 host=dynamic canreinvite=no dtmfmode=rfc2833
Note that Asterisk uses inband
method by default which does not supported by WCS.