Voximplant allows putting calls on hold and resuming them if needed. To achieve that, use the setActive method of the Web SDK, and the setHold / hold method of the iOS, Android, and React Native SDKs.
A single call (either inbound or outbound) is active by default, all other calls are not and should be activated. To activate each one of them, change the active flag of setActive to true. As for the hold method, set true if the call should be put on hold, and false — if it should be resumed.
Playing music on hold
While the call is not active, we can play some music for the user to make the waiting more pleasant. To do this, we'll use the createURLPlayer. This method has the onPause parameter, it sets the player on pause right after it’s been created. So, we'll pause the player at the beginning, and resume it when the OnHold event is triggered.
On the SDK's side, you have to call the aforementioned methods setActive / setHold / hold: