Can't add Zaptel extension

I’m using a Trixbox system as an IVR/Voicemail server for a Panasonic PBX. I have numerous 3-digit extensions on the PBX that I need to be able to ring from Trixbox. I have my Rhino cards setup and working and can successfully place and receive calls via a SIP softphone.

I’m having problems when I try to set up a Zaptel extension in FreePBX. I can add a Zaptel extension (ex. 198) with the dial string ZAP/g0/198. This enables me to dial into the Trixbox and call x198 on the PBX.

However, I have 2 issues:

  1. When Amportal restarts (manual restart or system restart), the Zaptel module for Asterisk refuses to load. I have to delete all Zaptel extensions from FreePBX and restart Amportal for the Zaptel module to load again.

  2. Unanswered calls do not timeout and go to voicemail. The extension just rings indefinitely until picked up.

Suggestions?

BUMP

Nobody here uses Zaptel extensions?

Commenting out the channel line for each extension seems to allow the Zaptel module to load into Asterisk again. From zapata_additional.conf:

;;;;;;[198]
signalling=fxo_ks
record_out=Adhoc
record_in=Adhoc
[email protected]
immediate=no
echotraining=800
echocancelwhenbridged=no
echocancel=yes
dial=ZAP/g0/198
context=from-internal
callprogress=no
callerid=device <198>
busydetect=no
busycount=7
accountcode=
;channel=>g0

Of course, FreePBX requires something entered for Channel when defining an extension, so I have to do this after the fact. Should I be using something other than g0 for channel?

Asterisk fails if you have zaptel channels enabled in zapata.conf and no matching channels in the hardware.

The clue in exactly wrong with your configuration is in /var/log/asterisk/full

Have a look at the last few lines after you have rebooted, and Asterisk has failed to start.

Joe

Please provide more information. How about a copy of your /etc/zaptel.conf, did you run genzaptelconf after installing the boards?

Also your zapata.conf, zapata-auto.conf and zapata_additional.conf.

You should NOT be making any edits to the zapata_additional.conf as it is system generated and get’s overwritten when changes happen.

It looks like you are not specifiying your channel info correctly or your dial string properly either.

But without seeing what is in your files I can’t tell you wnat it should be exactly.

channel= should be just the zap channel number for that given port. The dial string should only be ZAP/# where # is the channel number.

That’s how it is on my setup and I have both a POTS card and T1/Pri interface.

My Rhino cards are correctly configured and working. I can add Zaptel extensions via FreePBX and call them until I either restart Amportal or reboot the server. Then the Zaptel Asterisk module won’t load and I can’t use my Zaptel cards.

I’m pretty sure it’s a syntax problem, but I can’t find any documentation on how to properly setup a Zaptel extension in FreePBX. Channel=>g0 appears to be the problem, because when I comment it out or blank everything after =>, I can restart Amportal and everything works. All the values I’ve tried for Channel=> result in the Zaptel module failing to load in Astersik. Here are the config files you requested:

[zapata.conf]

;
; Zapata telephony interface
;
; Configuration file

[trunkgroups]

[channels]

language=en
context=from-zaptel
signalling=fxs_ks
;rxwink=300 ; Atlas seems to use long (250ms) winks
;
; Whether or not to do distinctive ring detection on FXO lines
;
;usedistinctiveringdetection=yes

usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
;echotraining=800
rxgain=0.0
txgain=0.0
group=0
callgroup=1
pickupgroup=1
immediate=no

;faxdetect=both
faxdetect=incoming
;faxdetect=outgoing
;faxdetect=no

;Include genzaptelconf configs
#include zapata-auto.conf

group=1

;Include AMP configs
#include zapata_additional.conf

[zapata-auto.conf]

; Autogenerated by /usr/sbin/genzaptelconf – do not hand edit
; Zaptel Channels Configurations (zapata.conf)
;
; This is not intended to be a complete zapata.conf. Rather, it is intended
; to be #include-d by /etc/zapata.conf that will include the global settings
;

