├── .github ├── FUNDING.yml ├── workflows.cfg └── workflows │ ├── .jobs_configure.yml │ ├── codeql.yml │ └── rtpproxy_ci.yml ├── .gitignore ├── .gitmodules ├── .travis.yml ├── AUTHORS ├── ChangeLog ├── INSTALL ├── LICENSE ├── Makefile.am ├── Makefile.in ├── README.md ├── README.remote ├── aclocal.m4 ├── autosrc ├── Makefile.ami ├── rtpp_analyzer_fin.c ├── rtpp_analyzer_fin.h ├── rtpp_command_rcache_fin.c ├── rtpp_command_rcache_fin.h ├── rtpp_command_reply_fin.c ├── rtpp_command_reply_fin.h ├── rtpp_genuid_fin.c ├── rtpp_genuid_fin.h ├── rtpp_hash_table_fin.c ├── rtpp_hash_table_fin.h ├── rtpp_log_obj_fin.c ├── rtpp_log_obj_fin.h ├── rtpp_modman_fin.c ├── rtpp_modman_fin.h ├── rtpp_module_if_fin.c ├── rtpp_module_if_fin.h ├── rtpp_netaddr_fin.c ├── rtpp_netaddr_fin.h ├── rtpp_pcnt_strm_fin.c ├── rtpp_pcnt_strm_fin.h ├── rtpp_pcount_fin.c ├── rtpp_pcount_fin.h ├── rtpp_pearson_perfect_fin.c ├── rtpp_pearson_perfect_fin.h ├── rtpp_pipe_fin.c ├── rtpp_pipe_fin.h ├── rtpp_port_table_fin.c ├── rtpp_port_table_fin.h ├── rtpp_proc_servers_fin.c ├── rtpp_proc_servers_fin.h ├── rtpp_proc_wakeup_fin.c ├── rtpp_proc_wakeup_fin.h ├── rtpp_record_fin.c ├── rtpp_record_fin.h ├── rtpp_refcnt_fin.c ├── rtpp_refcnt_fin.h ├── rtpp_refproxy_fin.c ├── rtpp_refproxy_fin.h ├── rtpp_ringbuf_fin.c ├── rtpp_ringbuf_fin.h ├── rtpp_rw_lock_fin.c ├── rtpp_rw_lock_fin.h ├── rtpp_server_fin.c ├── rtpp_server_fin.h ├── rtpp_sessinfo_fin.c ├── rtpp_sessinfo_fin.h ├── rtpp_socket_fin.c ├── rtpp_socket_fin.h ├── rtpp_stats_fin.c ├── rtpp_stats_fin.h ├── rtpp_stream_fin.c ├── rtpp_stream_fin.h ├── rtpp_timed_fin.c ├── rtpp_timed_fin.h ├── rtpp_timed_task_fin.c ├── rtpp_timed_task_fin.h ├── rtpp_ttl_fin.c ├── rtpp_ttl_fin.h ├── rtpp_weakref_fin.c └── rtpp_weakref_fin.h ├── bench └── main.c ├── compile ├── config.guess ├── config.sub ├── configure ├── configure.ac ├── depcomp ├── doc ├── .gitignore ├── Makefile.am ├── Makefile.in ├── manpage.xml ├── release_info.xml └── user_manual.xml ├── docker ├── Dockerfile ├── Dockerfile.export_ccache ├── Dockerfile.push ├── README.md ├── build.sh ├── clang_ver.sub ├── install_depends.sh └── update_description.sh ├── external ├── hepconnector │ ├── LICENSE │ ├── README.md │ ├── core_hep.c │ ├── core_hep.h │ ├── hep_api.h │ └── hepconnector.h ├── libelperiodic │ ├── .github │ │ └── workflows │ │ │ └── main.yml │ ├── .gitignore │ ├── .travis.yml │ ├── AUTHORS │ ├── COPYING │ ├── ChangeLog │ ├── INSTALL │ ├── MANIFEST.in │ ├── Makefile.am │ ├── Makefile.in │ ├── NEWS │ ├── README │ ├── README.md │ ├── aclocal.m4 │ ├── build_tools │ │ ├── CheckVersion.py │ │ └── __init__.py │ ├── compile │ ├── config.guess │ ├── config.sub │ ├── configure │ ├── configure.ac │ ├── depcomp │ ├── docker │ │ └── Dockerfile.python_wheels │ ├── install-sh │ ├── ltmain.sh │ ├── missing │ ├── pyproject.toml │ ├── python │ │ ├── ElPeriodic.py │ │ └── __init__.py │ ├── scripts │ │ ├── build.conf.sub │ │ ├── build │ │ │ └── install_depends_wheels.sh │ │ ├── do-install.sh │ │ ├── do-test-pwheels.sh │ │ └── do-test.sh │ ├── setup.py │ ├── src │ │ ├── Makefile.am │ │ ├── Makefile.bsd │ │ ├── Makefile.in │ │ ├── Symbol.map │ │ ├── elperiodic.h │ │ ├── findskew.sh │ │ ├── periodic.c │ │ ├── prdic_band.h │ │ ├── prdic_fd.c │ │ ├── prdic_fd.h │ │ ├── prdic_inst.h │ │ ├── prdic_main.c │ │ ├── prdic_main.h │ │ ├── prdic_main_fd.c │ │ ├── prdic_main_fd.h │ │ ├── prdic_main_pfd.c │ │ ├── prdic_main_pfd.h │ │ ├── prdic_math.c │ │ ├── prdic_math.h │ │ ├── prdic_pfd.c │ │ ├── prdic_pfd.h │ │ ├── prdic_procchain.h │ │ ├── prdic_recfilter.c │ │ ├── prdic_recfilter.h │ │ ├── prdic_shmtrig.c │ │ ├── prdic_shmtrig.h │ │ ├── prdic_sign.c │ │ ├── prdic_sign.h │ │ ├── prdic_sign_ctx.h │ │ ├── prdic_sign_impl.h │ │ ├── prdic_time.h │ │ ├── prdic_timespecops.h │ │ ├── prdic_types.h │ │ └── testskew.c │ └── tests │ │ └── t_ElPeriodic.py ├── libre │ ├── .gitignore │ ├── .travis.yml │ ├── Makefile │ ├── README.md │ ├── debian │ │ ├── changelog │ │ ├── control │ │ ├── copyright │ │ ├── docs │ │ ├── libre-dev.dirs │ │ ├── libre-dev.files │ │ ├── libre.dirs │ │ ├── libre.files │ │ ├── rules │ │ └── source │ │ │ └── format │ ├── docs │ │ ├── COPYING │ │ ├── ChangeLog │ │ ├── TODO │ │ ├── main.dox │ │ └── symbols.txt │ ├── include │ │ ├── re.h │ │ ├── re_aes.h │ │ ├── re_base64.h │ │ ├── re_bfcp.h │ │ ├── re_bitv.h │ │ ├── re_conf.h │ │ ├── re_crc32.h │ │ ├── re_dbg.h │ │ ├── re_dns.h │ │ ├── re_fmt.h │ │ ├── re_hash.h │ │ ├── re_hmac.h │ │ ├── re_http.h │ │ ├── re_httpauth.h │ │ ├── re_ice.h │ │ ├── re_jbuf.h │ │ ├── re_json.h │ │ ├── re_list.h │ │ ├── re_lock.h │ │ ├── re_main.h │ │ ├── re_mbuf.h │ │ ├── re_md5.h │ │ ├── re_mem.h │ │ ├── re_mod.h │ │ ├── re_mqueue.h │ │ ├── re_msg.h │ │ ├── re_natbd.h │ │ ├── re_net.h │ │ ├── re_odict.h │ │ ├── re_rtmp.h │ │ ├── re_rtp.h │ │ ├── re_sa.h │ │ ├── re_sdp.h │ │ ├── re_sha.h │ │ ├── re_sip.h │ │ ├── re_sipevent.h │ │ ├── re_sipreg.h │ │ ├── re_sipsess.h │ │ ├── re_srtp.h │ │ ├── re_stun.h │ │ ├── re_sys.h │ │ ├── re_tcp.h │ │ ├── re_telev.h │ │ ├── re_tls.h │ │ ├── re_tmr.h │ │ ├── re_turn.h │ │ ├── re_types.h │ │ ├── re_udp.h │ │ ├── re_uri.h │ │ └── re_websock.h │ ├── mk │ │ ├── CMakeLists.txt │ │ ├── Doxyfile │ │ ├── exclude │ │ ├── re.mk │ │ └── win32 │ │ │ ├── re.vcxproj │ │ │ └── re.vcxproj.filters │ ├── rpm │ │ └── re.spec │ └── src │ │ ├── aes │ │ ├── apple │ │ │ └── aes.c │ │ ├── mod.mk │ │ ├── openssl │ │ │ └── aes.c │ │ └── stub.c │ │ ├── base64 │ │ ├── b64.c │ │ └── mod.mk │ │ ├── bfcp │ │ ├── attr.c │ │ ├── bfcp.h │ │ ├── conn.c │ │ ├── mod.mk │ │ ├── msg.c │ │ ├── reply.c │ │ └── request.c │ │ ├── conf │ │ ├── conf.c │ │ └── mod.mk │ │ ├── crc32 │ │ ├── crc32.c │ │ └── mod.mk │ │ ├── dbg │ │ ├── dbg.c │ │ └── mod.mk │ │ ├── dns │ │ ├── client.c │ │ ├── cstr.c │ │ ├── darwin │ │ │ └── srv.c │ │ ├── dname.c │ │ ├── dns.h │ │ ├── hdr.c │ │ ├── mod.mk │ │ ├── ns.c │ │ ├── res.c │ │ ├── rr.c │ │ ├── rrlist.c │ │ └── win32 │ │ │ └── srv.c │ │ ├── fmt │ │ ├── ch.c │ │ ├── hexdump.c │ │ ├── mod.mk │ │ ├── pl.c │ │ ├── print.c │ │ ├── prm.c │ │ ├── regex.c │ │ ├── str.c │ │ ├── str_error.c │ │ ├── time.c │ │ └── unicode.c │ │ ├── hash │ │ ├── func.c │ │ ├── hash.c │ │ └── mod.mk │ │ ├── hmac │ │ ├── apple │ │ │ └── hmac.c │ │ ├── hmac.c │ │ ├── hmac_sha1.c │ │ ├── mod.mk │ │ └── openssl │ │ │ └── hmac.c │ │ ├── http │ │ ├── auth.c │ │ ├── chunk.c │ │ ├── client.c │ │ ├── http.h │ │ ├── mod.mk │ │ ├── msg.c │ │ └── server.c │ │ ├── httpauth │ │ ├── basic.c │ │ ├── digest.c │ │ └── mod.mk │ │ ├── ice │ │ ├── cand.c │ │ ├── candpair.c │ │ ├── chklist.c │ │ ├── comp.c │ │ ├── connchk.c │ │ ├── ice.c │ │ ├── ice.h │ │ ├── icem.c │ │ ├── icesdp.c │ │ ├── icestr.c │ │ ├── mod.mk │ │ ├── stunsrv.c │ │ └── util.c │ │ ├── jbuf │ │ ├── jbuf.c │ │ └── mod.mk │ │ ├── json │ │ ├── decode.c │ │ ├── decode_odict.c │ │ ├── encode.c │ │ └── mod.mk │ │ ├── list │ │ ├── list.c │ │ └── mod.mk │ │ ├── lock │ │ ├── lock.c │ │ ├── mod.mk │ │ ├── rwlock.c │ │ └── win32 │ │ │ └── lock.c │ │ ├── main │ │ ├── epoll.c │ │ ├── init.c │ │ ├── main.c │ │ ├── main.h │ │ ├── method.c │ │ ├── mod.mk │ │ └── openssl.c │ │ ├── mbuf │ │ ├── mbuf.c │ │ └── mod.mk │ │ ├── md5 │ │ ├── md5.c │ │ ├── md5.h │ │ ├── mod.mk │ │ └── wrap.c │ │ ├── mem │ │ ├── mem.c │ │ ├── mod.mk │ │ └── secure.c │ │ ├── mod │ │ ├── dl.c │ │ ├── mod.c │ │ ├── mod.mk │ │ ├── mod_internal.h │ │ └── win32 │ │ │ └── dll.c │ │ ├── mqueue │ │ ├── mod.mk │ │ ├── mqueue.c │ │ ├── mqueue.h │ │ └── win32 │ │ │ └── pipe.c │ │ ├── msg │ │ ├── ctype.c │ │ ├── mod.mk │ │ └── param.c │ │ ├── natbd │ │ ├── filtering.c │ │ ├── genalg.c │ │ ├── hairpinning.c │ │ ├── lifetime.c │ │ ├── mapping.c │ │ ├── mod.mk │ │ └── natstr.c │ │ ├── net │ │ ├── bsd │ │ │ └── brt.c │ │ ├── if.c │ │ ├── ifaddrs.c │ │ ├── linux │ │ │ └── rt.c │ │ ├── mod.mk │ │ ├── net.c │ │ ├── netstr.c │ │ ├── posix │ │ │ └── pif.c │ │ ├── rt.c │ │ ├── sock.c │ │ ├── sockopt.c │ │ └── win32 │ │ │ └── wif.c │ │ ├── odict │ │ ├── entry.c │ │ ├── get.c │ │ ├── mod.mk │ │ ├── odict.c │ │ └── type.c │ │ ├── rtmp │ │ ├── README.md │ │ ├── amf.c │ │ ├── amf_dec.c │ │ ├── amf_enc.c │ │ ├── chunk.c │ │ ├── conn.c │ │ ├── control.c │ │ ├── ctrans.c │ │ ├── dechunk.c │ │ ├── hdr.c │ │ ├── mod.mk │ │ ├── rtmp.h │ │ └── stream.c │ │ ├── rtp │ │ ├── fb.c │ │ ├── member.c │ │ ├── mod.mk │ │ ├── ntp.c │ │ ├── pkt.c │ │ ├── rr.c │ │ ├── rtcp.c │ │ ├── rtcp.h │ │ ├── rtp.c │ │ ├── sdes.c │ │ ├── sess.c │ │ └── source.c │ │ ├── sa │ │ ├── mod.mk │ │ ├── ntop.c │ │ ├── printaddr.c │ │ ├── pton.c │ │ ├── sa.c │ │ └── sa.h │ │ ├── sdp │ │ ├── attr.c │ │ ├── format.c │ │ ├── media.c │ │ ├── mod.mk │ │ ├── msg.c │ │ ├── sdp.h │ │ ├── session.c │ │ ├── str.c │ │ └── util.c │ │ ├── sha │ │ ├── mod.mk │ │ └── sha1.c │ │ ├── sip │ │ ├── addr.c │ │ ├── auth.c │ │ ├── contact.c │ │ ├── cseq.c │ │ ├── ctrans.c │ │ ├── dialog.c │ │ ├── keepalive.c │ │ ├── keepalive_udp.c │ │ ├── mod.mk │ │ ├── msg.c │ │ ├── reply.c │ │ ├── request.c │ │ ├── sip.c │ │ ├── sip.h │ │ ├── strans.c │ │ ├── transp.c │ │ └── via.c │ │ ├── sipevent │ │ ├── listen.c │ │ ├── mod.mk │ │ ├── msg.c │ │ ├── notify.c │ │ ├── sipevent.h │ │ └── subscribe.c │ │ ├── sipreg │ │ ├── mod.mk │ │ └── reg.c │ │ ├── sipsess │ │ ├── accept.c │ │ ├── ack.c │ │ ├── close.c │ │ ├── connect.c │ │ ├── info.c │ │ ├── listen.c │ │ ├── mod.mk │ │ ├── modify.c │ │ ├── reply.c │ │ ├── request.c │ │ ├── sess.c │ │ └── sipsess.h │ │ ├── srtp │ │ ├── README │ │ ├── misc.c │ │ ├── mod.mk │ │ ├── replay.c │ │ ├── srtcp.c │ │ ├── srtp.c │ │ ├── srtp.h │ │ └── stream.c │ │ ├── stun │ │ ├── addr.c │ │ ├── attr.c │ │ ├── ctrans.c │ │ ├── dnsdisc.c │ │ ├── hdr.c │ │ ├── ind.c │ │ ├── keepalive.c │ │ ├── mod.mk │ │ ├── msg.c │ │ ├── rep.c │ │ ├── req.c │ │ ├── stun.c │ │ ├── stun.h │ │ └── stunstr.c │ │ ├── sys │ │ ├── daemon.c │ │ ├── endian.c │ │ ├── fs.c │ │ ├── mod.mk │ │ ├── rand.c │ │ ├── sleep.c │ │ └── sys.c │ │ ├── tcp │ │ ├── mod.mk │ │ ├── tcp.c │ │ └── tcp_high.c │ │ ├── telev │ │ ├── mod.mk │ │ └── telev.c │ │ ├── tls │ │ ├── mod.mk │ │ └── openssl │ │ │ ├── tls.c │ │ │ ├── tls.h │ │ │ ├── tls_tcp.c │ │ │ └── tls_udp.c │ │ ├── tmr │ │ ├── mod.mk │ │ └── tmr.c │ │ ├── turn │ │ ├── chan.c │ │ ├── mod.mk │ │ ├── perm.c │ │ ├── turnc.c │ │ └── turnc.h │ │ ├── udp │ │ ├── mcast.c │ │ ├── mod.mk │ │ └── udp.c │ │ ├── uri │ │ ├── mod.mk │ │ ├── uri.c │ │ └── uric.c │ │ └── websock │ │ ├── mod.mk │ │ └── websock.c ├── libucl │ ├── .github │ │ └── workflows │ │ │ ├── cmake-multi-platform.yml │ │ │ └── makefile.yml │ ├── .gitignore │ ├── CMakeLists.txt │ ├── COPYING │ ├── ChangeLog.md │ ├── Makefile.am │ ├── Makefile.unix │ ├── Makefile.w32 │ ├── README.md │ ├── autogen.sh │ ├── configure.ac │ ├── doc │ │ ├── Makefile.am │ │ ├── api.md │ │ ├── libucl.3 │ │ ├── lua_api.md │ │ └── pandoc.template │ ├── examples │ │ └── ucl_cpp.cc │ ├── haskell │ │ └── hucl.hs │ ├── include │ │ ├── lua_ucl.h │ │ ├── ucl++.h │ │ └── ucl.h │ ├── klib │ │ ├── khash.h │ │ └── kvec.h │ ├── libucl.pc.in │ ├── lua │ │ ├── Makefile.am │ │ ├── libucl.rockspec.in │ │ ├── lua_ucl.c │ │ └── test.lua │ ├── m4 │ │ ├── .gitignore │ │ ├── ax_lua.m4 │ │ └── gcov.m4 │ ├── python │ │ ├── MANIFEST.in │ │ ├── setup.py │ │ ├── src │ │ │ └── uclmodule.c │ │ ├── tests │ │ │ ├── __init__.py │ │ │ ├── compat.py │ │ │ ├── test_dump.py │ │ │ ├── test_example.py │ │ │ ├── test_load.py │ │ │ └── test_validation.py │ │ └── ucl.pyi │ ├── src │ │ ├── Makefile.am │ │ ├── mum.h │ │ ├── tree.h │ │ ├── ucl_chartable.h │ │ ├── ucl_emitter.c │ │ ├── ucl_emitter_streamline.c │ │ ├── ucl_emitter_utils.c │ │ ├── ucl_hash.c │ │ ├── ucl_hash.h │ │ ├── ucl_internal.h │ │ ├── ucl_msgpack.c │ │ ├── ucl_parser.c │ │ ├── ucl_schema.c │ │ ├── ucl_sexp.c │ │ └── ucl_util.c │ ├── stamp-h.in │ ├── tests │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── basic.test │ │ ├── basic │ │ │ ├── 1.in │ │ │ ├── 1.res │ │ │ ├── 10.in │ │ │ ├── 11.in │ │ │ ├── 11.res │ │ │ ├── 12.in │ │ │ ├── 12.res │ │ │ ├── 13.in │ │ │ ├── 13.res │ │ │ ├── 14.in │ │ │ ├── 14.res │ │ │ ├── 15.in │ │ │ ├── 15.inc │ │ │ ├── 15.res │ │ │ ├── 16.in │ │ │ ├── 16.inc │ │ │ ├── 16.res │ │ │ ├── 17.in │ │ │ ├── 17.res │ │ │ ├── 18.in │ │ │ ├── 18.res │ │ │ ├── 19-append.inc │ │ │ ├── 19-merge.inc │ │ │ ├── 19-rewrite.inc │ │ │ ├── 19.in │ │ │ ├── 19.res │ │ │ ├── 2.in │ │ │ ├── 2.res │ │ │ ├── 22.in │ │ │ ├── 22.res │ │ │ ├── 3.in │ │ │ ├── 3.res │ │ │ ├── 4.in │ │ │ ├── 4.res │ │ │ ├── 6.in │ │ │ ├── 6.res │ │ │ ├── 8.in │ │ │ ├── 8.res │ │ │ ├── 9-comment.inc │ │ │ ├── 9-empty.inc │ │ │ ├── 9.in │ │ │ ├── 9.inc │ │ │ ├── 9.res │ │ │ ├── comments.in │ │ │ ├── comments.res │ │ │ ├── escapes.in │ │ │ ├── escapes.res │ │ │ ├── include_dir │ │ │ │ ├── invalid.conf │ │ │ │ ├── pri1.conf │ │ │ │ ├── pri2.conf │ │ │ │ ├── test1.conf │ │ │ │ ├── test2.conf │ │ │ │ └── test3.conf │ │ │ ├── load.in │ │ │ ├── load.inc │ │ │ ├── load.res │ │ │ ├── squote.in │ │ │ └── squote.res │ │ ├── fuzzers │ │ │ ├── ucl_add_string_fuzzer.c │ │ │ └── ucl_msgpack_fuzzer.c │ │ ├── generate.res │ │ ├── generate.test │ │ ├── msgpack.test │ │ ├── rcl_test.json.xz │ │ ├── run_tests.sh │ │ ├── schema.test │ │ ├── schema │ │ │ ├── additionalItems.json │ │ │ ├── additionalProperties.json │ │ │ ├── allOf.json │ │ │ ├── anyOf.json │ │ │ ├── definitions.json.disabled │ │ │ ├── dependencies.json │ │ │ ├── enum.json │ │ │ ├── items.json │ │ │ ├── maxItems.json │ │ │ ├── maxLength.json │ │ │ ├── maxProperties.json │ │ │ ├── maximum.json │ │ │ ├── minItems.json │ │ │ ├── minLength.json │ │ │ ├── minProperties.json │ │ │ ├── minimum.json │ │ │ ├── multipleOf.json │ │ │ ├── not.json │ │ │ ├── oneOf.json │ │ │ ├── pattern.json │ │ │ ├── patternProperties.json │ │ │ ├── properties.json │ │ │ ├── ref.json │ │ │ ├── refRemote.json.disabled │ │ │ ├── required.json │ │ │ ├── type.json │ │ │ └── uniqueItems.json │ │ ├── speed.test │ │ ├── streamline.res │ │ ├── streamline.test │ │ ├── test_basic.c │ │ ├── test_generate.c │ │ ├── test_msgpack.c │ │ ├── test_schema.c │ │ ├── test_speed.c │ │ └── test_streamline.c │ ├── uthash │ │ ├── uthash.h │ │ ├── utlist.h │ │ └── utstring.h │ └── utils │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ ├── chargen.c │ │ ├── objdump.c │ │ └── ucl-tool.c └── xxHash │ ├── .gitattributes │ ├── .github │ ├── dependabot.yml │ └── workflows │ │ ├── ci.yml │ │ └── scorecard.yml │ ├── .gitignore │ ├── CHANGELOG │ ├── Doxyfile │ ├── Doxyfile-internal │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── SECURITY.md │ ├── appveyor.yml │ ├── cli │ ├── .tipi │ │ ├── deps │ │ └── opts │ ├── COPYING │ ├── README.md │ ├── xsum_arch.c │ ├── xsum_arch.h │ ├── xsum_bench.c │ ├── xsum_bench.h │ ├── xsum_config.h │ ├── xsum_os_specific.c │ ├── xsum_os_specific.h │ ├── xsum_output.c │ ├── xsum_output.h │ ├── xsum_sanity_check.c │ ├── xsum_sanity_check.h │ ├── xxhsum.1 │ ├── xxhsum.1.md │ └── xxhsum.c │ ├── clib.json │ ├── cmake_unofficial │ ├── .gitignore │ ├── CMakeLists.txt │ ├── JoinPaths.cmake │ ├── README.md │ └── xxHashConfig.cmake.in │ ├── doc │ ├── README.md │ ├── xxhash.cry │ └── xxhash_spec.md │ ├── fuzz │ └── fuzzer.c │ ├── libxxhash.pc.in │ ├── tests │ ├── Makefile │ ├── bench │ │ ├── .clang_complete │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── benchHash.c │ │ ├── benchHash.h │ │ ├── benchfn.c │ │ ├── benchfn.h │ │ ├── bhDisplay.c │ │ ├── bhDisplay.h │ │ ├── hashes.h │ │ ├── main.c │ │ ├── timefn.c │ │ └── timefn.h │ ├── cli-comment-line.sh │ ├── cli-ignore-missing.sh │ ├── collisions │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── allcodecs │ │ │ ├── README.md │ │ │ ├── dummy.c │ │ │ └── dummy.h │ │ ├── hashes.h │ │ ├── main.c │ │ ├── pool.c │ │ ├── pool.h │ │ ├── sort.cc │ │ ├── sort.hh │ │ ├── threading.c │ │ └── threading.h │ ├── filename-escape.sh │ ├── generate_unicode_test.c │ ├── multiInclude.c │ ├── ppc_define.c │ ├── sanity_test.c │ ├── sanity_test_vectors.h │ ├── sanity_test_vectors_generator.c │ └── unicode_lint.sh │ ├── xxh3.h │ ├── xxh_x86dispatch.c │ ├── xxh_x86dispatch.h │ ├── xxhash.c │ └── xxhash.h ├── extractaudio ├── Makefile.am ├── Makefile.bsd ├── Makefile.in ├── decoder.c ├── decoder.h ├── eaud_adhoc.c ├── eaud_adhoc.h ├── eaud_crypto.c ├── eaud_crypto.h ├── eaud_oformats.c ├── eaud_oformats.h ├── eaud_pcap.c ├── eaud_pcap.h ├── eaud_substreams.c ├── eaud_substreams.h ├── extractaudio.c ├── format_au.h ├── g729_compat.c ├── g729_compat.h ├── rtpp_loader.c ├── rtpp_loader.h ├── rtpp_scan_adhoc.c ├── rtpp_scan_adhoc.h ├── rtpp_scan_pcap.c ├── rtpp_scan_pcap.h ├── session.h ├── srtp_util.c └── srtp_util.h ├── install-sh ├── libexecinfo ├── Makefile.am ├── Makefile.in ├── execinfo.c ├── execinfo.h ├── execinfo_check.c ├── execinfo_internal.h ├── execinfo_luw.c ├── execinfo_testfunc.c ├── execinfo_testfunc.h ├── execinfo_testfunc1.c ├── execinfo_testfunc1.h ├── stacktraverse.c └── stacktraverse.h ├── libre ├── .gitignore ├── Makefile.am ├── Makefile.in ├── libre_test.c ├── rtpp_re.c ├── rtpp_re.h ├── rtpp_re_dbg.c ├── rtpp_re_icesdp.c └── rtpp_re_stub.c ├── libucl ├── Makefile.am ├── Makefile.in └── libucl_test.c ├── libxxHash ├── Makefile.am ├── Makefile.in └── rtpp_xxHash.h ├── ltmain.sh ├── m4 ├── autosrc.ami ├── ax_check_compile_flag.m4 ├── ax_check_docbook_dtd.m4 ├── ax_compile_check_sizeof.m4 ├── ax_prog_xsltproc.m4 ├── ccflags.ami ├── coverage.ami ├── dirs.ami ├── ipolice.ami ├── libtool.m4 ├── ltoptions.m4 ├── ltsugar.m4 ├── ltversion.m4 ├── lt~obsolete.m4 ├── memdeb.ami └── rtpp_module.ami ├── makeann ├── .gitignore ├── Makefile.am ├── Makefile.in └── makeann.c ├── misc ├── .gitignore ├── PFD.py ├── PFDi.py └── includepolice.py ├── missing ├── mk ├── GNUmakefile ├── GNUmakefile.makeann ├── Makefile ├── Makefile.libexecinfo └── Makefile.makeann ├── modules ├── Makefile.am ├── Makefile.in ├── Symbol.map ├── acct_csv │ ├── Makefile.am │ ├── Makefile.in │ └── rtpp_acct_csv.c ├── acct_rtcp_hep │ ├── .gitignore │ ├── Makefile.am │ ├── Makefile.in │ ├── _acct_rtcp_hep_config.h │ ├── rtcp.h │ ├── rtcp2json.c │ ├── rtcp2json.h │ ├── rtcp2json_test.c │ ├── rtpp_acct_rtcp_hep.c │ └── rtpp_arh_conf.c ├── badmod │ ├── Makefile.am │ ├── Makefile.in │ ├── rtpp_badmod1.c │ ├── rtpp_badmod2.c │ ├── rtpp_badmod3.c │ └── rtpp_badmod4.c ├── catch_dtmf │ ├── Makefile.am │ ├── Makefile.in │ └── rtpp_catch_dtmf.c ├── dtls_gw │ ├── Makefile.am │ ├── Makefile.in │ ├── README.md │ ├── rtpp_dtls.c │ ├── rtpp_dtls.h │ ├── rtpp_dtls_conn.c │ ├── rtpp_dtls_conn.h │ ├── rtpp_dtls_gw.c │ ├── rtpp_dtls_util.c │ └── rtpp_dtls_util.h └── ice_lite │ ├── Makefile.am │ ├── Makefile.in │ ├── README.md │ └── rtpp_ice_lite.c ├── pertools ├── Makefile.am ├── Makefile.in ├── udp_contention │ ├── Makefile.am │ ├── Makefile.bsd │ ├── Makefile.in │ └── udp_contention.c └── udp_storm │ ├── Makefile │ └── udp_storm.c ├── protos ├── Makefile ├── crypto.proto ├── network.proto ├── out │ ├── .gitignore │ └── srtp.py ├── rtpp_id.proto ├── rtpp_request.proto ├── rtpp_response.proto ├── session_info.proto └── stream_info.proto ├── python ├── .gitignore ├── RPTL │ ├── README.md │ ├── examples │ │ ├── README.md │ │ └── dtls.rptl │ └── rptl_run.py ├── sippy_lite.list └── tools │ ├── getmonotime.py │ ├── requirements.txt │ ├── rtpp_notify_client.py │ ├── rtpp_query.py │ └── sippyapi │ └── system │ └── Daemonizer.py ├── regress ├── test01.py ├── test02.py └── test03.py ├── rpm ├── rtpproxy.init ├── rtpproxy.service ├── rtpproxy.socket ├── rtpproxy.spec ├── rtpproxy.sysconfig └── rtpproxy.tmpfiles.conf ├── rtpproxy.8 ├── rtpproxy.init ├── rtpproxy.sh ├── scripts ├── build │ ├── build.conf.sub │ ├── dockerize.sub │ ├── get-arch-buildargs.sh │ ├── install_depends.sh │ └── start_container.sh ├── do-build.sh ├── do-docbuild.sh ├── do-docdeploy.sh ├── do-test.sh ├── ft-apt-get-update.sh ├── ft-apt-spy2-check-and-fix.sh ├── ft-before_install.sh ├── functions.sub ├── fuzz │ ├── Symbol.map │ ├── fuzz_command_parser.c │ ├── fuzz_command_parser.dict │ ├── fuzz_command_parser.options │ ├── fuzz_rtcp_parser.c │ ├── fuzz_rtcp_parser.options │ ├── fuzz_rtp_parser.c │ ├── fuzz_rtp_parser.options │ ├── fuzz_rtp_session.c │ ├── fuzz_rtp_session.dict │ ├── fuzz_rtp_session.options │ ├── fuzz_rtp_session.setup │ ├── fuzz_standalone.h │ ├── libsrtp2-dev.patch │ ├── libssl-dev.patch │ ├── oss-fuzz-build.sh │ ├── rfz_chunk.c │ ├── rfz_chunk.h │ ├── rfz_command.c │ ├── rfz_command.h │ ├── rfz_utils.c │ └── rfz_utils.h ├── revtempl.py ├── rtpproxy.in.freebsd ├── rtpproxy.init.debian └── submit-coverage.sh ├── src ├── .gitignore ├── Makefile.am ├── Makefile.in ├── advanced │ ├── packet_processor.h │ ├── pproc_manager.c │ └── pproc_manager.h ├── commands │ ├── rpcpv1_copy.c │ ├── rpcpv1_copy.h │ ├── rpcpv1_delete.c │ ├── rpcpv1_delete.h │ ├── rpcpv1_norecord.c │ ├── rpcpv1_norecord.h │ ├── rpcpv1_play.c │ ├── rpcpv1_play.h │ ├── rpcpv1_query.c │ ├── rpcpv1_query.h │ ├── rpcpv1_record.c │ ├── rpcpv1_record.h │ ├── rpcpv1_stats.c │ ├── rpcpv1_stats.h │ ├── rpcpv1_ul.c │ ├── rpcpv1_ul.h │ ├── rpcpv1_ul_subc.c │ ├── rpcpv1_ul_subc.h │ ├── rpcpv1_ver.c │ └── rpcpv1_ver.h ├── config.h.in ├── config_pp.h ├── g711.h ├── genfincode.sh ├── genfincode.sub ├── genfincode_stat.sh ├── librtpp_main.c ├── librtpp_main.h ├── librtpproxy.h ├── main.c ├── rtp.c ├── rtp.h ├── rtp_analyze.c ├── rtp_analyze.h ├── rtp_info.h ├── rtp_packet.c ├── rtp_packet.h ├── rtp_resizer.c ├── rtp_resizer.h ├── rtpa_stats.h ├── rtpp_acct.c ├── rtpp_acct.h ├── rtpp_acct_pipe.h ├── rtpp_acct_rtcp.c ├── rtpp_acct_rtcp.h ├── rtpp_analyzer.c ├── rtpp_analyzer.h ├── rtpp_autoglitch.c ├── rtpp_autoglitch.h ├── rtpp_bindaddrs.c ├── rtpp_bindaddrs.h ├── rtpp_cfg.h ├── rtpp_cfile.c ├── rtpp_cfile.h ├── rtpp_codeptr.h ├── rtpp_command.c ├── rtpp_command.h ├── rtpp_command_args.h ├── rtpp_command_async.c ├── rtpp_command_async.h ├── rtpp_command_ctx.h ├── rtpp_command_ecodes.h ├── rtpp_command_parse.c ├── rtpp_command_parse.h ├── rtpp_command_private.h ├── rtpp_command_rcache.c ├── rtpp_command_rcache.h ├── rtpp_command_reply.c ├── rtpp_command_reply.h ├── rtpp_command_stats.h ├── rtpp_command_stream.c ├── rtpp_command_stream.h ├── rtpp_command_sub.h ├── rtpp_controlfd.c ├── rtpp_controlfd.h ├── rtpp_coverage.c ├── rtpp_coverage.h ├── rtpp_debug.h ├── rtpp_debugon.h ├── rtpp_defines.h ├── rtpp_endian.h ├── rtpp_epoll.c ├── rtpp_epoll.h ├── rtpp_fintest.c ├── rtpp_genuid.c ├── rtpp_genuid.h ├── rtpp_glitch.c ├── rtpp_glitch.h ├── rtpp_hash_table.c ├── rtpp_hash_table.h ├── rtpp_ip_chksum.h ├── rtpp_linker_set.h ├── rtpp_list.h ├── rtpp_locking.h ├── rtpp_log.c ├── rtpp_log.h ├── rtpp_log_obj.c ├── rtpp_log_obj.h ├── rtpp_log_stand.c ├── rtpp_log_stand.h ├── rtpp_mallocs.c ├── rtpp_mallocs.h ├── rtpp_math.c ├── rtpp_math.h ├── rtpp_memdeb.c ├── rtpp_memdeb.h ├── rtpp_memdeb_internal.h ├── rtpp_memdeb_stats.h ├── rtpp_memdeb_test.c ├── rtpp_modman.c ├── rtpp_modman.h ├── rtpp_module.h ├── rtpp_module_acct.h ├── rtpp_module_cplane.h ├── rtpp_module_if.c ├── rtpp_module_if.h ├── rtpp_module_if_static.c ├── rtpp_module_if_static.h ├── rtpp_module_wthr.h ├── rtpp_netaddr.c ├── rtpp_netaddr.h ├── rtpp_netio_async.c ├── rtpp_netio_async.h ├── rtpp_network.c ├── rtpp_network.h ├── rtpp_network_io.c ├── rtpp_network_io.h ├── rtpp_nofile.c ├── rtpp_nofile.h ├── rtpp_notify.c ├── rtpp_notify.h ├── rtpp_objck.c ├── rtpp_packetops.h ├── rtpp_pcache.c ├── rtpp_pcache.h ├── rtpp_pcnt_strm.c ├── rtpp_pcnt_strm.h ├── rtpp_pcnts_strm.h ├── rtpp_pcount.c ├── rtpp_pcount.h ├── rtpp_pearson.c ├── rtpp_pearson.h ├── rtpp_pearson_perfect.c ├── rtpp_pearson_perfect.h ├── rtpp_pipe.c ├── rtpp_pipe.h ├── rtpp_port_table.c ├── rtpp_port_table.h ├── rtpp_proc.c ├── rtpp_proc.h ├── rtpp_proc_async.c ├── rtpp_proc_async.h ├── rtpp_proc_servers.c ├── rtpp_proc_servers.h ├── rtpp_proc_ttl.c ├── rtpp_proc_ttl.h ├── rtpp_proc_wakeup.c ├── rtpp_proc_wakeup.h ├── rtpp_queue.c ├── rtpp_queue.h ├── rtpp_record.c ├── rtpp_record.h ├── rtpp_record_adhoc.h ├── rtpp_record_private.h ├── rtpp_refcnt.c ├── rtpp_refcnt.h ├── rtpp_refproxy.c ├── rtpp_refproxy.h ├── rtpp_ringbuf.c ├── rtpp_ringbuf.h ├── rtpp_runcreds.h ├── rtpp_rw_lock.c ├── rtpp_rw_lock.h ├── rtpp_rzmalloc_perf.c ├── rtpp_sbuf.c ├── rtpp_sbuf.h ├── rtpp_server.c ├── rtpp_server.h ├── rtpp_sessinfo.c ├── rtpp_sessinfo.h ├── rtpp_session.c ├── rtpp_session.h ├── rtpp_socket.c ├── rtpp_socket.h ├── rtpp_ssrc.h ├── rtpp_stacktrace.c ├── rtpp_stacktrace.h ├── rtpp_stats.c ├── rtpp_stats.h ├── rtpp_str.c ├── rtpp_str.h ├── rtpp_stream.c ├── rtpp_stream.h ├── rtpp_syslog_async.c ├── rtpp_syslog_async.h ├── rtpp_threads.c ├── rtpp_threads.h ├── rtpp_time.c ├── rtpp_time.h ├── rtpp_timed.c ├── rtpp_timed.h ├── rtpp_timed_task.h ├── rtpp_timeout_data.c ├── rtpp_timeout_data.h ├── rtpp_tnotify_set.c ├── rtpp_tnotify_set.h ├── rtpp_tnotify_tgt.h ├── rtpp_ttl.c ├── rtpp_ttl.h ├── rtpp_types.h ├── rtpp_ucl.c ├── rtpp_ucl.h ├── rtpp_util.c ├── rtpp_util.h ├── rtpp_version.h ├── rtpp_weakref.c ├── rtpp_weakref.h ├── rtpp_wi.h ├── rtpp_wi_apis.c ├── rtpp_wi_apis.h ├── rtpp_wi_data.c ├── rtpp_wi_data.h ├── rtpp_wi_pkt.c ├── rtpp_wi_pkt.h ├── rtpp_wi_private.h ├── rtpp_wi_sgnl.c └── rtpp_wi_sgnl.h ├── stamp-h.in ├── test-driver └── tests ├── .gitignore ├── .spool └── .gitignore ├── Makefile.am ├── Makefile.in ├── README.md ├── acct_rtcp_hep ├── Makefile.ami ├── basic ├── basic.conf ├── basic.input ├── basic.tcp.output ├── basic.udp.output ├── broken1.conf ├── broken2.conf ├── broken3.conf ├── broken4.conf ├── broken5.conf ├── broken6.conf ├── broken7.conf ├── broken8.conf ├── confval1 ├── rtcp.a.pcap └── rtcp.o.pcap ├── autosrc ├── Makefile.ami └── chk_up2date ├── basic_versions ├── Makefile.ami ├── basic_versions.input ├── basic_versions.output └── basic_versions1 ├── catch_dtmf ├── Makefile.ami ├── basic ├── catch_dtmf.input ├── catch_dtmf.output ├── catch_dtmf.tnotify.output └── dtmf.pcap ├── command_parser ├── Makefile.ami ├── command_parser.input ├── command_parser.output └── command_parser1 ├── dtls_gw ├── Makefile.ami ├── basic └── dtls_gw.output ├── extractaudio ├── Makefile.ami ├── badargs ├── call1_alaw.a.rtp ├── call1_alaw.o.rtp ├── call1_alaw.output ├── call1_alaw.scan.output ├── call1_g722.a.rtp ├── call1_g722.o.rtp ├── call1_g722.output ├── call1_g722.scan.output ├── call1_g722_srtp.a.rtp ├── call1_g722_srtp.args ├── call1_g722_srtp.o.rtp ├── call1_g722_srtp.output ├── call1_g722_srtp.scan.output ├── call1_g729.a.rtp ├── call1_g729.o.rtp ├── call1_g729.output ├── call1_g729.scan.output ├── call1_gsm.a.rtp ├── call1_gsm.o.rtp ├── call1_gsm.output ├── call1_gsm.scan.output ├── call1_ulaw.a.rtp ├── call1_ulaw.o.rtp ├── call1_ulaw.output ├── call1_ulaw.scan.output ├── common.sub ├── corrupted_g722.a.rtp ├── corrupted_g722.o.rtp ├── corrupted_g722.output ├── corrupted_g722.scan.output ├── extractaudio.checksums ├── extractaudio.m.raw.dfmts ├── extractaudio.m.w64.dfmts ├── extractaudio.m.wav.dfmts ├── extractaudio.s.w64.dfmts ├── extractaudio.s.wav.dfmts ├── extractaudio1 ├── rtcp.args ├── rtcp.output ├── rtcp.scan.output └── scan ├── forwarding ├── Makefile.ami ├── forwarding1 ├── forwarding1.checksums ├── forwarding1.copy.input ├── forwarding1.delete.input ├── forwarding1.gena.input ├── forwarding1.gena.moutput ├── forwarding1.gena.output ├── forwarding1.geno.input ├── forwarding1.geno.moutput ├── forwarding1.geno.output ├── forwarding1.input ├── forwarding1.moutput ├── forwarding1.output ├── forwarding1.reca.input ├── forwarding1.reco.input ├── forwarding1.relatch.input ├── forwarding1.repack.input ├── forwarding1.sstats.input ├── forwarding1.stats.input ├── forwarding1_robust └── rtpproxy.conf ├── functions ├── gdb.gettrace ├── libexecinfo ├── Makefile.ami └── libexecinfo1 ├── libucl ├── Makefile.ami ├── libucl1 ├── libucl_test.conf ├── libucl_test.nodebug.conf └── libucl_test.output ├── makeann ├── Makefile.ami ├── makeann.1.output ├── makeann.2.output ├── makeann.3.output ├── makeann.4.output └── makeann1 ├── memdeb ├── Makefile.ami ├── glitch.sub ├── glitch1 ├── glitch_acct_rtcp_hep ├── glitch_basic_versions1 ├── glitch_catch_dtmf ├── glitch_command_parser1_stdio ├── glitch_command_parser1_tcp ├── glitch_extractaudio ├── glitch_libucl1 ├── glitch_makeann1 ├── glitch_startstop1 └── glitch_unittests_sbuf ├── playback ├── Makefile.ami ├── playback1 ├── playback1.checksums ├── playback1.nat.input ├── playback1.output ├── playback1.type1.input ├── playback1.type1.output ├── playback1.type2.input ├── playback1.type3.input ├── playback1.type4.input ├── playback1.type4.output ├── playback1.type5.input ├── playback1.type5.output ├── playback1.type5.st2.input ├── playback1.type6.input ├── playback1.type6.output ├── playback1.type6.st2.input ├── playback1.type7.input ├── playback1.type7.output └── playback1.type7.st2.input ├── recording ├── Makefile.ami ├── basic ├── basic.files.input ├── basic.files.output ├── basic.files_stophalf.output ├── basic.input ├── basic.recstop.input ├── basic.recstopall.input ├── basic.recstophalf1.input ├── basic.recstophalf2.input ├── basic.refresh.input ├── basic.remote.input ├── basic.remote.output ├── basic.remote_p.input ├── basic.remote_p.output ├── basic.singlefile.input ├── basic.singlefile.output ├── basic.singlefile_c.input ├── basic.singlefile_c.output ├── basic.singlefile_stophalf.output ├── basic.stats.input ├── basic.stopall.input └── basic.stopall.output ├── ringback.sln ├── rtp_analyze ├── DLT_NULL.a.rtp ├── DLT_NULL.output ├── G723_1.a.rtp ├── G723_1.o.rtp ├── G723_1.output ├── Makefile.ami ├── a2b_nosync.args ├── a2b_nosync.output ├── alice_srtp.pcap ├── alice_srtp_out.pcap ├── alice_to_bob.args ├── alice_to_bob.output ├── alice_to_bob_out.args ├── alice_to_bob_out.output ├── bob_srtp.pcap ├── bob_srtp_out.pcap ├── c1.a.rtp ├── c1.output ├── dups.a.rtp ├── dups.output ├── lost.a.rtp ├── lost.o.rtp ├── lost.output ├── p12.output ├── p23.output ├── rtp_analyze1 ├── rtp_analyze1.checksums ├── sess6.a.rtp ├── sess6.o.rtp ├── sess6.output ├── sipit31.a.rtp ├── sipit31.o.rtp ├── sipit31.output ├── srtp1.a.rtp ├── srtp1.o.rtp ├── srtp1.output ├── truncated ├── weird.a.rtp ├── weird.o.rtp └── weird.output ├── session_timeouts ├── Makefile.ami ├── full.input ├── full6.input ├── half.input ├── half6.input ├── ipv4_1.output ├── ipv4_2.output ├── ipv6_1.output ├── ipv6_2.output ├── lookup.input ├── lookup6.input ├── notify_tcp ├── notify_tcp_wild ├── notify_unix ├── stats.input ├── test.sub └── tnotify.output ├── startstop ├── Makefile.ami ├── badargs ├── badargs.common.input ├── badargs.debug.input ├── badargs.debug.sub ├── badargs.nodebug.input ├── badargs.nodebug.sub ├── goodargs ├── nodebug ├── startstop.nodebug.output ├── startstop.output ├── startstop.sub └── startstop1 └── unittests ├── Makefile.ami ├── rtcp1.output ├── rtcp1.raw ├── rtcp2json1 ├── rtpp_fintest ├── rtpp_objck ├── rtpp_rzmalloc_perf └── rtpp_sbuf /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: sippylabs 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 14 | -------------------------------------------------------------------------------- /.github/workflows.cfg: -------------------------------------------------------------------------------- 1 | # Comment the line(s) below to disable particular pipeline(s): 2 | 3 | do_Docker=true 4 | do_FullBuild=true 5 | do_FuncTest=true 6 | do_Fuzzing=true 7 | do_Glitch=true 8 | do_MinBuild=true 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.orig 3 | *.rej 4 | *.o 5 | *.gcno 6 | *.gcda 7 | *.pcap 8 | .deps 9 | .gdbinit 10 | autom4te.cache 11 | config.guess 12 | config.log 13 | config.status 14 | Makefile 15 | stamp-h1 16 | libtool 17 | extractaudio/extractaudio 18 | extractaudio/extractaudio_debug 19 | extractaudio/extractframes 20 | src/rtpproxy 21 | src/rtpproxy_debug 22 | src/rtpp_objck 23 | makeann/makeann 24 | makeann/makeann_debug 25 | src/config.h 26 | src/config_std.h 27 | libexecinfo/execinfo_TEST 28 | libexecinfo/execinfo_check 29 | libexecinfo/libexecinfo.a 30 | */Makefile 31 | .libs 32 | *.lo 33 | *.la 34 | .gdbinit* 35 | python/sippy_lite/sippy/Time/clock_dtime.py 36 | libucl/libucl.a 37 | libucl/libucl_debug.a 38 | libucl/libucl_test 39 | external/libelperiodic/configure 40 | .dirstamp 41 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/.gitmodules -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Maxim Sobolev 2 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/ChangeLog -------------------------------------------------------------------------------- /autosrc/rtpp_analyzer_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_analyzer_fin_h) 3 | #define _rtpp_analyzer_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_analyzer; 11 | void rtpp_analyzer_fin(struct rtpp_analyzer *); 12 | #else 13 | #define rtpp_analyzer_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_analyzer_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_analyzer_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_command_rcache_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_command_rcache_fin_h) 3 | #define _rtpp_command_rcache_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_cmd_rcache; 11 | void rtpp_cmd_rcache_fin(struct rtpp_cmd_rcache *); 12 | #else 13 | #define rtpp_cmd_rcache_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_cmd_rcache_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_command_rcache_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_command_reply_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_command_reply_fin_h) 3 | #define _rtpp_command_reply_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpc_reply; 11 | void rtpc_reply_fin(struct rtpc_reply *); 12 | #else 13 | #define rtpc_reply_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpc_reply_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_command_reply_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_genuid_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_genuid_fin_h) 3 | #define _rtpp_genuid_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_genuid; 11 | void rtpp_genuid_fin(struct rtpp_genuid *); 12 | #else 13 | #define rtpp_genuid_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_genuid_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_genuid_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_hash_table_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_hash_table_fin_h) 3 | #define _rtpp_hash_table_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_hash_table; 11 | void rtpp_hash_table_fin(struct rtpp_hash_table *); 12 | #else 13 | #define rtpp_hash_table_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_hash_table_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_hash_table_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_log_obj_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_log_obj_fin_h) 3 | #define _rtpp_log_obj_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_log; 11 | void rtpp_log_fin(struct rtpp_log *); 12 | #else 13 | #define rtpp_log_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_log_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_log_obj_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_modman_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_modman_fin_h) 3 | #define _rtpp_modman_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_modman; 11 | void rtpp_modman_fin(struct rtpp_modman *); 12 | #else 13 | #define rtpp_modman_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_modman_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_modman_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_module_if_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_module_if_fin_h) 3 | #define _rtpp_module_if_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_module_if; 11 | void rtpp_module_if_fin(struct rtpp_module_if *); 12 | #else 13 | #define rtpp_module_if_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_module_if_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_module_if_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_netaddr_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_netaddr_fin_h) 3 | #define _rtpp_netaddr_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_netaddr; 11 | void rtpp_netaddr_fin(struct rtpp_netaddr *); 12 | #else 13 | #define rtpp_netaddr_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_netaddr_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_netaddr_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_pcnt_strm_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_pcnt_strm_fin_h) 3 | #define _rtpp_pcnt_strm_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_pcnt_strm; 11 | void rtpp_pcnt_strm_fin(struct rtpp_pcnt_strm *); 12 | #else 13 | #define rtpp_pcnt_strm_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_pcnt_strm_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_pcnt_strm_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_pcount_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_pcount_fin_h) 3 | #define _rtpp_pcount_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_pcount; 11 | void rtpp_pcount_fin(struct rtpp_pcount *); 12 | #else 13 | #define rtpp_pcount_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_pcount_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_pcount_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_pearson_perfect_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_pearson_perfect_fin_h) 3 | #define _rtpp_pearson_perfect_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_pearson_perfect; 11 | void rtpp_pearson_perfect_fin(struct rtpp_pearson_perfect *); 12 | #else 13 | #define rtpp_pearson_perfect_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_pearson_perfect_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_pearson_perfect_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_pipe_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_pipe_fin_h) 3 | #define _rtpp_pipe_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_pipe; 11 | void rtpp_pipe_fin(struct rtpp_pipe *); 12 | #else 13 | #define rtpp_pipe_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_pipe_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_pipe_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_port_table_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_port_table_fin_h) 3 | #define _rtpp_port_table_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_port_table; 11 | void rtpp_port_table_fin(struct rtpp_port_table *); 12 | #else 13 | #define rtpp_port_table_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_port_table_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_port_table_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_proc_servers_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_proc_servers_fin_h) 3 | #define _rtpp_proc_servers_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_proc_servers; 11 | void rtpp_proc_servers_fin(struct rtpp_proc_servers *); 12 | #else 13 | #define rtpp_proc_servers_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_proc_servers_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_proc_servers_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_proc_wakeup_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_proc_wakeup_fin_h) 3 | #define _rtpp_proc_wakeup_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_proc_wakeup; 11 | void rtpp_proc_wakeup_fin(struct rtpp_proc_wakeup *); 12 | #else 13 | #define rtpp_proc_wakeup_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_proc_wakeup_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_proc_wakeup_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_record_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_record_fin_h) 3 | #define _rtpp_record_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_record; 11 | void rtpp_record_fin(struct rtpp_record *); 12 | #else 13 | #define rtpp_record_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_record_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_record_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_refcnt_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_refcnt_fin_h) 3 | #define _rtpp_refcnt_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_refcnt; 11 | void rtpp_refcnt_fin(struct rtpp_refcnt *); 12 | #else 13 | #define rtpp_refcnt_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_refcnt_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_refcnt_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_refproxy_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_refproxy_fin_h) 3 | #define _rtpp_refproxy_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_refproxy; 11 | void rtpp_refproxy_fin(struct rtpp_refproxy *); 12 | #else 13 | #define rtpp_refproxy_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_refproxy_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_refproxy_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_ringbuf_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_ringbuf_fin_h) 3 | #define _rtpp_ringbuf_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_ringbuf; 11 | void rtpp_ringbuf_fin(struct rtpp_ringbuf *); 12 | #else 13 | #define rtpp_ringbuf_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_ringbuf_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_ringbuf_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_rw_lock_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_rw_lock_fin_h) 3 | #define _rtpp_rw_lock_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_rw_lock; 11 | void rtpp_rw_lock_fin(struct rtpp_rw_lock *); 12 | #else 13 | #define rtpp_rw_lock_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_rw_lock_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_rw_lock_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_server_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_server_fin_h) 3 | #define _rtpp_server_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_server; 11 | void rtpp_server_fin(struct rtpp_server *); 12 | #else 13 | #define rtpp_server_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_server_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_server_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_sessinfo_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_sessinfo_fin_h) 3 | #define _rtpp_sessinfo_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_sessinfo; 11 | void rtpp_sessinfo_fin(struct rtpp_sessinfo *); 12 | #else 13 | #define rtpp_sessinfo_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_sessinfo_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_sessinfo_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_socket_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_socket_fin_h) 3 | #define _rtpp_socket_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_socket; 11 | void rtpp_socket_fin(struct rtpp_socket *); 12 | #else 13 | #define rtpp_socket_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_socket_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_socket_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_stats_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_stats_fin_h) 3 | #define _rtpp_stats_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_stats; 11 | void rtpp_stats_fin(struct rtpp_stats *); 12 | #else 13 | #define rtpp_stats_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_stats_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_stats_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_stream_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_stream_fin_h) 3 | #define _rtpp_stream_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_stream; 11 | void rtpp_stream_fin(struct rtpp_stream *); 12 | #else 13 | #define rtpp_stream_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_stream_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_stream_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_timed_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_timed_fin_h) 3 | #define _rtpp_timed_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_timed; 11 | void rtpp_timed_fin(struct rtpp_timed *); 12 | #else 13 | #define rtpp_timed_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_timed_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_timed_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_timed_task_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_timed_task_fin_h) 3 | #define _rtpp_timed_task_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_timed_task; 11 | void rtpp_timed_task_fin(struct rtpp_timed_task *); 12 | #else 13 | #define rtpp_timed_task_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_timed_task_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_timed_task_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_ttl_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_ttl_fin_h) 3 | #define _rtpp_ttl_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_ttl; 11 | void rtpp_ttl_fin(struct rtpp_ttl *); 12 | #else 13 | #define rtpp_ttl_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_ttl_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_ttl_fin_h */ 19 | -------------------------------------------------------------------------------- /autosrc/rtpp_weakref_fin.h: -------------------------------------------------------------------------------- 1 | /* Auto-generated by genfincode_stat.sh - DO NOT EDIT! */ 2 | #if !defined(_rtpp_weakref_fin_h) 3 | #define _rtpp_weakref_fin_h 4 | #if !defined(RTPP_AUTOTRAP) 5 | #define RTPP_AUTOTRAP() abort() 6 | #else 7 | extern int _naborts; 8 | #endif 9 | #if defined(RTPP_DEBUG) 10 | struct rtpp_weakref; 11 | void rtpp_weakref_fin(struct rtpp_weakref *); 12 | #else 13 | #define rtpp_weakref_fin(arg) /* nop */ 14 | #endif 15 | #if defined(RTPP_FINTEST) 16 | void rtpp_weakref_fintest(void); 17 | #endif /* RTPP_FINTEST */ 18 | #endif /* _rtpp_weakref_fin_h */ 19 | -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | *.fot 2 | *.html 3 | appa.xml 4 | appb.xml 5 | book1.htm 6 | catalog.xml 7 | catalog1.xml 8 | chap1.xml 9 | chap2.xml 10 | chap3.xml 11 | -------------------------------------------------------------------------------- /doc/Makefile.am: -------------------------------------------------------------------------------- 1 | TARGETS = user_manual.html release_info.html 2 | 3 | all: $(TARGETS) 4 | 5 | XSL = http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl 6 | 7 | user_manual.html: user_manual.xml manpage.xml 8 | ${XSLTPROC} --xinclude -o user_manual.html ${XSLTPROC_FLAGS} $(XSL) user_manual.xml 9 | 10 | release_info.html: release_info.xml 11 | ${XSLTPROC} --xinclude -o release_info.html ${XSLTPROC_FLAGS} $(XSL) release_info.xml 12 | 13 | clean: 14 | @rm -f $(TARGETS) 15 | -------------------------------------------------------------------------------- /docker/Dockerfile.export_ccache: -------------------------------------------------------------------------------- 1 | ARG BUILD_IMAGE=dummy 2 | FROM ${BUILD_IMAGE} AS build 3 | FROM scratch 4 | COPY --from=build /rtpproxy/ccache /rtpproxy/ccache 5 | -------------------------------------------------------------------------------- /docker/Dockerfile.push: -------------------------------------------------------------------------------- 1 | # syntax=docker/dockerfile:1.7-labs 2 | 3 | ARG BASE_IMAGE 4 | ARG BUILD_IMAGE 5 | FROM $BUILD_IMAGE AS build 6 | RUN rm -rf /rtpproxy && rm -rf /var/cache/* 7 | FROM $BASE_IMAGE 8 | LABEL maintainer="Maksym Sobolyev " 9 | 10 | USER root 11 | 12 | # Set Environment Variables 13 | ENV DEBIAN_FRONTEND=noninteractive 14 | 15 | WORKDIR / 16 | 17 | COPY --from=build / / 18 | 19 | ENTRYPOINT ["/usr/local/bin/rtpproxy", "-fF"] 20 | -------------------------------------------------------------------------------- /docker/install_depends.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | set -x 5 | 6 | MYPATH="`realpath "${0}"`" 7 | RTPDIR="`dirname "${MYPATH}"`/.." 8 | 9 | apt-get -y update -qq 10 | 11 | . "docker/clang_ver.sub" 12 | set_clang_env 13 | ${APT_INSTALL} ca-certificates 14 | install_clang 15 | 16 | ${APT_INSTALL} ${LIB_DEPS} ${BUILD_DEPS} 17 | -------------------------------------------------------------------------------- /external/hepconnector/README.md: -------------------------------------------------------------------------------- 1 | ## HEPConnector 2 | 3 | This project provides an HEPv3 client implementation intended for use in other 4 | C-based projects. Loosely based on hep-c reference implementation. 5 | 6 | ## What is HEP? 7 | 8 | HEP/EEP Encapsulation Protocol 9 | 10 | EEP/HEP: Extensible Encapsulation protocol provides a method to duplicate an IP 11 | datagram to a collector by encapsulating the original datagram and its relative header properties 12 | (as payload, in form of concatenated chunks) within a new IP datagram transmitted over UDP/TCP/SCTP 13 | connections for remote collection. Encapsulation allows for the original content to be transmitted 14 | without altering the original IP datagram and header contents and provides flexible allocation of 15 | additional chunks containing additional arbitrary data. 16 | -------------------------------------------------------------------------------- /external/libelperiodic/.gitignore: -------------------------------------------------------------------------------- 1 | *.a 2 | *.o 3 | *.so.* 4 | *.So 5 | *.so 6 | *.po 7 | *.lo 8 | *.gcno 9 | *,v 10 | a.out 11 | autom4te.cache 12 | ktrace.out 13 | Version.map 14 | Makefile 15 | config.log 16 | config.status 17 | libtool 18 | ./build/ 19 | src/.deps/ 20 | src/.libs/ 21 | src/Makefile 22 | src/libelperiodic.la 23 | src/libelperiodic_la-periodic.lo 24 | src/libelperiodic_la-prdic_math.lo 25 | src/testskew 26 | .deps 27 | __pycache__ 28 | *.egg-info 29 | -------------------------------------------------------------------------------- /external/libelperiodic/AUTHORS: -------------------------------------------------------------------------------- 1 | Maksym Sobolyev 2 | -------------------------------------------------------------------------------- /external/libelperiodic/ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/external/libelperiodic/ChangeLog -------------------------------------------------------------------------------- /external/libelperiodic/MANIFEST.in: -------------------------------------------------------------------------------- 1 | exclude README 2 | include README.md 3 | include build_tools/__init__.py build_tools/CheckVersion.py 4 | include src/Symbol.map 5 | include src/elperiodic.h src/prdic_math.h src/prdic_timespecops.h \ 6 | src/prdic_fd.h src/prdic_pfd.h src/prdic_main_fd.h src/prdic_main_pfd.h \ 7 | src/prdic_main.h src/prdic_recfilter.h src/prdic_shmtrig.h \ 8 | src/prdic_procchain.h src/prdic_types.h src/prdic_sign.h src/prdic_sign_ctx.h \ 9 | src/prdic_sign_impl.h src/prdic_band.h src/prdic_inst.h src/prdic_time.h 10 | 11 | -------------------------------------------------------------------------------- /external/libelperiodic/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = src 2 | 3 | include_HEADERS = src/elperiodic.h 4 | 5 | EXTRA_DIST = setup.py python 6 | pkgpythondir = $(pythondir)/elperiodic 7 | 8 | if HAVE_PYTHON 9 | all-local: 10 | (cd $(srcdir); $(PYTHON) setup.py build \ 11 | --build-base `readlink -f $(builddir)`/build \ 12 | --verbose) 13 | 14 | install-exec-local: 15 | mkdir -p $(pkgpythondir) 16 | $(PYTHON) $(srcdir)/setup.py install \ 17 | --prefix $(DESTDIR)$(prefix) \ 18 | --record $(DESTDIR)$(pkgpythondir)/install_files.txt \ 19 | --verbose 20 | 21 | uninstall-local: 22 | cat $(DESTDIR)$(pkgpythondir)/install_files.txt | xargs rm -rf 23 | rm -rf $(DESTDIR)$(pkgpythondir) 24 | endif 25 | -------------------------------------------------------------------------------- /external/libelperiodic/NEWS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/external/libelperiodic/NEWS -------------------------------------------------------------------------------- /external/libelperiodic/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/external/libelperiodic/README -------------------------------------------------------------------------------- /external/libelperiodic/build_tools/CheckVersion.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from distutils.core import Command 3 | 4 | class CheckVersion(Command): 5 | description = "Check version number" 6 | user_options = [ 7 | ('tag=', 't', 'git tag to compare against package version'), 8 | ] 9 | extra_compile_args = [] 10 | extra_link_args = [] 11 | 12 | def initialize_options(self): 13 | self.tag = None 14 | 15 | def finalize_options(self): 16 | if not self.tag: 17 | raise DistutilsOptionError("You must specify --tag") 18 | 19 | def run(self): 20 | pkg_version = self.distribution.get_version() 21 | if self.tag == f'v{pkg_version}': 22 | return 23 | sys.stderr.write(f"❌ version {pkg_version} != tag {self.tag}\n") 24 | sys.exit(1) 25 | -------------------------------------------------------------------------------- /external/libelperiodic/build_tools/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/external/libelperiodic/build_tools/__init__.py -------------------------------------------------------------------------------- /external/libelperiodic/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools"] 3 | build-backend = "setuptools.build_meta" 4 | -------------------------------------------------------------------------------- /external/libelperiodic/python/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/external/libelperiodic/python/__init__.py -------------------------------------------------------------------------------- /external/libelperiodic/scripts/build/install_depends_wheels.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | PYTHON_CMD="${PYTHON_CMD:-"python${PY_VER}"}" 6 | 7 | ${PYTHON_CMD} -m ensurepip --upgrade 8 | ${PYTHON_CMD} -m pip install --upgrade pip 9 | ${PYTHON_CMD} -m pip install --upgrade build setuptools wheel auditwheel 10 | -------------------------------------------------------------------------------- /external/libelperiodic/scripts/do-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | PKGS="python3 python3-pip" 6 | 7 | . $(dirname $0)/build.conf.sub 8 | 9 | if [ ! -z "${PRE_INSTALL_CMD}" ] 10 | then 11 | ${PRE_INSTALL_CMD} 12 | fi 13 | 14 | ${SUDO} apt-get update -y 15 | ${SUDO} apt-get -y install ${PKGS} 16 | 17 | if [ ! -z "${POST_INSTALL_CMD}" ] 18 | then 19 | ${POST_INSTALL_CMD} 20 | fi 21 | -------------------------------------------------------------------------------- /external/libelperiodic/src/Makefile.bsd: -------------------------------------------------------------------------------- 1 | LIB= elperiodic 2 | SHLIB_MAJOR= 0 3 | 4 | SRCS= periodic.c prdic_math.c prdic_math.h prdic_timespecops.h 5 | INCS= elperiodic.h 6 | 7 | WARNS?= 4 8 | 9 | VERSION_DEF= ${.CURDIR}/Versions.def 10 | SYMBOL_MAPS= ${.CURDIR}/Symbol.map 11 | CFLAGS+= -DSYMBOL_VERSIONING 12 | 13 | LOCALBASE?= /usr/local 14 | LIBDIR?= ${LOCALBASE}/lib 15 | INCLUDEDIR?= ${LOCALBASE}/include 16 | 17 | testskew: testskew.c lib${LIB}.a 18 | ${CC} -o ${.TARGET} ${CFLAGS} testskew.c lib${LIB}.a -lm 19 | 20 | .include 21 | -------------------------------------------------------------------------------- /external/libre/.gitignore: -------------------------------------------------------------------------------- 1 | /build* 2 | /test 3 | /test.c 4 | /test.d 5 | /test.o 6 | /*stamp 7 | /*.previous 8 | /libre.a 9 | /libre.dylib 10 | /libre.pc 11 | /libre.so 12 | -------------------------------------------------------------------------------- /external/libre/.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | 3 | os: 4 | - linux 5 | - osx 6 | 7 | compiler: 8 | - clang 9 | - gcc 10 | 11 | addons: 12 | apt: 13 | packages: 14 | libssl-dev 15 | 16 | install: 17 | - wget "https://github.com/alfredh/pytools/raw/master/ccheck.py" 18 | 19 | script: 20 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then 21 | make EXTRA_CFLAGS=-Werror CCACHE=; 22 | fi 23 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then 24 | make EXTRA_CFLAGS="-I/usr/local/opt/openssl/include -Werror" EXTRA_LFLAGS="-L/usr/local/opt/openssl/lib" CCACHE=; 25 | fi 26 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then python2 ccheck.py ; fi 27 | -------------------------------------------------------------------------------- /external/libre/debian/docs: -------------------------------------------------------------------------------- 1 | README.md 2 | docs/TODO 3 | -------------------------------------------------------------------------------- /external/libre/debian/libre-dev.dirs: -------------------------------------------------------------------------------- 1 | usr/include 2 | usr/lib 3 | usr/share 4 | -------------------------------------------------------------------------------- /external/libre/debian/libre-dev.files: -------------------------------------------------------------------------------- 1 | usr/include 2 | usr/lib/libre.a 3 | usr/share/re 4 | -------------------------------------------------------------------------------- /external/libre/debian/libre.dirs: -------------------------------------------------------------------------------- 1 | usr/lib 2 | -------------------------------------------------------------------------------- /external/libre/debian/libre.files: -------------------------------------------------------------------------------- 1 | /usr/lib/libre.so 2 | -------------------------------------------------------------------------------- /external/libre/debian/source/format: -------------------------------------------------------------------------------- 1 | 1.0 2 | -------------------------------------------------------------------------------- /external/libre/docs/TODO: -------------------------------------------------------------------------------- 1 | TODO 2 | 3 | ------------------------------------------------------------------------------- 4 | Version v0.x.y 5 | 6 | tmr: scaling using binary heap or hash 7 | 8 | ------------------------------------------------------------------------------- 9 | -------------------------------------------------------------------------------- /external/libre/docs/main.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \mainpage libre Development Documentation 3 | * 4 | * Development documentation for libre 5 | * 6 | * 7 | * \include README.md 8 | * 9 | * 10 | * \section modules modules 11 | */ 12 | -------------------------------------------------------------------------------- /external/libre/include/re_base64.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_base64.h Interface to Base64 encoding/decoding functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | int base64_encode(const uint8_t *in, size_t ilen, char *out, size_t *olen); 9 | int base64_print(struct re_printf *pf, const uint8_t *ptr, size_t len); 10 | int base64_decode(const char *in, size_t ilen, uint8_t *out, size_t *olen); 11 | -------------------------------------------------------------------------------- /external/libre/include/re_conf.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_conf.h Interface to configuration 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | struct conf; 9 | 10 | typedef int (conf_h)(const struct pl *val, void *arg); 11 | 12 | int conf_alloc(struct conf **confp, const char *filename); 13 | int conf_alloc_buf(struct conf **confp, const uint8_t *buf, size_t sz); 14 | int conf_get(const struct conf *conf, const char *name, struct pl *pl); 15 | int conf_get_str(const struct conf *conf, const char *name, char *str, 16 | size_t size); 17 | int conf_get_u32(const struct conf *conf, const char *name, uint32_t *num); 18 | int conf_get_bool(const struct conf *conf, const char *name, bool *val); 19 | int conf_apply(const struct conf *conf, const char *name, 20 | conf_h *ch, void *arg); 21 | -------------------------------------------------------------------------------- /external/libre/include/re_crc32.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_crc32.h Interface to CRC-32 functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #ifdef USE_ZLIB 9 | #include 10 | #else 11 | uint32_t crc32(uint32_t crc, const void *buf, uint32_t size); 12 | #endif 13 | -------------------------------------------------------------------------------- /external/libre/include/re_hmac.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_hmac.h Interface to HMAC functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | void hmac_sha1(const uint8_t *k, /* secret key */ 9 | size_t lk, /* length of the key in bytes */ 10 | const uint8_t *d, /* data */ 11 | size_t ld, /* length of data in bytes */ 12 | uint8_t* out, /* output buffer, at least "t" bytes */ 13 | size_t t); 14 | 15 | 16 | enum hmac_hash { 17 | HMAC_HASH_SHA1, 18 | HMAC_HASH_SHA256 19 | }; 20 | 21 | struct hmac; 22 | 23 | int hmac_create(struct hmac **hmacp, enum hmac_hash hash, 24 | const uint8_t *key, size_t key_len); 25 | int hmac_digest(struct hmac *hmac, uint8_t *md, size_t md_len, 26 | const uint8_t *data, size_t data_len); 27 | -------------------------------------------------------------------------------- /external/libre/include/re_lock.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_lock.h Interface to locking functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | struct lock; 9 | 10 | int lock_alloc(struct lock **lp); 11 | 12 | void lock_read_get(struct lock *l); 13 | void lock_write_get(struct lock *l); 14 | 15 | int lock_read_try(struct lock *l); 16 | int lock_write_try(struct lock *l); 17 | 18 | void lock_rel(struct lock *l); 19 | -------------------------------------------------------------------------------- /external/libre/include/re_md5.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_md5.h Interface to MD5 functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | /** MD5 values */ 9 | enum { 10 | MD5_SIZE = 16, /**< Number of bytes in MD5 hash */ 11 | MD5_STR_SIZE = 2*MD5_SIZE + 1 /**< Number of bytes in MD5 string */ 12 | }; 13 | 14 | void md5(const uint8_t *d, size_t n, uint8_t *md); 15 | int md5_printf(uint8_t *md, const char *fmt, ...); 16 | -------------------------------------------------------------------------------- /external/libre/include/re_mqueue.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_mqueue.h Thread Safe Message Queue 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | struct mqueue; 8 | 9 | typedef void (mqueue_h)(int id, void *data, void *arg); 10 | 11 | int mqueue_alloc(struct mqueue **mqp, mqueue_h *h, void *arg); 12 | int mqueue_push(struct mqueue *mq, int id, void *data); 13 | -------------------------------------------------------------------------------- /external/libre/include/re_msg.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_msg.h Interface to generic message components 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | /** Content-Type */ 9 | struct msg_ctype { 10 | struct pl type; 11 | struct pl subtype; 12 | struct pl params; 13 | }; 14 | 15 | 16 | int msg_ctype_decode(struct msg_ctype *ctype, const struct pl *pl); 17 | bool msg_ctype_cmp(const struct msg_ctype *ctype, 18 | const char *type, const char *subtype); 19 | 20 | int msg_param_decode(const struct pl *pl, const char *name, struct pl *val); 21 | int msg_param_exists(const struct pl *pl, const char *name, struct pl *end); 22 | -------------------------------------------------------------------------------- /external/libre/include/re_sipreg.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_sipreg.h SIP Registration 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | struct sipreg; 8 | 9 | 10 | int sipreg_register(struct sipreg **regp, struct sip *sip, const char *reg_uri, 11 | const char *to_uri, const char *from_name, 12 | const char *from_uri, uint32_t expires, 13 | const char *cuser, const char *routev[], uint32_t routec, 14 | int regid, sip_auth_h *authh, void *aarg, bool aref, 15 | sip_resp_h *resph, void *arg, 16 | const char *params, const char *fmt, ...); 17 | 18 | const struct sa *sipreg_laddr(const struct sipreg *reg); 19 | -------------------------------------------------------------------------------- /external/libre/include/re_telev.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file re_telev.h Interface to Telephony Events (RFC 4733) 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | enum { 8 | TELEV_PTIME = 50, 9 | TELEV_SRATE = 8000 10 | }; 11 | 12 | struct telev; 13 | 14 | extern const char telev_rtpfmt[]; 15 | 16 | int telev_alloc(struct telev **tp, uint32_t ptime); 17 | int telev_set_srate(struct telev *tel, uint32_t srate); 18 | int telev_send(struct telev *tel, int event, bool end); 19 | int telev_recv(struct telev *tel, struct mbuf *mb, int *event, bool *end); 20 | int telev_poll(struct telev *tel, bool *marker, struct mbuf *mb); 21 | 22 | int telev_digit2code(int digit); 23 | int telev_code2digit(int code); 24 | -------------------------------------------------------------------------------- /external/libre/mk/exclude: -------------------------------------------------------------------------------- 1 | rpm/ 2 | -------------------------------------------------------------------------------- /external/libre/src/aes/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | ifneq ($(USE_OPENSSL_AES),) 8 | SRCS += aes/openssl/aes.c 9 | else ifneq ($(USE_APPLE_COMMONCRYPTO),) 10 | SRCS += aes/apple/aes.c 11 | else 12 | SRCS += aes/stub.c 13 | endif 14 | -------------------------------------------------------------------------------- /external/libre/src/base64/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += base64/b64.c 8 | -------------------------------------------------------------------------------- /external/libre/src/bfcp/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += bfcp/attr.c 8 | SRCS += bfcp/conn.c 9 | SRCS += bfcp/msg.c 10 | SRCS += bfcp/reply.c 11 | SRCS += bfcp/request.c 12 | -------------------------------------------------------------------------------- /external/libre/src/conf/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += conf/conf.c 8 | -------------------------------------------------------------------------------- /external/libre/src/crc32/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | ifeq ($(USE_ZLIB),) 8 | SRCS += crc32/crc32.c 9 | endif 10 | -------------------------------------------------------------------------------- /external/libre/src/dbg/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += dbg/dbg.c 8 | -------------------------------------------------------------------------------- /external/libre/src/dns/dns.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file dns.h Internal DNS header file 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #ifdef HAVE_RESOLV 9 | int get_resolv_dns(char *domain, size_t dsize, struct sa *nsv, uint32_t *n); 10 | #endif 11 | #ifdef WIN32 12 | int get_windns(char *domain, size_t dsize, struct sa *nav, uint32_t *n); 13 | #endif 14 | #ifdef DARWIN 15 | int get_darwin_dns(char *domain, size_t dsize, struct sa *nsv, uint32_t *n); 16 | #endif 17 | -------------------------------------------------------------------------------- /external/libre/src/dns/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += dns/client.c 8 | SRCS += dns/cstr.c 9 | SRCS += dns/dname.c 10 | SRCS += dns/hdr.c 11 | SRCS += dns/ns.c 12 | SRCS += dns/rr.c 13 | SRCS += dns/rrlist.c 14 | 15 | ifneq ($(HAVE_RESOLV),) 16 | SRCS += dns/res.c 17 | endif 18 | 19 | ifeq ($(OS),win32) 20 | SRCS += dns/win32/srv.c 21 | endif 22 | 23 | ifeq ($(OS),darwin) 24 | SRCS += dns/darwin/srv.c 25 | # add libraries for darwin dns servers 26 | LFLAGS += -framework SystemConfiguration -framework CoreFoundation 27 | endif 28 | -------------------------------------------------------------------------------- /external/libre/src/fmt/ch.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file ch.c Character format functions 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | 9 | 10 | /** 11 | * Convert an ASCII hex character to binary format 12 | * 13 | * @param ch ASCII hex character 14 | * 15 | * @return Binary value 16 | */ 17 | uint8_t ch_hex(char ch) 18 | { 19 | if ('0' <= ch && ch <= '9') 20 | return ch - '0'; 21 | 22 | else if ('A' <= ch && ch <= 'F') 23 | return ch - 'A' + 10; 24 | 25 | else if ('a' <= ch && ch <= 'f') 26 | return ch - 'a' + 10; 27 | 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /external/libre/src/fmt/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += fmt/ch.c 8 | SRCS += fmt/hexdump.c 9 | SRCS += fmt/pl.c 10 | SRCS += fmt/print.c 11 | SRCS += fmt/prm.c 12 | SRCS += fmt/regex.c 13 | SRCS += fmt/str.c 14 | SRCS += fmt/str_error.c 15 | SRCS += fmt/time.c 16 | SRCS += fmt/unicode.c 17 | -------------------------------------------------------------------------------- /external/libre/src/hash/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += hash/hash.c 8 | SRCS += hash/func.c 9 | -------------------------------------------------------------------------------- /external/libre/src/hmac/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += hmac/hmac_sha1.c 8 | 9 | ifneq ($(USE_OPENSSL_HMAC),) 10 | SRCS += hmac/openssl/hmac.c 11 | else ifneq ($(USE_APPLE_COMMONCRYPTO),) 12 | SRCS += hmac/apple/hmac.c 13 | else 14 | SRCS += hmac/hmac.c 15 | endif 16 | -------------------------------------------------------------------------------- /external/libre/src/http/http.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file http.h HTTP Private Interface 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | struct http_chunk { 9 | size_t size; 10 | unsigned lf; 11 | bool trailer; 12 | bool digit; 13 | bool param; 14 | }; 15 | 16 | 17 | int http_chunk_decode(struct http_chunk *chunk, struct mbuf *mb, size_t *size); 18 | -------------------------------------------------------------------------------- /external/libre/src/http/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += http/auth.c 8 | SRCS += http/chunk.c 9 | SRCS += http/client.c 10 | SRCS += http/msg.c 11 | SRCS += http/server.c 12 | -------------------------------------------------------------------------------- /external/libre/src/httpauth/basic.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file basic.c HTTP Basic authentication 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | 13 | /* todo */ 14 | -------------------------------------------------------------------------------- /external/libre/src/httpauth/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | #SRCS += httpauth/basic.c 8 | SRCS += httpauth/digest.c 9 | -------------------------------------------------------------------------------- /external/libre/src/ice/ice.c: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /external/libre/src/ice/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += ice/cand.c 8 | SRCS += ice/candpair.c 9 | SRCS += ice/chklist.c 10 | SRCS += ice/comp.c 11 | SRCS += ice/connchk.c 12 | SRCS += ice/icem.c 13 | SRCS += ice/icesdp.c 14 | SRCS += ice/icestr.c 15 | SRCS += ice/stunsrv.c 16 | SRCS += ice/util.c 17 | -------------------------------------------------------------------------------- /external/libre/src/jbuf/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += jbuf/jbuf.c 8 | -------------------------------------------------------------------------------- /external/libre/src/json/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 - 2015 Creytiv.com 5 | # 6 | 7 | SRCS += json/decode.c 8 | SRCS += json/decode_odict.c 9 | SRCS += json/encode.c 10 | -------------------------------------------------------------------------------- /external/libre/src/list/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += list/list.c 8 | -------------------------------------------------------------------------------- /external/libre/src/lock/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | ifdef HAVE_PTHREAD_RWLOCK 8 | SRCS += lock/rwlock.c 9 | else 10 | ifdef HAVE_PTHREAD 11 | SRCS += lock/lock.c 12 | endif 13 | endif 14 | 15 | ifeq ($(OS),win32) 16 | SRCS += lock/win32/lock.c 17 | endif 18 | -------------------------------------------------------------------------------- /external/libre/src/main/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file main.h Internal interface to main polling loop 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #ifdef HAVE_EPOLL 9 | bool epoll_check(void); 10 | #endif 11 | 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | #ifdef USE_OPENSSL 18 | int openssl_init(void); 19 | void openssl_close(void); 20 | #endif 21 | 22 | #ifdef __cplusplus 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /external/libre/src/main/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += main/init.c 8 | SRCS += main/main.c 9 | SRCS += main/method.c 10 | 11 | ifneq ($(HAVE_EPOLL),) 12 | SRCS += main/epoll.c 13 | endif 14 | 15 | ifneq ($(USE_OPENSSL),) 16 | SRCS += main/openssl.c 17 | endif 18 | -------------------------------------------------------------------------------- /external/libre/src/mbuf/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += mbuf/mbuf.c 8 | -------------------------------------------------------------------------------- /external/libre/src/md5/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | ifeq ($(USE_OPENSSL),) 8 | SRCS += md5/md5.c 9 | endif 10 | 11 | SRCS += md5/wrap.c 12 | -------------------------------------------------------------------------------- /external/libre/src/mem/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += mem/mem.c 8 | SRCS += mem/secure.c 9 | -------------------------------------------------------------------------------- /external/libre/src/mod/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += mod/mod.c 8 | 9 | # Unix dlopen 10 | ifdef HAVE_DLFCN_H 11 | SRCS += mod/dl.c 12 | endif 13 | 14 | ifeq ($(OS),win32) 15 | SRCS += mod/win32/dll.c 16 | endif 17 | -------------------------------------------------------------------------------- /external/libre/src/mod/mod_internal.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file mod_internal.h Internal interface to loadable module 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | 13 | void *_mod_open(const char *name); 14 | void *_mod_sym(void *h, const char *symbol); 15 | void _mod_close(void *h); 16 | 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | -------------------------------------------------------------------------------- /external/libre/src/mqueue/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += mqueue/mqueue.c 8 | 9 | ifeq ($(OS),win32) 10 | SRCS += mqueue/win32/pipe.c 11 | endif 12 | -------------------------------------------------------------------------------- /external/libre/src/mqueue/mqueue.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file mqueue.h Thread Safe Message Queue -- Internal API 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | #ifdef WIN32 9 | int pipe(int fds[2]); 10 | ssize_t pipe_read(int s, void *buf, size_t len); 11 | ssize_t pipe_write(int s, const void *buf, size_t len); 12 | #else 13 | static inline ssize_t pipe_read(int s, void *buf, size_t len) 14 | { 15 | return read(s, buf, len); 16 | } 17 | 18 | 19 | static inline ssize_t pipe_write(int s, const void *buf, size_t len) 20 | { 21 | return write(s, buf, len); 22 | } 23 | #endif 24 | -------------------------------------------------------------------------------- /external/libre/src/msg/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += msg/ctype.c 8 | SRCS += msg/param.c 9 | -------------------------------------------------------------------------------- /external/libre/src/natbd/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += natbd/filtering.c 8 | SRCS += natbd/genalg.c 9 | SRCS += natbd/hairpinning.c 10 | SRCS += natbd/lifetime.c 11 | SRCS += natbd/mapping.c 12 | SRCS += natbd/natstr.c 13 | -------------------------------------------------------------------------------- /external/libre/src/net/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | # Generic files 8 | SRCS += net/if.c 9 | SRCS += net/net.c 10 | SRCS += net/netstr.c 11 | SRCS += net/rt.c 12 | SRCS += net/sock.c 13 | SRCS += net/sockopt.c 14 | 15 | 16 | # Platform dependant files 17 | ifneq ($(OS),win32) 18 | SRCS += net/posix/pif.c 19 | else 20 | SRCS += net/win32/wif.c 21 | endif 22 | 23 | 24 | # Routing 25 | ifeq ($(OS),linux) 26 | SRCS += net/linux/rt.c 27 | CFLAGS += -DHAVE_ROUTE_LIST 28 | else 29 | 30 | ifneq ($(HAVE_SYS_SYSCTL_H),) 31 | ifneq ($(HAVE_NET_ROUTE_H),) 32 | SRCS += net/bsd/brt.c 33 | CFLAGS += -DHAVE_ROUTE_LIST 34 | endif 35 | endif 36 | 37 | endif 38 | 39 | ifdef HAVE_GETIFADDRS 40 | SRCS += net/ifaddrs.c 41 | endif 42 | -------------------------------------------------------------------------------- /external/libre/src/odict/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 - 2015 Creytiv.com 5 | # 6 | 7 | SRCS += odict/entry.c 8 | SRCS += odict/odict.c 9 | SRCS += odict/type.c 10 | SRCS += odict/get.c 11 | -------------------------------------------------------------------------------- /external/libre/src/rtmp/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += rtmp/amf.c 8 | SRCS += rtmp/amf_dec.c 9 | SRCS += rtmp/amf_enc.c 10 | SRCS += rtmp/chunk.c 11 | SRCS += rtmp/conn.c 12 | SRCS += rtmp/control.c 13 | SRCS += rtmp/ctrans.c 14 | SRCS += rtmp/dechunk.c 15 | SRCS += rtmp/hdr.c 16 | SRCS += rtmp/stream.c 17 | -------------------------------------------------------------------------------- /external/libre/src/rtp/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += rtp/fb.c 8 | SRCS += rtp/member.c 9 | SRCS += rtp/ntp.c 10 | SRCS += rtp/pkt.c 11 | SRCS += rtp/rr.c 12 | SRCS += rtp/rtcp.c 13 | SRCS += rtp/rtp.c 14 | SRCS += rtp/sdes.c 15 | SRCS += rtp/sess.c 16 | SRCS += rtp/source.c 17 | -------------------------------------------------------------------------------- /external/libre/src/sa/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += sa/ntop.c 8 | SRCS += sa/printaddr.c 9 | SRCS += sa/pton.c 10 | SRCS += sa/sa.c 11 | -------------------------------------------------------------------------------- /external/libre/src/sa/sa.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file sa.h Internal interface to Socket Address 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | /* Net ntop/pton */ 9 | int net_inet_ntop(const struct sa *sa, char *buf, int size); 10 | int net_inet_pton(const char *addr, struct sa *sa); 11 | -------------------------------------------------------------------------------- /external/libre/src/sdp/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += sdp/attr.c 8 | SRCS += sdp/format.c 9 | SRCS += sdp/media.c 10 | SRCS += sdp/msg.c 11 | SRCS += sdp/session.c 12 | SRCS += sdp/str.c 13 | SRCS += sdp/util.c 14 | -------------------------------------------------------------------------------- /external/libre/src/sha/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | ifeq ($(USE_OPENSSL),) 8 | SRCS += sha/sha1.c 9 | endif 10 | -------------------------------------------------------------------------------- /external/libre/src/sip/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += sip/addr.c 8 | SRCS += sip/auth.c 9 | SRCS += sip/contact.c 10 | SRCS += sip/cseq.c 11 | SRCS += sip/ctrans.c 12 | SRCS += sip/dialog.c 13 | SRCS += sip/keepalive.c 14 | SRCS += sip/keepalive_udp.c 15 | SRCS += sip/msg.c 16 | SRCS += sip/reply.c 17 | SRCS += sip/request.c 18 | SRCS += sip/sip.c 19 | SRCS += sip/strans.c 20 | SRCS += sip/transp.c 21 | SRCS += sip/via.c 22 | -------------------------------------------------------------------------------- /external/libre/src/sipevent/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += sipevent/listen.c 8 | SRCS += sipevent/msg.c 9 | SRCS += sipevent/notify.c 10 | SRCS += sipevent/subscribe.c 11 | -------------------------------------------------------------------------------- /external/libre/src/sipreg/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += sipreg/reg.c 8 | -------------------------------------------------------------------------------- /external/libre/src/sipsess/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += sipsess/sess.c 8 | SRCS += sipsess/accept.c 9 | SRCS += sipsess/ack.c 10 | SRCS += sipsess/close.c 11 | SRCS += sipsess/connect.c 12 | SRCS += sipsess/info.c 13 | SRCS += sipsess/listen.c 14 | SRCS += sipsess/modify.c 15 | SRCS += sipsess/reply.c 16 | SRCS += sipsess/request.c 17 | -------------------------------------------------------------------------------- /external/libre/src/srtp/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += srtp/misc.c 8 | SRCS += srtp/replay.c 9 | SRCS += srtp/srtcp.c 10 | SRCS += srtp/srtp.c 11 | SRCS += srtp/stream.c 12 | -------------------------------------------------------------------------------- /external/libre/src/stun/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += stun/addr.c 8 | SRCS += stun/attr.c 9 | SRCS += stun/ctrans.c 10 | SRCS += stun/dnsdisc.c 11 | SRCS += stun/hdr.c 12 | SRCS += stun/ind.c 13 | SRCS += stun/keepalive.c 14 | SRCS += stun/msg.c 15 | SRCS += stun/rep.c 16 | SRCS += stun/req.c 17 | SRCS += stun/stun.c 18 | SRCS += stun/stunstr.c 19 | -------------------------------------------------------------------------------- /external/libre/src/sys/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += sys/daemon.c 8 | SRCS += sys/endian.c 9 | SRCS += sys/fs.c 10 | SRCS += sys/rand.c 11 | SRCS += sys/sleep.c 12 | SRCS += sys/sys.c 13 | -------------------------------------------------------------------------------- /external/libre/src/tcp/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += tcp/tcp.c 8 | SRCS += tcp/tcp_high.c 9 | -------------------------------------------------------------------------------- /external/libre/src/telev/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += telev/telev.c 8 | -------------------------------------------------------------------------------- /external/libre/src/tls/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | ifneq ($(USE_OPENSSL),) 8 | SRCS += tls/openssl/tls.c 9 | SRCS += tls/openssl/tls_tcp.c 10 | SRCS += tls/openssl/tls_udp.c 11 | endif 12 | -------------------------------------------------------------------------------- /external/libre/src/tls/openssl/tls.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file openssl/tls.h TLS backend using OpenSSL (Internal API) 3 | * 4 | * Copyright (C) 2010 Creytiv.com 5 | */ 6 | 7 | 8 | /* 9 | * Mapping of feature macros 10 | */ 11 | 12 | #if OPENSSL_VERSION_NUMBER >= 0x10100000L 13 | #define TLS_BIO_OPAQUE 1 14 | #endif 15 | 16 | #if defined (LIBRESSL_VERSION_NUMBER) 17 | #undef TLS_BIO_OPAQUE 18 | #endif 19 | 20 | 21 | #if OPENSSL_VERSION_NUMBER >= 0x10100000L && \ 22 | !defined(LIBRESSL_VERSION_NUMBER) 23 | #define SSL_state SSL_get_state 24 | #define SSL_ST_OK TLS_ST_OK 25 | #endif 26 | 27 | 28 | struct tls { 29 | SSL_CTX *ctx; 30 | X509 *cert; 31 | char *pass; /* password for private key */ 32 | }; 33 | 34 | 35 | void tls_flush_error(void); 36 | -------------------------------------------------------------------------------- /external/libre/src/tmr/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += tmr/tmr.c 8 | -------------------------------------------------------------------------------- /external/libre/src/turn/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += turn/chan.c 8 | SRCS += turn/perm.c 9 | SRCS += turn/turnc.c 10 | -------------------------------------------------------------------------------- /external/libre/src/udp/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += udp/udp.c 8 | SRCS += udp/mcast.c 9 | -------------------------------------------------------------------------------- /external/libre/src/uri/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += uri/uri.c 8 | SRCS += uri/uric.c 9 | -------------------------------------------------------------------------------- /external/libre/src/websock/mod.mk: -------------------------------------------------------------------------------- 1 | # 2 | # mod.mk 3 | # 4 | # Copyright (C) 2010 Creytiv.com 5 | # 6 | 7 | SRCS += websock/websock.c 8 | -------------------------------------------------------------------------------- /external/libucl/.github/workflows/makefile.yml: -------------------------------------------------------------------------------- 1 | name: Makefile CI 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | pull_request: 7 | branches: [ "master" ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - name: Install Lua 16 | run: sudo apt-get install -y liblua5.4-dev lua5.4 17 | 18 | - uses: actions/checkout@v3 19 | 20 | - name: configure 21 | run: ./autogen.sh && ./configure --enable-lua 22 | 23 | - name: Install dependencies 24 | run: make 25 | 26 | - name: Run check 27 | run: make check 28 | 29 | - name: Run distcheck 30 | run: make distcheck 31 | -------------------------------------------------------------------------------- /external/libucl/.gitignore: -------------------------------------------------------------------------------- 1 | .cproject 2 | .project 3 | .settings 4 | 5 | # Auto*/libtool 6 | Makefile 7 | Makefile.in 8 | /aclocal.m4 9 | /autom4te.cache/ 10 | /config.* 11 | /configure 12 | /depcomp 13 | /install-sh 14 | /libtool 15 | /ltmain.sh 16 | /missing 17 | /stamp-h* 18 | /ar-lib 19 | /test-driver 20 | /compile 21 | .deps/ 22 | .dirstamp 23 | .libs/ 24 | *.l[ao] 25 | *~ 26 | *.o 27 | 28 | # pkgconf 29 | libucl.pc 30 | 31 | # python extension 32 | python/build 33 | 34 | # Default CMake build directory 35 | /build/ 36 | -------------------------------------------------------------------------------- /external/libucl/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | autoreconf -i 3 | -------------------------------------------------------------------------------- /external/libucl/doc/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = api.md 2 | 3 | dist_man_MANS = libucl.3 4 | 5 | gen-man: @PANDOC@ 6 | tail -n +$$(grep -n '# Synopsis' api.md | cut -d':' -f1) api.md | \ 7 | cat pandoc.template - | sed -e 's/^# \(.*\)/# \U\1/' \ 8 | -e "s/%%date%%/$$(LANG=C date +'%d %B, %Y')/" | \ 9 | @PANDOC@ -s -f markdown -t man -o libucl.3 10 | -------------------------------------------------------------------------------- /external/libucl/doc/pandoc.template: -------------------------------------------------------------------------------- 1 | % LIBUCL(3) Libucl manual 2 | % Vsevolod Stakhov 3 | % %%date%% 4 | 5 | # Name 6 | 7 | **ucl_parser_new**, **ucl_parser_register_macro**, **ucl_parser_register_variable**, **ucl_parser_add_chunk**, **ucl_parser_add_string**, **ucl_parser_add_file**, **ucl_parser_get_object**, **ucl_parser_get_error**, **ucl_parser_free**, **ucl_pubkey_add**, **ucl_parser_set_filevars** - universal configuration library parser and utility functions 8 | 9 | # Library 10 | 11 | UCL library (libucl, -lucl) 12 | 13 | -------------------------------------------------------------------------------- /external/libucl/examples/ucl_cpp.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "ucl++.h" 4 | 5 | int main(int argc, char **argv) 6 | { 7 | std::string input, err; 8 | 9 | input.assign((std::istreambuf_iterator(std::cin)), 10 | std::istreambuf_iterator()); 11 | 12 | auto obj = ucl::Ucl::parse(input, err); 13 | 14 | if (obj) { 15 | std::cout << obj.dump(UCL_EMIT_CONFIG) << std::endl; 16 | 17 | for (const auto &o : obj) { 18 | std::cout << o.dump(UCL_EMIT_CONFIG) << std::endl; 19 | } 20 | } 21 | else { 22 | std::cerr << "Error: " << err << std::endl; 23 | 24 | return 1; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /external/libucl/libucl.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: LibUCL 7 | Description: Universal configuration library 8 | Version: @UCL_VERSION@ 9 | Libs: -L${libdir} -lucl 10 | Libs.private: @LIBS_EXTRA@ @LUA_LIB@ 11 | Cflags: -I${includedir}/ 12 | -------------------------------------------------------------------------------- /external/libucl/m4/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | -------------------------------------------------------------------------------- /external/libucl/python/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include COPYING 2 | recursive-include include *.h 3 | recursive-include src *.h 4 | recursive-include klib *.h 5 | recursive-include uthash *.h 6 | -------------------------------------------------------------------------------- /external/libucl/python/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/external/libucl/python/tests/__init__.py -------------------------------------------------------------------------------- /external/libucl/python/tests/compat.py: -------------------------------------------------------------------------------- 1 | try: 2 | import unittest2 as unittest 3 | except ImportError: 4 | import unittest 5 | 6 | # Python 2.7 - 3.1 7 | if not hasattr(unittest.TestCase, 'assertRaisesRegex'): 8 | unittest.TestCase.assertRaisesRegex = unittest.TestCase.assertRaisesRegexp 9 | -------------------------------------------------------------------------------- /external/libucl/python/ucl.pyi: -------------------------------------------------------------------------------- 1 | # Stubs for ucl (Python 3.6) 2 | # 3 | # NOTE: This dynamically typed stub was automatically generated by stubgen. 4 | 5 | UCL_EMIT_CONFIG = ... # type: int 6 | UCL_EMIT_JSON = ... # type: int 7 | UCL_EMIT_JSON_COMPACT = ... # type: int 8 | UCL_EMIT_MSGPACK = ... # type: int 9 | UCL_EMIT_YAML = ... # type: int 10 | 11 | def dump(*args, **kwargs): ... 12 | def load(*args, **kwargs): ... 13 | def validate(*args, **kwargs): ... 14 | 15 | class SchemaError(Exception): ... 16 | -------------------------------------------------------------------------------- /external/libucl/stamp-h.in: -------------------------------------------------------------------------------- 1 | timestamp 2 | -------------------------------------------------------------------------------- /external/libucl/tests/.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | *.trs 3 | *.plist 4 | 5 | test_basic 6 | test_generate 7 | test_msgpack 8 | test_schema 9 | test_speed 10 | test_streamline 11 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/1.in: -------------------------------------------------------------------------------- 1 | { 2 | "key1": value; 3 | "key1": value2; 4 | "key1": "value;" 5 | "key1": 1.0, 6 | "key1": -0xdeadbeef 7 | "key1": 0xdeadbeef.1 8 | "key1": 0xreadbeef 9 | "key1": -1e-10, 10 | "key1": 1 11 | "key1": true 12 | "key1": no 13 | "key1": yes 14 | } 15 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/1.res: -------------------------------------------------------------------------------- 1 | key1 = "value"; 2 | key1 = "value2"; 3 | key1 = "value;"; 4 | key1 = 1.0; 5 | key1 = -3735928559; 6 | key1 = "0xdeadbeef.1"; 7 | key1 = "0xreadbeef"; 8 | key1 = -1e-10; 9 | key1 = 1; 10 | key1 = true; 11 | key1 = false; 12 | key1 = true; 13 | 14 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/10.in: -------------------------------------------------------------------------------- 1 | section foo bar { 2 | key = value 3 | } 4 | section foo baz { 5 | key = value 6 | } 7 | section foo { 8 | bar = lol /* removing this line makes parsing successful */ 9 | } 10 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/11.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | {"key": "value"} 4 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/11.res: -------------------------------------------------------------------------------- 1 | key = "value"; 2 | 3 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/12.in: -------------------------------------------------------------------------------- 1 | key1: 12 , 2 | key2: 12 value 3 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/12.res: -------------------------------------------------------------------------------- 1 | key1 = 12; 2 | key2 = "12 value"; 3 | 4 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/13.in: -------------------------------------------------------------------------------- 1 | key = value_orig; 2 | 3 | # test glob 4 | .include(glob=true,something="test") "${CURDIR}/include_dir/test*.conf" 5 | 6 | .include(priority=1) "${CURDIR}/include_dir/pri1.conf" 7 | .include(priority=2) "${CURDIR}/include_dir/pri2.conf" 8 | 9 | # No longer valid! .include(try=true) "${CURDIR}/include_dir/invalid.conf" 10 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/13.res: -------------------------------------------------------------------------------- 1 | key = "value_orig"; 2 | key = "value1"; 3 | key = "value2"; 4 | key = "value3"; 5 | key_pri = "priority2"; 6 | key_trace1 = "pri1"; 7 | key_trace2 = "pri2"; 8 | 9 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/14.in: -------------------------------------------------------------------------------- 1 | # Bad comments case 2 | 3 | section { 4 | # key = value; 5 | } 6 | .include(try=true) "./1.in" 7 | 8 | key = value; 9 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/14.res: -------------------------------------------------------------------------------- 1 | section { 2 | } 3 | key = "value"; 4 | 5 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/15.in: -------------------------------------------------------------------------------- 1 | # In this test we test include override bug 2 | 3 | .include(priority = 1) "${CURDIR}/15.inc" 4 | 5 | section = { 6 | value = "test"; 7 | } 8 | 9 | overrided = { 10 | value = "not-to-be-shown"; 11 | } 12 | 13 | /* 14 | BUGGED UCL: 15 | overrided { 16 | key = "overrided"; 17 | } 18 | !!! So overrided has actually rewritten the previous key 19 | section { 20 | value { 21 | value = "not-to-be-shown"; 22 | } 23 | } 24 | */ 25 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/15.inc: -------------------------------------------------------------------------------- 1 | overrided { 2 | key = "overrided"; 3 | } 4 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/15.res: -------------------------------------------------------------------------------- 1 | overrided { 2 | key = "overrided"; 3 | } 4 | section { 5 | value = "test"; 6 | } 7 | 8 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/16.in: -------------------------------------------------------------------------------- 1 | .include(priority = 1) "${CURDIR}/16.inc" 2 | 3 | section = { 4 | value = "test"; 5 | } 6 | 7 | overrided = { 8 | value = "not-to-be-shown"; 9 | } 10 | overrided = { 11 | value2 = "implicit-array"; 12 | } 13 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/16.inc: -------------------------------------------------------------------------------- 1 | overrided { 2 | key = "overrided"; 3 | } 4 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/16.res: -------------------------------------------------------------------------------- 1 | overrided { 2 | key = "overrided"; 3 | } 4 | section { 5 | value = "test"; 6 | } 7 | 8 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/17.in: -------------------------------------------------------------------------------- 1 | # issue 74 2 | string that ends in slash\ -------------------------------------------------------------------------------- /external/libucl/tests/basic/17.res: -------------------------------------------------------------------------------- 1 | string = "that ends in slash\\"; 2 | 3 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/18.in: -------------------------------------------------------------------------------- 1 | defaults { 2 | key = "val" 3 | foo = "bar" 4 | many = "values here" 5 | } 6 | 7 | mything { 8 | .inherit "defaults" 9 | key = "newval" 10 | key = "newval1" 11 | } 12 | mything { 13 | .inherit "mything" 14 | key = "newval" 15 | } 16 | .priority 3 17 | 18 | defaults { 19 | key = "val1" 20 | foo = "bar1" 21 | many = "values here" 22 | } 23 | mything1 { 24 | key2 = "wtf??" 25 | .priority 1 26 | .inherit "defaults" 27 | .inherit "mything" 28 | .inherit "mything1" 29 | key1 = "newval" 30 | key2 = "OMG" # low priority 31 | } 32 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/18.res: -------------------------------------------------------------------------------- 1 | defaults { 2 | key = "val1"; 3 | foo = "bar1"; 4 | many = "values here"; 5 | } 6 | mything { 7 | key = "newval"; 8 | key = "newval1"; 9 | foo = "bar"; 10 | many = "values here"; 11 | } 12 | mything { 13 | key = "newval"; 14 | foo = "bar"; 15 | many = "values here"; 16 | } 17 | mything1 { 18 | key2 = "wtf??"; 19 | key = "val1"; 20 | foo = "bar1"; 21 | many = "values here"; 22 | key1 = "newval"; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/19-append.inc: -------------------------------------------------------------------------------- 1 | okey_append = { 2 | key = value1; 3 | key1 = value2 4 | } 5 | 6 | akey_append = ["value3"]; 7 | 8 | skey_append = "value4"; 9 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/19-merge.inc: -------------------------------------------------------------------------------- 1 | okey_merge = { 2 | key = value1; 3 | key1 = value2; 4 | } 5 | 6 | akey_merge = ["value3"]; 7 | 8 | skey_merge = "value4"; 9 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/19-rewrite.inc: -------------------------------------------------------------------------------- 1 | okey_rewrite = { 2 | key = value1; 3 | key1 = value2; 4 | } 5 | 6 | akey_rewrite = ["value3"]; 7 | 8 | skey_rewrite = "value4"; 9 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/19.in: -------------------------------------------------------------------------------- 1 | okey_append = { 2 | key = value; 3 | } 4 | 5 | akey_append = ["value"]; 6 | 7 | skey_append = "value"; 8 | 9 | okey_merge = { 10 | key = value; 11 | source = original; 12 | } 13 | 14 | akey_merge = ["value"]; 15 | 16 | skey_merge = "value"; 17 | 18 | okey_rewrite = { 19 | key = value; 20 | } 21 | 22 | akey_rewrite = ["value"]; 23 | 24 | skey_rewrite = "value"; 25 | 26 | .include(duplicate="append") "${CURDIR}/19-append.inc" 27 | .include(duplicate="merge") "${CURDIR}/19-merge.inc" 28 | .include(duplicate="rewrite") "${CURDIR}/19-rewrite.inc" 29 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/19.res: -------------------------------------------------------------------------------- 1 | okey_append { 2 | key = "value"; 3 | } 4 | okey_append { 5 | key = "value1"; 6 | key1 = "value2"; 7 | } 8 | akey_append [ 9 | "value", 10 | ] 11 | akey_append [ 12 | "value3", 13 | ] 14 | skey_append = "value"; 15 | skey_append = "value4"; 16 | okey_merge { 17 | key = "value"; 18 | key = "value1"; 19 | source = "original"; 20 | key1 = "value2"; 21 | } 22 | akey_merge [ 23 | "value", 24 | "value3", 25 | ] 26 | skey_merge = "value"; 27 | skey_merge = "value4"; 28 | okey_rewrite { 29 | key = "value1"; 30 | key1 = "value2"; 31 | } 32 | akey_rewrite [ 33 | "value3", 34 | ] 35 | skey_rewrite = "value4"; 36 | 37 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/2.in: -------------------------------------------------------------------------------- 1 | section1 { param1 = value; param2 = value, 2 | section3 {param = value; param2 = value, param3 = ["value1", value2, 100500]}} 3 | section2 { param1 = {key = value}, param1 = ["key"]} 4 | 5 | # Numbers 6 | key1 = 1s 7 | key2 = 1min 8 | key3 = 1kb 9 | key4 = 5M 10 | key5 = 10mS 11 | key6 = 10y 12 | 13 | # Strings 14 | key1 = "some string"; 15 | key2 = /some/path; 16 | key3 = 111some, 17 | key4: s1, 18 | "key5": "\n\r123" 19 | 20 | # Variables 21 | keyvar = "$ABItest"; 22 | keyvar = "${ABI}$ABI${ABI}${$ABI}"; 23 | keyvar = "${some}$no${}$$test$$$$$$$"; 24 | keyvar = "$ABI$$ABI$$$ABI$$$$"; 25 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/2.res: -------------------------------------------------------------------------------- 1 | section1 { 2 | param1 = "value"; 3 | param2 = "value"; 4 | section3 { 5 | param = "value"; 6 | param2 = "value"; 7 | param3 [ 8 | "value1", 9 | "value2", 10 | 100500, 11 | ] 12 | } 13 | } 14 | section2 { 15 | param1 { 16 | key = "value"; 17 | } 18 | param1 [ 19 | "key", 20 | ] 21 | } 22 | key1 = 1.0; 23 | key1 = "some string"; 24 | key2 = 60.0; 25 | key2 = "/some/path"; 26 | key3 = 1024; 27 | key3 = "111some"; 28 | key4 = 5000000; 29 | key4 = "s1"; 30 | key5 = 0.010000; 31 | key5 = "\n\r123"; 32 | key6 = 315360000.0; 33 | keyvar = "unknowntest"; 34 | keyvar = "unknownunknownunknown${unknown}"; 35 | keyvar = "${some}$no${}$$test$$$$$$$"; 36 | keyvar = "unknown$ABI$unknown$$"; 37 | 38 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/22.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/external/libucl/tests/basic/22.in -------------------------------------------------------------------------------- /external/libucl/tests/basic/22.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/external/libucl/tests/basic/22.res -------------------------------------------------------------------------------- /external/libucl/tests/basic/3.res: -------------------------------------------------------------------------------- 1 | packagesite = "http://pkg-test.freebsd.org/pkg-test/unknown/latest"; 2 | squaretest = "some[]value"; 3 | alias { 4 | all-depends = "query %dn-%dv"; 5 | annotations = "info -A"; 6 | build-depends = "info -qd"; 7 | download = "fetch"; 8 | iinfo = "info -i -g -x"; 9 | isearch = "search -i -g -x"; 10 | leaf = "query -e '%a == 0' '%n-%v'"; 11 | leaf = "query -e '%a == 0' '%n-%v'"; 12 | list = "info -ql"; 13 | origin = "info -qo"; 14 | provided-depends = "info -qb"; 15 | raw = "info -R"; 16 | required-depends = "info -qr"; 17 | shared-depends = "info -qB"; 18 | show = "info -f -k"; 19 | size = "info -sq"; 20 | } 21 | repo_dirs [ 22 | "/home/bapt", 23 | "/usr/local/etc", 24 | ] 25 | 26 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/6.in: -------------------------------------------------------------------------------- 1 | 2 | # test 3 | # 4 | key = value 5 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/6.res: -------------------------------------------------------------------------------- 1 | key = "value"; 2 | 3 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/8.in: -------------------------------------------------------------------------------- 1 | section blah { # test 2 | param = "value" 3 | } 4 | section test { 5 | key = test; 6 | subsection testsub { 7 | flag on; 8 | subsubsection testsubsub1 testsubsub2 { 9 | key = [1, 2, 3]; 10 | } 11 | } 12 | } 13 | 14 | section test { 15 | /* Empty */ 16 | } 17 | 18 | 19 | section foo { # test 20 | param = 123.2; 21 | } 22 | 23 | array = [] 24 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/8.res: -------------------------------------------------------------------------------- 1 | section { 2 | blah { 3 | param = "value"; 4 | } 5 | } 6 | section { 7 | test { 8 | key = "test"; 9 | subsection { 10 | testsub { 11 | flag = true; 12 | subsubsection { 13 | testsubsub1 { 14 | testsubsub2 { 15 | key [ 16 | 1, 17 | 2, 18 | 3, 19 | ] 20 | } 21 | } 22 | } 23 | } 24 | } 25 | } 26 | } 27 | section { 28 | test { 29 | } 30 | } 31 | section { 32 | foo { 33 | param = 123.200000; 34 | } 35 | } 36 | array [ 37 | ] 38 | 39 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/9-comment.inc: -------------------------------------------------------------------------------- 1 | #key = value 2 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/9-empty.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/external/libucl/tests/basic/9-empty.inc -------------------------------------------------------------------------------- /external/libucl/tests/basic/9.inc: -------------------------------------------------------------------------------- 1 | key1 = value 2 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/9.res: -------------------------------------------------------------------------------- 1 | key1 = "value"; 2 | key1 = "value"; 3 | key1 = "value"; 4 | key = "value"; 5 | prefix1 [ 6 | { 7 | key = "value"; 8 | } 9 | { 10 | key1 = "value"; 11 | } 12 | ] 13 | array [ 14 | 10, 15 | { 16 | key1 = "value"; 17 | } 18 | ] 19 | array1 [ 20 | 10, 21 | ] 22 | prefix { 23 | key1 = "value"; 24 | key1 = "value"; 25 | } 26 | prefix2 [ 27 | { 28 | key1 = "value"; 29 | } 30 | ] 31 | prefix3 [ 32 | { 33 | key1 = "value"; 34 | } 35 | ] 36 | 37 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/comments.in: -------------------------------------------------------------------------------- 1 | # This test is intended to check various comments in ucl 2 | 3 | obj { 4 | 5 | key = value 6 | key = "/* value" 7 | /* 8 | key = value 9 | */ 10 | # Nested comments 11 | key = nested 12 | /* 13 | adasdasdads 14 | /* asdasdasd */asjdasjldaskd 15 | /* asdsadasd */ 16 | /* /* /* /* /* */ */ */ */ */ 17 | # some 18 | */ 19 | key = quotes # quoted 20 | # Quotes 21 | /* 22 | key = "/* value" 23 | key = "*/value" 24 | */ 25 | } 26 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/comments.res: -------------------------------------------------------------------------------- 1 | obj { 2 | key = "value"; 3 | key = "/* value"; 4 | key = "nested"; 5 | key = "quotes"; 6 | } 7 | 8 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/escapes.in: -------------------------------------------------------------------------------- 1 | # Checks for escapes in strings 2 | str = "\r\n\b\t\f\\\"\u03B4\u0B90\u1F640\uFFFFsome text" 3 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/escapes.res: -------------------------------------------------------------------------------- 1 | str = "\r\n\b\t\f\\\"δஐὤ0￿some text"; 2 | 3 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/include_dir/invalid.conf: -------------------------------------------------------------------------------- 1 | @@@@ BAD UCL ~~~~ 2 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/include_dir/pri1.conf: -------------------------------------------------------------------------------- 1 | key_pri = priority1; 2 | key_trace1 = pri1; 3 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/include_dir/pri2.conf: -------------------------------------------------------------------------------- 1 | key_pri = priority2; 2 | key_trace2 = pri2; 3 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/include_dir/test1.conf: -------------------------------------------------------------------------------- 1 | key = value1; 2 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/include_dir/test2.conf: -------------------------------------------------------------------------------- 1 | key = value2; 2 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/include_dir/test3.conf: -------------------------------------------------------------------------------- 1 | key = value3; 2 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/load.inc: -------------------------------------------------------------------------------- 1 | 123 2 | 321\n 3 | -------------------------------------------------------------------------------- /external/libucl/tests/basic/load.res: -------------------------------------------------------------------------------- 1 | section { 2 | key1 = " 123\n 321\\n \n"; 3 | key2 = < 2 | #include 3 | #include 4 | #include "ucl.h" 5 | 6 | int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { 7 | // If size is 0 we need a null-terminated string. 8 | // We dont null-terminate the string and by the design 9 | // of the API passing 0 as size with non null-terminated string 10 | // gives undefined behavior. 11 | if(size==0){ 12 | return 0; 13 | } 14 | struct ucl_parser *parser; 15 | parser = ucl_parser_new(0); 16 | 17 | ucl_parser_add_string(parser, (char *)data, size); 18 | 19 | if (ucl_parser_get_error(parser) != NULL) { 20 | return 0; 21 | } 22 | 23 | ucl_parser_free (parser); 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /external/libucl/tests/fuzzers/ucl_msgpack_fuzzer.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "ucl.h" 5 | #include "ucl_internal.h" 6 | #include 7 | 8 | typedef ucl_object_t* (*ucl_msgpack_test)(void); 9 | 10 | 11 | int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { 12 | 13 | if(size<3){ 14 | return 0; 15 | } 16 | 17 | struct ucl_parser *parser; 18 | 19 | ucl_object_t *obj = ucl_object_new_full (UCL_OBJECT, 2); 20 | obj->type = UCL_OBJECT; 21 | 22 | parser = ucl_parser_new(UCL_PARSER_KEY_LOWERCASE); 23 | parser->stack = NULL; 24 | 25 | bool res = ucl_parser_add_chunk_full(parser, (const unsigned char*)data, size, 0, UCL_DUPLICATE_APPEND, UCL_PARSE_MSGPACK); 26 | 27 | ucl_parser_free (parser); 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /external/libucl/tests/generate.res: -------------------------------------------------------------------------------- 1 | key0 = 0.100000; 2 | key1 = "test string"; 3 | key2 = "test \\nstring\\n\\r\\n\\b\\t\\f\\\\\\\""; 4 | key3 = " test string \n"; 5 | key4 [ 6 | 9.999000, 7 | 10, 8 | 10.100000, 9 | ] 10 | key4 = true; 11 | key5 = ""; 12 | key6 = ""; 13 | key7 = " \\n"; 14 | key8 = 1048576; 15 | key9 = 3.140000; 16 | key10 = true; 17 | key11 = false; 18 | key12 = "gslin@gslin.org"; 19 | key13 = "#test"; 20 | "k=3" = true; 21 | key14 [ 22 | 10, 23 | 9.999000, 24 | 10.100000, 25 | "abc", 26 | "cde", 27 | "😎", 28 | "Ебв", 29 | "абв", 30 | ] 31 | key15 = "test userdata emit"; 32 | # test comment 33 | key16 = "tes"; 34 | key17 [ 35 | "test", 36 | 10, 37 | 9.999000, 38 | 10.100000, 39 | "abc", 40 | "cde", 41 | "😎", 42 | "Ебв", 43 | "абв", 44 | ] 45 | 46 | -------------------------------------------------------------------------------- /external/libucl/tests/generate.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | PROG=${TEST_BINARY_DIR}/test_generate 4 | 5 | $PROG ${TEST_OUT_DIR}/generate.out 6 | diff -s ${TEST_OUT_DIR}/generate.out ${TEST_DIR}/generate.res -u 2>/dev/null 7 | if [ $? -ne 0 ] ; then 8 | rm ${TEST_OUT_DIR}/generate.out 9 | echo "Test: generate.res output mismatch" 10 | exit 1 11 | fi 12 | rm ${TEST_OUT_DIR}/generate.out 13 | 14 | -------------------------------------------------------------------------------- /external/libucl/tests/msgpack.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${TEST_BINARY_DIR}/test_msgpack -------------------------------------------------------------------------------- /external/libucl/tests/rcl_test.json.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/external/libucl/tests/rcl_test.json.xz -------------------------------------------------------------------------------- /external/libucl/tests/schema.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | PROG=${TEST_BINARY_DIR}/test_schema 4 | rm /tmp/_ucl_test_schema.out ||true 5 | _succeed=0 6 | _tests=0 7 | for i in ${TEST_DIR}/schema/*.json ; do 8 | _name=`basename $i` 9 | printf "running schema test suite $_name... " 10 | $PROG >> /tmp/_ucl_test_schema.out < $i 11 | if [ $? -eq 0 ] ; then 12 | echo "OK" 13 | _succeed=$(($_succeed + 1)) 14 | else 15 | echo "Fail" 16 | fi 17 | _tests=$(($_tests + 1)) 18 | done 19 | 20 | if [ $_tests -ne $_succeed ] ; then 21 | exit 1 22 | fi 23 | -------------------------------------------------------------------------------- /external/libucl/tests/schema/maxLength.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "maxLength validation", 4 | "schema": {"maxLength": 2}, 5 | "tests": [ 6 | { 7 | "description": "shorter is valid", 8 | "data": "f", 9 | "valid": true 10 | }, 11 | { 12 | "description": "exact length is valid", 13 | "data": "fo", 14 | "valid": true 15 | }, 16 | { 17 | "description": "too long is invalid", 18 | "data": "foo", 19 | "valid": false 20 | }, 21 | { 22 | "description": "ignores non-strings", 23 | "data": 10, 24 | "valid": true 25 | } 26 | ] 27 | } 28 | ] 29 | -------------------------------------------------------------------------------- /external/libucl/tests/schema/minItems.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "minItems validation", 4 | "schema": {"minItems": 1}, 5 | "tests": [ 6 | { 7 | "description": "longer is valid", 8 | "data": [1, 2], 9 | "valid": true 10 | }, 11 | { 12 | "description": "exact length is valid", 13 | "data": [1], 14 | "valid": true 15 | }, 16 | { 17 | "description": "too short is invalid", 18 | "data": [], 19 | "valid": false 20 | }, 21 | { 22 | "description": "ignores non-arrays", 23 | "data": "", 24 | "valid": true 25 | } 26 | ] 27 | } 28 | ] 29 | -------------------------------------------------------------------------------- /external/libucl/tests/schema/minLength.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "minLength validation", 4 | "schema": {"minLength": 2}, 5 | "tests": [ 6 | { 7 | "description": "longer is valid", 8 | "data": "foo", 9 | "valid": true 10 | }, 11 | { 12 | "description": "exact length is valid", 13 | "data": "fo", 14 | "valid": true 15 | }, 16 | { 17 | "description": "too short is invalid", 18 | "data": "f", 19 | "valid": false 20 | }, 21 | { 22 | "description": "ignores non-strings", 23 | "data": 1, 24 | "valid": true 25 | } 26 | ] 27 | } 28 | ] 29 | -------------------------------------------------------------------------------- /external/libucl/tests/schema/pattern.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "pattern validation", 4 | "schema": {"pattern": "^a*$"}, 5 | "tests": [ 6 | { 7 | "description": "a matching pattern is valid", 8 | "data": "aaa", 9 | "valid": true 10 | }, 11 | { 12 | "description": "a non-matching pattern is invalid", 13 | "data": "abc", 14 | "valid": false 15 | }, 16 | { 17 | "description": "ignores non-strings", 18 | "data": true, 19 | "valid": true 20 | } 21 | ] 22 | } 23 | ] 24 | -------------------------------------------------------------------------------- /external/libucl/tests/speed.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | PROG=${TEST_BINARY_DIR}/test_speed 4 | 5 | sh -c "xz -c < /dev/null > /dev/null" 6 | echo 'Running speed tests' 7 | for _tin in ${TEST_DIR}/*.xz ; do 8 | echo "Unpacking $_tin..." 9 | xz -cd < $_tin > ${TEST_OUT_DIR}/test_file 10 | # Preread file to cheat benchmark! 11 | cat ${TEST_OUT_DIR}/test_file > /dev/null 12 | echo "Starting benchmarking for $_tin..." 13 | $PROG ${TEST_OUT_DIR}/test_file 14 | if [ $? -ne 0 ] ; then 15 | echo "Test: $_tin failed" 16 | rm ${TEST_OUT_DIR}/test_file 17 | exit 1 18 | fi 19 | rm ${TEST_OUT_DIR}/test_file 20 | done 21 | 22 | -------------------------------------------------------------------------------- /external/libucl/tests/streamline.res: -------------------------------------------------------------------------------- 1 | key1 = "test string"; 2 | key2 = "test \\nstring"; 3 | key3 = " test string \n"; 4 | key4 [ 5 | 10, 6 | 10.100000, 7 | 9.999000, 8 | ] 9 | -------------------------------------------------------------------------------- /external/libucl/tests/streamline.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | PROG=${TEST_BINARY_DIR}/test_streamline 4 | 5 | $PROG ${TEST_OUT_DIR}/streamline.out 6 | diff -s ${TEST_OUT_DIR}/streamline.out ${TEST_DIR}/streamline.res -u 2>/dev/null 7 | if [ $? -ne 0 ] ; then 8 | rm ${TEST_OUT_DIR}/streamline.out 9 | echo "Test: streamline.res output mismatch" 10 | exit 1 11 | fi 12 | rm ${TEST_OUT_DIR}/streamline.out -------------------------------------------------------------------------------- /external/libucl/utils/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | PROJECT(libucl-utils C) 3 | 4 | FUNCTION(MAKE_UTIL UTIL_NAME UTIL_SRCS) 5 | ADD_EXECUTABLE(${UTIL_NAME} ${UTIL_SRCS}) 6 | TARGET_LINK_LIBRARIES(${UTIL_NAME} ucl) 7 | INSTALL(TARGETS ${UTIL_NAME} DESTINATION bin) 8 | ENDFUNCTION() 9 | 10 | MAKE_UTIL(ucl_chargen chargen.c) 11 | MAKE_UTIL(ucl_objdump objdump.c) 12 | MAKE_UTIL(ucl_tool ucl-tool.c) 13 | -------------------------------------------------------------------------------- /external/libucl/utils/Makefile.am: -------------------------------------------------------------------------------- 1 | common_utils_cflags = -I$(top_srcdir)/include \ 2 | -I$(top_srcdir)/src \ 3 | -I$(top_srcdir)/uthash 4 | common_utils_ldadd = $(top_builddir)/src/libucl.la 5 | 6 | ucl_chargen_SOURCES = chargen.c 7 | ucl_chargen_LDADD = $(common_utils_ldadd) 8 | ucl_chargen_CFLAGS = $(common_utils_cflags) 9 | 10 | ucl_objdump_SOURCES = objdump.c 11 | ucl_objdump_LDADD = $(common_utils_ldadd) 12 | ucl_objdump_CFLAGS = $(common_utils_cflags) 13 | 14 | ucl_tool_SOURCES = ucl-tool.c 15 | ucl_tool_LDADD = $(common_utils_ldadd) 16 | ucl_tool_CFLAGS = $(common_utils_cflags) 17 | 18 | if UTILS 19 | UTL = ucl_chargen ucl_objdump ucl_tool 20 | else 21 | UTL = 22 | endif 23 | bin_PROGRAMS = $(UTL) -------------------------------------------------------------------------------- /external/xxHash/.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior 2 | * text eol=lf 3 | 4 | # Explicitly declare source files 5 | *.c text eol=lf 6 | *.h text eol=lf 7 | 8 | # Denote files that should not be modified. 9 | *.odt binary 10 | 11 | -------------------------------------------------------------------------------- /external/xxHash/.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file 2 | version: 2 3 | updates: 4 | - package-ecosystem: "github-actions" 5 | directory: "/" 6 | schedule: 7 | interval: "weekly" 8 | -------------------------------------------------------------------------------- /external/xxHash/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Security updates are applied only to the latest release. 6 | 7 | ## Reporting a Vulnerability 8 | 9 | If you have discovered a security vulnerability in this project, please report it privately. **Do not disclose it as a public issue.** This gives us time to work with you to fix the issue before public exposure, reducing the chance that the exploit will be used before a patch is released. 10 | 11 | Please disclose it at [security advisory](https://github.com/Cyan4973/xxHash/security/advisories/new). 12 | 13 | This project is maintained by a team of volunteers on a reasonable-effort basis. As such, please give us at least 90 days to work on a fix before public exposure. 14 | -------------------------------------------------------------------------------- /external/xxHash/cli/.tipi/deps: -------------------------------------------------------------------------------- 1 | { 2 | "Cyan4973/xxHash": { } 3 | } -------------------------------------------------------------------------------- /external/xxHash/cli/.tipi/opts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/external/xxHash/cli/.tipi/opts -------------------------------------------------------------------------------- /external/xxHash/cli/README.md: -------------------------------------------------------------------------------- 1 | This directory contains source code dedicated to the `xxhsum` command line utility, 2 | which is a user program of `libxxhash`. 3 | 4 | Note that, in contrast with the library `libxxhash`, the command line utility `xxhsum` ships with GPLv2 license. 5 | -------------------------------------------------------------------------------- /external/xxHash/clib.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xxhash", 3 | "version": "0.8.2", 4 | "repo": "Cyan4973/xxhash", 5 | "description": "Extremely fast non-cryptographic hash algorithm", 6 | "keywords": ["xxhash", "hashing"], 7 | "license": "BSD-2-Clause", 8 | "src": [ 9 | "xxhash.c", 10 | "xxhash.h" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /external/xxHash/cmake_unofficial/.gitignore: -------------------------------------------------------------------------------- 1 | # cmake artifacts 2 | 3 | CMakeCache.txt 4 | CMakeFiles 5 | Makefile 6 | cmake_install.cmake 7 | 8 | 9 | # make compilation results 10 | 11 | *.dylib 12 | *.a 13 | -------------------------------------------------------------------------------- /external/xxHash/cmake_unofficial/xxHashConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/xxHashTargets.cmake) 4 | 5 | -------------------------------------------------------------------------------- /external/xxHash/doc/README.md: -------------------------------------------------------------------------------- 1 | xxHash Specification 2 | ======================= 3 | 4 | This directory contains material defining the xxHash algorithm. 5 | It's described in [this specification document](xxhash_spec.md). 6 | 7 | The algorithm is also be illustrated by a [simple educational library](https://github.com/easyaspi314/xxhash-clean), 8 | written by @easyaspi314 and designed for readability 9 | (as opposed to the reference library which is designed for speed). 10 | -------------------------------------------------------------------------------- /external/xxHash/fuzz/fuzzer.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "xxhash.h" 3 | 4 | 5 | int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { 6 | volatile XXH64_hash_t hash64 = XXH64(data, size, 0); 7 | (void)hash64; 8 | volatile XXH32_hash_t hash32 = XXH32(data, size, 0); 9 | (void)hash32; 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /external/xxHash/libxxhash.pc.in: -------------------------------------------------------------------------------- 1 | # xxHash - Extremely fast hash algorithm 2 | # Copyright (C) 2012-2021, Yann Collet, Facebook 3 | # BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) 4 | 5 | prefix=@PREFIX@ 6 | exec_prefix=@EXECPREFIX@ 7 | includedir=@INCLUDEDIR@ 8 | libdir=@LIBDIR@ 9 | 10 | Name: xxhash 11 | Description: extremely fast hash algorithm 12 | URL: http://www.xxhash.com/ 13 | Version: @VERSION@ 14 | Libs: -L${libdir} -lxxhash 15 | Cflags: -I${includedir} 16 | -------------------------------------------------------------------------------- /external/xxHash/tests/bench/.clang_complete: -------------------------------------------------------------------------------- 1 | -I../.. 2 | -------------------------------------------------------------------------------- /external/xxHash/tests/bench/.gitignore: -------------------------------------------------------------------------------- 1 | # build artifacts 2 | 3 | *.o 4 | benchHash 5 | benchHash32 6 | benchHash_avx2 7 | benchHash_avx512 8 | benchHash_hw 9 | 10 | # test files 11 | 12 | test* 13 | -------------------------------------------------------------------------------- /external/xxHash/tests/collisions/.gitignore: -------------------------------------------------------------------------------- 1 | #build artefacts 2 | collisionsTest 3 | -------------------------------------------------------------------------------- /external/xxHash/tests/collisions/allcodecs/README.md: -------------------------------------------------------------------------------- 1 | Put in this directory all hash algorithms to test 2 | -------------------------------------------------------------------------------- /external/xxHash/tests/filename-escape.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Exit immediately if any command fails. 4 | # https://stackoverflow.com/a/2871034 5 | set -euxo pipefail 6 | 7 | echo filename-escape-test-string > $'filename-escape-foo\nbar' 8 | 9 | ./xxhsum $'filename-escape-foo\nbar' | tee filename-escape-xxh64.txt 10 | cat filename-escape-xxh64.txt 11 | ./xxhsum -c filename-escape-xxh64.txt 12 | hexdump -C filename-escape-xxh64.txt 13 | 14 | ./xxhsum --tag $'filename-escape-foo\nbar' | tee filename-escape-xxh64-tag.txt 15 | cat filename-escape-xxh64-tag.txt 16 | ./xxhsum -c filename-escape-xxh64-tag.txt 17 | hexdump -C filename-escape-xxh64-tag.txt 18 | 19 | rm filename-escape-xxh64-tag.txt 20 | rm filename-escape-xxh64.txt 21 | rm $'filename-escape-foo\nbar' 22 | -------------------------------------------------------------------------------- /libre/.gitignore: -------------------------------------------------------------------------------- 1 | libre_test 2 | -------------------------------------------------------------------------------- /libre/rtpp_re.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define HAVE_INET_NTOP 1 4 | #define HAVE_INET_PTON 1 5 | #define HAVE_INET6 1 6 | 7 | #define mem_alloc mem_zalloc 8 | 9 | struct icem; 10 | struct rtpp_command_argsp; 11 | struct rtpp_log; 12 | 13 | typedef void (mem_destroy_h)(void *data); 14 | 15 | int rtpp_cand_decode(struct icem *, const struct rtpp_command_argsp *, 16 | struct rtpp_log *); 17 | void *mem_deref(void *data); 18 | void re_dbg_printf(int level, const char *buf, int len); 19 | 20 | struct udp_helper; 21 | struct udp_sock; 22 | struct mbuf; 23 | -------------------------------------------------------------------------------- /libxxHash/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/m4/autosrc.ami 2 | include $(top_srcdir)/m4/memdeb.ami 3 | include $(top_srcdir)/m4/ccflags.ami 4 | include $(top_srcdir)/m4/coverage.ami 5 | 6 | XXH_DIR=$(top_srcdir)/external/xxHash 7 | XXH_SDIR=$(XXH_DIR) 8 | 9 | noinst_LTLIBRARIES = libxxHash.la libxxHash_debug.la 10 | libxxHash_la_SOURCES = $(XXH_SDIR)/xxhash.c $(XXH_SDIR)/xxhash.h 11 | CFLAGS_libxxHash_common = -Wno-pointer-sign -std=c11 -DHAVE_CONFIG_H -D_BSD_SOURCE \ 12 | -Wno-unused-parameter $(LTO_FLAG) 13 | libxxHash_la_CFLAGS = $(OPT_CFLAGS) $(CFLAGS_libxxHash_common) 14 | libxxHash_debug_la_SOURCES = $(libxxHash_la_SOURCES) 15 | libxxHash_debug_la_CPPFLAGS = -DRTPP_MEMDEB_FREE_NULL $(RTPP_MEMDEB_CPPFLAGS) -DMEMDEB_APP=rtpproxy 16 | libxxHash_debug_la_CFLAGS = $(NOPT_CFLAGS) $(CFLAGS_libxxHash_common) $(RTPP_MEMDEB_CFLAGS) 17 | -------------------------------------------------------------------------------- /m4/autosrc.ami: -------------------------------------------------------------------------------- 1 | RTPP_AUTOSRC_DIR = $(top_srcdir)/autosrc 2 | -------------------------------------------------------------------------------- /m4/ccflags.ami: -------------------------------------------------------------------------------- 1 | MAINSRCDIR = $(top_srcdir)/src 2 | DEFAULT_INCLUDES = -I$(MAINSRCDIR) 3 | 4 | CC_WFLAGS = -Wall -Werror=implicit-function-declaration 5 | if ENABLE_WARN_IPT 6 | CC_WFLAGS += -Werror=incompatible-pointer-types 7 | endif 8 | if ENABLE_LTO 9 | LTO_FLAG = -flto 10 | endif 11 | 12 | OPT_CFLAGS = @OPT_CFLAGS@ 13 | 14 | NOPT_CFLAGS = -g3 -O0 15 | -------------------------------------------------------------------------------- /m4/coverage.ami: -------------------------------------------------------------------------------- 1 | CLEANFILES= *.gcda *.gcno *.gcov 2 | -------------------------------------------------------------------------------- /m4/dirs.ami: -------------------------------------------------------------------------------- 1 | UCL_DIR=$(top_srcdir)/external/libucl 2 | XXH_DIR=$(top_srcdir)/libxxHash 3 | MOD_DIR=$(top_srcdir)/modules 4 | ADV_DIR=$(top_srcdir)/src/advanced 5 | -------------------------------------------------------------------------------- /m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, 4 | # Inc. 5 | # Written by Scott James Remnant, 2004 6 | # 7 | # This file is free software; the Free Software Foundation gives 8 | # unlimited permission to copy and/or distribute it, with or without 9 | # modifications, as long as this notice is preserved. 10 | 11 | # @configure_input@ 12 | 13 | # serial 4245 ltversion.m4 14 | # This file is part of GNU Libtool 15 | 16 | m4_define([LT_PACKAGE_VERSION], [2.4.7]) 17 | m4_define([LT_PACKAGE_REVISION], [2.4.7]) 18 | 19 | AC_DEFUN([LTVERSION_VERSION], 20 | [macro_version='2.4.7' 21 | macro_revision='2.4.7' 22 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 23 | _LT_DECL(, macro_revision, 0) 24 | ]) 25 | -------------------------------------------------------------------------------- /m4/rtpp_module.ami: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/autosrc/Makefile.ami 2 | 3 | LDFLAG_SYMEXPORT = -Wl,--version-script=$(top_srcdir)/modules/Symbol.map 4 | DEFS= $(CC_WFLAGS) @DEFS@ 5 | -------------------------------------------------------------------------------- /makeann/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.orig 3 | *.rej 4 | *.o 5 | .deps 6 | Makefile 7 | makeann 8 | -------------------------------------------------------------------------------- /misc/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.pyo 3 | -------------------------------------------------------------------------------- /mk/Makefile.libexecinfo: -------------------------------------------------------------------------------- 1 | # $Id$ 2 | 3 | LIB= execinfo 4 | LIBTHREAD?= pthread 5 | SRCS+= execinfo.c execinfo.h stacktraverse.c stacktraverse.h 6 | 7 | LDADD= -l${LIBTHREAD} 8 | 9 | NO_SHARED?= YES 10 | NO_PROFILE?= YES 11 | 12 | WARNS?= 4 13 | 14 | includepolice: 15 | for file in ${SRCS}; do \ 16 | python misc/includepolice.py $${file} || sleep 5; \ 17 | done 18 | 19 | .include 20 | -------------------------------------------------------------------------------- /modules/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS= acct_csv acct_rtcp_hep catch_dtmf badmod 2 | if BUILD_CRYPTO 3 | SUBDIRS+= dtls_gw ice_lite 4 | endif 5 | -------------------------------------------------------------------------------- /modules/Symbol.map: -------------------------------------------------------------------------------- 1 | rtpproxy_module_20200519 { 2 | global: rtpp_module; 3 | local: *; 4 | }; 5 | -------------------------------------------------------------------------------- /modules/acct_rtcp_hep/.gitignore: -------------------------------------------------------------------------------- 1 | rtcp2json_test 2 | rtpp_sbuf_selftest 3 | -------------------------------------------------------------------------------- /modules/acct_rtcp_hep/_acct_rtcp_hep_config.h: -------------------------------------------------------------------------------- 1 | static const struct addrinfo _hints = { .ai_socktype = SOCK_DGRAM }; 2 | 3 | static const struct hep_ctx default_ctx = { 4 | .initfails = 0, 5 | .hints = &_hints, 6 | .capt_host = "10.0.0.1", 7 | .capt_port = "9060", 8 | .capt_id = 101, 9 | .hep_version = 3, 10 | .usessl = 0, 11 | .pl_compress = 0, 12 | .sendPacketsCount = 0 13 | }; 14 | -------------------------------------------------------------------------------- /pertools/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS= udp_contention 2 | -------------------------------------------------------------------------------- /pertools/udp_contention/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/m4/ccflags.ami 2 | include $(top_srcdir)/m4/coverage.ami 3 | 4 | bin_PROGRAMS=udp_contention 5 | udp_contention_SOURCES=udp_contention.c 6 | udp_contention_LDADD=-lm -lpthread 7 | udp_contention_CFLAGS = $(OPT_CFLAGS) $(LTO_FLAG) 8 | udp_contention_LDFLAGS = $(LTO_FLAG) 9 | DEFS= -I$(MAINSRCDIR) @DEFS@ 10 | 11 | if BUILD_ELPERIODIC 12 | udp_contention_SOURCES+=${MAINSRCDIR}/rtpp_math.c 13 | DEFS+= -I$(top_srcdir)/external/libelperiodic/src 14 | endif 15 | udp_contention_LDADD+=@LIBS_ELPERIODIC@ 16 | -------------------------------------------------------------------------------- /protos/Makefile: -------------------------------------------------------------------------------- 1 | .for proto in crypto stream_info rtpp_response network rtpp_request rtpp_id \ 2 | session_info 3 | __ALL_TGTS+=out/${proto}_pb2.py 4 | CLEANFILES+=out/${proto}_pb2.py* 5 | out/${proto}_pb2.py: ${proto}.proto 6 | protoc --python_out=out ${.ALLSRC} 7 | protoc-c --c_out=out ${.ALLSRC} 8 | .endfor 9 | 10 | __ALL_TGTS := ${__ALL_TGTS} 11 | all: ${__ALL_TGTS} 12 | 13 | clean: 14 | rm -f ${CLEANFILES} 15 | -------------------------------------------------------------------------------- /protos/out/.gitignore: -------------------------------------------------------------------------------- 1 | *_pb2.* 2 | *.pb-c.* 3 | 4 | -------------------------------------------------------------------------------- /python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.pyo 3 | -------------------------------------------------------------------------------- /python/sippy_lite.list: -------------------------------------------------------------------------------- 1 | Cli_server_local.py 2 | Cli_server_tcp.py 3 | Cli_session.py 4 | Math/__init__.py 5 | Math/recfilter.py 6 | Rtp_proxy_client.py 7 | Rtp_proxy_client_local.py 8 | Rtp_proxy_client_net.py 9 | Rtp_proxy_client_stream.py 10 | Rtp_proxy_client_udp.py 11 | Rtp_proxy_cmd.py 12 | Time/MonoTime.py 13 | Time/Timeout.py 14 | Time/__init__.py 15 | Time/clock_dtime.py 16 | Timeout.py 17 | Udp_server.py 18 | __init__.py 19 | -------------------------------------------------------------------------------- /python/tools/requirements.txt: -------------------------------------------------------------------------------- 1 | sippy>=2.2.1 2 | -------------------------------------------------------------------------------- /rpm/rtpproxy.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=A symmetric RTP proxy 3 | After=network.target 4 | 5 | [Service] 6 | Type=notify 7 | User=rtpproxy 8 | Group=rtpproxy 9 | EnvironmentFile=/etc/sysconfig/rtpproxy 10 | PIDFile=/var/run/rtpproxy/rtpproxy.pid 11 | ExecStart=/usr/bin/rtpproxy -f -p /var/run/rtpproxy/rtpproxy.pid $OPTIONS 12 | 13 | [Install] 14 | Also=rtpproxy.socket 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /rpm/rtpproxy.socket: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=RTPproxy controlling socket 3 | 4 | [Socket] 5 | ListenStream=127.0.0.1:22222 6 | Accept=false 7 | 8 | [Install] 9 | WantedBy=sockets.target 10 | 11 | -------------------------------------------------------------------------------- /rpm/rtpproxy.sysconfig: -------------------------------------------------------------------------------- 1 | OPTIONS="" 2 | -------------------------------------------------------------------------------- /rpm/rtpproxy.tmpfiles.conf: -------------------------------------------------------------------------------- 1 | d /var/run/rtpproxy 0755 rtpproxy rtpproxy 2 | -------------------------------------------------------------------------------- /rtpproxy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # $Id$ 4 | # 5 | # PROVIDE: rtpproxy 6 | 7 | . /etc/rc.subr 8 | 9 | name="rtpproxy" 10 | rcvar="${name}_enable" 11 | 12 | command="/usr/local/bin/rtpproxy" 13 | pidfile="/var/run/rtpproxy.pid" 14 | 15 | load_rc_config ${name} 16 | 17 | rtpproxy_enable=${rtpproxy_enable:-"YES"} 18 | rtpproxy_laddr=${rtpproxy_laddr:-"*"} 19 | 20 | command_args="-l ${rtpproxy_laddr} -p /var/run/rtpproxy.pid" 21 | 22 | start_precmd="touch /var/run/rtpproxy.runs" 23 | stop_postcmd="rm -f /var/run/rtpproxy.runs" 24 | 25 | export SIPLOG_BEND=logfile 26 | export SIPLOG_LOGFILE_FILE=/var/log/sip.log 27 | 28 | run_rc_command "${1}" 29 | -------------------------------------------------------------------------------- /scripts/build/dockerize.sub: -------------------------------------------------------------------------------- 1 | DKR_CID_FILE="/tmp/docker_rtpproxy.cid" 2 | 3 | if [ -e "${DKR_CID_FILE}" ] 4 | then 5 | exec docker exec -w `pwd` --env COMPILER --env BUILD_OS `cat "${DKR_CID_FILE}"` sh -x "${0}" "${@}" 6 | fi 7 | -------------------------------------------------------------------------------- /scripts/build/get-arch-buildargs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | platformopts() { 6 | out="" 7 | case "${BASE_IMAGE}" in 8 | ubuntu:*) 9 | case "${TARGETPLATFORM}" in 10 | linux/arm64/v8) 11 | out="${out} QEMU_CPU=cortex-a53" 12 | ;; 13 | esac 14 | esac 15 | test -z "${out}" || echo ${out} 16 | test -z "${@}" || echo "${@}" 17 | } 18 | 19 | case "${1}" in 20 | platformopts) 21 | shift 22 | platformopts "${@}" 23 | ;; 24 | *) 25 | echo "usage: `basename "${0}"` platformopts [opts]" 2>&1 26 | exit 1 27 | ;; 28 | esac 29 | -------------------------------------------------------------------------------- /scripts/build/install_depends.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | . $(dirname $0)/dockerize.sub 6 | 7 | . $(dirname $0)/build.conf.sub 8 | 9 | if [ ! -z "${PRE_INSTALL_CMD}" ] 10 | then 11 | ${PRE_INSTALL_CMD} 12 | fi 13 | 14 | ${SUDO} apt-get -y install ${PKGS} 15 | 16 | if [ ! -z "${POST_INSTALL_CMD}" ] 17 | then 18 | ${POST_INSTALL_CMD} 19 | fi 20 | -------------------------------------------------------------------------------- /scripts/build/start_container.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | . $(dirname $0)/dockerize.sub 6 | . $(dirname $0)/build.conf.sub 7 | 8 | if [ -z "${DOCKR_PLATFORM}" -o -z "${DOCKR_BASE}" ] 9 | then 10 | echo "DOCKR_BASE / DOCKR_PLATFORM is not set" >&2 11 | exit 1 12 | fi 13 | 14 | sudo apt-get update 15 | sudo apt-get install -y qemu-user-static 16 | docker pull ${DOCKR_BASE} 17 | docker run --cidfile "${DKR_CID_FILE}" -d --restart=always --platform linux/${DOCKR_PLATFORM} -v `pwd`:`pwd` ${DOCKR_BASE} sleep infinity 18 | -------------------------------------------------------------------------------- /scripts/do-docbuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | BASEDIR="`dirname "${0}"`/.." 6 | . "${BASEDIR}/scripts/build.conf.sub" 7 | . "${BASEDIR}/scripts/functions.sub" 8 | 9 | ${APT_GET} install -y xsltproc fop tidy docbook-xml 10 | 11 | ./configure 12 | make -C doc clean all 13 | -------------------------------------------------------------------------------- /scripts/do-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | TEST_WITNESS_ENABLE=yes make check || (cat tests/test-suite.log; exit 1) 6 | -------------------------------------------------------------------------------- /scripts/ft-apt-get-update.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | set -x 5 | 6 | . $(dirname $0)/build/dockerize.sub 7 | . $(dirname $0)/build/build.conf.sub 8 | 9 | ${SUDO} apt-get update -y --fix-missing 10 | ${SUDO} apt-mark hold grub-efi-amd64-signed 11 | ${SUDO} apt-get autoclean 12 | -------------------------------------------------------------------------------- /scripts/ft-apt-spy2-check-and-fix.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | set -x 5 | 6 | . $(dirname $0)/build/dockerize.sub 7 | . $(dirname $0)/build/build.conf.sub 8 | 9 | ${SUDO} gem install apt-spy2 10 | ${SUDO} apt-spy2 check --strict --country=US 11 | ${SUDO} apt-spy2 fix --commit --strict --country=US 12 | -------------------------------------------------------------------------------- /scripts/ft-before_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | . $(dirname $0)/build/dockerize.sub 6 | . $(dirname $0)/build/build.conf.sub 7 | 8 | ${SUDO} apt-get -y install python3-pip python3-dev 9 | PIP_RUN="python -m pip" 10 | ${PIP_RUN} install --user -U pip setuptools 11 | which python 12 | python --version 13 | for pkg in parsimonious cpp-coveralls 14 | do 15 | ${PIP_RUN} install --user ${pkg} 16 | done 17 | ${PIP_RUN} install --user -r python/tools/requirements.txt 18 | -------------------------------------------------------------------------------- /scripts/functions.sub: -------------------------------------------------------------------------------- 1 | APT_GET="${SUDO} env DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::=--force-confnew" 2 | -------------------------------------------------------------------------------- /scripts/fuzz/Symbol.map: -------------------------------------------------------------------------------- 1 | RTPPROXY_FUZZ { 2 | global: 3 | main; 4 | environ; 5 | __progname; 6 | local: *; 7 | }; 8 | -------------------------------------------------------------------------------- /scripts/fuzz/fuzz_command_parser.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #include "fuzz_standalone.h" 7 | #include "rfz_utils.h" 8 | #include "rfz_command.h" 9 | #include "rfz_chunk.h" 10 | 11 | int 12 | LLVMFuzzerInitialize(int *_argc, char ***_argv) 13 | { 14 | 15 | return RTPPInitialize(); 16 | } 17 | 18 | int 19 | LLVMFuzzerTestOneInput(const char *data, size_t size) 20 | { 21 | struct rfz_chunk chunk = {.rem_size = size, .rem_data = data}; 22 | 23 | do { 24 | chunk = rfz_get_chunk(chunk.rem_data, chunk.rem_size); 25 | ExecuteRTPPCommand(&gconf, chunk.data, chunk.size, 0); 26 | } while (chunk.rem_size > 1); 27 | assert(ExecuteRTPPCommand(&gconf, "X", 1, 0) == 0); 28 | return (0); 29 | } 30 | -------------------------------------------------------------------------------- /scripts/fuzz/fuzz_command_parser.options: -------------------------------------------------------------------------------- 1 | [libfuzzer] 2 | detect_leaks=0 3 | max_len=8192 4 | print_final_stats=1 5 | use_value_profile=1 6 | -------------------------------------------------------------------------------- /scripts/fuzz/fuzz_rtcp_parser.options: -------------------------------------------------------------------------------- 1 | [libfuzzer] 2 | max_len=8192 3 | print_final_stats=1 4 | use_value_profile=1 5 | -------------------------------------------------------------------------------- /scripts/fuzz/fuzz_rtp_parser.options: -------------------------------------------------------------------------------- 1 | [libfuzzer] 2 | max_len=8192 3 | print_final_stats=1 4 | use_value_profile=1 5 | -------------------------------------------------------------------------------- /scripts/fuzz/fuzz_rtp_session.options: -------------------------------------------------------------------------------- 1 | [libfuzzer] 2 | detect_leaks=0 3 | max_len=8192 4 | print_final_stats=1 5 | use_value_profile=1 6 | -------------------------------------------------------------------------------- /scripts/fuzz/rfz_chunk.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "rfz_chunk.h" 4 | 5 | struct rfz_chunk 6 | rfz_get_chunk(const char *data, size_t size) { 7 | struct rfz_chunk chunk = {0}; 8 | 9 | while (chunk.size < size) { 10 | size -= 1; 11 | chunk.size += (unsigned char)data[0]; 12 | data += 1; 13 | if ((unsigned char)data[-1] != 255) 14 | break; 15 | } 16 | chunk.size += 1; 17 | if (chunk.size > size) 18 | chunk.size = size; 19 | chunk.data = data; 20 | chunk.rem_size = size - chunk.size; 21 | chunk.rem_data = data + chunk.size; 22 | return (chunk); 23 | } 24 | -------------------------------------------------------------------------------- /scripts/fuzz/rfz_chunk.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct rfz_chunk { 4 | size_t size; 5 | const char *data; 6 | size_t rem_size; 7 | const char *rem_data; 8 | }; 9 | 10 | struct rfz_chunk rfz_get_chunk(const char *, size_t); 11 | -------------------------------------------------------------------------------- /scripts/fuzz/rfz_command.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | int ExecuteRTPPCommand(struct rtpp_conf *, const char *, size_t, int); 4 | -------------------------------------------------------------------------------- /scripts/fuzz/rfz_utils.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct RTPPInitializeParams { 4 | const char *ttl; 5 | const char *setup_ttl; 6 | const char *socket; 7 | const char *debug_level; 8 | const char *notify_socket; 9 | const char *rec_spool_dir; 10 | const char *rec_final_dir; 11 | const char *modules[]; 12 | }; 13 | 14 | struct rtpp_conf { 15 | struct rtpp_cfg *cfsp; 16 | int tfd; 17 | }; 18 | 19 | int RTPPInitialize(void); 20 | void SeedRNGs(void); 21 | 22 | extern struct rtpp_conf gconf; 23 | extern struct RTPPInitializeParams RTPPInitializeParams; 24 | -------------------------------------------------------------------------------- /scripts/submit-coverage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | #for ext in gcda gcno 6 | #do 7 | # find src -name "*_fin.${ext}" -delete 8 | #done 9 | 10 | GCOV_CMD="${GCOV_CMD:-gcov}" 11 | coveralls --exclude external --exclude hepconnector --exclude libelperiodic \ 12 | --exclude dist --exclude bench --exclude pertools --gcov "${GCOV_CMD}" \ 13 | --gcov-options '\-lp' 14 | -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.orig 3 | *.rej 4 | *.o 5 | .deps 6 | config.h 7 | Makefile 8 | rtpproxy 9 | ktrace.out 10 | rtpproxy_debug 11 | rtpp_fintest 12 | rtpp_objck_perf 13 | rtpp_rzmalloc_perf 14 | rtpp_rzmalloc_perf_debug 15 | -------------------------------------------------------------------------------- /src/config_pp.h: -------------------------------------------------------------------------------- 1 | /* IPOLICE_FLAGS: DONT_REMOVE */ 2 | 3 | #ifndef _CONFIG_PP_H 4 | #define _CONFIG_PP_H 5 | 6 | #if !defined(HAVE_CONFIG_H) 7 | #include "rtpp_version.h" 8 | #else 9 | #include "config.h" 10 | #define RTPP_SW_VERSION (PACKAGE_VERSION "." VERSION_GIT) 11 | #endif 12 | 13 | #if defined(HAVE_ERR_H) 14 | #undef NO_ERR_H 15 | #else 16 | #define NO_ERR_H 1 17 | #endif 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /src/rtpp_pcache.h: -------------------------------------------------------------------------------- 1 | struct rtpp_pcache; 2 | struct rtpp_pcache_fd; 3 | 4 | #if !defined(DEFINE_METHOD) 5 | #error "rtpp_types.h" needs to be included 6 | #endif 7 | 8 | DEFINE_METHOD(rtpp_pcache, rtpp_pcache_dtor, void); 9 | DEFINE_METHOD(rtpp_pcache, rtpp_pcache_open, struct rtpp_pcache_fd *, const char *); 10 | DEFINE_METHOD(rtpp_pcache, rtpp_pcache_read, int, struct rtpp_pcache_fd *, void *, size_t); 11 | DEFINE_METHOD(rtpp_pcache, rtpp_pcache_close, void, struct rtpp_pcache_fd *); 12 | 13 | struct rtpp_pcache_priv; 14 | 15 | struct rtpp_pcache 16 | { 17 | rtpp_pcache_open_t open; 18 | rtpp_pcache_read_t read; 19 | rtpp_pcache_close_t close; 20 | rtpp_pcache_dtor_t dtor; 21 | struct rtpp_pcache_priv *pvt; 22 | }; 23 | 24 | struct rtpp_pcache *rtpp_pcache_ctor(void); 25 | -------------------------------------------------------------------------------- /src/rtpp_version.h: -------------------------------------------------------------------------------- 1 | /* IPOLICE_FLAGS: DONT_REMOVE */ 2 | 3 | #define RTPP_SW_VERSION "rel.20160514172346" 4 | -------------------------------------------------------------------------------- /stamp-h.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/stamp-h.in -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | *.fout[1234] 2 | *.qout 3 | *.qout[1234] 4 | *.rout 5 | *.rout[1234] 6 | *.rlog 7 | *.rlog[1234] 8 | *.tout 9 | *.tlog 10 | -------------------------------------------------------------------------------- /tests/.spool/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/Makefile.ami: -------------------------------------------------------------------------------- 1 | acct_rtcp_hep_EXTRA_DIST = acct_rtcp_hep 2 | acct_rtcp_hep_CLEANFILES = acct_rtcp_hep.* 3 | TESTS += acct_rtcp_hep/confval1 acct_rtcp_hep/basic 4 | CLEANFILES += ${acct_rtcp_hep_CLEANFILES} 5 | EXTRA_DIST += ${acct_rtcp_hep_EXTRA_DIST} 6 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/basic.conf: -------------------------------------------------------------------------------- 1 | modules { 2 | acct_rtcp_hep { 3 | load = ../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep_debug.so 4 | capt_host = 127.0.0.1 5 | capt_port = %%HEP_PORT%% 6 | capt_ptype = %%HEP_PROTO%% 7 | capt_id = 101 8 | } 9 | acct_csv { 10 | load = ../modules/acct_csv/.libs/rtpp_acct_csv_debug.so 11 | } 12 | catch_dtmf { 13 | load = ../modules/catch_dtmf/.libs/rtpp_catch_dtmf_debug.so 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/basic.input: -------------------------------------------------------------------------------- 1 | U %%CALLID%% 127.0.0.1 12345 from_tag_1 2 | L %%CALLID%% 127.0.0.1 54321 from_tag_1 to_tag_1 3 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/basic.tcp.output: -------------------------------------------------------------------------------- 1 | %%PORT_A%% 2 | %%PORT_O%% 3 | MEMDEB(rtpproxy): all clear 4 | %%CALL_ID%%=from_tag_1.pcap: 320 5 | MEMDEB(extractaudio): all clear 6 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/basic.udp.output: -------------------------------------------------------------------------------- 1 | %%PORT_A%% 2 | %%PORT_O%% 3 | MEMDEB(rtpproxy): all clear 4 | %%CALL_ID%%=from_tag_1.pcap: 319 5 | MEMDEB(extractaudio): all clear 6 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/broken1.conf: -------------------------------------------------------------------------------- 1 | modules { 2 | acct_rtcp_hep { 3 | # /var/log/all.log 600 7 * @T00 J 4 | load = ../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep_debug.so 5 | capt_host = 10.0.0.1 6 | capt_port = -9060 7 | capt_ptype = udp 8 | capt_id = 101 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/broken2.conf: -------------------------------------------------------------------------------- 1 | modules { 2 | acct_rtcp_hep { 3 | # /var/log/all.log 600 7 * @T00 J 4 | load = ../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep_debug.so 5 | capt_host = 10.0.0.1 6 | capt_port = 9060 7 | capt_ptype = tcp 8 | capt_id = -101 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/broken3.conf: -------------------------------------------------------------------------------- 1 | modules { 2 | acct_rtcp_hep { 3 | # /var/log/all.log 600 7 * @T00 J 4 | load = ../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep_debug.so 5 | capt_host = 10.0.0.1 6 | capt_port = 9060 7 | capt_ptype = tcp 8 | capt_id = garbage 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/broken4.conf: -------------------------------------------------------------------------------- 1 | modules { 2 | acct_rtcp_hep { 3 | # /var/log/all.log 600 7 * @T00 J 4 | load = ../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep_debug.so 5 | capt_host = 10.0.0.1 6 | capt_port = garbage 7 | capt_ptype = udp 8 | capt_id = 101 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/broken5.conf: -------------------------------------------------------------------------------- 1 | modules { 2 | acct_rtcp_hep { 3 | # /var/log/all.log 600 7 * @T00 J 4 | load = ../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep_debug.so 5 | capt_host = 10.0.0.1 6 | capt_port = 9060 7 | capt_ptype = typo 8 | capt_id = 101 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/broken6.conf: -------------------------------------------------------------------------------- 1 | modules {: 2 | acct_rtcp_hep { 3 | # /var/log/all.log 600 7 * @T00 J 4 | load = ../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep_debug.so 5 | capt_host = 10.0.0.1 6 | capt_port = 9060 7 | capt_ptype = tcp 8 | capt_id = 101 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/broken7.conf: -------------------------------------------------------------------------------- 1 | modules { 2 | acct_rtcp_hep { 3 | # /var/log/all.log 600 7 * @T00 J 4 | load = ../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep_debug.so 5 | capt_host = 10.0.0.1 6 | capt_port = 9060 7 | capt_ptype = udp 8 | capt_id = 101 9 | unknown = 123 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/broken8.conf: -------------------------------------------------------------------------------- 1 | modules { 2 | acct_rtcp_hep { 3 | capt_host = 127.0.0.1 4 | capt_port = %%HEP_PORT%% 5 | capt_ptype = %%HEP_PROTO%% 6 | capt_id = 101 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/confval1: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASEDIR="`dirname "${0}"`/.." 4 | . "${BASEDIR}/functions" 5 | 6 | for i in 1 2 3 4 5 6 7 7 | do 8 | cfile="acct_rtcp_hep/broken${i}.conf" 9 | ${RTPPROXY} -f --config ${cfile} -s stdio: < /dev/null 10 | reportifnotfail "rtcp_hep module configuration validation" 11 | done 12 | -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/rtcp.a.pcap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/acct_rtcp_hep/rtcp.a.pcap -------------------------------------------------------------------------------- /tests/acct_rtcp_hep/rtcp.o.pcap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/acct_rtcp_hep/rtcp.o.pcap -------------------------------------------------------------------------------- /tests/autosrc/Makefile.ami: -------------------------------------------------------------------------------- 1 | autosrc_EXTRA_DIST = autosrc 2 | autosrc_CLEANFILES = 3 | TESTS += autosrc/chk_up2date 4 | CLEANFILES += ${autosrc_CLEANFILES} 5 | EXTRA_DIST += ${autosrc_EXTRA_DIST} 6 | -------------------------------------------------------------------------------- /tests/autosrc/chk_up2date: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | . "${BASEDIR}/functions" 6 | 7 | __beforeexit_cleanup() 8 | { 9 | git diff ../autosrc 10 | } 11 | 12 | make -C ../src update_autosrc 13 | report "running update_autosrc" 14 | chlines=$((`git diff ../autosrc | wc -l`)) 15 | test ${chlines} -eq 0 16 | report "checking if autosrcs are up to date" 17 | -------------------------------------------------------------------------------- /tests/basic_versions/Makefile.ami: -------------------------------------------------------------------------------- 1 | basic_versions_EXTRA_DIST = basic_versions 2 | basic_versions_CLEANFILES = basic_versions.qout basic_versions.rout \ 3 | basic_versions.rlog _basic_versions.rlog 4 | TESTS += basic_versions/basic_versions1 5 | CLEANFILES += ${basic_versions_CLEANFILES} 6 | EXTRA_DIST += ${basic_versions_EXTRA_DIST} 7 | -------------------------------------------------------------------------------- /tests/basic_versions/basic_versions.input: -------------------------------------------------------------------------------- 1 | V 2 | Ib 3 | VF 20040107 4 | VF 20050322 5 | VF 20060704 6 | VF 20071116 7 | VF 20071218 8 | VF 20080403 9 | VF 20081102 10 | VF 20081224 11 | VF 20090810 12 | VF 20140323 13 | VF 20140617 14 | VF 20141004 15 | VF 20150330 16 | VF 20150420 17 | VF 20150617 18 | VF 20191015 19 | VF 20200226 20 | VF 20230205 21 | VF 20230314 22 | VF 20230424 23 | VF 12345678 24 | Gv nsess_created nsess_destroyed nsess_complete nsess_nortp nsess_owrtp nsess_nortcp nsess_owrtcp ncmds_rcvd ncmds_succd ncmds_errs ncmds_repld 25 | -------------------------------------------------------------------------------- /tests/basic_versions/basic_versions.output: -------------------------------------------------------------------------------- 1 | 20040107 2 | sessions created: 0 3 | active sessions: 0 4 | active streams: 0 5 | packets received: 0 6 | packets transmitted: 0 7 | 1 8 | 1 9 | 1 10 | 1 11 | 1 12 | 1 13 | 1 14 | 0 15 | 1 16 | 1 17 | 1 18 | 1 19 | 1 20 | 1 21 | 1 22 | 1 23 | 1 24 | 1 25 | 1 26 | 1 27 | 0 28 | nsess_created=0 nsess_destroyed=0 nsess_complete=0 nsess_nortp=0 nsess_owrtp=0 nsess_nortcp=0 nsess_owrtcp=0 ncmds_rcvd=24 ncmds_succd=23 ncmds_errs=0 ncmds_repld=23 29 | MEMDEB(rtpproxy): all clear 30 | -------------------------------------------------------------------------------- /tests/catch_dtmf/Makefile.ami: -------------------------------------------------------------------------------- 1 | catch_dtmf_EXTRA_DIST = catch_dtmf 2 | catch_dtmf_CLEANFILES = catch_dtmf.* 3 | TESTS += catch_dtmf/basic 4 | CLEANFILES += ${catch_dtmf_CLEANFILES} 5 | EXTRA_DIST += ${catch_dtmf_EXTRA_DIST} 6 | -------------------------------------------------------------------------------- /tests/catch_dtmf/catch_dtmf.output: -------------------------------------------------------------------------------- 1 | E3 2 | E3 3 | E3 4 | E3 5 | E3 6 | 24270 && -1 7 | 24270 8 | 24270 9 | 24270 && -1 10 | 24270 && -1 11 | 24270 && -1 12 | 24270 && -1 13 | 24270 && -1 14 | 24270 15 | 24272 16 | npkts_ina=151 npkts_ino=45 nrelayed=151 ndropped=45 17 | rtpa_nsent=292 rtpa_nrcvd=99 rtpa_ndups=52 rtpa_nlost=193 rtpa_perrs=0 18 | rtpa_nsent=95 rtpa_nrcvd=45 rtpa_ndups=0 rtpa_nlost=50 rtpa_perrs=0 19 | npkts_rcvd=196 npkts_played=0 npkts_relayed=151 npkts_discard=45 nplrs_created=0 nplrs_destroyed=0 20 | rtpa_nsent=387 rtpa_nrcvd=144 rtpa_ndups=52 rtpa_nlost=243 rtpa_perrs=0 21 | nsess_created=1 nsess_destroyed=1 nsess_timeout=1 nsess_complete=1 nsess_nortp=0 nsess_owrtp=0 nsess_nortcp=1 nsess_owrtcp=0 22 | ncmds_rcvd=22 ncmds_succd=16 ncmds_errs=5 ncmds_repld=21 23 | MEMDEB(rtpproxy): all clear 24 | -------------------------------------------------------------------------------- /tests/catch_dtmf/catch_dtmf.tnotify.output: -------------------------------------------------------------------------------- 1 | Hello, Razvan@OpenSIPS! :-) 1 0 960 0 2 | Hello, Razvan@OpenSIPS! :-) 2 0 1120 0 3 | Hello, Razvan@OpenSIPS! :-) 3 0 1040 0 4 | Hello, Razvan@OpenSIPS! :-) 4 0 960 0 5 | Hello, Razvan@OpenSIPS! :-) 5 0 1040 0 6 | Hello, Razvan@OpenSIPS! :-) 6 0 1040 0 7 | Hello, Razvan@OpenSIPS! :-) 7 0 880 0 8 | Hello, Razvan@OpenSIPS! :-) 8 0 960 0 9 | Hello, Razvan@OpenSIPS! :-) 9 0 1040 0 10 | Hello, Razvan@OpenSIPS! :-) * 0 960 0 11 | Hello, Razvan@OpenSIPS! :-) 0 0 880 0 12 | Hello, Razvan@OpenSIPS! :-) # 0 880 0 13 | Hello, Razvan@OpenSIPS! :-) 5 0 3440 0 14 | Hello, Max! :D 5 10 1600 1 15 | Hello, Max! :D 4 10 960 1 16 | Hello, Max! :D 3 10 800 1 17 | Hello, Max! :D 2 10 800 1 18 | Hello, Max! :D 1 10 640 1 19 | Hello, Max! :D # 10 480 1 20 | DTAG 21 | -------------------------------------------------------------------------------- /tests/catch_dtmf/dtmf.pcap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/catch_dtmf/dtmf.pcap -------------------------------------------------------------------------------- /tests/command_parser/Makefile.ami: -------------------------------------------------------------------------------- 1 | command_parser_EXTRA_DIST = command_parser 2 | command_parser_CLEANFILES = command_parser.rout W3.IT2Nl*.rtcp W3.IT2Nl*.rtp \ 3 | command_parser.rlog 4 | TESTS += command_parser/command_parser1 5 | CLEANFILES += ${command_parser_CLEANFILES} 6 | EXTRA_DIST += ${command_parser_EXTRA_DIST} 7 | -------------------------------------------------------------------------------- /tests/dtls_gw/Makefile.ami: -------------------------------------------------------------------------------- 1 | dtls_gw_EXTRA_DIST = dtls_gw 2 | dtls_gw_CLEANFILES = dtls_gw.?.r* 3 | TESTS += dtls_gw/basic 4 | CLEANFILES += ${dtls_gw_CLEANFILES} 5 | EXTRA_DIST += ${dtls_gw_EXTRA_DIST} 6 | -------------------------------------------------------------------------------- /tests/dtls_gw/dtls_gw.output: -------------------------------------------------------------------------------- 1 | MEMDEB(rtpproxy): all clear 2 | -------------------------------------------------------------------------------- /tests/extractaudio/Makefile.ami: -------------------------------------------------------------------------------- 1 | extractaudio_EXTRA_DIST = extractaudio 2 | extractaudio_CLEANFILES = *.mono.*.wav *.stereo.*.wav *.mono.*.wav.tout \ 3 | *.stereo.*.wav.tout *.mono.*.raw *.mono.*.raw.tout *.mono.*.w64 \ 4 | *.mono.*.w64.tout *.stereo.*.w64 *.stereo.*.w64.tout \ 5 | *.mono.*.rlog *.stereo.*.rlog *.scan.rlog *.scan.tout 6 | TESTS += extractaudio/badargs extractaudio/extractaudio1 extractaudio/scan 7 | CLEANFILES += ${extractaudio_CLEANFILES} 8 | EXTRA_DIST += ${extractaudio_EXTRA_DIST} 9 | -------------------------------------------------------------------------------- /tests/extractaudio/badargs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASEDIR="`dirname "${0}"`/.." 4 | . "${BASEDIR}/functions" 5 | 6 | for bad_args in "-F foo" "-D bar" "--alice-crypto" "--alice-crypto=invalid" \ 7 | "--alice-crypto=invalid:bar" "--alice-crypto=AES_CM_128_HMAC_SHA1_80:garbage" \ 8 | "--bob-crypto=AES_CM_128_HMAC_SHA1_80:UBFc5R7tK5f91V8j1da++z3h/3H2yS5WaN819nJ-" \ 9 | "-S /dev/null /dev/null" "-A /dev/null -B /dev/null /dev/null" \ 10 | "-S -A /dev/null -B /dev/null /dev/null" 11 | do 12 | ${EXTRACTAUDIO} ${bad_args} 13 | reportifnotfail "extractaudio start with bad argumens: ${bad_args}" 14 | done 15 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_alaw.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_alaw.a.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_alaw.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_alaw.o.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_alaw.output: -------------------------------------------------------------------------------- 1 | pcount=405, min_seq=10224, max_seq=10628, seq_offset=0, ssrc=0x1B5D8C64, duplicates=0 2 | ssrc_changes=1, psent=405, precvd=405, plost=0 3 | last_jitter=25.408069,average_jitter=21.108611,max_jitter=42.424910 4 | pcount=405, min_seq=5759, max_seq=6163, seq_offset=0, ssrc=0xB6EEAE89, duplicates=0 5 | ssrc_changes=1, psent=405, precvd=405, plost=0 6 | last_jitter=18.057344,average_jitter=20.022623,max_jitter=41.359467 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_alaw.scan.output: -------------------------------------------------------------------------------- 1 | extractaudio/call1_alaw.a.rtp: 405 2 | extractaudio/call1_alaw.o.rtp: 405 3 | MEMDEB(extractaudio): all clear 4 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_g722.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_g722.a.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_g722.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_g722.o.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_g722.output: -------------------------------------------------------------------------------- 1 | pcount=624, min_seq=12138, max_seq=12761, seq_offset=0, ssrc=0x40F60960, duplicates=0 2 | ssrc_changes=1, psent=624, precvd=624, plost=0 3 | last_jitter=115.977186,average_jitter=105.521451,max_jitter=136.994367 4 | pcount=619, min_seq=34973, max_seq=35591, seq_offset=0, ssrc=0xF4FF0F4F, duplicates=0 5 | ssrc_changes=1, psent=619, precvd=619, plost=0 6 | last_jitter=27.139768,average_jitter=24.278161,max_jitter=75.013833 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_g722.scan.output: -------------------------------------------------------------------------------- 1 | extractaudio/call1_g722.a.rtp: 624 2 | extractaudio/call1_g722.o.rtp: 620 3 | MEMDEB(extractaudio): all clear 4 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_g722_srtp.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_g722_srtp.a.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_g722_srtp.args: -------------------------------------------------------------------------------- 1 | echo --alice-crypto=AES_CM_128_HMAC_SHA1_80:UHXu88YuDj8guQxhCqEeue0CSr+JcQ/Uii4NdaS5 \ 2 | --bob-crypto=AES_CM_128_HMAC_SHA1_80:UBFc5R7tK5f91V8j1da++z3h/3H2yS5WaN819nJd \ 3 | ${1} 4 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_g722_srtp.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_g722_srtp.o.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_g722_srtp.output: -------------------------------------------------------------------------------- 1 | pcount=1168, min_seq=8667, max_seq=9834, seq_offset=0, ssrc=0x920B9750, duplicates=0 2 | ssrc_changes=1, psent=1168, precvd=1168, plost=0 3 | last_jitter=1.685016,average_jitter=2.124014,max_jitter=4.029833 4 | pcount=1172, min_seq=14989, max_seq=16160, seq_offset=0, ssrc=0x6468D892, duplicates=0 5 | ssrc_changes=1, psent=1172, precvd=1172, plost=0 6 | last_jitter=11.018810,average_jitter=7.585583,max_jitter=23.214630 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_g722_srtp.scan.output: -------------------------------------------------------------------------------- 1 | extractaudio/call1_g722_srtp.a.rtp: 1168 2 | extractaudio/call1_g722_srtp.o.rtp: 1172 3 | MEMDEB(extractaudio): all clear 4 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_g729.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_g729.a.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_g729.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_g729.o.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_g729.output: -------------------------------------------------------------------------------- 1 | pcount=519, min_seq=12768, max_seq=13286, seq_offset=0, ssrc=0xC31808BC, duplicates=0 2 | ssrc_changes=1, psent=519, precvd=519, plost=0 3 | last_jitter=16.947743,average_jitter=17.821977,max_jitter=41.777942 4 | pcount=519, min_seq=10431, max_seq=10949, seq_offset=0, ssrc=0x1BBE8C16, duplicates=0 5 | ssrc_changes=1, psent=519, precvd=519, plost=0 6 | last_jitter=23.934864,average_jitter=16.063662,max_jitter=31.641244 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_g729.scan.output: -------------------------------------------------------------------------------- 1 | extractaudio/call1_g729.a.rtp: 519 2 | extractaudio/call1_g729.o.rtp: 519 3 | MEMDEB(extractaudio): all clear 4 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_gsm.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_gsm.a.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_gsm.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_gsm.o.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_gsm.output: -------------------------------------------------------------------------------- 1 | pcount=966, min_seq=14535, max_seq=15501, seq_offset=0, ssrc=0x3FFB3D62, duplicates=3 2 | ssrc_changes=1, psent=967, precvd=966, plost=1 3 | last_jitter=118.763492,average_jitter=114.767407,max_jitter=400.711309 4 | pcount=978, min_seq=9088, max_seq=10065, seq_offset=0, ssrc=0x1ACAAD63, duplicates=1 5 | ssrc_changes=1, psent=978, precvd=978, plost=0 6 | last_jitter=42.948968,average_jitter=52.277424,max_jitter=133.043876 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_gsm.scan.output: -------------------------------------------------------------------------------- 1 | extractaudio/call1_gsm.a.rtp: 969 2 | extractaudio/call1_gsm.o.rtp: 979 3 | MEMDEB(extractaudio): all clear 4 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_ulaw.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_ulaw.a.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_ulaw.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/call1_ulaw.o.rtp -------------------------------------------------------------------------------- /tests/extractaudio/call1_ulaw.output: -------------------------------------------------------------------------------- 1 | pcount=592, min_seq=15259, max_seq=15850, seq_offset=0, ssrc=0xD2C7ADA6, duplicates=1 2 | ssrc_changes=1, psent=592, precvd=592, plost=0 3 | last_jitter=28.279189,average_jitter=23.605435,max_jitter=58.039873 4 | pcount=591, min_seq=473, max_seq=1063, seq_offset=0, ssrc=0xDB0DB55B, duplicates=0 5 | ssrc_changes=1, psent=591, precvd=591, plost=0 6 | last_jitter=29.675107,average_jitter=25.140463,max_jitter=59.547320 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/extractaudio/call1_ulaw.scan.output: -------------------------------------------------------------------------------- 1 | extractaudio/call1_ulaw.a.rtp: 593 2 | extractaudio/call1_ulaw.o.rtp: 591 3 | MEMDEB(extractaudio): all clear 4 | -------------------------------------------------------------------------------- /tests/extractaudio/common.sub: -------------------------------------------------------------------------------- 1 | extractaudio_RFILES1="call1_alaw call1_ulaw call1_g722 call1_g729 call1_gsm \ 2 | call1_g722_srtp corrupted_g722" 3 | for f in ${extractaudio_RFILES1} 4 | do 5 | extractaudio_RFILES="extractaudio/${f} ${extractaudio_RFILES}" 6 | done 7 | extractaudio_RFILES="${extractaudio_RFILES} acct_rtcp_hep/rtcp" 8 | -------------------------------------------------------------------------------- /tests/extractaudio/corrupted_g722.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/corrupted_g722.a.rtp -------------------------------------------------------------------------------- /tests/extractaudio/corrupted_g722.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/extractaudio/corrupted_g722.o.rtp -------------------------------------------------------------------------------- /tests/extractaudio/corrupted_g722.output: -------------------------------------------------------------------------------- 1 | pcount=1, min_seq=32945, max_seq=32945, seq_offset=0, ssrc=0x342A027A, duplicates=0 2 | ssrc_changes=2, psent=394, precvd=394, plost=0 3 | last_jitter=7.101026,average_jitter=5.901746,max_jitter=10.696396 4 | pcount=383, min_seq=12990, max_seq=13372, seq_offset=0, ssrc=0x182506BB, duplicates=0 5 | ssrc_changes=1, psent=383, precvd=383, plost=0 6 | last_jitter=1.392955,average_jitter=2.293470,max_jitter=4.465572 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/extractaudio/corrupted_g722.scan.output: -------------------------------------------------------------------------------- 1 | extractaudio/corrupted_g722.a.rtp: -1 2 | extractaudio/corrupted_g722.o.rtp: 383 3 | MEMDEB(extractaudio): all clear 4 | -------------------------------------------------------------------------------- /tests/extractaudio/extractaudio.m.raw.dfmts: -------------------------------------------------------------------------------- 1 | alaw 2 | double 3 | dwvw_12 4 | dwvw_16 5 | dwvw_24 6 | float 7 | gsm610 8 | pcm_16 9 | pcm_24 10 | pcm_32 11 | pcm_s8 12 | pcm_u8 13 | ulaw 14 | vox_adpcm 15 | -------------------------------------------------------------------------------- /tests/extractaudio/extractaudio.m.w64.dfmts: -------------------------------------------------------------------------------- 1 | alaw 2 | double 3 | float 4 | gsm610 5 | ima_adpcm 6 | ms_adpcm 7 | pcm_16 8 | pcm_24 9 | pcm_32 10 | pcm_u8 11 | ulaw 12 | -------------------------------------------------------------------------------- /tests/extractaudio/extractaudio.m.wav.dfmts: -------------------------------------------------------------------------------- 1 | alaw 2 | g721_32 3 | gsm610 4 | ima_adpcm 5 | ms_adpcm 6 | pcm_16 7 | pcm_24 8 | pcm_32 9 | pcm_u8 10 | ulaw 11 | -------------------------------------------------------------------------------- /tests/extractaudio/extractaudio.s.w64.dfmts: -------------------------------------------------------------------------------- 1 | alaw 2 | double 3 | float 4 | ima_adpcm 5 | ms_adpcm 6 | pcm_16 7 | pcm_24 8 | pcm_32 9 | pcm_u8 10 | ulaw 11 | -------------------------------------------------------------------------------- /tests/extractaudio/extractaudio.s.wav.dfmts: -------------------------------------------------------------------------------- 1 | alaw 2 | ima_adpcm 3 | ms_adpcm 4 | pcm_16 5 | pcm_24 6 | pcm_32 7 | pcm_u8 8 | ulaw 9 | -------------------------------------------------------------------------------- /tests/extractaudio/rtcp.args: -------------------------------------------------------------------------------- 1 | echo -A ${1}.a.pcap -B ${1}.o.pcap 2 | -------------------------------------------------------------------------------- /tests/extractaudio/rtcp.output: -------------------------------------------------------------------------------- 1 | pcount=236, min_seq=59133, max_seq=59368, seq_offset=0, ssrc=0xDEE0EE8F, duplicates=0 2 | ssrc_changes=1, psent=236, precvd=236, plost=0 3 | last_jitter=2.863717,average_jitter=2.893805,max_jitter=6.751814 4 | pcount=72, min_seq=9758, max_seq=9829, seq_offset=0, ssrc=0xF3CB2001, duplicates=0 5 | ssrc_changes=3, psent=230, precvd=230, plost=0 6 | last_jitter=23.960613,average_jitter=21.309609,max_jitter=58.874593 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/extractaudio/rtcp.scan.output: -------------------------------------------------------------------------------- 1 | acct_rtcp_hep/rtcp.a.pcap: 236 2 | acct_rtcp_hep/rtcp.o.pcap: 230 3 | MEMDEB(extractaudio): all clear 4 | -------------------------------------------------------------------------------- /tests/extractaudio/scan: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASEDIR="`dirname "${0}"`/.." 4 | . "${BASEDIR}/functions" 5 | 6 | . "${BASEDIR}/extractaudio/common.sub" 7 | 8 | tkind="scan" 9 | for rfile in ${extractaudio_RFILES} 10 | do 11 | bfile="`basename ${rfile}`" 12 | afile="extractaudio/${bfile}.args" 13 | sfile="${bfile}.${tkind}.tout" 14 | logfile="${bfile}.${tkind}.rlog" 15 | if [ -e "${afile}" ] 16 | then 17 | EXTRACTAUDIO_EARGS=`"${afile}" "${rfile}"` 18 | else 19 | EXTRACTAUDIO_EARGS="${rfile}" 20 | fi 21 | ${EXTRACTAUDIO} -S ${EXTRACTAUDIO_EARGS} 2>${logfile} >${sfile} 22 | ofile="extractaudio/${bfile}.${tkind}.output" 23 | ${DIFF} "${ofile}" "${sfile}" 24 | report "checking ${tkind} results for the ${rfile}" 25 | done 26 | -------------------------------------------------------------------------------- /tests/forwarding/Makefile.ami: -------------------------------------------------------------------------------- 1 | forwarding_EXTRA_DIST = forwarding 2 | forwarding_CLEANFILES = forwarding1.0.wav forwarding1.18.wav forwarding1.3.wav \ 3 | forwarding1.8.wav forwarding1.9.wav forwarding1.gena.rout forwarding1.geno.rout \ 4 | forwarding1.rout forwarding1_[ao]_*.rtcp forwarding1_[ao]_*.rtp \ 5 | forwarding1.0 forwarding1.3 forwarding1.8 forwarding1.9 forwarding1.18 \ 6 | forwarding1.gena.rlog forwarding1.geno.rlog forwarding1.rlog \ 7 | forwarding1.*.eout rtpproxy_acct.csv forwarding1_robust.rout 8 | TESTS += forwarding/forwarding1_robust 9 | CLEANFILES += ${forwarding_CLEANFILES} 10 | EXTRA_DIST += ${forwarding_EXTRA_DIST} 11 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.checksums: -------------------------------------------------------------------------------- 1 | SHA256 (forwarding1.0.wav) = b93e3ce62e8c94cafd4b930f088305a4f870216c61b1bfc312d5ef2b38bb2ece 2 | SHA256 (forwarding1.18.wav) = dd2e6a0aff0f39ac6e9ac71349f47e743f94a11d48f7f2c42ef6e5bdc9db6fd9 3 | SHA256 (forwarding1.3.wav) = b1d2d2bebbeecc8696baa3f15ccc0b8a0d1f5e2480adee33fe93306f48102f00 4 | SHA256 (forwarding1.4.wav) = 362f47d636d7a737580c3c7d261e9772ea0131663e9cb038c4051bb95650f84f 5 | SHA256 (forwarding1.8.wav) = 81bfc76c6ae080cc33b6e88b988863d75483aa062db541fb01557bd5238cbcab 6 | SHA256 (forwarding1.9.wav) = 6d7247735e5c6abd1995d4647b286e07c9a1ddc6c39b05bd01bca3507d4c297f 7 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.copy.input: -------------------------------------------------------------------------------- 1 | C %%CALLID%% udp:203.0.113.1:%%PORTA%% from_tag_1 to_tag_1 2 | C %%CALLID%% udp:203.0.113.1:%%PORTO%% to_tag_1 from_tag_1 3 | C %%CALLID%%_ipv6 udp:203.0.113.1:%%PORT6A%% from_tag_1 to_tag_1 4 | C %%CALLID%%_ipv6 udp:203.0.113.1:%%PORT6O%% to_tag_1 from_tag_1 5 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.delete.input: -------------------------------------------------------------------------------- 1 | Qv %%CALLID%% from_tag_1 to_tag_1 npkts_ina npkts_ino nrelayed ndropped && D 2 | Qv %%CALLID%%_ipv6 from_tag_1 to_tag_1 npkts_ina npkts_ino nrelayed ndropped && D 3 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.gena.input: -------------------------------------------------------------------------------- 1 | P%%NTIMES%% %%CALLID%% forwarding1 session from_tag_1 to_tag_1 2 | P%%NTIMES%% %%CALLID%%_ipv6 forwarding1 session from_tag_1 to_tag_1 3 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.geno.input: -------------------------------------------------------------------------------- 1 | P%%NTIMES%% %%CALLID%% forwarding1 %%CODEC%% from_tag_1 to_tag_1 2 | P%%NTIMES%% %%CALLID%%_ipv6 forwarding1 %%CODEC%% from_tag_1 to_tag_1 3 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.input: -------------------------------------------------------------------------------- 1 | U %%CALLID%% 127.0.0.1 %%PORTA%% from_tag_1 2 | L %%CALLID%% 127.0.0.1 %%PORTO%% from_tag_1 to_tag_1 3 | U6 %%CALLID%%_ipv6 ::1 %%PORTA%% from_tag_1 4 | L6 %%CALLID%%_ipv6 ::1 %%PORTO%% from_tag_1 to_tag_1 5 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.reca.input: -------------------------------------------------------------------------------- 1 | Uc%%CODEC%% %%CALLID%% 127.0.0.1 %%PORT1%% from_tag_1 2 | Lz60 %%CALLID%% 127.0.0.1 %%PORT2%% from_tag_1 to_tag_1 3 | R %%CALLID%% from_tag_1 to_tag_1 4 | U6c%%CODEC%% %%CALLID%%_ipv6 ::1 %%PORT1%% from_tag_1 5 | L6z60 %%CALLID%%_ipv6 ::1 %%PORT2%% from_tag_1 to_tag_1 6 | R %%CALLID%%_ipv6 from_tag_1 to_tag_1 7 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.reco.input: -------------------------------------------------------------------------------- 1 | U %%CALLID%% 127.0.0.1 %%PORT1%% from_tag_1 2 | L %%CALLID%% 127.0.0.1 %%PORT2%% from_tag_1 to_tag_1 3 | R %%CALLID%% from_tag_1 to_tag_1 4 | U6 %%CALLID%%_ipv6 ::1 %%PORT1%% from_tag_1 5 | L6 %%CALLID%%_ipv6 ::1 %%PORT2%% from_tag_1 to_tag_1 6 | R %%CALLID%%_ipv6 from_tag_1 to_tag_1 7 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.relatch.input: -------------------------------------------------------------------------------- 1 | U %%CALLID%% 1.2.3.4 %%PORTO%% to_tag_1 from_tag_1 2 | L %%CALLID%% 127.0.0.1 %%PORTA%% to_tag_1 from_tag_1 3 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.repack.input: -------------------------------------------------------------------------------- 1 | Uz30 %%CALLID%% 127.0.0.1 %%PORTA%% from_tag_1 2 | Lz60 %%CALLID%% 127.0.0.1 %%PORTO%% from_tag_1 to_tag_1 3 | U6z30 %%CALLID%%_ipv6 ::1 %%PORTA%% from_tag_1 4 | L6z60 %%CALLID%%_ipv6 ::1 %%PORTO%% from_tag_1 to_tag_1 5 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.sstats.input: -------------------------------------------------------------------------------- 1 | Qv %%CALLID%% from_tag_1 to_tag_1 npkts_ina npkts_ino nrelayed ndropped 2 | Qv %%CALLID%% from_tag_1 to_tag_1 rtpa_nsent rtpa_nrcvd rtpa_ndups rtpa_nlost rtpa_perrs 3 | Qv %%CALLID%% to_tag_1 from_tag_1 rtpa_nsent rtpa_nrcvd rtpa_ndups rtpa_nlost rtpa_perrs 4 | Qv %%CALLID%%_ipv6 from_tag_1 to_tag_1 npkts_ina npkts_ino nrelayed ndropped 5 | Qv %%CALLID%%_ipv6 from_tag_1 to_tag_1 rtpa_nsent rtpa_nrcvd rtpa_ndups rtpa_nlost rtpa_perrs 6 | Qv %%CALLID%%_ipv6 to_tag_1 from_tag_1 rtpa_nsent rtpa_nrcvd rtpa_ndups rtpa_nlost rtpa_perrs 7 | -------------------------------------------------------------------------------- /tests/forwarding/forwarding1.stats.input: -------------------------------------------------------------------------------- 1 | Gv npkts_rcvd npkts_played npkts_relayed npkts_discard nplrs_created nplrs_destroyed 2 | Gv npkts_resizer_in npkts_resizer_out npkts_resizer_discard 3 | Gv rtpa_nsent rtpa_nrcvd rtpa_ndups rtpa_nlost rtpa_perrs 4 | X 5 | Gv rtpa_nsent rtpa_nrcvd rtpa_ndups rtpa_nlost rtpa_perrs 6 | -------------------------------------------------------------------------------- /tests/forwarding/rtpproxy.conf: -------------------------------------------------------------------------------- 1 | modules { 2 | acct_csv { 3 | load = ../modules/acct_csv/.libs/rtpp_acct_csv_debug.so 4 | } 5 | acct_rtcp_hep { 6 | load = ../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep_debug.so 7 | capt_host = 10.0.0.1 8 | capt_port = 9060 9 | capt_ptype = udp 10 | capt_id = 101 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tests/gdb.gettrace: -------------------------------------------------------------------------------- 1 | info threads 2 | where 3 | quit 4 | -------------------------------------------------------------------------------- /tests/libexecinfo/Makefile.ami: -------------------------------------------------------------------------------- 1 | libexecinfo_EXTRA_DIST = libexecinfo 2 | libexecinfo_CLEANFILES = 3 | TESTS += libexecinfo/libexecinfo1 4 | CLEANFILES += ${libexecinfo_CLEANFILES} 5 | EXTRA_DIST += ${libexecinfo_EXTRA_DIST} 6 | -------------------------------------------------------------------------------- /tests/libexecinfo/libexecinfo1: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASEDIR="`dirname "${0}"`/.." 4 | . "${BASEDIR}/functions" 5 | 6 | for t in execinfo_check execinfo_TEST 7 | do 8 | ${TOP_BUILDDIR}/libexecinfo/${t} 9 | report "running ${t}" 10 | done 11 | -------------------------------------------------------------------------------- /tests/libucl/Makefile.ami: -------------------------------------------------------------------------------- 1 | libucl_EXTRA_DIST = libucl 2 | libucl_CLEANFILES = libucl_test.output 3 | TESTS += libucl/libucl1 4 | CLEANFILES += ${libucl_CLEANFILES} 5 | EXTRA_DIST += ${libucl_EXTRA_DIST} 6 | -------------------------------------------------------------------------------- /tests/libucl/libucl1: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASEDIR="`dirname "${0}"`/.." 4 | . "${BASEDIR}/functions" 5 | 6 | TESTDDIR="${BASEDIR}/libucl" 7 | 8 | TCONF="libucl_test.conf" 9 | TOUT="${TCONF%.conf}.output" 10 | ${TOP_BUILDDIR}/libucl/libucl_test ${TESTDDIR}/${TCONF} > ${BASEDIR}/${TOUT} 11 | report "running libucl_test" 12 | ${DIFF} ${BASEDIR}/${TOUT} ${TESTDDIR}/${TOUT} 13 | report "checking ${TOUT}" 14 | 15 | for i in 1 2 3 4 5 6 7 8 none "some nonsense" 16 | do 17 | cfile="acct_rtcp_hep/broken${i}.conf" 18 | ${TOP_BUILDDIR}/libucl/libucl_test ${cfile} 19 | reportifnotfail "configuration validation" 20 | done 21 | -------------------------------------------------------------------------------- /tests/libucl/libucl_test.conf: -------------------------------------------------------------------------------- 1 | modules { 2 | acct_rtcp_hep { 3 | # /var/log/all.log 600 7 * @T00 J 4 | load = ../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep_debug.so 5 | capt_host = 10.0.0.1 6 | capt_port = 9060 7 | capt_ptype = udp 8 | capt_id = 101 9 | } 10 | acct_csv { 11 | # /var/log/all.log 600 7 * @T00 J 12 | load = ../modules/acct_csv/.libs/rtpp_acct_csv_debug.so 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tests/libucl/libucl_test.nodebug.conf: -------------------------------------------------------------------------------- 1 | modules { 2 | acct_rtcp_hep { 3 | # /var/log/all.log 600 7 * @T00 J 4 | load = ../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep.so 5 | capt_host = 10.0.0.1 6 | capt_port = 9060 7 | capt_ptype = udp 8 | capt_id = 101 9 | } 10 | acct_csv { 11 | # /var/log/all.log 600 7 * @T00 J 12 | load = ../modules/acct_csv/.libs/rtpp_acct_csv.so 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tests/libucl/libucl_test.output: -------------------------------------------------------------------------------- 1 | Entry: modules 2 | module: acct_rtcp_hep 3 | module: acct_csv 4 | MEMDEB(libucl_test): all clear 5 | MEMDEB(libucl_test): all clear 6 | -------------------------------------------------------------------------------- /tests/makeann/Makefile.ami: -------------------------------------------------------------------------------- 1 | makeann_EXTRA_DIST = makeann 2 | makeann_CLEANFILES = ringback.0 ringback.3 ringback.8 ringback.18 ringback.9 3 | TESTS += makeann/makeann1 4 | CLEANFILES += ${makeann_CLEANFILES} 5 | EXTRA_DIST += ${makeann_EXTRA_DIST} 6 | -------------------------------------------------------------------------------- /tests/makeann/makeann.1.output: -------------------------------------------------------------------------------- 1 | SHA256 (ringback.0) = b33a11b7b844c44e69f231f933320543dd5b23fe3ae14d6b96c98ed83e7ca166 2 | SHA256 (ringback.3) = f314cfe36a90fc3f63e15bde4691fb7dbd07055d3ab3aaba270fe6e6f1f336d4 3 | SHA256 (ringback.8) = a523ae068c5b20baa830d08e43beafa960a9c43e6e5adf082ed4cf48ac4a20aa 4 | SHA256 (ringback.18) = 776745f2a627c6baff245afcbebbd1e8c58ebd81db833275a72c6fbf17cd5ead 5 | SHA256 (ringback.9) = 7610e4716f8e05804313ad1dab9f115fec1f4a42b067fe3a4990420fecaefcf7 6 | -------------------------------------------------------------------------------- /tests/makeann/makeann.2.output: -------------------------------------------------------------------------------- 1 | SHA256 (ringback.0) = b33a11b7b844c44e69f231f933320543dd5b23fe3ae14d6b96c98ed83e7ca166 2 | SHA256 (ringback.3) = f314cfe36a90fc3f63e15bde4691fb7dbd07055d3ab3aaba270fe6e6f1f336d4 3 | SHA256 (ringback.8) = a523ae068c5b20baa830d08e43beafa960a9c43e6e5adf082ed4cf48ac4a20aa 4 | SHA256 (ringback.18) = 2f18e52bbe1645c9a7f67379cf920c1d0f24f8676dfe33935fcb7cb8921b8f1b 5 | SHA256 (ringback.9) = 7610e4716f8e05804313ad1dab9f115fec1f4a42b067fe3a4990420fecaefcf7 6 | -------------------------------------------------------------------------------- /tests/makeann/makeann.3.output: -------------------------------------------------------------------------------- 1 | SHA256 (ringback.0) = ca2fd00fa001190744c15c317643ab092e7048ce086a243e2be9437c898de1bb 2 | SHA256 (ringback.3) = c4fad7fb82d2b4a2d6074d90a606b0a694f6391f2a6c8758aa8533a3ba69816f 3 | SHA256 (ringback.8) = 0cbd95f17ac8e508234b59b72f2ad494e9f2d95bf0740d23cbd389f116c45c8c 4 | SHA256 (ringback.18) = e1e95d0cf56240f96e8b849d6d29dcdadb251838f3f49d494ff0dcea8858bf60 5 | SHA256 (ringback.9) = bf8601c0e3f4cacdc3a22766a825d19e5abf5ed835b65c698e7f98b08f8c85cb 6 | -------------------------------------------------------------------------------- /tests/makeann/makeann.4.output: -------------------------------------------------------------------------------- 1 | SHA256 (ringback.0) = fa1ae04ae53ba472a52a521182c52b0e9ea628f9e03874eba68496db8eb88001 2 | SHA256 (ringback.3) = bb4f45630aead281c86da58660f68a2cc54f777090bb930b4a4f157482666916 3 | SHA256 (ringback.8) = 7fa8cc0c21577963e4cdab18040fc9141e8b21ba55c50e4db1e084e224a4a562 4 | SHA256 (ringback.18) = d4203b8d188e314cdd5a498e4758cd1dfa0fd5e8d7a7ad9bafe677b0edcaabb7 5 | SHA256 (ringback.9) = 8f13f4ef25ab2d732e8267c71ce36da7894b7a4b6e845ea0c466ecec7c3d135e 6 | -------------------------------------------------------------------------------- /tests/memdeb/Makefile.ami: -------------------------------------------------------------------------------- 1 | memdeb_EXTRA_DIST = memdeb 2 | memdeb_CLEANFILES = glitch1.* 3 | TESTS += memdeb/glitch1 memdeb/glitch_libucl1 memdeb/glitch_extractaudio \ 4 | memdeb/glitch_startstop1 memdeb/glitch_basic_versions1 \ 5 | memdeb/glitch_command_parser1_stdio memdeb/glitch_acct_rtcp_hep \ 6 | memdeb/glitch_catch_dtmf memdeb/glitch_unittests_sbuf \ 7 | memdeb/glitch_makeann1 8 | CLEANFILES += ${memdeb_CLEANFILES} 9 | EXTRA_DIST += ${memdeb_EXTRA_DIST} 10 | -------------------------------------------------------------------------------- /tests/memdeb/glitch_acct_rtcp_hep: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | SUDO_REQUIRED=1 6 | . "${BASEDIR}/functions" 7 | 8 | . "${TDIR}/glitch.sub" 9 | 10 | disable_aslr 11 | 12 | glitch_test acct_rtcp_hep/basic 16 acct_rtcp_hep.rlog 13 | report "glitching acct_rtcp_hep/basic" 14 | -------------------------------------------------------------------------------- /tests/memdeb/glitch_basic_versions1: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | SUDO_REQUIRED=1 6 | . "${BASEDIR}/functions" 7 | 8 | . "${TDIR}/glitch.sub" 9 | 10 | disable_aslr 11 | 12 | glitch_test basic_versions/basic_versions1 24 basic_versions.rlog 13 | report "glitching basic_versions/basic_versions1" 14 | -------------------------------------------------------------------------------- /tests/memdeb/glitch_catch_dtmf: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | SUDO_REQUIRED=1 6 | . "${BASEDIR}/functions" 7 | 8 | . "${TDIR}/glitch.sub" 9 | 10 | disable_aslr 11 | 12 | glitch_test catch_dtmf/basic 1 catch_dtmf.rlog 'rtpp_catch_dtmf.c\|rtpp_wi_data.c\|rtpp_notify.c\|rtpp_tnotify_set.c' 13 | report "glitching catch_dtmf/basic" 14 | -------------------------------------------------------------------------------- /tests/memdeb/glitch_command_parser1_stdio: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | SUDO_REQUIRED=1 6 | . "${BASEDIR}/functions" 7 | 8 | . "${TDIR}/glitch.sub" 9 | 10 | disable_aslr 11 | 12 | export RTPP_TEST_SOCKETS="stdio:" 13 | glitch_test "command_parser/command_parser1" 20 command_parser.rlog 14 | report "glitching command_parser/command_parser1" 15 | -------------------------------------------------------------------------------- /tests/memdeb/glitch_command_parser1_tcp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | SUDO_REQUIRED=1 6 | . "${BASEDIR}/functions" 7 | 8 | . "${TDIR}/glitch.sub" 9 | 10 | disable_aslr 11 | 12 | export RTPP_TEST_SOCKETS="tcp:${IPV4_LHOST}:${RTPP_TEST_SOCK_TCP4_PORT}" 13 | glitch_test "command_parser/command_parser1" 13 command_parser.rlog 14 | report "glitching command_parser/command_parser1" 15 | -------------------------------------------------------------------------------- /tests/memdeb/glitch_extractaudio: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | SUDO_REQUIRED=1 6 | . "${BASEDIR}/functions" 7 | 8 | . "${TDIR}/glitch.sub" 9 | 10 | disable_aslr 11 | 12 | glitch_test extractaudio/extractaudio1 0 13 | report "glitching extractaudio/extractaudio1" 14 | -------------------------------------------------------------------------------- /tests/memdeb/glitch_libucl1: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | SUDO_REQUIRED=1 6 | . "${BASEDIR}/functions" 7 | 8 | . "${TDIR}/glitch.sub" 9 | 10 | disable_aslr 11 | 12 | glitch_test libucl/libucl1 0 libucl_test.output 13 | report "glitching libucl/libucl1" 14 | -------------------------------------------------------------------------------- /tests/memdeb/glitch_makeann1: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | SUDO_REQUIRED=1 6 | . "${BASEDIR}/functions" 7 | 8 | . "${TDIR}/glitch.sub" 9 | 10 | disable_aslr 11 | 12 | glitch_test makeann/makeann1 0 13 | report "glitching makeann/makeann1" 14 | -------------------------------------------------------------------------------- /tests/memdeb/glitch_startstop1: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | SUDO_REQUIRED=1 6 | . "${BASEDIR}/functions" 7 | 8 | . "${TDIR}/glitch.sub" 9 | 10 | disable_aslr 11 | 12 | glitch_test startstop/startstop1 6 startstop.rlog "" 3 13 | report "glitching startstop/startstop1" 14 | -------------------------------------------------------------------------------- /tests/memdeb/glitch_unittests_sbuf: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | SUDO_REQUIRED=1 6 | . "${BASEDIR}/functions" 7 | 8 | . "${TDIR}/glitch.sub" 9 | 10 | disable_aslr 11 | 12 | glitch_test unittests/rtpp_sbuf 0 13 | report "glitching unittests/rtpp_sbuf" 14 | -------------------------------------------------------------------------------- /tests/playback/Makefile.ami: -------------------------------------------------------------------------------- 1 | playback_EXTRA_DIST = playback 2 | playback_CLEANFILES = playback1.0.a.rtp playback1.18.a.rtp playback1.3.a.rtp \ 3 | playback1.8.a.rtp playback1.9.a.rtp playback1.0 playback1.18 playback1.3 \ 4 | playback1.8 playback1.9 playback1.rout playback1.0.wav playback1.18.wav \ 5 | playback1.3.wav playback1.8.wav playback1.9.wav playback1.tout playback1.rlog 6 | TESTS += playback/playback1 7 | CLEANFILES += ${playback_CLEANFILES} 8 | EXTRA_DIST += ${playback_EXTRA_DIST} 9 | -------------------------------------------------------------------------------- /tests/playback/playback1.checksums: -------------------------------------------------------------------------------- 1 | SHA256 (playback1.0.wav) = 9d82107c3b92140f51997d17cc9944198b3023ccc22a5eb5a1b7f8f7f48e470f 2 | SHA256 (playback1.3.wav) = 219389c2e99810daea5c219798fa26c28abe69a6626a67cf6d52fd685b5f8769 3 | SHA256 (playback1.8.wav) = 91ddb70e9d80c41a945af362d78f18a9d179553f689fc11b26122a9ee110a24a 4 | SHA256 (playback1.18.wav) = 0669f2bef27224e8ff46df0e05b6376edf26e44360f648138f0d27092d6e24e6 5 | SHA256 (playback1.9.wav) = 54c48f4fd4ad664df14b650df41ae605b5127c1fb81c81beb9db949c9fc84780 6 | -------------------------------------------------------------------------------- /tests/playback/playback1.nat.input: -------------------------------------------------------------------------------- 1 | Ln callid_1 127.0.0.1 %%PORT2%% from_tag_1 to_tag_1 2 | -------------------------------------------------------------------------------- /tests/playback/playback1.output: -------------------------------------------------------------------------------- 1 | 12000 2 | 12002 3 | 0 4 | 12000 5 | 12002 6 | 0 7 | 12004 8 | MEMDEB(rtpproxy): all clear 9 | -------------------------------------------------------------------------------- /tests/playback/playback1.type1.input: -------------------------------------------------------------------------------- 1 | U callid_1 127.0.0.1 %%PORT1%% from_tag_1 2 | L callid_1 127.0.0.1 %%PORT2%% from_tag_1 to_tag_1 3 | P callid_1 playback1 session from_tag_1 4 | P callid_1 playback1 %%CODEC%% from_tag_1 5 | U6 callid_1_ipv6 ::1 %%PORT1%% from_tag_1 6 | L6 callid_1_ipv6 ::1 %%PORT2%% from_tag_1 to_tag_1 7 | P callid_1_ipv6 playback1 session from_tag_1 8 | P callid_1_ipv6 playback1 %%CODEC%% from_tag_1 9 | -------------------------------------------------------------------------------- /tests/playback/playback1.type1.output: -------------------------------------------------------------------------------- 1 | 12000 2 | 12002 3 | E35 4 | 0 5 | 12000 6 | 12002 7 | E35 8 | 0 9 | 12004 10 | MEMDEB(rtpproxy): all clear 11 | -------------------------------------------------------------------------------- /tests/playback/playback1.type2.input: -------------------------------------------------------------------------------- 1 | Uc%%CODEC%%,0,3,8,18,9,101 callid_1 127.0.0.1 %%PORT1%% from_tag_1 2 | L callid_1 127.0.0.1 %%PORT2%% from_tag_1 to_tag_1 3 | P callid_1 playback1 session from_tag_1 4 | U6c%%CODEC%%,0,3,8,18,9,101 callid_1_ipv6 ::1 %%PORT1%% from_tag_1 5 | L6 callid_1_ipv6 ::1 %%PORT2%% from_tag_1 to_tag_1 6 | P callid_1_ipv6 playback1 session from_tag_1 7 | -------------------------------------------------------------------------------- /tests/playback/playback1.type3.input: -------------------------------------------------------------------------------- 1 | Uc%%CODEC%%,0,3,8,18,9,101 callid_1 127.0.0.1 %%PORT1%% from_tag_1 2 | Lz60 callid_1 127.0.0.1 %%PORT2%% from_tag_1 to_tag_1 3 | P callid_1 playback1 session from_tag_1 4 | U6c%%CODEC%%,0,3,8,18,9,101 callid_1_ipv6 ::1 %%PORT1%% from_tag_1 5 | L6z60 callid_1_ipv6 ::1 %%PORT2%% from_tag_1 to_tag_1 6 | P callid_1_ipv6 playback1 session from_tag_1 7 | -------------------------------------------------------------------------------- /tests/playback/playback1.type4.input: -------------------------------------------------------------------------------- 1 | U callid_1 127.0.0.1 %%PORT1%% from_tag_1 2 | P callid_1 playback1 %%CODEC%% from_tag_1 3 | L callid_1 127.0.0.1 %%PORT2%% from_tag_1 to_tag_1 4 | U6 callid_1_ipv6 ::1 %%PORT1%% from_tag_1 5 | P callid_1_ipv6 playback1 %%CODEC%% from_tag_1 6 | L6 callid_1_ipv6 ::1 %%PORT2%% from_tag_1 to_tag_1 7 | -------------------------------------------------------------------------------- /tests/playback/playback1.type4.output: -------------------------------------------------------------------------------- 1 | 12000 2 | 0 3 | 12002 4 | 12000 5 | 0 6 | 12002 7 | 12004 8 | MEMDEB(rtpproxy): all clear 9 | -------------------------------------------------------------------------------- /tests/playback/playback1.type5.input: -------------------------------------------------------------------------------- 1 | U callid_1 127.0.0.1 %%PORT1%% from_tag_1 2 | P callid_1 playback1 %%CODEC%% from_tag_1 3 | U6 callid_1_ipv6 ::1 %%PORT1%% from_tag_1 4 | P callid_1_ipv6 playback1 %%CODEC%% from_tag_1 5 | -------------------------------------------------------------------------------- /tests/playback/playback1.type5.output: -------------------------------------------------------------------------------- 1 | 12000 2 | 0 3 | 12000 4 | 0 5 | 12002 6 | 12002 7 | 12004 8 | MEMDEB(rtpproxy): all clear 9 | -------------------------------------------------------------------------------- /tests/playback/playback1.type5.st2.input: -------------------------------------------------------------------------------- 1 | L callid_1 127.0.0.1 %%PORT2%% from_tag_1 to_tag_1 2 | L6 callid_1_ipv6 ::1 %%PORT2%% from_tag_1 to_tag_1 3 | -------------------------------------------------------------------------------- /tests/playback/playback1.type6.input: -------------------------------------------------------------------------------- 1 | Ul127.0.0.1 callid_1 127.0.0.1 %%PORT1%% from_tag_1 2 | P callid_1 playback1 %%CODEC%% from_tag_1 3 | U6 callid_1_ipv6 ::1 %%PORT1%% from_tag_1 4 | P callid_1_ipv6 playback1 %%CODEC%% from_tag_1 5 | -------------------------------------------------------------------------------- /tests/playback/playback1.type6.output: -------------------------------------------------------------------------------- 1 | 12000 127.0.0.1 2 | 0 3 | 12000 4 | 0 5 | 12002 127.0.0.1 6 | 12002 7 | 12004 127.0.0.1 8 | MEMDEB(rtpproxy): all clear 9 | -------------------------------------------------------------------------------- /tests/playback/playback1.type6.st2.input: -------------------------------------------------------------------------------- 1 | Ll127.0.0.1 callid_1 127.0.0.1 %%PORT2%% from_tag_1 to_tag_1 2 | L6 callid_1_ipv6 ::1 %%PORT2%% from_tag_1 to_tag_1 3 | -------------------------------------------------------------------------------- /tests/playback/playback1.type7.input: -------------------------------------------------------------------------------- 1 | Ur127.0.0.1 callid_1 127.0.0.1 %%PORT1%% from_tag_1 2 | P callid_1 playback1 %%CODEC%% from_tag_1 3 | U6 callid_1_ipv6 ::1 %%PORT1%% from_tag_1 4 | P callid_1_ipv6 playback1 %%CODEC%% from_tag_1 5 | -------------------------------------------------------------------------------- /tests/playback/playback1.type7.output: -------------------------------------------------------------------------------- 1 | 12000 127.0.0.1 2 | 0 3 | 12000 4 | 0 5 | 12002 127.0.0.1 6 | 12002 7 | 12004 127.0.0.1 8 | MEMDEB(rtpproxy): all clear 9 | -------------------------------------------------------------------------------- /tests/playback/playback1.type7.st2.input: -------------------------------------------------------------------------------- 1 | Lr127.0.0.1 callid_1 127.0.0.1 %%PORT2%% from_tag_1 to_tag_1 2 | L6 callid_1_ipv6 ::1 %%PORT2%% from_tag_1 to_tag_1 3 | -------------------------------------------------------------------------------- /tests/recording/Makefile.ami: -------------------------------------------------------------------------------- 1 | recording_EXTRA_DIST = recording 2 | recording_CLEANFILES = recording.* 3 | TESTS += recording/basic 4 | CLEANFILES += ${recording_CLEANFILES} 5 | EXTRA_DIST += ${recording_EXTRA_DIST} 6 | -------------------------------------------------------------------------------- /tests/recording/basic.files.input: -------------------------------------------------------------------------------- 1 | R %%CALLID%% from_tag_1 2 | R %%CALLID%% to_tag_1 3 | R %%CALLID%% to_tag_1 from_tag_1 4 | -------------------------------------------------------------------------------- /tests/recording/basic.files.output: -------------------------------------------------------------------------------- 1 | %%PORT_A%% 2 | %%PORT_O%% 3 | 0 4 | E50 5 | 0 6 | rtpa_nsent=300 rtpa_nrcvd=300 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 7 | rtpa_nsent=302 rtpa_nrcvd=302 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 8 | 0 9 | 0 10 | %%PORT_A%% 11 | %%PORT_O%% 12 | rtpa_nsent=463 rtpa_nrcvd=462 rtpa_ndups=0 rtpa_nlost=1 rtpa_perrs=0 13 | rtpa_nsent=461 rtpa_nrcvd=461 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 14 | MEMDEB(rtpproxy): all clear 15 | %%CALL_ID%%=from_tag_1.a.rtcp: 0 16 | MEMDEB(extractaudio): all clear 17 | %%CALL_ID%%=from_tag_1.a.rtp: 302 18 | MEMDEB(extractaudio): all clear 19 | %%CALL_ID%%=from_tag_1.o.rtcp: 0 20 | MEMDEB(extractaudio): all clear 21 | %%CALL_ID%%=from_tag_1.o.rtp: 300 22 | MEMDEB(extractaudio): all clear 23 | -------------------------------------------------------------------------------- /tests/recording/basic.files_stophalf.output: -------------------------------------------------------------------------------- 1 | %%PORT_A%% 2 | %%PORT_O%% 3 | 0 4 | E50 5 | 0 6 | rtpa_nsent=300 rtpa_nrcvd=300 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 7 | rtpa_nsent=302 rtpa_nrcvd=302 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 8 | 0 9 | %%PORT_A%% 10 | %%PORT_O%% 11 | rtpa_nsent=463 rtpa_nrcvd=462 rtpa_ndups=0 rtpa_nlost=1 rtpa_perrs=0 12 | rtpa_nsent=461 rtpa_nrcvd=461 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 13 | MEMDEB(rtpproxy): all clear 14 | %%CALL_ID%%=from_tag_1.a.rtcp: 0 15 | MEMDEB(extractaudio): all clear 16 | %%CALL_ID%%=from_tag_1.a.rtp: 302 17 | MEMDEB(extractaudio): all clear 18 | %%CALL_ID%%=from_tag_1.o.rtcp: 1 19 | MEMDEB(extractaudio): all clear 20 | %%CALL_ID%%=from_tag_1.o.rtp: 462 21 | MEMDEB(extractaudio): all clear 22 | -------------------------------------------------------------------------------- /tests/recording/basic.input: -------------------------------------------------------------------------------- 1 | U %%CALLID%% 127.0.0.1 12345 from_tag_1 2 | L %%CALLID%% 127.0.0.1 54321 from_tag_1 to_tag_1 3 | -------------------------------------------------------------------------------- /tests/recording/basic.recstop.input: -------------------------------------------------------------------------------- 1 | N %%CALLID%% from_tag_1 2 | N %%CALLID%% to_tag_1 from_tag_1 3 | -------------------------------------------------------------------------------- /tests/recording/basic.recstopall.input: -------------------------------------------------------------------------------- 1 | Na %%CALLID%% from_tag_1 2 | Na %%CALLID%% to_tag_1 3 | Na %%CALLID%% to_tag_1 from_tag_1 4 | -------------------------------------------------------------------------------- /tests/recording/basic.recstophalf1.input: -------------------------------------------------------------------------------- 1 | N %%CALLID%% to_tag_1 from_tag_1 2 | -------------------------------------------------------------------------------- /tests/recording/basic.recstophalf2.input: -------------------------------------------------------------------------------- 1 | N %%CALLID%% to_tag_1 from_tag_1 2 | -------------------------------------------------------------------------------- /tests/recording/basic.refresh.input: -------------------------------------------------------------------------------- 1 | L %%CALLID%% 127.0.0.1 56780 to_tag_1 from_tag_1 2 | L %%CALLID%% 127.0.0.1 9876 from_tag_1 to_tag_1 3 | -------------------------------------------------------------------------------- /tests/recording/basic.remote.input: -------------------------------------------------------------------------------- 1 | C %%CALLID%% udp:127.0.0.1:%%REC_PORT%% from_tag_1 2 | C %%CALLID%% udp:127.0.0.1:%%REC_PORT%% to_tag_1 3 | C %%CALLID%% udp:127.0.0.1:%%REC_PORT%% to_tag_1 from_tag_1 4 | -------------------------------------------------------------------------------- /tests/recording/basic.remote.output: -------------------------------------------------------------------------------- 1 | %%PORT_A%% 2 | %%PORT_O%% 3 | 0 4 | E50 5 | 0 6 | rtpa_nsent=300 rtpa_nrcvd=300 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 7 | rtpa_nsent=302 rtpa_nrcvd=302 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 8 | 0 9 | 0 10 | %%PORT_A%% 11 | %%PORT_O%% 12 | rtpa_nsent=463 rtpa_nrcvd=462 rtpa_ndups=0 rtpa_nlost=1 rtpa_perrs=0 13 | rtpa_nsent=461 rtpa_nrcvd=461 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 14 | MEMDEB(rtpproxy): all clear 15 | -------------------------------------------------------------------------------- /tests/recording/basic.remote_p.input: -------------------------------------------------------------------------------- 1 | C %%CALLID%% udp:127.0.0.1:%%REC_PORT%% from_tag_1 2 | C %%CALLID%% udp:127.0.0.1:%%REC_PORT%% to_tag_1 3 | Cp %%CALLID%% udp:127.0.0.1:%%REC_PORT%% to_tag_1 from_tag_1 4 | -------------------------------------------------------------------------------- /tests/recording/basic.remote_p.output: -------------------------------------------------------------------------------- 1 | %%PORT_A%% 2 | %%PORT_O%% 3 | 0 4 | E50 5 | %%PORT_REC%% 127.0.0.1 6 | rtpa_nsent=300 rtpa_nrcvd=300 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 7 | rtpa_nsent=302 rtpa_nrcvd=302 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 8 | 0 9 | 0 10 | %%PORT_A%% 11 | %%PORT_O%% 12 | rtpa_nsent=463 rtpa_nrcvd=462 rtpa_ndups=0 rtpa_nlost=1 rtpa_perrs=0 13 | rtpa_nsent=461 rtpa_nrcvd=461 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 14 | MEMDEB(rtpproxy): all clear 15 | -------------------------------------------------------------------------------- /tests/recording/basic.singlefile.input: -------------------------------------------------------------------------------- 1 | Rs %%CALLID%% from_tag_1 2 | Rs %%CALLID%% to_tag_1 3 | Rs %%CALLID%% to_tag_1 from_tag_1 4 | -------------------------------------------------------------------------------- /tests/recording/basic.singlefile.output: -------------------------------------------------------------------------------- 1 | %%PORT_A%% 2 | %%PORT_O%% 3 | 0 4 | E50 5 | 0 6 | rtpa_nsent=300 rtpa_nrcvd=300 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 7 | rtpa_nsent=302 rtpa_nrcvd=302 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 8 | 0 9 | 0 10 | %%PORT_A%% 11 | %%PORT_O%% 12 | rtpa_nsent=463 rtpa_nrcvd=462 rtpa_ndups=0 rtpa_nlost=1 rtpa_perrs=0 13 | rtpa_nsent=461 rtpa_nrcvd=461 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 14 | MEMDEB(rtpproxy): all clear 15 | %%CALL_ID%%=from_tag_1.pcap: 602 16 | MEMDEB(extractaudio): all clear 17 | -------------------------------------------------------------------------------- /tests/recording/basic.singlefile_c.input: -------------------------------------------------------------------------------- 1 | Cs %%CALLID%% %%REC_NAME%% from_tag_1 2 | Cs %%CALLID%% %%REC_NAME%% to_tag_1 3 | Cs %%CALLID%% %%REC_NAME%% to_tag_1 from_tag_1 4 | -------------------------------------------------------------------------------- /tests/recording/basic.singlefile_c.output: -------------------------------------------------------------------------------- 1 | %%PORT_A%% 2 | %%PORT_O%% 3 | 0 4 | E50 5 | 0 6 | rtpa_nsent=300 rtpa_nrcvd=300 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 7 | rtpa_nsent=302 rtpa_nrcvd=302 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 8 | 0 9 | 0 10 | %%PORT_A%% 11 | %%PORT_O%% 12 | rtpa_nsent=463 rtpa_nrcvd=462 rtpa_ndups=0 rtpa_nlost=1 rtpa_perrs=0 13 | rtpa_nsent=461 rtpa_nrcvd=461 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 14 | MEMDEB(rtpproxy): all clear 15 | %%CALL_ID%%=from_tag_1.pcap: 602 16 | MEMDEB(extractaudio): all clear 17 | -------------------------------------------------------------------------------- /tests/recording/basic.singlefile_stophalf.output: -------------------------------------------------------------------------------- 1 | %%PORT_A%% 2 | %%PORT_O%% 3 | 0 4 | E50 5 | 0 6 | rtpa_nsent=300 rtpa_nrcvd=300 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 7 | rtpa_nsent=302 rtpa_nrcvd=302 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 8 | 0 9 | %%PORT_A%% 10 | %%PORT_O%% 11 | rtpa_nsent=463 rtpa_nrcvd=462 rtpa_ndups=0 rtpa_nlost=1 rtpa_perrs=0 12 | rtpa_nsent=461 rtpa_nrcvd=461 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 13 | MEMDEB(rtpproxy): all clear 14 | %%CALL_ID%%=from_tag_1.pcap: 765 15 | MEMDEB(extractaudio): all clear 16 | -------------------------------------------------------------------------------- /tests/recording/basic.stats.input: -------------------------------------------------------------------------------- 1 | Qv %%CALLID%% from_tag_1 to_tag_1 rtpa_nsent rtpa_nrcvd rtpa_ndups rtpa_nlost rtpa_perrs 2 | Qv %%CALLID%% to_tag_1 from_tag_1 rtpa_nsent rtpa_nrcvd rtpa_ndups rtpa_nlost rtpa_perrs 3 | -------------------------------------------------------------------------------- /tests/recording/basic.stopall.input: -------------------------------------------------------------------------------- 1 | Rs %%CALLID%% from_tag_1 2 | Rs %%CALLID%% to_tag_1 3 | Rs %%CALLID%% to_tag_1 from_tag_1 4 | -------------------------------------------------------------------------------- /tests/recording/basic.stopall.output: -------------------------------------------------------------------------------- 1 | %%PORT_A%% 2 | %%PORT_O%% 3 | 0 4 | E50 5 | 0 6 | rtpa_nsent=300 rtpa_nrcvd=300 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 7 | rtpa_nsent=302 rtpa_nrcvd=302 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 8 | 0 9 | E50 10 | E50 11 | %%PORT_A%% 12 | %%PORT_O%% 13 | rtpa_nsent=463 rtpa_nrcvd=462 rtpa_ndups=0 rtpa_nlost=1 rtpa_perrs=0 14 | rtpa_nsent=461 rtpa_nrcvd=461 rtpa_ndups=0 rtpa_nlost=0 rtpa_perrs=0 15 | MEMDEB(rtpproxy): all clear 16 | %%CALL_ID%%=from_tag_1.pcap: 602 17 | MEMDEB(extractaudio): all clear 18 | -------------------------------------------------------------------------------- /tests/ringback.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/ringback.sln -------------------------------------------------------------------------------- /tests/rtp_analyze/DLT_NULL.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/DLT_NULL.a.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/DLT_NULL.output: -------------------------------------------------------------------------------- 1 | pcount=300, min_seq=63377, max_seq=63676, seq_offset=0, ssrc=0x9C49CA0A, duplicates=0 2 | ssrc_changes=1, psent=300, precvd=300, plost=0 3 | last_jitter=0.295833,average_jitter=0.212584,max_jitter=0.438435 4 | MEMDEB(extractaudio): all clear 5 | -------------------------------------------------------------------------------- /tests/rtp_analyze/G723_1.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/G723_1.a.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/G723_1.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/G723_1.o.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/G723_1.output: -------------------------------------------------------------------------------- 1 | pcount=392, min_seq=11107, max_seq=11498, seq_offset=0, ssrc=0x537DD627, duplicates=0 2 | ssrc_changes=1, psent=392, precvd=392, plost=0 3 | last_jitter=1.610276,average_jitter=2.465079,max_jitter=16.367618 4 | pcount=392, min_seq=2244, max_seq=2635, seq_offset=0, ssrc=0xED82D3DC, duplicates=0 5 | ssrc_changes=1, psent=392, precvd=392, plost=0 6 | last_jitter=3.400337,average_jitter=3.414309,max_jitter=5.233785 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/rtp_analyze/Makefile.ami: -------------------------------------------------------------------------------- 1 | rtp_analyze_EXTRA_DIST = rtp_analyze 2 | rtp_analyze_CLEANFILES = rtp_analyze_*.wav rtp_analyze_*.tout rtp_analyze_*.tlog \ 3 | rtp_analyze_*.pcap 4 | TESTS += rtp_analyze/rtp_analyze1 rtp_analyze/truncated 5 | CLEANFILES += ${rtp_analyze_CLEANFILES} 6 | EXTRA_DIST += ${rtp_analyze_EXTRA_DIST} 7 | -------------------------------------------------------------------------------- /tests/rtp_analyze/a2b_nosync.args: -------------------------------------------------------------------------------- 1 | -n --alice-crypto=AES_CM_128_HMAC_SHA1_80:9sOd+W72ilwfNgNt0FzlGYj6YZPMqN1sJJx43UuS -A rtp_analyze/alice_srtp.pcap --bob-crypto=AES_CM_128_HMAC_SHA1_80:NhqBK/JjtVJgmOgPyDKpvMTEjvFCQ4eiyVQelF6x -B rtp_analyze/bob_srtp.pcap 2 | -------------------------------------------------------------------------------- /tests/rtp_analyze/a2b_nosync.output: -------------------------------------------------------------------------------- 1 | pcount=1556, min_seq=14668, max_seq=16223, seq_offset=0, ssrc=0x2A1AD144, duplicates=0 2 | ssrc_changes=1, psent=1556, precvd=1556, plost=0 3 | last_jitter=0.684756,average_jitter=0.664134,max_jitter=1.270240 4 | pcount=1564, min_seq=10818, max_seq=12381, seq_offset=0, ssrc=0xC2F6A014, duplicates=0 5 | ssrc_changes=1, psent=1564, precvd=1564, plost=0 6 | last_jitter=0.845368,average_jitter=0.674549,max_jitter=1.204251 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/rtp_analyze/alice_srtp.pcap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/alice_srtp.pcap -------------------------------------------------------------------------------- /tests/rtp_analyze/alice_srtp_out.pcap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/alice_srtp_out.pcap -------------------------------------------------------------------------------- /tests/rtp_analyze/alice_to_bob.args: -------------------------------------------------------------------------------- 1 | --alice-crypto=AES_CM_128_HMAC_SHA1_80:9sOd+W72ilwfNgNt0FzlGYj6YZPMqN1sJJx43UuS -A rtp_analyze/alice_srtp.pcap --bob-crypto=AES_CM_128_HMAC_SHA1_80:NhqBK/JjtVJgmOgPyDKpvMTEjvFCQ4eiyVQelF6x -B rtp_analyze/bob_srtp.pcap 2 | -------------------------------------------------------------------------------- /tests/rtp_analyze/alice_to_bob.output: -------------------------------------------------------------------------------- 1 | pcount=1556, min_seq=14668, max_seq=16223, seq_offset=0, ssrc=0x2A1AD144, duplicates=0 2 | ssrc_changes=1, psent=1556, precvd=1556, plost=0 3 | last_jitter=0.684756,average_jitter=0.664134,max_jitter=1.270240 4 | pcount=1564, min_seq=10818, max_seq=12381, seq_offset=0, ssrc=0xC2F6A014, duplicates=0 5 | ssrc_changes=1, psent=1564, precvd=1564, plost=0 6 | last_jitter=0.845368,average_jitter=0.674549,max_jitter=1.204251 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/rtp_analyze/alice_to_bob_out.args: -------------------------------------------------------------------------------- 1 | --alice-crypto=AES_CM_128_HMAC_SHA1_80:9sOd+W72ilwfNgNt0FzlGYj6YZPMqN1sJJx43UuS -A rtp_analyze/alice_srtp_out.pcap --bob-crypto=AES_CM_128_HMAC_SHA1_80:NhqBK/JjtVJgmOgPyDKpvMTEjvFCQ4eiyVQelF6x -B rtp_analyze/bob_srtp_out.pcap 2 | -------------------------------------------------------------------------------- /tests/rtp_analyze/alice_to_bob_out.output: -------------------------------------------------------------------------------- 1 | pcount=1556, min_seq=14668, max_seq=16223, seq_offset=0, ssrc=0x2A1AD144, duplicates=0 2 | ssrc_changes=1, psent=1556, precvd=1556, plost=0 3 | last_jitter=1.522492,average_jitter=7.674060,max_jitter=19.507445 4 | pcount=1562, min_seq=10818, max_seq=12379, seq_offset=0, ssrc=0xC2F6A014, duplicates=0 5 | ssrc_changes=1, psent=1562, precvd=1562, plost=0 6 | last_jitter=0.923619,average_jitter=4.018671,max_jitter=13.072696 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/rtp_analyze/bob_srtp.pcap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/bob_srtp.pcap -------------------------------------------------------------------------------- /tests/rtp_analyze/bob_srtp_out.pcap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/bob_srtp_out.pcap -------------------------------------------------------------------------------- /tests/rtp_analyze/c1.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/c1.a.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/c1.output: -------------------------------------------------------------------------------- 1 | pcount=1192, min_seq=152, max_seq=1343, seq_offset=0, ssrc=0x00000000, duplicates=0 2 | ssrc_changes=1, psent=1192, precvd=1192, plost=0 3 | last_jitter=0.195235,average_jitter=0.383771,max_jitter=0.708600 4 | MEMDEB(extractaudio): all clear 5 | -------------------------------------------------------------------------------- /tests/rtp_analyze/dups.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/dups.a.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/dups.output: -------------------------------------------------------------------------------- 1 | pcount=383, min_seq=0, max_seq=382, seq_offset=0, ssrc=0xAE9DD7AF, duplicates=1 2 | ssrc_changes=1, psent=383, precvd=383, plost=0 3 | last_jitter=0.004223,average_jitter=0.005070,max_jitter=0.121094 4 | MEMDEB(extractaudio): all clear 5 | -------------------------------------------------------------------------------- /tests/rtp_analyze/lost.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/lost.a.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/lost.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/lost.o.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/lost.output: -------------------------------------------------------------------------------- 1 | pcount=244, min_seq=400, max_seq=964, seq_offset=0, ssrc=0x0A7328F3, duplicates=0 2 | ssrc_changes=1, psent=565, precvd=244, plost=321 3 | last_jitter=1.147930,average_jitter=1.085519,max_jitter=7.162877 4 | pcount=246, min_seq=0, max_seq=245, seq_offset=0, ssrc=0xE0E9C816, duplicates=0 5 | ssrc_changes=1, psent=246, precvd=246, plost=0 6 | last_jitter=4.359029,average_jitter=1.439243,max_jitter=4.359029 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/rtp_analyze/p12.output: -------------------------------------------------------------------------------- 1 | pcount=32775, min_seq=517, max_seq=33500, seq_offset=0, ssrc=0x10EB7936, duplicates=0 2 | ssrc_changes=1, psent=32984, precvd=32775, plost=209 3 | last_jitter=1.649362,average_jitter=1.422976,max_jitter=6.356397 4 | pcount=53332, min_seq=1, max_seq=53332, seq_offset=0, ssrc=0x54B7CCB4, duplicates=0 5 | ssrc_changes=1, psent=53332, precvd=53332, plost=0 6 | last_jitter=100.287310,average_jitter=88.838756,max_jitter=334.398602 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/rtp_analyze/p23.output: -------------------------------------------------------------------------------- 1 | pcount=261294, min_seq=28008, max_seq=291900, seq_offset=262144, ssrc=0x9E926D37, duplicates=0 2 | ssrc_changes=1, psent=263893, precvd=261294, plost=2599 3 | last_jitter=1.963337,average_jitter=1.172218,max_jitter=10.403756 4 | pcount=131871, min_seq=1, max_seq=131884, seq_offset=131072, ssrc=0x69BE0CDC, duplicates=0 5 | ssrc_changes=1, psent=131884, precvd=131871, plost=13 6 | last_jitter=3.132159,average_jitter=3.292030,max_jitter=11.694970 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/rtp_analyze/sess6.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/sess6.a.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/sess6.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/sess6.o.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/sess6.output: -------------------------------------------------------------------------------- 1 | pcount=2076, min_seq=0, max_seq=2075, seq_offset=0, ssrc=0x49954FD1, duplicates=0 2 | ssrc_changes=1, psent=2546, precvd=2546, plost=0 3 | last_jitter=7.118466,average_jitter=7.072836,max_jitter=14.643134 4 | pcount=2038, min_seq=31209, max_seq=33247, seq_offset=0, ssrc=0x70C93B97, duplicates=0 5 | ssrc_changes=1, psent=2039, precvd=2038, plost=1 6 | last_jitter=18.019238,average_jitter=27.136334,max_jitter=54.514816 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/rtp_analyze/sipit31.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/sipit31.a.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/sipit31.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/sipit31.o.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/sipit31.output: -------------------------------------------------------------------------------- 1 | pcount=1, min_seq=59763, max_seq=59763, seq_offset=0, ssrc=0xFDDD66F5, duplicates=0 2 | ssrc_changes=71, psent=3370, precvd=3370, plost=0 3 | pcount=10164, min_seq=0, max_seq=10163, seq_offset=0, ssrc=0xD8AFBB01, duplicates=0 4 | ssrc_changes=1, psent=10164, precvd=10164, plost=0 5 | last_jitter=25.941500,average_jitter=35.834371,max_jitter=45.962174 6 | MEMDEB(extractaudio): all clear 7 | -------------------------------------------------------------------------------- /tests/rtp_analyze/srtp1.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/srtp1.a.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/srtp1.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/srtp1.o.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/srtp1.output: -------------------------------------------------------------------------------- 1 | pcount=239, min_seq=10257, max_seq=10495, seq_offset=0, ssrc=0xE7D56977, duplicates=0 2 | ssrc_changes=1, psent=239, precvd=239, plost=0 3 | last_jitter=1.506022,average_jitter=2.216007,max_jitter=8.357472 4 | pcount=246, min_seq=12903, max_seq=13148, seq_offset=0, ssrc=0x8557BACE, duplicates=0 5 | ssrc_changes=1, psent=246, precvd=246, plost=0 6 | last_jitter=1.553118,average_jitter=1.496748,max_jitter=2.783576 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/rtp_analyze/weird.a.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/weird.a.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/weird.o.rtp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/rtp_analyze/weird.o.rtp -------------------------------------------------------------------------------- /tests/rtp_analyze/weird.output: -------------------------------------------------------------------------------- 1 | pcount=3864, min_seq=1, max_seq=3864, seq_offset=0, ssrc=0x26304352, duplicates=0 2 | ssrc_changes=1, psent=3864, precvd=3864, plost=0 3 | last_jitter=5.198145,average_jitter=3.358278,max_jitter=5.735731 4 | pcount=1273, min_seq=24960, max_seq=28338, seq_offset=0, ssrc=0x9B77EDD9, duplicates=0 5 | ssrc_changes=1, psent=3379, precvd=1273, plost=2106 6 | last_jitter=2.003499,average_jitter=2.672129,max_jitter=5.612692 7 | MEMDEB(extractaudio): all clear 8 | -------------------------------------------------------------------------------- /tests/session_timeouts/Makefile.ami: -------------------------------------------------------------------------------- 1 | session_timeouts_EXTRA_DIST = session_timeouts 2 | session_timeouts_CLEANFILES = session_timeouts.rout[1234567].[1234] session_timeouts.rlog[1234567].[1234] \ 3 | session_timeouts.tlog session_timeouts.tlog.sorted session_timeouts.qout[1234567].[1234] \ 4 | session_timeouts.fout[1234567].[1234] 5 | TESTS += session_timeouts/notify_tcp session_timeouts/notify_tcp_wild \ 6 | session_timeouts/notify_unix 7 | CLEANFILES += ${session_timeouts_CLEANFILES} 8 | EXTRA_DIST += ${session_timeouts_EXTRA_DIST} 9 | -------------------------------------------------------------------------------- /tests/session_timeouts/full.input: -------------------------------------------------------------------------------- 1 | U %%CALLID%% 127.0.0.1 12345 from_tag_1 %%RTPP_NS%% garbage 2 | L %%CALLID%% 127.0.0.1 54321 from_tag_1 to_tag_1 3 | U %%CALLID%% 127.0.0.1 12345 from_tag_1 to_tag_1 %%RTPP_NS%% %%RTPP_NS_MSG%% 4 | -------------------------------------------------------------------------------- /tests/session_timeouts/full6.input: -------------------------------------------------------------------------------- 1 | U6 %%CALLID%% 2001:dcf4:0:0:0:5a3b:0:4196 12345 from_tag_1 %%RTPP_NS%% %%RTPP_NS_MSG%% 2 | L6 %%CALLID%% 2001:0:bc07:0:75f4:0:466e:7bf2 54321 from_tag_1 to_tag_1 3 | -------------------------------------------------------------------------------- /tests/session_timeouts/half.input: -------------------------------------------------------------------------------- 1 | U %%CALLID%% 127.0.0.1 12345 from_tag_1 %%RTPP_NS%% %%RTPP_NS_MSG%% 2 | -------------------------------------------------------------------------------- /tests/session_timeouts/half6.input: -------------------------------------------------------------------------------- 1 | U6 %%CALLID%% 2001:dcf4:0:0:0:5a3b:0:4196 12345 from_tag_1 %%RTPP_NS%% %%RTPP_NS_MSG%% 2 | -------------------------------------------------------------------------------- /tests/session_timeouts/lookup.input: -------------------------------------------------------------------------------- 1 | L %%CALLID%% 127.0.0.1 54321 from_tag_1 to_tag_1 2 | -------------------------------------------------------------------------------- /tests/session_timeouts/lookup6.input: -------------------------------------------------------------------------------- 1 | L6 %%CALLID%% 2001:0:0:bde4:a2bf:c604:0:0 54321 from_tag_1 to_tag_1 2 | -------------------------------------------------------------------------------- /tests/session_timeouts/notify_tcp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | 6 | . "${TDIR}/test.sub" 7 | 8 | run_test "${RTPP_NOTIFY_SOCK_TCP}" 9 | -------------------------------------------------------------------------------- /tests/session_timeouts/notify_tcp_wild: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | 6 | . "${TDIR}/test.sub" 7 | 8 | run_test "${RTPP_NOTIFY_SOCK_WILD}" 9 | -------------------------------------------------------------------------------- /tests/session_timeouts/notify_unix: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | 6 | . "${TDIR}/test.sub" 7 | 8 | run_test "${RTPP_NOTIFY_SOCK_UNIX}" 9 | -------------------------------------------------------------------------------- /tests/session_timeouts/stats.input: -------------------------------------------------------------------------------- 1 | Gv nsess_created nsess_destroyed nsess_timeout nsess_complete nsess_nortp nsess_owrtp nsess_nortcp nsess_owrtcp 2 | Gv ncmds_rcvd ncmds_succd ncmds_errs ncmds_repld 3 | -------------------------------------------------------------------------------- /tests/startstop/Makefile.ami: -------------------------------------------------------------------------------- 1 | startstop_EXTRA_DIST = startstop 2 | startstop_CLEANFILES = startstop*.rout startstop*.rlog 3 | TESTS += startstop/goodargs startstop/badargs startstop/startstop1 \ 4 | startstop/nodebug 5 | CLEANFILES += ${startstop_CLEANFILES} 6 | EXTRA_DIST += ${startstop_EXTRA_DIST} 7 | -------------------------------------------------------------------------------- /tests/startstop/badargs.debug.input: -------------------------------------------------------------------------------- 1 | --dso&../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep_debug.so 2 | --dso&../modules/badmod/.libs/rtpp_badmod1_debug.so 3 | --dso&../modules/badmod/.libs/rtpp_badmod2_debug.so 4 | --dso&../modules/badmod/.libs/rtpp_badmod3.so 5 | --dso&../modules/badmod/.libs/rtpp_badmod3_debug.so 6 | --dso&../modules/badmod/.libs/rtpp_badmod4_debug.so 7 | -------------------------------------------------------------------------------- /tests/startstop/badargs.debug.sub: -------------------------------------------------------------------------------- 1 | RTPPROXY="${RTPPROXY_DBG}" 2 | BA_ADD="${BASEDIR}/startstop/badargs.debug.input" 3 | -------------------------------------------------------------------------------- /tests/startstop/badargs.nodebug.input: -------------------------------------------------------------------------------- 1 | --dso&../modules/acct_rtcp_hep/.libs/rtpp_acct_rtcp_hep.so 2 | --dso&../modules/badmod/.libs/rtpp_badmod1.so 3 | --dso&../modules/badmod/.libs/rtpp_badmod2.so 4 | --dso&../modules/badmod/.libs/rtpp_badmod3_debug.so 5 | --dso&../modules/badmod/.libs/rtpp_badmod3.so 6 | --dso&../modules/badmod/.libs/rtpp_badmod4.so 7 | -------------------------------------------------------------------------------- /tests/startstop/badargs.nodebug.sub: -------------------------------------------------------------------------------- 1 | RTPPROXY="${RTPPROXY_PROD}" 2 | BA_ADD="${BASEDIR}/startstop/badargs.nodebug.input" 3 | -------------------------------------------------------------------------------- /tests/startstop/goodargs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASEDIR="`dirname "${0}"`/.." 4 | . "${BASEDIR}/functions" 5 | 6 | for good_rargs in '-V' '-v' '-C' 7 | do 8 | ${RTPPROXY} ${good_rargs} 9 | report "rtpproxy start with good argumens: \""${good_rargs}"\"" 10 | done 11 | -------------------------------------------------------------------------------- /tests/startstop/startstop.nodebug.output: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/startstop/startstop.nodebug.output -------------------------------------------------------------------------------- /tests/startstop/startstop.output: -------------------------------------------------------------------------------- 1 | MEMDEB(rtpproxy): all clear 2 | -------------------------------------------------------------------------------- /tests/startstop/startstop1: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # test start up of rtpproxy and handling of SIGTERM and SIGHUP 4 | 5 | BASEDIR="`dirname "${0}"`/.." 6 | . "${BASEDIR}/functions" 7 | 8 | TS_LOGFILE="startstop.rlog" 9 | 10 | . "${BASEDIR}/startstop/startstop.sub" 11 | 12 | test_startstop "startstop.rout" "${RTPPROXY_DBG}" "libucl/libucl_test.conf" \ 13 | "catch_dtmf_debug dtls_gw_debug ice_lite_debug" "startstop.output" 14 | -------------------------------------------------------------------------------- /tests/unittests/Makefile.ami: -------------------------------------------------------------------------------- 1 | unittests_EXTRA_DIST = unittests 2 | rtcp2json_CLEANFILES = rtcp1.output 3 | TESTS += unittests/rtcp2json1 unittests/rtpp_sbuf unittests/rtpp_objck \ 4 | unittests/rtpp_rzmalloc_perf unittests/rtpp_fintest 5 | CLEANFILES += ${rtcp2json_CLEANFILES} 6 | EXTRA_DIST += ${unittests_EXTRA_DIST} 7 | -------------------------------------------------------------------------------- /tests/unittests/rtcp1.output: -------------------------------------------------------------------------------- 1 | { 2 | "ssrc": 1309239164, 3 | "sender_information": { 4 | "ntp_timestamp_sec": 3738098587, 5 | "ntp_timestamp_usec": 3798737781, 6 | "rtp_timestamp": 191072, 7 | "packets": 1190, 8 | "octets": 23800 9 | }, 10 | "type": 200, 11 | "report_blocks": [ 12 | { 13 | "source_ssrc": 2005674503, 14 | "fraction_lost": 0, 15 | "packets_lost": 2, 16 | "highest_seq_no": 31520, 17 | "ia_jitter": 2, 18 | "lsr": 2976541490, 19 | "dlsr": 252406 20 | } 21 | ], 22 | "report_count": 1 23 | } 24 | -------------------------------------------------------------------------------- /tests/unittests/rtcp1.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sippy/rtpproxy/4d14ba3cbbe28c5f56e64daf786bcdfa32d8bbda/tests/unittests/rtcp1.raw -------------------------------------------------------------------------------- /tests/unittests/rtcp2json1: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TDIR="`dirname "${0}"`" 4 | BASEDIR="${TDIR}/.." 5 | . "${BASEDIR}/functions" 6 | 7 | for badopt in nosuchfile /dev/null /dev/zero 8 | do 9 | ${TOP_BUILDDIR}/modules/acct_rtcp_hep/rtcp2json_test ${badopt} 10 | reportifnotfail "Testing bad option: ${badopt}" 11 | done 12 | 13 | for t in rtcp1 14 | do 15 | ${TOP_BUILDDIR}/modules/acct_rtcp_hep/rtcp2json_test ${TDIR}/${t}.raw > ${t}.output 16 | report "decoding ${t}.raw" 17 | ${DIFF} ${t}.output ${TDIR}/${t}.output 18 | report "checking ${t}.output" 19 | done 20 | 21 | -------------------------------------------------------------------------------- /tests/unittests/rtpp_fintest: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASEDIR="`dirname "${0}"`/.." 4 | . "${BASEDIR}/functions" 5 | 6 | "${TOP_BUILDDIR}/src/rtpp_fintest" 7 | report "Running rtpp_fintest" 8 | 9 | -------------------------------------------------------------------------------- /tests/unittests/rtpp_objck: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASEDIR="`dirname "${0}"`/.." 4 | . "${BASEDIR}/functions" 5 | 6 | for t in "" "_perf" 7 | do 8 | "${TOP_BUILDDIR}/src/rtpp_objck${t}" 9 | report "Running rtpp_objck${t}" 10 | done 11 | -------------------------------------------------------------------------------- /tests/unittests/rtpp_rzmalloc_perf: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASEDIR="`dirname "${0}"`/.." 4 | . "${BASEDIR}/functions" 5 | 6 | for scr in rtpp_rzmalloc_perf rtpp_rzmalloc_perf_debug 7 | do 8 | "${TOP_BUILDDIR}/src/${scr}" 9 | report "Running ${scr}" 10 | done 11 | -------------------------------------------------------------------------------- /tests/unittests/rtpp_sbuf: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASEDIR="`dirname "${0}"`/.." 4 | . "${BASEDIR}/functions" 5 | 6 | ${TOP_BUILDDIR}/modules/acct_rtcp_hep/rtpp_sbuf_selftest 7 | report "rtpp_sbuf_selftest" 8 | --------------------------------------------------------------------------------