diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-02-13 22:02:20 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-02-13 22:02:20 +0000 |
commit | bb6564f8e744f7c8b28ba9a03b3f8f852952b5eb (patch) | |
tree | 6c0ae108c47a878e9cc329ef2c330982e02b80a3 /res | |
parent | 76f1766c9ff8e9d1c5c9e094b21ef880379b858e (diff) |
This introduces a new dialplan function, DEVSTATE, which allows you to do some
pretty cool things.
First, you can get the device state of anything in the dialplan:
NoOp(SIP/mypeer has state ${DEVSTATE(SIP/mypeer)})
NoOp(The conference room 1234 has state ${DEVSTATE(MeetMe:1234)})
Most importantly, this allows you to create custom device states so you can
control phone lamps directly from the dialplan.
Set(DEVSTATE(Custom:mycustomlamp)=BUSY)
...
exten => mycustomlamp,hint,Custom:mycustomlamp
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@54261 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rw-r--r-- | res/res_features.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/res/res_features.c b/res/res_features.c index 576cfaa5f..f383ebc9e 100644 --- a/res/res_features.c +++ b/res/res_features.c @@ -284,9 +284,9 @@ static void notify_metermaids(char *exten, char *context) } /*! \brief metermaids callback from devicestate.c */ -static int metermaidstate(const char *data) +static enum ast_device_state metermaidstate(const char *data) { - int res = AST_DEVICE_INVALID; + enum ast_device_state res = AST_DEVICE_INVALID; char *context = ast_strdupa(data); char *exten; @@ -299,7 +299,7 @@ static int metermaidstate(const char *data) res = ast_exists_extension(NULL, context, exten, 1, NULL); - if (!res) + if (res == AST_DEVICE_UNKNOWN) return AST_DEVICE_NOT_INUSE; else return AST_DEVICE_INUSE; |