oversip 1.4.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/oversip.rb CHANGED
@@ -1,29 +1,44 @@
1
1
  #
2
2
  # OverSIP
3
- # Copyright (c) 2012-2013 Iñaki Baz Castillo - Versatica <http://www.versatica.com>
3
+ # Copyright (c) 2012-2014 Iñaki Baz Castillo <ibc@aliax.net>
4
4
  # MIT License
5
5
  #
6
6
 
7
7
  # Ruby built-in libraries.
8
8
 
9
+ require "rbconfig"
9
10
  require "etc"
10
11
  require "fileutils"
11
12
  require "socket"
12
13
  require "timeout"
13
14
  require "yaml"
14
15
  require "tempfile"
16
+ require "base64"
17
+ require "digest/md5"
18
+ require "digest/sha1"
19
+ require "securerandom"
20
+ require "fiber"
21
+ require "openssl"
15
22
 
16
23
 
17
24
  # Ruby external gems.
18
25
 
19
26
  require "term/ansicolor"
20
- gem "posix_mq", ">= 2.0.0"
21
- require "posix_mq"
22
27
  require "syslog"
23
28
  # Load EventMachine-LE here to avoid som EM based gem in server.rb to be loaded first
24
29
  # (and load eventmachine instead of eventmachine-le).
25
30
  gem "eventmachine-le", ">= 1.1.4"
26
31
  require "eventmachine-le"
32
+ gem "iobuffer", ">= 1.1.2"
33
+ require "iobuffer"
34
+ gem "em-udns", ">= 0.3.6"
35
+ require "em-udns"
36
+ gem "escape_utils", ">= 0.2.4"
37
+ require "escape_utils"
38
+ gem "posix-spawn", ">= 0.3.6"
39
+ require "posix-spawn"
40
+ gem "em-synchrony", ">=1.0.2"
41
+ require "em-synchrony"
27
42
 
28
43
 
29
44
  # OverSIP files.
@@ -36,20 +51,58 @@ require "oversip/config_validators.rb"
36
51
  require "oversip/proxies_config.rb"
37
52
  require "oversip/errors.rb"
38
53
  require "oversip/launcher.rb"
39
- require "oversip/utils.so"
54
+ require "oversip/utils.#{RbConfig::CONFIG["DLEXT"]}"
40
55
  require "oversip/utils.rb"
41
- require "oversip/posix_mq.rb"
42
56
  require "oversip/default_server.rb"
43
57
  require "oversip/system_callbacks.rb"
44
- require "oversip/ruby_ext/process.rb" # Required here as the Posix message queue is created before loading master_process.rb.
45
58
 
59
+ require "oversip/sip/sip.rb"
60
+ require "oversip/sip/sip_parser.#{RbConfig::CONFIG["DLEXT"]}"
61
+ require "oversip/sip/constants.rb"
62
+ require "oversip/sip/core.rb"
63
+ require "oversip/sip/message.rb"
64
+ require "oversip/sip/request.rb"
65
+ require "oversip/sip/response.rb"
66
+ require "oversip/sip/uri.rb"
67
+ require "oversip/sip/name_addr.rb"
68
+ require "oversip/sip/message_processor.rb"
69
+ require "oversip/sip/listeners.rb"
70
+ require "oversip/sip/launcher.rb"
71
+ require "oversip/sip/server_transaction.rb"
72
+ require "oversip/sip/client_transaction.rb"
73
+ require "oversip/sip/transport_manager.rb"
74
+ require "oversip/sip/timers.rb"
75
+ require "oversip/sip/tags.rb"
76
+ require "oversip/sip/rfc3263.rb"
77
+ require "oversip/sip/client.rb"
78
+ require "oversip/sip/proxy.rb"
79
+ require "oversip/sip/uac.rb"
80
+ require "oversip/sip/uac_request.rb"
81
+
82
+ require "oversip/websocket/websocket.rb"
83
+ require "oversip/websocket/ws_http_parser.#{RbConfig::CONFIG["DLEXT"]}"
84
+ require "oversip/websocket/constants.rb"
85
+ require "oversip/websocket/http_request.rb"
86
+ require "oversip/websocket/listeners.rb"
87
+ require "oversip/websocket/launcher.rb"
88
+ require "oversip/websocket/ws_framing_utils.#{RbConfig::CONFIG["DLEXT"]}"
89
+ require "oversip/websocket/ws_framing.rb"
90
+ require "oversip/websocket/ws_sip_app.rb"
91
+
92
+ require "oversip/fiber_pool.rb"
93
+ require "oversip/tls.rb"
94
+ require "oversip/stun.#{RbConfig::CONFIG["DLEXT"]}"
95
+
96
+ require "oversip/modules/user_assertion.rb"
97
+ require "oversip/modules/outbound_mangling.rb"
98
+
99
+ require "oversip/ruby_ext/eventmachine.rb"
46
100
 
