• No results found

Skype

N/A
N/A
Protected

Academic year: 2021

Share "Skype"

Copied!
24
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Requirements

Specification

For

SKYPE

Prepared by: Sai Charan

Section: K1429 B-43

LOVELY PROFESSIONAL UNIVERSITY

(2)

CONTEXTS

1 INTRODUCTION ... 1

1.1 DOCUMENT PURPOSE ...3 …

PRODUCT SCOPE ...3

INTENDED AUDIENCE AND DOCUMENT OVERVIEW ...3

DEFINITIONS, ACRONYMS AND ABBREVIATIONS ...4

DOCUMENT CONVENTIONS ...5

2 OVERALL DESCRIPTION ... 6

2.1 PRODUCT PERSPECTIVE ... 6 2.2 PRODUCT FUNCTIONALITY ... 6 2.3 USERS AND CHARACTERISTICS ... 8

OPERATING ENVIRONMENT ...9

DESIGN AND IMPLEMENTATION CONSTRAINTS ...10

2.2 USER DOCUMENTATION ... 11

ASSUMPTIONS AND DEPENDENCIES ...11

3 SPECIFIC REQUIREMENTS ... 12

3.1 EXTERNAL INTERFACE REQUIREMENTS ...12

FUNCTIONAL REQUIREMENTS ... 15 3.3 BEHAVIOUR REQUIREMENTS ... 15

4 OTHER NON-FUNCTIONAL REQUIREMENTS ...17

4.1 PERFORMANCE REQUIREMENTS ... 17

(3)

1.INTRODUCTION

This section gives a scope description and overview of everything included in this SRS document. Also the purpose for this document is described and a list of abbreviations and definitions is provided.

1.1 Document Purpose

The purpose of this document is to present a detailed description of the peer-to-peer broadcast platform known as skype. It will explain the purpose and features of the system, the interfaces of the system, what the system will do, and the constraints under which the system must operate. This document is intended to be used as a reference for developing the initial version of the skype platform for the development team.

1.2 Product Scope

Skype is a method of broadcasting video using peer-to-peer technologies. Its purpose is to allow users to stream video easily, quickly, and free of cost. There are two distinct components that make up the skype platform. There is a component that runs in the user’s web browser and another component that functions as a server to enable connectivity between users’ web browsers.

Current services that provide a similar functionality include Skype and Twitch.tv. Skype uses an external program for its peer-to-peer streaming video. Twitch.tv is a streaming website which uses dedicated centralized servers to support its massive audience.Skype proposes to create a simpler de-centralized service to use used with no additional installments and with the propose of being multiplatform. Multiplatform will rapidly grow as support in existing browser and subversion for mobile continue to extend their support of WebRTC.

1.3 Intended Audience and Document Overview

This document is primarily intended for the development team, our mentors at Citrix Online, professors of CS189A and CS189B, and UCSB Capstone faculty. The SRS will discuss the details and implementation of the project. It is recommended for those without computer science experience to begin with section 1.4 for important acronyms and abbreviations that appear in this document.

(4)

1.4 Definitions, Acronyms and Abbreviations

Web Application The component that runs on end-user’s web browsers, composed of HTML and JavaScript and is also the part that talks to other peers directly

Application Server The component that runs on the host, used to index channels, facilitate peer connections, and serve the web application to web browsers Broadcaster A peer who originates video streams to users

Channel A method of namespacing different

broadcaster’s video streams. Channels are created by a broadcaster which contains only their own video stream. Users can join a

channel to view that broadcaster’s video stream, in which they become a peer for that specific channel.

End-user A person who uses the p2pcast web

application, whether to broadcast or view video streams

Forwarding/ Rebroadcasting The process of one peer in a network

transmitting data it is receiving from another peer in the network to at least one other peer Google Chrome A web browser developed by Google, the

(5)

Host User that runs a p2pcast application server ICE Framework ICE is a framework used to connect peers. First

tries UDP, then TCP with HTTP, then TCP with HTTPS, then TURN servers.

ICE Candidate An ICE candidate is a network interface and port of a peer that is using the ICE framework

NAT A network protocol used in IPv4 networks that

allows multiple devices to connect to a public network using the same public IPv4 address.

skype A web application that allows for peer-to-peer

