@@ -82,6 +82,399 @@ sub stun_succ {
82
82
83
83
84
84
85
+ new_call;
86
+
87
+ offer('mismatched t-e control', { }, <<SDP);
88
+ v=0
89
+ o=- 1545997027 1 IN IP4 198.51.100.11
90
+ s=tester
91
+ t=0 0
92
+ m=audio 3000 RTP/AVP 8 101
93
+ c=IN IP4 198.51.100.50
94
+ a=sendrecv
95
+ a=rtpmap:101 telephone-event/8000
96
+ -------------------------------------------
97
+ v=0
98
+ o=- 1545997027 1 IN IP4 198.51.100.11
99
+ s=tester
100
+ t=0 0
101
+ m=audio PORT RTP/AVP 8 101
102
+ c=IN IP4 203.0.113.1
103
+ a=rtpmap:8 PCMA/8000
104
+ a=rtpmap:101 telephone-event/8000
105
+ a=sendrecv
106
+ a=rtcp:PORT
107
+ SDP
108
+
109
+ answer('mismatched t-e control', { }, <<SDP);
110
+ v=0
111
+ o=- 1545997027 1 IN IP4 198.51.100.11
112
+ s=tester
113
+ t=0 0
114
+ m=audio 3000 RTP/AVP 8 97
115
+ c=IN IP4 198.51.100.50
116
+ a=sendrecv
117
+ a=rtpmap:97 telephone-event/8000
118
+ -------------------------------------------
119
+ v=0
120
+ o=- 1545997027 1 IN IP4 198.51.100.11
121
+ s=tester
122
+ t=0 0
123
+ m=audio PORT RTP/AVP 8
124
+ c=IN IP4 203.0.113.1
125
+ a=rtpmap:8 PCMA/8000
126
+ a=sendrecv
127
+ a=rtcp:PORT
128
+ SDP
129
+
130
+ new_call;
131
+
132
+ offer('mismatched t-e', { }, <<SDP);
133
+ v=0
134
+ o=- 1545997027 1 IN IP4 198.51.100.11
135
+ s=tester
136
+ t=0 0
137
+ m=audio 3000 RTP/AVP 8 101
138
+ c=IN IP4 198.51.100.50
139
+ a=sendrecv
140
+ a=rtpmap:101 telephone-event/8000
141
+ -------------------------------------------
142
+ v=0
143
+ o=- 1545997027 1 IN IP4 198.51.100.11
144
+ s=tester
145
+ t=0 0
146
+ m=audio PORT RTP/AVP 8 101
147
+ c=IN IP4 203.0.113.1
148
+ a=rtpmap:8 PCMA/8000
149
+ a=rtpmap:101 telephone-event/8000
150
+ a=sendrecv
151
+ a=rtcp:PORT
152
+ SDP
153
+
154
+ answer('mismatched t-e', { flags => ['allow asymmetric codecs'] }, <<SDP);
155
+ v=0
156
+ o=- 1545997027 1 IN IP4 198.51.100.11
157
+ s=tester
158
+ t=0 0
159
+ m=audio 3000 RTP/AVP 8 97
160
+ c=IN IP4 198.51.100.50
161
+ a=sendrecv
162
+ a=rtpmap:97 telephone-event/8000
163
+ -------------------------------------------
164
+ v=0
165
+ o=- 1545997027 1 IN IP4 198.51.100.11
166
+ s=tester
167
+ t=0 0
168
+ m=audio PORT RTP/AVP 8 97
169
+ c=IN IP4 203.0.113.1
170
+ a=rtpmap:8 PCMA/8000
171
+ a=rtpmap:97 telephone-event/8000
172
+ a=sendrecv
173
+ a=rtcp:PORT
174
+ SDP
175
+
176
+ new_call;
177
+
178
+ offer('mismatched t/c t-e control', { codec => {transcode => ['telephone-event'] } }, <<SDP);
179
+ v=0
180
+ o=- 1545997027 1 IN IP4 198.51.100.11
181
+ s=tester
182
+ t=0 0
183
+ m=audio 3000 RTP/AVP 8
184
+ c=IN IP4 198.51.100.50
185
+ a=sendrecv
186
+ -------------------------------------------
187
+ v=0
188
+ o=- 1545997027 1 IN IP4 198.51.100.11
189
+ s=tester
190
+ t=0 0
191
+ m=audio PORT RTP/AVP 8 96
192
+ c=IN IP4 203.0.113.1
193
+ a=rtpmap:8 PCMA/8000
194
+ a=rtpmap:96 telephone-event/8000
195
+ a=fmtp:96 0-15
196
+ a=sendrecv
197
+ a=rtcp:PORT
198
+ SDP
199
+
200
+ answer('mismatched t/c t-e control', { }, <<SDP);
201
+ v=0
202
+ o=- 1545997027 1 IN IP4 198.51.100.11
203
+ s=tester
204
+ t=0 0
205
+ m=audio 3000 RTP/AVP 8 97
206
+ c=IN IP4 198.51.100.50
207
+ a=sendrecv
208
+ a=rtpmap:97 telephone-event/8000
209
+ -------------------------------------------
210
+ v=0
211
+ o=- 1545997027 1 IN IP4 198.51.100.11
212
+ s=tester
213
+ t=0 0
214
+ m=audio PORT RTP/AVP 8
215
+ c=IN IP4 203.0.113.1
216
+ a=rtpmap:8 PCMA/8000
217
+ a=sendrecv
218
+ a=rtcp:PORT
219
+ SDP
220
+
221
+ new_call;
222
+
223
+ offer('mismatched t/c t-e', { codec => {transcode => ['telephone-event'] } }, <<SDP);
224
+ v=0
225
+ o=- 1545997027 1 IN IP4 198.51.100.11
226
+ s=tester
227
+ t=0 0
228
+ m=audio 3000 RTP/AVP 8
229
+ c=IN IP4 198.51.100.50
230
+ a=sendrecv
231
+ -------------------------------------------
232
+ v=0
233
+ o=- 1545997027 1 IN IP4 198.51.100.11
234
+ s=tester
235
+ t=0 0
236
+ m=audio PORT RTP/AVP 8 96
237
+ c=IN IP4 203.0.113.1
238
+ a=rtpmap:8 PCMA/8000
239
+ a=rtpmap:96 telephone-event/8000
240
+ a=fmtp:96 0-15
241
+ a=sendrecv
242
+ a=rtcp:PORT
243
+ SDP
244
+
245
+ answer('mismatched t/c t-e', { flags => ['allow asymmetric codecs'] }, <<SDP);
246
+ v=0
247
+ o=- 1545997027 1 IN IP4 198.51.100.11
248
+ s=tester
249
+ t=0 0
250
+ m=audio 3000 RTP/AVP 8 97
251
+ c=IN IP4 198.51.100.50
252
+ a=sendrecv
253
+ a=rtpmap:97 telephone-event/8000
254
+ -------------------------------------------
255
+ v=0
256
+ o=- 1545997027 1 IN IP4 198.51.100.11
257
+ s=tester
258
+ t=0 0
259
+ m=audio PORT RTP/AVP 8 97
260
+ c=IN IP4 203.0.113.1
261
+ a=rtpmap:8 PCMA/8000
262
+ a=rtpmap:97 telephone-event/8000
263
+ a=sendrecv
264
+ a=rtcp:PORT
265
+ SDP
266
+
267
+ new_call;
268
+
269
+ offer('mismatched accept t-e control', { codec => {accept => ['telephone-event'] } }, <<SDP);
270
+ v=0
271
+ o=- 1545997027 1 IN IP4 198.51.100.11
272
+ s=tester
273
+ t=0 0
274
+ m=audio 3000 RTP/AVP 8 101
275
+ c=IN IP4 198.51.100.50
276
+ a=sendrecv
277
+ a=rtpmap:101 telephone-event/8000
278
+ -------------------------------------------
279
+ v=0
280
+ o=- 1545997027 1 IN IP4 198.51.100.11
281
+ s=tester
282
+ t=0 0
283
+ m=audio PORT RTP/AVP 8 101
284
+ c=IN IP4 203.0.113.1
285
+ a=rtpmap:8 PCMA/8000
286
+ a=rtpmap:101 telephone-event/8000
287
+ a=sendrecv
288
+ a=rtcp:PORT
289
+ SDP
290
+
291
+ answer('mismatched accept t-e control', { }, <<SDP);
292
+ v=0
293
+ o=- 1545997027 1 IN IP4 198.51.100.11
294
+ s=tester
295
+ t=0 0
296
+ m=audio 3000 RTP/AVP 8 97
297
+ c=IN IP4 198.51.100.50
298
+ a=sendrecv
299
+ a=rtpmap:97 telephone-event/8000
300
+ -------------------------------------------
301
+ v=0
302
+ o=- 1545997027 1 IN IP4 198.51.100.11
303
+ s=tester
304
+ t=0 0
305
+ m=audio PORT RTP/AVP 8 101
306
+ c=IN IP4 203.0.113.1
307
+ a=rtpmap:8 PCMA/8000
308
+ a=rtpmap:101 telephone-event/8000
309
+ a=sendrecv
310
+ a=rtcp:PORT
311
+ SDP
312
+
313
+ new_call;
314
+
315
+ offer('mismatched accept t-e', { codec => {accept => ['telephone-event'] } }, <<SDP);
316
+ v=0
317
+ o=- 1545997027 1 IN IP4 198.51.100.11
318
+ s=tester
319
+ t=0 0
320
+ m=audio 3000 RTP/AVP 8 101
321
+ c=IN IP4 198.51.100.50
322
+ a=sendrecv
323
+ a=rtpmap:101 telephone-event/8000
324
+ -------------------------------------------
325
+ v=0
326
+ o=- 1545997027 1 IN IP4 198.51.100.11
327
+ s=tester
328
+ t=0 0
329
+ m=audio PORT RTP/AVP 8 101
330
+ c=IN IP4 203.0.113.1
331
+ a=rtpmap:8 PCMA/8000
332
+ a=rtpmap:101 telephone-event/8000
333
+ a=sendrecv
334
+ a=rtcp:PORT
335
+ SDP
336
+
337
+ answer('mismatched accept t-e', { flags => ['allow asymmetric codecs'] }, <<SDP);
338
+ v=0
339
+ o=- 1545997027 1 IN IP4 198.51.100.11
340
+ s=tester
341
+ t=0 0
342
+ m=audio 3000 RTP/AVP 8 97
343
+ c=IN IP4 198.51.100.50
344
+ a=sendrecv
345
+ a=rtpmap:97 telephone-event/8000
346
+ -------------------------------------------
347
+ v=0
348
+ o=- 1545997027 1 IN IP4 198.51.100.11
349
+ s=tester
350
+ t=0 0
351
+ m=audio PORT RTP/AVP 8 97
352
+ c=IN IP4 203.0.113.1
353
+ a=rtpmap:8 PCMA/8000
354
+ a=rtpmap:97 telephone-event/8000
355
+ a=sendrecv
356
+ a=rtcp:PORT
357
+ SDP
358
+
359
+ new_call;
360
+
361
+ offer('mismatched t-p-e with strip/except control', { codec => {
362
+ strip => ['all'],
363
+ except => [qw/opus G722 PCMA H264 G224 telephone-event/],
364
+ } }, <<SDP);
365
+ v=0
366
+ o=- 1545997027 1 IN IP4 198.51.100.11
367
+ s=tester
368
+ c=IN IP4 198.51.100.50
369
+ t=0 0
370
+ m=audio 12908 RTP/AVP 9 8 97
371
+ a=rtpmap:9 G722/8000
372
+ a=rtpmap:8 PCMA/8000
373
+ a=rtpmap:97 telephone-event/8000
374
+ a=fmtp:97 0-15
375
+ a=sendrecv
376
+ a=ptime:20
377
+ -------------------------------------------
378
+ v=0
379
+ o=- 1545997027 1 IN IP4 198.51.100.11
380
+ s=tester
381
+ c=IN IP4 203.0.113.1
382
+ t=0 0
383
+ m=audio PORT RTP/AVP 9 8 97
384
+ a=rtpmap:9 G722/8000
385
+ a=rtpmap:8 PCMA/8000
386
+ a=rtpmap:97 telephone-event/8000
387
+ a=fmtp:97 0-15
388
+ a=sendrecv
389
+ a=rtcp:PORT
390
+ a=ptime:20
391
+ SDP
392
+
393
+ answer('mismatched t-p-e with strip/except control', { flags => [] }, <<SDP);
394
+ v=0
395
+ o=- 1545997027 1 IN IP4 198.51.100.11
396
+ s=tester
397
+ c=IN IP4 198.51.100.50
398
+ t=0 0
399
+ m=audio 20442 RTP/AVP 8 101
400
+ a=ptime:20
401
+ a=rtpmap:8 PCMA/8000
402
+ a=rtpmap:101 telephone-event/8000
403
+ a=fmtp:101 0-15
404
+ -------------------------------------------
405
+ v=0
406
+ o=- 1545997027 1 IN IP4 198.51.100.11
407
+ s=tester
408
+ c=IN IP4 203.0.113.1
409
+ t=0 0
410
+ m=audio PORT RTP/AVP 8
411
+ a=rtpmap:8 PCMA/8000
412
+ a=sendrecv
413
+ a=rtcp:PORT
414
+ a=ptime:20
415
+ SDP
416
+
417
+ new_call;
418
+
419
+ offer('mismatched t-p-e with strip/except', { codec => {
420
+ strip => ['all'],
421
+ except => [qw/opus G722 PCMA H264 G224 telephone-event/],
422
+ } }, <<SDP);
423
+ v=0
424
+ o=- 1545997027 1 IN IP4 198.51.100.11
425
+ s=tester
426
+ c=IN IP4 198.51.100.50
427
+ t=0 0
428
+ m=audio 12908 RTP/AVP 9 8 97
429
+ a=rtpmap:9 G722/8000
430
+ a=rtpmap:8 PCMA/8000
431
+ a=rtpmap:97 telephone-event/8000
432
+ a=fmtp:97 0-15
433
+ a=sendrecv
434
+ a=ptime:20
435
+ -------------------------------------------
436
+ v=0
437
+ o=- 1545997027 1 IN IP4 198.51.100.11
438
+ s=tester
439
+ c=IN IP4 203.0.113.1
440
+ t=0 0
441
+ m=audio PORT RTP/AVP 9 8 97
442
+ a=rtpmap:9 G722/8000
443
+ a=rtpmap:8 PCMA/8000
444
+ a=rtpmap:97 telephone-event/8000
445
+ a=fmtp:97 0-15
446
+ a=sendrecv
447
+ a=rtcp:PORT
448
+ a=ptime:20
449
+ SDP
450
+
451
+ answer('mismatched t-p-e with strip/except', { flags => ['allow asymmetric codecs'] }, <<SDP);
452
+ v=0
453
+ o=- 1545997027 1 IN IP4 198.51.100.11
454
+ s=tester
455
+ c=IN IP4 198.51.100.50
456
+ t=0 0
457
+ m=audio 20442 RTP/AVP 8 101
458
+ a=ptime:20
459
+ a=rtpmap:8 PCMA/8000
460
+ a=rtpmap:101 telephone-event/8000
461
+ a=fmtp:101 0-15
462
+ -------------------------------------------
463
+ v=0
464
+ o=- 1545997027 1 IN IP4 198.51.100.11
465
+ s=tester
466
+ c=IN IP4 203.0.113.1
467
+ t=0 0
468
+ m=audio PORT RTP/AVP 8 101
469
+ a=rtpmap:8 PCMA/8000
470
+ a=rtpmap:101 telephone-event/8000
471
+ a=fmtp:101 0-15
472
+ a=sendrecv
473
+ a=rtcp:PORT
474
+ a=ptime:20
475
+ SDP
476
+
477
+
85
478
new_call;
86
479
87
480
offer('static codecs control', { codec => { transcode =>
0 commit comments