How the Jitsi SIP integration reaches phones and room systems
If you run self-hosted Jitsi Meet and need phone callers or meeting room hardware to join conferences, you need two components with different jobs. Jigasi handles audio-only SIP dial-in, so a caller on a telephone joins the meeting's audio. A Jibri configured with a SIP video device handles video for room systems, so a conference room endpoint can join with picture as well as sound. Both are documented in the Jitsi handbook, and the work is configuration plus network and credential planning on components that ship within the Jitsi stack.
Start with Jigasi, because it is the piece most organizations meet first. In the Docker setup it is enabled with the jigasi.yml compose file and configured through SIP credentials in the environment file, including JIGASI_SIP_URI, JIGASI_SIP_PASSWORD, JIGASI_SIP_SERVER, JIGASI_SIP_PORT and JIGASI_SIP_TRANSPORT. Those values describe a SIP account that already exists on your PBX or with your SIP trunk provider, so the first task is a conversation with the telephony team about registration, transport and which dial-in numbers should route to the meeting. The Docker guide also states that Jigasi needs UDP ports 20000 to 20050 open when deployed for SIP access. Confirm with your firewall team exactly which of those paths are internal and which, if any, cross the internet edge.
The video gateway is a separate decision. Video SIP calls run through a Jibri with a SIP video device, and the handbook limits this gateway to non-guests. It relies on enableUserRolesBasedOnToken with a JWT, so your token issuer must place the correct user role in each token, and only authenticated participants can start the outbound call. The gateway also calls SIP addresses returned by a people search service. Decide where that directory comes from, which users it exposes, and who can search it. A Jibri runs on its own machine or virtual machine, and the Jibri README states that only one recording at a time is supported per Jibri. Plan a dedicated host for each gateway role and confirm with the handbook whether the same concurrency limit applies to video SIP sessions in your version.
Before any build starts, make an inventory of each phone number, room system and expected concurrent call, and assign an owner for each SIP account and each JWT signing key. Keep the SIP password and JWT secret out of shared configuration files, store them in your secrets manager, and set a rotation process before go-live. Because the video gateway depends on HTTPS with a proper domain certificate for working audio and video, make sure the certificate chain is valid for every host the room systems will reach. When you request a quote, ask the implementation partner to state in writing which firewall changes, SIP account setup, Jibri hosts, token role mapping and directory integration are included, and which of those depend on your telephony and identity teams.
Jitsi SIP integration prerequisites before any SIP credential is issued
A working self-hosted Jitsi Meet baseline has to exist before any SIP account is connected. The cards below cover the platform, network, telephony, hardware and authentication items that the Jigasi audio gateway and the video SIP gateway depend on. Confirm each one in your environment and against the current Jitsi handbook before a provider credential is created.
Supported host or Docker stack
Start with a working Jitsi Meet deployment, either on a supported Debian or Ubuntu host or on the official Docker stack. The Debian/Ubuntu quick start lists Debian 12 (Bookworm) or newer and Ubuntu 24.04 or newer, and requires OpenJDK 17. Check these version requirements against the current handbook, because support statements change between releases.
HTTPS with a proper domain certificate
Jitsi needs HTTPS with a certificate issued for your domain to carry working audio and video. The handbook warns that self-signed certificates cause problems, particularly with mobile clients, so a self-signed certificate will fail the baseline test before any SIP work begins. Confirm certificate issuance and renewal for the public hostname before you move on.
Core firewall ports open
The core Jitsi ports are 80/TCP, 443/TCP and 10000/UDP. The handbook also lists 5349/TCP for TCP fallback and 3478/UDP for STUN as optional. Verify these rules at both the host firewall and any cloud or data center perimeter, since a blocked media port usually appears as one-way or missing audio rather than a clear error.
SIP provider account and credentials
Jigasi needs an account with your SIP provider, including a SIP URI, password, server and port, and the transport the provider supports. In Docker these map to JIGASI_SIP_URI, JIGASI_SIP_PASSWORD, JIGASI_SIP_SERVER, JIGASI_SIP_PORT and JIGASI_SIP_TRANSPORT. Confirm with the provider that outbound calling, inbound routing and the transport are enabled before you store the password in your secrets system.
UDP range for Jigasi
When Jigasi is deployed for SIP access, the Docker guide requires UDP ports 20000 to 20050 to be open. This range is separate from the 10000/UDP media port used by the videobridge. Confirm that the range is reachable from the host and that the firewall and any NAT rules let the SIP provider's media reach it.
Separate machine for Jibri
The video SIP gateway depends on Jibri, which records and streams by running Chrome in a virtual framebuffer and encoding with ffmpeg. The Jibri README states that one Jibri supports only one recording at a time and should run on its own machine or virtual machine. Plan this host, its CPU and memory, and its network position before you commit to video room devices.
JWT-capable authentication for the gateway
The video SIP gateway relies on enableUserRolesBasedOnToken with a JWT, and it is available only to non-guest users. Choose an authentication setup that can issue JWT tokens, such as the token authentication method in the handbook, and decide how guests are separated onto an anonymous domain. Confirm the token settings work for a test user before you configure any SIP address lookup.
How Jigasi bridges a SIP account into a Jitsi meeting
Jigasi is the Jitsi SIP gateway, and it handles audio only. A participant who dials in from a telephone joins the meeting so they can hear the room and speak into it, but they do not send or receive video. Browser participants see the phone caller as a participant in the room, while the phone caller sees and hears only the audio mix. Before you promise anyone a dial-in number, decide whether audio-only participation meets the use case. If the meeting depends on people seeing shared screens or on video from a room system, Jigasi will not cover that need, and the video SIP gateway described in the next section is a separate design.
In the official Docker setup, Jigasi is not part of the default stack. You enable it by including the jigasi.yml compose file alongside the core compose file, then configure it through its SIP settings in the environment file. The settings you will work with are JIGASI_SIP_URI, JIGASI_SIP_PASSWORD, JIGASI_SIP_SERVER, JIGASI_SIP_PORT and JIGASI_SIP_TRANSPORT. The URI identifies the SIP account, the password authenticates it, and the server, port and transport tell Jigasi where to register and how to reach it. Keep the password out of version control and handle it the same way you handle other service secrets. The Docker guide also notes that Jigasi needs UDP ports 20000 to 20050 open when it is deployed for SIP access, so raise this with your network and firewall team early, because it is easy to overlook.
The SIP account does not come from Jitsi. It comes from your organization's telephony provider or PBX, which issues the account, the registration credentials, and the rights to place and receive calls on a given number or extension. Ask the provider or PBX administrator to confirm four things in writing: that the account is allowed to register from your server's address and transport, that it can receive inbound calls on the dial-in number you plan to publish, that it can place outbound calls if you need them, and whether the provider charges per call minute or per channel. Some providers limit concurrent calls or restrict which destinations are reachable, and those limits will shape how many phone participants a meeting can take. Confirm them before you configure anything, because the account's permissions set the ceiling for the whole design.
Plan the transport choice and the network path with the provider's documentation in hand. Whether the SIP signaling uses UDP, TCP or TLS must match what the provider supports, and the port must be the one the provider expects, not the default you find in a sample file. Test registration first with a single account and confirm that inbound and outbound calls connect and that audio flows in both directions. Only then add the dial-in number to your meeting invitations. A common failure is a registration that appears to succeed while one-way audio or dropped calls appear once real traffic starts, which usually points to the UDP range or a NAT setting on the path rather than to Jigasi itself.
Configuring Jigasi for SIP dial-in, step by step
This sequence takes a self-hosted Docker Jitsi deployment from a working browser meeting to an inbound phone call through Jigasi, the audio-only SIP gateway. Each step ends with a check you can confirm before moving on, so any fault can be traced to one setting. The Debian package route differs, so confirm its steps in the Jitsi handbook before you start.
Confirm the base stack and a browser call
The operator confirms that the Docker base stack is running on the host that will also run Jigasi, including the web, Prosody, Jicofo and videobridge containers. Then a browser test call is placed between two participants on the same deployment. This proves the meeting path works before any telephony is added, so a later failure points to the SIP settings. If you installed from Debian packages instead, the steps differ, so confirm each one in the Jitsi handbook before continuing. Done when both participants connect with working audio and video.
Enable the jigasi compose file
The operator adds the jigasi.yml compose file to the set of files the Docker deployment loads, so the jigasi container becomes part of the stack. The change is made in the directory where the deployment's compose files live, and the file set is then validated before anything is started. Do not start the container yet, because it needs the SIP values from the next step. Done when the compose configuration lists a jigasi service and reports no validation errors.
Set the SIP variables in the environment file
The operator edits the environment file used by the Docker deployment and sets JIGASI_SIP_URI, JIGASI_SIP_PASSWORD, JIGASI_SIP_SERVER, JIGASI_SIP_PORT and JIGASI_SIP_TRANSPORT to the values issued by your SIP provider. The URI identifies the account Jigasi registers, and the password is a secret that should stay out of tickets, chat and shared repositories. Confirm the transport value with the provider, since the server, port and transport must match what it documents. Done when all five variables are set with no placeholder text.
Open UDP 20000 to 20050 to Jigasi
The network team opens UDP ports 20000 through 20050 to the Jigasi host, which is the range the Jitsi Docker guide lists for SIP access. The rule must be applied in the host firewall and in any cloud security group or perimeter firewall in front of it. Only the networks that need to reach Jigasi should be allowed. Check the rules against the port list in the handbook, then confirm the range is open with a UDP test or a firewall log entry, since a TCP scan will not show it. Done when the firewall rules match the handbook list.
Restart the stack and check the container
The operator restarts the deployment so the jigasi container starts with the new settings, then checks its state and logs. The container should show as running, and its logs should show a clean start without repeated restarts or errors about credentials. A container that restarts in a loop usually points to a wrong SIP value or a blocked port, so return to the environment file or firewall step before moving on. Done when the container stays in the running state across a short observation period with no credential errors in its logs.
Confirm registration with the SIP provider
The operator checks that the SIP provider shows the Jigasi account as registered. This is done in the provider's admin console, its registration status view or its trunk logs, looking for the account from the URI and the network address of the Jigasi host. If the account does not appear, the transport, port and password are checked against the provider documentation, and the outbound firewall is checked for the signaling connection. Done when registration is visible at the provider and stays visible after a short wait.
Place a test inbound call
The operator calls the dial-in number assigned to the SIP account from an outside phone and joins a test meeting through it. The call should reach the meeting with two-way audio, and the caller should appear as a participant in the room. Before any number is published, the handbook should be checked for how callers reach a specific room. Afterward, the Jigasi logs are reviewed for the call record. Done when the test call connects with working audio in both directions and the call appears in the logs.
When a Jibri video SIP gateway fits meeting room devices
Choose the video SIP gateway when room systems in your estate must send video into a Jitsi meeting, because the audio-only Jigasi gateway does not carry that stream. The video gateway uses a Jibri instance configured with a SIP video device, so the room system reaches the meeting through Jibri. Before you commit, list which rooms need video in, how often they dial in, and whether audio-only dial-in through Jigasi already meets the need. The video path adds a Jibri machine to operate, so it should be justified by a named room use case and a signed-off requirement.
The documented constraints shape the design before any hardware is ordered. The gateway is available only to non-guest users, so every person who starts a call from a room system needs an authenticated account and cannot rely on the guest path. It relies on enableUserRolesBasedOnToken together with a JWT, which means your token issuance must carry the roles that Jitsi checks, and your guest and authenticated domains must be configured separately. It also calls SIP addresses returned by a people search service, so the directory behind that service must hold correct, dialable SIP addresses for each person who should be reachable from a room. Confirm the exact token claims and search service settings against the video SIP gateway page in the Jitsi handbook for your release.
Run Jibri on its own machine or VM, separate from the web server, Prosody, Jicofo and the videobridge, because it runs Chrome in a virtual framebuffer and encodes with ffmpeg, which is resource-intensive. The Jibri README states that only one recording at a time is supported on a single Jibri. Treat each active room system call as occupying that Jibri until you have verified otherwise. Ask the Jitsi project, your implementation partner and your own load tests to confirm whether a SIP video session follows the same single-session limit, how many Jibri instances you need for the largest number of rooms that could dial in at once, and how a busy Jibri is reported to the people trying to join.
Do not promise room coverage until the capacity plan is written down. A workable plan lists each room, the device it uses, the Jibri instances behind it, the expected number of simultaneous calls, the directory coverage for SIP addresses, and the accounts allowed to start calls. Ask for a written quote that prices the Jibri machines, the token and directory integration, the testing of concurrent calls, and the runbook for a busy or failed Jibri. Plan for the recurring cost of running those machines and of keeping the people search data current, since both change as staff and rooms change.
Which component, port and credential each SIP path needs
This table maps each SIP path element to the component that reads it, the team that should own it, where the value is stored and what to confirm with your SIP provider before configuration. Read it as a checklist: audio dial-in through Jigasi needs the first five rows, while the video SIP gateway adds the Jibri device, the token claims and the people search endpoint. The main takeaway is that every credential and endpoint needs one owner and a documented source before anyone edits a compose file.
| Element | Component and owning team | Where the value lives | Confirm with the provider |
|---|---|---|---|
| Jigasi SIP URI (JIGASI_SIP_URI) | Jigasi, telephony team | Environment variable in the Docker .env file or your secrets manager | The SIP account address issued for Jitsi and the number or extension it routes to |
| Jigasi SIP password (JIGASI_SIP_PASSWORD) | Jigasi, telephony team | Secrets manager, injected at deploy time and kept out of version control | Rotation requirements and how the password is reset if the account is locked |
| Jigasi SIP server (JIGASI_SIP_SERVER) | Jigasi, telephony team | Environment variable in the .env file | The registrar or proxy hostname the provider expects and that Jigasi can resolve it |
| Jigasi SIP port and transport (JIGASI_SIP_PORT, JIGASI_SIP_TRANSPORT) | Jigasi, telephony team with the network team | Environment variables in the .env file; firewall rules in the network change record | Which port and transport the provider accepts and whether it requires encrypted signaling |
| UDP 20000 to 20050 for Jigasi | Platform team, for firewall and routing | Host firewall, cloud security groups and the platform runbook | Whether your edge or NAT allows this UDP range in both directions and whether the provider needs its media addresses allowlisted |
| Jibri SIP video device | Jibri and video SIP gateway, platform team with telephony | Jibri configuration on its own host or VM, following the Jibri setup | Which room system models and video codecs the provider and endpoints support, confirmed with the device vendor |
| JWT claims marking non-guest users (enableUserRolesBasedOnToken) | Identity team for the token issuer, platform team for Jitsi settings | Claim mapping in the identity provider and token settings in the Jitsi deployment config | The exact claim names the identity provider can emit and that only authenticated staff receive them |
| People search service endpoint | Identity or directory team for the service, platform team for the URL | Jitsi configuration that points to the service; access credentials in the secrets store | The endpoint address, the authentication method and the directory fields it returns as SIP addresses |
Securing the Jitsi SIP integration credentials and exposure
A SIP gateway holds a live account with a telephony provider and opens a path between the public phone network and your meetings. The cards below cover the credentials that gateway depends on, the network ports it needs, the access rules for the video gateway, and the logging and encryption questions to settle before dial-in goes live.
Protecting the SIP password in the environment file
In the Docker setup, JIGASI_SIP_PASSWORD sits in the .env file alongside other deployment settings. Restrict read access to the account that runs the containers, keep the file out of version control and backups that are widely readable, and confirm that any copy made during provisioning is removed. Store the value in your organization's secret store where possible and inject it at deploy time.
Rotating SIP credentials with the provider
Rotation has to happen at both ends: the SIP provider issues the new password and the Jigasi configuration must be updated and reloaded before the old one is revoked. Ask your provider how credential changes are made, whether the old password stays valid during a cutover, and how many accounts can be active at once. Record who owns the rotation and when it was last done.
Using a dedicated least-privilege SIP account
Create a SIP account used only by Jigasi, not a user's softphone account or a shared administrative login. Ask the provider what call permissions the account carries, such as outbound destinations, international dialing and caller ID rights, and restrict them to what your dial-in service needs. A separate account also makes it possible to disable the gateway without affecting other telephony.
Restricting the video gateway to non-guest JWT roles
The video SIP gateway depends on enableUserRolesBasedOnToken and a JWT, and it is available only to non-guest users. Confirm that guests cannot start a SIP call even when they know the room name, and that the token issuer sets the moderator or user role deliberately. Review how the people search service maps names to SIP addresses, because that lookup decides who can be dialed.
Limiting the 20000 to 20050 UDP range
The Docker guide says Jigasi needs UDP ports 20000 to 20050 open for SIP access. Open only that range, and only toward the addresses your SIP provider uses for media, rather than to the whole internet. Ask the provider for its signaling and media address ranges, confirm which direction each port must allow, and check the rules on your cloud firewall and any perimeter device.
Logging dial-in activity
Record who dialed in, which room was joined, the time and the duration, and the outbound numbers the gateway placed. Confirm which of these events Jigasi and Jibri write, where the logs go, and how long your retention policy keeps them. Send them to your central log platform and test an alert for calls that open rooms or dial external numbers outside normal hours.
Confirming end-to-end encryption for SIP legs
Jitsi's security page limits end-to-end encryption to audio, video and screen sharing in specific clients, and it does not describe phone participants joining through a gateway. Do not assume that a phone leg is covered. Ask the vendor or your provider how SIP media is protected between the gateway and the phone network, and document the answer for your risk owners before you advertise dial-in to sensitive meetings.
How to test the Jitsi SIP path before users depend on it
Test the SIP path in both directions and in each role before any user is told to rely on it. Start with inbound and outbound test calls between a phone and a meeting in your Jitsi deployment, using the SIP account configured through JIGASI_SIP_URI, JIGASI_SIP_PASSWORD, JIGASI_SIP_SERVER, JIGASI_SIP_PORT and JIGASI_SIP_TRANSPORT. Confirm with your SIP provider which transport and port it expects, because a registration that succeeds can still fail on media. For each call, run a one-way audio check and a two-way audio check. Speak from the phone and confirm browser participants hear you, then speak from a browser and confirm the phone hears the meeting. Jigasi needs UDP ports 20000 to 20050 open, so a fault in only one direction often points to media ports or NAT before it points to signaling.
Confirm that the phone caller is audio only. Jigasi is an audio gateway, so the dial-in participant should appear without a video tile, and no video should be sent back to the phone. Next, check the video SIP gateway, which runs on a Jibri configured with a SIP video device and is available only to non-guests. Join the same room once with a token that marks the user as a non-guest and once as a guest, using enableUserRolesBasedOnToken with a JWT. The non-guest session should reach the gateway and the guest session should not. Then confirm the gateway calls only the SIP addresses returned by your people search service, using a directory entry you control. A guest who can start an outbound call is the most consequential failure in this section, so record the result for each token type.
Test a second concurrent video session and compare the result with the Jibri documentation, which states that only one recording at a time is supported on a single Jibri. Start one session through the video gateway, then start a second while the first is active. Record what the user sees and what the logs show. Do not assume the second session queues, fails or joins the first. If your business needs two sessions at the same time, treat that as a capacity decision. Confirm in the Jibri documentation how additional instances are added, and place each Jibri on its own machine or VM as the README recommends. Repeat this test after any change to the number of Jibri instances.
Watch the Jigasi and Jibri logs for the full test window, and keep a baseline from before the first call. With the Docker setup, follow the output of the jigasi and jibri services and note timestamps for each test call so that a log entry can be matched to a specific attempt. Look for SIP registration or authentication failures, port binding errors, token rejections and Jibri startup failures. Record each call in a simple test log that lists direction, participant role, audio result, video result and related log entries. Keep this log with the change record, because it becomes the evidence your team uses when a later upgrade or credential rotation changes the SIP path.
Plan the rollback before the first test call. If a check fails and cannot be fixed quickly, disable the gateway by removing the jigasi.yml compose file from the stack and redeploying, or remove the room device route that sends calls to the video SIP gateway. Then confirm that the dial-in number no longer answers, that no room device can start a call, and that browser users can still join meetings normally. Rehearse this sequence in a non-production environment first, and decide in advance who has authority to make the change and who must be informed. Do not leave a partially working gateway live while the team investigates.
Where the Jitsi SIP integration fails most often
This table lists the failures teams most often hit when connecting Jitsi to phones and room systems, with the probable cause and what to check for each. Read each row from the symptom outward and verify the checks against your own logs and configuration before changing anything. The main takeaway is that most failures trace to four areas: SIP credentials, UDP media ports, Jibri roles and certificates.
| Symptom | Probable cause | What to check |
|---|---|---|
| Jigasi does not register with the SIP provider | Wrong URI, password, server, port or transport value | Compare the JIGASI_SIP variables with your provider's registration details, then read the Jigasi container log |
| Callers connect but hear no audio | UDP 20000 to 20050 blocked, or NAT not configured for media | Confirm those UDP ports are open for Jigasi, and that NAT maps the host to its correct public address |
| Call drops after a few minutes | Firewall or NAT idle timeout, or a transport mismatch with the provider | Review firewall and NAT idle timeouts, and confirm the transport setting matches what the provider requires |
| Room device joins without video | Jibri SIP video device or JWT role misconfigured | Confirm the SIP video device is set in Jibri, and that the token grants the role enableUserRolesBasedOnToken expects |
| Guests cannot place the video SIP call | The video SIP gateway is available only to non-guest users | Confirm the dialing user signs in with a JWT token and is not joining through the guest domain |
| Certificate warnings on mobile clients | Self-signed or mismatched certificate on the Jitsi domain | Confirm the web domain serves a certificate issued for that hostname, with a complete certificate chain |
Questions buyers ask before they hire help for Jitsi SIP integration
How much does it cost to hire help for Jitsi SIP integration?
DeployOpen does not publish a price list. Each quote follows a written scope, so the figure depends on the work you agree to. The main cost drivers are the number of SIP accounts and provider rules to map, whether room systems need the video SIP gateway, network and firewall work, the number of Jibri hosts, the testing scope, and whether you want ongoing operations covered. Setup work is one-time, while operations, upgrades and support recur and can be handled under a retainer. Ask for a quote that lists each component separately, states who supplies the SIP trunk and room hardware, and names what is excluded. Your SIP provider's own service charges are separate from implementation and should be confirmed with that provider.
How long does a Jitsi SIP gateway project take?
No duration is stated here because timing depends on the scope agreed in writing. The factors that move it most are the number of SIP accounts and dial rules, whether room systems need Jibri as a video gateway, how many Jibri hosts you need, and how long firewall changes take to approve. The audio-only Jigasi path has fewer moving parts than the video gateway, so compare the two scopes separately. Confirm lead times for SIP provider credentials and change approvals early, because they often set the critical path. Ask for a schedule with milestones and test gates written into the scope, and confirm the handbook steps for your Jitsi version before committing to dates.
What does our team need to provide for a Jitsi SIP build?
Your team supplies access, credentials and decisions. Expect to provide a SIP provider account with the URI, password, server, port and transport settings, plus a named owner for dial rules and number mapping. Network and firewall owners must approve the port changes. The Jitsi domain needs a DNS name and a valid certificate, because the handbook says HTTPS with a proper certificate is necessary for working audio and video and that self-signed certificates cause problems. For video room systems, your identity team must support JWT user roles and the people search service. You also need cloud or data center accounts, test phones and room devices, and staff who can run acceptance testing.
Can our own engineers set up Jitsi SIP integration without a partner?
Many teams can, if they have solid Linux, Docker and networking skills and time to test. The official Docker setup runs jigasi as its own container, enabled with a jigasi.yml compose file and SIP settings in the environment. The scalable setup guide warns that building scalable infrastructure is not a task for beginning administrators and recommends configuration management tools. Before deciding, check whether someone on your team can debug SIP signaling and NAT problems, can open the Jigasi UDP range, and can run Jibri on its own machine. Keep the parts you can staff in-house and scope a partner only for the areas where you lack capacity or experience.
Which ports and firewall rules does Jigasi need to open?
The Jitsi Docker guide says Jigasi needs UDP ports 20000 to 20050 open when deployed for SIP access. The Debian and Ubuntu quick start lists 80/TCP and 443/TCP for web access and 10000/UDP for the videobridge media path, with 5349/TCP for TCP fallback and 3478/UDP for STUN as optional. Confirm the complete list against the handbook version you deploy, and against what your SIP provider requires for signaling and media, because those provider requirements are not covered by the handbook pages referenced here. Your NAT, load balancer and cloud security group layout will change the rules you write. Ask for a port matrix in the written scope that shows source, destination, protocol and the owner of each rule.
Do we need Jibri for SIP video room systems?
You need Jibri only if meeting room devices must join with video. Jigasi covers audio dial-in. The video SIP gateway uses a Jibri configured with a SIP video device, is available only to non-guests, relies on enableUserRolesBasedOnToken with a JWT, and calls SIP addresses returned by a people search service. Jibri runs Chrome in a virtual framebuffer and encodes with ffmpeg, and its README states that only one recording at a time is supported on a single Jibri, which should run on its own machine or VM. Each extra Jibri host adds hardware, operating system and testing effort. Confirm device compatibility and the people search service with your room system vendor and the handbook section on the video SIP gateway.
What ongoing work follows a Jitsi SIP integration after go-live?
Operations recur after go-live and are often the largest long-term cost. They include Jitsi upgrades, certificate renewals, SIP credential rotation, firewall reviews, Jibri host maintenance, and monitoring of the bridge and gateway. The Docker containers have run rootless with read-only filesystems since stable-11146, so upgrade steps must follow the current container layout. DeployOpen offers ongoing support, upgrades and continuous testing as retainers. When you request a quote, ask who watches alerts, how often Jitsi releases are applied, where SIP credentials are stored, and how a failed dial rule is escalated. Confirm the upgrade cadence and support hours in the written scope.
How broad should testing be for a Jitsi SIP integration?
Testing scope is a cost driver, so define it before the quote. A useful plan covers inbound and outbound calls for each dial rule, audio quality on the Jigasi path, firewall paths in both directions on the required UDP range, failover if a gateway or host is lost, and room device joins for non-guest users only. If you deploy Jibri, add recording and streaming failure cases and checks that one Jibri host handles one recording at a time. Ask for a test plan with written pass criteria, the test environment used, and who signs off each stage. Security testing of the deployed services can be scoped separately from integration testing.
How DeployOpen scopes and delivers Jitsi SIP integration
DeployOpen starts by mapping which meetings need phone dial-in, which room systems must join, and which Jitsi Meet deployment those connections will attach to. The written scope then sets out the Jigasi audio gateway, any Jibri video SIP gateway, the network paths, credentials and verification steps for your environment.
How we scope
- Record which meetings need audio-only phone dial-in and which need room systems joining as video endpoints.
- Confirm the existing Jitsi Meet deployment, its Docker or Debian packaging, and the SIP provider or PBX that will carry calls.
- Agree in writing the firewall, UDP port range and credential handling covered, with engagements fixed-scope and ongoing support available as a retainer.
How we build
- Deploy the Jigasi container with its SIP credentials held in your secrets store, not in plain configuration files.
- Open the UDP range Jigasi needs for SIP media and test the path from the SIP provider to the Jitsi host.
- Configure the video SIP gateway only for authenticated, non-guest users and verify its token-based role settings before enabling it.
How we hand over
- Document each SIP credential, its owner, rotation steps and the systems that depend on it.
- Deliver test records showing inbound and outbound calls, dial-in PIN behavior and room system joins.
- Provide a runbook covering port changes, restart order and the Jibri single-recording limit on its own host.
How we support
- Review Jigasi and Jibri version changes against the Jitsi release notes before each planned upgrade window.
- Re-test SIP connectivity after changes to firewalls, certificates, the SIP provider or the Jitsi domain.
- Offer ongoing support, upgrades and testing as a retainer if your team wants DeployOpen to keep operating the gateway.

