For european asterisk users...
If your phone's flash button doesn't work in asterisk (or asterisk thinks that you have dialed '1') it may be a problem of ZT_MAXPULSETIME being too high for european phones.
If the "pulse" is shorter than ZT_MAXPULSETIME ms, the zaptel driver takes it as a (pulse-dialed) '1'. If it's longer, it takes it as a "flash". By default ZT_MAXPULSETIME is 150 ms, but many phones in Europe use 80-120 ms flash pulses. The fix is recompiling the zaptel driver, changing the value for ZT_MAXPULSETIME in zaptel.h
(It's an old issue that has appeared several times on the * mailing lists, likehere