Upgrade 3CX to v18 and get it hosted free!

Asterisk zaptel pulse dialing

Author image

Pulse Dialing on Zap Channels

Since 1.0.1 Asterisk has pulse dialing support for zapata channels. Just specify

pulsedial=yes

in zapata.conf

Workaround for Incorrect Pulse Decoding

If you are using FXS ports on a TDM400 card and are having problems with Asterisk not recognizing pulses, or misinterpreting the pulses that are dialed, you may need to perform the following steps (as of Zaptel v1.2.0):

1) Open the file wctdm.c from the Zaptel source in a text editor.

2) Locate the lines that read:

/* Reset the debounce (must be multiple of 4ms) */
wc->mod[card].fxs.debounce = 8 * (4 * 8);

(These can be found in the neighborhood of line 950.)

4) Then, cut this value (the pulse debounce time limit) in half by changing the wc-> line to the following:

wc->mod[card].fxs.debounce = 4 * (4 * 8);

5) Compile and install the Zaptel package and make sure that the new wctdm module is loaded. Asterisk should now receive pulse dials accurately and reliably.

(This solution was provided to me by Max on the asterisk-users list and has made my Asterisk 1.2.0 machine correctly receive pulse-dialed digits every single time.)

(Outgoing) Pulse Rates

Although most telephone exchanges are quite happy with rates of anywhere from 6 to 15 pulses per second (pps), the standard accepted by telephone companies is only 8 to 10 pps. Some modern digital phone exchanges, free of the mechanical inertia problems of older phone systems, will accept a pps rate as high as 20.

Besides the pps rate, the phone dialing pulses have a make/break ratio, usually described as a percentage, but sometimes as a straight ratio. The North American standard is 60/40 percent; most of Europe accepts a standard of 63/37 percent. This is the pulse measured at the phone, not at the phone exchange, where it’s somewhat different, having traveled through the phone line with its distributed resistance, capacitance, and inductance. In practice, the make/break ratio does not seem to affect the performance of the phone dial when attached to a normal loop.

There are three parameters to adjust pulse dialing make/break ratio when Asterisk sends pulse digits over an FXO interface.
So, configuration for European telephone lines will look like:

zaptel.pulse.make: 60
zaptel.pulse.break: 40
zaptel.pulse.pause: 800

The FreeBSD driver may allow you to adjust these values using sysctl.

See Also

Other Asterisk development by PortaOne


Asterisk


Article Reviews

Write a Review

Your email address will not be published. Required fields are marked *

Required Field. Minimum 5 characters.

Required Field. Minimum 5 characters, maximum 50.

Required field.There is an error with this field.

Required Field.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

There are no reviews for this article. Be the first one to write a review.

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.