PBX In A Flash 5 with 3CX

Post date: Jan 18, 2017 4:02:22 AM

I have been using PBX In A Flash 5 to run a VOIP telephone system for my 2600 group. It's running on a hosted virtual machine running Debian. I mentioned this setup in my last post about Simon Telephonics.

I can go into the details of setting up the server, but honestly, it's pretty easy to stand one up, and the process is better explained here, so I'd rather talk about the server itself and my particular implementation.

Part 1: The Phone Number

Let's pretend my GV number is (212) 736-5000, which it's not. 736-5000 is actually the number for the Hotel Pennsylvania. In this pretend scenario, this is the caller ID for all outbound calls and the number that one would dial to reach the system from the PSTN.

Fun fact: (212) 736-5000 is said to be the oldest working telephone number in New York City, before telephone numbers were standardized according to the NANP, the number was PEnnsylvania 6-5000.

Part 2: Integrated Calling systems

There are three separate telephone systems at work here:

  1. Google Voice is supplying the telephone number and PSTN calling service. GV supports somewhere between 2 and 5 concurrent calls. I am not sure what determines that.
  2. You can think of them as Ma Bell.
  3. Simon Telephonics is the SIP provider. Calls route to SIP endpoints from Google Voice via the Simonics service. Outbound calls from SIP endpoints also route back to Google Voice via the simonics service. I have no idea how many concurrent calls Simonics supports since in this setup, calling is already limited by the other systems.
    1. Think of it as a large private telephone exchange that connects several branches of a company.
  4. A PBX In A Flash (PIAF) 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.

Part 3: Simonics 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. Because the conference IVR responds immediately, none of the other Simonics extensions ring on an incoming call as long as the PBX is picking up.
    1. The Simonics username for this extension is GV2127365000x1
  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.
    1. The Simonics username for this extension is GV2127365000x2
  3. A line on the phone 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.
    1. The Simonics username for this extension is GV2127365000x3.

Part 4: PSTN calls

  1. Calls to (212) 736-5000 ring all 3 Simonics extensions.
  2. The PIAF server is extension 1, which 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. As long as the PIAF server is picking up, the other extensions should not ring.
    3. If the PIAF server isn't picking up, because something is wrong, the other extensions will ring.
    4. 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. As long as the PIAF server is picking up, this extension should not ring.
  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. As long as the PIAF server is picking up, this extension should not ring.

Part 5: Internal calls

  1. The primary function of the PIAF server is call conferencing, but that isn't its only function.
  2. There are 3cx soft phones for Windows, Mac, Linux, IOS, and Android.
  3. 3cx soft phones provide presence information, so soft phone users can see who is available and who is not.
    1. 3cx users can also chat via Instant Messaging and share files.
  4. 3cx users can call each other using 1-3 digit extension numbers or usernames
    1. Users have the option of making their extensions available to external VOIP calls and IM by publishing their SIP URI, which is username@servername.3cx.net.
  5. 3cx users can also call the other Simonics extensions by dialing 10x where x is the Simonics extension number.
    1. In this example, a 3CX soft phone can call the ATA at the hackerspace by dialing 102, or the phone on my desk by dialing 103.