From afe2e32ae11b1ccdb5d5b36512f3b3b59cfa7c59 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sun, 25 Mar 2012 16:38:43 +0200 Subject: [PATCH 1/1] Bearer Capability is mandatory in CALL CONF. message, if not in SETUP. --- gsm_ms.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gsm_ms.cpp b/gsm_ms.cpp index 1726543..7c43232 100644 --- a/gsm_ms.cpp +++ b/gsm_ms.cpp @@ -282,7 +282,17 @@ void Pgsm_ms::setup_ind(unsigned int msg_type, unsigned int callref, struct gsm_ /* send call proceeding */ gsm_trace_header(p_g_interface_name, this, MNCC_CALL_CONF_REQ, DIRECTION_OUT); proceeding = create_mncc(MNCC_CALL_CONF_REQ, p_g_callref); - // FIXME: bearer + /* bearer capability (mandatory, if not present in setup message) */ + if (!(mncc->fields & MNCC_F_BEARER_CAP)) { + proceeding->fields |= MNCC_F_BEARER_CAP; + proceeding->bearer_cap.coding = 0; + proceeding->bearer_cap.radio = 1; + proceeding->bearer_cap.speech_ctm = 0; + proceeding->bearer_cap.speech_ver[0] = 0; + proceeding->bearer_cap.speech_ver[1] = -1; /* end of list */ + proceeding->bearer_cap.transfer = 0; + proceeding->bearer_cap.mode = 0; + } /* DTMF supported */ proceeding->fields |= MNCC_F_CCCAP; proceeding->cccap.dtmf = 1; -- 2.13.6