aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2016-11-03 14:14:01 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-11-27 17:54:20 +0100
commit932f6753d147ab584de92de682a442527303850f (patch)
tree41d5acd4b9673d6bda225e7c1a3bc5c2c095615e
parenta9b521e2cb0ea7787e8e7c5f3e441fd39f528b97 (diff)
rtp-amr.adoc: New TCH/AHS downlink chapters
Nutaq contributed the following chapters: * TCH/AHS Downlink: FACCH/H During DTX Operation * TCH/AHS Downlink: Inhibited SID_UPDATE * TCH/AHS Downlink: Inhibited SID_FIRST_P1 Change-Id: I55d8e9f98694b39514d1f31c517a80050103fdd6
-rw-r--r--doc/manuals/abis/rtp-amr.adoc111
1 files changed, 107 insertions, 4 deletions
diff --git a/doc/manuals/abis/rtp-amr.adoc b/doc/manuals/abis/rtp-amr.adoc
index fbd6b501..889a032c 100644
--- a/doc/manuals/abis/rtp-amr.adoc
+++ b/doc/manuals/abis/rtp-amr.adoc
@@ -1087,7 +1087,110 @@ msc {
}
----
-DLOS2:: The SID_ONSET and the first voice frame are sent in the same
-block of four radio bursts. Hence, the BTS must be able ot to send
-actual codec payload along with the GsmL1_TchPlType_Amr_Onset
-primitive.
+==== TCH/AHS Downlink: Inhibited SID_FIRST_P1
+
+The following procedure must be observed in case of a SID_FIRST must be inhibited.
+
+["mscgen"]
+----
+msc {
+ hscale = 2;
+ ms [label="MS"], phy [label="BTS-PHY"], bts [label="BTS"], mgw [label="MGW"];
+
+ ...;
+ --- [label="Inhibited SID_FIRST_P1"];
+
+ bts <= mgw [label="RTP (AMR FT=SID,Q=1)"];
+ phy => bts [label="PH-RTS.ind (TCH)"];
+ phy <= bts [label="PH-DATA.req GsmL1_TchPlType_Amr_SidFirstP1"];
+ ms <= phy [label="L1 burst (sub-block 3 of speech frame N-1 + sub-block 1 of SID_FIRST_P1)"];
+ ms <= phy [label="L1 burst (sub-block 4 of speech frame N-1 + sub-block 2 of SID_FIRST_P1)"];
+
+ bts <= mgw [label="RTP (AMR FT=0..7,Q=1) MARKER=1"];
+ phy => bts [label="PH-RTS.ind (TCH)"];
+ phy <= bts [label="PH-DATA.req GsmL1_TchPlType_Amr_SidFirstInh"];
+ phy <= bts [label="PH-DATA.req GsmL1_TchPlType_Amr (N)"];
+ ms <= phy [label="L1 burst (block 1 of SID_FIRST_INH, sub-block 1 of speech frame N)"];
+ ms <= phy [label="L1 burst (block 2 of SID_FIRST_INH, sub-block 2 of speech frame N)"];
+
+ bts <= mgw [label="RTP (AMR FT=0..7,Q=1)"];
+ phy => bts [label="PH-RTS.ind (TCH)"];
+ phy <= bts [label="PH-DATA.req GsmL1_TchPlType_Amr (N+1)"];
+ ms <= phy [label="L1 burst (sub-block 3 of speech frame N + sub-block 1 of speech frame N+1)"];
+ ms <= phy [label="L1 burst (sub-block 4 of speech frame N + sub-block 2 of speech frame N+1)"];
+}
+----
+
+==== TCH/AHS Downlink: Inhibited SID_UPDATE
+
+The following procedure must be observed in case of a SID_UPDATE must be inhibited.
+
+["mscgen"]
+----
+msc {
+ hscale = 2;
+ ms [label="MS"], phy [label="BTS-PHY"], bts [label="BTS"], mgw [label="MGW"];
+
+ ...;
+ --- [label="Inhibited SID_UPDATE"];
+
+ bts <= mgw [label="RTP (AMR FT=SID,Q=1)"];
+ phy => bts [label="PH-RTS.ind (TCH)"];
+ bts => phy [label="PH-DATA.req GsmL1_TchPlType_Amr (SID_UPDATE)"];
+ ms <= phy [label="L1 burst (sub-block 1+2 of SID_UPDATE)"];
+ ms <= phy [label="L1 burst (sub-block 3+4 of SID_UPDATE)"];
+
+ bts <= mgw [label="RTP (AMR FT=0..7,Q=1) MARKER=1"];
+ phy => bts [label="PH-RTS.ind (TCH)"];
+ phy <= bts [label="PH-DATA.req GsmL1_TchPlType_Amr_SidUpdateInh"];
+ phy <= bts [label="PH-DATA.req GsmL1_TchPlType_Amr (N)"];
+ ms <= phy [label="L1 burst (block 1 of SID_UPDATE_INH, sub-block 1 of speech frame N)"];
+ ms <= phy [label="L1 burst (block 2 of SID_UPDATE_INH, sub-block 2 of speech frame N)"];
+
+ bts <= mgw [label="RTP (AMR FT=0..7,Q=1)"];
+ phy => bts [label="PH-RTS.ind (TCH)"];
+ phy <= bts [label="PH-DATA.req GsmL1_TchPlType_Amr (N+1)"];
+ ms <= phy [label="L1 burst (sub-block 3 of speech frame N + sub-block 1 of speech frame N+1)"];
+ ms <= phy [label="L1 burst (sub-block 4 of speech frame N + sub-block 2 of speech frame N+1)"];
+}
+----
+
+==== TCH/AHS Downlink: FACCH/H During DTX Operation
+
+The following procedure must be observed in case of a FACCH/H frame must be inserted during DTX operation.
+
+["mscgen"]
+----
+msc {
+ hscale = 2;
+ ms [label="MS"], phy [label="BTS-PHY"], bts [label="BTS"], mgw [label="MGW"];
+
+ ...;
+ --- [label="FACCH/H During DTX Operation"];
+
+ bts <= mgw [label="FACCH/H"];
+ phy => bts [label="PH-RTS.ind (FACCH/H)"];
+ phy => bts [label="PH-RTS.ind (TCH/H)"];
+ phy <= bts [label="PH-DATA.req GsmL1_TchPlType_Amr_Onset"];
+ phy <= bts [label="PH-DATA.req FACCH/H"];
+ ms <= phy [label="L1 burst (block 1 of SID_ONSET, sub-block 1 of FACCH/H frame)"];
+ ms <= phy [label="L1 burst (block 2 of SID_ONSET, sub-block 2 of FACCH/H frame)"];
+
+ phy => bts [label="PH-RTS.ind (TCH/H)"];
+ phy <= bts [label="PH-EMPTY-FRAME.req"];
+ ms <= phy [label="L1 burst (sub-block 3+4 of FACCH/H frame)"];
+ ms <= phy [label="L1 burst (sub-block 5+6 of FACCH/H frame)"];
+
+ phy => bts [label="PH-RTS.ind (FACCH/H)"];
+ phy => bts [label="PH-RTS.ind (TCH/H)"];
+ phy <= bts [label="PH-EMPTY-FRAME.req (FACCH/H)"];
+ phy <= bts [label="PH-DATA.req GsmL1_TchPlType_Amr_SidFirstP1"];
+ ms <= phy [label="L1 burst (sub-block 7 of FACCH/H frame + sub-block 1 of SID_FIRST_P1)"];
+ ms <= phy [label="L1 burst (sub-block 8 of FACCH/H frame + sub-block 2 of SID_FIRST_P1)"];
+
+ phy => bts [label="PH-RTS.ind (TCH)"];
+ phy <= bts [label="PH-DATA.req GsmL1_TchPlType_Amr_SidFirstP2"];
+ ms <= phy [label="L1 burst (sub-block 3 of SID_FIRST_P1, sub-block 1 of SID_FIRST_P2)"];
+ ms <= phy [label="L1 burst (sub-block 4 of SID_FIRST_P1, sub-block 2 of SID_FIRST_P2)"];
+}
+----