; Span 1: Rhino RCB8FXX/1 “Rhino RCB8FXX/1” (MASTER)
;;; line="1 FXO/1/0"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 1
context=default

;;; line="2 FXO/1/1"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 2
context=default

;;; line="3 FXO/1/2"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 3
context=default

;;; line="4 FXO/1/3"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 4
context=default

;;; line="5 FXO/1/4"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 5
context=default

;;; line="6 FXO/1/5"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 6
context=default

;;; line="7 FXO/1/6"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 7
context=default

;;; line="8 FXO/1/7"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 8
context=default

; Span 2: Rhino RCB8FXX/2 “Rhino RCB8FXX/2”
;;; line="9 FXO/2/0"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 9
context=default

;;; line="10 FXO/2/1"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 10
context=default

;;; line="11 FXO/2/2"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 11
context=default

;;; line="12 FXO/2/3"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 12
context=default

;;; line="13 FXO/2/4"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 13
context=default

;;; line="14 FXO/2/5"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 14
context=default

;;; line="15 FXO/2/6"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 15
context=default

;;; line="16 FXO/2/7"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 16
context=default

[zapata_additional.conf]

; do not edit this file, this is an auto-generated file by freepbx
; all modifications must be done from the web gui

;;;;;;[198]
signalling=fxo_ks
record_out=Adhoc
record_in=Adhoc
[email protected]
immediate=no
echotraining=800
echocancelwhenbridged=no
echocancel=yes
dial=ZAP/g0/198
context=from-internal
callprogress=no
callerid=device <198>
busydetect=no
busycount=7
accountcode=
channel=>g0

I’m not trying to do anything fancy… just use my Rhino cards (16 analog lines) to ring 3-digit extensions on the attached Panasonic PBX.

Thanks.

Ok Here you go.

When creating the extension in the GUI, you’ll need to do it via the gui so that the mysql DB is updated properly, you can edit the existing extension with this new info or create new.

For the channel is is the channel inside the zap group it wants. So use 1, 2, 3, etc. Matching up to the line # in the zapata-auto.conf file. if you are editing a existing extension you’ll need to update the dial box to be ZAP/{channel#} where that number is what I said above.

That is all that you missed. You’d think that you would have to define the Zap group but you’ll notice that each channel is unique across all Zap devices so it does not need the group number at all.

That makes sense for analog extensions attached directly to the Zaptel cards, as each extension would have it’s own physical port.

However, all of my “Zaptel extensions” are actually Panasonic digital phones that live on the attached Panasonic PBX. To call x198, I need Trixbox to pick a free line from my trunk (g0) and dial the extension number.

I missed that. It was not made clear that you are attempting to connect to another phone system via POTS lines… Hum… You don’t want to create extensions as those are devices with phones on them and need fxo signaling. You have a pots lines that have fxs signaling. So basicly you have 16 outgoing/incoming lines that connect to another system in a calling fashion. That is why it is blowing up. You are using the lines in the wrong fashion and really the software as you have attempted to configure it can’t deal with it.

You need a totaly different setup configuration then the way you are attenpting to go about it.

Basicly you need to create virtual extensions that transfer the call down a available phone line for another system to deal with it.

I’m not sure without some thinking it through all the way how you’d do that.

What are the extensions numbers that you want the transfer to this other system?

I think if we create a Zap trunk with a outbound route for those extension numbers using that trunk group it will transfer them down the next available line and disl the number for you.

Provide me the extensions list and I’ll do some thinking…

If you want to accomplish what you are trying to do, I think you need FXS ports on your Rhino card. The Zapata.conf shows only FXO channels. I have these phone servers sitting between another phone system and the telco. I have an equal number of FXO and FXS ports on the TDM card. I hook the FXO’s to the Telco and the FXS ports to the internal phone system and then programmed the extensions numbers for the internal system.

I don’t consider this an optimum solution and would recommend you toss the old phone system and install VOIP phones.

Thanks very much for giving my problem some thought. Here is my list of extensions:

