Enabling LiveKit-based dial-in in BBB with an external call gateway

<aside> ⚠️

The instructions below will break FS-based dial-in for the whole BBB server. To interop both LK and FS, the call gateway needs to be aware of the audio bridge being used.

Example:

If that approach is implemented, adjust the instructions below accordingly.

</aside>

  1. Call gateway (the external FS) should behave roughly the same as it does today in, e.g., Scalelite’s scenario: https://medium.com/@JesusFederico/scalelite-and-dial-in-numbers-f070fe0059b0

  2. In /opt/freeswitch/conf/vars.xml: move BBB's FS SIP bind port to 5063 (to prevent collision with livekit-sip)

    <!--/opt/freeswitch/conf/vars.xml-->
    <X-PRE-PROCESS cmd="set" data="external_sip_port=5063"/>
    
  3. In /etc/bigbluebutton/livekit-sip.yaml: set sip_port and sip_port_listen to 5060

  4. In /etc/bigbluebutton/livekit-sip.yaml: set rtp_port.port_range_start and rtp_port.port_range_end to a valid UDP range that has connectivity to the call gateway

  5. In /etc/bigbluebutton/bbb-webrtc-sfu/production.yml:

    # Merge with pre-existing configuration
    livekit:
    	rtcAgent:
    		enabled: true
    	sip:
    		enabled: true
    		requirePin: false
    	dispatch:
    		options:
    			hidePhoneNumber: true
    
  6. Restart BBB: $ sudo bbb-conf --restart

  7. Restart livekit-sip: $ sudo systemctl restart livekit-sip

    1. livekit-sip is not yet part of bigbluebutton.target , so it needs to be restarted directly.
  8. Verify all components are running via bbb-conf --status and sudo systemctl status livekit-sip

Known Issues

List of known issues. They’ll be checked when resolved.