[Asterisk-Users] Transferring Using Flash

Michael Collins mcollins at fcnetwork.biz
Thu Jan 26 17:35:42 MST 2006


Chris is correct: this sounds a lot like a good old-fashioned analog
port timing issue.  I've spent years installing old analog VM systems on
different PBX/KSU systems.  In addition to the Wait(1) that Chris
suggests, I would like to offer some other suggestions:

If you have a butt set or some type of analog phone that will allow you
to tap onto the analog port that would be good: listening for the hook
flash and the DTMFs is the best way to know what is REALLY going on with
the analog port.

Also, be ready to check the various timers in both systems.  For
example, what is the hookflash timing on the * box?  Is the flash too
long or too short?  On my old NEC KSU's, the hookflash had to be at
least 600ms but no more than 1000ms.  Less than 600ms = no flash, more
than 1000ms = hangup.  Other timers that can come into play are the DTMF
timers: DTMF length and inter-digit delay.  In other words, for how many
ms is Asterisk playing each DTMF, and how many ms in between each DTMF?
The Fujitsu might need longer DTMF times and longer silence between
digits.  If you can check the settings on the existing VM system that
(presumably) is working well with the Fujitsu then you'd at least have
some idea of what the timers would need to be on the Asterisk side.

HTH,
Michael

-----Original Message-----
From: asterisk-users-bounces at lists.digium.com
[mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Chris Shaw
Sent: Thursday, January 26, 2006 3:16 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: Re: [Asterisk-Users] Transferring Using Flash

Will Szopko wrote:
> Greetings.
>
> I am attempting to configure a system based on Asterisk 1.2.3 to be
used
> as a backup should our aging voice mail/auto attendant system fail,
which
> seems increasingly likely given its advanced years. The first part of
this
> task is getting the auto attendant feature to work correctly, which I
> would have figured to be relatively easy. I have successfully built a
menu
> structure, but cannot get Asterisk to transfer calls back to the
legacy
> PBX (Fujitsu F9600). In essence, all I require Asterisk to do is:
>
> 1) read the extension digits entered by a caller;
> 2) flash the line [Flash()];
> 3) dial the extension using DTMF [SendDTMF(${EXTEN})]; and,
> 4) hang up [Hangup()].
>
> Unfortunately, I've not been able to make this work and was hoping
someone
> might tell me where I'm going wrong. The problem appears to be in the
> "flash" portion of the above procedure.
>
> Asterisk Server Setup
> -------- ------ -----
>
> - Ubuntu Linux 5.10 (Breezy Badger) for AMD64
> - Linux 2.6.15 kernel (custom-built)
> - Asterisk 1.2.3 (built from source)
> - Zaptel 1.2.2 (built from source)
> - Digium TDM2402E (8 FXO ports)
>
> Legacy PBX Hookup
> ------ --- ------
>
> The Asterisk server is connected to our Fujitsu F9600 via 4 analog
> connections with the 9600 providing dial tone.
>
> What I Want to Happen
> ---- - ---- -- ------
>
> 1) Call comes into legacy PBX.
> 2) PBX transfers call to Asterisk.
> 3) Asterisk goes through greeting and offers to take an extension to
which
> to transfer.
> 4) Caller enters transfer.
> 5) Asterisk transfers the call back to the PBX using the steps
described
> above.
>
> Asterisk Configuration
> -------- -------------
>
> /etc/zaptel.conf
>
> fxsks=1-4
> loadzone=us
> defaultzone=us
>
>
> /etc/asterisk/zapata.conf
> [trunkgroups]
>
> [channels]
> ; hardware channels
> ; default
> usecallerid=no
> hidecallerid=yes
> callwaiting=no
> threewaycalling=yes
> transfer=yes
> cancallforward=yes
> echocancel=yes
> echotraining=yes
> busydetect=yes
> callprogress=no
>
> ; define channels
> context=greeting
> signalling=fxs_ks
> channel => 1-4
>
>
> /etc/asterisk/extensions.conf
>
> exten => _[45]XXX,1,Flash()
> exten => _[45]XXX,n,SendDTMF(${EXTEN})
> exten => _[45]XXX,n,Hangup()
>
>
> What Happens
> ---- -------
>
>     -- Executing Flash("Zap/4-1", "") in new stack
> Jan 26 16:10:17 WARNING[4564]: chan_zap.c:3907 zt_handle_event:
> Ring/Off-hook in strange state 6 on channel 4
>     -- Flashed channel Zap/4-1
>     -- Executing SendDTMF("Zap/4-1", "4424") in new stack
>     -- Executing Hangup("Zap/4-1", "Zap/4-1") in new stack
>
> Upon executing the Hangup command the phone goes dead without the
transfer
> having been made. The one odd thing here is the warning about the
"strange
> state 6" on channel 4.
>
> Other Things I've Tried
> ----- ------ ---- -----
>
> 1) I've tried a phone plugged directly into one of the lines on the
PBX,
> did a flash on the phone, and successfully transferred a call with no
> problems.
>
> 2) I swapped out the TDM2400 and tried a TDM400. It does the same
thing as
> above, but without the "strange state" warning.
>
> 3) I tried Asterisk 1.0.10. It does the same thing.
>
> If anyone has any ideas of what may be going on here, I'd very much
> appreciate some assistance. As I'm learning about Asterisk I am
finding a
> lot to like, but am getting frustrated that I cannot make this work.
> Thanks for your help.
>
> - Will
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
>
>
>   
Don't get discouraged!

It looks like you've got the right idea. What might be happening is that

Asterisk isn't waiting long enough for the PBX/KSU to respond to the 
flash. What you might try is inserting a wait(1) in between your flash()

and your SendDTMF() like this...

exten => _[45]XXX,1,Flash()
exten => _[46]XXX,2,Wait(1)
exten => _[45]XXX,3,SendDTMF(${EXTEN})
exten => _[45]XXX,4,Hangup()

If that doesn't work try chaing wait(1) to wait(2).

The other thing that might be happening is that the flash is too short 
for your PBX/KSU to recognize it. If your PBX/KSU supports it, you could

try changing the flash timing through system programming. Nortel 
NorStars call it "Link Time" other systems call it "Reach Through". Try 
setting the timing between 400 and 600 ms and also keep the Wait(1) in 
the dialplan to give your PBX/KSU enough time to handle the flash.


    Hope this helps you!
    -Chris

-- 
Chris Shaw
IT Manager
Precision Pump, Inc
150 N Main St
Banks, OR 97106

Phone: 503-324-2361
Fax: 503-324-2203
E-Mail: chriss at precisionpump.net

_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

Asterisk-Users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users



More information about the asterisk-users mailing list