openfire

we can enable conerence option on openfire by installing ofmeet plugin but there is no way to reocrd conference yet. The ofmeet plugin has been created embbeding jitsi meet. The jibri is the componet which use for conference record on jitsi meet. I could configure jibri to openfire.

step to install jibri to openfire

ofmeet plugin customization

  1. first you have to add recording buttons to the ofmeet plugin
/config/src/main/java/org/igniterealtime/openfire/plugin/ofmeet/config/OFMeetConfig.java
  public List<String> getButtonsEnabled()
  {
      return JiveGlobals.getListProperty( "ofmeet.buttons.enabled", Arrays.asList( "camera", "chat", "desktop", "etherpad", "feedback", "fodeviceselection", "fullscreen", "hangup", "info", "invite", "microphone", "profile", "raisehand", "settings", "sharedvideo", "shortcuts", "stats", "videoquality","recording", "livestreaming" ) );
  }

   public List<String> getButtonsImplemented()
  {
      // These should match the implementations that are provided in the Toolbox.web.js file in jitsi-meet.
      return JiveGlobals.getListProperty( "ofmeet.buttons.implemented", Arrays.asList( "camera", "chat", "desktop", "etherpad", "feedback", "fodeviceselection", "fullscreen", "hangup", "info", "invite", "microphone", "profile", "raisehand", "settings", "sharedvideo", "shortcuts", "stats", "videoquality","recording", "livestreaming"  ) );
  }
  1. add toolbar buttons
 /ofmeet/src/i18n/ofmeet_i18n.properties
 ofmeet.toolbar.button.recording.description=Enable Recording
 ofmeet.toolbar.button.livestreaming.description=Enable Live Streaming
  1. enbale recording on config
 web/src/main/java/org/jivesoftware/openfire/plugin/ofmeet/ConfigServlet.java
 config.put( "fileRecordingsEnabled", true);
 config.put( "liveStreamingEnabled", true);
  1. add sip communicatopr properties
/ofmeet/src/java/org/jivesoftware/openfire/plugin/ofmeet/OfMeetPlugin.java
System.setProperty( "org.jitsi.jicofo.jibri.BREWERY", JiveGlobals.getProperty( "org.jitsi.jicofo.jibri.BREWERY", "JibriBrewery@conference.yurdomain.com" ));
 System.setProperty( "org.jitsi.jicofo.jibri.PENDING_TIMEOUT", JiveGlobals.getProperty( "org.jitsi.jicofo.jibri.PENDING_TIMEOUT","90"));

jibri customization

the ofmeet confenrence url something like this https://yourdomain.com:7443/ofmeet/1234 when we recording conrence jibri try to open confernece like this https://yourdomain.com:7443/1234 it is now correct therefor we have to provice base url for the jibri to join conference.

  1. you have to add meetUrl to config.js
/resources/debian-package/etc/jitsi/jibri/config.json
 "meet_url":"meet.domain",
  1. change the callurl
/src/main/kotlin/org/jitsi/jibri/api/xmpp/XmppApi.kt
val callUrlInfo = getCallUrlInfoFromJid(
          startIq.room,
          xmppEnvironment.stripFromRoomDomain,
          xmppEnvironment.xmppDomain,
          xmppEnvironment.meetUrl
      )
  1. add meetUrl to xmpp environment

    src/main/kotlin/org/jitsi/jibri/config/JibriConfig.kt
    
    @JsonProperty("meet_url")
    val meetUrl: String,
    
    

Updated:

Leave a Comment