Summary: | ASTERISK-16455: [patch] sip_poke_noanswer launch ast_devstate_changed everytime even a peer is still unreachable | ||
Reporter: | Stefan Schmidt (schmidts) | Labels: | |
Date Opened: | 2010-07-28 16:36:13 | Date Closed: | 2010-08-31 15:47:29 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_sip/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) chan_sip.c.patch | |
Description: | same in asterisk 1.8.0 I´ve done some debugging about the new heap scheduler and found a problem which cause asterisk to send a notify package, update astdb and some more everytime sip_poke_noanswer callback is launched. my patch checks if the peer was not allready unreachable before starting the ast_devstate_changed function. ****** ADDITIONAL INFORMATION ****** with a default sip config every peer with qualify=yes schedules the sip_poke_peer function to 60 sec, the qualityfreq. in sip_poke_peer the options package is send to the know ip and port and also the sip_poke_noanswer is scheduled for peer->maxms*2 which is per default 4000ms. if the peer doesnt answer in 4 seconds the sip_poke_noanswer is launched, sets the peer to unreachable and reschedule sip_poke_peer for 10 sec. now if one peer gets unreachable, every 14 seconds the devstate is changed to AST_DEVICE_UNKNOWN and also notify packages are sent if there is a hint for this peer. if there is allready a problem with the sched cause there are too many events scheduled at a time, to read the incoming packages meanwhile, sending a big amount of notifys make it even worser. maybe the check if (peer->lastms > -1) before the devstate change could be done, a few rows above, but i dont know if there is some dependence for the dialog_unlink_all. | ||
Comments: | By: Digium Subversion (svnbot) 2010-08-31 15:13:22 Repository: asterisk Revision: 284393 U branches/1.4/channels/chan_sip.c ------------------------------------------------------------------------ r284393 | tilghman | 2010-08-31 15:13:22 -0500 (Tue, 31 Aug 2010) | 7 lines Don't send a devstate change on poke_noanswer if the state did not change. (closes issue ASTERISK-16455) Reported by: schmidts Patches: chan_sip.c.patch uploaded by schmidts (license 1077) ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=284393 By: Digium Subversion (svnbot) 2010-08-31 15:18:33 Repository: asterisk Revision: 284399 _U branches/1.6.2/ U branches/1.6.2/channels/chan_sip.c ------------------------------------------------------------------------ r284399 | tilghman | 2010-08-31 15:18:33 -0500 (Tue, 31 Aug 2010) | 14 lines Merged revisions 284393 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r284393 | tilghman | 2010-08-31 15:13:21 -0500 (Tue, 31 Aug 2010) | 7 lines Don't send a devstate change on poke_noanswer if the state did not change. (closes issue ASTERISK-16455) Reported by: schmidts Patches: chan_sip.c.patch uploaded by schmidts (license 1077) ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=284399 By: Digium Subversion (svnbot) 2010-08-31 15:22:11 Repository: asterisk Revision: 284415 _U branches/1.8/ U branches/1.8/channels/chan_sip.c ------------------------------------------------------------------------ r284415 | tilghman | 2010-08-31 15:22:11 -0500 (Tue, 31 Aug 2010) | 21 lines Merged revisions 284399 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r284399 | tilghman | 2010-08-31 15:18:32 -0500 (Tue, 31 Aug 2010) | 14 lines Merged revisions 284393 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r284393 | tilghman | 2010-08-31 15:13:21 -0500 (Tue, 31 Aug 2010) | 7 lines Don't send a devstate change on poke_noanswer if the state did not change. (closes issue ASTERISK-16455) Reported by: schmidts Patches: chan_sip.c.patch uploaded by schmidts (license 1077) ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=284415 By: Digium Subversion (svnbot) 2010-08-31 15:47:29 Repository: asterisk Revision: 284440 _U trunk/ U trunk/channels/chan_sip.c ------------------------------------------------------------------------ r284440 | tilghman | 2010-08-31 15:47:28 -0500 (Tue, 31 Aug 2010) | 28 lines Merged revisions 284415 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r284415 | tilghman | 2010-08-31 15:22:10 -0500 (Tue, 31 Aug 2010) | 21 lines Merged revisions 284399 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r284399 | tilghman | 2010-08-31 15:18:32 -0500 (Tue, 31 Aug 2010) | 14 lines Merged revisions 284393 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r284393 | tilghman | 2010-08-31 15:13:21 -0500 (Tue, 31 Aug 2010) | 7 lines Don't send a devstate change on poke_noanswer if the state did not change. (closes issue ASTERISK-16455) Reported by: schmidts Patches: chan_sip.c.patch uploaded by schmidts (license 1077) ........ ................ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=284440 |