├── .gitignore ├── .gitreview ├── Makefile ├── README ├── bench.sh ├── bin ├── apply_flow_diff.sh ├── cdr_check.py ├── cdr_extract.sh ├── check.py ├── check.sh ├── check_sip.py ├── check_sipp.sh ├── clean_registrations.pl ├── config_debug.pl ├── config_files.sh ├── create_emergencymapping.pl ├── create_header_manipulation.pl ├── create_lnp.pl ├── create_ncos.pl ├── create_peers.pl ├── create_registrations.pl ├── create_rewrite_rules.pl ├── create_soundsets.pl ├── create_subscribers.pl ├── delete_domains.pl ├── detect_network.py ├── failed_scenarios.sh ├── generate_test.pl ├── generate_test_tt2.py ├── generate_test_tt2.sh ├── generate_tests.sh ├── get_config.pl ├── get_domains.pl ├── get_scenarios.sh ├── graph_flow.pl ├── kam_dbg.pl ├── lnav.sh ├── mem_stats.py ├── network_config.pl ├── pcap_diff.py ├── pid_watcher.py ├── presence.sh ├── provide_next_network.pl ├── provide_next_phone.pl ├── provide_scenario.sh ├── provide_scenarios.sh ├── reorder_tests_tt2.sh ├── restart_log.sh ├── scenario.pl ├── set_preferences.pl ├── set_subscribers_callforward.pl ├── set_subscribers_callforward_advanced.pl ├── set_subscribers_location_map.pl ├── set_subscribers_speeddial.pl ├── set_subscribers_trusted_sources.pl ├── show_flow.pl ├── show_flow_diff.pl ├── show_route.pl ├── show_route_diff.sh ├── show_sip.pl ├── show_value_flow.pl ├── sipp.sh ├── update_peer_host.pl └── update_perm_reg.pl ├── config.yml ├── debian ├── .gitignore ├── changelog ├── control ├── copyright ├── kamailio-config-tests.docs ├── kamailio-config-tests.install ├── rules └── source │ └── format ├── disabled ├── invite_181 │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_181_callforward │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario01.xml │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder03.xml ├── invite_callforward │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0026_test.yml.tt2 │ ├── 0027_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0030_test.yml.tt2 │ ├── 0031_test.yml.tt2 │ ├── 0032_test.yml.tt2 │ ├── 0033_test.yml.tt2 │ ├── 0034_test.yml.tt2 │ ├── 0035_test.yml.tt2 │ ├── 0036_test.yml.tt2 │ ├── 0037_test.yml.tt2 │ ├── 0038_test.yml.tt2 │ ├── 0039_test.yml.tt2 │ ├── 0040_test.yml.tt2 │ ├── 0041_test.yml.tt2 │ ├── 0042_test.yml.tt2 │ ├── 0043_test.yml.tt2 │ ├── 0044_test.yml.tt2 │ ├── 0045_test.yml.tt2 │ ├── 0046_test.yml.tt2 │ ├── 0047_test.yml.tt2 │ ├── 0048_test.yml.tt2 │ ├── 0050_test.yml.tt2 │ ├── 0051_test.yml.tt2 │ ├── 0052_test.yml.tt2 │ ├── 0053_test.yml.tt2 │ ├── 0054_test.yml.tt2 │ ├── 0055_test.yml.tt2 │ ├── 0056_test.yml.tt2 │ ├── 0057_test.yml.tt2 │ ├── 0058_test.yml.tt2 │ ├── 0059_test.yml.tt2 │ ├── 0060_test.yml.tt2 │ ├── 0061_test.yml.tt2 │ ├── 0062_test.yml.tt2 │ ├── 0063_test.yml.tt2 │ ├── 0064_test.yml.tt2 │ ├── 0065_test.yml.tt2 │ ├── 0066_test.yml.tt2 │ ├── 0067_test.yml.tt2 │ ├── 0068_test.yml.tt2 │ ├── callforward.yml │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario01.xml │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder03.xml ├── invite_callforward_sources │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario01.xml │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder03.xml ├── invite_callforward_timeout │ ├── 0013_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder01_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder03.xml ├── invite_diversion_ko_allowed │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_diversion_ko_notallowed │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_diversion_ok_allowed │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_diversion_ok_notallowed │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_diversion_skip_ko_allowed_cli │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_diversion_skip_ko_notallowed_cli │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_diversion_skip_ok_allowed_cli │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_diversion_skip_ok_notallowed_cli │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_group_parallel │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder02.xml ├── invite_group_serial │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder02.xml ├── invite_no_404_fallback │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_offline_soundset │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ └── soundsets.yml ├── invite_peerout_emergency │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json │ ├── rewrite.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_perm_reg │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── registration.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_queue │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_redirect_error │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder01.xml ├── invite_redirect_error_fork │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder02.xml ├── invite_redirect_error_from_peer │ ├── media181sec.pcap │ ├── peer.yml │ ├── rewrite.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder01.xml ├── invite_redirect_error_peer │ ├── media181sec.pcap │ ├── peer.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder00.xml ├── invite_speeddial │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0027_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── media181sec.pcap │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario01.xml │ ├── sipp_scenario02.xml │ ├── sipp_scenario03.xml │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder01.xml │ └── speeddial.yml ├── invite_username_devid_fulllookup │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0026_test.yml.tt2 │ ├── 0027_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0030_test.yml.tt2 │ ├── 0031_test.yml.tt2 │ ├── 0032_test.yml.tt2 │ ├── 0034_test.yml.tt2 │ ├── 0035_test.yml.tt2 │ ├── 0036_test.yml.tt2 │ ├── 0037_test.yml.tt2 │ ├── 0038_test.yml.tt2 │ ├── 0039_test.yml.tt2 │ ├── 0040_test.yml.tt2 │ ├── 0042_test.yml.tt2 │ ├── 0043_test.yml.tt2 │ ├── 0044_test.yml.tt2 │ ├── 0045_test.yml.tt2 │ ├── 0046_test.yml.tt2 │ ├── 0047_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder02.xml ├── invite_wrong_reg │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_xfer_attended_caller_immediat_rel │ ├── 0007_test.yml.tt2 │ ├── 0027_test.yml.tt2 │ ├── 0037_test.yml.tt2 │ ├── 0038_test.yml.tt2 │ ├── 0039_test.yml.tt2 │ ├── 0055_test.yml.tt2 │ ├── 0056_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_xfer_blind_callee │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_xfer_blind_caller │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 └── presence │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario_responder01.xml ├── get_results.sh ├── lib └── Sipwise │ └── API.pm ├── pyproject.toml ├── run_tests.sh ├── scenarios ├── auth_fail │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── config.yml ├── config_pro.yml ├── incoming_foreign_dom │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── incoming_hih │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── incoming_peer │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0026_test.yml.tt2 │ ├── 0035_test.yml.tt2 │ ├── 0036_test.yml.tt2 │ ├── 0040_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario03.xml │ ├── sipp_scenario03_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder01_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder02_test.yml.tt2 ├── incoming_peer_anonymous │ ├── 0003_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── incoming_peer_stir │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario03.xml │ ├── sipp_scenario03_test.yml.tt2 │ ├── sipp_scenario04.xml │ ├── sipp_scenario04_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite-peerout-stir.scenarios.test.key ├── invite-peerout-stir.scenarios.test.pubkey ├── invite │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_tag_data_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── responder00_01.yml.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_allowedcli_match │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_allowedcli_match_alias │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_allowedcli_nonmatch │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_allowedcli_nonmatch_reject │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── invite_allowip │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── invite_allowip_soundset │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ └── soundsets.yml ├── invite_announce_before_call │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0026_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0030_test.yml.tt2 │ ├── 0031_test.yml.tt2 │ ├── 0033_test.yml.tt2 │ ├── 0035_test.yml.tt2 │ ├── 0047_test.yml.tt2 │ ├── 0052_test.yml.tt2 │ ├── 0063_test.yml.tt2 │ ├── 0064_test.yml.tt2 │ ├── 0065_test.yml.tt2 │ ├── 0070_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario03.xml │ ├── sipp_scenario03_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder01_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ ├── sipp_scenario_responder02_test.yml.tt2 │ ├── sipp_scenario_responder03.xml │ ├── sipp_scenario_responder03_test.yml.tt2 │ └── soundsets.yml ├── invite_anonymous │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_blockin_blst │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── invite_blockin_clir │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── invite_blockin_wlst │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── invite_blockout_blst │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── invite_blockout_ncos │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── ncos.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ └── sipp_scenario01_test.yml.tt2 ├── invite_blockout_pinoverride │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_blockout_wlst │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── invite_callee_bye │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_callforward │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0030_test.yml.tt2 │ ├── 0032_test.yml.tt2 │ ├── 0034_test.yml.tt2 │ ├── 0039_test.yml.tt2 │ ├── 0044_test.yml.tt2 │ ├── 0045_test.yml.tt2 │ ├── 0048_test.yml.tt2 │ ├── 0049_test.yml.tt2 │ ├── 0053_test.yml.tt2 │ ├── 0054_test.yml.tt2 │ ├── 0057_test.yml.tt2 │ ├── 0058_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder01_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ ├── sipp_scenario_responder02_test.yml.tt2 │ ├── sipp_scenario_responder03.xml │ └── sipp_scenario_responder03_test.yml.tt2 ├── invite_callforward_but_callee_locked_cfna │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_callforward_but_callee_locked_cfu │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── invite_callforward_cfna │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_callforward_cfr │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0031_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_callforward_use_redirection │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder02_test.yml.tt2 ├── invite_concurrent_max │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_concurrent_max_out │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_concurrent_max_out_per_account │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_concurrent_max_per_account │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_conference_update │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ └── soundsets.yml ├── invite_emergency │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── rewrite.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_emergency_cirpack │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── pro.yml │ ├── rewrite.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_emergency_pidflo │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── pro.yml │ ├── rewrite.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_force_inbound_calls_to_peer │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_force_outbound_calls_to_peer │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_foreign_dom │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_fritz_prefix_removal │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0033_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── emergency.yml │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── rewrite.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario03.xml │ ├── sipp_scenario03_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder03.xml │ └── sipp_scenario_responder03_test.yml.tt2 ├── invite_hdr │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_hm │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── header.yml │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── pro.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_hm_callforward │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── header.yml │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── pro.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_hm_peerout │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── header.yml │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── pro.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_ignore_allowip │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_lateoam │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_locmap_add │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── 0027_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── locmap.yml │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_locmap_forward │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── locmap.yml │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_locmap_offline │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── locmap.yml │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_locmap_replace │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── locmap.yml │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_no_refer │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_offline │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── invite_offline_deregistered │ ├── cdr_tag_data_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── responder00_01.yml.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_outgoing_lock │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── invite_pai_none │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_peerout │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_peerout_failover │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder02_test.yml.tt2 ├── invite_peerout_max_out │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_peerout_rewrite │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── rewrite.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_peerout_rewrite_pv_regex │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── rewrite.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_peerout_stir │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_perm_reg │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── registration.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_prack │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_q_forking │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_record_call │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0026_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0030_test.yml.tt2 │ ├── 0031_test.yml.tt2 │ ├── 0039_test.yml.tt2 │ ├── 0043_test.yml.tt2 │ ├── 0051_test.yml.tt2 │ ├── 0055_test.yml.tt2 │ ├── 0057_test.yml.tt2 │ ├── 0065_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario03.xml │ ├── sipp_scenario03_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder01_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ ├── sipp_scenario_responder03.xml │ ├── sipp_scenario_responder03_test.yml.tt2 │ └── soundsets.yml ├── invite_redirect │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── 0031_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_redirect_blocked │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_redirect_tel_uri │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── 0026_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0031_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_reinvite_caller_transcoding │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_reinvite_transcoding │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_retrans │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_sdp_filter │ ├── 0003_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_sdp_filter_blacklist │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_stir │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── 0030_test.yml.tt2 │ ├── 0031_test.yml.tt2 │ ├── 0033_test.yml.tt2 │ ├── 0036_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_tcp_udp │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_tcp_udp_reinvite │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_trusted_anonymous │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ └── trusted.yml.tt2 ├── invite_trusted_peerout_stir │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ └── trusted.yml.tt2 ├── invite_ua_reject_missing │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── responder00_01.yml.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_voicebox │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── lock_ported │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0026_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── media181sec.pcap ├── register │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── register_allowip │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── register_bria │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ └── sipp_scenario02_test.yml.tt2 ├── register_ignore_allowip │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── register_tcp │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── reminder │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── sanity │ ├── cdr_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── templates │ ├── pres-rules.xml.tt2 │ └── sipp_scenario_responder_reg.xml.tt2 ├── timer_session_callee_only_supported │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── timer_session_caller_only_supported │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 └── timer_session_supported │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── scenarios_lnp ├── config.yml ├── config_pro.yml ├── incoming_peer │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── lnp.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── incoming_peer_unallocated_authoritative │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── lnp.yml.tt2 │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 ├── invite │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── lnp.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_ncos_black │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── lnp.yml.tt2 │ ├── media181sec.pcap │ ├── ncos.yml │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── rewrite.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder02_test.yml.tt2 ├── invite_ncos_white │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0026_test.yml.tt2 │ ├── 0027_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0032_test.yml.tt2 │ ├── 0033_test.yml.tt2 │ ├── 0035_test.yml.tt2 │ ├── 0036_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── lnp.yml.tt2 │ ├── media181sec.pcap │ ├── ncos.yml │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_peerout │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── lnp.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── rewrite.yml │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_peerout_rn │ ├── 0001_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── lnp.yml.tt2 │ ├── media181sec.pcap │ ├── peer.yml │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── media181sec.pcap ├── register_lock_ported │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ └── sipp_scenario00_test.yml.tt2 └── templates ├── scenarios_pbx ├── config.yml ├── incoming_shared_line │ ├── 0001_test.yml.tt2 │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0026_test.yml.tt2 │ ├── 0027_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0030_test.yml.tt2 │ ├── 0031_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder01_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ ├── sipp_scenario_responder02_test.yml.tt2 │ ├── sipp_scenario_responder03.xml │ └── sipp_scenario_responder03_test.yml.tt2 ├── invite │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_alias │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ └── sipp_scenario_responder00_test.yml.tt2 ├── invite_alias_devid │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── cdr_tag_data_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder02_test.yml.tt2 ├── invite_alias_devid_fulllookup │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder02_test.yml.tt2 ├── invite_group_parallel │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder01_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder02_test.yml.tt2 ├── invite_group_parallel_and_cft │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0027_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder01_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ ├── sipp_scenario_responder02_test.yml.tt2 │ ├── sipp_scenario_responder03.xml │ └── sipp_scenario_responder03_test.yml.tt2 ├── invite_group_serial │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder01_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder02_test.yml.tt2 ├── invite_manager │ ├── 0005_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0024_test.yml.tt2 │ ├── 0027_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0030_test.yml.tt2 │ ├── 0031_test.yml.tt2 │ ├── 0032_test.yml.tt2 │ ├── 0033_test.yml.tt2 │ ├── 0034_test.yml.tt2 │ ├── 0038_test.yml.tt2 │ ├── 0039_test.yml.tt2 │ ├── 0040_test.yml.tt2 │ ├── 0041_test.yml.tt2 │ ├── 0042_test.yml.tt2 │ ├── 0043_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder02_test.yml.tt2 ├── invite_manager_2sec │ ├── 0007_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0023_test.yml.tt2 │ ├── 0025_test.yml.tt2 │ ├── 0026_test.yml.tt2 │ ├── 0029_test.yml.tt2 │ ├── 0031_test.yml.tt2 │ ├── 0032_test.yml.tt2 │ ├── 0035_test.yml.tt2 │ ├── 0037_test.yml.tt2 │ ├── 0039_test.yml.tt2 │ ├── 0041_test.yml.tt2 │ ├── 0042_test.yml.tt2 │ ├── 0043_test.yml.tt2 │ ├── 0044_test.yml.tt2 │ ├── 0045_test.yml.tt2 │ ├── 0046_test.yml.tt2 │ ├── 0050_test.yml.tt2 │ ├── 0051_test.yml.tt2 │ ├── 0052_test.yml.tt2 │ ├── 0053_test.yml.tt2 │ ├── 0054_test.yml.tt2 │ ├── 0055_test.yml.tt2 │ ├── callforward.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ ├── sipp_scenario_responder02_test.yml.tt2 │ ├── sipp_scenario_responder03.xml │ └── sipp_scenario_responder03_test.yml.tt2 ├── invite_shared_line │ ├── 0003_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ ├── sipp_scenario_responder01_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder02_test.yml.tt2 ├── invite_username_devid │ ├── 0002_test.yml.tt2 │ ├── 0003_test.yml.tt2 │ ├── 0004_test.yml.tt2 │ ├── 0005_test.yml.tt2 │ ├── 0006_test.yml.tt2 │ ├── 0007_test.yml.tt2 │ ├── 0008_test.yml.tt2 │ ├── 0009_test.yml.tt2 │ ├── 0010_test.yml.tt2 │ ├── 0011_test.yml.tt2 │ ├── 0012_test.yml.tt2 │ ├── 0013_test.yml.tt2 │ ├── 0014_test.yml.tt2 │ ├── 0015_test.yml.tt2 │ ├── 0016_test.yml.tt2 │ ├── 0017_test.yml.tt2 │ ├── 0018_test.yml.tt2 │ ├── 0019_test.yml.tt2 │ ├── 0020_test.yml.tt2 │ ├── 0021_test.yml.tt2 │ ├── 0022_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.xml │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.xml │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario_responder02.xml │ └── sipp_scenario_responder02_test.yml.tt2 ├── invite_xfer_blind_callee_immediat_rel │ ├── 0007_test.yml.tt2 │ ├── 0027_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── 0049_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── invite_xfer_blind_caller_immediat_rel │ ├── 0007_test.yml.tt2 │ ├── 0027_test.yml.tt2 │ ├── 0028_test.yml.tt2 │ ├── cdr_test.yml.tt2 │ ├── media181sec.pcap │ ├── prefs.json.tt2 │ ├── scenario.yml │ ├── sipp_scenario00.xml │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.xml │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.xml │ └── sipp_scenario_responder01_test.yml.tt2 ├── media181sec.pcap └── templates ├── set_config.sh ├── sounds ├── conference_first.wav ├── conference_greeting.wav ├── conference_join.wav ├── conference_joined.wav ├── conference_leave.wav ├── conference_waiting_music.wav └── no_sh.wav ├── t ├── Dockerfile ├── external │ └── Dockerfile └── testrunner └── tests ├── conftest.py ├── do_test_yaml_format.sh ├── fixtures ├── auth_fail │ ├── scenario_ids.yml │ ├── sipp_scenario00.msg │ └── sipp_scenario00_test.yml.tt2 ├── ce_network.yml ├── fail.json ├── incoming_foreign_dom │ ├── scenario_ids.yml │ ├── sipp_scenario00.msg │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.msg │ └── sipp_scenario_responder00_test.yml.tt2 ├── incoming_hih │ ├── scenario_ids.yml │ ├── sipp_scenario00.msg │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder01.msg │ └── sipp_scenario_responder01_test.yml.tt2 ├── incoming_peer │ ├── scenario_ids.yml │ ├── sipp_scenario00.msg │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.msg │ └── sipp_scenario_responder00_test.yml.tt2 ├── incoming_shared_line │ ├── 0023.json │ ├── 0023_test.yml.tt2 │ ├── scenario_ids.yml │ ├── sipp_scenario00.msg │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.msg │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.msg │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario_responder00.msg │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.msg │ ├── sipp_scenario_responder01_test.yml.tt2 │ ├── sipp_scenario_responder02.msg │ ├── sipp_scenario_responder02_test.yml.tt2 │ ├── sipp_scenario_responder03.msg │ └── sipp_scenario_responder03_test.yml.tt2 ├── invite_alias │ ├── 0002.json │ ├── 0002_test.yml.tt2 │ ├── 0003.json │ ├── 0003_test.yml.tt2 │ ├── 0006.json │ ├── 0006_test.yml.tt2 │ ├── 0017.json │ ├── 0017_test.yml.tt2 │ ├── 0018.json │ ├── 0018_test.yml.tt2 │ └── scenario_ids.yml ├── invite_alias_devid │ ├── scenario_ids.yml │ ├── sipp_scenario00.msg │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.msg │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario02.msg │ ├── sipp_scenario02_test.yml.tt2 │ ├── sipp_scenario_responder02.msg │ └── sipp_scenario_responder02_test.yml.tt2 ├── invite_manager_2sec │ ├── 0026.json │ ├── 0026_test.yml.tt2 │ └── scenario_ids.yml ├── invite_redirect_tel_uri │ ├── scenario_ids.yml │ ├── sipp_scenario00.msg │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario_responder00.msg │ ├── sipp_scenario_responder00_test.yml.tt2 │ ├── sipp_scenario_responder01.msg │ └── sipp_scenario_responder01_test.yml.tt2 ├── kct_config.yml ├── mix │ ├── scenario_ids.yml │ ├── sipp_scenario00.msg │ ├── sipp_scenario00_test.yml.tt2 │ ├── sipp_scenario01.msg │ ├── sipp_scenario01_test.yml.tt2 │ ├── sipp_scenario_responder00.msg │ └── sipp_scenario_responder00_test.yml.tt2 ├── pro_network.yml ├── pro_vagrant_network.yml ├── programs.py ├── scen_fail.yml ├── scenario_ids.yml ├── sip_in.txt ├── sip_out.yml ├── test_sip_in.yml └── test_sip_out.yml ├── test_check.py ├── test_detect_network.py ├── test_generate_test_tt2.py ├── test_generate_test_tt2_cfgt.py ├── test_generate_test_tt2_sipp.py └── test_yaml_format.py /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | .swp 3 | log 4 | result 5 | mem 6 | *.pyc 7 | scenario_ids.yml 8 | sipp_scenario_responder*_reg.xml 9 | *errors.log 10 | *.msg 11 | *.csv 12 | presence_*xml 13 | presence.sh 14 | apicert.pem 15 | .ngcpcfg_perms 16 | # templates 17 | *_test.yml 18 | prefs.json 19 | callforward.yml 20 | trusted.yml 21 | lnp.yml 22 | -------------------------------------------------------------------------------- /.gitreview: -------------------------------------------------------------------------------- 1 | [gerrit] 2 | host=gerrit.mgm.sipwise.com 3 | port=29418 4 | project=kamailio-config-tests 5 | -------------------------------------------------------------------------------- /bin/config_files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | GROUP=${1:-scenarios} 5 | BASE_DIR="${BASE_DIR:-/usr/share/kamailio-config-tests}" 6 | 7 | if ! [ -d "${BASE_DIR}/${GROUP}" ]; then 8 | echo "${BASE_DIR}/${GROUP} dir not found" >&2 9 | exit 1 10 | fi 11 | 12 | case ${GROUP} in 13 | scenarios) 14 | mkdir -p /etc/kamailio/stir/ 15 | cp "${BASE_DIR}/${GROUP}"/invite-peerout-stir.scenarios.test.*key \ 16 | /etc/kamailio/stir/ 17 | chown -R kamailio:kamailio /etc/kamailio/stir/ 18 | echo "$(date) - Added stir file keys" 19 | ;; 20 | *) 21 | echo "$(date) - Nothing to do here" 22 | ;; 23 | esac 24 | -------------------------------------------------------------------------------- /bin/lnav.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # shellcheck disable=SC2068 3 | lnav -c':filter-out cfgt ' -c':filter-out pv_headers ' -c':filter-out pvapi.c:1245' ${@} 4 | -------------------------------------------------------------------------------- /debian/.gitignore: -------------------------------------------------------------------------------- 1 | *.debhelper 2 | *.log 3 | *.substvars 4 | /.debhelper/ 5 | /debhelper-build-stamp 6 | /files 7 | /kamailio-config-tests/ 8 | -------------------------------------------------------------------------------- /debian/kamailio-config-tests.docs: -------------------------------------------------------------------------------- 1 | README 2 | -------------------------------------------------------------------------------- /debian/kamailio-config-tests.install: -------------------------------------------------------------------------------- 1 | bench.sh /usr/share/kamailio-config-tests/ 2 | bin/ /usr/share/kamailio-config-tests/ 3 | config.yml /usr/share/kamailio-config-tests/ 4 | get_results.sh /usr/share/kamailio-config-tests/ 5 | lib/ /usr/share/kamailio-config-tests/ 6 | run_tests.sh /usr/share/kamailio-config-tests/ 7 | scenarios/ /usr/share/kamailio-config-tests/ 8 | scenarios_lnp /usr/share/kamailio-config-tests/ 9 | scenarios_pbx /usr/share/kamailio-config-tests/ 10 | set_config.sh /usr/share/kamailio-config-tests/ 11 | sounds /usr/share/kamailio-config-tests/ 12 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | # Uncomment this to turn on verbose mode. 4 | #export DH_VERBOSE=1 5 | 6 | %: 7 | dh $@ 8 | 9 | override_dh_usrlocal: 10 | echo "skipping dh_usrlocal" 11 | 12 | override_dh_auto_test: 13 | echo "skipping dh_auto_test" 14 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /disabled/invite_181/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_181_callforward/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_callforward/0038_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - 'ACK sip:testuser1004@spce.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /disabled/invite_callforward/0041_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - 'SIP/2.0 100 Trying' 17 | - 'From: ;tag=[\w-]+' 18 | - 'To: ' 19 | - 'CSeq: \d+ INVITE' 20 | - 'Server: Sipwise NGCP PBX Server' 21 | - 'Content-Length: 0' 22 | sip_out: [] 23 | -------------------------------------------------------------------------------- /disabled/invite_callforward/0042_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - 'SIP/2.0 100 Trying' 17 | - 'From: ;tag=[\w-]+' 18 | - 'To: ' 19 | - 'CSeq: \d+ INVITE' 20 | - 'Server: Sipwise NGCP Application Server 8.X' 21 | - 'Content-Length: 0' 22 | sip_out: [] 23 | -------------------------------------------------------------------------------- /disabled/invite_callforward/0045_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - 'SIP/2.0 100 Trying' 17 | - 'From: ;tag=[\w-]+' 18 | - 'To: ' 19 | - 'CSeq: \d+ INVITE' 20 | - 'Server: Sipwise NGCP Application Server 8.X' 21 | - 'Content-Length: 0' 22 | sip_out: [] 23 | -------------------------------------------------------------------------------- /disabled/invite_callforward/0047_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_PREPARE_UA: 7 | - return|ROUTE_PREPARE_UA: 8 | - start|REPLY_ROUTE_NAT_CONTINUE: 9 | - start|ROUTE_EXIT: 10 | - start|ROUTE_RUNTIME: 11 | - return|ROUTE_RUNTIME: 12 | - exit|ROUTE_EXIT: 13 | sip_in: 14 | - 'SIP/2.0 100 Trying' 15 | - 'From: ;tag=[\w-]+' 16 | - 'To: ' 17 | - 'CSeq: \d+ INVITE' 18 | - 'Server: Sipwise NGCP PBX Server' 19 | - 'Content-Length: 0' 20 | sip_out: [] 21 | -------------------------------------------------------------------------------- /disabled/invite_callforward/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_callforward/prefs.json: -------------------------------------------------------------------------------- 1 | { 2 | "testuser1001@spce.test": { 3 | "colp_cf": true 4 | }, 5 | "testuser1004@spce.test": { 6 | "colp_cf": true 7 | } 8 | } -------------------------------------------------------------------------------- /disabled/invite_callforward_sources/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_callforward_timeout/callforward.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1001@invite-callforward-timeout.scenarios.test: 3 | destinations: 4 | destinations: 5 | - destination: sip:testuser1003@invite-callforward-timeout.scenarios.test 6 | priority: 0 7 | timeout: 5 8 | name: dest1001 9 | mappings: 10 | cft_ringtimeout: 3 11 | cft: 12 | - bnumberset: null 13 | destinationset: dest1001 14 | sourceset: null 15 | timeset: null 16 | enabled: true 17 | cfb: [] 18 | cfna: [] 19 | cfu: [] 20 | cfs: [] 21 | cfr: [] 22 | cfo: [] 23 | -------------------------------------------------------------------------------- /disabled/invite_callforward_timeout/media181sec.pcap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/disabled/invite_callforward_timeout/media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_callforward_timeout/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-callforward-timeout.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /disabled/invite_diversion_ko_allowed/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_diversion_ko_notallowed/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_diversion_ok_allowed/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_diversion_ok_notallowed/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_diversion_skip_ko_allowed_cli/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_diversion_skip_ko_notallowed_cli/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_diversion_skip_ok_allowed_cli/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_diversion_skip_ok_notallowed_cli/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_group_parallel/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'spce.test' 4 | source_cli: '4311002' 5 | destination_user: 'testgroup1010' 6 | destination_domain: 'spce.test' 7 | destination_user_dialed: '1010' 8 | destination_user_in: '43110021010' 9 | destination_user_out: 'testgroup1010' 10 | call_type: 'call' 11 | call_status: 'ok' 12 | call_code: '200' -------------------------------------------------------------------------------- /disabled/invite_group_parallel/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_group_serial/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'spce.test' 4 | source_cli: '4311002' 5 | destination_user: 'testgroup1010' 6 | destination_domain: 'spce.test' 7 | destination_user_dialed: '1010' 8 | destination_user_in: '43110021010' 9 | destination_user_out: 'testgroup1010' 10 | call_type: 'call' 11 | call_status: 'ok' 12 | call_code: '200' -------------------------------------------------------------------------------- /disabled/invite_group_serial/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_no_404_fallback/0004_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - 'ACK sip:4311003@spce.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /disabled/invite_no_404_fallback/0007_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - 'SIP/2.0 100 Connecting' 17 | - 'From: ;tag=[\w-]+' 18 | - 'To: ' 19 | - 'CSeq: \d+ INVITE' 20 | - 'Server: Sipwise NGCP Application' 21 | - 'Content-Length: 0' 22 | sip_out: [] 23 | -------------------------------------------------------------------------------- /disabled/invite_no_404_fallback/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - return|DEFAULT_ONREPLY: 4 | sip_in: 5 | - 'SIP/2.0 100 Trying' 6 | - 'From: ;tag=[\w-]+' 7 | - 'To: ' 8 | - 'CSeq: \d+ INVITE' 9 | - 'Server: Sipwise NGCP LB' 10 | - 'Content-Length: 0' 11 | sip_out: [] 12 | -------------------------------------------------------------------------------- /disabled/invite_no_404_fallback/0012_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ROUTE: 3 | - start|ROUTE_ENTRY: 4 | - return|ROUTE_ENTRY: 5 | - start|ROUTE_NET_INFO: 6 | - return|ROUTE_NET_INFO: 7 | - start|ROUTE_CHECK_TEL_URI: 8 | - return|ROUTE_CHECK_TEL_URI: 9 | - start|ROUTE_PRX_REQUEST: 10 | - start|ROUTE_INITVARS: 11 | - return|ROUTE_INITVARS: 12 | - start|ROUTE_LOCAL: 13 | - return|ROUTE_LOCAL: 14 | sip_in: 15 | - 'ACK sip:testuser1003@spce.test SIP/2.0' 16 | - 'From: ;tag=[\w-]+' 17 | - 'To: ;tag=[\w-]+' 18 | - 'CSeq: \d+ ACK' 19 | - 'Content-Length: 0' 20 | sip_out: [] 21 | -------------------------------------------------------------------------------- /disabled/invite_no_404_fallback/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'spce.test' 4 | source_cli: '4311002' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'spce.test' 7 | destination_user_dialed: 'testuser1003' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /disabled/invite_no_404_fallback/prefs.json: -------------------------------------------------------------------------------- 1 | { 2 | "testuser1003@spce.test": { 3 | "extended_dialing_mode": "extended_send_dialed", 4 | "no_404_fallback":1, 5 | "e164_to_ruri":1 6 | } 7 | } -------------------------------------------------------------------------------- /disabled/invite_offline_soundset/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-offline-soundset.scenarios.test": { 3 | "nat_sipping": "no", 4 | "sound_set": "invite_offline_soundset" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /disabled/invite_offline_soundset/soundsets.yml: -------------------------------------------------------------------------------- 1 | --- 2 | soundsets: 3 | 'invite_offline_soundset': 4 | reseller_id: 1 5 | sounds: 6 | callee_offline: 7 | filename: sounds/no_sh.wav 8 | loopplay: 'false' 9 | -------------------------------------------------------------------------------- /disabled/invite_peerout_emergency/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_peerout_emergency/peer.yml: -------------------------------------------------------------------------------- 1 | --- 2 | peer_00: 3 | contact: 4 | company: peer_00 5 | email: peer_00@host0.not 6 | contract: 7 | billing_profile_id: 1 8 | status: active 9 | type: sippeering 10 | groups: 11 | - name: peer_00_group 12 | priority: 1 13 | description: 14 | rules: 15 | - group_id: peer_00_group 16 | callee_prefix: "emergency" 17 | callee_pattern: '' 18 | caller_pattern: '^sip:.+@spce.test' 19 | description: "" 20 | hosts: 21 | - group_id: peer_00_group 22 | name: peer_00_host0 23 | ip: 127.0.2.1 24 | port: 51602 25 | host: 26 | transport: 1 27 | weight: 1 28 | -------------------------------------------------------------------------------- /disabled/invite_peerout_emergency/prefs.json: -------------------------------------------------------------------------------- 1 | { 2 | "testuser1002@spce.test": { 3 | "emergency_location_object": "7e 19 00 0d 64 30 90 11 f4 31 ff ff 43 68 65 6d 6e 69 74 7a 74 61 6c 73" 4 | }, 5 | "@spce.test": { 6 | "rewrite_rule_set": "rw_00" 7 | }, 8 | "peer_00_host0": { 9 | "rewrite_rule_set": "rw_00", 10 | "concurrent_max": 1 11 | } 12 | } -------------------------------------------------------------------------------- /disabled/invite_peerout_emergency/rewrite.yml: -------------------------------------------------------------------------------- 1 | rw_00: 2 | - direction: in 3 | field: callee 4 | match_pattern: '^([1-9][0-9]{2})$' 5 | replace_pattern: 'emergency_\1' 6 | priority: 1 7 | description: Emergency in 8 | - direction: out 9 | field: callee 10 | match_pattern: '^emergency_([1-9][0-9]+)$' 11 | replace_pattern: '\1' 12 | priority: 1 13 | description: Emergency out 14 | -------------------------------------------------------------------------------- /disabled/invite_perm_reg/0005_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - 'SIP/2.0 100 Trying' 17 | - 'From: ;tag=[\w-]+' 18 | - 'To: ' 19 | - 'CSeq: \d+ INVITE' 20 | - 'Server: Sipwise NGCP PBX' 21 | - 'Content-Length: 0' 22 | sip_out: [] 23 | -------------------------------------------------------------------------------- /disabled/invite_perm_reg/0006_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - 'SIP/2.0 100 Trying' 17 | - 'From: ;tag=[\w-]+' 18 | - 'To: ' 19 | - 'CSeq: \d+ INVITE' 20 | - 'Server: Sipwise NGCP Application' 21 | - 'Content-Length: 0' 22 | sip_out: [] 23 | -------------------------------------------------------------------------------- /disabled/invite_perm_reg/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'spce.test' 4 | source_cli: '4311002' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'spce.test' 7 | destination_user_dialed: '1003' 8 | destination_user_in: '43110021003' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' -------------------------------------------------------------------------------- /disabled/invite_perm_reg/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_perm_reg/registration.yml: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1003@spce.test: 3 | - nat: false 4 | contact: sip:127.3.0.5:8008 5 | socket: tcp:127.3.0.1:5074 6 | path: 7 | q: 0.5 8 | expires: 1977-07-26 23:47:37 9 | -------------------------------------------------------------------------------- /disabled/invite_queue/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'spce.test' 4 | source_cli: '4311002' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'spce.test' 7 | destination_user_dialed: '1003' 8 | destination_user_in: '43110021003' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' 12 | - source_user: 'testuser1002' 13 | source_domain: 'spce.test' 14 | source_cli: '4311002' 15 | destination_user: 'testuser1003' 16 | destination_domain: 'spce.test' 17 | destination_user_dialed: '1003' 18 | destination_user_in: '43110021003' 19 | call_type: 'call' 20 | call_status: 'ok' 21 | call_code: '200' 22 | -------------------------------------------------------------------------------- /disabled/invite_queue/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_queue/prefs.json: -------------------------------------------------------------------------------- 1 | { 2 | "testuser1003@spce.test": { 3 | "cloud_pbx_callqueue": true, 4 | "max_queue_length": 2, 5 | "queue_wrap_up_time": 1 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /disabled/invite_redirect_error/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_redirect_error_fork/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_redirect_error_from_peer/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_redirect_error_peer/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_redirect_error_peer/peer.yml: -------------------------------------------------------------------------------- 1 | --- 2 | peer_00: 3 | contact: 4 | company: peer_00 5 | email: peer_00@host0.not 6 | contract: 7 | billing_profile_id: 1 8 | status: active 9 | type: sippeering 10 | groups: 11 | - name: peer_00_group 12 | priority: 1 13 | description: 14 | rules: 15 | - group_id: peer_00_group 16 | callee_prefix: "" 17 | callee_pattern: '' 18 | caller_pattern: '^sip:.+@spce.test' 19 | description: "" 20 | hosts: 21 | - group_id: peer_00_group 22 | name: peer_00_host0 23 | ip: 127.0.2.1 24 | port: 51602 25 | host: 26 | transport: 1 27 | weight: 1 28 | -------------------------------------------------------------------------------- /disabled/invite_speeddial/0009_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - exit|REPLY_ROUTE_NAT: 5 | sip_in: 6 | - '^SIP/2.0 180 Ringing' 7 | - 'CSeq: 2 INVITE' 8 | - 'From: ' 9 | - 'From: ;tag=[\w-]+' 18 | - 'To: ' 19 | - 'CSeq: \d+ INVITE' 20 | - 'Content-Length: 0' 21 | sip_out: [] 22 | -------------------------------------------------------------------------------- /disabled/invite_username_devid_fulllookup/0012_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - 'SIP/2.0 100 Trying' 17 | - 'From: ;tag=[\w-]+' 18 | - 'To: ' 19 | - 'CSeq: \d+ INVITE' 20 | - 'Content-Length: 0' 21 | sip_out: [] 22 | -------------------------------------------------------------------------------- /disabled/invite_username_devid_fulllookup/0024_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - 'SIP/2.0 100 Trying' 17 | - 'From: ;tag=[\w-]+' 18 | - 'To: ' 19 | - 'CSeq: \d+ INVITE' 20 | - 'Content-Length: 0' 21 | sip_out: [] 22 | -------------------------------------------------------------------------------- /disabled/invite_username_devid_fulllookup/0025_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - return|DEFAULT_ONREPLY: 4 | sip_in: 5 | - 'SIP/2.0 100 Trying' 6 | - 'From: ;tag=[\w-]+' 7 | - 'To: ' 8 | - 'CSeq: \d+ INVITE' 9 | - 'Server: Sipwise NGCP LB' 10 | - 'Content-Length: 0' 11 | sip_out: [] 12 | -------------------------------------------------------------------------------- /disabled/invite_username_devid_fulllookup/0036_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - return|DEFAULT_ONREPLY: 4 | sip_in: 5 | - 'SIP/2.0 200 canceling' 6 | - 'From: ;tag=[\w-]+' 7 | - 'To: ;tag=[\w-]+' 8 | - 'CSeq: \d+ CANCEL' 9 | - 'Server: Sipwise NGCP LB' 10 | - 'Content-Length: 0' 11 | sip_out: [] 12 | -------------------------------------------------------------------------------- /disabled/invite_username_devid_fulllookup/0037_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - return|DEFAULT_ONREPLY: 4 | sip_in: 5 | - 'SIP/2.0 200 canceling' 6 | - 'From: ;tag=[\w-]+' 7 | - 'To: ;tag=[\w-]+' 8 | - 'CSeq: \d+ CANCEL' 9 | - 'Server: Sipwise NGCP LB' 10 | - 'Content-Length: 0' 11 | sip_out: [] 12 | -------------------------------------------------------------------------------- /disabled/invite_username_devid_fulllookup/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'spce.test' 4 | source_cli: '4311002' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'spce.test' 7 | destination_user_dialed: '1003' 8 | destination_user_in: '43110021003' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' -------------------------------------------------------------------------------- /disabled/invite_username_devid_fulllookup/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_username_devid_fulllookup/prefs.json: -------------------------------------------------------------------------------- 1 | { 2 | "testuser1003@spce.test": { 3 | "lookup_all_registrations": true 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /disabled/invite_xfer_attended_caller_immediat_rel/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_xfer_attended_caller_immediat_rel/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-xfer-attended-caller-immediat-rel.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /disabled/invite_xfer_blind_callee/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-xfer-blind-callee.scenarios-pbx.test' 4 | source_cli: '[% invite_xfer_blind_callee_scenarios_pbx_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-xfer-blind-callee.scenarios-pbx.test' 7 | destination_user_dialed: '[% invite_xfer_blind_callee_scenarios_pbx_test.testuser1003.phone_number %]' 8 | destination_user_in: '[% invite_xfer_blind_callee_scenarios_pbx_test.testuser1003.phone_number %]' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' 12 | -------------------------------------------------------------------------------- /disabled/invite_xfer_blind_callee/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_xfer_blind_callee/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-xfer-blind-callee.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /disabled/invite_xfer_blind_caller/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-xfer-blind-caller.scenarios-pbx.test' 4 | source_cli: '[% invite_xfer_blind_caller_scenarios_pbx_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-xfer-blind-caller.scenarios-pbx.test' 7 | destination_user_dialed: '[% invite_xfer_blind_caller_scenarios_pbx_test.testuser1003.phone_number %]' 8 | destination_user_in: '[% invite_xfer_blind_caller_scenarios_pbx_test.testuser1003.phone_number %]' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' 12 | -------------------------------------------------------------------------------- /disabled/invite_xfer_blind_caller/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /disabled/invite_xfer_blind_caller/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-xfer-blind-caller.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.black] 2 | target-version = ['py37'] 3 | line-length = 79 4 | include = '\.pyi?$' 5 | exclude = ''' 6 | /( 7 | \.git 8 | | \.tox 9 | )/ 10 | ''' 11 | -------------------------------------------------------------------------------- /scenarios/config_pro.yml: -------------------------------------------------------------------------------- 1 | --- 2 | pbx: 3 | enable: no 4 | -------------------------------------------------------------------------------- /scenarios/incoming_foreign_dom/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'external' 3 | source_domain: 'incoming-foreign-dom.external.test' 4 | source_cli: 'external' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'incoming-foreign-dom.scenarios.test' 7 | destination_user_dialed: '[% incoming_foreign_dom_scenarios_test.testuser1003.phone_number %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/incoming_foreign_dom/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/incoming_foreign_dom/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@incoming-foreign-dom.scenarios.test": { 3 | "nat_sipping": "no", 4 | "unauth_inbound_calls": true 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /scenarios/incoming_hih/callforward.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1003@incoming-hih.scenarios.test: 3 | destinations: 4 | destinations: 5 | - destination: sip:[% incoming_hih_scenarios_test.testuser1002.phone_number %]@incoming-hih.scenarios.test 6 | priority: 0 7 | timeout: 25 8 | name: dest1003 9 | mappings: 10 | cfu: 11 | - bnumberset: null 12 | destinationset: dest1003 13 | sourceset: null 14 | timeset: null 15 | enabled: true 16 | cfb: [] 17 | cfna: [] 18 | cft: [] 19 | cfs: [] 20 | cfr: [] 21 | cfo: [] 22 | -------------------------------------------------------------------------------- /scenarios/incoming_hih/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/incoming_hih/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@incoming-hih.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@incoming-hih.scenarios.test": { 6 | "outbound_history_info": "uprn" 7 | }, 8 | "testuser1003@incoming-hih.scenarios.test": { 9 | "clir": true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/incoming_peer/0012_test.yml.tt2: -------------------------------------------------------------------------------- 1 | # INVITE_OFFLINE scenario 2 | flow: 3 | - start|DEFAULT_ONREPLY: 4 | - start|REPLY_ROUTE_NAT: 5 | - start|ROUTE_ENTRY: 6 | - return|ROUTE_ENTRY: 7 | - start|ROUTE_APPLY_HEADER_RULES: 8 | - return|ROUTE_APPLY_HEADER_RULES: 9 | - start|ROUTE_PREPARE_UA: 10 | - return|ROUTE_PREPARE_UA: 11 | - start|REPLY_ROUTE_NAT_CONTINUE: 12 | - start|ROUTE_EXIT: 13 | - start|ROUTE_RUNTIME: 14 | - return|ROUTE_RUNTIME: 15 | - exit|ROUTE_EXIT: 16 | sip_in: 17 | - '^SIP/2.0 180 Ringing' 18 | - 'CSeq: 1 INVITE' 19 | sip_out: 20 | - [ 21 | '^SIP/2.0 180 Ringing', 22 | 'CSeq: 1 INVITE', 23 | '_:NOT:_P-Early-Media:' 24 | ] 25 | -------------------------------------------------------------------------------- /scenarios/incoming_peer/0025_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios/incoming_peer/0026_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | $dlg_var(pem_flags): 9 5 | - start|ROUTE_ENTRY: 6 | - return|ROUTE_ENTRY: 7 | - start|ROUTE_APPLY_HEADER_RULES: 8 | - return|ROUTE_APPLY_HEADER_RULES: 9 | - start|ROUTE_PREPARE_UA: 10 | - return|ROUTE_PREPARE_UA: 11 | - start|REPLY_ROUTE_NAT_CONTINUE: 12 | - start|ROUTE_EXIT: 13 | - start|ROUTE_RUNTIME: 14 | - return|ROUTE_RUNTIME: 15 | - exit|ROUTE_EXIT: 16 | sip_in: 17 | - 'SIP/2.0 180 Ringing' 18 | - 'CSeq: \d+ INVITE' 19 | sip_out: 20 | - [ 21 | 'SIP/2.0 180 Ringing', 22 | 'CSeq: \d+ INVITE', 23 | 'P-Early-Media: recvonly', 24 | ] 25 | -------------------------------------------------------------------------------- /scenarios/incoming_peer/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/incoming_peer/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@incoming-peer.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "peer_incoming_peer_host0": { 6 | "concurrent_max": 1 7 | }, 8 | "[% scenarios.3.responders.0.username %]@incoming-peer.scenarios.test": { 9 | "adm_block_in_list": ["0043*"] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/incoming_peer/sipp_scenario03_test.yml.tt2: -------------------------------------------------------------------------------- 1 | messages: 2 | - - 'SIP/2.0 100 Trying' 3 | - 'From: ;tag=[\w-]+' 4 | - 'To: ' 5 | - 'CSeq: \d+ INVITE' 6 | - 'Server: Sipwise NGCP LB' 7 | - 'Content-Length: 0' 8 | - - 'SIP/2.0 403 Blocked by Admin' 9 | - 'To: ;tag=[\w-]+' 10 | - 'CSeq: \d+ INVITE' 11 | - 'Content-Length: 0' -------------------------------------------------------------------------------- /scenarios/incoming_peer_anonymous/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: '[% scenarios.0.ip %]' 4 | source_cli: '[% scenarios.0.username %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'incoming-peer-anonymous.scenarios.test' 7 | destination_user_dialed: '[% incoming_peer_anonymous_scenarios_test.testuser1003.phone_number %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/incoming_peer_anonymous/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/incoming_peer_anonymous/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@incoming-peer-anonymous.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "peer_incoming_peer_anonymous_host0": { 6 | "concurrent_max": 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/incoming_peer_stir/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | # INVITE_OFFLINE scenario 2 | flow: 3 | - start|DEFAULT_ONREPLY: 4 | - start|REPLY_ROUTE_NAT: 5 | - start|ROUTE_ENTRY: 6 | - return|ROUTE_ENTRY: 7 | - start|ROUTE_APPLY_HEADER_RULES: 8 | - return|ROUTE_APPLY_HEADER_RULES: 9 | - start|ROUTE_PREPARE_UA: 10 | - return|ROUTE_PREPARE_UA: 11 | - start|REPLY_ROUTE_NAT_CONTINUE: 12 | - start|ROUTE_EXIT: 13 | - start|ROUTE_RUNTIME: 14 | - return|ROUTE_RUNTIME: 15 | - exit|ROUTE_EXIT: 16 | sip_in: 17 | - '^SIP/2.0 180 Ringing' 18 | - 'CSeq: 1 INVITE' 19 | sip_out: 20 | - [ 21 | '^SIP/2.0 180 Ringing', 22 | 'CSeq: 1 INVITE', 23 | ] 24 | -------------------------------------------------------------------------------- /scenarios/incoming_peer_stir/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/incoming_peer_stir/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@incoming-peer-stir.scenarios.test": { 3 | "nat_sipping": "no", 4 | "stir_check": true 5 | }, 6 | "peer_incoming_peer_stir_host0": { 7 | "concurrent_max": 1 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /scenarios/invite-peerout-stir.scenarios.test.key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIA8ULOfMdcBabIvsBC/ER5EiNS6IFkmwEDbynYsMs5cIoAoGCCqGSM49 3 | AwEHoUQDQgAE+sGr3KgBC6sKrM0AeHboLuoxScvZlecYmNNCaKjF4SS+IkksYdcT 4 | lF/cq1JxZb6AwIaBHlT2FqzGi0ydERMBHw== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /scenarios/invite-peerout-stir.scenarios.test.pubkey: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+sGr3KgBC6sKrM0AeHboLuoxScvZ 3 | lecYmNNCaKjF4SS+IkksYdcTlF/cq1JxZb6AwIaBHlT2FqzGi0ydERMBHw== 4 | -----END PUBLIC KEY----- 5 | -------------------------------------------------------------------------------- /scenarios/invite/0010_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite/cdr_tag_data_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - val: '[% scenarios.0.username %]' 3 | type: 'header=P-Preferred-Identity' -------------------------------------------------------------------------------- /scenarios/invite/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite.scenarios.test' 4 | source_cli: '[% invite_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite.scenarios.test' 7 | destination_user_dialed: 'testuser1003' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' 11 | -------------------------------------------------------------------------------- /scenarios/invite/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite/responder00_01.yml.tt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/scenarios/invite/responder00_01.yml.tt2 -------------------------------------------------------------------------------- /scenarios/invite_allowedcli_match/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-allowedcli-match.scenarios.test' 4 | source_cli: '[% invite_allowedcli_match_scenarios_test.testuser1002.phone_number %]99' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-allowedcli-match.scenarios.test' 7 | destination_user_dialed: 'testuser1003' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' 11 | -------------------------------------------------------------------------------- /scenarios/invite_allowedcli_match/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_allowedcli_match/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-allowedcli-match.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-allowedcli-match.scenarios.test": { 6 | "allowed_clis": [ 7 | "[% invite_allowedcli_match_scenarios_test.testuser1002.phone_number %]9*", 8 | "[% invite_allowedcli_match_scenarios_test.testuser1002.phone_number %]1*" 9 | ], 10 | "cli": [% invite_allowedcli_match_scenarios_test.testuser1002.phone_number %], 11 | "user_cli": 43122122, 12 | "inbound_upn": "from_display" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /scenarios/invite_allowedcli_match_alias/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-allowedcli-match-alias.scenarios.test' 4 | source_cli: '[% invite_allowedcli_match_alias_scenarios_test.testuser1002.alias_numbers.0.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-allowedcli-match-alias.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_allowedcli_match_alias/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_allowedcli_match_alias/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-allowedcli-match-alias.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-allowedcli-match-alias.scenarios.test": { 6 | "allowed_clis": [ 7 | "[% invite_allowedcli_match_alias_scenarios_test.testuser1002.phone_number %]9*", 8 | "[% invite_allowedcli_match_alias_scenarios_test.testuser1002.phone_number %]1*" 9 | ], 10 | "user_cli": [% extra_info.phone_numbers.0 %], 11 | "inbound_upn": "from_display", 12 | "extension_in_npn": true 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /scenarios/invite_allowedcli_nonmatch/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-allowedcli-nonmatch.scenarios.test' 4 | source_cli: '43122122' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-allowedcli-nonmatch.scenarios.test' 7 | destination_user_dialed: 'testuser1003' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_allowedcli_nonmatch/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_allowedcli_nonmatch/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-allowedcli-nonmatch.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-allowedcli-nonmatch.scenarios.test": { 6 | "allowed_clis": [ 7 | "[% invite_allowedcli_nonmatch_scenarios_test.testuser1002.phone_number %]9*", 8 | "[% invite_allowedcli_nonmatch_scenarios_test.testuser1002.phone_number %]1*" 9 | ], 10 | "cli": [% invite_allowedcli_nonmatch_scenarios_test.testuser1002.phone_number %], 11 | "user_cli": 43122122, 12 | "inbound_upn": "from_display" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /scenarios/invite_allowedcli_nonmatch_reject/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-allowedcli-nonmatch-reject.scenarios.test' 4 | source_cli: '[% invite_allowedcli_nonmatch_reject_scenarios_test.testuser1002.phone_number %]22' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-allowedcli-nonmatch-reject.scenarios.test' 7 | destination_user_dialed: 'testuser1003' 8 | call_type: 'call' 9 | call_status: 'other' 10 | call_code: '403' -------------------------------------------------------------------------------- /scenarios/invite_allowedcli_nonmatch_reject/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-allowedcli-nonmatch-reject.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-allowedcli-nonmatch-reject.scenarios.test": { 6 | "allowed_clis": [ 7 | "[% invite_allowedcli_nonmatch_reject_scenarios_test.testuser1002.phone_number %]9*", 8 | "[% invite_allowedcli_nonmatch_reject_scenarios_test.testuser1002.phone_number %]1*" 9 | ], 10 | "cli": [% invite_allowedcli_nonmatch_reject_scenarios_test.testuser1002.phone_number %], 11 | "user_cli": 43122122, 12 | "inbound_upn": "from_display", 13 | "allowed_clis_reject_policy": "reject" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /scenarios/invite_allowip/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-allowip.scenarios.test' 4 | source_cli: '0' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-allowip.scenarios.test' 7 | destination_user_dialed: 'testuser1003' 8 | call_type: 'call' 9 | call_status: 'other' 10 | call_code: '403' -------------------------------------------------------------------------------- /scenarios/invite_allowip/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-allowip.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-allowip.scenarios.test": { 6 | "allowed_ips": [ 7 | "1.2.3.4" 8 | ], 9 | "cli": [% invite_allowip_scenarios_test.testuser1002.phone_number %] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/invite_allowip_soundset/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-allowip-soundset.scenarios.test": { 3 | "nat_sipping": "no", 4 | "sound_set": "invite_allowip_soundset" 5 | }, 6 | "testuser1002@invite-allowip-soundset.scenarios.test": { 7 | "allowed_ips": [ 8 | "1.2.3.4" 9 | ], 10 | "cli": [% invite_allowip_soundset_scenarios_test.testuser1002.phone_number %] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /scenarios/invite_allowip_soundset/soundsets.yml: -------------------------------------------------------------------------------- 1 | --- 2 | soundsets: 3 | 'invite_allowip_soundset': 4 | reseller_id: 1 5 | sounds: 6 | unauth_caller_ip: 7 | filename: sounds/no_sh.wav 8 | loopplay: 'false' 9 | -------------------------------------------------------------------------------- /scenarios/invite_announce_before_call/0018_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_announce_before_call/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_announce_before_call/soundsets.yml: -------------------------------------------------------------------------------- 1 | --- 2 | soundsets: 3 | 'invite_announce_before_call': 4 | reseller_id: 1 5 | sounds: 6 | announce_before_call_setup: 7 | filename: sounds/no_sh.wav 8 | loopplay: 'false' 9 | -------------------------------------------------------------------------------- /scenarios/invite_anonymous/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'anonymous' 3 | source_domain: 'invite-anonymous.scenarios.test' 4 | source_cli: '[% invite_anonymous_scenarios_test.testuser1002.phone_number %]' 5 | source_clir: '1' 6 | destination_user: 'testuser1003' 7 | destination_domain: 'invite-anonymous.scenarios.test' 8 | destination_user_dialed: 'testuser1003' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' 12 | -------------------------------------------------------------------------------- /scenarios/invite_anonymous/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_anonymous/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-anonymous.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-anonymous.scenarios.test": { 6 | "cli": [% invite_anonymous_scenarios_test.testuser1002.phone_number %] 7 | } 8 | } -------------------------------------------------------------------------------- /scenarios/invite_blockin_blst/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-blockin-blst.scenarios.test' 4 | source_cli: '[% invite_blockin_blst_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-blockin-blst.scenarios.test' 7 | destination_user_dialed: '[% invite_blockin_blst_scenarios_test.testuser1003.phone_number %]' 8 | call_type: 'call' 9 | call_status: 'other' 10 | call_code: '403' -------------------------------------------------------------------------------- /scenarios/invite_blockin_blst/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-blockin-blst.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1003@invite-blockin-blst.scenarios.test": { 6 | "block_in_list": [ 7 | "[% invite_blockin_blst_scenarios_test.testuser1001.phone_number %]", 8 | "[% invite_blockin_blst_scenarios_test.testuser1002.phone_number %]" 9 | ] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/invite_blockin_clir/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-blockin-clir.scenarios.test' 4 | source_cli: '[% invite_blockin_clir_scenarios_test.testuser1002.phone_number %]' 5 | source_clir: '1' 6 | destination_user: 'testuser1003' 7 | destination_domain: 'invite-blockin-clir.scenarios.test' 8 | destination_user_dialed: '[% invite_blockin_clir_scenarios_test.testuser1003.phone_number %]' 9 | call_type: 'call' 10 | call_status: 'other' 11 | call_code: '403' -------------------------------------------------------------------------------- /scenarios/invite_blockin_clir/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-blockin-clir.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-blockin-clir.scenarios.test": { 6 | "clir": true 7 | }, 8 | "testuser1003@invite-blockin-clir.scenarios.test": { 9 | "block_in_list": [ 10 | "[% invite_blockin_clir_scenarios_test.testuser1001.phone_number %]" 11 | ], 12 | "block_in_clir": true 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /scenarios/invite_blockin_wlst/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-blockin-wlst.scenarios.test' 4 | source_cli: '[% invite_blockin_wlst_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-blockin-wlst.scenarios.test' 7 | destination_user_dialed: '[% invite_blockin_wlst_scenarios_test.testuser1003.phone_number %]' 8 | call_type: 'call' 9 | call_status: 'other' 10 | call_code: '403' -------------------------------------------------------------------------------- /scenarios/invite_blockin_wlst/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-blockin-wlst.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1003@invite-blockin-wlst.scenarios.test": { 6 | "block_in_list": [ 7 | "[% invite_blockin_wlst_scenarios_test.testuser1001.phone_number %]" 8 | ], 9 | "block_in_mode": true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/invite_blockout_blst/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-blockout-blst.scenarios.test' 4 | source_cli: '[% invite_blockout_blst_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-blockout-blst.scenarios.test' 7 | destination_user_dialed: '[% invite_blockout_blst_scenarios_test.testuser1003.phone_number %]' 8 | call_type: 'call' 9 | call_status: 'other' 10 | call_code: '403' 11 | duration: '0' -------------------------------------------------------------------------------- /scenarios/invite_blockout_blst/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-blockout-blst.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-blockout-blst.scenarios.test": { 6 | "block_out_list": [ 7 | "[% invite_blockout_blst_scenarios_test.testuser1003.phone_number %]", 8 | "[% invite_blockout_blst_scenarios_test.testuser1001.phone_number %]" 9 | ] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/invite_blockout_ncos/ncos.yml: -------------------------------------------------------------------------------- 1 | ncos_test_00: 2 | data: 3 | mode: blacklist 4 | local_ac: 0 5 | description: test ncos level 6 | reseller_id: 1 7 | patterns: 8 | - pattern: '^431' 9 | description: block local area calls 10 | -------------------------------------------------------------------------------- /scenarios/invite_blockout_ncos/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-blockout-ncos.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-blockout-ncos.scenarios.test": { 6 | "ncos": "ncos_test_00", 7 | "adm_ncos_exceptions": ["[% invite_blockout_ncos_scenarios_test.testuser1004.phone_number %]"] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /scenarios/invite_blockout_pinoverride/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-blockout-pinoverride.scenarios.test' 4 | source_cli: '[% invite_blockout_pinoverride_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-blockout-pinoverride.scenarios.test' 7 | destination_user_dialed: '\*80\*444[% invite_blockout_pinoverride_scenarios_test.testuser1003.phone_number %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_blockout_pinoverride/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_blockout_pinoverride/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-blockout-pinoverride.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-blockout-pinoverride.scenarios.test": { 6 | "block_out_list": [ 7 | "[% invite_blockout_pinoverride_scenarios_test.testuser1001.phone_number %]", 8 | "[% invite_blockout_pinoverride_scenarios_test.testuser1003.phone_number %]" 9 | ], 10 | "block_out_override_pin": 444, 11 | "cli": [% invite_blockout_pinoverride_scenarios_test.testuser1002.phone_number %] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /scenarios/invite_blockout_wlst/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-blockout-wlst.scenarios.test' 4 | source_cli: '[% invite_blockout_wlst_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-blockout-wlst.scenarios.test' 7 | destination_user_dialed: '[% invite_blockout_wlst_scenarios_test.testuser1003.phone_number %]' 8 | call_type: 'call' 9 | call_status: 'other' 10 | call_code: '403' -------------------------------------------------------------------------------- /scenarios/invite_blockout_wlst/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-blockout-wlst.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-blockout-wlst.scenarios.test": { 6 | "block_out_list": [ 7 | "[% invite_blockout_wlst_scenarios_test.testuser1001.phone_number %]", 8 | "[% invite_blockout_wlst_scenarios_test.testuser1002.phone_number %]" 9 | ], 10 | "block_out_mode": true 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /scenarios/invite_callee_bye/0004_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - 'ACK sip:[% scenarios.0.responders.0.username %]@invite-callee-bye.scenarios.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios/invite_callee_bye/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios/invite_callee_bye/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-callee-bye.scenarios.test' 4 | source_cli: '[% invite_redirect_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-callee-bye.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_callee_bye/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_callee_bye/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-callee-bye.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_callforward/0044_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_PREPARE_UA: 7 | - return|ROUTE_PREPARE_UA: 8 | - start|REPLY_ROUTE_NAT_CONTINUE: 9 | - start|ROUTE_EXIT: 10 | - start|ROUTE_RUNTIME: 11 | - return|ROUTE_RUNTIME: 12 | - exit|ROUTE_EXIT: 13 | sip_in: 14 | - '^SIP/2.0 180 Ringing' 15 | - 'CSeq: \d+ INVITE' 16 | - 'Contact: ' 17 | sip_out: 18 | - [ 19 | '^SIP/2.0 180 Ringing', 20 | 'CSeq: \d+ INVITE', 21 | 'Contact: ', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_callforward/0045_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | 'P-Out-Socket: udp:[% server_ip %]:5060', 23 | ] 24 | -------------------------------------------------------------------------------- /scenarios/invite_callforward/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_callforward/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-callforward.scenarios.test": { 3 | "nat_sipping": "no", 4 | "ua_reject_missing" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /scenarios/invite_callforward_but_callee_locked_cfna/0004_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - '^ACK sip:[% scenarios.0.responders.0.username %]@invite-callforward-but-callee-locked-cfna.scenarios.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios/invite_callforward_but_callee_locked_cfna/callforward.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1001@invite-callforward-but-callee-locked-cfna.scenarios.test: 3 | destinations: 4 | destinations: 5 | - destination: sip:[% invite_callforward_but_callee_locked_cfna_scenarios_test.testuser1002.phone_number %]@invite-callforward-but-callee-locked-cfna.scenarios.test 6 | priority: 1 7 | timeout: 5 8 | name: dest1001 9 | mappings: 10 | cfu: [] 11 | cfb: [] 12 | cfna: 13 | - bnumberset: null 14 | destinationset: dest1001 15 | sourceset: null 16 | timeset: null 17 | enabled: true 18 | cft: [] 19 | cfs: [] 20 | cfr: [] 21 | cfo: [] 22 | -------------------------------------------------------------------------------- /scenarios/invite_callforward_but_callee_locked_cfna/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_callforward_but_callee_locked_cfna/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-callforward-but-callee-locked-cfna.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.responders.0.username %]@invite-callforward-but-callee-locked-cfna.scenarios.test": { 6 | "lock": 2 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/invite_callforward_but_callee_locked_cfu/0002_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - '^ACK sip:[% scenarios.0.responders.0.username %]@invite-callforward-but-callee-locked-cfu.scenarios.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios/invite_callforward_but_callee_locked_cfu/callforward.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1001@invite-callforward-but-callee-locked-cfu.scenarios.test: 3 | destinations: 4 | destinations: 5 | - destination: sip:[% invite_callforward_but_callee_locked_cfu_scenarios_test.testuser1002.phone_number %]@invite-callforward-but-callee-locked-cfu.scenarios.test 6 | priority: 1 7 | timeout: 5 8 | name: dest1001 9 | mappings: 10 | cfu: 11 | - bnumberset: null 12 | destinationset: dest1001 13 | sourceset: null 14 | timeset: null 15 | enabled: true 16 | cfb: [] 17 | cfna: [] 18 | cft: [] 19 | cfs: [] 20 | cfr: [] 21 | cfo: [] -------------------------------------------------------------------------------- /scenarios/invite_callforward_but_callee_locked_cfu/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_callforward_but_callee_locked_cfu/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-callforward-but-callee-locked-cfu.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.responders.0.username %]@invite-callforward-but-callee-locked-cfu.scenarios.test": { 6 | "lock": 2 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/invite_callforward_cfna/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_callforward_cfna/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-callforward-cfna.scenarios.test": { 3 | "nat_sipping": "no", 4 | "ua_reject_missing" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /scenarios/invite_callforward_cfr/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_callforward_cfr/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-callforward-cfr.scenarios.test": { 3 | "nat_sipping": "no", 4 | "ua_reject_missing" : 1 5 | }, 6 | "[% scenarios.0.responders.0.username %]@invite-callforward-cfr.scenarios.test": { 7 | "rerouting_mode": "whitelist", 8 | "rerouting_codes": [500,503] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /scenarios/invite_callforward_use_redirection/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_callforward_use_redirection/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-callforward-use-redirection.scenarios.test": { 3 | "nat_sipping": "no", 4 | "ua_reject_missing" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /scenarios/invite_concurrent_max/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_concurrent_max/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-concurrent-max.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1003@invite-concurrent-max.scenarios.test": { 6 | "concurrent_max": 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/invite_concurrent_max_out/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_concurrent_max_out/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-concurrent-max-out.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-concurrent-max-out.scenarios.test": { 6 | "concurrent_max": 2, 7 | "concurrent_max_out": 1 8 | }, 9 | "peer_00_invite_concurrent_max_out_host0": { 10 | "concurrent_max": 10 11 | }, 12 | "peer_01_invite_concurrent_max_out_host0": { 13 | "concurrent_max": 10 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /scenarios/invite_concurrent_max_out_per_account/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_concurrent_max_out_per_account/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-concurrent-max-out-per-account.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-concurrent-max-out-per-account.scenarios.test": { 6 | "concurrent_max_out_per_account": 1 7 | }, 8 | "peer_00_invite_concurrent_max_out_per_account_host0": { 9 | "concurrent_max": 10 10 | }, 11 | "peer_01_invite_concurrent_max_out_per_account_host1": { 12 | "concurrent_max": 10 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /scenarios/invite_concurrent_max_per_account/0012_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_concurrent_max_per_account/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_concurrent_max_per_account/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-concurrent-max-per-account.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1003@invite-concurrent-max-per-account.scenarios.test": { 6 | "concurrent_max_per_account": 2 7 | }, 8 | "testuser1004@invite-concurrent-max-per-account.scenarios.test": { 9 | "concurrent_max_per_account": 2 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/invite_conference_update/callforward.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1001@invite-conference-update.scenarios.test: 3 | destinations: 4 | destinations: 5 | - destination: conference 6 | priority: 0 7 | timeout: 5 8 | name: dest1001 9 | mappings: 10 | cfu: 11 | - bnumberset: null 12 | destinationset: dest1001 13 | sourceset: null 14 | timeset: null 15 | enabled: true 16 | cfb: [] 17 | cfna: [] 18 | cft: [] 19 | cfs: [] 20 | cfr: [] 21 | cfo: [] 22 | -------------------------------------------------------------------------------- /scenarios/invite_conference_update/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_conference_update/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-conference-update.scenarios.test": { 3 | "nat_sipping": "no", 4 | "sound_set": "invite_conference_update" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /scenarios/invite_emergency/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | cdr: 3 | - source_user: '[% scenarios.0.username %]' 4 | source_domain: 'invite-emergency.scenarios.test' 5 | source_cli: '[% invite_emergency_scenarios_test.testuser1002.phone_number %]' 6 | destination_user: 'emergency_112' 7 | destination_domain: '[% scenarios.0.responders.0.ip %]' 8 | destination_user_dialed: '112' 9 | destination_user_out: 'E1112' 10 | call_type: 'call' 11 | call_status: 'ok' 12 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_emergency/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_emergency/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-emergency.scenarios.test": { 3 | "nat_sipping": "no", 4 | "emergency_prefix": "E", 5 | "rewrite_rule_set": "rw_invite_emergency_00" 6 | }, 7 | "peer_invite_emergency_host0": { 8 | "rewrite_rule_set": "rw_invite_emergency_01", 9 | "concurrent_max": 0 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/invite_emergency/rewrite.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rw_invite_emergency_00: 3 | - direction: in 4 | field: callee 5 | match_pattern: '^(911|112)$' 6 | replace_pattern: 'emergency_\1' 7 | priority: 1 8 | description: Tag Emergency Numbers 9 | rw_invite_emergency_01: 10 | - direction: out 11 | field: callee 12 | match_pattern: '^emergency_(.+)$' 13 | replace_pattern: '${caller_emergency_prefix}${caller_ac}\1' 14 | priority: 1 15 | description: Normalize Emergency Numbers 16 | -------------------------------------------------------------------------------- /scenarios/invite_emergency_cirpack/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | cdr: 3 | - source_user: '[% scenarios.0.username %]' 4 | source_domain: 'invite-emergency-cirpack.scenarios.test' 5 | source_cli: '[% invite_emergency_cirpack_scenarios_test.testuser1002.phone_number %]' 6 | destination_user: 'emergency_112' 7 | destination_domain: '[% scenarios.0.responders.0.ip %]' 8 | destination_user_dialed: '112' 9 | destination_user_out: 'E1112' 10 | call_type: 'call' 11 | call_status: 'ok' 12 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_emergency_cirpack/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_emergency_cirpack/pro.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/scenarios/invite_emergency_cirpack/pro.yml -------------------------------------------------------------------------------- /scenarios/invite_emergency_cirpack/rewrite.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rw_00_invite_emergency_cirpack: 3 | - direction: in 4 | field: callee 5 | match_pattern: '^(911|112)$' 6 | replace_pattern: 'emergency_\1' 7 | priority: 1 8 | description: Tag Emergency Numbers 9 | rw_01_invite_emergency_cirpack: 10 | - direction: out 11 | field: callee 12 | match_pattern: '^emergency_(.+)$' 13 | replace_pattern: '${caller_emergency_prefix}${caller_ac}\1' 14 | priority: 1 15 | description: Normalize Emergency Numbers 16 | -------------------------------------------------------------------------------- /scenarios/invite_emergency_pidflo/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | cdr: 3 | - source_user: 'testuser1002' 4 | source_domain: 'invite-emergency-pidflo.scenarios.test' 5 | source_cli: '[% invite_emergency_pidflo_scenarios_test.testuser1002.phone_number %]' 6 | destination_user: 'emergency_112' 7 | destination_domain: '[% scenarios.0.responders.0.ip %]' 8 | destination_user_dialed: '112' 9 | destination_user_out: 'E1112' 10 | call_type: 'call' 11 | call_status: 'ok' 12 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_emergency_pidflo/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_emergency_pidflo/pro.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/scenarios/invite_emergency_pidflo/pro.yml -------------------------------------------------------------------------------- /scenarios/invite_emergency_pidflo/rewrite.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rw_00_invite_emergency_pidflo: 3 | - direction: in 4 | field: callee 5 | match_pattern: '^(911|112)$' 6 | replace_pattern: 'emergency_\1' 7 | priority: 1 8 | description: Tag Emergency Numbers 9 | rw_01_invite_emergency_pidflo: 10 | - direction: out 11 | field: callee 12 | match_pattern: '^emergency_(.+)$' 13 | replace_pattern: '${caller_emergency_prefix}${caller_ac}\1' 14 | priority: 1 15 | description: Normalize Emergency Numbers 16 | -------------------------------------------------------------------------------- /scenarios/invite_force_inbound_calls_to_peer/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-force-inbound-calls-to-peer.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.responders.0.username %]@invite-force-inbound-calls-to-peer.scenarios.test": { 6 | "force_inbound_calls_to_peer":"force_offline" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/invite_force_outbound_calls_to_peer/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-force-outbound-calls-to-peer.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-force-outbound-calls-to-peer.scenarios.test": { 6 | "force_outbound_calls_to_peer":"force" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/invite_foreign_dom/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_foreign_dom/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-foreign-dom.scenarios.test' 4 | source_cli: '[% invite_foreign_dom_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-foreign-dom.external.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_foreign_dom/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_foreign_dom/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-foreign-dom.scenarios.test": { 3 | "nat_sipping": "no", 4 | "allow_out_foreign_domain": true 5 | } 6 | } -------------------------------------------------------------------------------- /scenarios/invite_fritz_prefix_removal/emergency.yml: -------------------------------------------------------------------------------- 1 | emc_test: 2 | reseller_id: 1 3 | mappings: 4 | - suffix: emcsuffix 5 | code: 110 6 | prefix: emcprefix 7 | -------------------------------------------------------------------------------- /scenarios/invite_fritz_prefix_removal/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_fritz_prefix_removal/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-fritz-prefix-removal.scenarios.test": { 3 | "nat_sipping": "no", 4 | "emergency_prefix": "emergency_", 5 | "rewrite_rule_set": "rw_invite_fritz_emergency_00", 6 | "emergency_mapping_container_id": [% emergencymapping.emc_test.id %] 7 | }, 8 | "peer_invite_fritz_prefix_removal_host0": { 9 | "rewrite_rule_set": "rw_invite_fritz_emergency_01", 10 | "concurrent_max": 0 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /scenarios/invite_fritz_prefix_removal/rewrite.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rw_invite_fritz_emergency_00: 3 | - direction: in 4 | field: callee 5 | match_pattern: '^(911|118|110)$' 6 | replace_pattern: 'emergency_\1' 7 | priority: 1 8 | description: Tag Emergency Numbers 9 | rw_invite_fritz_emergency_01: 10 | - direction: out 11 | field: callee 12 | match_pattern: '^emergency_(.+)$' 13 | replace_pattern: '${caller_emergency_prefix}${caller_ac}\1' 14 | priority: 1 15 | description: Normalize Emergency Numbers 16 | 17 | -------------------------------------------------------------------------------- /scenarios/invite_hdr/0010_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_hdr/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-hdr.scenarios.test' 4 | source_cli: '[% invite_hdr_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-hdr.scenarios.test' 7 | destination_user_dialed: 'testuser1003' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_hdr/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_hdr/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-hdr.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_hm/0010_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_hm/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_hm/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-hm.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-hm.scenarios.test": { 6 | "header_rule_set": "hm_invite_hm_00" 7 | }, 8 | "testuser1004@invite-hm.scenarios.test": { 9 | "header_rule_set": "hm_invite_hm_02" 10 | }, 11 | "testuser1003@invite-hm.scenarios.test": { 12 | "header_rule_set": "hm_invite_hm_01" 13 | } 14 | } -------------------------------------------------------------------------------- /scenarios/invite_hm/pro.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/scenarios/invite_hm/pro.yml -------------------------------------------------------------------------------- /scenarios/invite_hm_callforward/callforward.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1001@invite-hm-callforward.scenarios.test: 3 | destinations: 4 | destinations: 5 | - destination: sip:[% invite_hm_callforward_scenarios_test.testuser1003.phone_number %]@invite-hm-callforward.scenarios.test 6 | priority: 0 7 | timeout: 10 8 | name: dest1001 9 | mappings: 10 | cfu: 11 | - bnumberset: null 12 | destinationset: dest1001 13 | sourceset: null 14 | timeset: null 15 | enabled: true 16 | cfb: [] 17 | cfna: [] 18 | cft: [] 19 | cfs: [] 20 | cfr: [] 21 | cfo: [] 22 | -------------------------------------------------------------------------------- /scenarios/invite_hm_callforward/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_hm_callforward/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-hm-callforward.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1002@invite-hm-callforward.scenarios.test": { 6 | "header_rule_set": "hm_invite_hm_cf_00" 7 | }, 8 | "testuser1003@invite-hm-callforward.scenarios.test": { 9 | "header_rule_set": "hm_invite_hm_cf_01" 10 | }, 11 | "testuser1001@invite-hm-callforward.scenarios.test": { 12 | "header_rule_set": "hm_invite_hm_cf_02" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /scenarios/invite_hm_callforward/pro.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/scenarios/invite_hm_callforward/pro.yml -------------------------------------------------------------------------------- /scenarios/invite_hm_peerout/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-hm-peerout.scenarios.test' 4 | source_cli: '[% invite_hm_peerout_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: '[% scenarios.0.responders.0.ip %]' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_hm_peerout/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_hm_peerout/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-hm-peerout.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.username %]@invite-hm-peerout.scenarios.test": { 6 | "header_rule_set": "hm_invite_hm_peerout_00" 7 | }, 8 | "peer_invite_hm_peerout_host0": { 9 | "concurrent_max": 1, 10 | "header_rule_set": "hm_invite_hm_peerout_01" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /scenarios/invite_hm_peerout/pro.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/scenarios/invite_hm_peerout/pro.yml -------------------------------------------------------------------------------- /scenarios/invite_ignore_allowip/0010_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_ignore_allowip/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-ignore-allowip.scenarios.test' 4 | source_cli: '[% invite_ignore_allowip_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-ignore-allowip.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_ignore_allowip/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_ignore_allowip/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-ignore-allowip.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.username %]@invite-ignore-allowip.scenarios.test": { 6 | "allowed_ips": [ 7 | "1.2.3.4" 8 | ], 9 | "ignore_allowed_ips": true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/invite_lateoam/0010_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_lateoam/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-lateoam.scenarios.test' 4 | source_cli: '[% invite_lateoam_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-lateoam.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_lateoam/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_lateoam/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-lateoam.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_add/0015_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Content-Length: 0' 16 | sip_out: [] 17 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_add/0023_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - return|DEFAULT_ONREPLY: 4 | sip_in: 5 | - 'SIP/2.0 200 canceling' 6 | - 'From: ;tag=[\w-]+' 7 | - 'To: ;tag=[\w-]+' 8 | - 'CSeq: \d+ CANCEL' 9 | - 'Content-Length: 0' 10 | sip_out: [] 11 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_add/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-locmap-add.scenarios.test' 4 | source_cli: '[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-locmap-add.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | destination_user_in: '[% scenarios.0.responders.0.username %]' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_locmap_add/locmap.yml: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1001@invite-locmap-add.scenarios.test: 3 | - caller_pattern: .+ 4 | callee_pattern: .+ 5 | enabled: 1 6 | location: sip:testuser1002@invite-locmap-add.scenarios.test 7 | mode: add 8 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_add/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_locmap_add/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-locmap-add.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_forward/0004_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - 'ACK sip:testuser1001@invite-locmap-forward.scenarios.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_forward/locmap.yml: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1001@invite-locmap-forward.scenarios.test: 3 | - caller_pattern: .+ 4 | callee_pattern: .+ 5 | enabled: 1 6 | mode: forward 7 | to_username: testuser1002 8 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_forward/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_locmap_forward/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-locmap-forward.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_offline/0004_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - 'ACK sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_offline/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-locmap-offline.scenarios.test' 4 | source_cli: '[% invite_locmap_offline_scenarios_test.testuser1000.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-locmap-offline.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_locmap_offline/locmap.yml: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1001@invite-locmap-offline.scenarios.test: 3 | - caller_pattern: .+ 4 | callee_pattern: .+ 5 | enabled: 1 6 | location: sip:testuser1002@invite-locmap-offline.scenarios.test 7 | mode: offline 8 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_offline/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_locmap_offline/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-locmap-offline.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_replace/0004_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - 'ACK sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_replace/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-locmap-replace.scenarios.test' 4 | source_cli: '[% invite_locmap_replace_scenarios_test.testuser1000.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-locmap-replace.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_locmap_replace/locmap.yml: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1001@invite-locmap-replace.scenarios.test: 3 | - caller_pattern: .+ 4 | callee_pattern: .+ 5 | enabled: 1 6 | location: sip:testuser1002@invite-locmap-replace.scenarios.test 7 | mode: replace 8 | -------------------------------------------------------------------------------- /scenarios/invite_locmap_replace/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_locmap_replace/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-locmap-replace.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_no_refer/0010_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_no_refer/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-no-refer.scenarios.test' 4 | source_cli: '[% invite_no_refer_scenarios_test.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-no-refer.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_no_refer/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_no_refer/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-no-refer.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_offline/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-offline.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_offline_deregistered/cdr_tag_data_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - val: '[% scenarios.0.username %]' 3 | type: 'header=P-Preferred-Identity' -------------------------------------------------------------------------------- /scenarios/invite_offline_deregistered/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-offline-deregistered.scenarios.test' 4 | source_cli: '[% invite_offline_deregistered_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-offline-deregistered.scenarios.test' 7 | destination_user_dialed: 'testuser1003' 8 | call_type: 'call' 9 | call_status: 'noanswer' 10 | call_code: '480' -------------------------------------------------------------------------------- /scenarios/invite_offline_deregistered/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_offline_deregistered/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-offline-deregistered.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_offline_deregistered/responder00_01.yml.tt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/scenarios/invite_offline_deregistered/responder00_01.yml.tt2 -------------------------------------------------------------------------------- /scenarios/invite_outgoing_lock/0002_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - '^ACK sip:[% invite_outgoing_lock_scenarios_test.testuser1001.phone_number %]@invite-outgoing-lock.scenarios.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios/invite_outgoing_lock/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-outgoing-lock.scenarios.test' 4 | source_cli: '[% invite_outgoing_lock_scenarios_test.testuser1000.phone_number %]' 5 | destination_user: '[% invite_outgoing_lock_scenarios_test.testuser1001.phone_number %]' 6 | destination_domain: 'invite-outgoing-lock.scenarios.test' 7 | destination_user_dialed: '[% invite_outgoing_lock_scenarios_test.testuser1001.phone_number %]' 8 | call_type: 'call' 9 | call_status: 'other' 10 | call_code: '403' 11 | -------------------------------------------------------------------------------- /scenarios/invite_outgoing_lock/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_outgoing_lock/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-outgoing-lock.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.username %]@invite-outgoing-lock.scenarios.test": { 6 | "lock": 2 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/invite_pai_none/0010_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_pai_none/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-pai-none.scenarios.test' 4 | source_cli: '[% invite_pai_none_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-pai-none.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_pai_none/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_pai_none/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-pai-none.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.responders.0.username %]@invite-pai-none.scenarios.test": { 6 | "outbound_pai_user": "none" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/invite_peerout/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-peerout.scenarios.test' 4 | source_cli: '[% invite_peerout_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: '[% scenarios.0.responders.0.ip %]' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_peerout/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_peerout/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-peerout.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "peer_invite_peerout_host0": { 6 | "concurrent_max": 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/invite_peerout_failover/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-peerout-failover.scenarios.test' 4 | source_cli: '[% invite_peerout_failover_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '004321001' 6 | destination_domain: '[% scenarios.0.responders.0.ip %]' 7 | destination_user_dialed: '004321001' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_peerout_failover/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_peerout_failover/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-peerout-failover.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "peer_00_invite_peerout_failover_host0": { 6 | "concurrent_max": 1 7 | }, 8 | "peer_01_invite_peerout_failover_host0": { 9 | "concurrent_max_out": -1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/invite_peerout_failover/sipp_scenario_responder00.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 20 | Content-Length: 0 21 | 22 | ]]> 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /scenarios/invite_peerout_max_out/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-peerout-max-out.scenarios.test' 4 | source_cli: '[% invite_peerout_max_out_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: '[% scenarios.0.responders.0.ip %]' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_peerout_max_out/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_peerout_max_out/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-peerout-max-out.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "peer_00_invite_peerout_max_out_host0": { 6 | "concurrent_max_out": 1 7 | }, 8 | "peer_01_invite_peerout_max_out_host0": { 9 | "concurrent_max_out": 0 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/invite_peerout_rewrite/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-peerout-rewrite.scenarios.test' 4 | source_cli: '[% invite_peerout_rewrite_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% extra_info.phone_numbers.0 %]' 6 | destination_domain: '[% scenarios.0.responders.0.ip %]' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' 11 | -------------------------------------------------------------------------------- /scenarios/invite_peerout_rewrite/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_peerout_rewrite/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-peerout-rewrite.scenarios.test": { 3 | "nat_sipping": "no", 4 | "rewrite_rule_set": "rw_invite_peerout_rewrite" 5 | }, 6 | "peer_invite_peerout_rewrite_host0": { 7 | "rewrite_rule_set": "rw_invite_peerout_rewrite", 8 | "concurrent_max": 1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /scenarios/invite_peerout_rewrite/rewrite.yml: -------------------------------------------------------------------------------- 1 | rw_invite_peerout_rewrite: 2 | - direction: in 3 | field: callee 4 | match_pattern: '^(00|\+)([1-9][0-9]+)$' 5 | replace_pattern: '\2' 6 | priority: 1 7 | description: International to E.164 8 | - direction: in 9 | field: caller 10 | match_pattern: '^(00|\+)([1-9][0-9]+)$' 11 | replace_pattern: '\2' 12 | priority: 1 13 | description: International to E.164 14 | -------------------------------------------------------------------------------- /scenarios/invite_peerout_rewrite_pv_regex/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '' 3 | source_domain: 'invite-peerout-rewrite-pv-regex.scenarios.test' 4 | source_cli: '' 5 | source_user_out: '' 6 | destination_user: '[% extra_info.phone_numbers.0 %]' 7 | destination_domain: '[% scenarios.0.responders.0.ip %]' 8 | destination_user_dialed: '[% extra_info.phone_numbers.0 %]' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_peerout_rewrite_pv_regex/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_peerout_rewrite_pv_regex/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-peerout-rewrite-pv-regex.scenarios.test": { 3 | "nat_sipping": "no", 4 | "rewrite_rule_set": "rw_inv_peerout_rw_pv_regex" 5 | }, 6 | "peer_invite_peerout_rewrite_pv_regex_host0": { 7 | "rewrite_rule_set": "rw_inv_peerout_rw_pv_regex", 8 | "concurrent_max": 1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /scenarios/invite_peerout_rewrite_pv_regex/rewrite.yml: -------------------------------------------------------------------------------- 1 | rw_inv_peerout_rw_pv_regex: 2 | - direction: in 3 | field: callee 4 | match_pattern: '^(00|\+)([1-9][0-9]+)$' 5 | replace_pattern: '\2' 6 | priority: 1 7 | description: International to E.164 8 | - direction: in 9 | field: caller 10 | match_pattern: '^(00|\+)([1-9][0-9]+)$' 11 | replace_pattern: '\2' 12 | priority: 1 13 | description: International to E.164 14 | - direction: out 15 | field: caller 16 | match_pattern: '^$avp(s:caller_cc)$avp(s:caller_ac)([1-9][0-9]+)$' 17 | replace_pattern: '\1' 18 | priority: 1 19 | description: E.164 to local 20 | -------------------------------------------------------------------------------- /scenarios/invite_peerout_stir/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-peerout-stir.scenarios.test' 4 | source_cli: '[% invite_peerout_stir_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: '[% scenarios.0.responders.0.ip %]' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_peerout_stir/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_peerout_stir/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-peerout-stir.scenarios.test": { 3 | "nat_sipping": "no", 4 | "stir_pub_url": "http://fake.url/pub.key", 5 | "stir_check": true 6 | }, 7 | "peer_invite_peerout_stir_host0": { 8 | "concurrent_max": 1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /scenarios/invite_perm_reg/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_perm_reg/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-perm-reg.scenarios.test' 4 | source_cli: '[% invite_perm_reg_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-perm-reg.scenarios.test' 7 | destination_user_dialed: 'testuser1003' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_perm_reg/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_perm_reg/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-perm-reg.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_perm_reg/registration.yml: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1003@invite-perm-reg.scenarios.test: 3 | - nat: false 4 | contact: sip:127.3.0.5:8008 5 | socket: tcp:127.3.0.1:5074 6 | path: 7 | q: 0.5 8 | expires: 1977-07-26 23:47:37 9 | -------------------------------------------------------------------------------- /scenarios/invite_prack/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-prack.scenarios.test": { 3 | "nat_sipping": "no", 4 | "disable_prack_method": false 5 | }, 6 | "peer_invite_prack_host0": { 7 | "concurrent_max": 1 8 | } 9 | } -------------------------------------------------------------------------------- /scenarios/invite_q_forking/0012_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_q_forking/0017_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_q_forking/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-q-forking.scenarios.test' 4 | source_cli: '[% invite_q_forking_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-q-forking.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'busy' 10 | call_code: '486' -------------------------------------------------------------------------------- /scenarios/invite_q_forking/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_q_forking/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-q-forking.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.responders.0.username %]@invite-q-forking.scenarios.test": { 6 | "serial_forking_by_q_value": "standard", 7 | "stop_forking_code_lists": [ 8 | "486" 9 | ] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/invite_record_call/0017_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_record_call/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_record_call/soundsets.yml: -------------------------------------------------------------------------------- 1 | --- 2 | soundsets: 3 | 'invite_record_call': 4 | reseller_id: 1 5 | sounds: 6 | announce_before_recording: 7 | filename: sounds/no_sh.wav 8 | loopplay: 'false' 9 | -------------------------------------------------------------------------------- /scenarios/invite_redirect/0006_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - 'ACK sip:[% scenarios.0.responders.0.username %]@invite-redirect.scenarios.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios/invite_redirect/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_redirect/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-redirect.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.responders.0.username %]@invite-redirect.scenarios.test": { 6 | "outbound_diversion": "uprn", 7 | "outbound_history_info": "uprn" 8 | }, 9 | "[% scenarios.0.responders.1.username %]@invite-redirect.scenarios.test": { 10 | "outbound_diversion": "uprn", 11 | "outbound_history_info": "uprn" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /scenarios/invite_redirect_blocked/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-redirect-blocked.scenarios.test' 4 | source_cli: '[% invite_redirect_blocked_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-redirect-blocked.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'other' 10 | call_code: '302' 11 | duration: '0' -------------------------------------------------------------------------------- /scenarios/invite_redirect_blocked/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-redirect-blocked.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.responders.0.username %]@invite-redirect-blocked.scenarios.test": { 6 | "call_deflection": "disabled" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/invite_redirect_tel_uri/0006_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - '^ACK sip:[% scenarios.0.responders.0.username %]@invite-redirect-tel-uri.scenarios.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ' 7 | - 'CSeq: \d+ ACK' 8 | - 'Max-Forwards: 69' 9 | - 'Content-Length: 0' 10 | sip_out: [] 11 | -------------------------------------------------------------------------------- /scenarios/invite_redirect_tel_uri/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_redirect_tel_uri/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-redirect-tel-uri.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.responders.0.username %]@invite-redirect-tel-uri.scenarios.test": { 6 | "outbound_diversion": "uprn", 7 | "outbound_history_info": "uprn" 8 | }, 9 | "[% scenarios.0.responders.1.username %]@invite-redirect-tel-uri.scenarios.test": { 10 | "outbound_diversion": "uprn", 11 | "outbound_history_info": "uprn" 12 | } 13 | } -------------------------------------------------------------------------------- /scenarios/invite_reinvite_caller_transcoding/0006_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios/invite_reinvite_caller_transcoding/0016_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios/invite_reinvite_caller_transcoding/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_reinvite_caller_transcoding/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-reinvite-caller-transcoding.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "peer_invite_reinvite_caller_transcoding_host0": { 6 | "transcode_PCMA": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/invite_reinvite_transcoding/0006_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios/invite_reinvite_transcoding/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: '[% scenarios.0.ip %]' 4 | source_cli: '[% scenarios.0.username %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-reinvite-transcoding.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_reinvite_transcoding/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_reinvite_transcoding/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-reinvite-transcoding.scenarios.test": { 3 | "nat_sipping": "no", 4 | "transcode_PCMA": true 5 | }, 6 | "peer_invite_reinvite_transcoding_host0": { 7 | "transcode_PCMA": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /scenarios/invite_retrans/0010_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_retrans/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-retrans.scenarios.test' 4 | source_cli: '[% invite_retrans_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-retrans.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_retrans/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_retrans/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-retrans.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_sdp_filter/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-sdp-filter.scenarios.test' 4 | source_cli: '[% invite_sdp_filter_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-sdp-filter.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_sdp_filter/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_sdp_filter/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-sdp-filter.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.responders.0.username %]@invite-sdp-filter.scenarios.test": { 6 | "codecs_filter": "1", 7 | "codecs_list": "PCMA,PCMU,GSM,telephone-event" 8 | } 9 | } -------------------------------------------------------------------------------- /scenarios/invite_sdp_filter_blacklist/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-sdp-filter-blacklist.scenarios.test' 4 | source_cli: '[% invite_sdp_filter_blacklist_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-sdp-filter-blacklist.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' 11 | -------------------------------------------------------------------------------- /scenarios/invite_sdp_filter_blacklist/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_sdp_filter_blacklist/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-sdp-filter-blacklist.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.responders.0.username %]@invite-sdp-filter-blacklist.scenarios.test": { 6 | "codecs_filter": "0", 7 | "codecs_list": "opus,userinbandfec,speex,vbr,annexb" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /scenarios/invite_stir/0012_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_stir/0028_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 2 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 2 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_stir/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_stir/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-stir.scenarios.test": { 3 | "nat_sipping": "no", 4 | "stir_pub_url": "http://fake.url/pub.key", 5 | "stir_check": true 6 | }, 7 | "[% scenarios.1.responders.0.username %]@invite-stir.scenarios.test": { 8 | "stir_check": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /scenarios/invite_tcp_udp/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-tcp-udp.scenarios.test' 4 | source_cli: '[% invite_tcp_udp_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-tcp-udp.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_tcp_udp/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_tcp_udp/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-tcp-udp.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_tcp_udp_reinvite/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-tcp-udp-reinvite.scenarios.test' 4 | source_cli: '[% invite_tcp_udp_reinvite_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: 'invite-tcp-udp-reinvite.scenarios.test' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_tcp_udp_reinvite/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_tcp_udp_reinvite/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-tcp-udp-reinvite.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.responders.0.username %]@invite-tcp-udp-reinvite.scenarios.test": { 6 | "allow_out_foreign_domain": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/invite_trusted_anonymous/0006_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: "Anonymous" ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios/invite_trusted_anonymous/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_NAT: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_APPLY_HEADER_RULES: 7 | - return|ROUTE_APPLY_HEADER_RULES: 8 | - start|ROUTE_PREPARE_UA: 9 | - return|ROUTE_PREPARE_UA: 10 | - start|REPLY_ROUTE_NAT_CONTINUE: 11 | - start|ROUTE_EXIT: 12 | - start|ROUTE_RUNTIME: 13 | - return|ROUTE_RUNTIME: 14 | - exit|ROUTE_EXIT: 15 | sip_in: 16 | - '^SIP/2.0 180 Ringing' 17 | - 'CSeq: 1 INVITE' 18 | sip_out: 19 | - [ 20 | '^SIP/2.0 180 Ringing', 21 | 'CSeq: 1 INVITE', 22 | ] 23 | -------------------------------------------------------------------------------- /scenarios/invite_trusted_anonymous/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'anonymous' 3 | source_domain: 'invite-trusted-anonymous.scenarios.test' 4 | source_cli: '[% invite_trusted_anonymous_scenarios_test.testuser1002.phone_number %]' 5 | source_clir: '1' 6 | destination_user: '[% scenarios.0.responders.0.username %]' 7 | destination_domain: 'invite-trusted-anonymous.scenarios.test' 8 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_trusted_anonymous/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_trusted_anonymous/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-trusted-anonymous.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_trusted_anonymous/trusted.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | [% scenarios.0.username %]@invite-trusted-anonymous.scenarios.test: 3 | from_pattern: 1002@invite-trusted-anonymous.scenarios.test 4 | protocol: UDP 5 | src_ip: [% scenarios.0.ip %] 6 | -------------------------------------------------------------------------------- /scenarios/invite_trusted_peerout_stir/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-trusted-peerout-stir.scenarios.test' 4 | source_cli: '[% invite_trusted_peerout_stir_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: '[% scenarios.0.responders.0.username %]' 6 | destination_domain: '[% scenarios.0.responders.0.ip %]' 7 | destination_user_dialed: '[% scenarios.0.responders.0.username %]' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/invite_trusted_peerout_stir/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_trusted_peerout_stir/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-trusted-peerout-stir.scenarios.test": { 3 | "nat_sipping": "no", 4 | "stir_pub_url": "http://fake.url/pub.key" 5 | }, 6 | "peer_invite_trusted_peerout_stir_host0": { 7 | "concurrent_max": 1 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /scenarios/invite_trusted_peerout_stir/trusted.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | [% scenarios.0.username %]@invite-trusted-peerout-stir.scenarios.test: 3 | from_pattern: 1002@invite-trusted-peerout-stir.scenarios.test 4 | protocol: UDP 5 | src_ip: [% scenarios.0.ip %] 6 | -------------------------------------------------------------------------------- /scenarios/invite_ua_reject_missing/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-ua-reject-missing.scenarios.test' 4 | source_cli: '[% invite_ua_reject_missing_scenarios_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-ua-reject-missing.scenarios.test' 7 | destination_user_dialed: 'testuser1003' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' 11 | -------------------------------------------------------------------------------- /scenarios/invite_ua_reject_missing/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_ua_reject_missing/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-ua-reject-missing.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/invite_ua_reject_missing/responder00_01.yml.tt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/scenarios/invite_ua_reject_missing/responder00_01.yml.tt2 -------------------------------------------------------------------------------- /scenarios/invite_voicebox/callforward.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | [% scenarios.0.responders.0.username %]@invite-voicebox.scenarios.test: 3 | destinations: 4 | destinations: 5 | - destination: voicebox 6 | priority: 0 7 | timeout: 5 8 | name: dest1001 9 | mappings: 10 | cfu: 11 | - bnumberset: null 12 | destinationset: dest1001 13 | sourceset: null 14 | timeset: null 15 | enabled: true 16 | cfb: [] 17 | cfna: [] 18 | cft: [] 19 | cfs: [] 20 | cfr: [] 21 | cfo: [] 22 | voicebox: 23 | pin: 0000 24 | email: root@invite-voicebox.scenarios.test 25 | attach: 1 26 | delete: 1 27 | -------------------------------------------------------------------------------- /scenarios/invite_voicebox/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/invite_voicebox/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-voicebox.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/lock_ported/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios/lock_ported/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@lock-ported.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1001@lock-ported.scenarios.test": { 6 | "lock": 5 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios/media181sec.pcap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/scenarios/media181sec.pcap -------------------------------------------------------------------------------- /scenarios/register/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@register.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/register_allowip/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@register-allowip.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "[% scenarios.0.username %]@register-allowip.scenarios.test": { 6 | "allowed_ips": [ 7 | "1.2.3.4" 8 | ] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /scenarios/register_bria/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@register-bria.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/register_ignore_allowip/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@register-ignore-allowip.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1003@register-ignore-allowip.scenarios.test": { 6 | "allowed_ips": [ 7 | "1.2.3.4" 8 | ], 9 | "ignore_allowed_ips": true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scenarios/register_tcp/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@register-tcp.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/reminder/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'reminder.scenarios.test' 4 | source_cli: '[% reminder_scenarios_test.testuser1001.phone_number %]' 5 | destination_user: '\*55\*1420' 6 | destination_domain: 'vsc.local' 7 | destination_user_dialed: '\*55\*1420' 8 | call_type: 'call' 9 | call_status: 'ok' 10 | call_code: '200' -------------------------------------------------------------------------------- /scenarios/sanity/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: [] 2 | 3 | -------------------------------------------------------------------------------- /scenarios/sanity/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@sanity.scenarios.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios/timer_session_callee_only_supported/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@timer-session-callee-only-supported.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1001@timer-session-callee-only-supported.scenarios.test": { 6 | "sst_refresh_method": "INVITE", 7 | "sst_enable": "yes", 8 | "sst_expires": 10, 9 | "sst_min_timer": 2, 10 | "sst_max_timer": 20 11 | } 12 | } -------------------------------------------------------------------------------- /scenarios/timer_session_caller_only_supported/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@timer-session-caller-only-supported.scenarios.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "peer_timer_session_caller_only_supported_host0": { 6 | "sst_refresh_method": "INVITE", 7 | "sst_enable": "yes", 8 | "sst_expires": 10, 9 | "sst_min_timer": 2, 10 | "sst_max_timer": 20 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /scenarios_lnp/config.yml: -------------------------------------------------------------------------------- 1 | b2b: 2 | sbc: 3 | xfer: 4 | blind_immediate_release: no 5 | enable: no 6 | kamailio: 7 | proxy: 8 | lnp: 9 | api: 10 | keepalive_interval: 3 11 | port: 8991 12 | request_timeout: 1000 13 | server: localhost 14 | enable: yes 15 | type: local 16 | skip_cf_loop: 'yes' 17 | allow_refer_method: no 18 | generate_responder_cdr_data: no 19 | -------------------------------------------------------------------------------- /scenarios_lnp/config_pro.yml: -------------------------------------------------------------------------------- 1 | --- 2 | pbx: 3 | enable: no 4 | -------------------------------------------------------------------------------- /scenarios_lnp/incoming_peer/callforward.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | testuser1001@incoming-peer.scenarios-lnp.test: 3 | destinations: 4 | destinations: 5 | - destination: sip:[% extra_info.phone_numbers.0 %]@incoming-peer.scenarios-lnp.test 6 | priority: 0 7 | timeout: 5 8 | name: dest1001 9 | mappings: 10 | cfu: 11 | - bnumberset: null 12 | destinationset: dest1001 13 | sourceset: null 14 | timeset: null 15 | enabled: true 16 | cfb: [] 17 | cfna: [] 18 | cft: [] 19 | cfs: [] 20 | cfr: [] 21 | cfo: [] 22 | -------------------------------------------------------------------------------- /scenarios_lnp/incoming_peer/lnp.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | lnp_incoming_peer_00: 3 | data: 4 | name: lnp_incoming_peer_00 5 | prefix: test 6 | numbers: 7 | - number: '[% extra_info.phone_numbers.0 %]' 8 | routing_number: '[% extra_info.phone_numbers.1 %]' 9 | -------------------------------------------------------------------------------- /scenarios_lnp/incoming_peer/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_lnp/incoming_peer/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "peer_incoming_peer_00_host0": { 3 | "lnp_add_npdi": true, 4 | "lnp_to_rn": true, 5 | "concurrent_max": 1 6 | }, 7 | "@incoming-peer.scenarios-lnp.test": { 8 | "nat_sipping": "no" 9 | }, 10 | "testuser1001@incoming-peer.scenarios-lnp.test": { 11 | "lock": 5 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /scenarios_lnp/incoming_peer_unallocated_authoritative/0002_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ROUTE: 3 | - start|ROUTE_ENTRY: 4 | - return|ROUTE_ENTRY: 5 | - start|ROUTE_NET_INFO: 6 | - return|ROUTE_NET_INFO: 7 | - start|ROUTE_CHECK_TEL_URI: 8 | - return|ROUTE_CHECK_TEL_URI: 9 | - start|ROUTE_PRX_REQUEST: 10 | - start|ROUTE_INITVARS: 11 | - return|ROUTE_INITVARS: 12 | - start|ROUTE_LOCAL: 13 | - return|ROUTE_LOCAL: 14 | sip_in: 15 | - '^ACK sip:[% extra_info.phone_numbers.0 %]@' 16 | - 'From: ' 17 | - 'To: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios_pbx/incoming_shared_line/0013_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios_pbx/incoming_shared_line/0021_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - return|DEFAULT_ONREPLY: 4 | sip_in: 5 | - 'SIP/2.0 200 OK' 6 | - 'From: ;tag=[\w-]+' 7 | - 'To: ;tag=[\w-]+' 8 | - 'CSeq: \d+ CANCEL' 9 | - 'Content-Length: 0' 10 | sip_out: [] 11 | -------------------------------------------------------------------------------- /scenarios_pbx/incoming_shared_line/0024_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - return|DEFAULT_ONREPLY: 4 | sip_in: 5 | - 'SIP/2.0 200 canceling' 6 | - 'From: ;tag=[\w-]+' 7 | - 'To: ;tag=[\w-]+' 8 | - 'CSeq: \d+ CANCEL' 9 | - 'Server: Sipwise NGCP LB' 10 | - 'Content-Length: 0' 11 | sip_out: [] 12 | -------------------------------------------------------------------------------- /scenarios_pbx/incoming_shared_line/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.2.username %]' 3 | source_domain: 'incoming-shared-line.scenarios-pbx.test' 4 | source_cli: '[% incoming_shared_line_scenarios_pbx_test.testuser1003.pbx_phone_number %]' 5 | source_user_out: '[% incoming_shared_line_scenarios_pbx_test.testuser1003.pbx_phone_number %]' 6 | destination_user: '[% scenarios.0.username %]' 7 | destination_domain: 'incoming-shared-line.scenarios-pbx.test' 8 | destination_user_dialed: '1002' 9 | destination_user_in: '[% incoming_shared_line_scenarios_pbx_test.testuser1002.phone_number %]' 10 | call_type: 'call' 11 | call_status: 'ok' 12 | call_code: '200' -------------------------------------------------------------------------------- /scenarios_pbx/incoming_shared_line/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/incoming_shared_line/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@incoming-shared-line.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios_pbx/incoming_shared_line/sipp_scenario00_test.yml.tt2: -------------------------------------------------------------------------------- 1 | messages: 2 | - - 'SIP/2.0 200 Alive' 3 | - 'From: ;tag=[\w-]+' 4 | - 'To: ;tag=[\w-]+' 5 | - 'CSeq: \d+ OPTIONS' 6 | - 'Server: Sipwise NGCP LB' 7 | - 'Content-Length: 0' 8 | -------------------------------------------------------------------------------- /scenarios_pbx/incoming_shared_line/sipp_scenario01_test.yml.tt2: -------------------------------------------------------------------------------- 1 | messages: 2 | - - 'SIP/2.0 200 Alive' 3 | - 'From: ;tag=[\w-]+' 4 | - 'To: ;tag=[\w-]+' 5 | - 'CSeq: \d+ OPTIONS' 6 | - 'Server: Sipwise NGCP LB' 7 | - 'Content-Length: 0' 8 | -------------------------------------------------------------------------------- /scenarios_pbx/invite/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios_pbx/invite/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite.scenarios-pbx.test' 4 | source_cli: '[% invite_scenarios_pbx_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite.scenarios-pbx.test' 7 | destination_user_dialed: '1003' 8 | destination_user_in: '[% invite_scenarios_pbx_test.testuser1003.pbx_phone_number %]' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' -------------------------------------------------------------------------------- /scenarios_pbx/invite/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias/0004_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - 'ACK sip:[% invite_alias_scenarios_pbx_test.testuser1003.alias_numbers.0.phone_number %]@invite-alias.scenarios-pbx.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-alias.scenarios-pbx.test' 4 | source_cli: '[% invite_alias_scenarios_pbx_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-alias.scenarios-pbx.test' 7 | destination_user_dialed: '[% invite_alias_scenarios_pbx_test.testuser1003.alias_numbers.0.phone_number %]' 8 | destination_user_in: '[% invite_alias_scenarios_pbx_test.testuser1003.alias_numbers.0.phone_number %]' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-alias.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias_devid/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - 'ACK sip:[% invite_alias_devid_scenarios_pbx_test.testuser1003.alias_numbers.0.phone_number %]@invite-alias-devid.scenarios-pbx.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias_devid/0012_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias_devid/cdr_tag_data_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - val: '[% invite_alias_devid_scenarios_pbx_test.testuser1003.alias_numbers.0.phone_number %]' 3 | type: 'r_user' 4 | - val: '' 5 | type: 'r_ua' -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias_devid/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-alias-devid.scenarios-pbx.test' 4 | source_cli: '[% invite_alias_devid_scenarios_pbx_test.testuser1002.phone_number %]' 5 | destination_user: '[% invite_alias_devid_scenarios_pbx_test.testuser1003.alias_numbers.0.phone_number %]' 6 | destination_domain: 'invite-alias-devid.scenarios-pbx.test' 7 | destination_user_dialed: '[% invite_alias_devid_scenarios_pbx_test.testuser1003.alias_numbers.0.phone_number %]' 8 | destination_user_in: '[% invite_alias_devid_scenarios_pbx_test.testuser1003.alias_numbers.0.phone_number %]' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias_devid/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias_devid/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-alias-devid.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias_devid_fulllookup/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - 'ACK sip:[% invite_alias_devid_fulllookup_scenarios_pbx_test.testuser1003.alias_numbers.0.phone_number %]@invite-alias-devid-fulllookup.scenarios-pbx.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias_devid_fulllookup/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_alias_devid_fulllookup/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-alias-devid-fulllookup.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "testuser1003@invite-alias-devid-fulllookup.scenarios-pbx.test": { 6 | "lookup_all_registrations": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_group_parallel/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-group-parallel.scenarios-pbx.test' 4 | source_cli: '[% invite_group_parallel_scenarios_pbx_test.testuser1002.phone_number %]' 5 | destination_user: 'testgroup1010' 6 | destination_domain: 'invite-group-parallel.scenarios-pbx.test' 7 | destination_user_dialed: '1010' 8 | destination_user_in: 'testgroup1010' 9 | destination_user_out: 'testgroup1010' 10 | call_type: 'call' 11 | call_status: 'ok' 12 | call_code: '200' 13 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_group_parallel/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_group_parallel/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-group-parallel.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_group_parallel_and_cft/callforward.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | [% scenarios.0.responders.0.username %]@invite-group-parallel-and-cft.scenarios-pbx.test: 3 | destinations: 4 | destinations: 5 | - destination: sip:testuser1005@invite-group-parallel-and-cft.scenarios-pbx.test 6 | priority: 1 7 | timeout: 7 8 | name: dest1001 9 | mappings: 10 | cft_ringtimeout: 3 11 | cft: 12 | - bnumberset: null 13 | destinationset: dest1001 14 | sourceset: null 15 | timeset: null 16 | enabled: true 17 | cfb: [] 18 | cfna: [] 19 | cfu: [] 20 | cfs: [] 21 | cfr: [] 22 | cfo: [] -------------------------------------------------------------------------------- /scenarios_pbx/invite_group_parallel_and_cft/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_group_parallel_and_cft/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-group-parallel-and-cft.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_group_serial/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-group-serial.scenarios-pbx.test' 4 | source_cli: '[% invite_group_serial_scenarios_pbx_test.testuser1002.phone_number %]' 5 | destination_user: 'testgroup1010' 6 | destination_domain: 'invite-group-serial.scenarios-pbx.test' 7 | destination_user_dialed: '1010' 8 | destination_user_in: 'testgroup1010' 9 | destination_user_out: 'testgroup1010' 10 | call_type: 'call' 11 | call_status: 'ok' 12 | call_code: '200' 13 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_group_serial/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_group_serial/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-group-serial.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_manager/callforward.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | manager@invite-manager.scenarios-pbx.test: 3 | destinations: 4 | destinations: 5 | - destination: sip:[% invite_manager_scenarios_pbx_test.manager.pbx_phone_number %]@managersecretary.local 6 | priority: 0 7 | timeout: 5 8 | name: destmanager 9 | mappings: 10 | cfu: 11 | - bnumberset: null 12 | destinationset: destmanager 13 | sourceset: null 14 | timeset: null 15 | enabled: true 16 | cfb: [] 17 | cfna: [] 18 | cft: [] 19 | cfs: [] 20 | cfr: [] 21 | cfo: [] 22 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_manager/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_manager/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-manager.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "manager@invite-manager.scenarios-pbx.test": { 6 | "manager_secretary": 1, 7 | "secretary_numbers": ["[% invite_manager_scenarios_pbx_test.secretary.pbx_phone_number %]"] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_manager_2sec/0041_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length:\s+0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_manager_2sec/callforward.yml.tt2: -------------------------------------------------------------------------------- 1 | --- 2 | manager@invite-manager-2sec.scenarios-pbx.test: 3 | destinations: 4 | destinations: 5 | - destination: sip:[% invite_manager_2sec_scenarios_pbx_test.manager.pbx_phone_number %]@managersecretary.local 6 | priority: 0 7 | timeout: 5 8 | name: destmanager 9 | mappings: 10 | cfu: 11 | - bnumberset: null 12 | destinationset: destmanager 13 | sourceset: null 14 | timeset: null 15 | enabled: true 16 | cfb: [] 17 | cfna: [] 18 | cft: [] 19 | cfs: [] 20 | cfr: [] 21 | cfo: [] 22 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_manager_2sec/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_manager_2sec/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-manager-2sec.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | }, 5 | "manager@invite-manager-2sec.scenarios-pbx.test": { 6 | "manager_secretary": 1, 7 | "secretary_numbers": ["[% invite_manager_2sec_scenarios_pbx_test.secretary1.pbx_phone_number %]", "[% invite_manager_2sec_scenarios_pbx_test.secretary2.pbx_phone_number %]"] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_shared_line/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_shared_line/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: '[% scenarios.0.username %]' 3 | source_domain: 'invite-shared-line.scenarios-pbx.test' 4 | source_cli: '[% invite_shared_line_scenarios_pbx_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-shared-line.scenarios-pbx.test' 7 | destination_user_dialed: '1003' 8 | destination_user_in: '[% invite_shared_line_scenarios_pbx_test.testuser1003.pbx_phone_number %]' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' -------------------------------------------------------------------------------- /scenarios_pbx/invite_shared_line/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_shared_line/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-shared-line.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_shared_line/sipp_scenario00_test.yml.tt2: -------------------------------------------------------------------------------- 1 | messages: 2 | - - 'SIP/2.0 200 Alive' 3 | - 'From: ;tag=[\w-]+' 4 | - 'To: ;tag=[\w-]+' 5 | - 'CSeq: \d+ OPTIONS' 6 | - 'Server: Sipwise NGCP LB' 7 | - 'Content-Length: 0' 8 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_shared_line/sipp_scenario01_test.yml.tt2: -------------------------------------------------------------------------------- 1 | messages: 2 | - - 'SIP/2.0 200 Alive' 3 | - 'From: ;tag=[\w-]+' 4 | - 'To: ;tag=[\w-]+' 5 | - 'CSeq: \d+ OPTIONS' 6 | - 'Server: Sipwise NGCP LB' 7 | - 'Content-Length: 0' 8 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_username_devid/0008_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|sl:filtered-ack: 3 | sip_in: 4 | - 'ACK sip:1003@invite-username-devid.scenarios-pbx.test SIP/2.0' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ ACK' 8 | - 'Content-Length: 0' 9 | sip_out: [] 10 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_username_devid/0012_test.yml.tt2: -------------------------------------------------------------------------------- 1 | flow: 2 | - start|DEFAULT_ONREPLY: 3 | - start|REPLY_ROUTE_LEG_B: 4 | - start|ROUTE_ENTRY: 5 | - return|ROUTE_ENTRY: 6 | - start|ROUTE_EXIT: 7 | - start|ROUTE_RUNTIME: 8 | - return|ROUTE_RUNTIME: 9 | - exit|ROUTE_EXIT: 10 | sip_in: 11 | - 'SIP/2.0 100 Trying' 12 | - 'From: ;tag=[\w-]+' 13 | - 'To: ' 14 | - 'CSeq: \d+ INVITE' 15 | - 'Server: Sipwise NGCP LB' 16 | - 'Content-Length: 0' 17 | sip_out: [] 18 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_username_devid/cdr_test.yml.tt2: -------------------------------------------------------------------------------- 1 | cdr: 2 | - source_user: 'testuser1002' 3 | source_domain: 'invite-username-devid.scenarios-pbx.test' 4 | source_cli: '[% invite_username_devid_scenarios_pbx_test.testuser1002.phone_number %]' 5 | destination_user: 'testuser1003' 6 | destination_domain: 'invite-username-devid.scenarios-pbx.test' 7 | destination_user_dialed: '1003' 8 | destination_user_in: '[% invite_username_devid_scenarios_pbx_test.testuser1003.pbx_phone_number %]' 9 | call_type: 'call' 10 | call_status: 'ok' 11 | call_code: '200' -------------------------------------------------------------------------------- /scenarios_pbx/invite_username_devid/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_username_devid/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-username-devid.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_xfer_blind_callee_immediat_rel/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_xfer_blind_callee_immediat_rel/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-xfer-blind-callee-immediat-rel.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios_pbx/invite_xfer_blind_caller_immediat_rel/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/invite_xfer_blind_caller_immediat_rel/prefs.json.tt2: -------------------------------------------------------------------------------- 1 | { 2 | "@invite-xfer-blind-caller-immediat-rel.scenarios-pbx.test": { 3 | "nat_sipping": "no" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /scenarios_pbx/media181sec.pcap: -------------------------------------------------------------------------------- 1 | ../scenarios/media181sec.pcap -------------------------------------------------------------------------------- /scenarios_pbx/templates: -------------------------------------------------------------------------------- 1 | ../scenarios/templates/ -------------------------------------------------------------------------------- /sounds/conference_first.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/sounds/conference_first.wav -------------------------------------------------------------------------------- /sounds/conference_greeting.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/sounds/conference_greeting.wav -------------------------------------------------------------------------------- /sounds/conference_join.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/sounds/conference_join.wav -------------------------------------------------------------------------------- /sounds/conference_joined.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/sounds/conference_joined.wav -------------------------------------------------------------------------------- /sounds/conference_leave.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/sounds/conference_leave.wav -------------------------------------------------------------------------------- /sounds/conference_waiting_music.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/sounds/conference_waiting_music.wav -------------------------------------------------------------------------------- /sounds/no_sh.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipwise/kamailio-config-tests/4747bceb11c08a2629c988c996aa08309470e556/sounds/no_sh.wav -------------------------------------------------------------------------------- /t/testrunner: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This script is used for running the tests with proper arguments 3 | # from within Jenkins 4 | 5 | set -e 6 | set -u 7 | 8 | if [ -d /results ] ; then 9 | # Running from Jenkins (RW) 10 | RESULTS="/results" 11 | 12 | cd "/code" 13 | else 14 | # Running locally in Docker 15 | RESULTS="./results" 16 | mkdir -p "${RESULTS}" 17 | fi 18 | 19 | RESULTS=${RESULTS} make -j test 20 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | pytest_plugins = ['fixtures.programs'] 3 | -------------------------------------------------------------------------------- /tests/do_test_yaml_format.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=$(pwd) 4 | DEST_DIR=${RESULTS} 5 | export BASE_DIR DEST_DIR 6 | 7 | ./bin/generate_tests.sh -d "$1" tests/fixtures/scenario_ids.yml PRO 8 | find "${RESULTS}/$1" -type f -name '[0-9][0-9][0-9][0-9]_test.yml' | while read -r i; do 9 | ./tests/test_yaml_format.py "$i" | sed -e 's/skip>/skipped>/g' > "$i.xml" 10 | done 11 | 12 | # exclude templates 13 | rm -rf "${RESULTS}/$1/templates" 14 | -------------------------------------------------------------------------------- /tests/fixtures/incoming_shared_line/sipp_scenario00_test.yml.tt2: -------------------------------------------------------------------------------- 1 | messages: 2 | - - 'SIP/2.0 200 Alive' 3 | - 'Record-Route: ' 4 | - 'Record-Route: ' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ OPTIONS' 8 | - 'Server: Sipwise NGCP Proxy' 9 | - 'Content-Length:\s+0' 10 | -------------------------------------------------------------------------------- /tests/fixtures/incoming_shared_line/sipp_scenario01_test.yml.tt2: -------------------------------------------------------------------------------- 1 | messages: 2 | - - 'SIP/2.0 200 Alive' 3 | - 'Record-Route: ' 4 | - 'Record-Route: ' 5 | - 'From: ;tag=[\w-]+' 6 | - 'To: ;tag=[\w-]+' 7 | - 'CSeq: \d+ OPTIONS' 8 | - 'Server: Sipwise NGCP Proxy' 9 | - 'Content-Length:\s+0' 10 | -------------------------------------------------------------------------------- /tests/fixtures/kct_config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | sip: 3 | ip: 10.20.29.2 4 | port: 51602 5 | mport: 45003 6 | peer: 7 | ip: 172.30.1.2 8 | port: 52602 9 | mport: 46003 10 | kamailio: 11 | lb: 12 | ip: 127.0.0.1 13 | extra_sockets: 14 | test: 15 | transport: udp 16 | ip: 127.2.0.1 17 | port: 5064 18 | other: 19 | transport: tcp 20 | ip: 127.3.0.1 21 | port: 5074 22 | rtpengine: 23 | rtp_flag: 24 | - ip: 172.30.1.2 25 | netmask: 255.255.255.252 26 | - ip: 10.20.29.2 27 | netmask: 255.255.255.252 28 | phone: 29 | cc: 43 30 | ac: 1 31 | sn: 1000 32 | -------------------------------------------------------------------------------- /tests/fixtures/scenario_ids.yml: -------------------------------------------------------------------------------- 1 | --- 2 | customer_test: 3 | id: 7 4 | peer_00_host0: 5 | id: 31 6 | peer_00_host1: 7 | id: 32 8 | spce_test: 9 | testuser1001: 10 | uuid: UUID1001 11 | testuser1002: 12 | uuid: UUID1002 13 | testuser1003: 14 | uuid: UUID1003 15 | -------------------------------------------------------------------------------- /tests/fixtures/test_sip_in.yml: -------------------------------------------------------------------------------- 1 | - '^REGISTER' 2 | - 'Contact: "TestBria" ;reg-id=1;\+sip.instance=""' 3 | - 'Contact: "TestBria" ;expires=0' 4 | - 'Content-Length: 0' 5 | - 'Expires: \d+' 6 | - '_:NOT:_Expires: 0' 7 | - 'Authorization: Digest username="testuser1003"' 8 | -------------------------------------------------------------------------------- /tests/fixtures/test_sip_out.yml: -------------------------------------------------------------------------------- 1 | - [ 2 | '^SIP/2.0 100 Trying', 3 | 'Content-Length: 0' 4 | ] 5 | - [ 6 | '^SIP/2.0 200 OK', 7 | 'Contact: ;expires=600;\+sip.instance="";reg-id=1', 8 | 'Content-Length: 0', 9 | 'P-NGCP-Authorization: testuser1003@', 10 | 'P-NGCP-Authorized: 1', 11 | '_:NOT:_Contact: ;expires=\d+' 12 | ] 13 | --------------------------------------------------------------------------------