Wiki source code of Recording Agents

Last modified by superadmin on 2021/09/09 20:55

Show last authors
1 **//On this page~://**
2
3
4
5 {{toc/}}
6
7 Recording Agents provided data about recordings to the iSymphony server by watching file system modifications on the system that stores the recording files. Normally you will only use the local default **local-rec** recording agent, with default settings, if you have the iSymphony server installed on the same machine as the PBX. If iSymphony is installed at a remote location you will have to setup a remote Recording Agent in order to feed information about recordings from the remote PBX to the iSymphony server. See [[doc:iSymphony 3\.5 Documentation.iSymphony Administrator's Guide.Remote Agents.WebHome]] for more information.
8
9 You can access the Recording Agent properties by selecting **Settings** in the Administration Interface menu and selecting **edit** on the Recording Agent you wish to modify under the **Recording Agents** section.
10
11 {{info}}
12 Only Super Administrators can manage Recording Agent Settings. See [[doc:Administrators]] for more information.
13 {{/info}}
14
15 = Recording Agent Properties =
16
17 |=(((
18 Recording Directory:
19 )))|(((
20 The root directory where the recording files are stored (default: /var/spool/asterisk/monitor).
21 )))
22 |=(((
23 Recording File Name Mask:
24 )))|(((
25 The recording file name mask used to parse information about the recording from the file name. See the **Recording File Name Mask** section below for more information.
26 )))
27 |=(% colspan="1" %)(% colspan="1" %)
28 (((
29 (% class="v-caption v-caption-hasdescription" %)
30 (((
31 Resource Host:
32 )))
33 )))|(% colspan="1" %)(% colspan="1" %)
34 (((
35 The host or IP used when providing URLs for playback in the client. This should be set to the public hostname or IP of the server the Recording Agent resides on.
36 )))
37 |=(((
38 (% style="color: rgb(34,34,34);" %)Resource Extension:
39 )))|(((
40 The extension of the file type to use when streaming recording in the client. (default: wav)
41 )))
42
43 = Recording File Name Mask =
44
45 Several variables can be used in the Recording File Name Mask in order to pull information about the recording from the file name of the recording.
46
47 |=(((
48 Ignore:
49 )))|(((
50 Syntax: ${Ignore}
51
52 Description: Ignores the text at that position in the file name and does not contribute any information to the recording data.
53 )))
54 |=(% colspan="1" %)(% colspan="1" %)
55 (((
56 Tenant:
57 )))|(% colspan="1" %)(% colspan="1" %)
58 (((
59 Syntax: ${Tenant}
60
61 Description: Specifies the tenant identifier this recording was made under. When writing recording files the value specified by the Tenant Identifier, set in the core server configuration, is used. See [[doc:iSymphony 3\.5 Documentation.iSymphony Administrator's Guide.Configuration.Core Servers.WebHome]] for more information.
62 )))
63 |=(((
64 Tag:
65 )))|(((
66 Syntax: ${Tag}
67
68 Description: Specifies the location of the tag information for the recording. The tag information can be used to specify arbitrary information about the recording like the recording type (e.g. extension, meetme, conference room, ect.)
69 )))
70 |=(% colspan="1" %)(% colspan="1" %)
71 (((
72 (% class="v-caption v-caption-hasdescription" %)
73 (((
74 Time:
75 )))
76 )))|(% colspan="1" %)(% colspan="1" %)
77 (((
78 Syntax: ${Time(//options//)}
79
80 Options:
81
82 * milliseconds: Time value in recording file is specified in milliseconds.
83 * seconds: Time value in recording file is specified in seconds.
84 * minutes: Time value in recording file is specified in minutes.
85 * DateTimeFormat: If the time value is specified in a human readable format within the file name you can specify the format used based on the accepted format strings for the Java [[SimpleDateFormat>>url:http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html||shape="rect"]].
86
87 Description: Specifies the location of the time the recording was created. Used if the date and time of the recording are represented as separate values in the file name.
88 )))
89 |=(((
90 (% style="color: rgb(34,34,34);" %)Date:
91 )))|(((
92 Syntax: ${Date(//options//)}
93
94 Options:
95
96 * milliseconds: Date value in recording file is specified in milliseconds.
97 * seconds: Date value in recording file is specified in seconds.
98 * minutes: Date value in recording file is specified in minutes.
99 * DateTimeFormat: If the date value is specified in a human readable format within the file name you can specify the format used based on the accepted format strings for the Java [[SimpleDateFormat>>url:http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html||shape="rect"]].
100
101 Description: Specifies the location of the date the recording was created. Used if the date and time of the recording are represented as separate values in the file name.
102 )))
103 |=(% colspan="1" %)(% colspan="1" %)
104 (((
105 DateAndTime:
106 )))|(% colspan="1" %)(% colspan="1" %)
107 (((
108 Syntax: ${DateAndTime(//options//)}
109
110 Options:
111
112 * milliseconds: Date and time value in recording file is specified in milliseconds.
113 * seconds: Date and time value in recording file is specified in seconds.
114 * minutes: Date and time value in recording file is specified in minutes.
115 * DateTimeFormat: If the date and time value is specified in a human readable format within the file name you can specify the format used based on the accepted format strings for the Java [[SimpleDateFormat>>url:http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html||shape="rect"]].
116
117 Description: Specifies the location of the date and time the recording was created. Used if the date and time of the recording are represented as one value in the file name.
118 )))
119 |=(% colspan="1" %)(% colspan="1" %)
120 (((
121 CallerIdName:
122 )))|(% colspan="1" %)(% colspan="1" %)
123 (((
124 Syntax: ${CallerIdName}
125
126 Description: Specifies the location of the caller ID name of the call that was recorded.
127 )))
128 |=(% colspan="1" %)(% colspan="1" %)
129 (((
130 (% style="color: rgb(0,0,0);" %)CallerIdNumber:
131 )))|(% colspan="1" %)(% colspan="1" %)
132 (((
133 Syntax: ${CallerIdNumber}
134
135 Description: Specifies the location of the caller ID number of the call that was recorded.
136 )))
137 |=(% colspan="1" %)(% colspan="1" %)
138 (((
139 SrcExtension:
140 )))|(% colspan="1" %)(% colspan="1" %)
141 (((
142 Syntax: ${SrcExtension}
143
144 Description: Specifies the location of the source extension for the recording.
145 )))
146 |=(% colspan="1" %)(% colspan="1" %)
147 (((
148 DstExtension:
149 )))|(% colspan="1" %)(% colspan="1" %)
150 (((
151 Syntax: ${DstExtension}
152
153 Description: Specifies the location of the destination extension for the recording.
154 )))
155 |=(% colspan="1" %)(% colspan="1" %)
156 (((
157 CDRUniqueId
158 )))|(% colspan="1" %)(% colspan="1" %)
159 (((
160 Syntax: ${CDRUniqueId}
161
162 Description: Specifies the unique id to use when looking up the recording in the CDR.
163 )))
164
165 = Disabling The Recording System =
166
167 If you do not utilize the recording management system in iSymphony, you can save on memory and process overhead by disabling the system. The steps required to disable the recording management system will differ depending on if you are utilizing a FreePBX based system or not.
168
169 {{info}}
170 If the recording management system is disabled, you will still be able to record calls on demand from the panel.
171 {{/info}}
172
173 == FreePBX ==
174
175 1. Log into FreePBX
176 1. Navigate to **Admin->iSymphony V3**
177 1. (((
178 Change the **Directory** field under **Recording Agent Setting**s to the following:
179
180 {{code}}
181 /var/spool/asterisk/monitorignore
182 {{/code}}
183 )))
184 1. **Save** and run **Apply Config**
185 1. Restart the iSymphony server process for good measure. See [[doc:iSymphony 3\.5 Documentation.iSymphony Administrator's Guide.Starting And Stopping The iSymphony Server.WebHome]].
186
187 == Vanilla Asterisk ==
188
189 1. Log into the iSymphony Administrator. [[doc:iSymphony 3\.5 Documentation.iSymphony Administrator's Guide.Connecting to the Administration Interface.WebHome]].
190 1. Navigate to **Settings->System Settings**.
191 1. Under **Recording Agents** select **Edit** on the agent you wish to disable.
192 1. (((
193 Change the **Recording Directory** field to the following:
194
195 {{code}}
196 /var/spool/asterisk/monitorignore
197 {{/code}}
198 )))
199 1. Click **Apply** then click **Save** on the System Settings page.
200 1. Restart the iSymphony server process for good measure. See [[doc:iSymphony 3\.5 Documentation.iSymphony Administrator's Guide.Starting And Stopping The iSymphony Server.WebHome]].
201
202 {{note title="Asterisk / Third party integration - v3.5.2+"}}
203 iSymphony uses the channel variable "REC_STATUS" to determine if a call is currently recording. If the variable is set to "RECORDING" the channel is considered recording. If the variable is set to "STOPPED" a recording exists and the recording has been stopped or paused. To have iSymphony detect and display recordings initiated or stopped outside of iSymphony the "REC_STATUS" channel variable should be set to the corresponding value.
204 {{/note}}
205
206
207
208
iSymphony