aboutsummaryrefslogtreecommitdiffstats
path: root/src/call.h
diff options
context:
space:
mode:
authorKeith <keith@rhizomatica.org>2019-07-30 16:26:03 +0200
committerKeith <keith@rhizomatica.org>2019-08-05 19:05:43 +0200
commitbd2d14bd4af592c2694217d84aaf81d759d2ca10 (patch)
treeb29b3f7d68c1e5fe33e078f0be9d81a5794098d0 /src/call.h
parent5f73c2033b6b4e690f30292020d7361f48b5f2c2 (diff)
Prepare to support MO Call HOLD
Add function pointers to the call_leg struct for call hold and retrieve. Add function to send re-INVITE to SIP side when MNCC side puts call on HOLD/RETRIEVES. Add MNCC/SIP CC_HOLD to call states. Change-Id: I2595626dfa50eb2f8e29a02540b708c9c1dce88c
Diffstat (limited to 'src/call.h')
-rw-r--r--src/call.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/call.h b/src/call.h
index 5076c01..bc772a4 100644
--- a/src/call.h
+++ b/src/call.h
@@ -75,6 +75,17 @@ struct call_leg {
*/
void (*dtmf)(struct call_leg *, int keypad);
+ /**
+ * Call HOLD requested
+ */
+ void (*hold_call)(struct call_leg *);
+
+ /**
+ * Call HOLD ended
+ */
+ void (*retrieve_call)(struct call_leg *);
+
+
void (*update_rtp)(struct call_leg *);
};
@@ -83,6 +94,7 @@ enum sip_cc_state {
SIP_CC_INITIAL,
SIP_CC_DLG_CNFD,
SIP_CC_CONNECTED,
+ SIP_CC_HOLD,
};
enum sip_dir {
@@ -113,6 +125,7 @@ enum mncc_cc_state {
MNCC_CC_INITIAL,
MNCC_CC_PROCEEDING, /* skip delivered state */
MNCC_CC_CONNECTED,
+ MNCC_CC_HOLD,
};
enum mncc_dir {