diff --git a/src/api/ngcp-call.js b/src/api/ngcp-call.js
index 0b1a876d..5cf901b8 100644
--- a/src/api/ngcp-call.js
+++ b/src/api/ngcp-call.js
@@ -405,3 +405,23 @@ export function callEnd () {
$audioTransceiver = null
$videoTransceiver = null
}
+/**
+ * Hold on.
+ */
+export function callToggleHold () {
+ const rtcSession = callGetRtcSession()
+ if (rtcSession) {
+ if (rtcSession.isOnHold().local) {
+ rtcSession.unhold()
+ callEvent.emit('callResumed')
+ } else {
+ rtcSession.hold()
+ callEvent.emit('callOnHold')
+ }
+ }
+}
+
+export function callIsOnHold () {
+ const rtcSession = callGetRtcSession()
+ return rtcSession ? rtcSession.isOnHold().local : false
+}
diff --git a/src/components/call/CscCall.vue b/src/components/call/CscCall.vue
index c21cf512..d322287a 100644
--- a/src/components/call/CscCall.vue
+++ b/src/components/call/CscCall.vue
@@ -169,6 +169,16 @@
size="large"
@click="toggleMicrophone()"
/>
+