Commit Graph

546 Commits (544393f518c7bf922410fc843e624f4cb04cc6c4)

Author SHA1 Message Date
Richard Fuchs 837c024b5f MT#56447 support multiple Janus subs in one req
3 years ago
Donat Zenichev 83fc4c930f MT#56127 Improve the way we accept crypto suites
3 years ago
Richard Fuchs cf12ffc264 MT#55283 support buffered media player
3 years ago
Richard Fuchs fe578109f0 MT#55283 add repeat-times auto test
3 years ago
Richard Fuchs 8f17f140eb MT#55283 support generating a=tls-id
3 years ago
Richard Fuchs b02cced353 MT#56126 fix tests for Stretch etc
3 years ago
Richard Fuchs 47ba87b61f MT#56008 allow Opus single-channel encoding
3 years ago
Donat Zenichev 40a0451edb MT#56126 Add more tests to cover new 'SDES-order:' option flag
3 years ago
Donat Zenichev 8595f95cef MT#56126 Introduce a preference list for crypto suites
3 years ago
Richard Fuchs 40a1741fc1 MT#54294 mandate "const" codec_def_t
3 years ago
Donat Zenichev 3ba1f548c8 MT#56125 Add a flag to only accept/add allowed SDES crypto suits
3 years ago
Richard Fuchs 2f4ed358c0 MT#55283 relax tests-preload.so AF check
3 years ago
Richard Fuchs 8737d194b1 MT#56008 support encoder-selected clock rate for EVS
3 years ago
Richard Fuchs 0630ab74a7 MT#55283 add time-fudging helper .so
3 years ago
Richard Fuchs 0448e12e0d MT#56008 use hashed string lookup in codeclib.c
3 years ago
Richard Fuchs 52dd8320a5 MT#56008 support different Opus "applications"
3 years ago
Richard Fuchs bb2316db1a MT#56008 use libopus directly
3 years ago
Richard Fuchs 9c54e97a88 MT#56008 support encoded-selected clock rates
3 years ago
Donat Zenichev 50ba97b3c9 MT#56129 Add a flag to force increasing the SDP version
3 years ago
Richard Fuchs fc13d02855 TT#136957 reset frequency iter counter
3 years ago
Richard Fuchs 25e2640145 TT#136957 support multiple frequencies for `tone`
3 years ago
Richard Fuchs 40b4d571fe MT#55283 fix `single-codec` with odd codec order
3 years ago
Richard Fuchs dc1a44f3ec MT#55447 add support for EVS
3 years ago
Richard Fuchs 69640dbb13 TT#14008 don't use f'' strings in python tests
3 years ago
Richard Fuchs 114a2b6b66 MT#55447 support parsing and matching AMR a=fmtp
3 years ago
Richard Fuchs e8d3bf5dd5 MT#55283 fix deprecation warning
3 years ago
Victor Seva aab897d62e TT#14008 websockets test: skip tests if version is not supported
3 years ago
Victor Seva 72dad51a10 TT#14008 websockets test: expose the real problem when connecting
3 years ago
Richard Fuchs 9a3ced05ff MT#55283 fix nopacket_relayed_sess stats
3 years ago
Richard Fuchs ea51fe1b28 MT#55283 use env var as test case switch
3 years ago
Richard Fuchs 5d17e5e6bd MT#55283 fix compiler warning
3 years ago
Richard Fuchs 81a80f8d23 TT#14008 add test for GH #1494
3 years ago
Richard Fuchs 0558cfbc05 TT#178400 collect and report RTP sequencing metrics
3 years ago
Richard Fuchs 778ec46b81 TT#178400 support reporting out measured jitter
3 years ago
Richard Fuchs 9b4669d7e6 TT#178352 export additional VoIP metrics
3 years ago
Richard Fuchs 6b5a8f5560 TT#178352 generalise metrics gathering and printing
3 years ago
Richard Fuchs 08701819da TT#185100 support setting opus encoding complexity
3 years ago
Richard Fuchs 58b4173ed1 TT#185100 Perl syntax fixes
3 years ago
Richard Fuchs 59a16e747b TT#14008 add log_info_pop_until()
3 years ago
Richard Fuchs 7b8fa51cc1 TT#14008 ICE test robustness
3 years ago
Richard Fuchs b057a2bbfb TT#14008 retain "codec touched" status after answer
3 years ago
Richard Fuchs 5d33a420a6 TT#14008 websockets test: update for Python 3.10
3 years ago
Richard Fuchs 447f0f52d0 TT#14008 test correct port for rejected stream
4 years ago
Richard Fuchs 314c6f6ea5 TT#14008 fix test for different G.722 encodings
4 years ago
Richard Fuchs 7b594c32d5 TT#14008 skip codec answer routine for rejected media
4 years ago
Richard Fuchs aed9279176 TT#172650 update for OpenSSL >= 3.0
4 years ago
Richard Fuchs 4deff72c8e TT#136957 don't remove DTMF PT from SDP with DTMF-delay active
4 years ago
Richard Fuchs d055a5da59 TT#136957 add `egress` subscription support
4 years ago
Richard Fuchs 84fed5ca7e TT#136957 obsolete TRANSCODE flag
4 years ago
Richard Fuchs 50b8f54bcf TT#155900 add `RTCP mirror` flag
4 years ago
Richard Fuchs 2240921ab3 TT#136957 use separate sequencer per sink/destination
4 years ago
Richard Fuchs c0d9f84e49 TT#14008 rename instance of `func` for clarity
4 years ago
Richard Fuchs 2b74e64ddf TT#14008 prevent double-free of MKI
4 years ago
Richard Fuchs 5d923edacd TT#14008 tests for 89f5a988
4 years ago
Richard Fuchs a67525e27a TT#14008 generalise sub stun_succ
4 years ago
Richard Fuchs 5a23422980 TT#14008 remove unneeded perl module usage
4 years ago
Richard Fuchs 16583ef76e TT#166107 fix stray ICE reset with rtcp-mux=require
4 years ago
Richard Fuchs 799773b5ca TT#14008 fix format list printing logic
4 years ago
Richard Fuchs 0bd80f49ed TT#14008 fix test race condition
4 years ago
Razvan Crainea 9c62de8189 provide sendrecv mode in siprec tag-medias and media-labels
4 years ago
Richard Fuchs 429e3dafb9 TT#14008 fix ports mixed up in tests
4 years ago
Richard Fuchs 22d8db9e72 TT#14008 don't accept stray answer codecs that were not offered
4 years ago
Richard Fuchs c6a689f958 Merge branch 'master' of https://github.com/smititelu/rtpengine
4 years ago
Richard Fuchs fd7a6b35b7 TT#14008 add test for ROC reset
4 years ago
Stefan Mititelu c48540801b Add more info about ok/failed t tests
4 years ago
Richard Fuchs 3c00a607dd TT#14008 anonymise addresses used in tests
4 years ago
Richard Fuchs 6c969934b3 TT#162750 add tests for TT#162750
4 years ago
Richard Fuchs 6d1dfab77a TT#14008 convert logging context to stack
4 years ago
Richard Fuchs 261e6a6503 TT#14008 disable unstable tests
4 years ago
Richard Fuchs 54ee927773 TT#14008 fix websockets test for older python3
4 years ago
Richard Fuchs 5fc658e33b Squashed commit of the following:
4 years ago
Richard Fuchs ee5d01b0f8 TT#155900 add tests to make sure no packet was received
4 years ago
Richard Fuchs 6d85fb6887 TT#136957 tests for delay timing
4 years ago
Richard Fuchs 3582b623a9 TT#136957 DTMF delay support
4 years ago
Richard Fuchs 576774614b TT#136956 add support for DTMF-security=zero
4 years ago
Richard Fuchs efcd137dbf TT#136956 add tests for DTMF-security
4 years ago
Richard Fuchs 478c2608e8 TT#136956 upgrade `block_dtmf` to enum to allow for different modes
4 years ago
Richard Fuchs 1ce4f66d74 TT#136955 trigger DTMF state also when decoding DTMF to PCM
4 years ago
hdikme 85ec0faf9e TT#14008 send NG command stats count to Graphite
4 years ago
Richard Fuchs 12f23b311c TT#157801 shift handling of v4/v6 addresses
4 years ago
Richard Fuchs f5a148f268 TT#14008 change local ICE ufrag/pwd after ICE restart
4 years ago
Richard Fuchs cf7dcb31be TT#14008 add fallback if codec list is empty
4 years ago
Richard Fuchs 3535d96fda TT#136957 fix TS tracking with supplemental codecs
4 years ago
Richard Fuchs 8b79a6074f TT#156052 add call duration stddev metric
4 years ago
Richard Fuchs 7b5b52e932 TT#156052 add MOS stats to stats output
4 years ago
Richard Fuchs 970757da2b TT#156052 add call duration metric to Prom
4 years ago
Richard Fuchs 49b79e8b2f TT#156052 use `destroyed` timestamp for call duration stats
4 years ago
Richard Fuchs 5fba6c7172 Merge branch 'master' of https://github.com/smititelu/rtpengine
4 years ago
Stefan Mititelu 7adf6ace92 Add 'seconds' to some stats duration
4 years ago
Richard Fuchs 75ddfd46b6 TT#14008 add tests for SRTCP generation
4 years ago
Richard Fuchs 11549cc3a2 TT#144701 support JSON in tests and CLI tool
4 years ago
Richard Fuchs e11407ab8d TT#144701 support JSON in NG protocol
4 years ago
Richard Fuchs f1d37e9c93 TT#147451 add support for SIPREC style SDPs
4 years ago
Richard Fuchs a7e22ba698 TT#147451 add support for multi-ml subscriptions
4 years ago
Richard Fuchs 4f705362e9 TT#136952 test-transcode: hold reference to mock call
4 years ago
Richard Fuchs 4cbeb15c07 TT#147451 obsolete necessity for `from-tag` in unsub/sub ans
4 years ago
Victor Seva 23d0dad18f TT#124273 fix typos detected by lintian
4 years ago
Richard Fuchs 2c0e196be9 TT#107565 fix SDP ordering issue of s= vs o=
4 years ago
Richard Fuchs 4c1b4adb69 TT#14008 add test scripts for RTP stats
4 years ago
Richard Fuchs 10d9be003d TT#14008 tests for #1366
4 years ago
Richard Fuchs 77317a1723 TT#14008 add test for multi-intf handling
4 years ago
Richard Fuchs 39616a9629 TT#14008 change test deps around
4 years ago
Richard Fuchs 0fa3a105af TT#131402 add stats for user/kernel streams
4 years ago
Richard Fuchs c5dc3484ae TT#131402 split up relay stats between kernel and userspace
4 years ago
Richard Fuchs 06006df6fb TT#101150 obsolete 'totalstats'
4 years ago
Richard Fuchs b0ebe9ba1b TT#101150 move start timestamp to global var
4 years ago
Richard Fuchs 2ae5cc79ba TT#101150 obsolete more fields from struct totalstats
4 years ago
Richard Fuchs 3fa16c6ab1 TT#101150 generalise ng command stats into array/list
4 years ago
Richard Fuchs d4102280b2 TT#101150 obsolete struct request_time stats
4 years ago
Richard Fuchs 2b60a678e2 TT#101150 use STATS_INC macro for req stats
4 years ago
Richard Fuchs facb4b54db TT#101150 obsolete redundant fields in struct totalstats
4 years ago
Richard Fuchs ad64f4fa00 TT#101150 introduce proper struct for "counter" style stats
4 years ago
Richard Fuchs 1fac2b08b9 TT#101150 use rtpe_now for timer start time
4 years ago
Richard Fuchs 30d91ecc63 TT#101150 add test script for stats output
4 years ago
Richard Fuchs a4e3f96b3f TT#14008 always add a=mid to media section
4 years ago
Richard Fuchs 8a60d17574 TT#131651 support reverse re-invite to new to-tag
4 years ago
Richard Fuchs 792b736f10 TT#14008 fix test case for older libwebsockets
4 years ago
Richard Fuchs 2130e2f62b TT#89352 support Janus control protocol
4 years ago
Richard Fuchs f0b1906809 TT#89352 add option to strip a:extmap
4 years ago
Richard Fuchs 4c1d43d7ee TT#91151 add tests for pubsub
4 years ago
Richard Fuchs 413798e43f TT#132251 implement media silencing
4 years ago
Richard Fuchs de85d4b674 TT#128050 parse and document `reuse codecs` flag
4 years ago
Daniel Hauptmann 4481c773ac TT#128050 Squashed commit of the following:
4 years ago
Richard Fuchs 08fee992d1 TT#89352 add support for trickle ICE offer
4 years ago
Richard Fuchs ae012b1657 TT#14008 further fixes for fake TCP tester
4 years ago
Richard Fuchs 853fed7a83 TT#112700 remove useless duplicate test cases
4 years ago
Richard Fuchs 8d5b7dafec TT#14008 fix fake getpeername on unconnected sockets
4 years ago
Richard Fuchs 1e4c11e152 TT#14008 disable some tests
4 years ago
Richard Fuchs 363f7c937d TT#89352 add TCP support to preload testing lib
4 years ago
Richard Fuchs dc3a35a6b4 TT#91151 fix transcoding unit test case
5 years ago
Richard Fuchs 92fb330a46 TT#91151 implement one-to-many forwarding
5 years ago
Richard Fuchs 1e0765bf6e TT#91151 tie codec handlers to output media/sink
5 years ago
Richard Fuchs 1d387b98ef TT#112700 rework codec offer/answer routine
5 years ago
Richard Fuchs 7aac69dfa8 TT#14008 update tests after f2d7372f5a
5 years ago
Richard Fuchs 256b9917ec TT#121752 associate SSRC hash to monologue instead of entire call
5 years ago
Richard Fuchs 7cb49bcc79 TT#14008 tests for GH #1289
5 years ago
Richard Fuchs 46a3f7a3ac TT#14008 skip duplicate comparison of basic codec params
5 years ago
Richard Fuchs 369e64f9a7 TT#14008 add mqtt support
5 years ago
Richard Fuchs 2e66655925 TT#14008 add tests for CN passthrough
5 years ago
Richard Fuchs c7431aa846 TT#122401 disable sample filter for CN resampler
5 years ago
Richard Fuchs ddfce1fcdd TT#111150 add unit test for resampler
5 years ago
Richard Fuchs 4cbd676b76 TT#122401 add DTX tests
5 years ago
Richard Fuchs 830abd6717 TT#14008 add tests for media echo
5 years ago
Richard Fuchs 586a8028eb TT#111150 fix initialisers in test-transcode
5 years ago
Guillem Jover d3390bae32 TT#111150 Enable -Wextra minus some of its warnings producing much noise
5 years ago
Richard Fuchs df5f810651 TT#14008 fix base64 encoding issues with older glib in t/
5 years ago
Guillem Jover 89d1a77f37 TT#111150 Fix memory leak in test
5 years ago
Richard Fuchs d5d0a3a994 TT#111150 convert str.len to size_t
5 years ago
Richard Fuchs 87e5efc7d4 TT#111150 fix mem leaks in test-transcode
5 years ago
Richard Fuchs a9fdc219f0 TT#14008 amend kernel test script
5 years ago
Richard Fuchs a86d98f8d1 TT#118902 add support for per-call debugging
5 years ago
Richard Fuchs 800f098cd1 TT#14008 remove obsolete test scripts and add new kernel tester
5 years ago
Richard Fuchs ac71e81e54 TT#118350 add SDES=static option
5 years ago
Richard Fuchs 7dc55e6378 TT#98901 convert from static DTX delay to dynamic buffer queue
5 years ago
Richard Fuchs d14eeaea6e TT#111150 fix typo
5 years ago
Guillem Jover 39a2b288ad TT#111150 Use standard flags for the test preload library
5 years ago
Guillem Jover 09cd962eef TT#111150 Fix memory leaks in unit tests
5 years ago
Guillem Jover 8508177777 TT#111150 Split CFLAGS between required and optional
5 years ago
Richard Fuchs 52d9768418 TT#14008 move build tests to a wrapper script
5 years ago
Richard Fuchs 5cf4717f89 TT#115400 explicitly disallow ptime in non-RTP SDPs
5 years ago
Richard Fuchs 19f08a8b78 TT#113750 tests for I603bb86c
5 years ago
Damir Nedžibović f650f95111 TT#14008 Squashed commit of the following:
5 years ago
Guillem Jover 68797f4195 TT#111150 Mark bit-fields explicitly with as unsigned
5 years ago
Richard Fuchs 083ae4c37f TT#14008 convert rtcp-fb handling to list
5 years ago
Richard Fuchs eb1157d386 TT#112250 don't change ports when endpoint is talking ICE
5 years ago
Guillem Jover 962479bd63 TT#108003 Stop using random()
5 years ago
Richard Fuchs ab54b774ed TT#14008 remove .depend from make system
5 years ago
Richard Fuchs 302968fc0e TT#14008 rename some test suites
5 years ago
Richard Fuchs 1785f70637 TT#91151 add new replace-zero-address option
5 years ago
Richard Fuchs 772db96c36 TT#91151 fix check for trickle ICE and zero address
5 years ago
Richard Fuchs a9f58ff39d TT#91151 add tests for null addresses
5 years ago
Richard Fuchs 36273e1f5d TT#107565 add option to track SDP version
5 years ago
Damir Nedžibović 2fc54462de TT#14008 Squashed commit of the following:
5 years ago
Richard Fuchs 88d2765ef6 TT#102450 added tests for Ia9fa96cf
5 years ago
Richard Fuchs 8e21b4b595 TT#14008 clean up some tests
5 years ago
Richard Fuchs c5ef68897a TT#76250 consider default number of channel when matching codecs
5 years ago
Richard Fuchs 9c6d57edc5 TT#14008 allow parallel execute of daemon tests
5 years ago
Richard Fuchs e671a5dcab TT#108552 prefer sha-256 over sha-1
5 years ago
Richard Fuchs f2d7e71b07 TT#108552 update crypto suite preference ordering
5 years ago
Richard Fuchs 0898923c38 TT#98901 use correct DTMF codec context
5 years ago
Richard Fuchs 60fd172720 TT#98901 update tests for DTX
5 years ago
Richard Fuchs 030f38ff16 TT#97301 add description to log levels
5 years ago
Richard Fuchs 6602a3a7c5 TT#108551 add kernel support for AEAD-AES-GCM
5 years ago
SPChan 0c4110779d TT#108551 add support for AEAD-AES-GCM
5 years ago
Richard Fuchs 0bab726e5d TT#92250 reset opposite side supp handlers
5 years ago
Richard Fuchs 6bf5e3af54 TT#92250 add tests for reorder-codec
5 years ago
Richard Fuchs 99ba631fd0 TT#92250 update tests for recent changes
5 years ago
Richard Fuchs 341f2e04dc TT#92250 also create codec handlers for synthesised supp PTs
5 years ago
Richard Fuchs 30733ec5cd TT#97301 support granular log levels
5 years ago
Richard Fuchs 46176f2937 TT#101653 defuse codec tracker so it doesn't remove too many
5 years ago
Richard Fuchs 7f8ae1fd06 TT#94201 add tests for GH #1147
5 years ago
Richard Fuchs f861ff7f1e TT#101653 limit maximum delay in input processing after lost packet
5 years ago
Richard Fuchs c6208914a3 TT#101653 check receiver side for supplemental transcoding
5 years ago
Richard Fuchs 6e519047df TT#101653 add tests for codec-consume/accept
5 years ago
Richard Fuchs 71d02ff486 TT#101653 retire always-transcode flag
5 years ago
Richard Fuchs 336cb5b280 TT#101653 add codec-consume and codec-accept options
5 years ago
Richard Fuchs 73e4ef42eb TT#101653 add silence detection option
5 years ago
Richard Fuchs 3cc93571b8 TT#101653 add extra codec negotiation tests
5 years ago
Richard Fuchs c5667e3bf7 TT#100200 add CN decoder
5 years ago
Richard Fuchs 54e68942be TT#104500 better support a=rtcp-fb
5 years ago
Richard Fuchs a642a1e694 TT#98901 avoid PT collisions with asymmetric codec setup
5 years ago
Richard Fuchs 16fd8aad15 TT#101653 alter re-invite codec negotiation logic
5 years ago
Richard Fuchs 8097f9632f TT#100200 add tests for 9ea1303c6
5 years ago
Richard Fuchs de7807f0f1 TT#101653 update transcode-test with new codec flags
5 years ago
Richard Fuchs 7a42c0c48c TT#100251 distinguish between real transcoding and DTMF-related t/c
5 years ago
Richard Fuchs bae79d3fef TT#98901 handle AMR SID DTX
5 years ago
Richard Fuchs ee74914b22 TT#92250 ignore format parameters for DTMF codec
5 years ago
Richard Fuchs 6ccfd14530 TT#94201 change default ICE= behaviour, add new =optional flag
5 years ago
Richard Fuchs a89696c4be TT#94201 add tests for 95b81455
5 years ago
Richard Fuchs 74fd959ccc TT#92250 use matching output codec with inject-DTMF
5 years ago
Richard Fuchs 2502b44ff8 TT#92250 keep supp codecs last when transcoding in reverse
5 years ago
Richard Fuchs e1dda97028 TT#14008 fix some warnings from musl
5 years ago
Richard Fuchs 32cfb61e0b TT#92250 add tests for 68ccc5
5 years ago
Richard Fuchs 68ccc52b2b TT#92250 postpone codec_tracker to final stage
5 years ago
Richard Fuchs 3654309b95 TT#97302 tests for 5ad4a5
5 years ago
Richard Fuchs dc4775d5ce TT#97302 respond with the same DTLS hash func as was offered
5 years ago
Richard Fuchs 9553af11df TT#92250 add tests for single-codec flag
5 years ago
Richard Fuchs 653b09ca93 TT#92250 add `single codec` flag
5 years ago
Richard Fuchs 241c78c915 TT#92250 add codec-except option
5 years ago
Richard Fuchs 2ce7b6476e TT#92250 better handle supplemental codecs
5 years ago
Richard Fuchs 5ac91499fe TT#92250 keep supplemental codecs last in list when transcoding
5 years ago
Richard Fuchs ba0553b9d0 TT#96200 test for I5fb7638aa71e80c08abcda2d8c341ae72725bace
5 years ago
Richard Fuchs e4e9061569 TT#91003 fix test compiler warning
5 years ago
Richard Fuchs d2e831755c TT#91003 add tests for mode-change-interval
5 years ago
Richard Fuchs 5a33dee413 TT#91003 add tests for extra AMR options
5 years ago
Richard Fuchs 1020bcb80d TT#91003 honour AMR mode change restrictions
5 years ago
Richard Fuchs 30b11936e8 TT#91003 add AMR mode-set and CMR tests
5 years ago
Richard Fuchs 017a2fe37a TT#78201 fix existing test
5 years ago
Richard Fuchs 12ac8846de TT#90101 don't blindly accept a protocol switch in an answer
5 years ago
Richard Fuchs ae5b1762b9 TT#88603 don't remove transcoded codecs we added ourselves
5 years ago
Richard Fuchs 1147f856c0 TT#14008 support building against FreeSwitch version of SpanDSP
5 years ago
Richard Fuchs 1537eddff6 TT#88750 add SRTP test script
5 years ago
Richard Fuchs ec061bba6f TT#84804 add new DTLS-reverse flag
5 years ago
Richard Fuchs 73cb248f8d fix statistics format when multiple transcoders are present
5 years ago
Richard Fuchs de37041ad9 honour media-address= also for ICE and RTCP
5 years ago
Richard Fuchs 8e22c9a414 TT#85701 improve branch handling with delete-delay=0
5 years ago
Richard Fuchs 592af4d309 TT#84804 add tests for ICE/DTLS and GH 1035
5 years ago
Richard Fuchs cba8127475 TT#84804 test lib: return port when requested to
5 years ago
Richard Fuchs 64e6bf440b TT#82203 add detailed transcoding stats
6 years ago
Richard Fuchs 19ac0deb52 fix tests for non-bcg729 case
6 years ago
Richard Fuchs 89175c8564 TT#81850 fix SRTP re-offer and RTP to SRTP switch
6 years ago
Richard Fuchs 46325d61fd TT#81600 fix SRTP when transcoding/DTMF injection is in use
6 years ago
Richard Fuchs 19a9b44332 fix tests after e516db2
6 years ago
Richard Fuchs cca6ba70c7 allow protocol=RTP/AVP plus OSRTP-offer
6 years ago
Richard Fuchs a168a3c024 TT#78307 generate RTCP for media players
6 years ago
Richard Fuchs 2e4617ff86 TT#78307 move SSRC send stats to actual point of sending
6 years ago
Richard Fuchs dfc76d23b5 TT#78900 leave m=message connection details untouched
6 years ago
Richard Fuchs 5fc326c64b TT#78001 support OSRTP
6 years ago
Richard Fuchs e59ccc2973 TT#79900 add SDES=lifetime option
6 years ago
Richard Fuchs 1055a1e71e TT#79351 detect and fix payload type collisions
6 years ago