47
101
 
48
102
  module OverSIP
49
103
 
50
104
  class << self
51
- attr_accessor :pid_file, :master_name, :master_pid, :daemonized,
52
- :syslogger_pid, :syslogger_mq_name,
105
+ attr_accessor :pid_file, :master_name, :pid, :daemonized,
53
106
  :configuration,
54
107
  :proxies,
55
108
  :tls_public_cert, :tls_private_cert,
@@ -58,17 +111,10 @@ module OverSIP
58
111
  :status, # :loading, :running, :terminating
59
112
  :root_fiber
60
113
 
61
- def master?
62
- @master_pid == $$
63
- end
64
-
65
114
  def daemonized?
66
115
  @daemonized
67
116
  end
68
117
 
69
- def syslogger_ready?
70
- @syslogger_pid and true
71
- end
72
118
  end
73
119
 
74
120
  # Pre-declare internal modules.
@@ -1,6 +1,5 @@
1
1
  require "test/unit"
2
2
  require "oversip"
3
- require "oversip/master_process"
4
3
 
5
4
 
6
5
  class OverSIPTest < Test::Unit::TestCase
metadata CHANGED
@@ -1,198 +1,142 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oversip
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
5
- prerelease:
4
+ version: 2.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Inaki Baz Castillo
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-09-16 00:00:00.000000000 Z
11
+ date: 2014-09-22 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: eventmachine-le
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '='
20
18
  - !ruby/object:Gem::Version
21
- version: 1.1.4
19
+ version: 1.1.7
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '='
28
25
  - !ruby/object:Gem::Version
29
- version: 1.1.4
26
+ version: 1.1.7
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: iobuffer
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '='
36
32
  - !ruby/object:Gem::Version
37
33
  version: 1.1.2
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '='
44
39
  - !ruby/object:Gem::Version
45
40
  version: 1.1.2
46
- - !ruby/object:Gem::Dependency
47
- name: posix_mq
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: 2.0.0
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: 2.0.0
62
- - !ruby/object:Gem::Dependency
63
- name: em-posixmq
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: 0.2.3
70
- type: :runtime
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: 0.2.3
78
41
  - !ruby/object:Gem::Dependency
79
42
  name: em-udns
80
43
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
44
  requirements:
83
- - - ! '>='
45
+ - - '='
84
46
  - !ruby/object:Gem::Version
85
47
  version: 0.3.6
86
48
  type: :runtime
87
49
  prerelease: false
88
50
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
51
  requirements:
91
- - - ! '>='
52
+ - - '='
92
53
  - !ruby/object:Gem::Version
93
54
  version: 0.3.6
94
55
  - !ruby/object:Gem::Dependency
95
56
  name: escape_utils
96
57
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
58
  requirements:
99
- - - ! '>='
59
+ - - '='
100
60
  - !ruby/object:Gem::Version
