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 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.
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.