video broadcasting

Peer A browser that is made available to be

connected to by other peers, can be a broadcaster or user

Peer-to-peer A method of communication, where most data is transmitted between end-users instead of

centralized servers

PeerConnection An object from the RTCPeerConnection API

Signaling A process to exchange control messages and

coordinate communication between two peers

SRS Software Requirements Specification

UDP A simple transmission model with a minimum

of protocol mechanism.

Web Browser A software application for retrieving, presenting and traversing information resources on the World Wide Web

(6)

1.5 Document Conventions

Font: TNR 12

(7)

2. OVERALL DESCRIPTION

2.1 Product Perspective

There are currently no easy or decentralized way to do video broadcasting. Existing solutions to video broadcasting require Operating System centric programs or browser plugins. Additionally, they require the use of significant centralized server resources. This means that offering video broadcasting services is neither cheap nor convenient for users to decide to live stream a broadcast. Two popular approaches to live streaming video are Skype and twitch.tv. however, Skype is a program which a user and all viewers must install. Additionally it is not particularly suited for broadcast, though it is peer-to-peer. The second example Twitch.tv is centralized and requires their a third party program to stream. Both are proprietary formats and users are not in control of their own broadcast streams.

The uses of video broadcasting for the world are limitless. For example a user could want to share their professor’s lecture. Another interesting use case would be sharing a local event, such as a concert, with multiple peers. Directly streaming to all the viewers would be impossible in these couple of scenarios. The average user would likely not have the CPU or bandwidth resources to support more than a few viewers. If a user wanted to support more than a few viewers then said user would have to make use of a service to rebroadcast their stream to all their viewers. Such a service will have restrictions: what a user is allowed to stream, how many viewers are allowed to view the stream, and it would have associated with the service.

2.2 Product Functionality

Skype is a software program, available for both computers and mobile devices, that facilitates free or low-cost communication between Skype users, as well as between Skype users and phones. Skype has several major functions that help it connect people all over the world via chat, voice and video.

Computer-to-Computer Calls

 Skype's most basic function -- and one that is free to use -- is computer-to-computer calls. After signing up for a Skype account and adding a user to your contact list, make a voice or video call to him simply by double-clicking his name and clicking "Call" or "Call With Video." Just as cellphone call quality varies depending on signal reception, the quality of Skype voice and video calls varies depending on the speed and quality of your Internet connection.

(8)

Chat

 Another free Skype feature is text-based chat between users. Similar to instant messaging clients such as Windows Live Messenger and AIM, it's possible to chat with users in your Skype contacts list. After clicking the name of a user, type a message to him in the empty field at the bottom of the window that pops up and click "Enter." In addition to chatting within Skype itself, it's possible to chat via text with Skype contacts using a Web-based messenger such as "ILoveIM" or "imo.im."

Computer-to-Phone Calls

 Once you load credit into your "Skype Account" using a debit card, credit card or PayPal, it's possible to make phone calls to land lines and cellphones around the world, at rates that are fixed and generally low. To call a phone, click the "Call Phones" button at the bottom of your contact list, then enter the number in the window that pops up, making sure to select a country from the list of options, if you're calling internationally, before you click the "Call" button.

SMS Messages

 It's also possible to send text messages to cellphones around the world with Skype. After entering your phone number -- and country code, if necessary -- type a short message in the blank field at the bottom of the window, as you would do if you were chatting with someone. The

difference in the "Call Phones" window is that the button next to the field says "SMS," and clicking it sends an SMS text message to your recipient. Skype notifies you when the text message has been

(9)
(10)

2.3 Users and Characteristics

Hotkeys

Just pop open the Options menu, and click down to “advanced.” Click on “Hotkeys” then select “Enable Keyboard Shortcuts.” From here, you’ll be able to set hotkeys of your choice for a wide array of different functions. Granted, the only one I actually use is Push To Talk, but it’s still incredibly convenient.

Screen Sharing

If you’re in a call with someone (or if you simply right click one of your online contacts), you’ll probably notice that one of the options available to you is “Share Screen.” What this basically does is display a live-stream of your computer screen for your contact, at which point you can show them photos, display videos, or even run presentations. Unfortunately, this feature is only available for free if you’re in a video call between two people. Any more than that, and you’re going to need to pay.

