Use flash to put callers on hold

Hi all,

When I wanted to put a caller on hold with my old pbx, I would simply press FLASH and obtain a second dial tone, effectively putting the user on hold. Using flash on * and FreePBX closes the connection. I don’t seem to find any options in the FreePBX modules for that. How can I setup a FLASH to hold feature?

TIA

Hi all,

It seems that Asterisk and FreePBX is “supposed” to handle the flash/link feature on zap channels. It does not work on my box at all from zap channels.
I noticed that my zapata.conf does not have a “flash=” entry and put one in there (I tried 200 and 750) but none of these work.

I am currently using FreePBX 2.3.0.3, Asterix 1.2.18.

Here is what happens when I “flash” a caller:

-- Hungup 'Zap/8-1'

== Spawn extension (macro-dial, s, 10) exited non-zero on ‘Zap/7-1’ in macro ‘dial’
== Spawn extension (macro-dial, s, 10) exited non-zero on ‘Zap/7-1’ in macro ‘exten-vm’
== Spawn extension (macro-dial, s, 10) exited non-zero on ‘Zap/7-1’
– Executing Macro(“Zap/7-1”, “hangupcall”) in new stack
– Executing ResetCDR(“Zap/7-1”, “w”) in new stack
– Hungup ‘Zap/8-1’
== Spawn extension (macro-dial, s, 10) exited non-zero on ‘Zap/7-1’ in macro ‘dial’
== Spawn extension (macro-dial, s, 10) exited non-zero on ‘Zap/7-1’ in macro ‘exten-vm’
== Spawn extension (macro-dial, s, 10) exited non-zero on ‘Zap/7-1’
– Executing Macro(“Zap/7-1”, “hangupcall”) in new stack
– Executing ResetCDR(“Zap/7-1”, “w”) in new stack
– Executing NoCDR(“Zap/7-1”, “”) in new stack
– Executing GotoIf(“Zap/7-1”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,6)
– Executing GotoIf(“Zap/7-1”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing GotoIf(“Zap/7-1”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,11)
– Executing Hangup(“Zap/7-1”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on ‘Zap/7-1’ in macro ‘hangupcall’
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on ‘Zap/7-1’
– Hungup ‘Zap/7-1’
– Executing NoCDR(“Zap/7-1”, “”) in new stack
– Executing GotoIf(“Zap/7-1”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,6)
– Executing GotoIf(“Zap/7-1”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing GotoIf(“Zap/7-1”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,11)
– Executing Hangup(“Zap/7-1”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on ‘Zap/7-1’ in macro ‘hangupcall’
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on ‘Zap/7-1’
– Hungup ‘Zap/7-1’

My questions are:

  1. After modifying zapata.conf, is it enough to run “amportal restart” for the setting to “take”?

  2. Is there a known problem /solution (I have been searching this and other sites for 2 days regarding this) relating to the link/flash on zap?

  3. Is there any possibility that this problem be related to another issue I am having, which is that no CID are sent from zap fxs channels to other zap or sip extensions, but sip extension CIDs are sent properly to my zap FXS?

Thanks for your help!

Hi Patb

Could you let us know what config you are running,

re what phones you are trying to use flash with, and what interfaces you are using, ISDN/SIP/PSTN

Ken

Hi Ken,

I am using plain old home phones on FXS lines: a few different Panasonic wireless phones, a Nortel 2 line phone, and a really crappy $10 phone. All of which have a flash/link feature. I am using a Sangoma A400 with 6 FXOs and 18 FXS.
I am able to park my callers using ##70 - works great. Maybe I’ll have to train my users to use that instead :slight_smile:
I am running all this with Trixbox.

I am not certain which config files would be useful to look at here are the zap related files:


; Autogenerated by /usr/local/sbin/sangoma/setup-sangoma – do not hand edit
; Zaptel Channels Configurations (zapata.conf)
;
; This is not intended to be a complete zapata.conf. Rather, it is intended
; to be #include-d by /etc/zapata.conf that will include the global settings
;
callerid=asreceived

;Sangoma A400 [slot:7 bus:2 span:1]
context=from-zaptel
group=0
signalling = fxs_ks
channel => 1

context=from-zaptel
group=0
signalling = fxs_ks
channel => 2

[snipped … 3,4,5…]

context=from-zaptel
group=0
signalling = fxs_ks
channel => 6

context=from-internal
group=1
signalling = fxo_ks
channel => 7

context=from-internal
group=1
signalling = fxo_ks
channel => 8

/// rest is snipped…


;autogenerated by /usr/local/sbin/config-zaptel do not hand edit
;Zaptel Channels Configurations (zapata.conf)
;
;For detailed zapata options, view /etc/asterisk/zapata.conf.orig

[trunkgroups]

[channels]
context=default
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
relaxdtmf=yes
rxgain=0.0
txgain=0.0
group=1
callgroup=1
pickupgroup=1
flash=1220 ; Was not part of original script, I Tried 50, 200, 750, 1000, 1220, NO difference!

immediate=no

;Sangoma A400 [slot:7 bus:2 span:1]
context=from-zaptel
group=0
signalling = fxs_ks
channel => 1

context=from-zaptel
group=0
signalling = fxs_ks
channel => 2

context=from-zaptel
group=0
signalling = fxs_ks
channel => 3

context=from-zaptel
group=0
signalling = fxs_ks
channel => 4

context=from-zaptel
group=0
signalling = fxs_ks
channel => 5

context=from-zaptel
group=0
signalling = fxs_ks
channel => 6

context=from-internal
group=1
signalling = fxo_ks
channel => 7

context=from-internal
group=1
signalling = fxo_ks
channel => 8

/// rest is snipped…


Just in case…
zapata_additional.conf

; do not edit this file, this is an auto-generated file by freepbx
; all modifications must be done from the web gui

;;;;;;[111]
signalling=fxo_ks
record_out=Adhoc
record_in=Adhoc
[email protected]
immediate=no
echotraining=800
echocancelwhenbridged=no
echocancel=yes
dial=ZAP/18
context=from-internal
callprogress=no
callerid=device <111>
busydetect=no
busycount=7
accountcode=
channel=>18

//// rest is snipped

is zapata_additional.conf included last, after the transfer and threewaycalling settings?

Philippe Lindheimer - FreePBX Project Lead
http//freepbx.org - IRC #freepbx

Hi Philippe,

Thanks for the tip - Neither zapata_aditional nor zapata-auto was there. I’ll put them in and test on Monday when I am sitting in front of the box and the phones. If I understand correctly, the script I ran (sangoma-setup or something similar) overwrote your original file, effectively breaking the sequence… That would likely also explain the missing CID’s right? I still have lots to learn about your great product, but am looking forward to putting it to work at my office soon! Maybe Monday :slight_smile:

Unfortunately, internal calls (SIP and FXS) callers are still dropped (hangup) when calling an FXS extension and the callee “flashes” the caller.

The missing #includes did however solve my CallerID problem.

Any idea where I should look next?

TIA

Hi,

there is an option in ‘zconfig.h’ for ‘#define SHORT_FLASH_TIME’

This is commented out by default, you need to remove the comment around it ‘/* */’ and recompile / install.
I believe this takes the required flash time from 800mS to 80mS.

This mod gets it working fine with UK phones using the ‘R’ recall button.

You may also need some entries in zapata.conf, something like
threewaycalling=yes
transfer=yes
useincomingcalleridonzaptransfer=yes

Thanks R,

I’ll try that. One more noob question then! What is the preferred method to do the recompilation, what documentation do you rely on?

PatB