Supporting 8 simultaneous callers on 3CX

Post date: Sep 7, 2017 10:30:35 PM

A couple of months ago, I stood up a PBX In A Flash server to use as a conference line for my 2600 group. The server can support an unlimited number of users connecting with softphones. 3CX is awesome in that regard, you set up your box and all of the NAT/STUN madness gets handled for you. It's really slick.

From a provisioning standpoint, I was using a combination of Google Voice and Simon Telephonics for telephone services. These are services are great for getting a free number, and for making free calls. If you are building a batphone, a one-time investment of about $6 gives you a basic phone system in the cloud, with unlimited inbound and outbound calling, a (virtually) unlimited number of extensions, inter-extension calling, and a basic ring group function. For use by a single person, family, or a small team, the GV+Simonics stack really can't be beat. The only real limitation is that of channels, or the number of calls the system can support simultaneously. Basically, the GV+Simonics stack has at least 2 channels, and sometimes it has as many as 5, based on my informal and not very rigorous testing.

Because 2 channels is pretty small time for a big shot conference server operator like me, I needed to get several channels. I did some looking and I found a professional solution that is fairly affordable, but not free.

I had heard about Anveo Direct's per-minute lines and their 10 dedicated channels which sounded ideal. For $0.19 per month, and a one-time setup fee of $0.25 you can set up a telephone number with 10 dedicated channels. Incoming calls to this number will cost $0.004 per minute, so for about $35 per year I can get 8000 minutes of inbound service, enough run the server at full capacity for 16 or so hours. Now all I needed was to terminate those calls to the conference server (PIAF).

For this part of the project, I decided to re-purpose some stuff that I had setup with VOIP.ms. In the past, I had used VMS mostly for outbound calls. I set up one of their Virtual DIDs a long time ago to use with IPKall and Google Voice when I had lost my phone. The virtual DID is nice because calls to it are very cheap (like $0.001 per minute, maybe?) and I can make calls from other VMS extensions to it for free. This means that I can set up a VMS trunk on my home PBX and call into the conference server for free, without using any Anveo Direct minutes.

I set up a new extension on VMS which would serve as the main (and only) trunk on the conference server. Then I pointed the virtual DID, and my iNum DID at this new extension. Finally, with Anveo Direct, I configured the per-minute DID to terminate at the SIP URI for my virtual DID. Sounds like a real mess, huh?

Like all telecom things, It takes a little visualizing. Like the original conference server setup, there are services at work:

Part 1: The Phone Number

https://www.voip.ms

Let's pretend the conference line number is (212) 736-5000, which it's not. In this pretend scenario, this is the caller ID for all outbound calls and the number that one would dial to reach the conference server (PIAF) from the PSTN.

Part 2: Integrated Calling systems

There are three separate telephone systems at work here:

  1. Anveo Direct is supplying the PSTN number and incoming calling service. It supports 10 concurrent calls, but the server itself can only support 8.
  2. You can think of them as Ma Bell.
  3. VOIP.MS is the SIP provider. Calls route to SIP endpoints from Anveo via VMS. Outbound calls from SIP endpoints also route back to the PSTN via VMS. I have no idea how many concurrent calls VMS supports since in this setup since outbound calling on this trunk is limited to the 3CX softphones.
    1. Think of it as a large private telephone exchange that connects several branches of a company.
  4. A PBX In A Flash (PIAF) the conference server, which supports a single trunk and up to 8 simultaneus callers. It has its own extensions that can be configured primarily using soft phones.
  5. Think of it as a small private exchange that serves a single branch of a large company.
    1. There are two other small private exchanges in this scenario, my PBX at home, and the telephone system at our hackerspace.

Part 3: VOIP.ms extensions

There are 3 Simonics extensions that make up the calling system.

  1. The trunk on the PBX - Calls into the PIAF are immediately forwarded to the conference line.
  2. A trunk on the ATA in our hackerspace - This is so people at the shop can call the conference line easily. The other trunk on the ATA can add to the calling capacity of the conference under certain circumstances.
  3. A trunk on the PBX in my home office - I have a multi line telephone on my desk at home, with a number of VOIP lines, including other GV lines.

Part 4: PSTN calls

  1. Calls to (212) 736-5000 ring the conference server.
  2. The PIAF server forwards all incoming calls to the Conference Line which auto answers.
    1. Calls to the PIAF server could just as easily ring an IVR or an extension.
    2. Anyone using a 3cx soft phone to connect directly to the PIAF server can call out to the PSTN with the caller ID (212) 736-5000.
  3. The secondary line on the ATA at the hackerspace is extension 2.
  4. It can call out to the PSTN with the caller ID (212) 736-5000 by dialing **2 from one of the analog handsets.
  5. This extension should not ring unless a call to it is initiated by my home PBX or a soft phone on the conference server (PIAF).
  6. The phone on my desk is extension 3.
    1. It can call out to the PSTN with the caller ID (212) 736-5000.
    2. This extension should not ring unless a call to it is initiated by the secondary line on the hackerspace phone or the conference server.

Also, I can use the 3CX soft phone on my smartphone to do conference stuff, again for free, without using any minutes. Other folks in the 2600 group could set up soft phones as well, if they were so inclined. Provisioning soft phones via 3CX is really easy.