101
- version: 0.2.4
61
+ version: 1.0.1
102
62
  type: :runtime
103
63
  prerelease: false
104
64
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
65
  requirements:
107
- - - ! '>='
66
+ - - '='
108
67
  - !ruby/object:Gem::Version
109
- version: 0.2.4
68
+ version: 1.0.1
110
69
  - !ruby/object:Gem::Dependency
111
70
  name: term-ansicolor
112
71
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
72
  requirements:
115
- - - ! '>='
73
+ - - '='
116
74
  - !ruby/object:Gem::Version
117
- version: '0'
75
+ version: 1.3.0
118
76
  type: :runtime
119
77
  prerelease: false
120
78
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
79
  requirements:
123
- - - ! '>='
80
+ - - '='
124
81
  - !ruby/object:Gem::Version
125
- version: '0'
82
+ version: 1.3.0
126
83
  - !ruby/object:Gem::Dependency
127
84
  name: posix-spawn
128
85
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
86
  requirements:
131
- - - ! '>='
87
+ - - '='
132
88
  - !ruby/object:Gem::Version
133
- version: 0.3.6
89
+ version: 0.3.9
134
90
  type: :runtime
135
91
  prerelease: false
136
92
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
93
  requirements:
139
- - - ! '>='
94
+ - - '='
140
95
  - !ruby/object:Gem::Version
141
- version: 0.3.6
96
+ version: 0.3.9
142
97
  - !ruby/object:Gem::Dependency
143
98
  name: em-synchrony
144
99
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
100
  requirements:
147
- - - ! '>='
101
+ - - '='
148
102
  - !ruby/object:Gem::Version
149
- version: 1.0.2
103
+ version: 1.0.3
150
104
  type: :runtime
151
105
  prerelease: false
152
106
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
107
  requirements:
155
- - - ! '>='
108
+ - - '='
156
109
  - !ruby/object:Gem::Version
157
- version: 1.0.2
110
+ version: 1.0.3
158
111
  - !ruby/object:Gem::Dependency
159
112
  name: rake
160
113
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
114
  requirements:
163
- - - ~>
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '10.3'
118
+ - - ">="
164
119
  - !ruby/object:Gem::Version
165
- version: 0.9.2
120
+ version: 10.3.2
166
121
  type: :development
167
122
  prerelease: false
168
123
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
124
  requirements:
171
- - - ~>
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '10.3'
128
+ - - ">="
172
129
  - !ruby/object:Gem::Version
173
- version: 0.9.2
174
- description: ! 'OverSIP is an async SIP proxy/server programmable in Ruby language.
175
- Some features of OverSIP are:
176
-
130
+ version: 10.3.2
131
+ description: |
132
+ OverSIP is an async SIP proxy/server programmable in Ruby language. Some features of OverSIP are:
177
133
  - SIP transports: UDP, TCP, TLS and WebSocket.
178
-
179
134
  - Full IPv4 and IPv6 support.
180
-
181
- - RFC 3263: SIP DNS mechanism (NAPTR, SRV, A, AAAA) for failover and load balancing
182
- based on DNS.
183
-
184
- - RFC 5626: OverSIP is a perfect Outbound Edge Proxy, including an integrated STUN
185
- server.
186
-
135
+ - RFC 3263: SIP DNS mechanism (NAPTR, SRV, A, AAAA) for failover and load balancing based on DNS.
136
+ - RFC 5626: OverSIP is a perfect Outbound Edge Proxy, including an integrated STUN server.
187
137
  - Fully programmable in Ruby language (make SIP easy).
188
-
189
138
  - Fast and efficient: OverSIP core is coded in C language.
190
-
191
- OverSIP is build on top of EventMachine-LE async library which follows the Reactor
192
- Design Pattern, allowing thousands of concurrent connections and requests in a never-blocking
193
- fashion.
194
-
195
- '
139
+ OverSIP is build on top of EventMachine-LE async library which follows the Reactor Design Pattern, allowing thousands of concurrent connections and requests in a never-blocking fashion.
196
140
  email:
