Detecting an Unregistered (Power or Network Issue) Phone

First off, I am not a complete novice but this we are currently working on configuring our first install. I have attended the FastStart and Advanced classes. I’ve noticed that if I dial the extension of a phone that is in working order – good power and network connection – I hear ringback on the calling phone. However, if that phone is powering up or the network cable is disconnected, I hear nothing until the configuration sends it to voicemail. In our Cisco VoIP system, there is an Unregistered status for sending calls immediately to voicemail. Is there a DIALSTATUS option – or something else – that knows the phone is not available because Asterisk can’t communicate with it that will send the caller directly to voicemail instead of trying to call it for the twenty (20) second timeout and then sending the caller to voicemail. And during this twenty (20) seconds they hear nothing but silence. I have not yet been able to glean anything from the documentation but continue to work on it. Any suggestions are much appreciated. Thank You.

You need to use qualify, although a phone that really is unregistered should also fail fast.

If I may be so bold as to ask, please define quality. My apologies in advance for my ignorance. I would think that if I intentionally unplugged the ethernet cable on a Polycom SIP phone or pulled the power cord I would see it unregister in Asterisk at some point. Such is not the case. Perhaps what I am asking is not within the purview of Asterisk. I have tried Checking Device States example in Asterisk version 3 that states when I dial the extension for that test from the phone I am testing, it should show busy. However, no matter what I do, the state always shows as unknown. Thank You for your response.

Qualify: see sip.conf.sample. Asterisk tests the connectivity by sending OPTION packets and will reject connections if it failed to get a reply.

Registrations have a lifetime. The device will only go unavailable once that time expires after a successful registration and assuming you address the device using the sip.conf entry. Sensible lifetimes could be up to about half an hour.

Are you using


in your friend/peer definition in sip.conf?

I am facing problem that is sip sj phone on windows 7 registrations with asterisk.

It register when install on xp but not register when install on windows 7



satti: Please don’t tail end existing threads;start a new one for a new subject.

This clearly indicates a problem with the soft phone or Windows, so there will be little expertise here, and you have provided no diagnostic information.

Although it has its problems, most people use X-Lite on Windows. However hard phones cause a lot less problems.

Thanks, david55. That seems to have done the trick. I set the sip.conf peer to qualify = yes and then set the following in the extensions.conf configuration for the test user. As soon as I unplug the ethernet cable the CLI tells me the phone is unreachable and when I try to dial that extension, it immediately goes to voicemail.

In sip.conf
type = friend
host = dynamic
secret = ***********
context = users
callerid = Jim Reed <12311>
mailbox = 12311@default
quality = yes

In extensions.conf
exten => 12311,1,Dial(SIP/jreed2_gj,20)
exten => 12311,n,GotoIF($[${DIALSTATUS} = UNREACHABLE]?unreachable)
exten => 12311,n(unreachable),VoiceMail(${EXTEN}@default,u)
etc. etc.

Again, thanks for being patient with the old guy. Learning is a never-ending process – even when you’re 63!

Forgot to thank dejanst as well. Do i also correctly infer from the sip.conf.sample that that qualify interval can be adjusted?

Yes, but not with qualify. The parameter of qualify is the round trip time above which the link is considered unusable. The one you want is qualifyfreq.

You might want to note that frequent qualifies can make life difficult if you have to debug a SIP problem, as the protocol trace will be full of OPTION requests and responses, and you will not be able to easily find the ones you are really interested in.