comparison doc/RTP-BFI-extension @ 177:a851bde42d82

doc/RTP-BFI-extension: update for the current situation
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 17 Feb 2023 19:05:05 -0800
parents 36cce9b0bbe2
children 185225722714
comparison
equal deleted inserted replaced
176:f5c4f9a764be 177:a851bde42d82
56 as a rigid timing governor) a valid reason exists why this "SHOULD NOT" behavior 56 as a rigid timing governor) a valid reason exists why this "SHOULD NOT" behavior
57 is not only acceptable, but becomes necessary. Thus in the case of AMR, we are 57 is not only acceptable, but becomes necessary. Thus in the case of AMR, we are
58 good - there is no need to invent our own totally non-standard extensions to 58 good - there is no need to invent our own totally non-standard extensions to
59 RTP payload format, it just needs to be a configurable option in the IP-based 59 RTP payload format, it just needs to be a configurable option in the IP-based
60 BTS or in OsmoMGW converting from an E1-based BTS to RTP. 60 BTS or in OsmoMGW converting from an E1-based BTS to RTP.
61
62 The same situation holds for the rarely-used HR1 codec: RFC 5993 extends GSM-HR
63 RTP representation with a ToC byte modeled after the one defined for AMR in RFC
64 4867. Just like in AMR, GSM-HR ToC byte allows the possibility of a No_Data
65 frame (FT=7 for GSM-HR), with exactly the same semantics - and exactly the same
66 argument as above applies for sending such No_Data frames against the general
67 SHOULD NOT.
61 68
62 But what about the older FR and EFR codecs? In the case of existing standard 69 But what about the older FR and EFR codecs? In the case of existing standard
63 RTP payload formats for FR and EFR, there is no defined way to represent a BFI 70 RTP payload formats for FR and EFR, there is no defined way to represent a BFI
64 condition as distinct from any possible good traffic frame, and there lies our 71 condition as distinct from any possible good traffic frame, and there lies our
65 challenge. 72 challenge.
140 147
141 Aside from the just-described incompatibility with osmo-bts-trx version, our 148 Aside from the just-described incompatibility with osmo-bts-trx version, our
142 current patch has the following outstanding issues which will need to be fixed 149 current patch has the following outstanding issues which will need to be fixed
143 before it can be proposed for merging: 150 before it can be proposed for merging:
144 151
145 * Setting of TAF based on the frame number remains to be implemented - right 152 * The code will need to be extended to support AMR, and possibly HR1 too - our
146 now we always send TAF=0. 153 current patch always emits our FR/EFR BFI, implicitly assuming that the speech
147 154 codec is either FR or EFR, as that is how we currently run our network.
148 * The code will need to be extended to support AMR, and to skip out gracefully
149 in the case of totally unsupported codecs like HR1 - our current patch always
150 emits our FR/EFR BFI, implicitly assuming that the speech codec is either FR
151 or EFR, as that is how we currently run our network.
152 155
153 * A configuration option will need to be implemented, to be controlled from 156 * A configuration option will need to be implemented, to be controlled from
154 OsmoBSC, enabling or disabling the non-standard behavior of sending explicit 157 OsmoBSC or from the BTS' own vty, enabling or disabling the non-standard
155 BFI packets instead of gaps in the RTP stream. It would probably be best 158 behavior of sending explicit BFI packets instead of gaps in the RTP stream.
156 implemented as a tristate option, with the choices being no BFI packets at 159 It would probably be best implemented as a tristate option, with the choices
157 all (default), sending BFI packets only for AMR (where a standard encoding 160 being no BFI packets at all (default), sending BFI packets only for AMR
158 exists) or sending BFI packets for AMR and also for FR & EFR, using 161 (where a standard encoding exists) or sending BFI packets for AMR and also
159 Themyscira encoding for the latter. 162 for FR & EFR, using Themyscira encoding for the latter.