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 /main/cli.c | |
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 'main/cli.c')
-rw-r--r-- | main/cli.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/main/cli.c b/main/cli.c index 538a2dbaf..a44a33348 100644 --- a/main/cli.c +++ b/main/cli.c @@ -1354,20 +1354,24 @@ int ast_cli_register(struct ast_cli_entry *e) /* * register/unregister an array of entries. */ -void ast_cli_register_multiple(struct ast_cli_entry *e, int len) +int ast_cli_register_multiple(struct ast_cli_entry *e, int len) { - int i; + int i, res = 0; for (i = 0; i < len; i++) - ast_cli_register(e + i); + res |= ast_cli_register(e + i); + + return res; } -void ast_cli_unregister_multiple(struct ast_cli_entry *e, int len) +int ast_cli_unregister_multiple(struct ast_cli_entry *e, int len) { - int i; + int i, res = 0; for (i = 0; i < len; i++) - ast_cli_unregister(e + i); + res |= ast_cli_unregister(e + i); + + return res; } |