Communications Overview¶
The GVA Communications suite provides secure VoIP (Voice over IP) capabilities for military vehicle systems, enabling voice communications between crew members and command posts.
Architecture¶
SIP Registrar/Proxy] AGT[VoIP Agent
AI Assistant] end subgraph "Clients" CLI1[VoIP Client 1
Crew Station] CLI2[VoIP Client 2
Commander] CLI3[VoIP Client 3
Driver] end subgraph "External" EXT[External SIP
Network] AI[Ollama LLM
Server] end CLI1 <-->|SIP/RTP| SRV CLI2 <-->|SIP/RTP| SRV CLI3 <-->|SIP/RTP| SRV AGT <-->|SIP/RTP| SRV SRV <-->|SIP| EXT AGT <-->|HTTP| AI style SRV fill:#4CAF50 style AGT fill:#9C27B0 style CLI1 fill:#2196F3 style CLI2 fill:#2196F3 style CLI3 fill:#2196F3
Components¶
VoIP Server¶
The VoIP Server acts as a SIP registrar and proxy, managing call routing between clients within the vehicle network and to external networks.
Key Features:
- SIP user registration and authentication
- Call routing and proxying
- CDR (Call Detail Records) logging
- DSCP EF (Expedited Forwarding) QoS marking
- Military codec support (MELPe, STANAG 4591)
Learn more about VoIP Server →
VoIP Client¶
The VoIP Client provides a GUI application for voice communications from crew stations.
Key Features:
- SIP registration and calling
- Multiple codec support (G.711, G.729, MELPe, Opus)
- SRTP encryption (RFC 3711)
- Address book management
- Audio input/output device selection
Learn more about VoIP Client →
VoIP Agent¶
The VoIP Agent is an AI-powered voice assistant that can answer calls and respond using natural language processing.
Key Features:
- Ollama/Gemma LLM integration
- Piper TTS (offline text-to-speech)
- Vosk STT (offline speech recognition)
- MCP (Model Context Protocol) tool support
- Military coordinate tools (MGRS, bearing, distance)
- Standalone mode (local mic/speaker)
Audio Codecs¶
The VoIP suite supports multiple audio codecs optimised for different bandwidth and quality requirements:
| Codec | Bitrate | Sample Rate | Description |
|---|---|---|---|
| G.711 μ-law | 64 kbps | 8 kHz | Standard telephony, highest quality |
| G.711 A-law | 64 kbps | 8 kHz | European telephony standard |
| G.729 | 8 kbps | 8 kHz | Low bandwidth, good quality |
| MELPe | 2.4 kbps | 8 kHz | Military standard (MIL-STD-3005) |
| STANAG 4591 | 1.2-2.4 kbps | 8 kHz | NATO interoperability (TSVCIS) |
| Opus | 6-510 kbps | 48 kHz | Modern, adaptive bitrate |
Security¶
SRTP Encryption¶
All VoIP communications can be encrypted using SRTP (Secure Real-time Transport Protocol) per RFC 3711. Key exchange is performed via SDP during call setup.
Network QoS¶
VoIP traffic is marked with DSCP EF (Expedited Forwarding, 46) for priority handling on managed networks. This ensures voice packets receive preferential treatment over data traffic.
Quick Start¶
Starting the VoIP Server¶
# Start server on default port (5060)
./build/bin/gva-voip-server --domain=0
# With recording enabled
./build/bin/gva-voip-server --domain=0 --record-calls
# With DSCP EF marking
./build/bin/gva-voip-server --domain=0 --dscp-ef
Starting a VoIP Client¶
# Register with local server
./build/bin/gva-voip-client --user=operator1 --server=127.0.0.1
# With secure calling
./build/bin/gva-voip-client --user=operator1 --server=127.0.0.1 --srtp
Starting the AI Agent¶
# VoIP mode (answers calls)
./build/bin/gva-voip-agent --user=agent.ai --server=127.0.0.1 --model=gemma2
# Standalone mode (local mic/speaker)
./build/bin/gva-voip-agent --standalone --model=gemma2