197
141
  - ibc@aliax.net
198
142
  executables:
@@ -206,170 +150,165 @@ extensions:
206
150
  - ext/stud/extconf.rb
207
151
  extra_rdoc_files: []
208
152
  files:
153
+ - AUTHORS
154
+ - LICENSE
155
+ - README.md
156
+ - Rakefile
157
+ - bin/oversip
158
+ - etc/oversip.conf
159
+ - etc/proxies.conf
160
+ - etc/server.rb
161
+ - etc/tls/ca/cacert.pem
162
+ - etc/tls/demo-tls.oversip.net.crt
163
+ - etc/tls/demo-tls.oversip.net.key
164
+ - etc/tls/upgrade-cacert.sh
165
+ - etc/tls/utils/create-cert.rb
166
+ - etc/tls/utils/get-sip-identities.rb
167
+ - ext/common/c_util.h
168
+ - ext/common/ruby_c_util.h
169
+ - ext/sip_parser/common_headers.h
170
+ - ext/sip_parser/ext_help.h
171
+ - ext/sip_parser/extconf.rb
172
+ - ext/sip_parser/sip_message_parser.c
173
+ - ext/sip_parser/sip_parser.h
174
+ - ext/sip_parser/sip_parser_ruby.c
175
+ - ext/sip_parser/sip_uri_parser.c
176
+ - ext/stud/extconf.rb
177
+ - ext/stun/ext_help.h
178
+ - ext/stun/extconf.rb
179
+ - ext/stun/stun_ruby.c
180
+ - ext/utils/ext_help.h
181
+ - ext/utils/extconf.rb
182
+ - ext/utils/haproxy_protocol.c
183
+ - ext/utils/haproxy_protocol.h
184
+ - ext/utils/ip_utils.c
185
+ - ext/utils/ip_utils.h
186
+ - ext/utils/outbound_utils.c
187
+ - ext/utils/outbound_utils.h
188
+ - ext/utils/utils_ruby.c
189
+ - ext/utils/utils_ruby.h
190
+ - ext/websocket_framing_utils/ext_help.h
191
+ - ext/websocket_framing_utils/extconf.rb
192
+ - ext/websocket_framing_utils/ws_framing_utils.h
193
+ - ext/websocket_framing_utils/ws_framing_utils_ruby.c
194
+ - ext/websocket_http_parser/ext_help.h
195
+ - ext/websocket_http_parser/extconf.rb
196
+ - ext/websocket_http_parser/ws_http_parser.c
197
+ - ext/websocket_http_parser/ws_http_parser.h
198
+ - ext/websocket_http_parser/ws_http_parser_ruby.c
209
199
  - lib/oversip.rb
210
- - lib/oversip/posix_mq.rb
211
- - lib/oversip/proxies_config.rb
212
- - lib/oversip/utils.rb
213
- - lib/oversip/syslog.rb
214
- - lib/oversip/errors.rb
215
- - lib/oversip/master_process.rb
216
- - lib/oversip/default_server.rb
217
- - lib/oversip/tls.rb
200
+ - lib/oversip/config.rb
218
201
  - lib/oversip/config_validators.rb
219
- - lib/oversip/version.rb
220
- - lib/oversip/logger.rb
202
+ - lib/oversip/default_server.rb
203
+ - lib/oversip/errors.rb
221
204
  - lib/oversip/fiber_pool.rb
222
- - lib/oversip/syslogger_process.rb
223
- - lib/oversip/system_callbacks.rb
224
- - lib/oversip/config.rb
225
205
  - lib/oversip/launcher.rb
206
+ - lib/oversip/logger.rb
207
+ - lib/oversip/modules/outbound_mangling.rb
208
+ - lib/oversip/modules/user_assertion.rb
209
+ - lib/oversip/proxies_config.rb
226
210
  - lib/oversip/ruby_ext/eventmachine.rb
