summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_pjsip.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/channels/chan_pjsip.c b/channels/chan_pjsip.c
index f638a1e35..8911b931a 100644
--- a/channels/chan_pjsip.c
+++ b/channels/chan_pjsip.c
@@ -872,17 +872,14 @@ static int chan_pjsip_devicestate(const char *data)
snapshot = stasis_message_data(msg);
- if (snapshot->state == AST_STATE_DOWN) {
- ast_devstate_aggregate_add(&aggregate, AST_DEVICE_NOT_INUSE);
- } else if (snapshot->state == AST_STATE_RINGING) {
- ast_devstate_aggregate_add(&aggregate, AST_DEVICE_RINGING);
- } else if ((snapshot->state == AST_STATE_UP) || (snapshot->state == AST_STATE_RING) ||
+ if (chan_pjsip_get_hold(snapshot->uniqueid)) {
+ ast_devstate_aggregate_add(&aggregate, AST_DEVICE_ONHOLD);
+ } else {
+ ast_devstate_aggregate_add(&aggregate, ast_state_chan2dev(snapshot->state));
+ }
+
+ if ((snapshot->state == AST_STATE_UP) || (snapshot->state == AST_STATE_RING) ||
(snapshot->state == AST_STATE_BUSY)) {
- if (chan_pjsip_get_hold(snapshot->uniqueid)) {
- ast_devstate_aggregate_add(&aggregate, AST_DEVICE_ONHOLD);
- } else {
- ast_devstate_aggregate_add(&aggregate, AST_DEVICE_INUSE);
- }
inuse++;
}
}