[asterisk-bugs] [JIRA] (ASTERISK-25364) Issue a TCP connection(kernel) and thread of asterisk is not released
Hiroaki Komatsu (JIRA)
noreply at issues.asterisk.org
Tue Sep 1 00:37:33 CDT 2015
Hiroaki Komatsu created ASTERISK-25364:
------------------------------------------
Summary: Issue a TCP connection(kernel) and thread of asterisk is not released
Key: ASTERISK-25364
URL: https://issues.asterisk.org/jira/browse/ASTERISK-25364
Project: Asterisk
Issue Type: Bug
Security Level: None
Components: Channels/chan_sip/General
Affects Versions: 11.2.0
Environment: ・centOS 6.5(kernel-2.6.32-431.3.1.el6.x86_64)
・certified-asterisk-11.2-cert1
Reporter: Hiroaki Komatsu
I have done tls communication using the asterisk at the wifi and 3G environment.Among them, the problem of unused tcp connection and threads is not released has occurred.
Specifically, the resource state on the asterisk environment was not released in the following situations.
・Command executed
#netstat -a | grep https
→TCP connection is present.(kernel)
#asterisk -rx "core show tcp"
→TCP connection is not present.(asterisk)
#asterisk -rx "core show threads" | grep ast_tcptls_server_root
→Thread exists.(asterisk)
I will attach the results of each command
(Attached: tcp_connection_and_threads.txt)
After that, I check the following points first.
・Opportunity of event occurrence
→TCP/TLS connection sequence has been interrupted(※)
halfway for some reason(Attached: sequence.ppt)
(※)After the TCP three handshake,
client hello message from the terminal has not reached to the asterisk.
・The presence or absence of TCP keepalive delivery
→TCP keepalive has not been sent.
Kernel configuration attached.(Attached: sysctl.txt)
Then from the above results, we focus on tcp connection
and tcp keepalive setting opportunity of asterisk,
it was done trace source, the actual confirmation.
>From this result, I think the cause of this problem as follows.
・asterisk it seems like after the connection is established is doing a
"count of tcp connection" and "Enabling tcp keepalive".
Therefore, if the TCP/TLS connection sequence is interrupted in
the middle,asterisk is on to be a wait state in the thread, tcp keepalive
also not been enabled.
The deal, I think should be done to enable the TCP keepalive
immediately after tcp/tls socket generation.how is it.(Attached: keepalive.patch)
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list