Now in this demonstration we will be using the hosted livekit service, but the procedure is pretty much the same for self-hosted as well.
This basically defines who is allowed to reach LiveKit, we'll not specify any numbers or IPs, but you can do so if they're not dynamic. So if you have a static IP say 1.1.1.1 then you can specify that in the Allowed Addresses section as 1.1.1.1/32

LiveKit - Create an Inbound Trunk
The JSON for the inbound trunk looks like this:
Here you can see us specifying our Difuse PBX trunk address as well as the Numbers that trunk owns in this case it is +18645284888. And the SRTP configuration is same as the inbound trunk and it should be set to Enabled

LiveKit - Create an Outbound Trunk
The JSON for the outbound trunk looks like this:
In this example we're just using the template agent and deploying it on their cloud, that looks something like this:

LiveKit - Setting Up Test Agent
Once you have setup your agent you can click on the Deploy agent button on the top right to get it ready. Once that is done you can create a dispatch rule to guide calls from your Difuse PBX to LiveKit:

LiveKit - Create a Dispatch Rule
The JSON for the dispatch rule looked something like this for us, of course in this instance our Agent is called Test-Agent
Once you have those configured, setting up difuse is pretty easy, the configuration looks something like this:

It's a good idea to create a new transport port for this trunk and use that in the LiveKit console so that you can specify extra configurations such as Contact FQDN which are required for LiveKit to work.
Now if you configured everything right calling 55441234 will let you talk to an agent.