when i make call from UDP/TLS/RTP/SAVP baresip to RTP/AVP sems, rtpengine gets called on initial invite/200 ok like this and audio works fine:
Nov 18 02:46:06 rautu /usr/bin/sip-proxy[926]: INFO: ===== rtpengine_offer(ICE=force replace-session-connection replace-origin via-branch=1 RTP/AVP trust-address)
Nov 18 02:46:06 rautu /usr/bin/sip-proxy[878]: INFO: ===== rtpengine_answer(ICE=force via-branch=2 trust-address)
however, when baresip makes re-invite, rtpengine gets called using the same offer/answer flags, but sems clears the call. on syslog, i see this:
Nov 18 02:46:59 rautu /usr/bin/sip-proxy[919]: INFO: Routing in-dialog INVITE sip:127.0.0.1:5090;transport=udp from sip:jh@test.tutpro.com Nov 18 02:46:59 rautu /usr/bin/sip-proxy[879]: INFO: ===== rtpengine_answer(ICE=force via-branch=2 replace-session-connection replace-origin) Nov 18 02:46:59 rautu rtpengine[29718]: [abd2bcf75f71af57 port 50444] SRTP output wanted, but no crypto suite was negotiated Nov 18 02:46:59 rautu /usr/bin/sip-proxy[919]: INFO: Routing in-dialog ACK sip:127.0.0.1:5090;transport=udp from sip:jh@test.tutpro.com Nov 18 02:46:59 rautu rtpengine[29718]: [abd2bcf75f71af57 port 50462] Discarded invalid SRTP packet: authentication failed Nov 18 02:46:59 rautu sems[20439]: [#b7193b70] [receive, AmRtpAudio.cpp:212] ERROR: decode() returned -4 Nov 18 02:46:59 rautu /usr/bin/sip-proxy[878]: INFO: ===== rtpengine_delete() Nov 18 02:46:59 rautu /usr/bin/sip-proxy[878]: INFO: Routing in-dialog BYE sip:jh-0x9a95b00@192.98.102.30:5066;transport=tcp from sip:jh@as.test.tutpro.com to sip:192.98.102.30:46718;transport=TCP based on gruu Nov 18 02:46:59 rautu rtpengine[29718]: [abd2bcf75f71af57 port 50463] Error parsing RTCP header: invalid packet type
and on baresip console this:
dtls_srtp: ---> DTLS-SRTP complete (audio/RTCP) Profile=AES_CM_128_HMAC_SHA1_80 dtls_srtp: incoming DTLS connect from 192.98.102.30:50524 dtls_srtp: verified sha-1 fingerprint OK dtls_srtp: ---> DTLS-SRTP complete (audio/RTP) Profile=AES_CM_128_HMAC_SHA1_80 srtp: recv: failed to decrypt RTCP-packet (Unknown error 217) srtp: recv: failed to decrypt RTCP-packet (Unknown error 217) srtp: recv: failed to decrypt RTP-packet (Unknown error 217) srtp: recv: failed to decrypt RTP-packet (Unknown error 217) srtp: recv: failed to decrypt RTP-packet (Unknown error 217) srtp: recv: failed to decrypt RTP-packet (Unknown error 217) sip:jh@as.test.tutpro.com: session closed: Connection reset by peer
could it be that at some point during the re-invite, sems gets srtp audio and therefore clears the call? if so, is it a bug in rtpengine?
-- juha
looks the issue is only with UDP/TLS/RTP/SAVP re-invite. when i configured baresip to use RTP/SAVPF, re-invite from baresip to RTP/AVP sems works fine.
-- juha
On 11/17/2014 08:03 PM, Juha Heinanen wrote:
when i make call from UDP/TLS/RTP/SAVP baresip to RTP/AVP sems, rtpengine gets called on initial invite/200 ok like this and audio works fine:
Nov 18 02:46:06 rautu /usr/bin/sip-proxy[926]: INFO: ===== rtpengine_offer(ICE=force replace-session-connection replace-origin via-branch=1 RTP/AVP trust-address)
Nov 18 02:46:06 rautu /usr/bin/sip-proxy[878]: INFO: ===== rtpengine_answer(ICE=force via-branch=2 trust-address)
however, when baresip makes re-invite, rtpengine gets called using the same offer/answer flags, but sems clears the call. on syslog, i see this:
Nov 18 02:46:59 rautu /usr/bin/sip-proxy[919]: INFO: Routing in-dialog INVITE sip:127.0.0.1:5090;transport=udp from sip:jh@test.tutpro.com Nov 18 02:46:59 rautu /usr/bin/sip-proxy[879]: INFO: ===== rtpengine_answer(ICE=force via-branch=2 replace-session-connection replace-origin) Nov 18 02:46:59 rautu rtpengine[29718]: [abd2bcf75f71af57 port 50444] SRTP output wanted, but no crypto suite was negotiated Nov 18 02:46:59 rautu /usr/bin/sip-proxy[919]: INFO: Routing in-dialog ACK sip:127.0.0.1:5090;transport=udp from sip:jh@test.tutpro.com Nov 18 02:46:59 rautu rtpengine[29718]: [abd2bcf75f71af57 port 50462] Discarded invalid SRTP packet: authentication failed Nov 18 02:46:59 rautu sems[20439]: [#b7193b70] [receive, AmRtpAudio.cpp:212] ERROR: decode() returned -4 Nov 18 02:46:59 rautu /usr/bin/sip-proxy[878]: INFO: ===== rtpengine_delete() Nov 18 02:46:59 rautu /usr/bin/sip-proxy[878]: INFO: Routing in-dialog BYE sip:jh-0x9a95b00@192.98.102.30:5066;transport=tcp from sip:jh@as.test.tutpro.com to sip:192.98.102.30:46718;transport=TCP based on gruu Nov 18 02:46:59 rautu rtpengine[29718]: [abd2bcf75f71af57 port 50463] Error parsing RTCP header: invalid packet type
and on baresip console this:
dtls_srtp: ---> DTLS-SRTP complete (audio/RTCP) Profile=AES_CM_128_HMAC_SHA1_80 dtls_srtp: incoming DTLS connect from 192.98.102.30:50524 dtls_srtp: verified sha-1 fingerprint OK dtls_srtp: ---> DTLS-SRTP complete (audio/RTP) Profile=AES_CM_128_HMAC_SHA1_80 srtp: recv: failed to decrypt RTCP-packet (Unknown error 217) srtp: recv: failed to decrypt RTCP-packet (Unknown error 217) srtp: recv: failed to decrypt RTP-packet (Unknown error 217) srtp: recv: failed to decrypt RTP-packet (Unknown error 217) srtp: recv: failed to decrypt RTP-packet (Unknown error 217) srtp: recv: failed to decrypt RTP-packet (Unknown error 217) sip:jh@as.test.tutpro.com: session closed: Connection reset by peer
could it be that at some point during the re-invite, sems gets srtp audio and therefore clears the call? if so, is it a bug in rtpengine?
Can you post the complete log from rtpengine for such a call and perhaps also make a pcap of the media packets? It's kinda hard to follow what exactly is going on with just what you posted.
cheers