Enterprise room systems like Polycom and Lifesize support dual monitors — one for video, one for screen share. But when they joined a web conference through a SIP gateway, both monitors showed the same combined feed.
The hardware was capable. OpalVoIP had no BFCP support. So screen share got injected into the video feed.
I added BFCP to OpalVoIP from scratch in 2018 — integrating libbfcp via a C++ wrapper, extending SDP offer/answer processing, and handling a dual-role design where the gateway acts as BFCP client on outbound calls and BFCP server on inbound calls.
The full write-up covers:
- The SDP negotiation details (with before/after examples)
- The dual-role client/server architecture
- Why pre-negotiation beats mid-call renegotiation
- How WebRTC handles this differently today — and why SIP gateways still need BFCP
- Lessons learned from production deployment with real hardware endpoints Medium Article
Open source contribution credited at open.gslab.com. The BFCP gap still exists in OpalVoIP's main codebase today — sharing in case it's useful to anyone hitting the same problem.
Top comments (0)