Caller id vs. "delay" ringing through to extension

Hi all,

Apologies if this has been beaten to death (and please help me find any resources), but I’ve tried searching and find very little on the topic.

My basic configuration is this: I have an X100P hooked up to my PSTN line, which has caller ID.

My complaint is this: I have to choose between two alternatives with respect to ring-through (for lack of a better term) and caller id. Apparently, if I want access to caller id on an incoming ZAP channel, asterisk will not begin dialing my SIP channel extensions in my dial plan until sometime after the second ring.

From an external caller’s perspective, 2 rings have transpired before 1 happens on any internal extension.

The problem with this (from my wife’s perspective :wink: is that people are trained to expect a pickup in no more than 3 or 4 rings. If that doesn’t happen, they assume that nobody (person or voicemail or answering machine) will pick up, and hang up.

So 4 external rings amounts to 2 internal rings, which is often too short a time to pick up the extension.

What to do? From what I could find, the issue is that caller id is not passed until sometime between the first and second ring. So I can get more “synchronous” ringing between caller and internal extensions by turning off caller id in zapata.conf. Tried this and confirmed it worked.

But I find that a difficult trade-off. I hate to lose caller id, which I plan to “switch” on in my dial plans.

With that background, here’s my basic query: is this a common problem? Am I making too much of it? Do people have suggestions for working around it? Again, if this has been beaten to death, I apologize, but please point me towards any discussions you think might be enlightening.


Sadly, you have very clearly illustrated the problem.

Analog is not SIP. When a SIP call is launched, everything is known. Destination, incoming caller data, everything.

Analog calls are not like that. Incoming caller ID data is delivered in between the first and second ring in North America. In order to place a SIP call the system must wait for the delivery of the caller ID data to complete.

It’s part of the downside to using analog lines as trunks. They are intended as endpoints. Not trunks.

Thanks for the reply confirming my speculation.

So… for anyone who happens to end up on this thread with the same problem, here’s a simple thing I’m trying. Don’t know how well it will “come across” to callers yet.

I now answer the call in my dial plan, and playback a “one moment please” message, before dialing the house extensions. My thought is that the “one moment please” in some sense may “restart the clock” in terms of the callers expectations about when the call will get picked up. If it does have this effect, then everyone is essentially “counting rings” from the same starting point as soon as the message is played.

I’ll report back any other “brilliant ideas” or discoveries on this topic.


Can i ask what country you’re in?

I’m just curious, because i’ve noticed that different nationalities will let the phone ring for different lengths of time. For example, here in Australia, people will let the phone ring for maybe half a dozen rings before giving up. In England, people will hang on for ages letting a phone ring before giving up. I don’t know why it’s different.


I imagine it has more to do with technology and it’s acceptance than anything else.

Here in the US, most everyone has an answering machine in their home. Calls must be answered within 4 rings, or the machine gets it for you. It’s a setting that sometimes can be advanced to 2 rings or delayed to 6 rings, but most everyone has 4 rings to get the call if they’re going to get it at all. Callers are so well trained, that after 4 rings, they just give up if they’re not interested in leaving a message. The technology has gotten us to expect 4 rings, or no live human.

In the UK, most EVERYONE carries a mobile phone, and that has become their principal method of contact. No one sees a reason to put an answering machine on the home phone. They have voicemail on their mobile, so letting the home phone ring indefinately is ok. There’s no expectation that it will be answered by a machine, and you want to give the person time to get to the phone.

Of course, in some countries, the opinion of the wife isn’t a reason to go looking for a solution… Everyone is different. It would boring if we were all the same.

I’m in the US. And for what it’s worth, the wife’s opinion counts if I want to hook up my toy to the “real phone number” :smile:

I think dufus got it right.

Funny how these things are subconcious. I was never fully aware that I was trained to give up after 4 rings until I began testing my asterisk system, and demoing it to my wife. We both realized things felt a little “uncomfortable” after the 4th ring passed and there was no answering machine.

I don’t know if my “one moment please” trick is going to work or not. It seems a little strange to me. And it immediately raised my son’s eyebrows: “how’d you make that happen”? On the other hand it was the entree to a great discussion with a buddy of mine (who’s now intrigued by asterisk) who happened to call when we temporarily hooked the system up to our main phone line. And I can already see my wife coming home with “Cathy wants to know why the phone company lady always says ‘one moment please’ when I call your house”.

dufus, you’re right, in the UK we do all seem to have a mobile … although it makes me cross to see 8-year-olds wandering around with hundreds of pounds (GB£) worth of handset !!

back on-topic, what effect does changing “immediate=no” in zapata.conf to “immediate=yes” ? if you’re not using an FXS card as well i’m thinking it will start asterisk ringing extensions faster. as we get CID here before the first ring i configure TDM cards like this to avoid the delay and it works a treat (and saves the questioning when someone has an external bell that rings what seems a lifetime before asterisk !!)

of course, this might break your CID altogether :frowning:

and no-one has an ansafone here because the telco provide one for free !!

The “one moment please” method should work, but the downside is you’ve answered the call.

You may end up annoying all those people who expect to get 4 rings, and then hangup.

People like that are not expecting to have to pay for the call. (they hung up before anyone or anything answered)

I’d probably take a completely different direction. Greet the caller. “Hi!, you’ve reached the Telecom’s. To speak to us, please press one or stay on the line. To leave a message for a family member press 2.”

Alternatively, you could leave one analog phone off the system, and let that be the “initial ring” indicator. (I’m partial to having a phone that can bypass the system anyway. Just in case…)

The real fix is to bring in actual trunking service. ISDN BRI service would be ideal. When calls arrive, they arrive with all the caller ID information they need to start a call, so Asterisk doesn’t have to wait any ring cycles.

ISDN service is GENERALLY priced in a similar way as analog voice, as long as you ask that the line be provisioned for voice. Your local rates and other things should not increase in price. (Though the ISDN service itself may incur an increased fee. It’s ususally only a few dollars more, if it’s anything at all.) If you provision for data, watch out… There are no established tarrifs for data service, and they can charge you whatever they want per minute/per channel in the US.

Of course the downside is the power necessary to keep the service online. In the event of a power outage, you’re hosed if all you have is Asterisk, and a BRI. At least analog is still dial tone in an emergency.

Very helpful discussion.

I thought about implementing the greeting that you described. I may try that, as it’s a little more obvious what’s going on to the caller than the “one moment please”.

I also like the “initial ring indicator”, and think I’m going to have to have at least one analog phone on the PSTN line as a “security blanket” 'tll we call get comfortable with this stuff anyway.

Interesting note about the ISDN too. I had ISDN for data service ages ago, and only had it because my company was paying the outrageous service fee for it. Regarding the power question: is it just the ISDN modem that’s an issue (i.e., if I have the ISDN modem on a UPS, does the ISDN line stay up during a power outage the same way an analog line would)? I probably even have that modem laying around in a closet somewhere…

Thanks for the great input.


A ups would be all that you would need, but you’d have to power the whole machine that’s running Asterisk, as that would have the ISDN card in it.

Something big enough to carry a decent PC for 2 to 4 hours would need to be bigger than the $75 models you find in the computer stores.

Of course, if you have a cell phone (and the ability to forward your landline to your cell phone) that might cover it nicely…

It occurs to me that this is less of an Asterisk or Digium board problem and more of a limitation of the SIP protocol. SIP, lacking a method to provide status messages to any channel, can’t make use of “call progress” data. (ie incoming call, caller ID data, caller chose to go to voicemail, caller has indicated that this call is urgent, please pick up!) If we had some way to signal a SIP channel to start the ring, then update the call with CID or other data, this would be less of an issue.

One of the things I’d like to be able to do is send progress data to callers using SIP phones. You’d think that I’d be able to send call status data to a SIP phone’s display to say things like “ringing”, “station forwarded”, “station is in ‘do-not-disturb’ mode”, “directed to voicemail”, etc… but I can’t do it.

I guess that SIP is too young of a protocol.