Commit Graph

210 Commits

Author SHA1 Message Date
Richard Alam
5fc079464d - try to setup actor context 2020-02-07 15:19:10 -08:00
Richard Alam
f5567ae971 - add health service 2020-02-07 15:01:37 -08:00
Richard Alam
52dbe43c2a - add http interface 2020-02-07 13:23:29 -08:00
Richard Alam
1e5f4a19ce - handle heartbeat events 2020-02-06 14:23:39 -08:00
Richard Alam
bf80c1071c - parse userid properly 2020-02-06 09:49:05 -08:00
Richard Alam
7911d2b874 - client session wasn't set properly 2020-02-06 07:36:42 -08:00
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
0bad0747be Update scala, sbt and akka version to the latest. 2018-12-16 20:18:37 +01:00
Ghazi Triki
78f5b2715d Improve akka-bbb-fsesl packaging. 2018-12-14 15:15:19 +01:00
Richard Alam
71da5e6cac
Merge pull request #6383 from ritzalam/try-to-fix-akka-logging
- minimize logging of redis connection
2018-12-11 17:08:35 -05:00
Richard Alam
3f9dc6655a - minimize logging of redis connection 2018-12-11 14:06:09 -08:00
Richard Alam
2f383512c8
Merge pull request #6382 from ritzalam/try-to-fix-akka-logging
Try to fix akka logging
2018-12-11 16:47:16 -05:00
Richard Alam
c69fb9d585 - try to fix logging for akka fsesl 2018-12-11 13:45:45 -08:00
Ghazi Triki
9569704254 Exclude red5 dependencies from akka and web projects. 2018-12-10 20:32:08 +01:00
Ghazi Triki
575c77d991 Minor edits to build.sbt 2018-12-10 19:18:32 +01: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
2614ba2cd0 Update deployment configuration. 2018-11-22 12:54:40 -02:00
Ghazi Triki
fbd1d631d6 Move redis communication classes from red5 applications to bbb-apps-common project. 2018-11-21 10:55:06 -02:00
Ghazi Triki
8e10280614 Fix configuration for akka and bbb-web projects. 2018-11-14 20:18:12 +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
Ghazi Triki
83025a9d5e Merge remote-tracking branch 'bigbluebutton/master' into jvm-quality-improve
# Conflicts:
#	bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/ImageToSwfSlidesGenerationService.java
2018-09-12 18:49:25 +01:00
Anton Georgiev
1462810b96 Merge branch 'v2.0.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.0 2018-09-06 22:06:40 +00:00
Felipe Cecagno
4857382969 fsesl wait for freeswitch; change links by depends_on; remove freeswitch ipv6 config files; enable wss-binding element on freeswitch; fix kurento listen only 2018-08-24 17:15:47 -03:00
Felipe Cecagno
232c485762 revert some unneeded changes 2018-08-24 17:15:47 -03:00
Felipe Cecagno
b91c13e054 update instructions and implementation of a working docker-compose (no recordings yet) 2018-08-24 17:15:47 -03:00
Felipe Cecagno
62311387b8 more changes to configure redis using environment variables 2018-08-24 17:15:47 -03:00
Felipe Cecagno
c2e507713a add a few docker containers definitions and compiled a list of what is still missing 2018-08-24 17:15:47 -03:00
Ghazi Triki
2820178b83 Updated JVM projects dependencies and configuration. 2018-08-05 22:37:11 +01: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
1968756f73 - update fsesl lib jar version 2017-10-20 08:35:50 -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
Anton Georgiev
19355eef41 Merge pull request #4249 from antobinary/audio-state
Handle renamed stop_talking_handler event from FreeSWITCH
2017-08-17 12:20:43 -04:00
Anton Georgiev
47ab72de88 handle renamed stop_talking_handler event from FreeSWITCH 2017-08-16 10:17:23 -04: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
99046fb685 - handle emoji status changed message in client 2017-06-26 12:38:00 -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
Richard Alam
b8de0c9231 - add authorized role to registered user 2017-04-17 21:23:17 +00:00
Pedro Beschorner Marin
c74cc682c4 Merge remote-tracking branch 'mconf/mconf' 2017-03-20 19:45:59 +00:00
Richard Alam
1e8d7a5229 Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into try-to-cleanup-connection
Conflicts:
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/BreakoutRoomApp.scala
2016-10-21 19:36:07 +00:00
Richard Alam
5ba3405941 - remove defunct connection when client auto-reconnects. 2016-10-20 15:08:58 +00:00
Ghazi Triki
b10237ebad Upgrade commons-codec dependency version to 1.10 2016-10-05 17:29:37 +01:00
Ghazi Triki
1d34bda5c2 Force audio profile in freeswitch transfer command. 2016-09-21 21:10:44 +01:00
perroned
0e3096d00d Merge remote-tracking branch 'upstream/master' into merge-webrtc-screenshare-2 2016-08-05 18:45:59 +00:00
Richard Alam
8e9b16776c Joining voice conf of breakout room
A moderator should be able to listen-in on the breakout room. During a previous merge, the
 handler of the transfer message in FSESL was accidentally removed. The user isn't able to
 the breakout room's voice conference anymore.
