我正在尝试将SRTP与pjsip一起进行视频通话。但是似乎即使在SDP协商成功之后,两个客户端都无法显示视频或音频。我正在使用TLS传输并设置了acc_cfg.use_srtp = PJMEDIA_SRTP_MANDATORY;
使用UDP传输,一切正常。使用TLS传输,也可以使用正常RTP进行呼叫。但是SRTP无法正常工作。这有什么问题吗?
以下是拨打电话时XCode的日志。我将Kamailio用作我的SIP服务器,并且Rtpproxy正在UDP端口上监听
2019-07-18 16:29:53.342398+0530 AnuranRealSIPOBJ[5600:1300521] configuring audio session..
16:29:53.467 pjsua_call.c !Making call with acc #0 to sip:3001@anuran.barman.com:5061;transport=tls
16:29:53.467 pjsua_aud.c .Set sound device: capture=-1, playback=-2
16:29:53.467 pjsua_aud.c ..Opening sound device (speaker + mic) PCM@16000/1/20ms
16:29:53.467 coreaudio_dev.c ...Using VoiceProcessingIO audio unit
16:29:53.715 coreaudio_dev.c ...core audio stream started
16:29:53.716 os_core_unix.c Info: possibly re-registering existing thread
16:29:53.722 pjsua_media.c .Call 1: initializing media..
16:29:53.722 pjsua_media.c ..RTP socket reachable at 10.128.232.254:4004
16:29:53.722 pjsua_media.c ..RTCP socket reachable at 10.128.232.254:4005
16:29:53.722 pjsua_media.c ..RTP socket reachable at 10.128.232.254:4006
16:29:53.722 pjsua_media.c ..RTCP socket reachable at 10.128.232.254:4007
16:29:53.722 pjsua_media.c ..Media index 0 selected for audio call 1
16:29:53.722 transport_srtp.c .Warning: simple random generator is used for generating SRTP key
16:29:53.770 transport_srtp.c .Warning: simple random generator is used for generating SRTP key
16:29:53.855 transport_srtp.c .Warning: simple random generator is used for generating SRTP key
16:29:53.882 transport_srtp.c .Warning: simple random generator is used for generating SRTP key
16:29:53.931 srtp0x102815200 .SRTP uses keying method SDES
16:29:53.931 transport_srtp.c .Warning: simple random generator is used for generating SRTP key
16:29:54.033 transport_srtp.c .Warning: simple random generator is used for generating SRTP key
16:29:54.109 transport_srtp.c .Warning: simple random generator is used for generating SRTP key
16:29:54.167 transport_srtp.c .Warning: simple random generator is used for generating SRTP key
16:29:54.214 srtp0x10280b000 .SRTP uses keying method SDES
16:29:54.218 pjsua_core.c ....TX 2197 bytes Request msg INVITE/cseq=22648 (tdta0x1078288a8) to TLS 103.154.197.125:5061:
INVITE sip:3001@anuran.barman.com:5061;transport=tls SIP/2.0
Via: SIP/2.0/TLS 157.45.53.33:22869;rport;branch=z9hG4bKPjEWaqal9X7A5WaFG.W4oGM0MKBU1Ethjm;alias
Max-Forwards: 70
From: sip:1001@anuran.barman.com;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: sip:3001@anuran.barman.com
Contact: <sip:1001@157.45.53.33:22869;transport=TLS;ob>
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22648 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
User-Agent: AnuranRealSIPObj
Content-Type: application/sdp
Content-Length: 1526
v=0
o=- 3772436393 3772436393 IN IP4 10.128.232.254
s=pjmedia
b=AS:352
t=0 0
a=X-nat:0
m=audio 4004 RTP/SAVP 0 8 98 97 3 99 104 9 96
c=IN IP4 10.128.232.254
b=TIAS:64000
a=rtcp:4005 IN IP4 10.128.232.254
a=sendrecv
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:98 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:3 GSM/8000
a=rtpmap:99 speex/32000
a=rtpmap:104 iLBC/8000
a=fmtp:104 mode=30
a=rtpmap:9 G722/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=ssrc:860004275 cname:5e47ce133c2a71c0
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:cGK+dhXBERvRNpexRC24lsjphKBaUaRg4dRYsGZZBCc32dxeKDki++3Z5EjjDQ==
a=crypto:2 AES_256_CM_HMAC_SHA1_32 inline:QYvZFUJCURLhorpev97gF0uSiI0V+dsUO0ZspRCTuuvc0C/wknhbXb7HMIf9LQ==
a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:4o9v297f/Sr7DAG61W8Tv2S/DziOzVT0MWXsMjGE
a=crypto:4 AES_CM_128_HMAC_SHA1_32 inline:hc53RJLfSO06unQxeWxwMEC+uCj67XwEgLfnzvJN
m=video 4006 RTP/SAVP 97
c=IN IP4 10.128.232.254
b=TIAS:256000
a=rtcp:4007 IN IP4 10.128.232.254
a=sendrecv
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42e01e; packetization-mode=1
a=ssrc:1526905615 cname:5e47ce133c2a71c0
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:gA1350zu0J9UtatirVGUyDUK3G94lWYFIO8XcegJDMdKTRSKnyR8HyXLYHoRXA==
a=crypto:2 AES_256_CM_HMAC_SHA1_32 inline:EJGENDFEYNnxhchBQOCEbErwvoj2qqKKWH7I8rfqipaB5S4vuwrryV99hZbByA==
a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:t8GlWQ3MARZg3FMsi6Rc3jEuMyyhTcrxEOeNS3IZ
a=crypto:4 AES_CM_128_HMAC_SHA1_32 inline:XuK9fIjrIL8bUgaTY1zpi/+8yiqvuSuV0P6mkOYe
--end msg--
16:29:54.218 APP .......anuran callState 1 state=CALLING
2019-07-18 16:29:54.218880+0530 AnuranRealSIPOBJ[5600:1300521] call made successfully from 0 with callID 1
2019-07-18 16:29:54.218947+0530 AnuranRealSIPOBJ[5600:1300521] call is active
16:29:54.485 pjsua_core.c .RX 538 bytes Response msg 407/INVITE/cseq=22648 (rdata0x105802b48) from TLS 103.154.197.125:5061:
SIP/2.0 407 Proxy Authentication Required
Via: SIP/2.0/TLS 157.45.53.33:22869;rport=22869;branch=z9hG4bKPjEWaqal9X7A5WaFG.W4oGM0MKBU1Ethjm;alias;received=157.45.53.33
From: sip:1001@anuran.barman.com;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: sip:3001@anuran.barman.com;tag=fd456a75ca976fba91e6fa5a990d400a.151e
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22648 INVITE
Proxy-Authenticate: Digest realm="anuran.barman.com", nonce="XTBSVl0wUSq4MIm8E7Lq5iCOdP6dPtke"
Server: kamailio (4.4.7 (x86_64/linux))
Content-Length: 0
--end msg--
16:29:54.485 pjsua_core.c ..TX 405 bytes Request msg ACK/cseq=22648 (tdta0x10781bea8) to TLS 103.154.197.125:5061:
ACK sip:3001@anuran.barman.com:5061;transport=tls SIP/2.0
Via: SIP/2.0/TLS 157.45.53.33:22869;rport;branch=z9hG4bKPjEWaqal9X7A5WaFG.W4oGM0MKBU1Ethjm;alias
Max-Forwards: 70
From: sip:1001@anuran.barman.com;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: sip:3001@anuran.barman.com;tag=fd456a75ca976fba91e6fa5a990d400a.151e
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22648 ACK
Content-Length: 0
--end msg--
16:29:54.486 pjsua_core.c .......TX 2411 bytes Request msg INVITE/cseq=22649 (tdta0x1078288a8) to TLS 103.154.197.125:5061:
INVITE sip:3001@anuran.barman.com:5061;transport=tls SIP/2.0
Via: SIP/2.0/TLS 157.45.53.33:22869;rport;branch=z9hG4bKPj3OoZfFk8wQGldavrS1DbsSSfdazKQDwB;alias
Max-Forwards: 70
From: sip:1001@anuran.barman.com;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: sip:3001@anuran.barman.com
Contact: <sip:1001@157.45.53.33:22869;transport=TLS;ob>
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22649 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
User-Agent: AnuranRealSIPObj
Proxy-Authorization: Digest username="1001", realm="anuran.barman.com", nonce="XTBSVl0wUSq4MIm8E7Lq5iCOdP6dPtke", uri="sip:3001@anuran.barman.com:5061;transport=tls", response="e63bc95d6f64ef964c2be822b7e04d19"
Content-Type: application/sdp
Content-Length: 1526
v=0
o=- 3772436393 3772436393 IN IP4 10.128.232.254
s=pjmedia
b=AS:352
t=0 0
a=X-nat:0
m=audio 4004 RTP/SAVP 0 8 98 97 3 99 104 9 96
c=IN IP4 10.128.232.254
b=TIAS:64000
a=rtcp:4005 IN IP4 10.128.232.254
a=sendrecv
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:98 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:3 GSM/8000
a=rtpmap:99 speex/32000
a=rtpmap:104 iLBC/8000
a=fmtp:104 mode=30
a=rtpmap:9 G722/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=ssrc:860004275 cname:5e47ce133c2a71c0
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:cGK+dhXBERvRNpexRC24lsjphKBaUaRg4dRYsGZZBCc32dxeKDki++3Z5EjjDQ==
a=crypto:2 AES_256_CM_HMAC_SHA1_32 inline:QYvZFUJCURLhorpev97gF0uSiI0V+dsUO0ZspRCTuuvc0C/wknhbXb7HMIf9LQ==
a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:4o9v297f/Sr7DAG61W8Tv2S/DziOzVT0MWXsMjGE
a=crypto:4 AES_CM_128_HMAC_SHA1_32 inline:hc53RJLfSO06unQxeWxwMEC+uCj67XwEgLfnzvJN
m=video 4006 RTP/SAVP 97
c=IN IP4 10.128.232.254
b=TIAS:256000
a=rtcp:4007 IN IP4 10.128.232.254
a=sendrecv
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42e01e; packetization-mode=1
a=ssrc:1526905615 cname:5e47ce133c2a71c0
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:gA1350zu0J9UtatirVGUyDUK3G94lWYFIO8XcegJDMdKTRSKnyR8HyXLYHoRXA==
a=crypto:2 AES_256_CM_HMAC_SHA1_32 inline:EJGENDFEYNnxhchBQOCEbErwvoj2qqKKWH7I8rfqipaB5S4vuwrryV99hZbByA==
a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:t8GlWQ3MARZg3FMsi6Rc3jEuMyyhTcrxEOeNS3IZ
a=crypto:4 AES_CM_128_HMAC_SHA1_32 inline:XuK9fIjrIL8bUgaTY1zpi/+8yiqvuSuV0P6mkOYe
--end msg--
16:29:55.070 pjsua_core.c .RX 408 bytes Response msg 100/INVITE/cseq=22649 (rdata0x105802b48) from TLS 103.154.197.125:5061:
SIP/2.0 100 trying -- your call is important to us
Via: SIP/2.0/TLS 157.45.53.33:22869;rport=22869;branch=z9hG4bKPj3OoZfFk8wQGldavrS1DbsSSfdazKQDwB;alias;received=157.45.53.33
From: sip:1001@anuran.barman.com;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: sip:3001@anuran.barman.com
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22649 INVITE
Server: kamailio (4.4.7 (x86_64/linux))
Content-Length: 0
--end msg--
16:29:56.031 pjsua_core.c .RX 539 bytes Response msg 180/INVITE/cseq=22649 (rdata0x105802b48) from TLS 103.154.197.125:5061:
SIP/2.0 180 Ringing
Via: SIP/2.0/TLS 157.45.53.33:22869;received=157.45.53.33;rport=22869;branch=z9hG4bKPj3OoZfFk8wQGldavrS1DbsSSfdazKQDwB;alias
From: <sip:1001@anuran.barman.com>;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: <sip:3001@anuran.barman.com>;tag=Ln73eKw
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22649 INVITE
User-Agent: LinphoneiOS/4.1 (Anuran’s iPhone) LinphoneSDK/4.2 (belle-sip/1.6.3)
Supported: replaces, outbound, gruu
Record-route: <sip:103.154.197.125:5061;transport=tls;lr;nat=yes>
Content-Length: 0
--end msg--
16:29:56.031 APP .....anuran callState 1 state=EARLY
16:30:00.190 pjsua_core.c .RX 1455 bytes Response msg 200/INVITE/cseq=22649 (rdata0x105802b48) from TLS 103.154.197.125:5061:
SIP/2.0 200 Ok
Via: SIP/2.0/TLS 157.45.53.33:22869;received=157.45.53.33;rport=22869;branch=z9hG4bKPj3OoZfFk8wQGldavrS1DbsSSfdazKQDwB;alias
From: <sip:1001@anuran.barman.com>;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: <sip:3001@anuran.barman.com>;tag=Ln73eKw
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22649 INVITE
User-Agent: LinphoneiOS/4.1 (Anuran’s iPhone) LinphoneSDK/4.2 (belle-sip/1.6.3)
Supported: replaces, outbound, gruu
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO, UPDATE
Contact: <sip:3001@103.78.19.128:54138;transport=tls;alias=103.78.19.128~54138~3>;expires=3600;received="sip:103.78.19.128:54138;transport=tls";+sip.instance="<urn:uuid:35030849-844f-0077-b310-a34b30fe5950>";+org.linphone.specs="lime"
Content-Type: application/sdp
Content-Length: 561
Record-route: <sip:103.154.197.125:5061;transport=tls;lr;nat=yes>
v=0
o=3001 816 699 IN IP4 103.154.197.125
s=Talk
c=IN IP4 103.154.197.125
t=0 0
m=audio 29324 RTP/SAVP 0 8 98 97 96
a=rtpmap:98 speex/16000
a=fmtp:98 vbr=on
a=rtpmap:97 speex/8000
a=fmtp:97 vbr=on
a=rtpmap:96 telephone-event/8000
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:SNl89bAXBJbIzfzUcWrkRiWe1BkS47QvfYEh9VrweohHb3wJOAqoEIpaFyr4OQ==
m=video 20502 RTP/SAVP 97
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42801F
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:/pc8k2qnE5dxTgI/OZMx38mvkZ+UaQzbKXb4SOJNaNsWeJgoNQdDScy4ASi0zQ==
a=nortpproxy:yes
--end msg--
16:30:00.191 APP .....anuran callState 1 state=CONNECTING
16:30:00.191 inv0x107008ea8 ....SDP negotiation done: Success
16:30:00.191 pjsua_media.c .....Call 1: updating media..
16:30:00.191 pjsua_media.c .......Media stream call01:0 is destroyed
16:30:00.191 srtp0x102815200 ......SRTP started, keying=SDES, crypto=AES_256_CM_HMAC_SHA1_80
16:30:00.191 pjsua_aud.c ......Audio channel update..
16:30:00.192 strm0x10681d628 .......VAD temporarily disabled
16:30:00.192 strm0x10681d628 .......Encoder stream started
16:30:00.192 strm0x10681d628 .......Decoder stream started
16:30:00.193 pjsua_media.c ......Audio updated, stream #0: PCMU (sendrecv)
16:30:00.193 pjsua_media.c .......Media stream call01:1 is destroyed
16:30:00.193 srtp0x10280b000 ......SRTP started, keying=SDES, crypto=AES_256_CM_HMAC_SHA1_80
16:30:00.193 pjsua_vid.c ......Video channel update..
16:30:00.201 vstenc0x107821228 .......Encoder stream started
16:30:00.201 vstdec0x107821228 .......Decoder stream started
16:30:00.201 pjsua_vid.c .......Setting up RX..
16:30:00.201 pjsua_vid.c ........Creating video window: type=stream, cap_id=-1, rend_id=0
16:30:00.201 vid_port.c .........Opening device OpenGL renderer [OpenGL] for render: format=I420, size=656x656 @22:1 fps
16:30:00.219 ios_opengl_dev.c .........iOS OpenGL ES renderer successfully created
16:30:00.219 vid_port.c .........Device OpenGL renderer [OpenGL] opened: format=BGRA, size=656x656 @22:1 fps
16:30:00.220 vid_conf.c .........Added port 0 (OpenGL renderer)
16:30:00.220 pjsua_vid.c .........stream window id 0 created for cap_dev=-1 rend_dev=0
16:30:00.220 pjsua_vid.c .........Window 0 created
16:30:00.221 vid_conf.c ........Added port 1 (vstdec0x107821228)
16:30:00.221 vid_conf.c ........Port 1 (vstdec0x107821228) transmitting to port 0 (OpenGL renderer)
16:30:00.221 ios_opengl_dev.c ........Starting ios opengl stream
16:30:00.221 pjsua_vid.c .......Setting up TX..
16:30:00.221 vid_conf.c ........Added port 2 (vstenc0x107821228)
16:30:00.221 pjsua_vid.c ........Creating video window: type=preview, cap_id=2, rend_id=0
16:30:00.221 vid_port.c .........Opening device Front Camera [AVF] for capture: format=I420, size=352x288 @15:1 fps
16:30:00.231 vid_util.c .........Orientation converter created: 288x352 to 236x288, maintain aspect ratio=yes
16:30:00.231 vid_port.c .........Device Front Camera [AVF] opened: format=I420, size=352x288 @15:1 fps
16:30:00.239 vid_conf.c .........Added port 3 (Front Camera)
16:30:00.241 darwin_dev.m !.........Native preview initialized
16:30:00.241 pjsua_vid.c .........Preview window id 1 created for cap_dev 2, using built-in preview!
16:30:00.241 pjsua_vid.c .........Window 1 created
16:30:00.241 vid_conf.c ........Port 3 (Front Camera) transmitting to port 2 (vstenc0x107821228)
16:30:00.241 darwin_dev.m ........Starting Darwin video stream
16:30:00.644 pjsua_media.c !......Video updated, stream #1: H264 (sendrecv)
16:30:00.644 APP .....Call 1 media 0 [type=audio], status is Active
16:30:00.644 pjsua_aud.c .....Conf connect: 1 --> 0
16:30:00.644 conference.c ......Port 1 (sip:3001@anuran.barman.com:5061;transport=tls) transmitting to port 0 (iPhone IO device)
16:30:00.645 pjsua_aud.c .....Conf connect: 0 --> 1
16:30:00.645 conference.c ......Port 0 (iPhone IO device) transmitting to port 1 (sip:3001@anuran.barman.com:5061;transport=tls)
16:30:00.645 APP .....Call 1 media 1 [type=video], status is Active
arrange window executing
arrange window has video
arrange window wid id 0
16:30:00.653 pjsua_core.c .....TX 459 bytes Request msg ACK/cseq=22649 (tdta0x1058100a8) to TLS 103.154.197.125:5061:
ACK sip:3001@103.78.19.128:54138;transport=tls;alias=103.78.19.128~54138~3 SIP/2.0
Via: SIP/2.0/TLS 157.45.53.33:22869;rport;branch=z9hG4bKPj89PcYt1pmHoCP36jKiG05zpB4tRlJyKG;alias
Max-Forwards: 70
From: sip:1001@anuran.barman.com;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: sip:3001@anuran.barman.com;tag=Ln73eKw
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22649 ACK
Route: <sip:103.154.197.125:5061;transport=tls;lr;nat=yes>
Content-Length: 0
--end msg--
16:30:00.654 APP !.....anuran callState 1 state=CONFIRMED
16:30:00.656 pjsua_call.c .Call 1 sending UPDATE for updating media session to use only one codec
16:30:00.656 srtp0x102815200 .SRTP uses keying method SDES
16:30:00.656 srtp0x10280b000 .SRTP uses keying method SDES
16:30:00.659 pjsua_core.c ....TX 1411 bytes Request msg UPDATE/cseq=22650 (tdta0x10583f2a8) to TLS 103.154.197.125:5061:
UPDATE sip:3001@103.78.19.128:54138;transport=tls;alias=103.78.19.128~54138~3 SIP/2.0
Via: SIP/2.0/TLS 157.45.53.33:22869;rport;branch=z9hG4bKPj8NfWB1..cJISR4aqL6oohTBaDBwj335a;alias
Max-Forwards: 70
From: sip:1001@anuran.barman.com;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: sip:3001@anuran.barman.com;tag=Ln73eKw
Contact: <sip:1001@157.45.53.33:22869;transport=TLS;ob>
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22650 UPDATE
Route: <sip:103.154.197.125:5061;transport=tls;lr;nat=yes>
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
Content-Type: application/sdp
Content-Length: 772
v=0
o=- 3772436393 3772436394 IN IP4 10.128.232.254
s=pjmedia
b=AS:352
t=0 0
a=X-nat:0
m=audio 4004 RTP/SAVP 0 96
c=IN IP4 10.128.232.254
b=TIAS:64000
a=rtcp:4005 IN IP4 10.128.232.254
a=ssrc:860004275 cname:5e47ce133c2a71c0
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:cGK+dhXBERvRNpexRC24lsjphKBaUaRg4dRYsGZZBCc32dxeKDki++3Z5EjjDQ==
a=rtpmap:0 PCMU/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=sendrecv
m=video 4006 RTP/SAVP 97
c=IN IP4 10.128.232.254
b=TIAS:256000
a=rtcp:4007 IN IP4 10.128.232.254
a=ssrc:1526905615 cname:5e47ce133c2a71c0
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:gA1350zu0J9UtatirVGUyDUK3G94lWYFIO8XcegJDMdKTRSKnyR8HyXLYHoRXA==
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42e01e; packetization-mode=1
a=sendrecv
--end msg--
16:30:00.671 pjsua_core.c .RX 1455 bytes Response msg 200/INVITE/cseq=22649 (rdata0x105802b48) from TLS 103.154.197.125:5061:
SIP/2.0 200 Ok
Via: SIP/2.0/TLS 157.45.53.33:22869;received=157.45.53.33;rport=22869;branch=z9hG4bKPj3OoZfFk8wQGldavrS1DbsSSfdazKQDwB;alias
From: <sip:1001@anuran.barman.com>;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: <sip:3001@anuran.barman.com>;tag=Ln73eKw
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22649 INVITE
User-Agent: LinphoneiOS/4.1 (Anuran’s iPhone) LinphoneSDK/4.2 (belle-sip/1.6.3)
Supported: replaces, outbound, gruu
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO, UPDATE
Contact: <sip:3001@103.78.19.128:54138;transport=tls;alias=103.78.19.128~54138~3>;expires=3600;received="sip:103.78.19.128:54138;transport=tls";+sip.instance="<urn:uuid:35030849-844f-0077-b310-a34b30fe5950>";+org.linphone.specs="lime"
Content-Type: application/sdp
Content-Length: 561
Record-route: <sip:103.154.197.125:5061;transport=tls;lr;nat=yes>
v=0
o=3001 816 699 IN IP4 103.154.197.125
s=Talk
c=IN IP4 103.154.197.125
t=0 0
m=audio 29324 RTP/SAVP 0 8 98 97 96
a=rtpmap:98 speex/16000
a=fmtp:98 vbr=on
a=rtpmap:97 speex/8000
a=fmtp:97 vbr=on
a=rtpmap:96 telephone-event/8000
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:SNl89bAXBJbIzfzUcWrkRiWe1BkS47QvfYEh9VrweohHb3wJOAqoEIpaFyr4OQ==
m=video 20502 RTP/SAVP 97
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42801F
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:/pc8k2qnE5dxTgI/OZMx38mvkZ+UaQzbKXb4SOJNaNsWeJgoNQdDScy4ASi0zQ==
a=nortpproxy:yes
--end msg--
16:30:00.671 pjsua_core.c ...TX 459 bytes Request msg ACK/cseq=22649 (tdta0x1058100a8) to TLS 103.154.197.125:5061:
ACK sip:3001@103.78.19.128:54138;transport=tls;alias=103.78.19.128~54138~3 SIP/2.0
Via: SIP/2.0/TLS 157.45.53.33:22869;rport;branch=z9hG4bKPj89PcYt1pmHoCP36jKiG05zpB4tRlJyKG;alias
Max-Forwards: 70
From: sip:1001@anuran.barman.com;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: sip:3001@anuran.barman.com;tag=Ln73eKw
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22649 ACK
Route: <sip:103.154.197.125:5061;transport=tls;lr;nat=yes>
Content-Length: 0
--end msg--
16:30:00.814 strm0x10681d628 !VAD re-enabled
16:30:01.201 pjsua_core.c .RX 1295 bytes Response msg 200/UPDATE/cseq=22650 (rdata0x105802b48) from TLS 103.154.197.125:5061:
SIP/2.0 200 Ok
Via: SIP/2.0/TLS 157.45.53.33:22869;received=157.45.53.33;rport=22869;branch=z9hG4bKPj8NfWB1..cJISR4aqL6oohTBaDBwj335a;alias
From: <sip:1001@anuran.barman.com>;tag=jEe6mgnl-gJ27-MnSsQaVKuJmfZaC9vH
To: <sip:3001@anuran.barman.com>;tag=Ln73eKw
Call-ID: p47HDpdaLb1N1ivOxqjQiXG30Xf4BC5H
CSeq: 22650 UPDATE
User-Agent: LinphoneiOS/4.1 (Anuran’s iPhone) LinphoneSDK/4.2 (belle-sip/1.6.3)
Supported: replaces, outbound, gruu
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO, UPDATE
Contact: <sip:3001@103.78.19.128:54138;transport=tls;alias=103.78.19.128~54138~3>;expires=3600;received="sip:103.78.19.128:54138;transport=tls";+sip.instance="<urn:uuid:35030849-844f-0077-b310-a34b30fe5950>";+org.linphone.specs="lime"
Content-Type: application/sdp
Content-Length: 468
v=0
o=3001 816 701 IN IP4 103.154.197.125
s=Talk
c=IN IP4 103.154.197.125
t=0 0
m=audio 29324 RTP/SAVP 0 96
a=rtpmap:96 telephone-event/8000
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:SNl89bAXBJbIzfzUcWrkRiWe1BkS47QvfYEh9VrweohHb3wJOAqoEIpaFyr4OQ==
m=video 20502 RTP/SAVP 97
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42801F
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:/pc8k2qnE5dxTgI/OZMx38mvkZ+UaQzbKXb4SOJNaNsWeJgoNQdDScy4ASi0zQ==
a=nortpproxy:yes
--end msg--
16:30:01.201 inv0x107008ea8 ....SDP negotiation done: Success
16:30:01.201 pjsua_media.c .....Call 1: updating media..
16:30:01.202 pjsua_media.c ......Call 1: stream #0 (audio) unchanged.
16:30:01.202 pjsua_media.c ......Audio updated, stream #0: PCMU (sendrecv)
16:30:01.202 pjsua_media.c ......Call 1: stream #1 (video) unchanged.
16:30:01.202 pjsua_media.c ......Video updated, stream #1: H264 (sendrecv)
16:30:01.202 APP .....Call 1 media 0 [type=audio], status is Active
16:30:01.202 pjsua_aud.c .....Conf connect: 1 --> 0
16:30:01.203 pjsua_aud.c .....Conf connect: 0 --> 1
16:30:01.203 APP .....Call 1 media 1 [type=video], status is Active
arrange window executing
arrange window has video
arrange window wid id 0
我的TLS设置正确,因为我可以注册,并且可以使用常规RTP成功进行视频通话。因此,SRTP配置存在一些问题,因为这仅不起作用。
使用Linphone的两个实例(启用了SRTP),我可以进行视频通话。因此,我希望Kamailio服务器运行良好,我希望Linphone能够拨打电话。
我配置PJSIP SRTP的方式如下:
ua_cfg.use_srtp = PJMEDIA_SRTP_MANDATORY;
ua_cfg.srtp_secure_signaling = PJSUA_DEFAULT_SRTP_SECURE_SIGNALING;
pjsua_srtp_opt srtp_opt;
pjsua_srtp_opt_default(&srtp_opt);
ua_cfg.srtp_opt = srtp_opt;
ua_cfg.srtp_optional_dup_offer = PJ_TRUE;