bck
Alejandro Acuña
2024-11-11 f1cb4443aede6d4657bdc3396c8914d3a9f4fa93
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
====================================================================
WinRTP README 
====================================================================
WinRTP: Audio RTP Library for Windows
Release 2.1
February, 2003
 
 
====================================================================
LICENSE AND COPYRIGHT 
====================================================================
The Vovida Software License, Version 1.0
Copyright (c) 2000 Vovida Networks, Inc.  All rights reserved.
 
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
 
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
 
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in
   the documentation and/or other materials provided with the
   distribution.
 
3. The names "VOCAL", "Vovida Open Communication Application Library",
   and "Vovida Open Communication Application Library (VOCAL)" must
   not be used to endorse or promote products derived from this
   software without prior written permission. For written
   permission, please contact vocal@vovida.org.
 
4. Products derived from this software may not be called "VOCAL", nor
   may "VOCAL" appear in their name, without prior written
   permission of Vovida Networks, Inc.
 
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL VOVIDA
NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
--------------------------------------------------------------------
All third party licenses and copyright notices and other required
legends also need to be complied with as well.
 
 
====================================================================
INTRODUCTION 
====================================================================
Description:
WinRTP is a COM component which can originate RTP (Realtime Transport 
Protocol) media from a microphone and terminate RTP media on a speaker.
 
WinRTP processes audio using 'filter-graphs'. It supports 
·    Audio mixing, and playing of .wav files of any format
·    Dejitter buffer for improved sound quality during packet loss: 
        both static or dynamic jitter buffers are supported
·    IP Precedence to enable Quality of Service prioritization. 
·    DSP algorithms: for pre-emphasis, post-emphasis and volume limiting
        to enhance sharpness of audio streams
 
Documentation:
Real-time Transport Protocol = IETF RFC1889
        http://www.ietf.org/rfc/rfc1889.txt?number=1889
 
WinRTP Programmers Guide
 
WinRTP Design Document 2.0.0 (Almost fully applicable to WinRTP 2.1.0)
        
License: Vocal Public License
 
Status: Complete, Stable
 
To Do:
 
====================================================================
NEW FEATURES AND FUNCTIONS IN THIS RELEASE (WinRTP 2.1.0)
====================================================================
·    This is a maintenance release with lots of bug fixes
.    WinRTP now supports dynamic amplification of incoming RTP audio
     stream using the PCMVolumeMaximizer filter. This feature is
     fully configurable through the registry. So now, audio streams
     sound as loud as other sounds on the system (e.g. wav files)
.    A new "GenericRTP2PCMDecoder" filter which can dynamically
     detect the codec type of incoming RTP packets and invoke
     the appropriate transformer to convert it into PCM
 
====================================================================
NEW FEATURES AND FUNCTIONS IN PAST RELEASE (WinRTP 2.0.0)
====================================================================
·    No more DirectShow dependency. This version uses the wave API
    of windows to use the sound devices. I implemented a simple 
    filter graph framework that is more suited to the task at hand.
·    No more compile headaches ;-) No more DirectShow SDK version 
    incompatibilities, no more link errors, no more streams.h 
    problems ....
·    Simpler distribution: just two DLL's, no more .ax files. 
    Also, the whole software is less than 230 KBytes.
·    Support for multiple sound cards
·    Dynamic jitter buffer algorithm option: it is very simple, 
    but looks like it works most of the time
·    Audio quality enhancements: including pre-emphasis and 
    post-emphasis of audio to make it sound sharper
·    Others misc: Volume limiter algorithm in case you want to 
    use it.
·    Comes with prebuilt binaries for your convenience
·    Ability to play any wav file. Previous format restrictions 
    removed. Also, now you can play as many files at the same 
    time as you want
 
 
====================================================================
BUG FIXES 
====================================================================
.    Numerous bug fixes
.    Some freeze issues/one way audio issues have been resolved
.    Some memory leak fixes that were found by the user community
.    Playing extremely small .WAV files (few milliseconds) crashes
     WinRTP fixed
 
====================================================================
KNOWN LIMITATIONS
====================================================================
These limitations are known to exists in this release of the software:
 
