How gb28181/gb28181.solution works
This repository provides a GB28181 surveillance-platform server, with supporting SIP/media protocol code and a gRPC interface for other services. The principal workflow is a client request entering the gRPC server, reaching a device-management, catalog, PTZ, or video service, and being handled through GB28181/SIP and media components. SIP registration and event handling form related device-facing capabilities; persistence stores SIP assets and bindings. WinTool and StreamingKit provide separate media/testing capabilities. The README documents the gRPC role, but sampled excerpts do not show server registration or service-to-core call wiring, so those links are not asserted.
Main entry points: GrpcServer.cs gRPC server · SIPTransport.cs SIP transport · SIPAssetPersistorFactory.cs Asset persistence · DeviceCatalogImpl.cs Device catalog API
Components 22
Server and API
- gRPC server
GB28181.Server/Server/GrpcServer.cs - Device catalog API
GB28181.Server/Services/DeviceCatalogImpl.cs - Device management API
GB28181.Server/Services/DeviceManageImpl.cs - PTZ control API
GB28181.Server/Services/PtzControlImpl.cs - Video on demand API
GB28181.Server/Services/VideoOnDemandImpl.cs - Device event handlers
GB28181.Server/Message/DeviceEventsProc.cs
GB28181 services
- GB28181 catalog
GB28181.SIPSorcery/Servers/GB28181Catalog.cs - SIP message core
GB28181.SIPSorcery/Servers/SIPMessage/SIPMessageCore.cs - SIP service director
GB28181.SIPSorcery/Servers/SIPDirector/SIPServiceDirector.cs
SIP signaling
- SIP registrar
GB28181.SIPSorcery/Servers/SIPRegistrar/SIPRegistrarCore.cs - Registrar bindings
GB28181.SIPSorcery/Servers/SIPRegistrar/SIPRegistrarBindingsManager.cs - SIP client agent
GB28181.SIPSorcery/app/SIPUserAgents/SIPClientUserAgent.cs - SIP transactions
GB28181.SIPSorcery/core/SIPTransactions/SIPTransactionEngine.cs - SIP transport
GB28181.SIPSorcery/core/SIP/SIPTransport.cs
Media transport
- RTSP sessions
GB28181.SIPSorcery/Net/RTSP/RTSPServer.cs - RTP streams
GB28181.SIPSorcery/Net/RTP/RTPReceiver.cs - Media negotiation
GB28181.SIPSorcery/Net/SDP/SDP.cs
Persistence
- Asset persistence
GB28181.SIPSorcery/Persistence/SIPAssetPersistorFactory.cs - Storage layer
GB28181.SIPSorcery/Persistence/StorageLayer.cs - Configured storage
GB28181.SIPSorcery/Config/SipStorage.cs
Other components
- Service client
- GB28181 device
Connections 19
- Service client → gRPC server: requests
- gRPC server → Device catalog API: dispatches
- gRPC server → Device management API: dispatches
- gRPC server → PTZ control API: dispatches
- gRPC server → Video on demand API: dispatches
- GB28181 device → SIP transport: SIP messages
- SIP transport → SIP transactions: dispatches
- SIP client agent → SIP transport: sends requests
- SIP service director → SIP message core: coordinates
- SIP registrar → Registrar bindings: manages bindings
- Registrar bindings → Asset persistence: reads and writes
- Asset persistence → Storage layer: database operations
- Configured storage → Asset persistence: configures
- Device catalog API → GB28181 catalog
- PTZ control API → SIP message core
- Video on demand API → RTSP sessions
- RTSP sessions → RTP streams: streams media
- Media negotiation → RTP streams: describes streams
- Device event handlers → GB28181 catalog