oversip 1.2.1 → 1.3.0.dev1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. data/README.md +28 -4
  2. data/bin/oversip +1 -1
  3. data/etc/proxies.conf +10 -0
  4. data/etc/server.rb +13 -9
  5. data/ext/utils/haproxy_protocol.c +0 -3
  6. data/ext/utils/outbound_utils.c +1 -1
  7. data/ext/utils/utils_ruby.c +0 -1
  8. data/ext/websocket_http_parser/ws_http_parser.c +940 -1903
  9. data/ext/websocket_http_parser/ws_http_parser.h +1 -0
  10. data/lib/oversip/config_validators.rb +2 -2
  11. data/lib/oversip/launcher.rb +275 -240
  12. data/lib/oversip/master_process.rb +7 -2
  13. data/lib/oversip/proxies_config.rb +8 -1
  14. data/lib/oversip/sip/client.rb +304 -0
  15. data/lib/oversip/sip/client_transaction.rb +31 -36
  16. data/lib/oversip/sip/core.rb +7 -4
  17. data/lib/oversip/sip/launcher.rb +30 -30
  18. data/lib/oversip/sip/listeners/connection.rb +4 -0
  19. data/lib/oversip/sip/listeners/ipv4_tcp_server.rb +1 -0
  20. data/lib/oversip/sip/listeners/ipv4_tls_server.rb +1 -0
  21. data/lib/oversip/sip/listeners/ipv4_tls_tunnel_server.rb +1 -0
  22. data/lib/oversip/sip/listeners/ipv4_udp_server.rb +1 -0
  23. data/lib/oversip/sip/listeners/ipv6_tcp_server.rb +1 -0
  24. data/lib/oversip/sip/listeners/ipv6_tls_server.rb +1 -0
  25. data/lib/oversip/sip/listeners/ipv6_tls_tunnel_server.rb +1 -0
  26. data/lib/oversip/sip/listeners/ipv6_udp_server.rb +1 -0
  27. data/lib/oversip/sip/listeners/tcp_client.rb +26 -0
  28. data/lib/oversip/sip/listeners/tcp_connection.rb +7 -1
  29. data/lib/oversip/sip/listeners/tcp_server.rb +1 -1
  30. data/lib/oversip/sip/listeners/tls_client.rb +28 -24
  31. data/lib/oversip/sip/listeners/tls_server.rb +25 -8
  32. data/lib/oversip/sip/listeners/tls_tunnel_connection.rb +1 -24
  33. data/lib/oversip/sip/message.rb +2 -2
  34. data/lib/oversip/sip/message_processor.rb +23 -13
  35. data/lib/oversip/sip/{grammar/name_addr.rb → name_addr.rb} +11 -0
  36. data/lib/oversip/sip/proxy.rb +53 -227
  37. data/lib/oversip/sip/request.rb +15 -11
  38. data/lib/oversip/sip/response.rb +3 -3
  39. data/lib/oversip/sip/rfc3263.rb +2 -3
  40. data/lib/oversip/sip/tags.rb +1 -1
  41. data/lib/oversip/sip/transport_manager.rb +6 -5
  42. data/lib/oversip/sip/uac.rb +93 -0
  43. data/lib/oversip/sip/uac_request.rb +82 -0
  44. data/lib/oversip/sip/{grammar/uri.rb → uri.rb} +22 -0
  45. data/lib/oversip/version.rb +3 -3
  46. data/lib/oversip/websocket/launcher.rb +25 -25
  47. data/lib/oversip/websocket/listeners/connection.rb +4 -0
  48. data/lib/oversip/websocket/listeners/ipv4_ws_server.rb +1 -0
  49. data/lib/oversip/websocket/listeners/ipv4_wss_server.rb +1 -0
  50. data/lib/oversip/websocket/listeners/ipv4_wss_tunnel_server.rb +1 -0
  51. data/lib/oversip/websocket/listeners/ipv6_ws_server.rb +1 -0
  52. data/lib/oversip/websocket/listeners/ipv6_wss_server.rb +1 -0
  53. data/lib/oversip/websocket/listeners/ipv6_wss_tunnel_server.rb +1 -0
  54. data/lib/oversip/websocket/listeners/ws_server.rb +55 -26
  55. data/lib/oversip/websocket/listeners/wss_server.rb +26 -9
  56. data/lib/oversip/websocket/listeners/wss_tunnel_server.rb +14 -11
  57. data/lib/oversip/websocket/ws_framing.rb +6 -2
  58. data/lib/oversip.rb +3 -1
  59. data/test/test_http_parser.rb +3 -3
  60. data/test/test_uri.rb +18 -12
  61. metadata +91 -77
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oversip
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
5
- prerelease:
4
+ version: 1.3.0.dev1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Inaki Baz Castillo
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-06 00:00:00.000000000 Z
12
+ date: 2012-10-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: eventmachine-le
16
- requirement: &19116520 !ruby/object:Gem::Requirement
16
+ requirement: &11445700 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.1.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *19116520
24
+ version_requirements: *11445700
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: iobuffer
27
- requirement: &19116060 !ruby/object:Gem::Requirement
27
+ requirement: &11444460 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.1.2
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *19116060
35
+ version_requirements: *11444460
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: em-posixmq
38
- requirement: &19115600 !ruby/object:Gem::Requirement
38
+ requirement: &11443780 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.2.3
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *19115600
46
+ version_requirements: *11443780
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: em-udns
49
- requirement: &19115140 !ruby/object:Gem::Requirement
49
+ requirement: &11443160 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.3.6
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *19115140
57
+ version_requirements: *11443160
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: escape_utils
60
- requirement: &19114680 !ruby/object:Gem::Requirement
60
+ requirement: &11442360 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.2.4
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *19114680
68
+ version_requirements: *11442360
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: term-ansicolor
71
- requirement: &19114300 !ruby/object:Gem::Requirement
71
+ requirement: &11441980 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *19114300
79
+ version_requirements: *11441980
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: posix-spawn
82
- requirement: &19113760 !ruby/object:Gem::Requirement
82
+ requirement: &11441400 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,21 @@ dependencies:
87
87
  version: 0.3.6
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *19113760
90
+ version_requirements: *11441400
91
+ - !ruby/object:Gem::Dependency
92
+ name: em-synchrony
93
+ requirement: &11440860 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: 1.0.2
99
+ type: :runtime
100
+ prerelease: false
101
+ version_requirements: *11440860
91
102
  - !ruby/object:Gem::Dependency
