File size: 7,766 Bytes
685b2e5
 
36a486d
3cb4e02
561ef55
36a486d
685b2e5
a0f9841
3cb4e02
 
 
 
a0f9841
 
 
3cb4e02
 
a0f9841
 
 
 
3cb4e02
 
 
 
 
a0f9841
3cb4e02
 
 
 
685b2e5
3cb4e02
 
 
 
 
36a486d
561ef55
3cb4e02
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
561ef55
 
 
36a486d
561ef55
36a486d
 
561ef55
36a486d
 
561ef55
36a486d
561ef55
36a486d
 
 
 
561ef55
36a486d
 
 
561ef55
 
 
36a486d
 
561ef55
36a486d
 
 
 
 
561ef55
36a486d
 
 
 
561ef55
36a486d
685b2e5
36a486d
 
 
 
 
685b2e5
36a486d
 
 
 
685b2e5
36a486d
685b2e5
36a486d
685b2e5
561ef55
36a486d
 
 
 
 
 
561ef55
685b2e5
36a486d
561ef55
36a486d
561ef55
 
36a486d
 
 
 
 
 
 
 
 
561ef55
 
685b2e5
36a486d
 
 
 
 
685b2e5
561ef55
685b2e5
36a486d
685b2e5
36a486d
 
 
 
 
685b2e5
36a486d
 
 
 
 
685b2e5
36a486d
 
 
 
 
685b2e5
36a486d
685b2e5
36a486d
 
 
 
685b2e5
36a486d
 
 
 
 
685b2e5
 
36a486d
 
 
 
 
 
 
 
 
 
 
 
 
561ef55
 
 
36a486d
 
 
561ef55
36a486d
 
561ef55
 
36a486d
 
 
 
 
 
 
 
 
561ef55
 
36a486d
 
 
 
561ef55
 
 
36a486d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
561ef55
36a486d
561ef55
36a486d
561ef55
 
 
36a486d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
# vBot User Manual

## Introduction
vBot is an intelligent call analysis system that provides real-time transcription, summarization, and sentiment analysis for phone calls. This manual will guide you through setting up and using the system with FreePBX.

## Getting Started

### Installation
1. Install FreePBX:
   - Download and install FreePBX 16 or higher
   - Complete the FreePBX setup wizard
   - Ensure the system is properly configured

2. Install the customer webhook package:
   ```bash
   git clone https://huggingface.co/spaces/iajitpanday/vBot
   cd vBot/customer_webhook
   composer install
   cp config/config.example.php config/config.php
   ```

3. Configure FreePBX:
   - Enable call recording in FreePBX Admin
   - Set up recording paths
   - Configure recording formats
   - Set up SSL certificates

4. Configure the webhook package:
   - Update `config/config.php` with FreePBX database details
   - Set the vBot API URL and your API key
   - Configure the webhook endpoint

### 1. System Requirements
- FreePBX 16 or higher
- PHP 7.4 or higher
- MySQL 5.7 or higher (included with FreePBX)
- Apache web server (included with FreePBX)
- SSL certificate for secure webhooks

### 2. FreePBX Configuration
1. Recording Settings:
   - Enable call recording
   - Set recording format (WAV recommended)
   - Configure recording paths
   - Set up recording retention

2. Webhook Integration:
   - Configure webhook endpoint
   - Set up SSL for secure communication
   - Configure post-processing
   - Test webhook delivery

3. Security Settings:
   - Enable SSL
   - Configure firewall rules
   - Set up API key authentication
   - Implement rate limiting

### 3. Using the System
1. Making Calls:
   - Use FreePBX to make/receive calls
   - Recordings are automatically created
   - Results are sent via webhook

2. Viewing Results:
   - Access results through webhook
   - View transcriptions
   - Check sentiment analysis
   - Review call summaries

3. Managing Recordings:
   - Access through FreePBX interface
   - Download recordings
   - Manage storage
   - Set retention policies

### 4. Troubleshooting
1. Common Issues:
   - Recording not created
   - Webhook delivery failed
   - API connection issues
   - Performance problems

2. Solutions:
   - Check FreePBX logs
   - Verify webhook configuration
   - Test API connection
   - Monitor system resources

3. Support:
   - Contact support
   - Submit issues
   - Check documentation
   - Join community forums

### 5. Best Practices
1. Security:
   - Keep FreePBX updated
   - Use strong passwords
   - Enable SSL
   - Regular backups

2. Performance:
   - Monitor system resources
   - Optimize recording settings
   - Manage storage
   - Regular maintenance

3. Maintenance:
   - Regular updates
   - Monitor logs
   - Check storage
   - Backup configuration

### 6. Updates and Maintenance
1. System Updates:
   - Keep FreePBX updated
   - Update webhook package
   - Update SSL certificates
   - Test updates in staging

2. Regular Tasks:
   - Monitor system logs
   - Check recording storage
   - Verify webhook delivery
   - Update security certificates

