How to properly hold a WebRTC call?

726 views
Skip to first unread message

Pavlo Mykhalov

unread,
Feb 16, 2016, 12:08:49 PM2/16/16
to SIP.js, pmyk...@codeminders.com
SIP.js has an undocumented `hold` done via SDP mangling <https://github.com/onsip/SIP.js/blob/36772eca52179a733ce9a18326457ecfff3b22e8/src/Session.js#L501-L51>, i.e. setting `a=sendrecv` to `a=sendonly`. Unfortunately, this doesn't work reliably in Firefox, after a few hold-resume cycles on the remote end Firefox doesn't send media for 2–3 minutes, even when both sides are SIP.js clients.

Shouldn't I be using `hold` method? Is someone else affected by this?

Will Mitchell

unread,
Feb 16, 2016, 12:36:08 PM2/16/16
to SIP.js, pmyk...@codeminders.com, pmyk...@gmail.com
Hi,

It's safe to assume that if a method or property in SIP.js is undocumented, it is likely to break between browser versions or otherwise be subject to change.  We try to only document things that are very stable, so that we can leave flexibility to change things that aren't.  `hold` is one of these things.  Older versions of SIP.js faked `hold` by enabling and disabling individual media tracks.  You could revert to that type of behavior if you are seeing issues with the current SDP manipulation.

-Will
Reply all
Reply to author
Forward
0 new messages