diff --git a/example/default-suites.conf b/example/default-suites.conf
index 1857ba5..74f54a2 100644
--- a/example/default-suites.conf
+++ b/example/default-suites.conf
@@ -12,6 +12,8 @@
 - gprs:sysmo
 - gprs:sysmo+mod-bts0-dynts-ipa
 - gprs:sysmo+mod-bts0-dynts-osmo
+- dynts:sysmo+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1
+- dynts:sysmo+mod-bts0-dynts67-osmo.conf+cfg-codec-fr1
 - nitb_sms:trx-b200
 - sms:trx-b200
 - nitb_ussd:trx-b200
@@ -26,6 +28,8 @@
 - gprs:trx-b200
 - gprs:trx-b200+mod-bts0-dynts-ipa
 - gprs:trx-b200+mod-bts0-dynts-osmo
+- dynts:trx-b200+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1
+- dynts:trx-b200+mod-bts0-dynts67-osmo.conf+cfg-codec-fr1
 - nitb_sms:trx-sysmocell5000
 - sms:trx-sysmocell5000
 - nitb_ussd:trx-sysmocell5000
@@ -40,6 +44,8 @@
 - gprs:trx-sysmocell5000
 - gprs:trx-sysmocell5000+mod-bts0-dynts-ipa
 - gprs:trx-sysmocell5000+mod-bts0-dynts-osmo
+- dynts:trx-sysmocell5000+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1
+- dynts:trx-sysmocell5000+mod-bts0-dynts67-osmo.conf+cfg-codec-fr1
 - nitb_sms:nanobts
 - sms:nanobts+band-1900
 - nitb_ussd:nanobts+band-1900
@@ -51,6 +57,7 @@
 - voice:nanobts+band-1900+mod-bts0-dynts-ipa
 - gprs:nanobts+band-1900
 - gprs:nanobts+band-1900+mod-bts0-dynts-ipa
+- dynts:nanobts+band-1900+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1
 - sms:nanobts+band-900
 - nitb_ussd:nanobts+band-900
 - ussd:nanobts+band-900
@@ -63,6 +70,7 @@
 - gprs:nanobts+band-900
 - gprs:nanobts+band-900+mod-bts0-dynts-ipa
 - gprs:nanobts+band-900+mod-bts0-numtrx2+mod-bts0-chanallocdescend
+- dynts:nanobts+band-900+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1
 - nitb_smpp
 - smpp
 - encryption
