[asterisk-bugs] [JIRA] (ASTERISK-22750) SIP TLS calls stop working after a period of no SIP TLS calls to a destination

Joshua Colp (JIRA) noreply at issues.asterisk.org
Mon Dec 18 11:28:08 CST 2017


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

Joshua Colp updated ASTERISK-22750:
-----------------------------------

    Affects Version/s: 13.18.4

> SIP TLS calls stop working after a period of no SIP TLS calls to a destination
> ------------------------------------------------------------------------------
>
>                 Key: ASTERISK-22750
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-22750
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_sip/TCP-TLS
>    Affects Versions: SVN, 1.8.23.1, 13.18.4
>         Environment: Asterisk 1.8.23.1
> CentOS 6.4 x86_64
> SIP TLS / SRTP
>            Reporter: Dwayne Hubbard
>         Attachments: dw-asterisk-1.8.23.1-sip-tls.patch, dw-asterisk-trunk-r401662-sip-tls.patch
>
>
> SIP TLS/SRTP calls to a SIP TLS destination will setup a tcptls connection to the SIP TLS destination which is viewable using Asterisk CLI 'sip show tcp'.  Calls to a SIP TLS destination will work until there is a period (~30 minutes) of no activity to the SIP TLS destination at which point the tcptls _sip_tcp_helper_thread function will become blocked in the ast_poll() function with a timeout of -1.  Once this happens, SIP TLS calls to the SIP TLS destination will not succeed until one of the following occurs:
>   1)  Asterisk Restarted
>   2)  The chan_sip.so module is reloaded
>   3)  A SSL_shutdown failed: 5 ERROR occurs
> The patch provided change the _sip_tcp_helper_thread function timeout to 10 seconds.  If the ast_poll() function returns 0 (timeout) AND the tcptls AO2 reference count is greater than 2, then continue will be called to return to the ast_poll() function for another timeout period.  If the ast_poll() function returns 0 (timeout) AND the tcptls AO2 reference count is 2 (or less), then the tcptls session will be destroyed.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list