在iOS中将SRTP与PJSIP一起使用时,视频和音频不起作用

时间:2019-07-18 13:32:10

标签: ios ssl rtp pjsip

我正在尝试将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;

0 个答案:

没有答案