Actions
Feature #4393
closedCircuit Switched Data (CSD) Support in osmo-bsc
Start date:
02/13/2020
Due date:
% Done:
100%
Spec Reference:
Description
The BSC doesn't have to do much to support CSD:
- parse the bearer service details from the 48.008 A signaling side (ASSIGNMENT CMD)
- encode the bearer service details to the 48.058 Abis RSL signaling side (RSL CHAN ACT)
- instruct the MGW to use RTP payload-type 120 as "CLEARMODE/8000"
Related issues
Updated by laforge almost 4 years ago
- Related to Feature #1572: Circuit Switched Data (CSD) Support in osmo-bts added
Updated by laforge almost 4 years ago
- Related to Feature #4394: Circuit Switched Data (CSD) Support in osmo-msc added
Updated by laforge almost 4 years ago
- Related to Feature #4395: Circuit Switched Data (CSD) Support in osmo-mgw added
Updated by laforge about 1 year ago
- Subject changed from Circuit Switched Data (CSD) Support to Circuit Switched Data (CSD) Support in osmo-bsc
Updated by osmith 10 months ago
First related patches extend gsm0808_enc/dec_channel_type to support data:
- https://gerrit.osmocom.org/c/libosmocore/+/31262 gsm0808_dec_channel_type: add missing len check [NEW]
- https://gerrit.osmocom.org/c/libosmocore/+/31263 test_gsm0808_enc_dec_channel_type -> …_speech [NEW]
- https://gerrit.osmocom.org/c/libosmocore/+/31264 gsm0808_chan_indicator: add SPEECH_CTM_TEXT_TELEPHONY [NEW]
- https://gerrit.osmocom.org/c/libosmocore/+/31265 gsm0808_enc/dec_channel_type: support data [NEW]
Updated by osmith 9 months ago
- % Done changed from 30 to 60
First TTCN-3 test is passing now.
ttcn3:- https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/31556 library/RSL_Types: RSL_SpeechAlgo: support CSD
- https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/31557 TC_assignment_csd: expect BSC to handle CSD
- https://gerrit.osmocom.org/c/osmo-bsc/+/31539 Cosmetic: fix various typos
- https://gerrit.osmocom.org/c/osmo-bsc/+/31540 Cosmetic: codec_pref: tweak comments
- https://gerrit.osmocom.org/c/osmo-bsc/+/31541 bssmap_handle_assignm_req: split up
- https://gerrit.osmocom.org/c/osmo-bsc/+/31542 bssmap_handle_ass_req_ct_speech: split up
- https://gerrit.osmocom.org/c/osmo-bsc/+/31543 bssmap_handle_ass_req_ct_speech: refactor
- https://gerrit.osmocom.org/c/osmo-bsc/+/31544 codec_pref: split test_codec_support_bts_rate
- https://gerrit.osmocom.org/c/osmo-bsc/+/31545 lchan.h: remove enum lchan_csd_mode
- https://gerrit.osmocom.org/c/osmo-bsc/+/31546 channel_mode_from_lchan: add GSM48_CMODE_DATA_3k6
- https://gerrit.osmocom.org/c/osmo-bsc/+/31547 bssmap_handle_ass_req_ct_data: implement
- https://gerrit.osmocom.org/c/osmo-bsc/+/31548 abis_rsl: ipacc_payload_type: handle CSD
- https://gerrit.osmocom.org/c/osmo-bsc/+/31549 rsl_tx_ipacc_crcx/mdcx: omit speech mode for CSD
- https://gerrit.osmocom.org/c/osmo-bsc/+/31550 bssmap_handle_ass_req_tp_codec_list: tweak log msg
- https://gerrit.osmocom.org/c/osmo-bsc/+/31551 assignment_fsm: chan mode check: support CSD
- https://gerrit.osmocom.org/c/osmo-bsc/+/31552 lchan_select: chan_mode_to_chan_type: support CSD
- https://gerrit.osmocom.org/c/osmo-bsc/+/31553 requires_voice_stream -> requires_rtp_stream
- https://gerrit.osmocom.org/c/osmo-bsc/+/31554 chan_mode_to_mgcp_codec: support CSD
- https://gerrit.osmocom.org/c/osmo-bsc/+/31555 Cosmetic: channel_mode_from_lchan: remove fixme
Updated by osmith 8 months ago
More testing and related fixes:
- https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32343 bsc: improve TC_assignment_csd
- https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32365 bsc: TC_assignment_csd: test all transp data rates
- https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32368 bsc: TC_assignment_csd: test non-transp data rates
- https://gerrit.osmocom.org/c/osmo-bsc/+/32366 abis_rsl: fix encoding RSL_IE_IPAC_RTP_CSD_FORMAT
- https://gerrit.osmocom.org/c/osmo-bsc/+/32367 CSD: support 29k0, 32k0 transp data
- https://gerrit.osmocom.org/c/osmo-bsc/+/32369 CSD: support non-transparent data rates
Updated by osmith 7 months ago
- Status changed from In Progress to Feedback
- Assignee changed from osmith to laforge
- % Done changed from 70 to 80
laforge wrote:
The BSC doesn't have to do much to support CSD:
- parse the bearer service details from the 48.008 A signaling side (ASSIGNMENT CMD)
- encode the bearer service details to the 48.058 Abis RSL signaling side (RSL CHAN ACT)
- instruct the MGW to use RTP payload-type 120 as "CLEARMODE/8000"
Implemented.
I think this issue is almost done now.
What I'm not sure about:- OSmux support: should I implement (and add a proper ttcn3 test) for OSmux + CSD, or is this out-of-scope? (Probably not much code to add, but currently it seems to be not working yet from a quick test.)
- match_non_transp_data_rate() does not take the "allowed radio interface data rate" as well as "asymmetry preference" (3GPP TS 48.008 § 3.2.2.11, oct 5a and 5b) into account. Is this in scope of this issue or not?
I'll start working on the MSC side (#4394).
Updated by laforge 7 months ago
On Thu, Apr 20, 2023 at 10:09:57AM +0000, osmith wrote:
What I'm not sure about:
- OSmux support: should I implement (and add a proper ttcn3 test) for OSmux + CSD, or is this out-of-scope? (Probably not much code to add, but currently it seems to be not working yet from a quick test.)
out-of-scope. Nobody ever mentioned osmux in this context, so I'm surprised to hear about it.
- match_non_transp_data_rate() does not take the "allowed radio interface data rate" as well as "asymmetry preference" (3GPP TS 48.008 § 3.2.2.11, oct 5a and 5b) into account. Is this in scope of this issue or not?
For the first part, I don't know off my head. asymmetric rates are clearly not a concern for now.
Actions