WebRTC 3CX Integration

How to integrate WebRTC into the 3CX platform

Registering a SIP Extension

Though it’s true that 3CX can have unlimited calls/line appearances per extension, we did run into some limitations on how to make this viable for our Contact Center.

What doesn't work

  • Routing through a RingGroup containing our load balancer
  • Routing through a Queue containing our load balancer

What does work

  • Routing through a single extension with a twist
  • For another example: Think of our load balancer technique used on the ACO / RingCentral platform
    • The top extension in bold is considered our Load Balancer
    • Any other extension in line are the extensions that will “hold” the calls after hitting the load balancer




    • NOTE: Ensure these extensions are set to “Accept Multiple Calls






The Twist

  • With this deployment, we are going to create a “load balancer”, but only for the purposes of invoking the code
  • NO calls should be pointed to the load balancer with this method, think of it as just a placeholder for routing calls
  • In this case, you will need to route calls (whether via a DID, or a Digital receptionist) over to the extension directly
    • Here is a digital receptionist example






    • Note that digit press 1 goes to 301 and digit press 2 goes to 302
      • This 301 or 302 extension is then passed over to a corresponding skill, example below






    • For more technical SIP traces, this is what we see in the logs






  • To summarize, we are using the “To” header and ANY call that goes to extension 302 will go to that skill
  • This gives us a viable solution to route calls to 3CX based upon the extension it comes in on
    • Example: Inbound Rules - Select the phone number
      • Then, point the route to the extension of your choice