For example, if we have a web user on active call, and the user receives an inbound call from a third user. Is it possible to put first user on hold and answer to the third user, then hangup the third user and return to the conversation with the second user?

Answer:

Here is example of a multiline WebRTC-SIP call:

User1 calls User2
the call is established
User3 calls User1
User1 answers User3
User1 puts User2 on hold
user3 is on hold
user1 has established call with user3

User1 hangups User3
User1 returns to User2
the call is established

The feature was implemented in previous product versions,
however we released two things:

1. The feature is not enough popular.
2. The feature is quite complex and requires a lot of efforts to get this working as expected.
Question at issue is that even simple call transfer and hold in WebRTC(Chrome browser) do not work without some complex workarounds on the server-side.
It increases complexity of the system and adding of the multiline support will be cause of additional increasing of complexity and new bugs.

Therefore, for now we have a server side setting :
send_busy_when_on_call=true

If you add this setting to flashphoner.properties config, WCS server will answer with BUSY HERE if a user is already on call and if the user has an inbound call at this moment.

We are ready to consider adding of this feature upon the following events:
– The feature will be enough popular and needed
– Chrome browser will normally handle work with media streams in scenarios with holding and transferring of calls.