Commit Graph

103 Commits

Author SHA1 Message Date
Richard Alam
5af6374265 Track call session state
Currently, we user DTMF to inform the client when the call session is in echo test and when entering the voice conference.
 Unfortunately, sometimes when FS sends the DTMF, FS crashes.

 Monitor the progress of the call session using ESL events and propagate to the client.

 The client would be informed of these call states: CALL_STARTED, IN_ECHO_TEST, IN_CONFERENCE, CALL_ENDED.
2020-02-05 14:58:47 -08:00
Richard Alam
4c5f1c660c Add timeout waiting for response from FreeSWITCH when sending ESL command
- When waiting for a response from FS after sending an ESL command and the ESL connection disconnects,
   the sending thread will be blocked as the trigger for it to unblock is the response from FS which never
   comes.

   Add a 30 second timesout waiting for response and give up to go send a new FS ESL command.
2020-02-04 10:00:20 -08:00
Richard Alam
a29bbb250f Track client's webrtc call session
- We want to be able to correlate client webrtc calls with freeswitch logs. We add extra info
   on callerid which we strip out in akka-fsesl.
2019-11-13 08:49:06 -08:00
Richard Alam
9dd44ad84b - filter our global audio users 2019-10-21 15:08:51 -07:00
Richard Alam
0261a5e2b8 - send users and recordings in one message 2019-10-21 14:29:52 -07:00
Richard Alam
1e7557562f Sync FS user status
- poll FreeSWITCH for status of user so that akka-apps would be in sync with FreeSWITCH
2019-10-21 11:01:58 -07:00
Richard Alam
3395cdbdc0 Make sure we record audio if meeting is recorded
- We had an issue where FreeSWITCH, for some unknow reason, stopped recording the voice conference
   in the middle of the meeting while there are users in the voice conference. We've relied on the
   voice conf started event to trigger recording of wav files. This event is sent when the first user
   joins the voice conference. In this case, there was no voice user joined after the recording stopped
   as there were already users in the voice conference. TO make sure that the audio is recorded, akka-apps
   will send a "check if voice conf is running and recording" message to FreeSWITCH every 30sec. If akka-apps
   receives a "running=true recording=false" response from FreeSWITCH, akka-apps will send a start recording
   msg to FreeSWITCH.
2019-10-17 11:50:12 -07:00
Richard Alam
aa22c629cb Eject users by force from FreeSWITCH
- when meeting ends, we try to eject all users by force from freeswitch to make sure
   that recording ends. However, we are not actually sending the command to freeswitch.
   This change sends the command so that users can be kicked out.
2019-10-10 11:38:27 -07:00
Richard Alam
0a6701ff5b Have only one ESL listener
- on auto-reconnect when FS restarts, the auto-reconnect add another
   listener to the ESL client resulting in multiple handlers of ESL events
   and multiple messages to akka-apps. This resulted in multiple recordings
   of audio when the first user joins as akka-apps receives 2 user join events.
2019-10-10 09:50:25 -07:00
Richard Alam
0491046e7e - stop trying to eject after several attempts if unsuccessful. 2019-10-01 14:31:47 -07:00
Richard Alam
c373dc42e8 For eject of voice conference user
- Sometimes ejecting voice conf users using "conference vconf kick all" doesn't work. We need to
   forcefully eject the user by using "uuid_kill uuid".
2019-10-01 11:36:06 -07:00
Richard Alam
9893e352be Add more akka fsesl logs
- add more logs to trace messages
 - add FS status check by sending ESL message to FS
2019-09-13 10:54:56 -07:00
Richard Alam
4d42a74ea8 Add more logging
- FreeSWITCH core dumped and akka-fsesl managed to reconnect. However, commands (mute, unmute, record, etc.) to FS are not reaching FS.
   But events (user joined, left, talking) from FS are received by akka-fsesl. Can't determine where the commands are falling off. These
   extra logging hopefully helps us narrow down if this happens again.

   I wasn't able to reproduce the issue when stopping and restarting FS. Akka-fsesl reconnects and command/events are flowing in both
   directions.
