我的供应商正在运行Asterisk 11
,后端使用pjsip
。我正在尝试使用Blink
桌面将Windows
作为客户端设置安全通信。它使用TLS
注册,但无法拨打电话,并出现以下错误:
SDP协商失败:协商后没有活动的媒体流(PJSIP_SDPNEG_ENOMEDIA)error screenshot
[似乎Asterisk
正在使用我们的加密证书,我可以在PJSIP
设置中看到它。
[transport-secure-tpl](!)
cert_file=/etc/asterisk/asterisk.pem
priv_key_file=/etc/asterisk/asterisk.pem
cipher=ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-SHA256,ECDHE-ECDSA-AES128-SHA256,ECDHE-RSA-AES128-SHA,ECDHE-ECDSA-AES128-S$
method=sslv23
我下载了此文件,并将其用于TLS证书的Blink
设置中。我还使用了同一文件来尝试使用Wireshark
解码数据包,以查看那里可能出现的问题而无法对其进行解码。Wireshark settingsWireshark Screenshot
这里是Wireshark
调试日志:Wireshark
SSL调试日志
Wireshark version: 3.2.0 (v3.2.0-0-ge0ed4cfa3d72)
GnuTLS version: 3.6.3
Libgcrypt version: 1.8.3
KeyID[20]:
| 94 2b a5 28 69 30 b0 e7 af 90 4c 23 44 5f 2f d2 |.+.(i0....L#D_/.|
| 7a 57 a2 76 |zW.v |
ssl_init private key file C:/Users/user/Downloads/cert - private.pem successfully loaded.
ssl_init port '5061' filename 'C:/Users/user/Downloads/cert - private.pem' password(only for p12 file) ''
association_add tls.port port 5061 handle 0000025C956BD270
dissect_ssl enter frame #19 (already visited)
packet_from_server: is from server - FALSE
conversation = 0000025C90850440, ssl_session = 0000000000000000
record: offset = 0, reported_length_remaining = 256
dissect_ssl3_record: content_type 22 Handshake
dissect_ssl3_handshake iteration 1 type 1 offset 5 length 247 bytes
我在这里做错了什么?
似乎比我最初想的要难。我最终从Asterisk捕获了流量,现在有了我所需要的。
是的,TLS连接旨在防止第三方进行“解码”。
这是该连接的主要目标。
所以您不应该期望对其进行解码。
相反,您可以在星号上进行Sip调试。