obzvonilka-api 0.2.0 → 0.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
- ---
2
- SHA1:
3
- data.tar.gz: 8284a8ebc49e5fd0c88c1d1350856504df53395d
4
- metadata.gz: b149c8ca739fc96a1c9650f92a105f68fad27ae1
5
- SHA512:
6
- data.tar.gz: deaf55baa40f828c8939d51d0f995e031ac682c159872b51910ba4e3b484286b27eaae8a239d60bc47871bf4e6a05c111d5bf952c76347f04037c37fe23d29cf
7
- metadata.gz: e8beda307c4a1ccdad2fd743a8894cdb280e7587e7e30ae91b401421cdff5a85dbff1cc3d6666238eefd70363c8558f17e580ed5f646db27e06ba724ccdae0e4
1
+ ---
2
+ SHA1:
3
+ metadata.gz: bbfb2e731974b70aaec46792fb8714e1a4a84379
4
+ data.tar.gz: 5bc0b3ae01340ddca87beae11f436c7b7800d169
5
+ SHA512:
6
+ metadata.gz: a351f46761bffe71355a554f27da4dc340a9ded4785725de5b86add73207885d55699b1338b38a0d4300dfc0bf8aeaf4f28648caade20c3749242e92be5c411b
7
+ data.tar.gz: 84e25b89014de274e09ceac9f0ce4fbda02c65b1b0af508d4ff400ae2c9cfaec4f91477f2c866d5ca8c21cc5dc1606380b93b5777e43ce7e3673e90d26021440
data/README.md CHANGED
@@ -1,28 +1,42 @@
1
1
  # Obzvonilka::Api
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/obzvonilka/api`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ Предназначен для интеграции сервиса Obzvonilka с другими системами (Asterisk и другие).
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ ## Установка
6
6
 
7
- ## Installation
7
+ $ gem install obzvonilka-api
8
8
 
9
- Add this line to your application's Gemfile:
9
+ ## Usage
10
10
 
11
- ```ruby
12
- gem 'obzvonilka-api'
13
- ```
11
+ Для интеграции с Asterisk нужно выполнить команду:
14
12
 
15
- And then execute:
13
+ $ OBZVONILKA_API_KEY=1234567890 ruby -e "require 'rubygems'; require 'obzvonilka/api'; Obzvonilka::Asterisk::Voice.send_voices"
16
14
 
17
- $ bundle
15
+ Значение параметра OBZVONILKA_API_KEY получаете в настройках профила на вкладке "Организации".
18
16
 
19
- Or install it yourself as:
17
+ Другие возможные параметры, задаваемые переменными окружения:
18
+
19
+ | Название | Описание | Значение по умолчанию
20
+ |------------------------------|---------------------------------------------------|--------------------------------------
21
+ | ASTERISK_CDR_CSV_PATH | Путь к файлу CDR. | /var/log/asterisk/cdr-csv/Master.csv
22
+ | ASTERISK_VOICE_FILES_DIR | Путь к звуковым файлам. | /var/spool/asterisk/monitor
23
+ | ASTERISK_VOICE_PATH_TEMPLATE | Шаблон для формирования имени звукового файла | "#{FILES_PATH}/%Y/%m/%d/*-%ai.\*"
24
+ | ASTERISK_CHECK_FILE_COUNT | Количество старых CDR, обрабатываемых при запуске | 100
25
+ | ASTERISK_DST_FIELD_NAME | Имя поля, в котором хранится вызываемый номер (например, если реальный номер хранится в userfield |
26
+
27
+ В шаблоне для формирования имени звукового файла (ASTERISK_VOICE_PATH_TEMPLATE) можно использовать следующие подстановки:
28
+
29
+ * %ai - ID звонка в Asterisk
30
+ * %as - src звонка
31
+ * %ad - dst звонка
32
+ * %Y, %m, %d, %H, %M, %S и другие стандартные параметры форматирования даты/времени
33
+
34
+ Например, можно использовать шаблон для задания нестандартного имени звукового файла:
35
+
36
+ /records/mind/2xx/outgoing/%H-%M_%Y-%m-%d-*-%ad.wav
20
37
 
21
- $ gem install obzvonilka-api
22
38
 
23
- ## Usage
24
39
 
25
- TODO: Write usage instructions here
26
40
 
27
41
  ## Development
28
42
 
@@ -1,5 +1,5 @@
1
1
  module Obzvonilka
2
2
  module Api
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
@@ -15,10 +15,14 @@ module Obzvonilka
15
15
  # Amount of old file, then will be checked
16
16
  PREV_FILE_CNT = ENV['ASTERISK_CHECK_FILE_COUNT'] || 100
17
17
 
18
+ # DST field name from Master.csv. Use if real DST wroted in other field (i.e. userfield)
19
+ LOG_FIELD_DST = (ENV['ASTERISK_DST_FIELD_NAME'] || :dst).to_sym
20
+
18
21
  TAIL_COMMAND = "tail -n #{PREV_FILE_CNT} -F '#{LOGS_PATH}'"
19
22
 
20
23
  HEADINGS = [:accountcode, :src, :dst, :dcontet, :clid, :channel, :dstchannel, :lastapp, :lastdata,
21
- :start, :answer, :end, :duration, :billsec, :disposition, :amaflags, :astid]
24
+ :start, :answer, :end, :duration, :billsec, :disposition, :amaflags, :astid, :userfield]
25
+
22
26
 
23
27
  def self.send_voices
24
28
  read_cdr_rows do |row|
@@ -31,7 +35,7 @@ module Obzvonilka
31
35
  end
32
36
 
33
37
  def self.send_voice(row, file_name)
34
- Obzvonilka::Api::Voice.new.put_voice row[:dst], row[:start], row[:end], file_name, row[:astid]
38
+ Obzvonilka::Api::Voice.new.put_voice row[LOG_FIELD_DST], row[:start], row[:end], file_name, row[:astid]
35
39
  end
36
40
 
37
41
  def self.read_cdr_rows
@@ -74,7 +78,7 @@ module Obzvonilka
74
78
  when '%as'
75
79
  row[:src]
76
80
  when '%ad'
77
- row[:dst]
81
+ row[LOG_FIELD_DST]
78
82
  else
79
83
  row_date(row).strftime(m)
80
84
  end
metadata CHANGED
@@ -1,81 +1,92 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: obzvonilka-api
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.1
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - ukolovda
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
-
12
- date: 2015-12-23 00:00:00 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
11
+ date: 2016-01-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
15
14
  name: rest-client
16
- prerelease: false
17
- requirement: &id001 !ruby/object:Gem::Requirement
18
- requirements:
19
- - &id002
20
- - ">="
21
- - !ruby/object:Gem::Version
22
- version: "0"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
23
20
  type: :runtime
24
- version_requirements: *id001
25
- - !ruby/object:Gem::Dependency
26
- name: json
27
21
  prerelease: false
28
- requirement: &id003 !ruby/object:Gem::Requirement
29
- requirements:
30
- - *id002
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
31
34
  type: :runtime
32
- version_requirements: *id003
33
- - !ruby/object:Gem::Dependency
34
- name: bundler
35
35
  prerelease: false
36
- requirement: &id004 !ruby/object:Gem::Requirement
37
- requirements:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
38
45
  - - ~>
39
- - !ruby/object:Gem::Version
40
- version: "1.10"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.10'
41
48
  type: :development
42
- version_requirements: *id004
43
- - !ruby/object:Gem::Dependency
44
- name: rake
45
49
  prerelease: false
46
- requirement: &id005 !ruby/object:Gem::Requirement
47
- requirements:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
48
52
  - - ~>
49
- - !ruby/object:Gem::Version
50
- version: "10.0"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.10'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
51
62
  type: :development
52
- version_requirements: *id005
53
- - !ruby/object:Gem::Dependency
54
- name: minitest
55
63
  prerelease: false
56
- requirement: &id006 !ruby/object:Gem::Requirement
57
- requirements:
58
- - *id002
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
59
76
  type: :development
60
- version_requirements: *id006
61
- - !ruby/object:Gem::Dependency
62
- name: rcov
63
77
  prerelease: false
64
- requirement: &id007 !ruby/object:Gem::Requirement
65
- requirements:
66
- - *id002
67
- type: :development
68
- version_requirements: *id007
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: Obzvonilka.ru API
70
- email:
84
+ email:
71
85
  - udmitry@mail.ru
72
86
  executables: []
73
-
74
87
  extensions: []
75
-
76
88
  extra_rdoc_files: []
77
-
78
- files:
89
+ files:
79
90
  - .gitignore
80
91
  - .travis.yml
81
92
  - CODE_OF_CONDUCT.md
@@ -91,29 +102,28 @@ files:
91
102
  - lib/obzvonilka/asterisk/voice.rb
92
103
  - obzvonilka-api.gemspec
93
104
  homepage: https://github.com/ukolovda/abzvonilka-api
94
- licenses:
105
+ licenses:
95
106
  - MIT
96
- metadata:
107
+ metadata:
97
108
  allowed_push_host: https://rubygems.org
98
109
  post_install_message:
99
110
  rdoc_options: []
100
-
101
- require_paths:
111
+ require_paths:
102
112
  - lib
103
- required_ruby_version: !ruby/object:Gem::Requirement
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
113
+ required_ruby_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
107
117
  version: 1.8.7
108
- required_rubygems_version: !ruby/object:Gem::Requirement
109
- requirements:
110
- - *id002
118
+ required_rubygems_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - '>='
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
111
123
  requirements: []
112
-
113
124
  rubyforge_project:
114
- rubygems_version: 2.0.17
125
+ rubygems_version: 2.4.8
115
126
  signing_key:
116
127
  specification_version: 4
117
128
  summary: Obzvonilka.ru API
118
129
  test_files: []
119
-