В настоящее время мы используем Twilio для вызовов в браузере - все работает нормально, но, похоже, нет способа определить, когда конечный пользователь завершил вызов. Я хочу иметь возможность автоматически распознавать, что пользователь положил трубку, и завершить вызов в браузере. Есть какой-то обратный вызов или статус, который я пропускаю?
Вот код:
class window.BrowserCall
initTwilioDeviceBindings = ->
twilio_token = $('#twilioToken').data('token')
# Create the Client with a Capability Token
Twilio.Device.setup(twilio_token, {debug: true});
#/* Let us know when the client is ready. */
Twilio.Device.ready ->
$("#log").text("Ready")
#/* Report any errors on the screen */
Twilio.Device.error (error) ->
$("#log").text("Error: " + error.message)
#/* Log a message when a call connects. */
Twilio.Device.connect (conn) ->
$("#log").text("Successfully established call")
$('#call').addClass("hidden")
$('#hangup').removeClass("hidden")
#/* Log a message when a call disconnects. */
Twilio.Device.disconnect (conn) ->
$("#log").text("Call ended")
$('#call').removeClass("hidden")
$('#hangup').addClass("hidden")
initFormBindings = ->
$('#call').bind "click", (event) ->
params = {"phone_number":
$('#phone_number').val(),"task_id":$('#task_id').val()
}
connection = Twilio.Device.connect(params)
connection.disconnect (conn) ->
Twilio.Device.disconnectAll()
console.log 'the call has ended'
return
$('#hangup').bind "click", (event) ->
Twilio.Device.disconnectAll()
constructor: ->
initTwilioDeviceBindings()
initFormBindings()