Software Requirements Specification for
Unified Communication & Collaboration (UC&C) Version 1.0
Prepared by Altanai (
[email protected] )
8 July 2015
SRS for UC&C service Suite
Altanai Bisht
Table of Contents 1. Introduction 1.1 Purpose 1.2 Document Conventions 1.3 Intended Audience 1.4 Project Scope 1.5 References 2. Overall Description 2.1 Product Perspective 2.2 Product Features 2.3 Classes and Characteristics 2.4 Operating Environment 2.5 Design and Implementation Constraints 2.6 User Documentation 2.7 Assumptions and Dependencies 2.8
Timelines
2.9
Future Road Map
3. System Features 3.1 Session and Policy controller 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements 3.2 Widget and widget's Dev API 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements 3.1.2 Sequences 3.1.3 Functional Requirements 3.4
Calendar 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements
3.5
Authentication
SRS for UC&C service Suite
Altanai Bisht
3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements 3.6
Presence 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements
3.7
Real Time Analytics 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements
4. External Interface Requirements 4.1 User Interfaces 4.2 Hardware Interfaces 4.3 Software Interfaces 4.4 Communications Interfaces 5. Other Nonfunctional Requirements 5.1 Performance Requirements 5.2 Security Requirements 5.3 Software Quality Attributes 6.1 Legal , Copyright and other notices
Revision History Name
Date
Changes
Version
TFX service suite
11 May 2015
First design
1.0
TFX service suite
8 July 2015
Advanced controls
2.0
SRS for UC&C service Suite
Altanai Bisht
1. Introduction 1.1 Purpose TFX service suite is set of components required to build an endtoend efficient and powerful communication solution. It encompses of the followinng :
Signalling layer 1. Signalling server 2. Sessions database
Core components : 1. TFX conf webpage 2. Embeddable TFX Conf iframe Widget Layer Components : 1. Real Time analytics 2. Code 3. Draw 4. context share 5. Screensharing 6. File sharing 7. Recording 8. Rich group / private Messaging 9. Auto Notes 10. Slideshare widget Session Layer components :
1. Policy controller 2. Calendar 3. Notifications 4. Authentications 5. Address Book 6. Presence
SRS for UC&C service Suite
Altanai Bisht
7. Session analytics
1.2 Document Conventions The document describes the software requirements for the process of building TFX suite . TFX is the brand name and suite refers to the suite of services that it contains . All components described as part of suite in this document are modular in nature and need not be necessarily integrated to overall platform for it to work .
1.3 Intended Audience 1. 2. 3. 4. 5.
Developers Project managers Marketing Users Testers
1.4 Project Scope A unified communication , collaboration , conferencing solution . It should be marketed as WebRTC SaaS ( software as a solution ). Enterprises should be able to host the solution in their premises using our provided software components including servers . gateways and clients that might be made as part of TFXconf.
1.5 References http://socket.io/ http://www.webrtc.org/ https://simplewebrtc.com/ http://redis.io/ https://cisco.webex.com http://www.webex.com/ciscospark/ http://en.wikipedia.org/wiki/Secure_Realtime_Transport_Protocol http://tools.ietf.org/id/draftnandakumarrtcwebsdp01.html
2. Overall Description SRS for UC&C service Suite
Altanai Bisht
2.1 Product Perspective This product is composed of the following components : Signalling layer 1. Signalling server : Provided socketio based signalling . Handles offer , answer and SDP transactions between peers . 2. Sessions database : Stores the mapping of users to sessions and their privileges and services . Core components 1. TFX conf : Client product which actually enables users to join a session 2. embeddable TFX Conf iframe : lightweight client embeddable like an iframe Widget Layer Components 1. 2. 3. 4.
Direct Calls : User should be able to directly call anybody else on his network Code : Users in a meeting should be able to Draw : Context Awareness : Use techniques like Text to speech , Message sniffing , page detection , public profile of members etc to find out the context of communication and share with admin . 5. Screensharing 6. File sharing 7. Recording with save option 8. Group Messaging : n : n messaging 9. Private Messaging : 1 to 1 messaging 10. Auto Notes : Store session summary 11. Real Time Analytics : Use webrtc stats , network 12. Slideshare widget Session Layer components : SRS for UC&C service Suite
Altanai Bisht
1. Session analytics : Collect information from network status and client webrtc stats and sessions DB to show , currents number of sessions and their quality . 2. Policy controller : Controls the policies for sessions . Admin portal is used to manage the services , sessions and users . 3. Calendar : Based on authentication Third party API to control the session dates and timings 4. Notifications : Based on authentication Third party API to control the process of sending notifications to users either in form of Email or message on social networking platforms. 5. Authentications : Third party API to control the user authentication process to join a session 6. Address Book : Keep a list of contacts for user . Can also import through other social networking accounts using XMPP . 7. Presence : Keepalive heartbeat signals to facilitate publish , subscribe and notify automatically .
2.2 Product Features 1. Easy to manage and schedule web calls 2. Admin , host , guest privileges control 3. Generic platform to fit for all scenarios like group discussions , webinars , eclassrooms , interviews , presentations etc . 4. To be marketed as SaaS ( Software as a Services ) and PaaS ( Platform as a service ) 5. Provided with prebuilt features like screen sharing , recording ,Whiteboard , collaborative programming , multi language chat . More services can be also be added . 6. Session and Policy Management 7. Extra Security 8. Rich set of configurable widgets recording , screen sharing , media control more .. 9. Browser to Browser / Browser to Device / Device to Device communication 10. Layered and Modular setup of components 11. Context Enabled , Immersive Experience 12. Developer friendly APIs and SDK
SRS for UC&C service Suite
Altanai Bisht
2.3 Classes and Characteristics Sessions id ,date, time , purpose , admin , host , guests
2.4 Operating Environment All WebRTC supported desktop and mobile browsers
2.5 Design and Implementation Constraints 1. Anti webrtc corporate or regulatory policies 2. hardware limitations ie no mic or camera 3. software limitations ie no or unsuitable chrome browser 4. RAM and memory requirements 5. organization has blocked access to TFX signalling server or TURN server
2.6 User Documentation 1. user manuals 2. online help 3. dev API tutorials 4. delivery formats and standards
2.7 Assumptions and Dependencies ● The users should have webrtc supported browser and allow VOIP communication in enterprise policies . ● User must gave media permission for the camera and microphone access for video sessions . ● Permissions should be given to share screen when asked by screen sharing widget.
2.8
Timelines
Milestone 1 : Signalling server , Sessions database , TFX conf
SRS for UC&C service Suite
Altanai Bisht
Milestone 2 : Authentication, Policy controller , calendar , Real time Analytics , more widgets
SRS for UC&C service Suite
Altanai Bisht
Milestone 3 : Presence Notification , Context sharing
2.9
Future Road Map
Road Map : Telco SIP Integration through protocol adapters
SRS for UC&C service Suite
Altanai Bisht
3. System Features 3.1 Session and Policy controllers 3.1.1 Description and Priority A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions . Sample screens for Admin console as part of Session and Policy controller : Sample Output JSON file to be shared among all peers: { "meeting" : { "meeting_esssential":{ "meeting_name" : "officemeeting" , "description" : " offical meeting to discuss next year goals" , "password" : "kjwsgdkx" }, "date_time":
{ "date" : "12may2015", "start": "16:00", "end" : "21:00"
SRS for UC&C service Suite
Altanai Bisht
}, "meeting_settings":{ "meeting_type": "n:n audio only" }, "invite_attendees":{ "host": "
[email protected]", “aletrnative_host”:””, "attendees":"
[email protected]" }, "meeting_options":{ "chat_private": "y", "chat_group": "y", "video_hd":"y", "file_transfer":"n", "screen_sharig":"n", "context_aware":"n" }, "attendees_privileges":{ "save_print_chat":"n", "view_participants_list":"y", "record_session":"n" } }
}
3.1.2 Sequences
SRS for UC&C service Suite
Altanai Bisht
3.1.3 Functional Requirements Policy controller will control the behaviour , privileges and properties of every session created on WebRTC communication platform. Client side session controller Roles and Privileges are maintained in JSON format Sessions parameters can also change dynamically
3.2 Widget and widget's Dev API 3.1.1 Description and Priority A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions .
SRS for UC&C service Suite
Altanai Bisht
3.1.2 Sequences
3.1.3 Functional Requirements Following types of widgets are required 1. Unique URL based session management 2. Direct Calls 3. Instant messaging ( public chat and private chat ) 4. Audio Conferencing 5. Presenterviewer based video Streaming 6. Whiteboard 7. filesharing 8. screen sharing 9. calendar 10. Invitation alarms and notifications 11. Meeting Recorder 12. slideshare widget
3.3 TFX conf Web/Mobile Page and Embeddable iframe 3.1.1 Description and Priority
SRS for UC&C service Suite
Altanai Bisht
A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions . 3.1.2 Sequences
3.1.3 Functional Requirements unified communication , collaboration , conferencing , calling solution.
3.4
Calendar 3.1.1 Description and Priority A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions .
SRS for UC&C service Suite
Altanai Bisht
3.1.2 Sequences
3.1.3 Functional Requirements Hold Scheduled and past calls for every authenticated user sync with work calendar
3.5
Authentication 3.1.1 Description and Priority A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions .
SRS for UC&C service Suite
Altanai Bisht
3.1.2 Sequences
3.1.3 Functional Requirements Oauth 2.0 based Open ID support for third party authentication like google , Linkedin
3.6
Presence 3.1.1 Description and Priority A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions .
SRS for UC&C service Suite
Altanai Bisht
3.1.2 Sequences
3.1.3 Functional Requirements heartbeat keepalive signals followed by answer by clients till they are in session
3.7
Real Time Analytics 3.1.1 Description and Priority Collects data to represent based on WebRTC stats of peers , sessions DB , network report user connecting , disconnecting a session , location etc . 3.1.2 Sequences 3.1.3 Functional Requirements Use webrtc stats to get real time stats Store vital stats in DB for every session for future reference Algorithm to calculate other graphs based on values stored in session DB
SRS for UC&C service Suite
Altanai Bisht
3.8 Context Awareness 3.1.1 Description and Priority Use algorithms and pattern to deduce context of communication from ongoing sessions and share with admin in real time . 3.1.2 Sequences
3.1.3 Functional Requirements Use frequently used words , location , user profile , session description etc to share the context of communication with Admin .
3.9 User Profile Management 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements
SRS for UC&C service Suite
Altanai Bisht
3.9 Contacts 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements
4. External Interface Requirements 4.1 User Interfaces Admin portal Manage users Manage Widgets and Session Modules Check Sessions Analytics
SRS for UC&C service Suite
Altanai Bisht
User TFX conf Login screen
SRS for UC&C service Suite
Altanai Bisht
Meeting screen as a Host Create a meeting Add purpose Add date , time , duration Add email for host and guests Set alarm / notification settings
SRS for UC&C service Suite
Altanai Bisht
SRS for UC&C service Suite
Altanai Bisht
Meeting screen as an Attendee Join a Meeting with email and password
SRS for UC&C service Suite
Altanai Bisht
Call screen Meeting screen
4.2 Hardware Interfaces microphone access to web page camera access to web page
4.3 Software Interfaces
4.4 Communications Interfaces 1. Signalling server communications protocol socketo.io 2. Media transmission protocol SRTP
5. Other Nonfunctional Requirements 5.1 Performance Requirements 1. User Accounts Management 2. Peer to peer communication 3. Plugins / external resources required 4. Contacts Management SRS for UC&C service Suite
Altanai Bisht
5. Calendar and Event Management 6. Third party integration 7. Conferencing 8. Customization 9. Embedding and Compressibility 10. Pushing updates 11. Device Dependence 12. Standards compliance 13. Developer support 14. Bandwidth Quality Adaption 15. Page load Time ( irrespective of time to login ) 16. Time between Call initiation and connection Browsers supported 17. OS Compatibility
5.2 Security Requirements 1. session security and privacy 2. user identity authentication 3. policies or regulations infringement 4. security or privacy certifications
5.3 Software Quality Attributes 1. adaptability 2. availability 3. correctness 4. flexibility 5. interoperability 6. maintainability 7. portability 8. reliability 9. reusability 10. robustness 11. testability 12. usability SRS for UC&C service Suite
Altanai Bisht
6. Licensing 6.1 Legal , Copyright and other notices All products under TFX suite will be property of Above Solutions .
Appendix A: Glossary WSC
WebRTC Session Controller
IP
Internet protocol
VOIP
Voice over IP
WebRTC
Web based Real Time Communication .
Appendix B: Analysis Models
Appendix C: Issues List
SRS for UC&C service Suite
Altanai Bisht