quaff 0.8.0pre2 → 0.8.0pre3
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.
- checksums.yaml +4 -4
- data/lib/quaff/call.rb +18 -6
- data/lib/quaff/endpoint.rb +1 -1
- data/lib/quaff/message.rb +13 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0505dc9bc1965dfc470e373754f8509ee65094d
|
4
|
+
data.tar.gz: a4c6ba63ae5bf0f1429160d61143314e132b99b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dce2ab83565cbc8c9e972da8826849ece5676a8acff9eff7759dea95df7fd060ee060a9889a568b801540880dc2bb437f46d1d6852d2a5f646c688f184fd018e
|
7
|
+
data.tar.gz: fbaec7c7469823851642cb47c97e0ff9975ffd9fb7c678c89df397aa2ed4ee627af8be8e61f832fad3b3616f9974fbe13101d76b765dfdce612896042227a5f5
|
data/lib/quaff/call.rb
CHANGED
@@ -116,7 +116,6 @@ class Call
|
|
116
116
|
end
|
117
117
|
|
118
118
|
found_match = false
|
119
|
-
dialog_creating = nil
|
120
119
|
|
121
120
|
possible_messages.each do
|
122
121
|
| what, this_dialog_creating |
|
@@ -133,7 +132,12 @@ class Call
|
|
133
132
|
end
|
134
133
|
|
135
134
|
if found_match
|
136
|
-
|
135
|
+
if this_dialog_creating && (type == :request)
|
136
|
+
create_dialog_from_request msg
|
137
|
+
end
|
138
|
+
if this_dialog_creating && (type == :response)
|
139
|
+
create_dialog_from_response msg
|
140
|
+
end
|
137
141
|
break
|
138
142
|
end
|
139
143
|
end
|
@@ -142,9 +146,6 @@ class Call
|
|
142
146
|
raise((msg.to_s || "Message is nil!"))
|
143
147
|
end
|
144
148
|
|
145
|
-
if dialog_creating
|
146
|
-
create_dialog msg
|
147
|
-
end
|
148
149
|
msg
|
149
150
|
end
|
150
151
|
|
@@ -232,7 +233,18 @@ class Call
|
|
232
233
|
def send_request(method, options={})
|
233
234
|
body = options[:body] || ""
|
234
235
|
headers = options[:headers] || {}
|
235
|
-
new_tsx = options[:new_tsx].nil?
|
236
|
+
new_tsx = if options[:new_tsx].nil?
|
237
|
+
# new_tsx was not given. Default it to true, unless
|
238
|
+
# same_tsx_as was given.
|
239
|
+
unless options[:same_tsx_as]
|
240
|
+
true
|
241
|
+
else
|
242
|
+
false
|
243
|
+
end
|
244
|
+
else
|
245
|
+
# new_tsx was given, use that value.
|
246
|
+
options[:new_tsx]
|
247
|
+
end
|
236
248
|
retrans =
|
237
249
|
if options[:retrans].nil?
|
238
250
|
if method == "ACK"
|
data/lib/quaff/endpoint.rb
CHANGED
data/lib/quaff/message.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'digest/md5'
|
2
|
+
|
1
3
|
module Quaff
|
2
4
|
class SipMessage
|
3
5
|
attr_accessor :method, :requri, :reason, :status_code, :headers, :source
|
@@ -19,6 +21,17 @@ class SipMessage
|
|
19
21
|
end
|
20
22
|
end
|
21
23
|
|
24
|
+
def unique_key
|
25
|
+
via = if @headers['Via']
|
26
|
+
@headers['Via'][-1]
|
27
|
+
end
|
28
|
+
|
29
|
+
contact = header("Contact")
|
30
|
+
cid = header("Call-ID")
|
31
|
+
s = "#{via} #{@method} #{@status_code} #{contact} #{cid} #{@requri}"
|
32
|
+
Digest::MD5.hexdigest(s)
|
33
|
+
end
|
34
|
+
|
22
35
|
def type
|
23
36
|
if @method
|
24
37
|
:request
|