@@ -13010,6 +13010,116 @@ sub stun_succ {
13010
13010
13011
13011
# OSRTP
13012
13012
13013
+ ($sock_a, $sock_b) = new_call([qw(198.51.100.1 3380)], [qw(198.51.100.3 3382)]);
13014
+
13015
+ ($port_a) = offer('OSRTP offer, reject, reinvite', { DTLS => 'off' }, <<SDP);
13016
+ v=0
13017
+ o=- 1545997027 1 IN IP4 198.51.100.1
13018
+ s=tester
13019
+ t=0 0
13020
+ m=audio 3380 RTP/AVP 0
13021
+ c=IN IP4 198.51.100.1
13022
+ a=sendrecv
13023
+ a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:Qk0TvVeyfqfjFd/YebnyyklqSEhJntpVKV1KAhHa
13024
+ ----------------------------------
13025
+ v=0
13026
+ o=- 1545997027 1 IN IP4 198.51.100.1
13027
+ s=tester
13028
+ t=0 0
13029
+ m=audio PORT RTP/AVP 0
13030
+ c=IN IP4 203.0.113.1
13031
+ a=rtpmap:0 PCMU/8000
13032
+ a=sendrecv
13033
+ a=rtcp:PORT
13034
+ a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:Qk0TvVeyfqfjFd/YebnyyklqSEhJntpVKV1KAhHa
13035
+ a=crypto:2 AEAD_AES_256_GCM inline:CRYPTO256S
13036
+ a=crypto:3 AEAD_AES_128_GCM inline:CRYPTO128S
13037
+ a=crypto:4 AES_256_CM_HMAC_SHA1_80 inline:CRYPTO256
13038
+ a=crypto:5 AES_256_CM_HMAC_SHA1_32 inline:CRYPTO256
13039
+ a=crypto:6 AES_192_CM_HMAC_SHA1_80 inline:CRYPTO192
13040
+ a=crypto:7 AES_192_CM_HMAC_SHA1_32 inline:CRYPTO192
13041
+ a=crypto:8 AES_CM_128_HMAC_SHA1_32 inline:CRYPTO128
13042
+ a=crypto:9 F8_128_HMAC_SHA1_80 inline:CRYPTO128
13043
+ a=crypto:10 F8_128_HMAC_SHA1_32 inline:CRYPTO128
13044
+ a=crypto:11 NULL_HMAC_SHA1_80 inline:CRYPTO128
13045
+ a=crypto:12 NULL_HMAC_SHA1_32 inline:CRYPTO128
13046
+ SDP
13047
+
13048
+ ($port_b) = answer('OSRTP offer, reject, reinvite', { DTLS => 'off' }, <<SDP);
13049
+ v=0
13050
+ o=- 1545997027 1 IN IP4 198.51.100.1
13051
+ s=tester
13052
+ t=0 0
13053
+ m=audio 3382 RTP/AVP 0
13054
+ c=IN IP4 198.51.100.3
13055
+ a=sendrecv
13056
+ ----------------------------------
13057
+ v=0
13058
+ o=- 1545997027 1 IN IP4 198.51.100.1
13059
+ s=tester
13060
+ t=0 0
13061
+ m=audio PORT RTP/AVP 0
13062
+ c=IN IP4 203.0.113.1
13063
+ a=rtpmap:0 PCMU/8000
13064
+ a=sendrecv
13065
+ a=rtcp:PORT
13066
+ SDP
13067
+
13068
+ snd($sock_a, $port_b, rtp(0, 1000, 3000, 0x1234, "\x00" x 160));
13069
+ rcv($sock_b, $port_a, rtpm(0, 1000, 3000, 0x1234, "\x00" x 160));
13070
+ snd($sock_b, $port_a, rtp(0, 2000, 4000, 0x3456, "\x00" x 160));
13071
+ rcv($sock_a, $port_b, rtpm(0, 2000, 4000, 0x3456, "\x00" x 160));
13072
+
13073
+ reverse_tags();
13074
+
13075
+ offer('OSRTP offer, reject, reinvite', { DTLS => 'off' }, <<SDP);
13076
+ v=0
13077
+ o=- 1545997027 1 IN IP4 198.51.100.1
13078
+ s=tester
13079
+ t=0 0
13080
+ m=audio 3382 RTP/AVP 0
13081
+ c=IN IP4 198.51.100.3
13082
+ a=sendrecv
13083
+ ----------------------------------
13084
+ v=0
13085
+ o=- 1545997027 1 IN IP4 198.51.100.1
13086
+ s=tester
13087
+ t=0 0
13088
+ m=audio PORT RTP/AVP 0
13089
+ c=IN IP4 203.0.113.1
13090
+ a=rtpmap:0 PCMU/8000
13091
+ a=sendrecv
13092
+ a=rtcp:PORT
13093
+ SDP
13094
+
13095
+ answer('OSRTP offer, reject, reinvite', { DTLS => 'off' }, <<SDP);
13096
+ v=0
13097
+ o=- 1545997027 1 IN IP4 198.51.100.1
13098
+ s=tester
13099
+ t=0 0
13100
+ m=audio 3380 RTP/AVP 0
13101
+ c=IN IP4 198.51.100.1
13102
+ a=sendrecv
13103
+ a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:Qk0TvVeyfqfjFd/YebnyyklqSEhJntpVKV1KAhHa
13104
+ ----------------------------------
13105
+ v=0
13106
+ o=- 1545997027 1 IN IP4 198.51.100.1
13107
+ s=tester
13108
+ t=0 0
13109
+ m=audio PORT RTP/AVP 0
13110
+ c=IN IP4 203.0.113.1
13111
+ a=rtpmap:0 PCMU/8000
13112
+ a=sendrecv
13113
+ a=rtcp:PORT
13114
+ SDP
13115
+
13116
+ snd($sock_a, $port_b, rtp(0, 1001, 3160, 0x1234, "\x00" x 160));
13117
+ rcv($sock_b, $port_a, rtpm(0, 1001, 3160, 0x1234, "\x00" x 160));
13118
+ snd($sock_b, $port_a, rtp(0, 2001, 4160, 0x3456, "\x00" x 160));
13119
+ rcv($sock_a, $port_b, rtpm(0, 2001, 4160, 0x3456, "\x00" x 160));
13120
+
13121
+
13122
+
13013
13123
($sock_a, $sock_b) = new_call([qw(198.51.100.1 3316)], [qw(198.51.100.3 3318)]);
13014
13124
13015
13125
($port_a) = offer('OSRTP offer, accept, same suite',
0 commit comments