summaryrefslogtreecommitdiff
path: root/main/pbx.c
diff options
context:
space:
mode:
authorDavid Vossel <dvossel@digium.com>2009-07-08 22:15:06 +0000
committerDavid Vossel <dvossel@digium.com>2009-07-08 22:15:06 +0000
commite39a252b1e64f9118822e8cff96981a34faa57f9 (patch)
treeb89e706ca59cc581e69daa23ba52a5af347f9314 /main/pbx.c
parentb99f857fbd19c1805ceac4b3cad1103fbe1f32b4 (diff)
Merged revisions 205409 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205409 | dvossel | 2009-07-08 16:35:12 -0500 (Wed, 08 Jul 2009) | 6 lines moving ast_devstate_to_extenstate to pbx.c from devicestate.c ast_devstate_to_extenstate belongs in pbx.c. This change fixes a compile time error with chan_vpb as well. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@205412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/pbx.c')
-rw-r--r--main/pbx.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/main/pbx.c b/main/pbx.c
index 5e31078fe..f733423fa 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -4083,6 +4083,32 @@ static struct ast_exten *ast_hint_extension(struct ast_channel *c, const char *c
return e;
}
+enum ast_extension_states ast_devstate_to_extenstate(enum ast_device_state devstate)
+{
+ switch (devstate) {
+ case AST_DEVICE_ONHOLD:
+ return AST_EXTENSION_ONHOLD;
+ case AST_DEVICE_BUSY:
+ return AST_EXTENSION_BUSY;
+ case AST_DEVICE_UNAVAILABLE:
+ case AST_DEVICE_UNKNOWN:
+ case AST_DEVICE_INVALID:
+ return AST_EXTENSION_UNAVAILABLE;
+ case AST_DEVICE_RINGINUSE:
+ return (AST_EXTENSION_INUSE | AST_EXTENSION_RINGING);
+ case AST_DEVICE_RINGING:
+ return AST_EXTENSION_RINGING;
+ case AST_DEVICE_INUSE:
+ return AST_EXTENSION_INUSE;
+ case AST_DEVICE_NOT_INUSE:
+ return AST_EXTENSION_NOT_INUSE;
+ case AST_DEVICE_TOTAL: /* not a device state, included for completeness */
+ break;
+ }
+
+ return AST_EXTENSION_NOT_INUSE;
+}
+
/*! \brief Check state of extension by using hints */
static int ast_extension_state2(struct ast_exten *e)
{