DTMF support¶
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 INFOpackets.- 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.
WCS 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
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 is not supported by WCS.
DTMF by RFC2833¶
To send DTMF as specially marked events according to RFC 2833, the following parameter in flashphoner.properties file should be set
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.