(11)

Send Contacts

Another nifty characteristic of Skype is that it actually allows you to share your contacts with another user. Rather than having to tell one of your friends to search through Skype’s database when they add one of your contacts, you can actually just right-click on their name and select the “Send Contacts” option. From there, it’s a simple matter of ticking the box next to the name of the contact (or contacts) you want them to add. Naturally, this is one you should exercise caution when using: you never know which of your contacts might not want someone knowing their username.

Hidden Emoticons

Skype has a pretty extensive list of emoticons, which can be accessed by clicking the emote image next to your message box. Thing is, this doesn’t actually display all the emotes available to you..

Edit Your Messages

Usually, You can actually edit the message you just sent by pressing “up” on your keyboard with the input box selected. Not only that, you can edit any message you’ve sent in the last several minutes simply by right clicking and hitting “edit message.” Careful, though: you can only edit stuff you sent recently. Once it’s been in chat for a while, it’s stuck there for good.

Customize Your Font

You can customize how your font looks both to yourself and to others in the Skype Menu. Pop into Tools->Options, then click IM & SMS. From there, simply select “IM Appearance,” and tweak your font to your liking.

2.4 Operating Environment

Windows Server 2012 R2 Datacenter OS with all required updates installed. Windows Server 2012 R2 Standard OS with all required updates installed. Windows Server 2012 Datacenter OS with all required updates installed.

(12)

BACK END DATABASES THAT WILL WORK WITH SKYPE

Microsoft SQL Server 2014 Enterprise (64-bit edition), and you must run with Cumulative Update 6

Microsoft SQL Server 2012 Enterprise (64-bit edition), and we recommend running with the latest service pack.

Microsoft SQL Server 2008 R2 Enterprise (64-bit edition), and we recommend running with the latest service pack.

(13)

2.5 Design and Implementation Constraints

Calling: use free Skype-to-Skype calls, anywhere in the world. ˚ Video: have face-to-face meetings without leaving your desk.

(14)

˚ Conferencing: conduct multi-person meetings without any difficult set-up. ˚ Screen sharing: easily show others all or part of your screen.

˚ Instant Messenging (IM): chat with colleagues and business contacts. ˚ File transfer: send and receive large files easily.

˚ Create accounts: easily set up business accounts for every employee. ˚ Allocate Skype Credit: centrally manage balances and automatic top-up

. ˚ Assign features: allocate features, including Online Numbers, Call forwarding, Subscriptions and Voicemail, to individual business accounts.

˚ Monitor usage: view real-time reporting about Skype usage and costs.

2.6 User Documentation

Our application will be primarily designed with user-friendliness in mind. The application will have a lightweight and simplistic GUI that will attempt to hide application and network complexities. In addition a video tutorial will be made to show basic functionality of skype for incoming users.

2.7 Assumptions and Dependencies

• User has stable modern internet connection

• User computer has enough power to rebroadcast

• Broadcaster has either an internal or external webcam

• The service is used preferably on a desktop or laptop

(15)

3.SPECIFIC REQUIREMENTS

3.1 External Interface Requirements

3.1.1 User Interfaces

The user interface will be designed with simplicity and functionality in mind. More features will be added later such as a channel list and descriptions for each channel.

(16)
(17)

3.1.2 Hardware Interfaces

Hardware

component Recommended

CPU 64-bit dual processor, hex-core, 2.26 gigahertz (GHz) or higher.

Intel Itanium processors are not supported for Skype for Business Server 2015 roles.

Memory 32 gigabytes (GB).

Disk EITHER:

(18)

of the disks using RAID 1 and 6 using RAID 10). OR

• Solid state drives (SSDs) able to provide the same free space and similar performance to 8 10000 RPM mechanical disk drives.

Network 1 dual-port network adapter, 1 Gbps or higher (2 network adapters can be used,

but they need to be teamed with a single MAC address and a single IP address). Dual or multi-homed configurations are not supported for Front End Servers, Back End Servers, Standard Edition servers, and Persistent Chat Servers. As long as they are not exposed to the operating system and are being used to monitor and manage server hardware, you can have out of band management systems, such as DRAC or ILO. This scenario doesn't constitute a multi-homed server, and it is supported.