101
102
103
105
106
108
109
120
121
125
128
130
132
133
134
135
135
136
137
138
138
139
140
141
144
145
146
148
149
155
156
159
160
162
164
165
165
171
174
176
178
181
186
189
192
195
198
200
201
202
203
205
206
207
209
210
214
214
230
233
244
245
301
303
311
321
325
326
333

There are also several 7-digit local numbers for outbuildings not attached to the Panasonic PBX.

How do I create a “virtual extension”? Can virtual extensions have Trixbox voicemail boxes?

Thanks

jmullinix,

It sounds like you’re trunking your internal phone system through your Asterisk boxes. My Panasonic PBX connects directly to the Telco analog lines. My Trixbox is hung off internal analog extensions. There is currently an ancient, proprietary IVR/Voicemail server attached to those internal analog lines. My goal is to replace that piece of junk with Trixbox and save us the $20,000 that CTL charges for a new unit. We’re a non-profit on a tight budget, so unfortunately buying 70+ VOIP phones isn’t an option right now.

He has the right ports that he needs. Remember that in the Zapata files that signaling is the reverse of the port type that is installed on the card. So he has FXO ports using FXS signaling.

So pop in another Rhino card with 16 FXS ports on it and put it between the Telco and your Panasonic. Then you can do quite a bit with the Asterisk server including VOIP and conferencing.

I don’t see how that would let me use Trixbox as a voicemail server for my Panasonic PBX extensions.

jonadmin,

Ok you have all lines in a single Zap group which is good. Get rid of the extensions you have defined as that is not what you want.

You need to create a outbound route that has those extensions listed in the dial pattern list. You could also take a look at using the pattern matching assuming that you’d never get a request for say extension 287 and do [1-3]xx, otherwise just list them.

Then each time the system attempts to dial one of those extensions it will not be in the local list but have a known good route down the zap trunk, so it will grab the next available line and send down it the extension number dialed.

That should do what you need.

That sort-of works, in that I can dial 3-digit extensions from the Trixbox IVR and the trunk routes “XXX” out trunk g0 to the PBX.

The problem is that this method doesn’t let me have Trixbox voicemail boxes for those 3-digit extensions. I need it to work like this:

  • Outside person dails into Panasonic PBX

  • Panasonic PBX rings Trixbox IVR

  • User direct-dials extension (x198)

  • Trixbox IVR transfers call (x198) back to Panasonic PBX

  • Panasonic PBX rings Panasonic digital phone until timeout

  • Panasonic PBX determines call should go to voicemail

  • Panasonic PBX transfers call back to Trixbox with direct-to-voicemail prefix (*198)

I understand your flow, here is more about how it works with it attempts to call another phone.

Trixbox will attempt to transfer the call to the extension by ringing the extension and what you want is for it to timeout after x seconds or get a pick up, If no answer it will then drop to voice mail. Not have the PBX transfer it back.

So now we create a trixbox extension 198 for example, that has no real phone, setup followme / vmx on tb extension 198 and since it will never be available (it will not be because you never connect a phone), it forwards to extension 4198 for example. In your trunk setup on tb, you change the dial pattern from 198 to 4|198 (This will strip the 4 off and dial 198). so them it will call the other system and if no answer it will fall back to tb extension 198 and it’s voicemail setup.

OK, I see what you’re saying. I set up a fictitious SIP extension 198. I then added “4|XXX” to the dial plan for my g0 trunk. I then created a Follow Me list for x198 with “4198” as the value.

I can’t seem to get it to work. When I dial 7777 from my test softphone, I hear my IVR. I punch in 198. Trixbox then promptly hangs up on me.

Do I need to be using specific settings under “Follow Me”? I’ve tried the defaults and various combinations of settings with the same result as above. If I delete the Follow Me settings, dialing 198 from the IVR takes me to x198’s voicemail.

BUMP

Any idea why my Follow Me settings don’t work? I can punch 4198 into my SIP phone and it rings my Panasonic phone. However, no matter what Follow Me settings I use, Trixbox ignores them and tells me that x198 is unavailable.