2019-09-06 11:25:04 -07:00
Richard Alam
8cb00f457a - track FS caller using UUID so we can find when the channel was created and destroyed.
This will help us hunt an issue where a channel gets stuck in a voice conference.
2019-05-30 12:07:32 -07:00
Fred Dixon
1383e741cc
Merge pull request #7464 from ritzalam/fix-deserialization-error-callingwith
- fix issue where akka-apps cannot deserialize the message because of…
2019-05-26 12:09:04 -04:00
Richard Alam
df55ff262d - check if we have successfully ejected all users from the voice conference. 2019-05-24 20:24:00 -07:00
Richard Alam
75fc1e12b5 - fix issue where akka-apps cannot deserialize the message bcause of the null field. 2019-05-17 13:53:42 -07:00
Richard Alam
bf7898225b - minor cleanup 2019-04-30 12:30:59 -07:00
Richard Alam
17b8229afc - add redis password to fsesl 2019-04-05 11:35:05 -07:00
Richard Alam
8d4122cece - enable scalariforn for fsesl-akka 2019-03-27 13:33:22 -07:00
Ghazi Triki
78f5b2715d Improve akka-bbb-fsesl packaging. 2018-12-14 15:15:19 +01:00
Richard Alam
3f9dc6655a - minimize logging of redis connection 2018-12-11 14:06:09 -08:00
Richard Alam
c69fb9d585 - try to fix logging for akka fsesl 2018-12-11 13:45:45 -08:00
Ghazi Triki
5a9f74c88d Fix akka applications packaging configuration. 2018-12-10 19:10:46 +01:00
Ghazi Triki
fd959f9e14 Remove rediscala library and replace it by a lettuce implementation. 2018-12-05 20:21:06 +01:00
Ghazi Triki
fc4028d6de Redis refactoring : remove duplicate classes, factorisation and build configuration update. 2018-11-09 20:19:46 +01:00
Richard Alam
cc6f88d020 - my IntelliJ IDE seems to format differently with Ghazi's
- fix screenshare redis connection error
 - fix bbb-web create meeting exception when second user joins
2018-09-13 13:08:49 -07:00
Richard Alam
a2eaa9babd Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into 21-and-20-merge-working-branch
- some conflicts have been fixed.

The following needs working on:

       both modified:   ../bigbluebutton-client/src/org/bigbluebutton/modules/chat/services/ChatCopy.as
        both modified:   ../bigbluebutton-client/src/org/bigbluebutton/modules/chat/services/ChatSaver.as
        both modified:   ../bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatTab.mxml
        both modified:   ../bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatWindowEventHandler.as
        both modified:   ../bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
        both modified:   ../bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageSender.as
        both modified:   ../bigbluebutton-client/src/org/bigbluebutton/modules/users/views/MediaItemRenderer.mxml

Parking as need to work on something else.
2018-06-06 08:23:13 -07:00
Richard Alam
b352ee2c95 - change log timestamp format so they are all the same 2018-05-15 10:50:40 -07:00
Richard Alam
c14a946041 - generate recording path in akka-apps for audio 2017-10-26 14:07:22 -07:00
Richard Alam
e01692c40b - send voice conf started and destroyed message 2017-10-19 17:18:50 -07:00
Richard Alam
33e1cb0b4f - indicate thru the userId that a user is calling through the phone. 2017-09-01 12:06:38 -07:00
Richard Alam
7956b561d2 - remove some printlns to minimize noise 2017-08-11 11:22:26 -07:00
Richard Alam
f2c7826772 - removing old pubsub 2017-07-12 11:52:46 -07:00
Richard Alam
d48f46c5e7 - try renaming deskshare to screenshare 2017-07-12 10:50:27 -07:00
Richard Alam
b04519ef0f FreeSWITCH webrtc screenshare
- use webrtc screenshare using FS Verto
 - publish screenshare as rtmp to red5
 - flash clients view screenshare from red5 rtmp

 Fix mute/unmute/talking of user in voice conference
2017-07-11 13:31:56 -07:00
Richard Alam
40d00282f5 - send deskshare messages from fsesl 2017-07-10 19:17:51 -07:00
Richard Alam
507cc69939 - fix compile issues 2017-07-07 14:51:25 -07:00
Richard Alam
c2c6b19e95 - group messages into it's own file 2017-06-28 07:23:49 -07:00
Richard Alam
ae4fc536b1 - fix use leaving voice conf 2017-06-24 06:47:19 -07:00
Richard Alam
d0343b40d2 - delay processing of pre-uploaded presentation to make sure that meeting has been created before
presentation conversion has completed.
2017-06-19 13:04:07 -07:00
Ghazi Triki
c7c39989a3 Added all breakout rooms events handlers in akka-bbb-apps project. 2017-06-19 16:57:36 +01:00
Richard Alam
b192327d7e - put back old voice conf message as duplicate so we can have a working client 2017-06-12 14:24:23 -07:00
Richard Alam
35b449b199 - create new status models 2017-06-10 11:11:22 -07:00
Richard Alam
e69b451a7b - cleanup 2017-06-09 13:30:52 -07:00
Richard Alam
4727eb8e8e - send messages from fs to akka apps 2017-06-09 11:04:17 -07:00
Richard Alam
1ccf71cad7 - add new voice conf messages 2017-06-08 17:55:27 -07:00
Ghazi Triki
08ff58f2b4 Fix akka-bbb-fsesl build.sbt and upgrade scala to 2.12.2 and akka to 2.5.1 2017-06-01 15:00:32 +01:00
Richard Alam
467598ffd2 - turn off keep alive message 2017-05-23 17:36:05 -07:00
Pedro Beschorner Marin
c74cc682c4 Merge remote-tracking branch 'mconf/mconf' 2017-03-20 19:45:59 +00:00