Dtmf and Kpml
-
Upload
parag-mahajani -
Category
Documents
-
view
245 -
download
0
Transcript of Dtmf and Kpml
-
7/27/2019 Dtmf and Kpml
1/19
12/1/2008
Dual Tone Multi Frequencyand
Key Press Markup Language
VoIP Security (COMS W4995)
Prof. Henning Schulzrinne
Aniruddha Niranjan
Computer Science Department
-
7/27/2019 Dtmf and Kpml
2/19
Overview
DTMF
Introduction
Architecture
Encoding
Transmission
Decoding Security
KPML
Introduction
Operation
Key Concepts
DRegex
Security
2
-
7/27/2019 Dtmf and Kpml
3/19
DTMF
Method to instruct the telephone switching
system of number to be dialed
To issue commands to switching system
or related telephony systems
Numbers and commands issued from a
keypad
Used mostly in interactive response
systems
3
-
7/27/2019 Dtmf and Kpml
4/19
Architecture
4
Three modules
Generation at keypad
Transmission using RTP
Decoding
DecodingTransmissionGeneration
-
7/27/2019 Dtmf and Kpml
5/19
Keypad Frequencies
Set of low
frequencies
Set of high
frequencies
Button click
generates acombination
8 => S(852, 1336)
5
-
7/27/2019 Dtmf and Kpml
6/19
Transmission using RTP
Payload format designated as telephone-
event
Media type is audio/telephone-event
Carried as part of audio stream
Considered a very highly compressed
audio codec
6
-
7/27/2019 Dtmf and Kpml
7/19
Transmission using RTP
Timestamp and marker bit of RTP
header used
Payload format
Number between 0
and 255 identifies
specific telephony
event
End of
event
Reserved,
set to 0
Duration of event or
segment
Power level
of the tone
7
-
7/27/2019 Dtmf and Kpml
8/19
Decoding
Firstly checks are performed based on
Frequency groups
Inter-digit interval
Signal strength
Goertzel algorithm for decoding
Uses Discrete Fourier Transforms
8
-
7/27/2019 Dtmf and Kpml
9/19
Security
Telephone event payload highly
compressed
Very high sensitivity to even small
changes in bit values
Secure Real Time Protocol must be
implemented
9
-
7/27/2019 Dtmf and Kpml
10/19
KPML
Capturing DTMF tones that are
supplemental or mid-call key presses
SIP event notification package
SUBSCRIBE and NOTIFY methods used
Goal is to optimize memory usage and
processing time
10
-
7/27/2019 Dtmf and Kpml
11/19
SIP Based OperationCaller CalleeApplication Server
(1) INVITE
(2) 200 OK
(3) ACK
(4) SUBSCRIBE
(5) 200 OK
(6) NOTIFY
(7) 200 OK
(9) NOTIFY (Digits)
(10) 200 OK
(8)
11
-
7/27/2019 Dtmf and Kpml
12/19
Key Concepts
Subscription
Duration
PersistentNon-persistent
Single NOTIFY Continuous NOTIFY
Timers
Inter-Digit
Critical
Extra
12
-
7/27/2019 Dtmf and Kpml
13/19
Key Concepts
Pattern matches
Digit suppression
User input buffer behavior
13
-
7/27/2019 Dtmf and Kpml
14/19
DRegex
Digit Regular expression mapping of
POSIX extended regular expressions
POSIX not used directly
Mapping used
14
-
7/27/2019 Dtmf and Kpml
15/19
DRegex
A few example expressions15
-
7/27/2019 Dtmf and Kpml
16/19
DRegex Formal Syntax
Augmented Backus-Naur Form
DRegex = 1*( DRegexPosition [ RepeatCount ] )
DRegexPosition = DRegexSymbol / DRegexSet
DRegexSymbol = [ "L" ] DRegexCharacter
DRegexSet = "[" 1*DRegexSetList "]"
DRegexSetList = DRegexCharacter [ "-" DRegexCharacter ]DRegexCharacter = DIGIT / "A" / "B" / "C" / "D" / R / "*" / "#" /
"a" / "b" / "c" / "d" / r
RepeatCount = "." / "{" RepeatRange "}"
RepeatRange = Count / ( Count "," Count ) /
( Count "," ) / ( "," Count )
Count = 1*DIGIT
16
-
7/27/2019 Dtmf and Kpml
17/19
KPML Security
Sensitive information may be typed in
through keypad
Unauthenticated subscriptions can create
problems too
Use of mechanisms such as TLS, sips,
S/MIME recommended
17
-
7/27/2019 Dtmf and Kpml
18/19
Conclusion
DTMF maps keypad characters to a
combination of predefined frequencies
Transported as an RTP payload and
decoded using Goertzel algorithm
KPML enables transport of mid-call key
press information
A SIP-centric model that makes use of
DRegex
18
-
7/27/2019 Dtmf and Kpml
19/19
References
http://nemesis.lonestar.org/reference/telec
om/signaling/dtmf.html
http://www.corp.att.com/history/milestone
_1963.html
http://ltl13.exp.sis.pitt.edu/WebSite/Gloss
ary/Letters/D.htm
RFC 4733; H. Schulzrinne, M.Taylor
RFC 4730; E. Burger, M. Dolly19