Small problem related to EPABX and FreePBX integration

Hi all

I am a newbie to using FreePBX and need your help with a small problem regarding integrating my FreePBX setup with the traditional Electronic PABX (6 pots trunks, 16 analog extensions).

My current setup at home/small office involves:

  1. Electronic PABX (6 pots trunks, 16 analog extensions)
  2. FreePBX server running on a spare PC
  3. SPA3102 > connected to one of the EPABX analog extensions (number 29) on the FXO port, and connected via LAN to FreePBX server, where it is defined as a PJSIP trunk.

What I want to achieve is dial a POTS trunk from outside, and be able to transfer the call to one of the ANALOG extensions of my electronic PABX (This feature is not supported by my PABX at present, and is very costly to implement)

What I have achieved is the following:

  1. I call one of the POTS trunks from outside
  2. Electronic PABX rings that trunk on extension 29 (connected to SPA3000 FXO)
  3. SPA3000 rings through to FreePBX
  4. FreePBX auto-answers and responds with IVR
  5. I am able to then dial whichever FREEPBX extension I want (not what I wanted to achieve).

Suppose I am on extension 21. To transfer an inbound call on my electronic PABX to another analog extension, I press Flash+extn no (Eg Flash+23). This will put inbound POTS trunk on hold, ring extension 23, and when I hang up extension 21, connect inbound POTS trunk to extn 23.

What I want is that after FreePBX answers and starts IVR, I dial the required EPABX extension, and then FreePBX does the following:

  2. Dial the EPABX extension number I want
  3. Hang up, so that my call gets transferred to the required analog extension (switching done by EPABX). At this point, FreePBX is completely out of the loop again.

I hope I have been able to explain my problem properly.

I look forward to your suggestions.


why are you making your life so tough. just connect the phones directly to freepbx using an ata (audiocodes is an example) and then handle everything in freepbx?

Hi Bob

Thank you for your reply.
I am more interested in a zero investment solution at the present, using only the setup that I already have in place.

Is it possible to do what I want to do using that?
A more basic question in this regard could be that can I call FreePBX using a trunk, and then get FreePBX to send a DTMF down the SAME trunk (Flash+2digit extension code)?


you cannot do exactly what you want. FreePBX (Asterisk) will remain in the loop. Asterisk “connects” a call as two legs, one from Asterisk to the caller and one from Asterisk to the Callee. it has no provision (to my knowledge) to transfer and clear a call (get out of the call path). this means that the inbound call flow would be caller->ITSP->EPBAX->FreePBX/Asterisk->EPABX->extension. in other words quite an extended call path.

And probably a ringy, echoy one too.

Oh OK. I understand.

Just to drag the discussion out a bit further, and for my learning, I want to know this: is it possible to make Asterix/FreePBX send a DTMF to ME, after I call it? (Maybe after I select an option in IVR, or something like this) That is:

  1. I call FreePBX on trunk 500 (via EPABX, as you diagrammed above)
  2. FreePBX Responds automatically with IVR (or any other implementation if that is what it takes)
  3. I do something (don’t know what, maybe I select an IVR option)
  4. FreePBX sends a DTMF TO ME (Effectively to EPABX) —> this will achieve what I want.
  5. Optionally, FreePBX will hang up after sending the above-mentioned DTMF (This may be achieved via a timeout or something)…

Is STEP 4 at all possible?

Thanks for your inputs.

I understand. I am already facing that with my SPA3102! :frowning:

yes you can do it as long as you write some code to send the specific dtmf code you think you need. why don’t you connect your trunk directly to the freepbx system and if you don’t want to move the phones to the freepbx system, then have freepbx route the call to your epabx via an aix or pri trunk. that way you can do all your programming in freepbx and simply use the epabx as a fancy ATA.

if your trunk is FXO/FXS, you might need a custom extension that

“flashes” the channel
probably delays half a second waiting for your pbx to respond
sends dtmf as appropriate,
then hangsup

I see. I have effectively “Hot-lined” the trunk to FreePBX. Could you direct me as to what this bit of code might look like?

Thank you

Ok. Any direction as to how I may do that? (noob alert).

Are your trunks analog?

Yes they are. I mean, the trunks from the phone company are analog. The extension from EPABX to SPA3102 (FXO/FXS) is also analog.

The Connection from SPA3102 to FreePBX is configured as a SIP trunk.

you cant flash a sip channel, perhaps add a dahdi card ?, you eliminate the SPA, and then can so flash. otherwise you will have to figure out what you need to send sip wise to the ATA to make it flash.

That was what I was afraid of. ANY idea on haw it may be acomplished?

easy way, get an fxo interface, hard way, maybe the dialplan on you ATA includes a metacharacter to flash. either way you will need a custom context

OK. Does the FXO in my SPA3102 count? Because it has that.

Also, try as I might, I JUST cannot understand dialplans…the whole concept, both in freepbx and SPA3102. Any links for a nice guide?

No, the fxo on the ata doesn’ t count, often an f will flash the line with a pause before and after , in xxxx, f,nnnn

I think in your case you WILL need to understand dialplan/dialstring/digitmaps, for you, Cisco would be a good source as the inherited your hardware

OK. I will go through that. Thank you so much for your inputs. I think I am a step closer to understanding the works. :slight_smile: Cheers :slight_smile:

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.