92
103
  name: rake
93
- requirement: &19113260 !ruby/object:Gem::Requirement
104
+ requirement: &11440380 !ruby/object:Gem::Requirement
94
105
  none: false
95
106
  requirements:
96
107
  - - ~>
@@ -98,7 +109,7 @@ dependencies:
98
109
  version: 0.9.2
99
110
  type: :development
100
111
  prerelease: false
101
- version_requirements: *19113260
112
+ version_requirements: *11440380
102
113
  description: ! 'OverSIP is an async SIP proxy/server programmable in Ruby language.
103
114
  Some features of OverSIP are:
104
115
 
@@ -135,86 +146,89 @@ extensions:
135
146
  extra_rdoc_files: []
136
147
  files:
137
148
  - lib/oversip.rb
138
- - lib/oversip/fiber_pool.rb
139
- - lib/oversip/master_process.rb
140
- - lib/oversip/logger.rb
141
- - lib/oversip/config.rb
142
- - lib/oversip/launcher.rb
143
- - lib/oversip/default_server.rb
144
- - lib/oversip/config_validators.rb
145
- - lib/oversip/errors.rb
146
- - lib/oversip/system_callbacks.rb
147
149
  - lib/oversip/posix_mq.rb
148
- - lib/oversip/syslogger_process.rb
149
- - lib/oversip/version.rb
150
150
  - lib/oversip/proxies_config.rb
151
+ - lib/oversip/utils.rb
151
152
  - lib/oversip/syslog.rb
153
+ - lib/oversip/errors.rb
154
+ - lib/oversip/master_process.rb
155
+ - lib/oversip/default_server.rb
152
156
  - lib/oversip/tls.rb
153
- - lib/oversip/utils.rb
157
+ - lib/oversip/config_validators.rb
158
+ - lib/oversip/version.rb
159
+ - lib/oversip/logger.rb
160
+ - lib/oversip/fiber_pool.rb
161
+ - lib/oversip/syslogger_process.rb
162
+ - lib/oversip/system_callbacks.rb
163
+ - lib/oversip/config.rb
164
+ - lib/oversip/launcher.rb
154
165
  - lib/oversip/ruby_ext/eventmachine.rb
155
- - lib/oversip/sip/core.rb
166
+ - lib/oversip/sip/rfc3263.rb
167
+ - lib/oversip/sip/uac.rb
168
+ - lib/oversip/sip/uri.rb
156
169
  - lib/oversip/sip/sip.rb
170
+ - lib/oversip/sip/listeners.rb
171
+ - lib/oversip/sip/proxy.rb
172
+ - lib/oversip/sip/server_transaction.rb
173
+ - lib/oversip/sip/tags.rb
157
174
  - lib/oversip/sip/request.rb
175
+ - lib/oversip/sip/name_addr.rb
176
+ - lib/oversip/sip/timers.rb
158
177
  - lib/oversip/sip/message_processor.rb
