Scripting Language, My Shiny Metal Arse - PowerPoint PPT Presentation

1 / 122
About This Presentation
Title:

Scripting Language, My Shiny Metal Arse

Description:

or video. RTP is just the transport. SIP RTP = phone. other protocols. standards will win ... read the paper. use the phone. shtoom. questions, abuse, anyone I ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 123
Provided by: interl6
Category:

less

Transcript and Presenter's Notes

Title: Scripting Language, My Shiny Metal Arse


1
Scripting Language, My Shiny Metal Arse
2
shtoom
3
voice over IP, in python
4
WARNING talk may contain rant
5
and occasional cheap shots
6
what's VoIP?
7
telephony over the internet
8
why is VoIP interesting?
9
cheap calls
10
use IP network for voice as well as data
11
take the telephone network away from the telcos
12
... it's not like they're doing much with it
13
enable the next round of cool voice applications
14
VoIP clients
15
hardware phones
16
software phones
17
gateways
18
VoIP protocols
19
a short and biased summary
20
first, there was H.323
21
it sucks
22
a lot
23
don't let telcos design internet protocols
24
this goes double for the ITU
25
from cheapshot import X.400, X.500
26
SIP
27
IETF does telephony
28
SIP is complex(the S isn't for Simple)
29
the problem is complex
30
fortunately, we don't need all of it
31
UDP based, client-server(or client-server-client-
server)
32
SIP is just for control
33
setup, negotiation, call control
34
RTP
35
a little lump of audio in each UDP packet
36
every 20ms
37
multiple audio formats
38
or video
39
RTP is just the transport
40
SIPRTP phone
41
other protocols
42
standards will win
43
even if they're not all that good
44
shtoom
45
why on earth did I attempt this?
46
a scriptable phone
47
make my H.323 pain go away
48
from cheapshot import c
49
hopefully help stamp out ignorance
50
it's just a scripting language
51
only suitable for prototyping
52
existing software phones not so good
53
so write a better one
54
other voice applications
55
(voice applications ltgt voice recognition)
56
why choose python?
57
hopefully you all know the answers to that one
58
a few additional reasons
59
twisted
60
nice UI toolkit
61
many of them
62
so why not use python?
63
performance
64
it's just a scripting language, after all
65
timing and performance
66
timing?
67
an audio packet, every 20ms
68
but PC clocks run at 100Hz
69
miss by a fraction -gt 10ms delay
70
this is very noticeable
71
approaches to timing
72
approach 1 setitimer
73
approach 2 reset the timer
74
approach 2b cheat
75
approach 3 LoopingCall
76
LoopingCall works, and works well
77
performance?
78
audio processing
79
audio mixing
80
a pile of mathematics
81
raw python
82
psyco
83
numeric
84
pyrex
85
reimplement the performance critical bits
86
duh...
87
audioop
88
use the standard library
89
the best optimization is one that someone else
already wrote
90
and the winner is...
91
and again, for the managers
92
but I prefer this one
93
scripting language, my arse
94
is this fast enough?
95
audio encoding
96
other people have done this already
97
so use their work
98
ULAW, GSM 06.10, G.72x, speex
99
wrapping C code is easy
100
yay (again) for Pyrex
101
shtoom today
102
second major release
103
cross-platform
104
kde/qt, gnome/gtk, tk, cocoa (soon), wx (soon),
command-line
105
software phone usable
106
firewall discovery and traversal
107
(an aside UPnP)
108
from cheapshot import Microsoft
109
other applications
110
doug, the application server
111
conclusions
112
python isn't just a scripting language
113
python is fun
114
VoIP is very cool right now
115
VoIP in python is cool
116
therefore, python is cool
117
(No Transcript)
118
no, really
119
read the paper
120
use the phone
121
shtoom
122
questions, abuse, anyone I forgot to insult?
Write a Comment
User Comments (0)
About PowerShow.com