This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
keith gerrit-no-reply at lists.osmocom.orgkeith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15019 Change subject: Transmit Bearer Caps to MNCC with SETUP_REQ ...................................................................... Transmit Bearer Caps to MNCC with SETUP_REQ This commit attempts to address: https://osmocom.org/issues/1683 Section MT Call, Point 2. Change-Id: I55cdc4b7c52730d7e998a1d692c7552fd07403ee --- M src/mncc.c 1 file changed, 57 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/19/15019/1 diff --git a/src/mncc.c b/src/mncc.c index ab2bed6..850377e 100644 --- a/src/mncc.c +++ b/src/mncc.c @@ -818,12 +818,63 @@ OSMO_STRLCPY_ARRAY(mncc.called.number, call->dest); } - /* - * TODO/FIXME: - * - Determine/request channel based on offered audio codecs - * - Screening, redirect? - * - Synth. the bearer caps based on codecs? - */ + if (call->initial->payload_type == 8) { + /* Full Rate GSM codec requested by SIP side. */ + mncc.fields |= MNCC_F_BEARER_CAP; + struct gsm_mncc_bearer_cap bearer_cap = { + .transfer = GSM48_BCAP_ITCAP_SPEECH, + .mode = GSM48_BCAP_TMOD_CIRCUIT, + .coding = GSM48_BCAP_CODING_GSM_STD, + .radio = GSM48_BCAP_RRQ_FR_ONLY, + .speech_ver = { GSM48_BCAP_SV_FR, + -1}, + .data = { + .rate_adaption = GSM48_BCAP_RA_NONE, + .sig_access = 0, + .async = 0, + .nr_stop_bits = 0, + .nr_data_bits = 0, + .user_rate = 0, + .parity = GSM48_BCAP_PAR_ODD, + .interm_rate = 0, + .transp = GSM48_BCAP_TR_TRANSP, + .modem_type = GSM48_BCAP_MT_NONE, + }, + }; + mncc.bearer_cap = bearer_cap; + } + + if (call->initial->payload_type == 98) { + /* WARNING: Dynamic Payload type + * in use by current hacker... + * + * FIXME: Store the codec name in the struct + * so that we can check it here. + */ + mncc.fields |= MNCC_F_BEARER_CAP; + struct gsm_mncc_bearer_cap bearer_cap = { + .transfer = GSM48_BCAP_ITCAP_SPEECH, + .mode = GSM48_BCAP_TMOD_CIRCUIT, + .coding = GSM48_BCAP_CODING_GSM_STD, + .radio = GSM48_BCAP_RRQ_DUAL_HR, + .speech_ver = { GSM48_BCAP_SV_AMR_H, + -1}, + .data = { + .rate_adaption = GSM48_BCAP_RA_NONE, + .sig_access = 0, + .async = 0, + .nr_stop_bits = 0, + .nr_data_bits = 0, + .user_rate = 0, + .parity = GSM48_BCAP_PAR_ODD, + .interm_rate = 0, + .transp = GSM48_BCAP_TR_TRANSP, + .modem_type = GSM48_BCAP_MT_NONE, + }, + }; + mncc.bearer_cap = bearer_cap; + } + rc = write(conn->fd.fd, &mncc, sizeof(mncc)); if (rc != sizeof(mncc)) { LOGP(DMNCC, LOGL_ERROR, "Failed to send message leg(%u)\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15019 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I55cdc4b7c52730d7e998a1d692c7552fd07403ee Gerrit-Change-Number: 15019 Gerrit-PatchSet: 1 Gerrit-Owner: keith <keith at rhizomatica.org> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190801/61cdcca9/attachment.htm>