aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2017-03-08 10:24:14 +0100
committerHolger Freyther <holger@freyther.de>2017-03-23 09:01:14 +0000
commit9d796ff15690eb313ec6d2323902f9ea677f300e (patch)
treea606ff5856d7061f5e14c590d2f43d73ccfed50e
parent4649746798fe3074edab720302d135c74dcf3a38 (diff)
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
-rw-r--r--src/mncc.c10
1 files changed, 9 insertions, 1 deletions
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)