[asterisk-bugs] [JIRA] Closed: (ASTERISK-19154) huge number of sip OPTION on 'sip reload'
Digium Subversion (JIRA)
noreply at issues.asterisk.org
Tue Jul 31 16:03:21 CDT 2012
[ https://issues.asterisk.org/jira/browse/ASTERISK-19154?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Digium Subversion closed ASTERISK-19154.
----------------------------------------
Resolution: Fixed
> huge number of sip OPTION on 'sip reload'
> -----------------------------------------
>
> Key: ASTERISK-19154
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-19154
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Channels/chan_sip/General
> Affects Versions: 1.8.8.0
> Reporter: Nicolò Mazzon
> Attachments: issue19154.patch
>
>
> In a large installation with thousands of registered peers with qualify set to yes, "sip reload" is a command that sends a huge number of sip OPTION.
> This is potentially capable of generating a high network traffic through the switch in a short time causing temporary flooding.
> The outcome is a poor performance of the network and the system.
> The following is a brief analysis of the problem, referring to the source code of asterisk-1.8.8.0\channels\chan_sip.c
> A command of "sip reload" calls the following procedures:
> {code}
> sip_do_reload
> reload_config(reason = CHANNEL_CLI_RELOAD)
> build_peer
> reg_source_db
> {code}
> reload_config loads each peer, users and friends (line: 28309) and looking into reg_source_db (line: 13364):
> {code}
> if (sipsock < 0) {
> /* SIP isn't up yet, so schedule a poke only, pretty soon */
> AST_SCHED_REPLACE_UNREF(peer->pokeexpire, sched, ast_random() % 5000 + 1, sip_poke_peer_s, peer,
> unref_peer(_data, "removing poke peer ref"),
> unref_peer(peer, "removing poke peer ref"),
> ref_peer(peer, "adding poke peer ref"));
> } else {
> sip_poke_peer(peer, 0);
> }
> {code}
> being sipsock positive at runtime, each peer is immediately poked.
> Is there a way to avoid this problem?
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the asterisk-bugs
mailing list