1
- README
2
- ------
1
+ libre README
2
+ ============
3
3
4
- libre - "Generic library for real-time communications with async IO support"
4
+
5
+ libre is a Generic library for real-time communications with async IO support.
5
6
Copyright (C) 2010 - 2016 Creytiv.com
6
7
7
- Distributed under BSD license
8
+
9
+ [ ![ Build Status] ( https://travis-ci.org/creytiv/re.svg?branch=master )] ( https://travis-ci.org/creytiv/re )
10
+
11
+
12
+ ## Features
13
+
14
+ * SIP Stack (RFC 3261)
15
+ * SDP
16
+ * RTP and RTCP
17
+ * SRTP and SRTCP (Secure RTP)
18
+ * DNS-Client
19
+ * STUN/TURN/ICE stack
20
+ * BFCP
21
+ * HTTP-stack with client/server
22
+ * Websockets
23
+ * Jitter-buffer
24
+ * Async I/O (poll, epoll, select, kqueue)
25
+ * UDP/TCP/TLS/DTLS transport
26
+ * JSON parser
27
+
28
+
29
+ ## Building
30
+
31
+ libre is using GNU makefiles, and OpenSSL development headers must be
32
+ installed before building.
33
+
34
+
35
+ ### Build with debug enabled
36
+
37
+ ```
38
+ $ make
39
+ $ sudo make install
40
+ $ sudo ldconfig
41
+ ```
42
+
43
+ ### Build with release
44
+
45
+ ```
46
+ $ make RELEASE=1
47
+ $ sudo make RELEASE=1 install
48
+ $ sudo ldconfig
49
+ ```
50
+
51
+ ### Build with clang compiler
52
+
53
+ ```
54
+ $ make CC=clang
55
+ $ sudo make CC=clang install
56
+ $ sudo ldconfig
57
+ ```
58
+
59
+
60
+ ## Documentation
61
+
62
+ The online documentation generated with doxygen is available in
63
+ the main [ website] ( http://creytiv.com/doxygen/re-dox/html/ )
64
+
65
+
66
+
67
+ ### Examples
68
+
69
+ Coding examples are available from the
70
+ [ redemo] ( http://creytiv.com/pub/redemo-0.4.1.tar.gz ) project
8
71
9
72
10
- Design goals:
73
+ ## License
74
+
75
+ The libre project is using the BSD license.
76
+
77
+
78
+ ## Contributing
79
+
80
+ Patches can sent via Github
81
+ [ Pull-Requests] ( https://github.com/creytiv/re/pulls ) or to the RE devel
82
+ [ mailing-list] ( http://lists.creytiv.com/mailman/listinfo/re-devel ) .
83
+ Currently we only accept small patches.
84
+ Please send private feedback to libre [ at] creytiv.com
85
+
86
+
87
+ ## Design goals
11
88
12
89
* Portable POSIX source code (ANSI C89 and ISO C99 standard)
13
90
* Robust, fast, low memory footprint
14
91
* RFC compliance
15
92
* IPv4 and IPv6 support
16
93
17
94
18
- Modules:
95
+ ## Modules
19
96
97
+ ```
20
98
name: status: description:
21
99
22
100
* aes unstable AES (Advanced Encryption Standard)
@@ -71,9 +149,10 @@ legend:
71
149
"testing" - Code complete, but API might change
72
150
"unstable" - Code complete but not completely tested
73
151
"development" - Code is under development
152
+ ```
74
153
75
154
76
- Features:
155
+ ## Features
77
156
78
157
* RFC 1321 - The MD5 Message-Digest Algorithm
79
158
* RFC 1886 - DNS Extensions to support IP version 6
@@ -124,7 +203,7 @@ Features:
124
203
* draft-ietf-bfcpbis-rfc4582bis-08
125
204
126
205
127
- Supported platforms:
206
+ ## Supported platforms
128
207
129
208
* Linux
130
209
* FreeBSD
@@ -135,21 +214,24 @@ Supported platforms:
135
214
* Apple Mac OS X and iOS
136
215
* Android
137
216
217
+ ### Supported versions of C Standard library
138
218
139
- Supported compilers:
219
+ * Android bionic
220
+ * BSD libc
221
+ * GNU C Library (glibc)
222
+ * Windows C Run-Time Libraries (CRT)
223
+ * uClibc
224
+
225
+
226
+ ## Supported compilers:
140
227
141
228
* gcc (v2.9x to v4.x)
142
229
* gcce
143
230
* ms vc2003 compiler
144
231
* clang
145
232
146
233
147
- Feedback:
148
-
149
- - Please send feedback to <libre [at] creytiv.com>
150
-
151
-
152
- Coding guidelines:
234
+ ## Coding guidelines
153
235
154
236
* Use enum for constants where appropriate
155
237
* Use const as much as possible (where appropriate)
@@ -165,9 +247,10 @@ Coding guidelines:
165
247
parse errors and EPROTO for protocol errors
166
248
167
249
168
- Transport protocols:
250
+ ## Transport protocols
169
251
170
252
253
+ ```
171
254
TCP UDP TLS DTLS
172
255
~~~ ~~~ ~~~ ~~~~
173
256
@@ -190,3 +273,23 @@ STUN yes yes yes yes
190
273
TURN yes yes yes yes
191
274
192
275
WEBSOCK yes n/a yes n/a
276
+ ```
277
+
278
+
279
+ ## Related projects
280
+
281
+ * [ librem] ( https://github.com/creytiv/rem )
282
+ * [ retest] ( https://github.com/creytiv/retest )
283
+ * [ baresip] ( https://github.com/alfredh/baresip )
284
+ * [ restund] ( http://creytiv.com/restund.html )
285
+
286
+
287
+
288
+ ## References
289
+
290
+ http://creytiv.com/re.html
291
+
292
+ https://github.com/creytiv/re
293
+
294
+ http://lists.creytiv.com/mailman/listinfo/re-devel
295
+
0 commit comments