<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Thanx Jacob,
<p>I did notice the locking phones at night mails in the list, and I have
just finished making the solution and it is just what I wanted here is
my addition in the extension.conf (with trixbox I did it in extensions_trixbox.conf),
note I have used the Authenticate command also with the astdb just serach
voip-info for the command and you will understand the drill, for each phone
number I added the password needed&nbsp; using the database put command
from console&nbsp; :
<br>&nbsp;
<p>;MAG Addition for phone locking
<br>;to lock extensions
<br>exten => *00,1,Wait(1)
<br>exten => *00,2,Answer
<br>exten => *00,3,Authenticate(/${CALLERID(num)}|d) ; the caller will
be prompted for password
<br>exten => *00,4,Set(DB(LOCKPHONE/${CALLERID(num)})=1)&nbsp; ; if passed
the lock variable will be set to equal one
<br>exten => *00,5,Hangup
<p>;to unlock extensions
<br>exten => *01,1,Wait(1)
<br>exten => *01,2,Answer
<br>exten => *01,3,Authenticate(/${CALLERID(name)}|d) ; same as above
<br>exten => *01,4,Set(DB(LOCKPHONE/${CALLERID(num)})=0); reverse of the
above
<br>exten => *01,5,Hangup
<p>All that is left is to make a line that checks the variable in astdb&nbsp;&nbsp;
when the calls are going to trunks and ofcourse made the trunk responsible
for emergency calls without this feature so you can only call the police,
ambulance, power and fire departments and internal extensions but not the
costly outside calls
<br>&nbsp;
<br>&nbsp;
<p>Thx
<br>MAG
<br>&nbsp;
<p>Benjamin Jacob wrote:
<blockquote TYPE=CITE>Mohamed A. Gombolaty wrote:
<p>> Dear Rich,
<br>>
<br>> It seems that my question is very general I apologize for that, but
I
<br>> am glad to see others like yourself pointing me in different
<br>> directions, it seems all around the world we have problems with the
<br>> cleaning folks.
<br>>
<br>> What I have in mind is to make the phone user lock his phone when
he
<br>> is leaving with a special code and relock it back when he comes to
<br>> work (and
<br>>
<br>u mean unlock it......
<p>> as for emergency calls there are attendants who work at night who
will
<br>> be able to make an emergency call whenever needed at the spot), now
<br>> there is nothing that seems to be able to do that directly, I have
<br>> played around with the gotoiftime and also the time based dial plan
<br>> include sent in mails before that.
<br>>
<br>> But while working I thought of another approach why not create a
php
<br>> web interface that each user logs in with a special username and
<br>> password and gives him access to lock his phone, and what php does
is
<br>> actually change the secret password to something else than the
<br>> configured on the phone, this should make the phone unable to
<br>> authenticate thus not being able to make a call, and unlocking it
<br>> returns the password to it's right form, I have already found the
<br>> tables that I need to play around so I will restart making the php.
I
<br>> will update the list back with my final result.
<br>>
<br>>
<br>> Do you guys think I could send a mail to the dev site to see if they
<br>> can add this&nbsp; feature to asterisk.
<br>>
<br>Am writing a few dialplans that you could use. I havent testted it..
u
<br>might have to refine it.. am writing all this at runtime :-)
<p>To lock and unlock phones, you need not go to php and change passwords
<br>etc. You can use DB operations.
<p>To lock phones, users can call into one particular number, e.g. *01
<br>[lockphone]
<br>exten => *01,1,Set(DB(LOCKPHONE/${CALLERID(num)})=1})
<p>To unlock phones, u set the DB custom variable LOCKPHONE&nbsp; to zero,
using
<br>another number, say *02
<br>[unlockphone]
<br>exten => *02,1,Set(DB(LOCKPHONE/${CALLERID(num)})=0})
<p>So, to avoid calls, you'll have to check the value of this custom
<br>variable everytime. To avoid repeated checks even in the day time,
you
<br>can put the following dialplan, only in contexts which are invoked
at
<br>night(read the previous posts).
<p>[night-context]
<br>exten => 911,1,Dial(Zap/999)&nbsp; ;;;;;;;;;;;wotever syntax, I've
never
<br>worked with ZAP, for 911 emergency calls even at night.
<br>include => lockphone
<br>include => unlockphone
<br>include => othernumbers
<p>[othernumbers]
<br>exten => _[0-9].,1, Set(locked=DB(LOCKPHONE/${CALLERID(num)}))
<br>exten => _[0-9].,2,GotoIf($[${locked}=0]?:5)&nbsp;&nbsp;&nbsp; ;;;;;;;;
allow call only
<br>if phone is unlocked
<br>exten => _[0-9].,3, Dial(SIP/${EXTEN})&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
;;;;;;;; phone is
<br>unlocked , so call away to glory
<br>exten => _[0-9].,4, Hangup
<br>exten => _[0-9].,5, Playback(hussh-sleep-now)&nbsp; ;;;;;;;;;;; cant
call
<br>now, cuz phones locked
<br>exten => _[0-9].,6, Hangup
<p>Now you lock n unlock ur phones whenever u want.
<p>cheerz
<br>- Ben.
<br>_______________________________________________
<br>--Bandwidth and Colocation provided by Easynews.com --
<p>asterisk-users mailing list
<br>To UNSUBSCRIBE or update options visit:
<br>&nbsp;&nbsp; <a href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users</a></blockquote>

<pre>--&nbsp;
Thx
MAG</pre>
&nbsp;</html>