sipfsm 0.1.2 → 0.1.4
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.
- data/lib/sipfsm.rb +30 -0
- metadata +13 -7
- checksums.yaml +0 -15
data/lib/sipfsm.rb
CHANGED
@@ -146,9 +146,15 @@ module SipFSM
|
|
146
146
|
args[0].create_response($1.to_i).send
|
147
147
|
elsif name.to_s =~ /is_(.*)_request?/
|
148
148
|
args[0].get_method == $1
|
149
|
+
else
|
150
|
+
super
|
149
151
|
end
|
150
152
|
end
|
151
153
|
|
154
|
+
def sip_factory
|
155
|
+
$servlet_context.get_attribute('javax.servlet.sip.SipFactory')
|
156
|
+
end
|
157
|
+
|
152
158
|
# proxy request to given URI
|
153
159
|
def proxy_to_helper(request, touri, recroute=false)
|
154
160
|
l_proxy = request.get_proxy
|
@@ -169,6 +175,16 @@ module SipFSM
|
|
169
175
|
end
|
170
176
|
end
|
171
177
|
|
178
|
+
def get_from_user_address_port(msg)
|
179
|
+
[ msg.from.uri.user,
|
180
|
+
msg.remote_addr,
|
181
|
+
msg.remote_port ]
|
182
|
+
end
|
183
|
+
|
184
|
+
def get_from_uri(msg)
|
185
|
+
u, a, p = get_from_user_address_port(msg)
|
186
|
+
"sip:#{u}@#{a}:#{p}"
|
187
|
+
end
|
172
188
|
|
173
189
|
# copies content (SDP) from message m1 to message m2
|
174
190
|
def copy_msg_content(m1, m2)
|
@@ -203,6 +219,20 @@ module SipFSM
|
|
203
219
|
# meaning the first in the argument array is request and
|
204
220
|
# the second is response.
|
205
221
|
|
222
|
+
def is_UNREGISTER?(args)
|
223
|
+
request = args[0]
|
224
|
+
return false unless is_REGISTER_request?(args)
|
225
|
+
|
226
|
+
exp = request.get_header('Expires')
|
227
|
+
if !exp
|
228
|
+
c = request.get_header('Contact')
|
229
|
+
c.grep(/expires=(\d+)/)
|
230
|
+
exp = $1
|
231
|
+
end
|
232
|
+
|
233
|
+
0 == exp.to_i
|
234
|
+
end
|
235
|
+
|
206
236
|
def invalidate_session msgs
|
207
237
|
msg = msgs[0] || msgs[1]
|
208
238
|
msg.get_session.invalidate
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sipfsm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Edin Pjanic
|
@@ -9,7 +10,7 @@ authors:
|
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2013-
|
13
|
+
date: 2013-03-25 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: simplefsm
|
@@ -18,11 +19,13 @@ dependencies:
|
|
18
19
|
- - "~>"
|
19
20
|
- !ruby/object:Gem::Version
|
20
21
|
version: '0.1'
|
22
|
+
none: false
|
21
23
|
requirement: !ruby/object:Gem::Requirement
|
22
24
|
requirements:
|
23
25
|
- - "~>"
|
24
26
|
- !ruby/object:Gem::Version
|
25
27
|
version: '0.1'
|
28
|
+
none: false
|
26
29
|
prerelease: false
|
27
30
|
type: :runtime
|
28
31
|
description: SIP application development in Ruby using SimpleFSM, a simple and lightweight domain specific language (DSL).
|
@@ -36,7 +39,6 @@ files:
|
|
36
39
|
- lib/sipfsm.rb
|
37
40
|
homepage: http://github.com/edictlab/SipFSM
|
38
41
|
licenses: []
|
39
|
-
metadata: {}
|
40
42
|
post_install_message:
|
41
43
|
rdoc_options: []
|
42
44
|
require_paths:
|
@@ -45,16 +47,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
45
47
|
requirements:
|
46
48
|
- - ">="
|
47
49
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
50
|
+
version: !binary |-
|
51
|
+
MA==
|
52
|
+
none: false
|
49
53
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
50
54
|
requirements:
|
51
55
|
- - ">="
|
52
56
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
57
|
+
version: !binary |-
|
58
|
+
MA==
|
59
|
+
none: false
|
54
60
|
requirements: []
|
55
61
|
rubyforge_project:
|
56
|
-
rubygems_version:
|
62
|
+
rubygems_version: 1.8.24
|
57
63
|
signing_key:
|
58
|
-
specification_version:
|
64
|
+
specification_version: 3
|
59
65
|
summary: SipFSM - SIP application development in Ruby
|
60
66
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
ZmNhMzE5N2M0NTc1YWE1NzMwY2YzYTcwOGIyMTU4YjViOTg2ZWQ1ZA==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ZTkxYzE1NmJkN2JjNTJlZTNiMjRkZmMxZTk3NGQ2MWJiNDhjZmJiMQ==
|
7
|
-
SHA512:
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
MWZjNmQ3MzA3ZDVmNjE5MjM1ODU2MjU3OTM0M2UxMmM4NmMxYmNmMjJlNzZh
|
10
|
-
NGExYjQ3YzlhNTg3MDFiNWQ4MmVkNzE5ZWY4MTZjMzcxYWM5ZGMzYTBhNjNh
|
11
|
-
MzU5MDljYWQ2NGViMzg4ZGExYTBmNTBkYzliNmVjZTMxOTQ1NjU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YjNiMDhkMTU0NTVhZTRjZjdiZDAxZjdmODgxOGM0ZTg0ZTcyMDI0Yjk2NDE3
|
14
|
-
Y2YzMDgwNTliMzk1NmVhOWZlZDA1NDU4YmM3ZjI2ZDY5Y2IzZjRkOTgzOGM4
|
15
|
-
ZGE2NTQzMGQyZTdiZGU3MWJhMGRhYTk3NTg5MDYzMTc1ZDUzZGI=
|