From 9d796ff15690eb313ec6d2323902f9ea677f300e Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Wed, 8 Mar 2017 10:24:14 +0100 Subject: [PATCH] mncc: Enable in-band signalling for early media Besides sending the alerting request we should inform the MS that there is in-band information now. We do not seem to export these flags in protocol/gsm_04_08.h so hardcode them for now (until I come up with good names for them). Related: OS#1784 Change-Id: I80b1e1f4ca045bd63536476702a5812f27d9b36d --- src/mncc.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/mncc.c b/src/mncc.c index 843c7e7..5e2a3a1 100644 --- a/src/mncc.c +++ b/src/mncc.c @@ -194,12 +194,20 @@ static void mncc_call_leg_connect(struct call_leg *_leg) static void mncc_call_leg_ring(struct call_leg *_leg) { + struct gsm_mncc out_mncc = { 0, }; struct mncc_call_leg *leg; OSMO_ASSERT(_leg->type == CALL_TYPE_MNCC); leg = (struct mncc_call_leg *) _leg; - mncc_send(leg->conn, MNCC_ALERT_REQ, leg->callref); + mncc_fill_header(&out_mncc, MNCC_ALERT_REQ, leg->callref); + /* GSM 04.08 10.5.4.21 */ + out_mncc.fields |= MNCC_F_PROGRESS; + out_mncc.progress.coding = 3; /* Standard defined for the GSMßPLMNS */ + out_mncc.progress.location = 1; /* Private network serving the local user */ + out_mncc.progress.descr = 8; /* In-band information or appropriate pattern now available */ + + mncc_write(leg->conn, &out_mncc, leg->callref); } static void mncc_call_leg_release(struct call_leg *_leg)