178
+ - lib/oversip/sip/client.rb
179
+ - lib/oversip/sip/response.rb
159
180
  - lib/oversip/sip/transport_manager.rb
160
- - lib/oversip/sip/constants.rb
161
- - lib/oversip/sip/timers.rb
162
- - lib/oversip/sip/listeners.rb
181
+ - lib/oversip/sip/core.rb
182
+ - lib/oversip/sip/client_transaction.rb
163
183
  - lib/oversip/sip/message.rb
184
+ - lib/oversip/sip/constants.rb
185
+ - lib/oversip/sip/uac_request.rb
164
186
  - lib/oversip/sip/launcher.rb
165
- - lib/oversip/sip/response.rb
166
- - lib/oversip/sip/server_transaction.rb
167
- - lib/oversip/sip/proxy.rb
168
- - lib/oversip/sip/tags.rb
169
- - lib/oversip/sip/rfc3263.rb
170
- - lib/oversip/sip/client_transaction.rb
171
- - lib/oversip/sip/listeners/ipv4_tcp_client.rb
172
- - lib/oversip/sip/listeners/udp_connection.rb
173
- - lib/oversip/sip/listeners/tls_tunnel_connection.rb
174
- - lib/oversip/sip/listeners/tcp_server.rb
175
187
  - lib/oversip/sip/listeners/tls_server.rb
188
+ - lib/oversip/sip/listeners/udp_connection.rb
189
+ - lib/oversip/sip/listeners/connection.rb
190
+ - lib/oversip/sip/listeners/ipv4_tls_server.rb
176
191
  - lib/oversip/sip/listeners/ipv6_udp_server.rb
177
- - lib/oversip/sip/listeners/ipv6_tls_server.rb
178
- - lib/oversip/sip/listeners/ipv4_tcp_server.rb
179
192
  - lib/oversip/sip/listeners/ipv6_tcp_server.rb
180
193
  - lib/oversip/sip/listeners/ipv4_udp_server.rb
181
- - lib/oversip/sip/listeners/tls_tunnel_server.rb
182
- - lib/oversip/sip/listeners/ipv6_tls_client.rb
183
- - lib/oversip/sip/listeners/ipv4_tls_tunnel_server.rb
184
- - lib/oversip/sip/listeners/tcp_connection.rb
194
+ - lib/oversip/sip/listeners/tcp_server.rb
195
+ - lib/oversip/sip/listeners/tcp_client.rb
196
+ - lib/oversip/sip/listeners/tls_client.rb
197
+ - lib/oversip/sip/listeners/ipv4_tcp_client.rb
185
198
  - lib/oversip/sip/listeners/ipv6_tcp_client.rb
186
- - lib/oversip/sip/listeners/connection.rb
199
+ - lib/oversip/sip/listeners/ipv4_tcp_server.rb
200
+ - lib/oversip/sip/listeners/tls_tunnel_server.rb
187
201
  - lib/oversip/sip/listeners/ipv4_tls_client.rb
188
- - lib/oversip/sip/listeners/tls_client.rb
189
- - lib/oversip/sip/listeners/ipv4_tls_server.rb
190
- - lib/oversip/sip/listeners/tcp_client.rb
202
+ - lib/oversip/sip/listeners/ipv6_tls_server.rb
191
203
  - lib/oversip/sip/listeners/ipv6_tls_tunnel_server.rb
192
- - lib/oversip/sip/grammar/uri.rb
193
- - lib/oversip/sip/grammar/name_addr.rb
194
- - lib/oversip/websocket/ws_framing.rb
204
+ - lib/oversip/sip/listeners/tcp_connection.rb
205
+ - lib/oversip/sip/listeners/ipv6_tls_client.rb
206
+ - lib/oversip/sip/listeners/ipv4_tls_tunnel_server.rb
207
+ - lib/oversip/sip/listeners/tls_tunnel_connection.rb
208
+ - lib/oversip/websocket/listeners.rb
195
209
  - lib/oversip/websocket/http_request.rb
210
+ - lib/oversip/websocket/ws_framing.rb
211
+ - lib/oversip/websocket/websocket.rb
196
212
  - lib/oversip/websocket/constants.rb
197
- - lib/oversip/websocket/listeners.rb
198
213
  - lib/oversip/websocket/launcher.rb
199
214
  - lib/oversip/websocket/ws_sip_app.rb
200
- - lib/oversip/websocket/websocket.rb
215
+ - lib/oversip/websocket/listeners/ws_server.rb
216
+ - lib/oversip/websocket/listeners/ipv4_wss_server.rb
217
+ - lib/oversip/websocket/listeners/connection.rb
218
+ - lib/oversip/websocket/listeners/ipv6_ws_server.rb
201
219
  - lib/oversip/websocket/listeners/ipv4_wss_tunnel_server.rb
