BizFon 680

We bought a company with a plant next door to us and set up a 45Mbps Cisco Aironet link between the two buildings for our data needs. Eventually we needed to take over the phone system in that building as well. I was asked to put four phones over in that building, but have them be able to keep their old BizFon extensions. E.g. when someone dialed 207 on the BizFon 680 system, it should ring over in the other plant on the supervisors desk. To accomplish this, I used asterisk basically as a bridge between the two buildings.

Asterisk receives calls from the bizfon unit on a digium card, and just transfers the call to a remote SIP extension based on what Zap channel it came in on. For the phones to make calls, each remote SIP phone has its own context to make sure it uses the appropriate dedicated Zap channel.

Setup

2 Sipura SPA-2100 2-Port FXS Adapters
1 Asterisk Server (Dell PC at 2.6Ghz with 256Mb ram, FC3 and Asterisk CVS HEAD)
1 Digium 4-port FXO Card

Zap Setup

I ran normal cat3 rj11 lines from the digium card to the bizfon 680 ports (e.g. Zap/1 was wired to the 'ext 207' port on the BizFon 680 unit, Zap/2 was wired to 'ext 208' port on the BizFon 680, etc.)

Next, I edited zapta.conf and set the context for each channel to a seperate context, e.g.:

group = 200

context = bizfon207-in
channel => 1

context = bizfon208-in
channel => 2

Incomming

Next, in extensions.conf I created the appropriate contexts to forward the calls to the SIP devices:

[bizfon207-in]
exten => s,1,Macro(stdexten,SIP/sip207,207)
exten => s,n,Hangup

And so on and so forth. An interesting side effect of the 20sec timeout in the stdexten macro (same macro as in sample files) is that bizfon somehow figures out that there was no answer and transfers to the BizFon voicemail system before Asterisk transfers to voicemail. The net result is that caller never hits the * vm app, only the BizFon vm system. This has the benefit that all voicemail is in one location, and not spread out over two disparet systems. The downside is that * has no way of sending an MWI to the SPA-2100s. Oh well. I'm upgrading to a full Asterisk system soon and ditching BizFon anyway.

Outgoing

Now, to handle the outgoing calls (from SPA-2100s to the BizFon, I created a special global var and bizfon context:

[globals]
BCHAN = 1

[bizfon]
exten => _20[1-9],1,Dial(Zap/${BCHAN}/${EXTEN}|20)
exten => _2[12]X,1,Dial(Zap/${BCHAN}/${EXTEN}|20)
exten => _23[0-2],1,Dial(Zap/${BCHAN}/${EXTEN}|20)
exten => [579],1,Dial(Zap/${BCHAN}/${EXTEN}|20)
exten => i,1,Playback(pbx-invalid)
exten => i,n,Playback(vm-goodbye)
exten => i,n,Hangup

Then for each SIP context (assigned to sip devices in sip.conf):

[bizfon207-out]
exten => s,1,SetGlobalVar(BCHAN=1)
include => bizfon

[bizfon208-out]
exten => s,1,SetGlobalVar(BCHAN=2)
include => bizfon

And this allows the remote users to access most of BizFons functionality just as if they were plugged right into the system. The 579 exten gives them access to BizFon vm (5), BizFon personal settings (7), and an outside line (9) - in this case, BizFon bridges them to the outside line and provides the second dialtone instead of * or the SPA-2100, as well as providing notification of no outside lines available.

All in all, the setup works quite well. I've been running it for about two weeks now and I've had virtually no complaints. The only issue I've had so far is one of the SPA-2100s overheated and refused to give dialtone on line 1 but cycling the power fixed it. Asterisk has preformed wonderfully for my users and I'm very pleased with the setup.
We bought a company with a plant next door to us and set up a 45Mbps Cisco Aironet link between the two buildings for our data needs. Eventually we needed to take over the phone system in that building as well. I was asked to put four phones over in that building, but have them be able to keep their old BizFon extensions. E.g. when someone dialed 207 on the BizFon 680 system, it should ring over in the other plant on the supervisors desk. To accomplish this, I used asterisk basically as a bridge between the two buildings.

Asterisk receives calls from the bizfon unit on a digium card, and just transfers the call to a remote SIP extension based on what Zap channel it came in on. For the phones to make calls, each remote SIP phone has its own context to make sure it uses the appropriate dedicated Zap channel.

Setup

2 Sipura SPA-2100 2-Port FXS Adapters
1 Asterisk Server (Dell PC at 2.6Ghz with 256Mb ram, FC3 and Asterisk CVS HEAD)
1 Digium 4-port FXO Card

Zap Setup

I ran normal cat3 rj11 lines from the digium card to the bizfon 680 ports (e.g. Zap/1 was wired to the 'ext 207' port on the BizFon 680 unit, Zap/2 was wired to 'ext 208' port on the BizFon 680, etc.)

Next, I edited zapta.conf and set the context for each channel to a seperate context, e.g.:

group = 200

context = bizfon207-in
channel => 1

context = bizfon208-in
channel => 2

Incomming

Next, in extensions.conf I created the appropriate contexts to forward the calls to the SIP devices:

[bizfon207-in]
exten => s,1,Macro(stdexten,SIP/sip207,207)
exten => s,n,Hangup

And so on and so forth. An interesting side effect of the 20sec timeout in the stdexten macro (same macro as in sample files) is that bizfon somehow figures out that there was no answer and transfers to the BizFon voicemail system before Asterisk transfers to voicemail. The net result is that caller never hits the * vm app, only the BizFon vm system. This has the benefit that all voicemail is in one location, and not spread out over two disparet systems. The downside is that * has no way of sending an MWI to the SPA-2100s. Oh well. I'm upgrading to a full Asterisk system soon and ditching BizFon anyway.

Outgoing

Now, to handle the outgoing calls (from SPA-2100s to the BizFon, I created a special global var and bizfon context:

[globals]
BCHAN = 1

[bizfon]
exten => _20[1-9],1,Dial(Zap/${BCHAN}/${EXTEN}|20)
exten => _2[12]X,1,Dial(Zap/${BCHAN}/${EXTEN}|20)
exten => _23[0-2],1,Dial(Zap/${BCHAN}/${EXTEN}|20)
exten => [579],1,Dial(Zap/${BCHAN}/${EXTEN}|20)
exten => i,1,Playback(pbx-invalid)
exten => i,n,Playback(vm-goodbye)
exten => i,n,Hangup

Then for each SIP context (assigned to sip devices in sip.conf):

[bizfon207-out]
exten => s,1,SetGlobalVar(BCHAN=1)
include => bizfon

[bizfon208-out]
exten => s,1,SetGlobalVar(BCHAN=2)
include => bizfon

And this allows the remote users to access most of BizFons functionality just as if they were plugged right into the system. The 579 exten gives them access to BizFon vm (5), BizFon personal settings (7), and an outside line (9) - in this case, BizFon bridges them to the outside line and provides the second dialtone instead of * or the SPA-2100, as well as providing notification of no outside lines available.

All in all, the setup works quite well. I've been running it for about two weeks now and I've had virtually no complaints. The only issue I've had so far is one of the SPA-2100s overheated and refused to give dialtone on line 1 but cycling the power fixed it. Asterisk has preformed wonderfully for my users and I'm very pleased with the setup.
Created by: josiahbryan, Last modification: Mon 31 of Jan, 2005 (01:38 UTC)
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+