3.1.3 Software Interfaces

Internet Information Services (IIS)

IIS is needed on all Front End Servers, as well as all Standard Edition servers, with the following modules selected:

 Common HTTP Features

o Default Document

o HTTP Errors

o Static Content

 Health and Diagnostics

o HTTP Logging

o Logging Tools

o Tracing

 Performance

o Static Content Compression

o Dynamic Content Compression

 Security

o Request Filtering

o Client Certificate Mapping Authentication

o Windows Authentication  Application Development o .NET Extensibility 3.5 o .NET Extensibility 4.5 o ASP.NET 3.5 o ASP.NET 4.5 o ISAPI Extensions o ISAPI Filters  Management Tools

(19)

o IIS Management Scripts and Tools

We should also note Anonymous Access is also needed, but you get that when you install IIS, so you don’t have a place to select that on the list.

Windows Media Format Runtime

For Windows Server 2012 and Windows Server 2012 R2, you’ll need to install the Media Foundation feature in Server Manager. Now, you actually can start your Skype for Business Server 2015 installation without this one, but you’ll be prompted to install it, and then reboot the server, before the Skype for Business Server 2015 install continues. Better to do it ahead of time.

.NET Framework 3.5

The Framework will likely be installed by default on your Windows Server 2008 R2 machine (definitely check to be sure before you upgrade), but it actually won’t be on your Windows Server 2012/Windows Server 2012 R2 servers (for new installations). To add it in, you’ll need access to your

installation drive or media (the place your Windows Server was installed from, or where the install files are now). Then go ahead and install it as a feature from Server Manager, and point to the installation media (specifically

the \sources\sxs folder) when asked for it, and continue on to install it.

3.2 Functional and Behaviour Requirements

3.2.1 Use Case View

• As a broadcaster, I want to go to a website and stream my video to other viewers. • As a viewer, I want to go to a website and watch other people’s live streams. • As a user, I want a user-friendly experience.

• As a user, I should know whether my web browser is supported. • As a broadcaster, I want to be able to add filters to my broadcast.

• As a broadcaster, I want to be able to stream what’s coming from my webcam. • As a broadcaster, I want to be able to stream what’s on my screen.

• As a broadcaster, I want to be able to create a “Channel” to stream to.

• As a viewer, I want to be able to select a channel and see the stream from the channel.

• As a viewer, I want to be able to disconnect from a channel, and select another channel to view whenever I want.

• As a user, I want to be able to communicate with other users in the channel in real-time. • As a broadcaster, I want to be able to stream to a lot of people without using a lot of resources. • As a broadcaster, I want to be able to stream to a few viewers who will rebroadcast my stream to

other viewers.

(20)

• As a viewer, I want to be able to rebroadcast a stream effectively with little to no technical knowledge.

• As a broadcaster, I want the service to be able to intelligently choose which peers will be able to rebroadcast the stream most effectively.

• As a user, I want my streams to be interrupted as little as possible when a peer encounters issues. 3.2.2 Potential Use Case View

• As a broadcaster, I want to be able to select multiple cameras to broadcast from simultaneously. • As a user, I want to be able to use p2pcast with the Mozilla Firefox browser.

• As a user, I want to be able to register and browse through a list of channels that other users are broadcasting on.

• As a user, I would like the option of using a mobile device to view or broadcast content • As a user, I would like the option of having live chat between broadcasters or viewers

• As a broadcaster, I would like the option of sharing my computer screen as a video source to viewers while simultaneously broadcasting from a webcam.

(21)

4. OTHER NON FUNCTIONAL REQUIREMENTS

4.1 Performance Requirements

1. Creating a new channel as a broadcaster should happen immediately, taking no more than 5 seconds.

2. Joining an existing channel should happen quickly, a live video stream shall begin within 10 seconds.

3. Sudden and unexpected peer disconnections should trigger a new connection to another peer and begin streaming again within 30 seconds.

4. Planned peer disconnections (ex: user leaving channel page and other peer notified) shall be handled gracefully and minimize stream disruptions and begin streaming again within 10 seconds.

5. Peers shall be able to handle rebroadcasting to at least 3 other peers, using recent Apple MacBook Pros for baseline performance of this function which is mainly bottlenecked by browser implementations of WebRTC and video decoding/transcoding.

