2016-08-24 111 views
1

我使用的是Ubuntu v14.04.3 LTS和Asterisk 13.3.2。當我嘗試從sipml5客戶端打電話給我的分機以播放演示恭喜音頻時,我的呼叫立即斷開。當我檢查星號日誌時,出現以下錯誤:Asterisk sslv3警報握手失敗

[2016-08-24 06:07:49] ERROR[31730][C-0000000c]: res_rtp_asterisk.c:2042 __rtp_recvfrom: DTLS failure occurred on RTP instance '0x7f547c013c68' due to reason 'sslv3 alert handshake failure', terminating 
[2016-08-24 06:07:49] WARNING[31730][C-0000000c]: res_rtp_asterisk.c:3911 ast_rtcp_read: RTCP Read error: Unspecified. Hanging up. 
[2016-08-24 06:07:49] WARNING[31730][C-0000000c]: app_playback.c:493 playback_exec: Playback failed on SIP/104600-00000007 for /var/www/html/fetch_prompt 
[2016-08-24 06:07:49] ERROR[31730][C-0000000c]: utils.c:1402 ast_carefulwrite: write() returned error: Broken pipe 

另外我使用的是Chrome v54。

我認爲這個錯誤是與openssl,但沒有得到一個正確的和完整的答案還沒有解決這個問題。有誰知道如何解決這個問題?

回答

2

通過升級openssl解決了這個問題。下面 使用命令在Ubuntu升級的OpenSSL低於14

# echo 'deb http://us.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse' > /etc/apt/sources.list.d/xenial.list 
# aptitude update 
# aptitude install -y openssl libssl-dev 
# rm /etc/apt/sources.list.d/xenial.list 
# aptitude update 

使用命令來檢查OpenSSL的版本

# ldd /usr/sbin/asterisk | grep libssl 
libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f33ce117000) 

# strings /lib/x86_64-linux-gnu/libssl.so.1.0.0 | grep 1.0.2 
OPENSSL_1.0.2 
OPENSSL_1.0.2g 
SSLv3 part of OpenSSL 1.0.2g-fips 1 Mar 2016 
TLSv1 part of OpenSSL 1.0.2g-fips 1 Mar 2016 
DTLSv1 part of OpenSSL 1.0.2g-fips 1 Mar 2016 
OpenSSL 1.0.2g-fips 1 Mar 2016 

# openssl version 
OpenSSL 1.0.2g-fips 1 Mar 2016 

在此之後刪除所有現有的星號鍵,再重新鍵

# rm /etc/asterisk/keys/* 
# cd /usr/src/astersik*/contrb/scripts 
# sudo ./ast_tls_cert -C pbx.mycompany.com -O "My Super Company" -d /etc/asterisk/keys 
# asterisk -rx "reload" 

Source

+0

更好地重新啓動星號比重新加載它 –

相關問題