227
- - lib/oversip/ruby_ext/process.rb
228
- - lib/oversip/sip/rfc3263.rb
229
- - lib/oversip/sip/uac.rb
230
- - lib/oversip/sip/uri.rb
231
- - lib/oversip/sip/sip.rb
232
- - lib/oversip/sip/listeners.rb
233
- - lib/oversip/sip/proxy.rb
234
- - lib/oversip/sip/server_transaction.rb
235
- - lib/oversip/sip/tags.rb
236
- - lib/oversip/sip/request.rb
237
- - lib/oversip/sip/name_addr.rb
238
- - lib/oversip/sip/timers.rb
239
- - lib/oversip/sip/message_processor.rb
240
211
  - lib/oversip/sip/client.rb
241
- - lib/oversip/sip/response.rb
242
- - lib/oversip/sip/transport_manager.rb
243
- - lib/oversip/sip/core.rb
244
212
  - lib/oversip/sip/client_transaction.rb
245
- - lib/oversip/sip/message.rb
246
213
  - lib/oversip/sip/constants.rb
247
- - lib/oversip/sip/uac_request.rb
214
+ - lib/oversip/sip/core.rb
248
215
  - lib/oversip/sip/launcher.rb
249
- - lib/oversip/sip/listeners/tls_server.rb
250
- - lib/oversip/sip/listeners/udp_connection.rb
216
+ - lib/oversip/sip/listeners.rb
251
217
  - lib/oversip/sip/listeners/connection.rb
252
- - lib/oversip/sip/listeners/ipv4_tls_server.rb
253
- - lib/oversip/sip/listeners/ipv6_udp_server.rb
254
- - lib/oversip/sip/listeners/ipv6_tcp_server.rb
255
- - lib/oversip/sip/listeners/ipv4_udp_server.rb
256
- - lib/oversip/sip/listeners/tcp_server.rb
257
- - lib/oversip/sip/listeners/tcp_client.rb
258
- - lib/oversip/sip/listeners/tls_client.rb
259
218
  - lib/oversip/sip/listeners/ipv4_tcp_client.rb
260
- - lib/oversip/sip/listeners/ipv6_tcp_client.rb
261
219
  - lib/oversip/sip/listeners/ipv4_tcp_server.rb
262
- - lib/oversip/sip/listeners/tls_tunnel_server.rb
263
220
  - lib/oversip/sip/listeners/ipv4_tls_client.rb
221
+ - lib/oversip/sip/listeners/ipv4_tls_server.rb
222
+ - lib/oversip/sip/listeners/ipv4_tls_tunnel_server.rb
223
+ - lib/oversip/sip/listeners/ipv4_udp_server.rb
224
+ - lib/oversip/sip/listeners/ipv6_tcp_client.rb
225
+ - lib/oversip/sip/listeners/ipv6_tcp_server.rb
226
+ - lib/oversip/sip/listeners/ipv6_tls_client.rb
264
227
  - lib/oversip/sip/listeners/ipv6_tls_server.rb
265
228
  - lib/oversip/sip/listeners/ipv6_tls_tunnel_server.rb
229
+ - lib/oversip/sip/listeners/ipv6_udp_server.rb
230
+ - lib/oversip/sip/listeners/tcp_client.rb
266
231
  - lib/oversip/sip/listeners/tcp_connection.rb
267
- - lib/oversip/sip/listeners/ipv6_tls_client.rb
268
- - lib/oversip/sip/listeners/ipv4_tls_tunnel_server.rb
232
+ - lib/oversip/sip/listeners/tcp_server.rb
233
+ - lib/oversip/sip/listeners/tls_client.rb
234
+ - lib/oversip/sip/listeners/tls_server.rb
269
235
  - lib/oversip/sip/listeners/tls_tunnel_connection.rb
