70 lines
1.7 KiB
Markdown
70 lines
1.7 KiB
Markdown
# Drachtio Server with Docker Compose
|
|
|
|
This setup provides a complete drachtio server deployment using Docker Compose.
|
|
|
|
## Quick Start
|
|
|
|
1. Start the drachtio server:
|
|
```bash
|
|
docker-compose up -d
|
|
```
|
|
|
|
2. Check the logs:
|
|
```bash
|
|
docker-compose logs -f drachtio
|
|
```
|
|
|
|
3. Verify the server is running:
|
|
```bash
|
|
docker-compose ps
|
|
```
|
|
|
|
## Configuration
|
|
|
|
The main configuration file is located at `config/drachtio.conf.xml`. You can modify:
|
|
|
|
- **Admin port**: Default is 9022 (configurable in `admin` section)
|
|
- **Admin secret**: Default is "cymru" (change this for production!)
|
|
- **SIP ports**: Default is 5060/5061 for UDP/TCP/TLS
|
|
- **Logging levels**: Configure debug verbosity
|
|
- **CDR generation**: Enable call detail records
|
|
- **Spam protection**: Block known spammer User-Agents
|
|
|
|
## Ports
|
|
|
|
The following ports are exposed:
|
|
|
|
- `5060/udp`: SIP UDP
|
|
- `5060/tcp`: SIP TCP
|
|
- `5061/tcp`: SIP TLS
|
|
- `9022/tcp`: Admin API
|
|
|
|
## Connecting to Drachtio
|
|
|
|
Once running, you can connect to drachtio using Node.js:
|
|
|
|
```javascript
|
|
const Srf = require('drachtio-srf');
|
|
const srf = new Srf();
|
|
|
|
srf.connect({
|
|
host: 'localhost',
|
|
port: 9022,
|
|
secret: 'cymru'
|
|
});
|
|
```
|
|
|
|
## Maintenance
|
|
|
|
- **View logs**: `docker-compose logs -f drachtio`
|
|
- **Stop server**: `docker-compose down`
|
|
- **Restart server**: `docker-compose restart`
|
|
- **Update image**: `docker-compose pull && docker-compose up -d`
|
|
|
|
## Production Considerations
|
|
|
|
1. **Security**: Change the default admin secret
|
|
2. **TLS**: Configure TLS certificates for SIP over TLS
|
|
3. **Access Control**: Restrict admin access to specific IPs
|
|
4. **CDRs**: Configure CDR export to Homer or Splunk
|
|
5. **Monitoring**: Enable Prometheus metrics for monitoring |