[asterisk-users] Integration with Toshiba Strata DK424

Joel Maslak jmaslak at antelope.net
Sat Jul 24 11:44:41 CDT 2010


I'm posting here in case anyone else runs into this and needs some help.
I'll probably update the voip-info Wiki pages on Toshiba integration in a
bit.  Asterisk 1.6 makes things a bit easier than what is on that page.

I'm integrating an Asterisk server with a Toshiba Strata system at my
office.  Right now, it is driving some VoIP phones (Cisco ATAs with analog
phones plugged into them) at a neighboring building (I work for a great
company which actually temporarily moved us into another building when the
air conditioning broke in ours), to provide phone service during this "mini
disaster" - with a Wifi connection to the HQ building and VoIP, we had full
services within a day or so, rather than weeks if we had waited for the
telephone company.  We're now moving the IT department over to the system
(Polycom IP450s) permanently, as it has worked so well with the Cisco ATAs.
Next we plan on replacing the voicemail/auto-attendant box on the Toshiba
with Asterisk.  Following that, the next step will be to eliminate the
incoming POTS lines into the Toshiba and replace them with an ISDN PRI line
going into the Asterisk box.  Finally, we expect a slow but study migration
of users over to VoIP.

The connection between Asterisk and the Toshiba is a set of analog phone
lines (the Toshiba provides dialtone).  Later, I'll need additional lines
where the Asterisk box generates dialtone (when we move to the ISDN) as
well.

I needed a way of having a Toshiba extension ring the appropriate phone on
the Asterisk box.  It turns out that the best way to do this is to tell the
Toshiba that the Asterisk box is a voicemail server.  You need to set some
stuff up on the Toshiba to do this.  I set up the box in VM Group 2 (group 1
is the legacy VM), and as hunt group 851/901 (users dial 851, but Toshiba
knows it as 901).  Your configuration might be a bit different.  Here's what
I did on the Toshiba:

- All analog ports for the Asterisk box need to be set up in Toshiba Program
31 with LEDs 06 (VM Group 2), LED 15 (Toshiba Strata VM Integration - send
A/D tones), LED 16 (Receive VM ID code), LED 17 (End to End DTMF passing),
and LED 18 (Privacy Override Blocking).  The hunt group needs to be set up
with Toshiba program *40.

This means that any Toshiba extension forwarded (either after no answer as a
VM box is configured or via standard forward-all-calls) to the Asterisk box
(x851) will cause the call to send "91xxx" (xxx is the called extension, the
one doing the forwarding) to the Asterisk box, after the Asterisk box
answers via DTMF.  It sends "92xxx" if you hit the "message" light on a
Toshiba phone when it is lit.  For some unknown reason, I've also seen "#"
or "##" sent before or after the extension 91xxx/92xxx code - I couldn't
tell you what that means, I just strip them in the Asterisk dialplan.  The
Asterisk box can turn the message waiting indicator on/off by sending #63xxx
(xxx = extension with the light) or #64xxx.

If x851 is called directly, no DTMF is sent in the first few seconds.

When the Toshiba system disconnects one of these analog lines (the
Toshiba/PTSN user hung up), a DTMF "D" is sent.  When an outbound call is
made from Asterisk to a Toshiba extension, the Toshiba sends a DTMF "A" when
the call is answered.  The "D" tone in particular is important, because the
Toshiba's analog extension cards don't do any other form of disconnect
supervision.

To detect the "D" tone (and semi-mute the "A" tone), I set up two features
in features.conf.

toshibahangup => D,self,Hangup
toshibaanswer => A,peer/callee,Noop

One thing I discovered was that the "toshibahangup" feature, when enabled,
would only work for typical calls that were bridged.  They would not work
for things like voicemail.  The voip-info wiki suggests using a meetme
conference that listens for "D", but I think using the feature is cleaner -
when it works.

So, to make the call bridged, I send it across a dhadi "local" span.  My
DAHDI configuration - system.conf:

fxsks=1-8

dynamic=loc,1:0,31,0
dynamic=loc,1:1,31,0

bchan=9-23,25-39
dchan=24

bchan=40-54,56-70
dchan=55

Channels 1-8 are the analog lines to the Toshiba.  I then set up two "E1"
spans (they aren't physical spans, but all stay within the system).
Basically, channel 9 ends up connected to channel 40.

Now, when a call comes in, if digits are provided early, I dial out via one
virtual E1 span into the other one.  I listen for the disconnect/answer
tones on the side facing the Toshiba.  The other side connects to the
extension, which immediately answer()'s and then dial()'s the destination
extension.  This makes Asterisk actually bridge the call between the Toshiba
and the fake E1, letting it hear the DTMF and process it.  Now the "D" tones
work and the "A" tones are mostly muted.  Outbound calls work a similar way,
just in reverse.

If nothing is dialed by the Toshiba on an incoming call, it goes to the
automated attendant in Asterisk.  I don't send this over the fake E1 spans,
as some options generate a transfer back to the Toshiba system, which is
best done with a "blind" transfer on the Toshiba side - something I'd have
trouble doing if I sent it over the fake E1 span.  Example:

exten => 850,1,Flash()
exten => 850,n,SendDTMF(850)
exten => 850,n,Hangup()

The Toshiba MWI lights are set via an external notify script from voicemail,
that initiates a call with the proper codes.

Things I'd like, that I don't have, with this current integration are:

1) Knowing who is calling into the Toshiba, when the call is forwarded by
the Toshiba.  Basically, caller ID.
2) Complete elimination of the "A" tone, which doesn't seem possible if the
"D" tone is still sent.

I'd be interested in hearing how others may have done this, if you have
experience with this.

OT: The company I work for is hiring!  We're hiring a Senior System
Administration and several software engineering positions in Denver.
Visit: http://www.localmatters.com/careers

-- 
Joel Maslak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20100724/4af07405/attachment.htm 


More information about the asterisk-users mailing list