2016-08-05 13:58:07 +00:00
Anton Georgiev
2ae55432fd deskshare transition to webrtc screenshare changes 2016-07-29 16:16:55 +00:00
Anton Georgiev
01e0c99c58 subscribe for -DESKSHARE in meeting, adjust for liveMeeting 2016-07-20 21:39:36 +00:00
Richard Alam
58c239bc43 Merge branch 'master' into merge-bbb-1.1-dev-java8-with-master
Conflicts:
	akka-bbb-apps/build.sbt
	akka-bbb-apps/src/main/java/org/bigbluebutton/core/api/IBigBlueButtonInGW.java
	akka-bbb-apps/src/main/resources/application.conf
	akka-bbb-apps/src/main/scala/org/bigbluebutton/Boot.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MeetingModel.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MessageSenderActor.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/RecorderActor.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/InMessages.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/OutMessages.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/ValueObjects.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/WhiteboardApp.scala
	akka-bbb-fsesl/build.sbt
	akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/pubsub/receivers/RedisMessageReceiver.java
	akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/voice/freeswitch/ConnectionManager.java
	akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/voice/freeswitch/FreeswitchApplication.java
	bbb-common-message/build.sbt
	bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Constants.java
	bbb-common-message/src/main/java/org/bigbluebutton/common/messages/MessagingConstants.java
	bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Util.java
	bigbluebutton-apps/build.gradle
	bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/RedisPubSubMessageHandler.java
	bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml
	bigbluebutton-client/build.xml
	bigbluebutton-client/resources/config.xml.template
	bigbluebutton-client/resources/prod/BigBlueButton.html
	bigbluebutton-client/src/org/bigbluebutton/common/Images.as
	bigbluebutton-client/src/org/bigbluebutton/main/maps/ApplicationEventMap.mxml
	bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as
	bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/utils/JavaCheck.as
	bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
	bigbluebutton-web/build.gradle
	bigbluebutton-web/grails-app/conf/spring/resources.xml
	bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
	bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
	bigbluebutton-web/src/java/org/bigbluebutton/api/domain/Meeting.java
	bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/MeetingMessageHandler.java
	bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/RedisMessagingService.java
	record-and-playback/core/scripts/bigbluebutton.yml
2016-05-16 11:35:36 -04:00
Richard Alam
7ae9b7b204 Merge branch 'merge-webrtc-ds' of https://github.com/antobinary/bigbluebutton into antobinary-merge-webrtc-ds
Conflicts:
	akka-bbb-apps/build.sbt
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
	akka-bbb-fsesl/build.sbt
	akka-bbb-fsesl/src/main/java/org/bigbluebutton/freeswitch/voice/freeswitch/ESLEventListener.java
	akka-bbb-fsesl/src/main/scala/org/bigbluebutton/freeswitch/VoiceConferenceService.scala
	bbb-common-message/build.sbt
	bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Constants.java
	bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Util.java
	bigbluebutton-apps/build.gradle
	bigbluebutton-web/grails-app/conf/spring/resources.xml
	bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
2016-05-20 20:27:52 +00:00
Richard Alam
433f09f72d Merge branch 'dfengBBB' of https://github.com/dfeng99/bigbluebutton into dfeng99-dfengBBB
Conflicts:
	bbb-common-message/build.sbt
	bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
