[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 01:01:32 CDT 2015


     [ https://issues.asterisk.org/jira/browse/ASTERISK-25364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hiroaki Komatsu updated ASTERISK-25364:
---------------------------------------

    Attachment: sysctl.txt
                tcp_keepalive.patch
                tcp_connection_and_threads.txt

> 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
>         Attachments: sequence.ppt, sequence.ppt, sysctl.txt, sysctl.txt, tcp_connection_and_threads.txt, tcp_connection_and_threads.txt, tcp_keepalive.patch, tcp_keepalive.patch
>
>
> 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