[Asterisk-Users] Able to tell if phone is registered?

Bill Seddon bill.seddon at lyquidity.com
Wed Feb 23 11:37:49 MST 2005


<< I was wondering if I could do something with regexten, but seemed
like a 
messy solution. Is there any other way? I don't mind getting my hands 
dirty with perl or C, but I wouldn't really know where to start ...>>

A suggestion is to take a look at the commands available at the CLI and
determine if the information they provide would meet your requirement.
In particular look at the command "database show".  This will/should
show the phone registered and you can query the contents of the database
from the dialplan using DBGet().

If this does not meet your needs you could try some of the other command
to see if they do provide the information you are looking for.  For
example, the CLI command "sip show peers".

Information such as that from the sip show peers command is not
available (so far as I'm aware) from the dialplan.  However, if one or
more CLI commands do provide the information you are looking for and you
are prepared to write a little code, you can use the Manager API to call
these commands and write the status into the registry database or into
variables.

It would be inefficient to have to run a manager command periodically.
Fortunately, Asterisk provides some "event" information to processes
listening on the Manager API port. The events broadcast include
register/unregister actions.  By monitoring the events your code can
respond to the events of interest and, for example, update status
variables dynamically.  For more information about the Manager API see:

http://www.voip-info.org/tiki-index.php?page=Asterisk%20manager%20API

Bill Seddon

Lyquidity Solutions Limited


-----Original Message-----
From: asterisk-users-bounces at lists.digium.com
[mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Tim Pushor
Sent: February 23, 2005 5:56 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: Re: [Asterisk-Users] Able to tell if phone is registered?

Kevin,

Thanks for the reply, and thats what I am doing now, but I would really 
like to know in advance if a particular phone has been registered before

taking a certain action.

I was wondering if I could do something with regexten, but seemed like a

messy solution. Is there any other way? I don't mind getting my hands 
dirty with perl or C, but I wouldn't really know where to start ...

Thanks,
Tim

Kevin P. Fleming wrote:

> Tim Pushor wrote:
>
>> I have a new asterisk setup running at home and am very happy with 
>> it. One thing that I am trying to do is to take various actions in 
>> the dialplan *if* a particular phone is 
>> registered/authenticated/connected. For example, if someone dials 
>> *me* and is shows that I am connected via my softphone, to try it 
>> instead of my deskphone (and possibly notifiy the user in advance 
>> that it is taking that action).
>
>
> Just go ahead and try to send the call there... it will fail 
> immediately if it is not registered, with a DIALSTATUS of CHANUNAVAIL.
>
> If you are using CVS HEAD, you can use "regexten" to accomplish 
> something similar, but I wouldn't recommend it as it's about to change

> :-)
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users

_______________________________________________
Asterisk-Users mailing list
Asterisk-Users at lists.digium.com
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users





More information about the asterisk-users mailing list