202
220
  - lib/oversip/websocket/listeners/ipv6_wss_tunnel_server.rb
203
- - lib/oversip/websocket/listeners/ipv6_wss_server.rb
221
+ - lib/oversip/websocket/listeners/wss_server.rb
204
222
  - lib/oversip/websocket/listeners/ipv4_ws_server.rb
205
- - lib/oversip/websocket/listeners/ipv6_ws_server.rb
206
- - lib/oversip/websocket/listeners/connection.rb
207
- - lib/oversip/websocket/listeners/ipv4_wss_server.rb
208
- - lib/oversip/websocket/listeners/ws_server.rb
223
+ - lib/oversip/websocket/listeners/ipv6_wss_server.rb
209
224
  - lib/oversip/websocket/listeners/wss_tunnel_server.rb
210
- - lib/oversip/websocket/listeners/wss_server.rb
211
225
  - lib/oversip/modules/outbound_mangling.rb
212
226
  - lib/oversip/modules/user_assertion.rb
213
227
  - ext/common/ruby_c_util.h
214
228
  - ext/common/c_util.h
215
229
  - ext/sip_parser/extconf.rb
216
- - ext/sip_parser/ext_help.h
217
230
  - ext/sip_parser/sip_parser.h
231
+ - ext/sip_parser/ext_help.h
218
232
  - ext/sip_parser/common_headers.h
219
233
  - ext/sip_parser/sip_parser.c
220
234
  - ext/sip_parser/sip_parser_ruby.c
@@ -222,15 +236,15 @@ files:
222
236
  - ext/stun/ext_help.h
223
237
  - ext/stun/stun_ruby.c
224
238
  - ext/utils/extconf.rb
239
+ - ext/utils/haproxy_protocol.h
225
240
  - ext/utils/ip_utils.h
226
241
  - ext/utils/ext_help.h
227
- - ext/utils/outbound_utils.h
228
- - ext/utils/haproxy_protocol.h
229
242
  - ext/utils/utils_ruby.h
230
- - ext/utils/ip_utils.c
243
+ - ext/utils/outbound_utils.h
231
244
  - ext/utils/haproxy_protocol.c
232
245
  - ext/utils/utils_ruby.c
233
246
  - ext/utils/outbound_utils.c
247
+ - ext/utils/ip_utils.c
234
248
  - ext/websocket_http_parser/extconf.rb
235
249
  - ext/websocket_http_parser/ext_help.h
236
250
  - ext/websocket_http_parser/ws_http_parser.h
@@ -242,23 +256,23 @@ files:
242
256
  - ext/websocket_framing_utils/ws_framing_utils_ruby.c
243
257
  - ext/stud/extconf.rb
244
258
  - thirdparty/stud/stud.tar.gz
245
- - etc/proxies.conf
246
259
  - etc/oversip.conf
260
+ - etc/proxies.conf
247
261
  - etc/server.rb
248
- - etc/tls/upgrade-cacert.sh
249
262
  - etc/tls/demo-tls.oversip.net.crt
250
263
  - etc/tls/demo-tls.oversip.net.key
264
+ - etc/tls/upgrade-cacert.sh
251
265
  - etc/tls/ca/cacert.pem
252
- - etc/tls/utils/create-cert.rb
253
266
  - etc/tls/utils/get-sip-identities.rb
267
+ - etc/tls/utils/create-cert.rb
254
268
  - Rakefile
255
269
  - README.md
256
270
  - AUTHORS
257
271
  - LICENSE
258
272
  - test/oversip_test_helper.rb
259
- - test/test_uri.rb
260
273
  - test/test_sip_parser.rb
261
274
  - test/test_http_parser.rb
275
+ - test/test_uri.rb
262
276
  - bin/oversip
263
277
  homepage: http://www.oversip.net
264
278
  licenses: []
@@ -275,9 +289,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
275
289
  required_rubygems_version: !ruby/object:Gem::Requirement
276
290
  none: false
277
291
  requirements:
278
- - - ! '>='
292
+ - - ! '>'
279
293
  - !ruby/object:Gem::Version
280
- version: '0'
294
+ version: 1.3.1
281
295
  requirements: []
282
296
  rubyforge_project:
283
297
  rubygems_version: 1.8.11
@@ -286,7 +300,7 @@ specification_version: 3
286
300
  summary: OverSIP (the SIP framework you dreamed about)
287
301
  test_files:
288
302
  - test/oversip_test_helper.rb
289
- - test/test_uri.rb
290
303
  - test/test_sip_parser.rb
291
304
  - test/test_http_parser.rb
305
+ - test/test_uri.rb
292
306
  has_rdoc: false