diff --git a/example/scenarios/mod-bts0-dynts67-ipa.conf b/example/scenarios/mod-bts0-dynts67-ipa.conf
new file mode 100644
index 0000000..087b3b0
--- /dev/null
+++ b/example/scenarios/mod-bts0-dynts67-ipa.conf
@@ -0,0 +1,13 @@
+modifiers:
+  bts:
+  - num_trx: 1
+    trx_list:
+    - timeslot_list:
+      - phys_chan_config: 'CCCH+SDCCH4'
+      - phys_chan_config: 'SDCCH8'
+      - phys_chan_config: 'SDCCH8'
+      - phys_chan_config: 'SDCCH8'
+      - phys_chan_config: 'SDCCH8'
+      - phys_chan_config: 'SDCCH8'
+      - phys_chan_config: 'TCH/F_PDCH'
+      - phys_chan_config: 'TCH/F_PDCH'
diff --git a/example/scenarios/mod-bts0-dynts67-osmo.conf b/example/scenarios/mod-bts0-dynts67-osmo.conf
new file mode 100644
index 0000000..3153120
--- /dev/null
+++ b/example/scenarios/mod-bts0-dynts67-osmo.conf
@@ -0,0 +1,13 @@
+modifiers:
+  bts:
+  - num_trx: 1
+    trx_list:
+    - timeslot_list:
+      - phys_chan_config: 'CCCH+SDCCH4'
+      - phys_chan_config: 'SDCCH8'
+      - phys_chan_config: 'SDCCH8'
+      - phys_chan_config: 'SDCCH8'
+      - phys_chan_config: 'SDCCH8'
+      - phys_chan_config: 'SDCCH8'
+      - phys_chan_config: 'TCH/F_TCH/H_PDCH'
+      - phys_chan_config: 'TCH/F_TCH/H_PDCH'
diff --git a/suites/dynts/suite.conf b/suites/dynts/suite.conf
new file mode 100644
index 0000000..3b32480
--- /dev/null
+++ b/suites/dynts/suite.conf
@@ -0,0 +1,10 @@
+resources:
+  ip_address:
+  - times: 8 # msc, bsc, hlr, stp, mgw*2, sgsn, ggsn
+  bts:
+  - times: 1
+  modem:
+  - times: 2
+    features:
+    - gprs
+    - voice
diff --git a/suites/dynts/switch_tch_pdch.py b/suites/dynts/switch_tch_pdch.py
new file mode 100755
index 0000000..f0bbd38
--- /dev/null
+++ b/suites/dynts/switch_tch_pdch.py
@@ -0,0 +1,98 @@
+#!/usr/bin/env python3
+from osmo_gsm_tester.testenv import *
+
+
+def activate_pdp(ms_mo, ms_mt):
+    # We need to use inet46 since ofono qmi only uses ipv4v6 eua (OS#2713)
+    ctx_id_v4_mo = ms_mo.activate_context(apn='inet46', protocol=ms_mo.CTX_PROT_IPv4)
+    print('ms_mo pdp ctx %r activated' % repr(ctx_id_v4_mo))
+    ctx_id_v4_mt = ms_mt.activate_context(apn='inet46', protocol=ms_mt.CTX_PROT_IPv4)
+    print('ms_mt pdp ctx %r activated' % repr(ctx_id_v4_mt))
+    sleep(5)
+    ms_mo.deactivate_context(ctx_id_v4_mo)
+    ms_mt.deactivate_context(ctx_id_v4_mt)
+
+def make_call(ms_mo, ms_mt):
+    assert len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0
+    mo_cid = ms_mo.call_dial(ms_mt)
+    mt_cid = ms_mt.call_wait_incoming(ms_mo)
+    print('dial success')
+
+    assert not ms_mo.call_is_active(mo_cid) and not ms_mt.call_is_active(mt_cid)
+    ms_mt.call_answer(mt_cid)
+    wait(ms_mo.call_is_active, mo_cid)
+    wait(ms_mt.call_is_active, mt_cid)
+    print('answer success, call established and ongoing')
+
+    sleep(5) # maintain the call active for 5 seconds
+
+    assert ms_mo.call_is_active(mo_cid) and ms_mt.call_is_active(mt_cid)
+    ms_mo.call_hangup(mo_cid)
+    ms_mt.call_hangup(mt_cid)
+    wait(lambda: len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0)
+    print('hangup success')
+
+hlr = suite.hlr()
+bts = suite.bts()
+pcu = bts.pcu()
+mgw_msc = suite.mgw()
+mgw_bsc = suite.mgw()
+stp = suite.stp()
+ggsn = suite.ggsn()
+sgsn = suite.sgsn(hlr, ggsn)
+msc = suite.msc(hlr, mgw_msc, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
+ms_mo = suite.modem()
+ms_mt = suite.modem()
+
+bsc.bts_add(bts)
+sgsn.bts_add(bts)
+
+print('start network...')
+hlr.start()
+stp.start()
+ggsn.start()
+sgsn.start()
+msc.start()
+mgw_msc.start()
+mgw_bsc.start()
+bsc.start()
+
+bts.start()
+wait(bsc.bts_is_connected, bts)
+print('Waiting for bts to be ready...')
+wait(bts.ready_for_pcu)
+pcu.start()
+
+hlr.subscriber_add(ms_mo)
+hlr.subscriber_add(ms_mt)
+
+ms_mo.connect(msc.mcc_mnc())
+ms_mt.connect(msc.mcc_mnc())
+ms_mo.attach()
+ms_mt.attach()
+
+ms_mo.log_info()
+ms_mt.log_info()
+
+print('waiting for modems to attach...')
+wait(ms_mo.is_connected, msc.mcc_mnc())
+wait(ms_mt.is_connected, msc.mcc_mnc())
+wait(msc.subscriber_attached, ms_mo)
+wait(msc.subscriber_attached, ms_mt)
+
+print('waiting for modems to attach to data services...')
+wait(ms_mo.is_attached)
+wait(ms_mt.is_attached)
+
+print('1: activate_pdp')
+activate_pdp(ms_mo, ms_mt)
+print('2: make_call')
+make_call(ms_mo, ms_mt)
+print('3: Wait 30 seconds to let PCU handle the PDCH channels again')
+sleep(30)
+print('3: activate_pdp')
+activate_pdp(ms_mo, ms_mt)
+print('4: make_call')
+make_call(ms_mo, ms_mt)
+print('Done!')