2016-05-20 15:40:50 +00:00
Anton Georgiev
228dfb4061 Merge branch 'mod-verto-1' of github.com:antobinary/bigbluebutton into merge-webrtc-ds
Conflicts:
	akka-bbb-apps/build.sbt
	akka-bbb-apps/src/main/resources/application.conf
	akka-bbb-apps/src/main/scala/org/bigbluebutton/SystemConfiguration.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MessageSenderActor.scala
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
	akka-bbb-fsesl/build.sbt
	bbb-common-message/build.sbt
	bbb-fsesl-client/build.sbt
	bbb-fsesl-client/src/main/java/org/freeswitch/esl/client/inbound/Client.java
	bigbluebutton-apps/build.gradle
	bigbluebutton-client/build.xml
	bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/utils/BrowserCheck.as
	bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/utils/JavaCheck.as
	bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
	bigbluebutton-html5/app/client/NotificationControl.coffee
	bigbluebutton-html5/app/client/globals.coffee
	bigbluebutton-html5/app/client/lib/bbb_api_bridge.coffee
	bigbluebutton-html5/app/client/main.coffee
	bigbluebutton-html5/app/client/main.html
	bigbluebutton-html5/app/client/stylesheets/whiteboard.less
	bigbluebutton-html5/app/client/views/chat/chat_bar.coffee
	bigbluebutton-html5/app/client/views/modals/settings.coffee
	bigbluebutton-html5/app/client/views/modals/settings.html
	bigbluebutton-html5/app/client/views/users/user_item.coffee
	bigbluebutton-html5/app/client/views/whiteboard/whiteboard.coffee
	bigbluebutton-html5/app/client/views/whiteboard/whiteboard.html
	bigbluebutton-html5/app/collections/collections.coffee
	bigbluebutton-html5/app/config.coffee
	bigbluebutton-html5/app/lib/router.coffee
	bigbluebutton-html5/app/server/collection_methods/meetings.coffee
	bigbluebutton-html5/app/server/collection_methods/users.coffee
	bigbluebutton-html5/app/server/publish.coffee
	bigbluebutton-html5/app/server/server.coffee
	bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
	record-and-playback/presentation/scripts/process/presentation.rb
	record-and-playback/presentation/scripts/publish/presentation.rb
2016-05-18 15:14:04 +00:00
Chad Pilkey
24c6d48dc2 removing files that should not have been committed 2016-05-02 12:45:25 -07:00
Richard Alam
b86f32b8c1 Sync with upstream repository
Merge branch 'master' of github.com:bigbluebutton/bigbluebutton
2016-04-26 20:01:20 -04:00
Ghaz Triki
11d86f6aa8 Merge 'branch air-ui' into 'mobile-client' 2016-04-26 09:19:17 +01:00
David Feng
67c14f9056 This enable avatar to be display in other participants video window 2016-04-20 14:08:13 +08:00
Anton Georgiev
095680cd46 resolve import issues 2016-03-30 17:34:34 -04:00
Richard Alam
a684aa4dfc Merge into bbb-1.1.dev
Merge master, breakout rooms, and closed captioning into bbb-1.1-dev branch.

Conflicts:
	akka-bbb-apps/src/main/java/org/bigbluebutton/core/api/IBigBlueButtonInGW.java
	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/api/MessageNames.scala
	bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as
2016-03-21 18:12:30 +00:00
Anton Georgiev
12d61d0ddc remove unused classes 2016-02-04 20:53:43 +00:00
Ghazi Triki
2fb347bc25 Refactored the way that conference transfer between the parent room and breakout room is requested. 2016-02-03 22:30:08 +01:00
Anton Georgiev
0cdea4d9f0 add FreeSWITCH deskshare related conf 2016-02-03 20:00:29 +00:00
Pedro Beschorner Marin
e9cc024e5e Added exception handlers to deskshare actors and refactored the akka ones 2016-02-03 18:41:49 +00:00
Anton Georgiev
21f2d7a788 limit -DESKSHARE to fsesl only, not akka-bbb-apps 2016-01-29 20:52:14 +00:00