4.2 Safety and Security Requirements

 The company's security policy includes:

 Usernames are unique.

 Callers must present a username and password or other authentication credential.

 Each caller provides the other with proof of identity and privileges whenever a session is

established. Each verifies the other’s proof before the session is allowed to carry messages.

 Messages transmitted are encrypted from caller to caller.[dubious – discuss] No intermediate node

(router) has access to the meaning of these messages. This claim has been undermined in

May 2013 by evidence that Microsoft (owner of Skype) has pinged unique URLs embedded

in a Skype conversation;[4] this could only happen if Microsoft has access to the unencrypted

form of these messages.

(22)

It’s important that you choose a secure password to access your Skype account. Hackers use lists of common passwords to access accounts (not only on Skype but across all websites), so it’s critical that you use a strong, unique password.

 Use a mixture of letters, numbers and characters – like the characters above the numbers on

many keyboards such as %, *,$, £ and !. Including in your password punctuation, symbols and other non-standard characters helps to increase the strength of your password.

 Avoid names, birthdays and dictionary words, as these are easy to guess and hack.

 The longer the password is, the stronger it usually is – but the harder it is to recall. Choose a password you can remember so that you don’t have to write it down.

It can be difficult to create a strong password and remember it easily. Here are a few techniques to help:

Use a sentence as your password

Passwords are limited to 50 characters, but you can use a short sentence to create a password that’s difficult to crack.

Include numbers, uppercase and lowercase letters in your passwords, so instead of "theanswerismars" try "Th3Answer1sM4rs*"

Make the password personal to you

Your password is something that only you should know and not something that someone else could easily find out. For example, the name of your dog or your favorite movie are things that others might know – especially since, with the advent of social networking, a lot of personal information is available about you.

Try looking outside and describing something you see ("The River Flowing!" or "A Yellow car"), and then apply our recommendations:

(23)

"Th3Riv3rFl0wing*" or "4Y3lloWcar.$" Use a unique password for each site

Many of us have a large number of websites and accounts that we need to remember our username and password for, but not all sites are created equal. Whilst we at Skype care passionately about and invest heavily in your security, not all sites do. So use a password that is unique to each website you use to prevent any compromise of those other sites from affecting your Skype account.

It's common practice for attackers to verify stolen accounts from other websites against high-value accounts like Skype, mail providers and social networks to see if they can get access.

Change your password regularly

Even if you have a strong password, you should change it regularly.

And if you ever suspect your password has been compromised, you should change it immediately. If another website or service where you use the same or a similar password is compromised, change your Skype password as soon as possible to protect your account.

Keeping Skype up-to-date

We'll let you know whenever a new, improved version of Skype becomes available. You can also manually check for updates:

On Skype for Windows desktop go to Help > Check for Updates. On Skype for Mac go to Skype > Check for Updates.

(24)

Privacy settings

Skype’s privacy settings let you control who can contact you on Skype. To update your settings: On Skype for Windows desktop click Tools > Options > Privacy.

On Skype for Mac, click Skype > Preferences > Privacy. On Skype for Android, tap Settings > Privacy.

On Skype for iOS, tap Settings > Privacy. On Skype for Web, click Settings > Privacy.

References

Related documents

A feature of Skype for Business is the ability to share different information with other users.. When chatting with an individual or group of people, users can share

Conversely, when a Lync user adds a Skype contact, the Lync user will create a contact in Lync that will contain the Microsoft Account (MSA) of the Skype user, and not the Skype

x Use of the Skype software is subject to the Skype End User License Agreement (skype.com/legal/eula), Skype Terms of Service (skype.com/legal/tos) and the Skype Privacy

Sign into windows mobile device is for your applications folder in to personal information helpful is currently in skype window will hear more flavor to. Skype application on

In your Skype window, go to the Contacts tab and click the name of the person or the group you wish to start the chat conversation.. You will notice a chat window with the person’s

Click into the Note box and type a note to display when others access your contact card in their Skype For Business application window.. To delete, click into the field and delete

Another aspect which highlighted by the survey is the Skype source code state and measure understanding for Skype user in this point. As shown in Figure 5, most of

In the home page, click the Start button to enter your conference room.. Once inside, the Connection Setup window