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
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@precisionpump.net
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@lists.digium.com [mailto:asterisk-users-bounces@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 beused> as a backup should our aging voice mail/auto attendant system fail,which> seems increasingly likely given its advanced years. The first part ofthis> task is getting the auto attendant feature to work correctly, which I > would have figured to be relatively easy. I have successfully built amenu> structure, but cannot get Asterisk to transfer calls back to thelegacy> 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 hopingsomeone> 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 towhich> to transfer. > 4) Caller enters transfer. > 5) Asterisk transfers the call back to the PBX using the stepsdescribed> 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 thetransfer> 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 thePBX,> 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 samething 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 amfinding 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@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