PRI PBX ZAP extensions with pooled channels

My Setup

  • asterisk server with 4xPRI E1 interface card (TE405P)
  • Telco PRI trunk connected to port 1
  • Alcatel 4200 E PBX connected to port 2
  • 3 Sip phones defined as Sip extensions.
  • PBXinaflash, including Freepbx and Centos 5.1
  • soon to be added: Sip trunks

Eventually the asterisk server should ideally function a.o. as a sort of connection point between my existing ISDN-30 PBX/Telco and the new Sip Voip phones and later Sip trunks.

Connected to the PBX are telephones which are selected by DID/DDI number, not by channel number. They pool the 30 available ISDN channels in the E1 ISDN30 trunk.

In order to be able to connect to the phones behind the PBX I have defined them as ZAP extensions, with a dial setting like ZAP/g1/xxxxxxxxx, with xxxxxxxxx being the DID number. This works,

However, since I have defined them as ZAP extensions they generate entries in zapata_additional.conf, which creates problems because in real life these extensions have no specific channels assigned to the, while the generated enrtres in zapata_additional.conf expect them to.

I can work around this by commenting out the include of zapata_additional.conf in zapata.conf, and including a zapata-custom.conf where I have defined my trunks manualy instead, but this looks a bit kludgy. Also, I see some messages in my asterisk log like ‘Failed to read gains: invalid argument’ which might be related to this.

Is there a proper way to define ZAP extensions which use pooled channels?

Another related question: where can I define the specific settings for my E1 trunks, like the switchtype (in my case euroIsdn)? I can’t set this in Zap Trunks. Or are these definitions somehow expected to be generated by genzaptelconf in zapata-auto.conf? In my case they weren’'t so I had to define them in zapata-custom.conf

Take a look at this posting ( as you are attempting to do the same thing but with a different connection type. You don’t want to create extensions, but a trunk that routes the extensions. You want to leave the T1/Pri as a trunk between systems and NOT attempt to create them as extension on the trunk. Instead pay attention to the last posting which explains how to do it.

You do not want to try and comment out the include for extensions_additional.conf in extensions.conf as extensions.conf will also get over written at certain times undoing the deed. And what you have done is pervert how it works in a way that I’m sure will not be supported going forward. The way I described doing it will be portable going forward and not have issues with extensions.conf and/or extensions_additional.conf.

but I was not Freepbx-experienced enough to tell if it was really the same, and I did not want to hijack his topic with something posibly unrelated.

Thanks for your info.

In the thread you are refering to you write about Virtual Extensions. Do you mean Freepbx custom extensions? I have also seen Ring Groups being refered to as virtual extensions.

A virtual extension is more of concept then anything else. Aou make a extension number exist so that the system knows and acts on it, but it really does not as you are then telling it to do something else.

Oh and yes thanks for Not hijacking it. It was the same but with a different interface. You setup is a lot more common then his. People will probably find this one first.