Limitation: WinRTP does not include any low bitrate codecs.
Workaround: These codecs are available for license from third party
            companies. Please contact them for information. WinRTP
            team cannot help you with this issue.
 
            Some notable places are VOVIDA.ORG (Open G729) and
            ITU web site (you can reference implementation code for
                various codecs like G.729)
 
====================================================================
GETTING STARTED
====================================================================
 
SOFTWARE DEPENDENCIES
--------------------------------------------------------------------
- Visual C++ version 6.0, service pack 5.
 
HARDWARE REQUIREMENTS
--------------------------------------------------------------------
At least a 266MHz MMX Pentium microprocessor or equivalent.
At least 32 MB RAM.
Sound card compatible with Windows, microphone, 
headset/speakers.
 
 
PLATFORM SUPPORTED
--------------------------------------------------------------------
Windows 95, 98, ME, NT service pack 3 or later, or Windows 2000/XP.
 
 
COMPILE INSTRUCTIONS
--------------------------------------------------------------------
The distribution comes with both source code and binaries. Extract 
    the ZIP file to obtain everything. It will create a directory 
    called WinRTP which will contain everything.
 
Source Code Distribution
Build Order
1.    TracerServer
2.    Tracer
3.    CCNMediaTerm
This will create TraceServer.dll and CCNSMT.dll. Build these
projects either in Debug or Release mode. 
 
 
USING THE SOFTWARE
--------------------------------------------------------------------
WINRTP binary distribution consists of two DLL files under the WinRTP 
directory. The main COM DLL (CCNSMT.dll) that exposes the WINRTP 
interface is about 260 Kbytes while the other (TraceServer.dll) DLL 
(used for tracing) is 28 KBytes
 
- Installation
 
Third Party Dependencies
    None
 
Location of Distributed Files
·    TraceServer.dll: Put TraceServer.dll in the SYSTEM directory of 
    windows (i.e. \WINDOWS\SYSTEM of win95/98/ME or \WINNT\SYSTEM32 
    on win nt/2000/XP
·    CCNSMT.dll: This is a COM components, so its location is not 
    important as long as it is registered with the system. It is 
    recommended that it be kept all together in a separate directory 
    or in the directory of the application that is using the WinRTP. 
 
Final Install Steps
    All COM objects must be registered before WINRTP can be used.
    For this, use the regsvr32 program that comes with windows
    (it may be found in the system directory)
·    Regsvr32 CCNSMT.dll 
 
 
TESTING THE SOFTWARE
--------------------------------------------------------------------
There is also a test program (both source code and binary) that is 
available. It is a simple program that does not exercise all the 
features. It just connects your default microphone to your default 
speaker for 5 seconds so that you can hear yourself, and then exits. 
The source code is in the "WinRTP/TestWinRTP" folder and the binary 
is WinRTP/TestWinRTP.exe
 
====================================================================
SOURCE CODE INFORMATION
====================================================================
Please check the documentation available at the WinRTP web site
on Vovida.org, esp. the WinRTP Design Document 2.0.0
 
 
====================================================================
DIRECTORY STRUCTURE 
====================================================================
The main directory contains subdirectories for each project.
 
====================================================================
CONTRIBUTORS 
====================================================================  
This software consists of voluntary contributions made by Vovida
Networks, Inc., Cisco Systems, Inc., and many individuals.
 
Cullen Jennings   fluffy@cisco.com
Arijit Mukherji   arijit@cisco.com
Mai Vu            maivu@cisco.com
 
 
====================================================================
CONTACT INFORMATION AND WEBSITE
====================================================================
We welcome your feedback, suggestions and contributions. Contact us
via email if you have questions, feedback, code submissions, 
and bug reports.
 
For general inquiries - info@vovida.org
 
We have mailing lists for the VOCAL applications and proctocol stacks: 
VOCAL - vocal@vovida.org
COPS - cops@vovida.org
MGCP - mgcp@vovida.org
RADIUS - radius@vovida.org
RTP - rtp@vovida.org
SIP - sip@vovida.org
TRIP - trip@vovida.org
SIPTiger - siptiger@vovida.org
WinRTP = winrtp@vovida.org
You can subscribe to the mailing lists on www.vovida.org. 
 
You can submit bug, patches, software contributions, and feature 
requests using Bugzilla.  Access Bugzilla from www.vovida.org. 
 
====================================================================