Rich Adamson wrote:
We have several people using SIP softphones in the office. When they leave
for the day, they power down their workstations, causing their registration
with Asterix to quickly timeout.

Here's the entry for one such extension in extensions.conf:

exten => 8102,1,Dial(SIP/someone,20)
exten => 8102,2,Voicemail(u8102)
exten => 8102,3,Hangup
exten => 8102,102,Voicemail(b8102)
exten => 8102,103,Hangup

The desired behaviour when they're gone for the day is to have their
voicemail play the 'unavailable' greeting, and record a message.
Unfortunately, it seems to play the 'busy' greeting instead:

   -- Executing Dial("SIP/darren-0eee", "SIP/someone|20") in new stack
 == Everyone is busy at this time
   -- Executing VoiceMail("SIP/darren-0eee", "b8102") in new stack
   -- Playing 'voicemail/default/8102/busy' (language 'en')

Obviously this is misleading to the customer ... the person at that
extension isn't even in the office, let alone busy.

Is this the intended result when trying to dial a disconnected SIP
extension, or have I misconfigured something? Does the dialplan above, which
was built using analog handsets, need to be more intelligent to deal with
SIP connectivity/registration status?

I've noticed the same thing. I don't believe its the desired behaviour
but I don't read C-code well enough to fix it either.

Add this check to your stdexten macro: exten => s,3,DBget(sipcheck=SIP/Registry/${sipdevicenameinsip_conf})

Check DBget on the wiki. If it fails, there's nothing registred and you can forward
directly to unavailable. If it succeeds, there's a current registration and you can 
dial as usual.

I hope this helps.
/O

_______________________________________________
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to