summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2008-12-12 16:55:15 +0000
committerJoshua Colp <jcolp@digium.com>2008-12-12 16:55:15 +0000
commit035a7552d6b03d56afba8fc7d1d20e73af5bab31 (patch)
tree243b5870232422941381554b42f0a80e6d579757 /channels
parent9b745b988316b4b2ebd72937ac63166af5f7d901 (diff)
Since chan_sip is callback devicestate driven do not pass in actual states, pass in unknown so we get asked. Additionally do not pass in an actual device state value in ast_setstate since the channel may be callback driven.
(closes issue #13525) Reported by: pj git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 251e05aea..51fc59b2a 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -10863,7 +10863,7 @@ static int expire_register(const void *data)
manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Unregistered\r\nCause: Expired\r\n", peer->name);
register_peer_exten(peer, FALSE); /* Remove regexten */
- ast_devstate_changed(AST_DEVICE_UNAVAILABLE, "SIP/%s", peer->name);
+ ast_devstate_changed(AST_DEVICE_UNKNOWN, "SIP/%s", peer->name);
/* Do we need to release this peer from memory?
Only for realtime peers and autocreated peers
@@ -11552,7 +11552,7 @@ static void sip_peer_hold(struct sip_pvt *p, int hold)
ast_atomic_fetchadd_int(&peer->onHold, (hold ? +1 : -1));
/* Request device state update */
- ast_devstate_changed(hold ? AST_DEVICE_ONHOLD : AST_DEVICE_INUSE, "SIP/%s", peer->name);
+ ast_devstate_changed(AST_DEVICE_UNKNOWN, "SIP/%s", peer->name);
unref_peer(peer, "sip_peer_hold: from find_peer operation");
return;
@@ -16730,7 +16730,7 @@ static void handle_response_peerpoke(struct sip_pvt *p, int resp, struct sip_req
ast_log(LOG_NOTICE, "Peer '%s' is now %s. (%dms / %dms)\n",
peer->name, s, pingtime, peer->maxms);
- ast_devstate_changed(is_reachable ? AST_DEVICE_NOT_INUSE : AST_DEVICE_UNAVAILABLE, "SIP/%s", peer->name);
+ ast_devstate_changed(AST_DEVICE_UNKNOWN, "SIP/%s", peer->name);
manager_event(EVENT_FLAG_SYSTEM, "PeerStatus",
"ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: %s\r\nTime: %d\r\n",
peer->name, s, pingtime);
@@ -21055,7 +21055,7 @@ static int sip_poke_noanswer(const void *data)
}
peer->lastms = -1;
- ast_devstate_changed(AST_DEVICE_UNAVAILABLE, "SIP/%s", peer->name);
+ ast_devstate_changed(AST_DEVICE_UNKNOWN, "SIP/%s", peer->name);
/* Try again quickly */
AST_SCHED_REPLACE_UNREF(peer->pokeexpire, sched,