From 932f6753d147ab584de92de682a442527303850f Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 3 Nov 2016 14:14:01 +0100 Subject: 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 --- doc/manuals/abis/rtp-amr.adoc | 111 ++++++++++++++++++++++++++++++++++++++++-- 1 file 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)"]; +} +---- -- cgit v1.2.3