3. Backup:
   - Backup FreePBX configuration
   - Backup recordings
   - Backup webhook configuration
   - Test restore procedures

### 7. Support
For additional support:
- Email: support@example.com
- Phone: +1-XXX-XXX-XXXX
- Documentation: https://docs.example.com
- Community: https://community.example.com

## Admin Interface

### 1. Dashboard

The dashboard shows:
- Total calls processed
- Recent activity
- System health
- Usage statistics

### 2. Customer Management

#### View Customers
- List all customers
- View customer details
- Check customer status

#### Add Customer
1. Click "Add Customer"
2. Fill in details:
   - Name
   - Company Name
   - Email
3. Save customer
4. Copy API key

#### Edit Customer
1. Select customer
2. Click "Edit"
3. Update details
4. Save changes

#### Delete Customer
1. Select customer
2. Click "Delete"
3. Confirm deletion

### 3. System Settings

#### API Configuration
- View API key
- Regenerate API key
- Set webhook URL
- Configure webhook secret

#### Security Settings
- Change password
- Enable 2FA
- Set session timeout

## API Usage

### 1. Process a Call

```bash
curl -X POST https://vbot-server.com/api/process-call \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@/path/to/call.wav" \
  -H "caller_number=${CALLER}" \
  -H "called_number=${CALLED}"
```

### 2. Receive Webhook Data

Your webhook endpoint receives:
```json
{
  "call_id": "uuid",
  "caller_number": "+1234567890",
  "called_number": "+0987654321",
  "transcription": "Call transcript...",
  "summary": "Call summary...",
  "sentiment": "positive",
  "keywords": "keyword1, keyword2",
  "timestamp": "2024-03-14T12:00:00Z",
  "customer_id": 123
}
```

### 3. Rate Limits

- 100 API requests per minute
- 3 webhook retry attempts
- 10 concurrent calls

## Troubleshooting

### 1. Common Issues

#### Webhook Failures
1. Check webhook URL
2. Verify SSL certificate
3. Check webhook logs
4. Test webhook endpoint

#### API Errors
1. Verify API key
2. Check request format
3. Review error messages
4. Check rate limits

#### Database Issues
1. Test database connection
2. Check database logs
3. Verify permissions
4. Monitor disk space

### 2. Debug Tools

#### Log Files
```bash
# Webhook logs
tail -f /var/log/apache2/vbot-access.log

# Database logs
tail -f /var/log/mysql/error.log

# Asterisk logs
tail -f /var/log/asterisk/messages
```

#### Health Checks
```bash
# Check webhook endpoint
curl -X POST https://your-domain.com/vbot-webhook/webhook.php \
  -H "Content-Type: application/json" \
  -d '{"test": true}'

# Check database
mysql -u vbot_user -p vbot_calls

# Check Asterisk
sudo asterisk -rx "core show version"
```

## Best Practices

### 1. Security

- Use strong passwords
- Keep API keys secure
- Enable HTTPS
- Regular security updates
- Monitor access logs

### 2. Performance

- Monitor system resources
- Regular maintenance
- Optimize database
- Clean old recordings
- Monitor disk space

### 3. Reliability

- Regular backups
- Monitor system health
- Test failover
- Keep systems updated
- Document procedures

## Updates and Maintenance

### 1. Regular Tasks

- Update system packages
- Rotate logs
- Backup database
- Clean old recordings
- Monitor disk space

### 2. Backup Strategy

```bash
# Database backup
mysqldump -u vbot_user -p vbot_calls > backup.sql

# Configuration backup
tar -czf config_backup.tar.gz /etc/asterisk/
```

### 3. Update Process

```bash
# Update webhook handler
cd /var/www/html/vbot-webhook
git pull

# Update Asterisk
sudo apt update
sudo apt upgrade
```

## Support

### 1. Getting Help

- Email: support@vbot.com
- Documentation: https://vbot.com/docs
- GitHub Issues: https://github.com/vbot/issues

### 2. Reporting Issues

When reporting issues:
1. Check documentation
2. Review logs
3. Gather error messages
4. Provide system info
5. Describe steps to reproduce

### 3. Feature Requests

To request features:
1. Check existing issues
2. Create detailed proposal
3. Provide use cases
4. Suggest implementation
5. Submit request

## Glossary

- **API Key**: Unique identifier for API access
- **Webhook**: URL endpoint for receiving data
- **Transcription**: Text version of call audio
- **Sentiment**: Emotional tone of call
- **Keywords**: Important terms from call
- **Asterisk**: Open-source PBX system
- **PBX**: Private Branch Exchange
- **SSL**: Secure Sockets Layer
- **HTTPS**: Secure HTTP protocol
- **MySQL**: Database system
- **Apache**: Web server
- **Nginx**: Web server
- **AGI**: Asterisk Gateway Interface
- **SIP**: Session Initiation Protocol
- **RTP**: Real-time Transport Protocol