diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-04-16 22:05:19 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-04-16 22:05:19 +0000 |
commit | 7ad76a4331785ac416acaa08d2fe7158bf1da5c6 (patch) | |
tree | 8b1658b24e2df4972f5637342a8715f59347aa44 | |
parent | 9a5a24d7576fea627e95fcf930612ef007f13fa0 (diff) |
Merged revisions 188836 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r188836 | tilghman | 2009-04-16 16:57:37 -0500 (Thu, 16 Apr 2009) | 14 lines
Merged revisions 188835 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r188835 | tilghman | 2009-04-16 16:41:13 -0500 (Thu, 16 Apr 2009) | 7 lines
Only update realtime, if global option rtupdate != false
(closes issue #14885)
Reported by: deepesh
Patches:
20090413__bug14885.diff.txt uploaded by tilghman (license 14)
Tested by: deepesh
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@188838 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | channels/chan_sip.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 791e7e547..12578fc2e 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -10379,9 +10379,8 @@ static void destroy_association(struct sip_peer *peer) char *tablename = (realtimeregs) ? "sipregs" : "sippeers"; if (!sip_cfg.ignore_regexpire) { - if (peer->rt_fromcontact) { - ast_update_realtime(tablename, "name", peer->name, "fullcontact", "", "ipaddr", "", "port", "", "regseconds", "0", peer->deprecated_username ? "username" : "defaultuser", "", "regserver", "", "useragent", "", SENTINEL); - ast_update_realtime(tablename, "name", peer->name, "lastms", "", SENTINEL); + if (peer->rt_fromcontact && sip_cfg.peer_rtupdate) { + ast_update_realtime(tablename, "name", peer->name, "fullcontact", "", "ipaddr", "", "port", "", "regseconds", "0", peer->deprecated_username ? "username" : "defaultuser", "", "regserver", "", "useragent", "", "lastms", "", SENTINEL); } else { ast_db_del("SIP/Registry", peer->name); } @@ -16444,7 +16443,9 @@ 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(AST_DEVICE_UNKNOWN, "SIP/%s", peer->name); - ast_update_realtime(ast_check_realtime("sipregs") ? "sipregs" : "sippeers", "name", peer->name, "lastms", str_lastms, SENTINEL); + if (sip_cfg.peer_rtupdate) { + ast_update_realtime(ast_check_realtime("sipregs") ? "sipregs" : "sippeers", "name", peer->name, "lastms", str_lastms, SENTINEL); + } manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: %s\r\nTime: %d\r\n", peer->name, s, pingtime); @@ -20761,7 +20762,9 @@ static int sip_poke_noanswer(const void *data) if (peer->lastms > -1) { ast_log(LOG_NOTICE, "Peer '%s' is now UNREACHABLE! Last qualify: %d\n", peer->name, peer->lastms); - ast_update_realtime(ast_check_realtime("sipregs") ? "sipregs" : "sippeers", "name", peer->name, "lastms", "-1", SENTINEL); + if (sip_cfg.peer_rtupdate) { + ast_update_realtime(ast_check_realtime("sipregs") ? "sipregs" : "sippeers", "name", peer->name, "lastms", "-1", SENTINEL); + } manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Unreachable\r\nTime: %d\r\n", peer->name, -1); if (global_regextenonqualify) { register_peer_exten(peer, FALSE); |