[asterisk-users] Integration with Toshiba Strata DK424
Ryan Wagoner
rswagoner at gmail.com
Sat Jul 24 12:02:13 CDT 2010
On Sat, Jul 24, 2010 at 12:44 PM, Joel Maslak <jmaslak at antelope.net> wrote:
> 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
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> New to Asterisk? Join us for a live introductory webinar every Thurs:
> http://www.asterisk.org/hello
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
Below is an article I was writing about our Toshbia and Asterisk
integration. I'm currently in the phase out period of the Toshiba
system and only have about 20 extension left. I have 150 Polycom
phones and 50 Snom phones. The Snom phones were our first purchase and
they just don't compare to the Polycoms. The Snom speakerphone is
terrible and the phone interface is laggy.
In order to make the transition to Asterisk and SIP phones seamless I
had to integrate the current Toshiba Strata CIX PBX with over 150
digital phones. Toshiba utilizes StrataNet to connect multiple Toshiba
Strata phones systems together. StrataNet is essentially QSIG
signaling over PRIs. Asterisk also supports QSIG with LibPRI and
DAHDI. Using a Sangoma A104D PCI Express card a trunk was created
between them.
To give you an overview the Asterisk box is connected to the phone
provider with 3 PRIs for local and long distance calls and 2 PRIs for
long distance only calls. The Toshiba is then connected to Asterisk
with 4 PRIs. Three of these PRIs are used for external calls and one
is used for internal calls. This was done due to a limitation on the
Toshiba. At minimum you would need 2 PRIs between Asterisk and
Toshiba. In order for any employee to have a softphone along with a
SIP or digital phone all calls must pass through Asterisk and use
Follow Me to dial back to the Toshiba.
The initial configuration was with all 4 PRIs between the Toshiba and
Asterisk box in the same Outgoing Line Group (OLG) and Incoming Line
Group (ILG). However with the OLG set to cut-through mode, the redial
button wasn't functional and the SMDI call accounting data was wrong.
The Toshiba was truncating the digits, probably due to it looking for
an extension of 5 digits or less. Setting the OLG to senderized mode
made dialing an internal extension take 10 seconds for the time out to
occur. Grabbing a pool line or pressing 9 for Least Cost Routing (LCR)
to dial an internal extension cut this down to 5 seconds, but it still
wasn't acceptable. The employees were used to the Toshbia dialing
immediately and not having to press 9 for internal extensions.
The final configuration I came up with was leaving all 4 PRIs in the
same ILG. I created 2 OLGs, the first with 3 PRIs for LCR to use for
external calls. This one was set to senderized mode. The other OLG had
the last PRI for StrataNet to dial internal extensions and was set to
cut-through mode. Make sure to set the digit modification for the
StrataNet route to delete the first 2 digits. This is needed as
Toshiba appends the network node id.
Now employees have the best of both configurations. Internal
extensions dial immediately and external numbers aren't truncated. On
the Asterisk side I made sure the StrataNet PRI was plugged into the
highest channel PRI of the 4. Calls from Asterisk to Toshiba will fill
the first 3 PRIs before rolling into the single PRI for internal
calls.
The Toshiba extensions were originally 4 digits so I changed them all
to 5 digits with a 2 in front so Asterisk would handle the 4 digit
extension when dialed. You need to add all the 4 digit extensions to
the StrataNet DN page. This makes Toshiba aware that these extensions
are on the Asterisk box.
Back on the Asterisk side create all the 4 digit extensions. Add a
Follow Me for each extension to include the 5 digit extension on the
Toshiba followed by a #. You will also need to create an outbound
route for 2NXXX to go to the Toshiba trunk. You can now dial the 4
digit extension on either Asterisk or Toshiba and both SIP and Toshiba
phones will ring.
If you need more details on the Toshiba side of the configuration you
can get a good idea of the StrataNet settings by referencing <a
href="http://http://www.avaya.com/usa/resource/assets/applicationnotes/toshibaqsig.pdf">"Configuring
T1/QSIG Trunk between Avaya Communication Manager and Toshiba Strata
CIX670</a>".
Ryan
More information about the asterisk-users
mailing list