1 kommunikatsiooniteenuste arendus irt0080 loeng 10, “telefonisõlmed” avo ots...

21
1 Kommunikatsioonitee nuste arendus IRT0080 Loeng 10, “telefonisõlmed” Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst. [email protected]

Upload: edwina-webster

Post on 18-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

1

Kommunikatsiooniteenuste arendusIRT0080

Loeng 10, “telefonisõlmed”

Avo Otstelekommunikatsiooni õppetool,

TTÜ raadio- ja sidetehnika [email protected]

2

VoiceTelephony & Voice Mail

Unified MessagingConferencing

Find-Me-Follow-MeCall Center

VideoMessaging/MailConferencing Surveillance

CollaborationInstant Messaging

eMeetingsWeb Conferencing

Business AppsCRM, Supply Chain, Call

Center

IntegrationWEB-Portal, Desktop, Devices and

Server-Business Process

Presence

3

What is Asterisk…• Asterisk is a PBX replacement system,

designed to reproduce the features of standard office phone systems. Asterisk is also a Voice over IP toolkit which allows interaction between these PBX features and IP-based networks (local and remote.) Asterisk is hardware independent, and is designed to run on OSS operating systems.

4

Goals of Asterisk• Provide Open-Source implementations of basic

PBX functionality

• Be vendor neutral (despite last point here)

• Be as all-encompassing as possible for features

• Be flexible and provide hooks for advanced features

• Move proprietary hardware features into open source software

• Sell TDM hardware cards for Digium

5

Channel types: VoIP• SIP - Session Initiation Protocol

• H.323

• MGCP - Media Gateway Control Protocol

• SCCP - Skinny Client Control Protocol (Cisco)

All of these use UDP for setup/transport except for SCCP, which uses a mix of UDP/TCP

6

Channel types - non-VoIP• TDM POTS cards (Digium, Zapata, Voicetronix,

etc.)• TDM Digital (AdTran VoFR, Digium E1/T1, etc.)• All TDM cards require install of Zaptel driver

suite• CAPI (ISDN card support for Linux ISDN driver)• USB dongle for FXS• Modem drivers for certain modems (yuck)• Speaker/headphones (don’t try this at home, kids)

7

Some Applications• Dial - connects an inbound call with some

other channel. One specifies the technology (SIP, Zap, H323, etc.) the number to be dialed, the Ring-No-Answer delay, and options (if desired)

exten => 1234,1,Dial(SIP/1234,25)

exten => 1234,2,Voicemail2(u1234)

8

Some Applications (cont’d)• Playback(filename)

– Plays a sound file in .gsm format

• Background(filename)– Plays a sound file while listening for DTMF

(touch tone) input[test]exten => 123,1,Background(press-a-number)exten => 123,2,Goto(1)exten => _X,1,SayDigits(${EXTEN})

9

Some Applications (cont’d)• MeetMe(conf#)

– Adds the caller to a conference room (optionally muted or unmuted)

• Monitor– Records channel (in and out) to .wav or .gsm

files

• PrivacyManager– Forces anonymous calls to enter valid ANI

10

Some Applications (cont’d)• DISA

– Lets callers from one channel get dialtone on another channel

• SetMusicOnHold– You can specify .mp3 files as music on hold

selections (random or sequential)

• MP3Player– Fairly useless, but fun. You can specify files or

streams of .mp3 to be played to callers.

11

Some Applications (cont’d)• There are over 80 different applications in

the system - no time to talk about them all

• Applications are easily created and added if you’re a decent C coder

• Channels are generic, so you don’t have to know about any of the ugly VoIP or TDM stuff

12

Voicemail• Voicemail can be sent as email as well as

stored on disk (1 minute = 100kb)

• Short pages can be sent to email addresses when VM received

• Customizable timezones and time readouts per user - supports multiple languages

• .wav, .gsm file storage or email

• Dial by name directory hinges on VM data

13

Practical Uses (home)• Ditch your long distance company! SIP

long distance (domestic and int) providers starting to crop up at low rates. Use Asterisk to gateway to them.

• Prevent phone spam! Callers with no CID get ditched.

• Filter your phone lines. Allow or forward callers who are on “priority” lists based on ANI.

14

Practical Uses (office)• Ditch your LD company (see prior slide)• Interconnect office PBXs at zero network cost• Get “Unified Messaging” • Give ubiquitous access to the PBX for

home/travelling employees• Disaster recovery scenarios• Move phones into your IT department and away

from your expensive PBX consulting firm• Eliminate adds/moves/changes as physical chores

15

Advanced Topics• Call queues - you can build a call center

with Asterisk, with various call weightings and agent logins/hot seating

• Multi-ring, cascading ring with different technologies (inbound calls forward to your desk line and your cell phone - first answer gets it)

• Multi-language support with same dialplan

• Festival integration for voice synthesis

16

Really Advanced Topics• Manager interface: TCP socket based

interface for controlling and monitoring the system; meant for automated manager tools (see: gastman)

• AGI scripts: built-in scriptable hooks to allow passing of data back and forth between Asterisk and external programs.

• Asterisk.pm - Perl module that works with AGI to handle gruntwork of call handling

17

Really Advanced Topics(cont’d)• Sybase and MySQL modules

• CDR (call detail record) output can be customized or put into database instead of flat file

• Use IAX2 trunk mode to get up to 200% more calls in the same bandwidth as other VoIP systems

• Route your calls to least-cost providers

18

Crazy Extra Stuff That Didn’t Fit• Can run PPP or HDLC over channels -

Asterisk can be a RAS server or a router (masochism)

• Can use speaker/microphone as a “phone line”

• Can do video calls or conferencing

• ENUM e.164 DNS-based call routing

–E.G. 2.1.2.1.2.5.4.3.0.5.1.e164.arpa.

• TDM over ethernet for front-end processing

19

SIP Specifications Supported

RFC 3261 - Session Initiation Protocol

RFC 3265 - SIP-Specific Event NotificationRFC 2833 - RTP Payload for DTMF Digits

RFC 2327 - SDP: Session Description Protocol

RFC 3264 - An Offer/Answer Model with SDP

RFC 1889 - RTP: Transport Protocol for Real-Time Applications

RFC 1321 - MD5 Message-Digest Algorithm

RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication

RFC 783 - TFTP Protocol (used for transferal of configuration files to the gateway)

RFC 2705 – Media Gateway Control Protocol (used for Digit Map implementation)

draft-ietf-sipping-mwi-01 - Message Waiting Indication

draft-ietf-sip-refer-07-Refer-To Header

draft-ietf-sipping-cc-transfer-01draft-burger-sipping-netann-05

draft-ietf-sipping-dialog-package-01draft-ietf-sipping-service-examples-04

20

Lingidhttp://nerdvittles.com/http://www.trixbox.org/

http://www.counterpath.com/

http://www.loligo.com/asterisk/

http://www.onlamp.com

http://www.voip911.gov/

http://www.e164.org/

21

Presentatsioonidhttp://ws.edu.isoc.org/data/

2006/12675549354482287a4f488/telephony.ppt

http://www.educause.edu/upload/presentations/E06/SESS072/Production%20Quality%20Open%20Source%20VoIP.ppt