270
- - lib/oversip/websocket/listeners.rb
271
- - lib/oversip/websocket/http_request.rb
272
- - lib/oversip/websocket/ws_framing.rb
273
- - lib/oversip/websocket/websocket.rb
236
+ - lib/oversip/sip/listeners/tls_tunnel_server.rb
237
+ - lib/oversip/sip/listeners/udp_connection.rb
238
+ - lib/oversip/sip/message.rb
239
+ - lib/oversip/sip/message_processor.rb
240
+ - lib/oversip/sip/name_addr.rb
241
+ - lib/oversip/sip/proxy.rb
242
+ - lib/oversip/sip/request.rb
243
+ - lib/oversip/sip/response.rb
244
+ - lib/oversip/sip/rfc3263.rb
245
+ - lib/oversip/sip/server_transaction.rb
246
+ - lib/oversip/sip/sip.rb
247
+ - lib/oversip/sip/tags.rb
248
+ - lib/oversip/sip/timers.rb
249
+ - lib/oversip/sip/transport_manager.rb
250
+ - lib/oversip/sip/uac.rb
251
+ - lib/oversip/sip/uac_request.rb
252
+ - lib/oversip/sip/uri.rb
253
+ - lib/oversip/syslog.rb
254
+ - lib/oversip/system_callbacks.rb
255
+ - lib/oversip/tls.rb
256
+ - lib/oversip/utils.rb
257
+ - lib/oversip/version.rb
274
258
  - lib/oversip/websocket/constants.rb
259
+ - lib/oversip/websocket/http_request.rb
275
260
  - lib/oversip/websocket/launcher.rb
276
- - lib/oversip/websocket/ws_sip_app.rb
277
- - lib/oversip/websocket/listeners/ws_server.rb
278
- - lib/oversip/websocket/listeners/ipv4_wss_server.rb
261
+ - lib/oversip/websocket/listeners.rb
279
262
  - lib/oversip/websocket/listeners/connection.rb
280
- - lib/oversip/websocket/listeners/ipv6_ws_server.rb
263
+ - lib/oversip/websocket/listeners/ipv4_ws_server.rb
264
+ - lib/oversip/websocket/listeners/ipv4_wss_server.rb
281
265
  - lib/oversip/websocket/listeners/ipv4_wss_tunnel_server.rb
266
+ - lib/oversip/websocket/listeners/ipv6_ws_server.rb
267
+ - lib/oversip/websocket/listeners/ipv6_wss_server.rb
282
268
  - lib/oversip/websocket/listeners/ipv6_wss_tunnel_server.rb
269
+ - lib/oversip/websocket/listeners/ws_server.rb
283
270
  - lib/oversip/websocket/listeners/wss_server.rb
284
- - lib/oversip/websocket/listeners/ipv4_ws_server.rb
285
- - lib/oversip/websocket/listeners/ipv6_wss_server.rb
286
271
  - lib/oversip/websocket/listeners/wss_tunnel_server.rb
