falconia has uploaded this change for review.
mgcp_client: add support for VND.THEMWI.CCSD codec
TW-TS-007 defines a compressed RTP payload format for GSM CSD,
reducing the payload size from 160 bytes of mostly constant filler
bits to 16, 32 or 37 bytes depending on specific CSD mode:
https://www.freecalypso.org/specs/tw-ts-007-v010001.txt
Clause 9 specifies payload type number 127 when this pseudo-codec
is used on AoIP interface, while Annex A gives it the name
VND.THEMWI.CCSD for SDP.
Add support for this codec to libosmo-mgcp-client, to make it
possible for OsmoBSC and OsmoMSC to request this codec from MGWs.
Beyond the present client library addition, desired support for
compressed CSD per TW-TS-007 in Osmocom components is as follows:
* Equip osmo-mgw rtpbridge with ability to convert between CCSD
and CLEARMODE on the fly, using already merged libosmotrau
functions for the actual conversion;
* Add CCSD support to tw-e1abis-mgw while regular osmo-mgw has no
CSD support at all in E1 mode; possibly bring tw-e1abis-mgw into
Osmocom at some point;
* Have OsmoBSC direct its MGW to emit CCSD when the CN requested it
via TW-TS-003 BSSMAP extension;
* Possibly add compressed CSD support to OsmoMSC.
Change-Id: I6e4e15b5b3d20036aae8472bd94bc878b718ddd4
---
M include/osmocom/mgcp_client/mgcp_client.h
M src/libosmo-mgcp-client/mgcp_client.c
2 files changed, 2 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/29/41529/1
diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h
index 1d33690..d53f442 100644
--- a/include/osmocom/mgcp_client/mgcp_client.h
+++ b/include/osmocom/mgcp_client/mgcp_client.h
@@ -58,6 +58,7 @@
CODEC_AMRWB_16000_1 = 113, /* 3GPP TS 48.103 table 5.4.2.2.1 */
CODEC_IUFP = 96,
CODEC_CLEARMODE = 120, /* 3GPP TS 48.103 table 5.4.2.2.1 */
+ CODEC_COMPR_CSD = 127, /* compressed CSD per TW-TS-007 */
};
/* Note: when new codec types are added, the corresponding value strings
* in mgcp_client.c (codec_table) must be updated as well. Enumerations
diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c
index 63d03f9..4924be4 100644
--- a/src/libosmo-mgcp-client/mgcp_client.c
+++ b/src/libosmo-mgcp-client/mgcp_client.c
@@ -61,6 +61,7 @@
{ CODEC_AMRWB_16000_1, "AMR-WB/16000/1" },
{ CODEC_IUFP, "VND.3GPP.IUFP/16000" },
{ CODEC_CLEARMODE, "CLEARMODE/8000" },
+ { CODEC_COMPR_CSD, "VND.THEMWI.CCSD/8000" },
{ 0, NULL },
};
To view, visit change 41529. To unsubscribe, or for help writing mail filters, visit settings.