signalwire / freeswitch

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device.
https://freeswitch.com/#getting-started
Other
3.49k stars 1.4k forks source link

Feature: Answer call on WebRTC/SIP through from FreeSWITCH #560

Open royalpinto opened 4 years ago

royalpinto commented 4 years ago
Feature Request:

FreeSWITCH Backend should be able to answer the call which is ringing at the Verto and SIP clients (on-demand, not auto answer).

Already Tried:

I executed the command uuid_answer but it doesn't send any signal/message to the Verto or SIP client.

Option to solve the issue:

Send a signal to the client on this above action. Not sure is SIP has a standard method for this. For the Verto we can implement on both sides to understand this message (below-mentioned workaround).

Option 2 (workaround for Verto/WebRTC only):

Send a signal to the Verto client using "verto.info' when uuid_send_info is invoked with a message like "answer" and implement this message on the client to answer the call. This works only for the Verto clients though.

Thoughts?

seven1240 commented 4 years ago

uuid_answer is same as answer, not designed to that.

uuid_phone_event should work for sip calls.

uuid_send_info could do that. but it's a security problem. generally the browser doesn't allow you to run getUserMedia if it's not invoked by a user gesture (e.g. click a button).

royalpinto commented 4 years ago

Hi @seven1240 ,

Understood the concept behind uuid_answer. It's not really for the client to answer the call. Rather it is to answer the incoming call.

I will play around with uuid_phone_event but seems not all phones support this. Tried with Jitsi, doesn't work.

uuid_send_info: We have implemented auto-answer which answers the call without user gesture and it is working as expected. At least on Chrome. (Not implemented using Verto socket though, custom implementation). So getUserMedia should not be a problem I think.

I think uuid_send_info can solve the above problem. I have created a separate issue (feature request) for this one. Any thoughts on it? https://github.com/signalwire/freeswitch/issues/561

Thanks,