287
- - lib/oversip/modules/outbound_mangling.rb
288
- - lib/oversip/modules/user_assertion.rb
289
- - ext/common/ruby_c_util.h
290
- - ext/common/c_util.h
291
- - ext/sip_parser/extconf.rb
292
- - ext/sip_parser/sip_parser.h
293
- - ext/sip_parser/ext_help.h
294
- - ext/sip_parser/common_headers.h
295
- - ext/sip_parser/sip_uri_parser.c
296
- - ext/sip_parser/sip_parser_ruby.c
297
- - ext/sip_parser/sip_message_parser.c
298
- - ext/stun/extconf.rb
299
- - ext/stun/ext_help.h
300
- - ext/stun/stun_ruby.c
301
- - ext/utils/extconf.rb
302
- - ext/utils/haproxy_protocol.h
303
- - ext/utils/ip_utils.h
304
- - ext/utils/ext_help.h
305
- - ext/utils/utils_ruby.h
306
- - ext/utils/outbound_utils.h
307
- - ext/utils/haproxy_protocol.c
308
- - ext/utils/utils_ruby.c
309
- - ext/utils/outbound_utils.c
310
- - ext/utils/ip_utils.c
311
- - ext/websocket_http_parser/extconf.rb
312
- - ext/websocket_http_parser/ext_help.h
313
- - ext/websocket_http_parser/ws_http_parser.h
314
- - ext/websocket_http_parser/ws_http_parser.c
315
- - ext/websocket_http_parser/ws_http_parser_ruby.c
316
- - ext/websocket_framing_utils/extconf.rb
317
- - ext/websocket_framing_utils/ext_help.h
318
- - ext/websocket_framing_utils/ws_framing_utils.h
319
- - ext/websocket_framing_utils/ws_framing_utils_ruby.c
320
- - ext/stud/extconf.rb
321
- - thirdparty/stud/stud.tar.gz
322
- - etc/oversip.conf
323
- - etc/proxies.conf
324
- - etc/server.rb
325
- - etc/tls/demo-tls.oversip.net.crt
326
- - etc/tls/demo-tls.oversip.net.key
327
- - etc/tls/upgrade-cacert.sh
328
- - etc/tls/ca/cacert.pem
329
- - etc/tls/utils/get-sip-identities.rb
330
- - etc/tls/utils/create-cert.rb
331
- - Rakefile
332
- - README.md
333
- - AUTHORS
334
- - LICENSE
272
+ - lib/oversip/websocket/websocket.rb
273
+ - lib/oversip/websocket/ws_framing.rb
274
+ - lib/oversip/websocket/ws_sip_app.rb
335
275
  - test/oversip_test_helper.rb
336
- - test/test_name_addr_parser.rb
337
- - test/test_sip_uri_parser.rb
338
276
  - test/test_http_parser.rb
339
277
  - test/test_name_addr.rb
340
- - test/test_uri.rb
278
+ - test/test_name_addr_parser.rb
341
279
  - test/test_sip_message_parser.rb
342
- - bin/oversip
280
+ - test/test_sip_uri_parser.rb
281
+ - test/test_uri.rb
282
+ - thirdparty/stud/stud.tar.gz
343
283
  homepage: http://www.oversip.net
344
- licenses: []
284
+ licenses:
285
+ - MIT
286
+ metadata: {}
345
287
  post_install_message:
346
288
  rdoc_options: []
347
289
  require_paths:
348
290
  - lib
349
291
  required_ruby_version: !ruby/object:Gem::Requirement
350
- none: false
351
292
  requirements:
352
- - - ! '>='
293
+ - - ">="
353
294
  - !ruby/object:Gem::Version
354
- version: 1.9.2
295
+ version: 1.9.3
355
296
  required_rubygems_version: !ruby/object:Gem::Requirement
356
- none: false
357
297
  requirements:
358
- - - ! '>='
298
+ - - ">="
359
299
  - !ruby/object:Gem::Version
360
300
  version: '0'
361
301
  requirements: []
362
302
  rubyforge_project:
363
- rubygems_version: 1.8.23
303
+ rubygems_version: 2.2.2
364
304
  signing_key:
365
- specification_version: 3
305
+ specification_version: 4
366
306
  summary: OverSIP (the SIP framework you dreamed about)
367
307
  test_files:
368
308
  - test/oversip_test_helper.rb
369
- - test/test_name_addr_parser.rb
370
- - test/test_sip_uri_parser.rb
371
309
  - test/test_http_parser.rb
372
310
  - test/test_name_addr.rb
373
- - test/test_uri.rb
311
+ - test/test_name_addr_parser.rb
374
312
  - test/test_sip_message_parser.rb
375
- has_rdoc: false
313
+ - test/test_sip_uri_parser.rb
314
+ - test/test_uri.rb