Summary:ASTERISK-04818: bridged call with FXO port not translating DTMF tones into pulsedial when pulsedial=yes
Reporter:Sergey Basmanov (sb)Labels:
Date Opened:2005-08-11 12:09:21Date Closed:2011-06-07 14:10:04
Versions:Frequency of
Description:Sometimes, when * FXO port connected to PBX that don't accept DTMF but only pulsedial, it's impossible to get access to external lines of this PBX. Especially this is in case when I need to wait for second dialtone. For example:
I'm dialing 9 on my SIP phone and I hear dialtone from PBX's external line (* dials 9 on FXO). Then I can dial 8 to get new dialtone to place longdistance call. But anything after first 9 going as DTMF and of course not detected by PBX.


Why FXO channel stays in DIALING state even after call answered?
I see messages in log: "Dropping frame since I'm still dialing on %s..." (zt_write) after dialed 9 on FXO and got second dialtone.

As I can see, there is no handling of AST_FRAME_DTMF in zt_write.
Where this handling must be done in chan_zap ?
Comments:By: Michael Jerris (mikej) 2005-08-27 01:30:51

can you please reply with what type of hardware this is with.  If this is digium hardware, I suggest we close this out, and you follow up with digium support.

By: Sergey Basmanov (sb) 2005-08-29 00:57:14

This is not hardware issue. It's chan_zap issue only. May be this is wctdm/wcfxo driver issue too. I think in zapata.conf should be an option: 'pulsedialwhenbridged'. With this option set to yes, chan_zap must send all digits in bridged call not as dtmf, but as pulsedial. Also, there must be another option 'pulsedialwhenbridgedtimeout'. With this option chan_zap must translate dtmf into pulse within specified timeout after call was answered (bridged). And there is no 'w' handling in dial string, when pulsedial=yes.
Of course, this issue related only to FXO interfaces (Digium,clones,...)

By: Kevin P. Fleming (kpfleming) 2005-08-29 18:18:44

We are going to close this as 'not an issue' since it has never been documented that FXO ports could be used for pulse dialing after the call has been connected. If you wish to get this feature implemented, you will need to either create the patch yourself or work with other members of the community to get the code written.