Presentation is loading. Please wait.

Presentation is loading. Please wait.

RTMM, VoIP, VVoIP, NGN, Convergence?

Similar presentations


Presentation on theme: "RTMM, VoIP, VVoIP, NGN, Convergence?"— Presentation transcript:

1 RTMM, VoIP, VVoIP, NGN, Convergence?
Alfredo Terzoli / Mosioua Tsietsi

2 PLAN Admin Real time communication today: your experience
A bit of terminology The Internet for transport of real-time data An initial smattering of protocols Convergence What do you expect from this module?

3 Admin Length of each lecture: 1 to 1.5 hours
Expected study time, for each lecture: at least 3 hours (this excludes practicals) Schedule: most days of the week, starting at 8:30 or 9:00 Main practical will be the creation of service, which will be presented to the class

4 Real time communication today
Skype (desktop / cell) Gtalk (desktop / cell) MSN Fring (mobile) Yeigo (mobile) PC to telephone / cellphone Telephone/cellphone to telephone/cellphone

5 RTMM RealTime MultiMedia:
all media, obviously (smell anybody? The power of digitization!) in particular, naturally, voice and video the way we are proceeding we should call it RTMMoIP. (or RTMMoATM?) BTW, how do you conceptualize the Internet?

6 VoIP/VVoIP Voice/video over the Internet Protocol
two classic ways of deploying VoIP, for the enterprise or for the long haul (they can be combined) we will use this term as equivalent to RTMM are we going to talk just about real-time multimedi? Actually not. An important part of the course is to talk about service provision in a converged telecommunication environment

7 IP to transport voice Can the Internet transport voice?
(This is a major change! Up to recently only Telco's have been doing it.) Let’s be more precise: can the INTERNET PROTOCOL be used to transport voice?

8 Realtime communication
Two problems: (easy!) how can a telephone conversation become DATA? does this type of DATA have special requirements?

9 A conversation becomes DATA

10 And it is transported…

11 Another view!

12 Digitized voice: demanding DATA!

13 So, is VoIP possible or not?
Yes, it is possible, but things do need some work here and there, depending on the setting. Once the stuff is done, though, we will get Video transport almost for free too!

14 Different settings… Internet LAN

15 RTP, RVSP, DiffServ, IPv6 RTP: Realtime Transport Protocol (has a companion, RTCP) RSVP: Resource Reservation Protocol DiffServ: Differentiated Services IPv6: IP version 6, the next version of the Internet

16 (Video) Telephony vs Streaming
Real-time communication is the next frontier of the Internet Telephony, Video telephony, Audio and Videoconferencing are more demanding than STREAMING, which has ‘softer’ real-time constraints.

17 Why VoIP/Convergence? Packet based networks are in general more bandwidth-efficient than legacy voice networks

18 Why VoIP/Convergence? Much easier to create ‘services’
Services need DATA, and data is much easier to access and distribute if your network is already a data network. Example: create a a service to read end-of-the-year marks to students phoning in (put in at Rhodes in by Jason Penton)

19 Why VoIP/Convergence? Much easier to extend later to other media
Because of digitization, other media can be treated very much in the same way: once digitized, they are just data Example: extend the system to support video. (And let’s not forget smells! ;-)

20 Typical deployment iLanga Core Local VoIP Endpoints SIP IAX Internet
H.323 MGCP Internet Asterisk GnuGK SER iLanga proxy Legacy PBX BRI PRI PSTN BRI PRI iLanga Core

21 Legacy service provider use
TDM network 1 TDM network 2 Asterisk GnuGK iLanga proxy iLanga Core SER Asterisk GnuGK iLanga proxy iLanga Core SER IP Network (Typically not the Internet)

22 NGN Next Generation Network (replaces and extends IN, the Intelligent Network) telecommunication network, such a Telco network, where service creation is easy and can be done by third parties (that is, not directly by the Telco owning the network) the ‘opening’ of the network is done introducing elements such OSA/Parlay gateways loved by telecommunication engineers!

23 NGN and Internet The Internet is a good candidate to be the ‘de facto’ realization of a NGN big statement, of course and maybe the Internet is going to change name… to say the least, it won’t be the ‘legacy network’ that NGN will have to carry into the future

24 Questions?

25 URLs to follow (an overview on convergence in telecommunication and a springboard for many other related topics; in particular, follow up the link ) (clear explanation of what an overlay network is) (an idea of interconnection on the Internet: and how the Internet is actually formed, but helps with the idea of an overlay too)

26 Alfredo Terzoli / Mosioua Tsietsi
RTMMoIP Alfredo Terzoli / Mosioua Tsietsi

27 PLAN Did you read the hand-out? A few important acronyms
A call is more than a conversation: signalling! Timeline & general organization

28 A few acronyms for you to expand
PBX TDM PSTN T1 SS7 SIP

29 Solutions PBX : Private Branch Exchange
TDM : Time Division Multiplexing PSTN : Public Switched Telephone Network T1 : Trunk (level) 1 (ok, a bit strange); btw, in SA is normally E1 – 2 Mbps SS7 : Signalling System 7 SIP : Session Initiation Protocol

30 Legacy service provider use
TDM network 1 TDM network 2 Asterisk GnuGK iLanga proxy iLanga Core SER Asterisk GnuGK iLanga proxy iLanga Core SER IP Network (Typically not the Internet)

31 Enterprise setting iLanga Core Local VoIP Endpoints SIP IAX Internet
H.323 MGCP Internet Asterisk GnuGK SER iLanga proxy Legacy PBX BRI PRI PSTN BRI PRI iLanga Core

32 VoIP signalling protocols
SIP: Session Initiation Protocol IETF, Internet Engineering Task Force H.323 ITU, International Telecommunication Union MGCP: Media Gateway Control Protocol - ITU H.248/MEGACO: MEdia GAteway COntrol – ITU / IETF

33 SIP In a sense the child of SMTP (Simple Mail Transport Protocol) and HTTP (Hyper Text Transfer Protocol) Simple: establishes the session only uses SDP, for the description of the session RTP for the transport of the media

34 User Agent UAS – server UAS – server UAC – client UAC – client

35 A simple SIP network

36 A SIP conversation

37 Some experiments First, let’s get ourselves a SIP UA besides the one embedded in the telephone: SJphone, (& in the software resources for this module)

38 Experiments Experiment 1: let’s call directly the hardphone, using its IP address Experiment 2: let’s call the hardphone via iLanga, but without being part of iLanga (btw, this is the way the rest of the world can contact you) Experiment 3: let’s join iLanga and start using the extensions and dialling out to the PSTN

39 Got a packet sniffer? A good idea not to get bored with networks is to use a packet analyzer If you don’t have one already, use WireShark, or in the software resources of this module

40 The INVITE message

41 Rough timeline First week: general VoIP concepts + SIP
your work: reading, playing with SIP UA, analyzing SIP and RTP packets Second week: more SIP + Asterisk your work: reading, experimenting with Asterisk; thinking about a service you want to create Third week: more Asterisk, presentation of your service idea your work: reading, starting putting together your service,

42 Questions?

43 Alfredo Terzoli / Mosioua Tsietsi
RTMMoIP Alfredo Terzoli / Mosioua Tsietsi

44 PLAN Getting to know SIP better: essential structure of SIP messages
Beyond the single User Agent: more complex SIP networks Have you played with SJPhone? Some thoughts on your ‘telecommunication status’ right now

45 SIP messages Either a REQUEST or a RESPONSE Uniform structure:
Start line Headers (some mandatory, most optional) (optional) Body Request: start line carries a method Response: start line carries a status

46 User Agents UAS – server UAS – server UAC – client UAC – client
Request Response UAC – client UAC – client

47 Requests/Methods INVITE REGISTER BYE ACK CANCEL INFO

48 Responses / Status(es)
1xx provisional information 2xx success 3xx redirection 4xx client error 5xx server failure 6xx global failure

49 Headers Quite a few: To, From, Cseq, Contact, Subject, Via, Accept, Accept-Language, Accept-Encoding, Authorization, Content-Type, Content-Length, Date, Encryption, Expires, Hide, In-Reply-To, Organization, Max-Forwards, etc

50 Body Not compulsory Typically a description of the session, typically done using SDP, Session Description Protocol BTW, the session description includes what other protocols to use for the actual session. For voice/video session, typically RTP (Real Time Protocol)

51 While exploring… A very useful resource while making sense of SIP and related protocols is the RFC sourcebook that you can find at (folllow the links ‘RFC sourcebook>Protocols’)

52 Ok, we are ready for some fun!
Let’s go checking SIP messages in a UA-to-UA situation, using Ethereal. We won’t be exhaustive in our analysis: SIP is simple, but it is still a full blown protocols for real entities living in a complex environment! Naturally, we will quickly check some of the related protocols (SDP, RTP)

53 Introducing the server

54 Types of SIP servers Proxy (as in the previous slide) Redirect
Stateful, stateless Redirect Registration

55 Our SIP server, SER Sip Express Router (sip.ict.ru.ac.za) in our system acts as proxy & registration server, never as a redirect server Open source, large volume Info about it at

56 Your telecommunication ‘status’
Your SIP soft/hard phones Internet Asterisk SER iLanga Core Rhodes PBX Telkom

57 Call through a proxy

58 Questions?

59 Alfredo Terzoli / Mosioua Tsietsi
RTMMoIP Alfredo Terzoli / Mosioua Tsietsi

60 A conversation becomes DATA

61 And it is tranported…

62 Another view!

63 VoIP bandwith calculation
Let’s get more specific on B/W usage, for AUDIO transmission Two families of CODECS: wave coding unrestricted, any sound (sound engineering) vocoding good for voice, can reach very low bitrates kbps: kilo bits per second (here kilo=1000, not 1024!)

64 ‘Vocoders’ for Videos?

65 Voice Synthesisers & Vocoders
A voice synthesiser includes a vocoder of some type, naturally In fact, using a voice synthesiser one can substantially reduce the bandwidth needed for the transmission of voice. HOW? (BTW, who knows how MIDI works?)

66 B/W consumption of a few codecs

67 VoIP bandwith calculation

68 VoIP bandwith calculation

69 Bandwidth calculators at:
(btw, the white paper distributed to you on b/w calculation comes from newport-networks)

70 Reducing overhead cRTP compact RTP (RFC 2508):
From 40 to 2 to 4 bytes, substantial Trunking: same packet transport more than one conversation (of course, can be used only if on a trunk)

71 Questions?

72 Alfredo Terzoli / Mosioua Tsietsi
RTMMoIP Alfredo Terzoli / Mosioua Tsietsi

73 A conversation becomes DATA

74 And it is tranported…

75 Another view!

76 VoIP bandwith calculation
Let’s get more specific on B/W usage, for AUDIO transmission Two families of CODECS: wave coding unrestricted, any sound (sound engineering) vocoding good for voice, can reach very low bitrates kbps: kilo bits per second (here kilo=1000, not 1024!)

77 ‘Vocoders’ for Videos?

78 Voice Synthesisers & Vocoders
A voice synthesiser includes a vocoder of some type, naturally In fact, using a voice synthesiser one can substantially reduce the bandwidth needed for the transmission of voice. HOW? (BTW, who knows how MIDI works?)

79 B/W consumption of a few codecs

80 VoIP bandwith calculation

81 VoIP bandwith calculation

82 Bandwidth calculators at:
(btw, the white paper distributed to you on b/w calculation comes from newport-networks)

83 Reducing overhead cRTP compact RTP (RFC 2508):
From 40 to 2 to 4 bytes, substantial Trunking: same packet transport more than one conversation (of course, can be used only if on a trunk)

84 Questions?

85 Real-time multimedia and communication in packet networks
Asterisk The open source IP PBX 85

86 Some House Rules Practical component of the course
Workings and power of asterisk, an IP Private Branch eXchange (PBX) Small tutorials will be given on a daily basis before each lecture Large practical – write your own application that adds value to an Asterisk PBX This will be demonstrated to the class at the end of the course. Practical to be done on a Linux machine you can ssh into cc 86

87 Some Admin You should have by now:
- found your extension on pbx.ict.ru.ac.za - registered on iLanga your two phones (sj and hardphone) - explored the messaging between the two phones and the SIP proxy server in iLanga at least in these situations: 1. Registration 2. Call establishment with callee answering and without answer (voic ) - checked the media stream in iLanga and discovered possible difference with respect to the case of calling directly an end point. What happens if you call a telephone registered with iLanga directly via its IP number? Please make sure that problems that you had yesterday are cleared in the first part of the lecture. Enjoy Asterisk! 87

88 Some House Rules Practical component of the course
Workings and power of asterisk, an IP Private Branch eXchange (PBX) Small tutorials will be given on a daily basis before each lecture Large practical – write your own application that adds value to an Asterisk PBX This will be demonstrated to the class at the end of the course. Practical to be done on a Linux machine you can ssh into cc 88

89 What is Asterisk (*)? A private or enterprise grade exchange generally referred to as a private branch exchange (PBX)‏ Designed to interface telephony hardware or software with any telephony application seamlessly and consistently i.e. Asterisk can be moulded to fit any telephony application Asterisk can be used in any of these applications Heterogeneous Voice over IP gateway (MGCP, SIP, IAX, H.323)‏ Private Branch eXchange (PBX)‏ Custom Interactive Voice Response (IVR) server Conferencing server Softswitch? 89

90 What is Asterisk (*)? A private or enterprise grade exchange generally referred to as a private branch exchange (PBX)‏ Designed to interface telephony hardware or software with any telephony application seamlessly and consistently i.e. Asterisk can be moulded to fit any telephony application Asterisk can be used in any of these applications Heterogeneous Voice over IP gateway (MGCP, SIP, IAX, H.323)‏ Private Branch eXchange (PBX)‏ Custom Interactive Voice Response (IVR) server Conferencing server Softswitch? 90

91 What is Asterisk (*)? A private or enterprise grade exchange generally referred to as a private branch exchange (PBX)‏ Designed to interface telephony hardware or software with any telephony application seamlessly and consistently i.e. Asterisk can be moulded to fit any telephony application Asterisk can be used in any of these applications Heterogeneous Voice over IP gateway (MGCP, SIP, IAX, H.323)‏ Private Branch eXchange (PBX)‏ Custom Interactive Voice Response (IVR) server Conferencing server Softswitch? 91

92 Asterisk – Supported Communication Technologies
Asterisk is designed to allow new interfaces and technologies to be added easily Asterisk’s goal is to support every kind of telephony technology possible Asterisk interfaces divided into 3: Zaptel hardware Non-Zaptel hardware Packet voice 92

93 Zaptel Hardware Check out http://www.zapatatelephony.org/
Provide integration with traditional and legacy analogue and digital telephone interfaces Zaptel interfaces available from Digium ( Zaptel interfaces available for a number of telephony interfaces ISDN Basic Rate Interface (BRI)‏ ISDN Primary Rate Interface (PRI)‏ Analog FXS interface – connect to a station i.e. analogue phone Analog FXO interface – connect to an office i.e. PBX 93

94 Zaptel Hardware Digium 4 x FXS card $342 USD
Digium 2 x FXS, 2 x FXO card $360 USD Digium BRI card $469 USD Digium BRI card $1345 USD

95 Packet Voice Protocols
Standard protocols for communication over packet networks Only interfaces that do not require specialised hardware E.g. SIP IAX H.323 MGCP 95

96 Asterisk’s Architecture
96

97 Modules and Applications
Asterisk’s core contains several engines that play a critical role in the software’s operation At startup, Dynamic module loader loads various modules for: Channel drivers File formats Codecs Applications Custom applications launcher i.e. the iLanga Prepaid Application Asterisk’s switching core accepts calls from any of the various interfaces and routes them according to the dialplan Codec translator permits channels which are compressed with different codecs to talk to each other Scheduler and IO Manager which can be used by applications and drivers 97

98 Asterisk’s Architecture
Modular API for Asterisk responsible for Asterisk’s success Channel API, File Format API, Codec API, Application API 98

99 Some Asterisk configurations (basic)‏
Asterisk box contains 1 analog interface for telephone (FXS interface)‏ 1 analog interface to PSTN (FXO interface)‏ Ethernet interface for VoIP 99

100 Some Asterisk configurations
Asterisk box contains One E1 or (PRI) interface connected to a digital to analog converter or channel bank 15 phones connected channel bank 15 lines to PSTN (i.e. Telkom)‏ 100

101 Some Asterisk configurations
In this example we illustrate the possibility of distributing a number of Asterisk boxes Each Asterisk box can be interconnected using TDM technology e.g. BRI or PRI Data technology/VoIP e.g. Inter Asterisk Exchange (IAX)‏ 101

102 Asterisk Filesystem Organisation
/etc/asterisk Contains Asterisk configuration files – NB directory /usr/sbin Contains Asterisk binaries /usr/lib/asterisk/modules Contains runtime modules for channel drivers, codecs, file formats, applications /usr/include/asterisk Contains Asterisk C header files for the building the software /var/lib/asterisk/agi-bin Location of Asterisk Gateway Interface (AGI) for use in dialplan 102

103 Asterisk Filesystem Organisation
/var/lib/asterisk/astdb Asterisk internal database Roughly equivalent to Windows registry /var/lib/asterisk/mohmp3 Storage directory mp3s – used for music on hold /var/lib/asterisk/sounds Storage directory for Asterisk audio files e.g. voice prompts to be used in IVR menus /var/spool/asterisk/outgoing Spooling directory for making outgoing calls Can be used for callback function /var/spool/asterisk/voic Storage directory for Asterisk voic boxes, announcements, etc 103

104 Asterisk Channels Channel naming convention in Asterisk is standard
Outgoing channel names (used in Dial application) named in format: <technology>/<dialstring> <technology> represents type of interface you want to address or use E.g. Zap, SIP, IAX2, etc <dialstring> is a driver-specific string representing destination desired 104

105 Asterisk Channels (Zap)‏
<technology>/<dialstring> Zap / [g] <identifier> <identifier> = number of the channel you are trying to address If <identifier> prefixed by ‘g’ then number is interpreted as a group instead of as a channel e.g. Zap/g1/ (Any available line in group 1)‏ Zap/1/ (TDM channel 1)‏ 105

106 Asterisk Channels (SIP)‏
Outgoing channels typical of the form SIP / <domain> [:<portno>] E.g. SIP/mos 106

107 Asterisk Channels (IAX)‏
IAX2 / [<user> <domain> [:<portno>] Where <user> and <secret> are optional username and secret to connect to the host identified by <peer> and <portno> = optional port number, <exten> = specific extension at an optional context <context>, and optionally with <options> connection options E.g Call to voiptalk.org using “authname” as username and “secretpass” as password, and requesting extension in default context 107

108 Running Asterisk and Environment
Asterisk can be run in console mode or as a daemon process E.g. asterisk –vvvgc (console mode with verbose=3 debugging Asterisk (daemon) – started by typing asterisk Please always run asterisk as daemon and connect to daemon process using: asterisk –r asterisk -vvvvvr When connecting to daemon process you will be connected to the command line interface of Astrerisk (CLI)‏ vitalstatistix*CLI> 108

109 Asterisk CLI When connected to the Asterisk CLI there are a number of commands you can use Go and test them out, see what they do, familiarise yourself with the environment E.g. ‘help’ ‘show applications’ ‘show application x’ ‘show codecs' ‘show translation' ‘extensions reload’ ‘sip reload’ CLI include command completion via the tab key 109

110 sip.conf Please set your phones up to connect to your development box
Create a sip.conf file in your home directory, you can use the reference 110

111 Tomorrow’s Tutorial Create an account for your phone
Play around with some of the settings in the sip.conf file 111

112 Alfredo Terzoli / Mosioua Tsietsi
RTMMoIP Alfredo Terzoli / Mosioua Tsietsi

113 PLAN: tiding up… ENUM: a few more words B/W calculation for VoIP
Plan for the rest of the week

114 PSTN to VoIP Call via SIP
DNS-Server Query e164.arpa.? Response “Call setup” Dial Sip Gateway Sip server (slide by Steven D. Lind,AT&T)

115 VoIP via SIP to VoIP SIP-Server DNS-Server “ENUM” SIP-Server Gateway

116 ENUM ‘strange’ format…
My telephone at home in ENUM format: e164.arpa Why not (it seems more logical!): e164.arpa

117 ENUM ‘strange’ format The second way of representing makes explicit in the DNS search the current format of e.164, which might change in future Using the first one (fully dotted), we isolate ENUM from changes in the e.164 format by the ITU. The only assumption is that e.164 will be numbers, which is safe

118 A conversation becomes DATA

119 And it is tranported…

120 Another view!

121 VoIP bandwith calculation
Let’s get more specific on B/W usage, for AUDIO transmission Two families of CODECS: wave coding unrestricted, any sound (sound engineering) vocoding good for voice, can reach very low bitrates kbps: kilo bits per second (here kilo=1000, not 1024!)

122 ‘Vocoders’ for Videos?

123 Voice Synthesisers & Vocoders
A voice synthesiser includes a vocoder of some type, naturally In fact, using a voice synthesiser one can substantially reduce the bandwidth needed for the transmission of voice. HOW? (BTW, who knows how MIDI works?)

124 B/W consumption of a few codecs

125 VoIP bandwith calculation

126 VoIP bandwith calculation

127 Bandwidth calculators at:
(btw, the white paper distributed to you on b/w calculation comes from newport-networks)

128 Reducing overhead cRTP compact RTP (RFC 2508):
From 40 to 2 to 4 bytes, substantial Trunking: same packet transport more than one conversation (of course, can be used only if on a trunk)

129 Main Prac Building a service in Asterisk Possible dates:
WEDNESDA 16s: presentation of your idea TUESDAY 29: demo of the implemented service

130 A few URLs to follow (by Friday)
(blog with comparison of skype and googletalk) (broadband providers VoIP dilemma) (P2P SIP)

131 Questions?

132 Real-time multimedia and communication in packet networks
Asterisk AGI and Manager Interface

133 Last Practical Create a calculator application using the Asterisk dialplan E.g. phone an extension * answers and provide an IVR menu saying press 1 to go to the calculator, 2 to go somewhere else, and 3 to go somewhere further If I press 1 – must be routed to calculator where I am prompted to choose to go to multiplication menu, division menu, add menu or subtraction menu 1,2,3,4 Within each menu – prompt user for expression separated by star (*)‏ So in addition menu, pressing 100*20 should return 120 While in multiplication menu pressing 100*20 will return 2000 Results can be played using Festival After each result should have option of another operation or going to one of the other menus (+-/*)‏ Remember to check out - Check out the Cut function!

134 Controlling Asterisk Number of ways Asterisk can be controlled
Dialplan Asterisk scheduling (call me)‏ Asterisk Gateway Interface (AGI)‏ Manager Interface

135 AGI AGI allows us to add functionality to Asterisk with many different programming languages Java, Perl, PHP, C, Pascal – Anything! Provides a standard interface through which programs may control asterisk Used for advanced logic or to communicate with resources such as relational databases and external devices Allows asterisk to perform tasks that would be otherwise difficult or impossible

136 AGI – How it works The AGI script is called from the dialplan‏
Asterisk and your program communicate via the STDIN, STDOUT and STDERR communications channels (file handles in programming)‏ Your AGI scripts reads input via its STDIN file handle Your AGI script writes back to asterisk via its STDOUT file handle Your AGI program writes error message back to asterisk via its STDERR file handle

137 Starting your AGI program
Syntax: exten => extennumber,priority,application,arguments The application is “AGI” The argument is the filename of your program The script must be: executable (chmod +x filename)‏ located in /var/lib/asterisk/agi-bin in source versions of asterisk Located in /usr/share/asterisk/agi-bin in binary vesions of asterisk Example: Run a perl script agi-test.agi exten => 1,2,AGI, agi-test.agi

138 Passing args exten 1,2,AGI,agi-test.agi|${ARG1}|${ARG2}
AGI programs always receive two args 1 – path to the AGI script 2 – Arguments passed from the dialplan Notes about arguments: If no arg is given – the arg is empty. Consists of everything on the line following the verticle bar after the file name, up until the final vertical bar‏ Quotes are taken as being part of the argument

139 Communicating with * Use 'show agi' at the CLI will give you a list of commands At script startup time, * sends a group of variables to your script which you have to read in Each item is sent on a line terminated with a newline. The last item is followed by an empty line agi_request: agi-test.agi agi_channel: SIP/1000-bcgd162 agi_language: en agi_context: mtsietsi agi_extention: 105 agi_priority: 2 Commands sent to * must be terminated with newline

140 AGI examples‏ Perl - /usr/share/asterisk/agi-bin/agi-test.agi
Java - /usr/share/asterisk/agi-bin/mosJava.java /usr/share/asterisk/agi-bin/mosJava.agi

141 Manager API A client/server module that allows us to interact with * via TCP/IP Similar to SMTP and HTTP Communicates using tags “header:value” terminated with a newline First tag must be one of the following Action: an action requested by the client. Response: A response to an action from Asterisk Event: An event reported by Asterisk to the client

142 Manager interface (login)‏
telnet into on port 5038 Login Action: Login Username: voipuser Secret: voipuser Events: off /r/n

143 Manager interface (Originate)‏
Action: Originate Channel: SIP/1000 Exten: s Context: mtsietsi Priority: 1 Timeout: 10000

144 Manager interface (Monitor)‏
Action: Monitor Channel: SIP/ab5s51182s File: monitor Mix: 1

145 Today's Practical 1) Extend your calculator to incorporate an AGI program Do the calculation Parse the numbers Take a number to a power Solve complex problems i.e. y = ax4 + ax3 = ax2 + ax + a

146 Real-time multimedia and communication in packet networks
iLanga

147 The Big Idea The flexibility of Asterisk what we have learnt
Working in the software domain bridge between software and hardware closing open environment; more flexible to change Allows us to create something very functional yet simple - iLanga

148

149 SIP Express Router Focuses only on SIP messaging
Performs forking properly Is able to handle high volumes of SIP traffic Has forked into two separate open source projects: OpenSER Kamailio

150 Registration with SER REGISTER 401 UNAUTHORISED (nonce,realm)‏
REGISTER (with MD5Hash(user+nonce+pwd))‏ 200 OK

151 User Devices

152 Example Call Set-up Asterisk 3001 Hangup OK Hangup 3000 3021
Asterisk 3001 Hangup OK Hangup 3000 3021

153 Asterisk The core of iLanga Speaks RTP IAX2 Zap (1 QUADBRI)‏
4 channels to markreader premium line 2 to Telkom and 2 to Rhodes PBX

154 Asterisk Uses AGI Prepaid application Mark reader application
Extensive use of the Dialplan Routing to Telkom and Rhodes Routing to applications Conferencing Directory Voic etc;

155 MySQL Database We have been configuring asterisk via files in /etc/asterisk You can also provide configuration via a Database using /etc/asterisk/extconfig.conf IAX registrations SIP registrations (SER talks to the database)‏ Voic Extensions still configured in extensions.conf! We added “usercontext.conf”

156 Web Frontend Provides a second way of accessing iLanga
Accessing your PBX from anything other than a telephone is a new concept – Made easy by soft switches. Update your details Edit ring-able devices Listen to and control voice mail Add prepaid credit View call log View the directory – click to dial Everything you can do on the site – you should be able to do on a phone

157 Web Frontend Hosted by an Apache web server Written in Flash
Also allows us to make the web site dynamic! Talks to Perl (CGI)‏ PHP Java Proxy (used to be Python)

158 iLanga Proxy Many entities talking to the manager interface caused problems A Proxy was built First in Python, now in Java Passes messages from the web interface to Asterisk Passes messages from Asterisk to the MySQL DB Some actions Icon information Extension state information Dynamic content on the front end

159

160 Short tutorial on Services
Develop (in your head / on paper) a brief action plan for how you would develop one of the following services: SPIT (Spam over Internet Telephony) generator Application to curb SPIT in telephony applications Asterisk-based markreader that integrates with ROSS to deliver marks to calling students over a phone Audio database for storing and replaying all the telephone conversations that you make Meeting scheduler for setting up meetings with other iLanga users A ‘Hangman’ game that is played over the phone between two players Present your ideas to the rest of the class

161 Real-time multimedia and communication in packet networks
Mobicents Service Delivery Platform

162 Our Background Apache Flash C, Perl and PHP scripts
Rhodes VOIP Platform: Asterisk IP PBX SIP Express Router Web front end Apache Flash C, Perl and PHP scripts Java Proxy

163 Asterisk Architecture

164 Analysing the System Service Creation
Dial plan (Apache-like configuration)‏ AGI (programming scripts) i.e. bash, Java, C, etc .. SER configuration (combo of prog lang and UNIX-like config file format)‏ Asterisk Application API (C only)‏ Tight coupling of services and control layer

165 Next Generation Networks
Definition: “A Next Generation Networks (NGN) is a packet-based network able to provide Telecommunication Services to users and able to make use of multiple broadband, QoS-enabled transport technologies and in which service-related functions are independent of the underlying transport-related technologies. It enables unfettered access for users to networks and to competing service providers and services of their choice. It supports generalised mobility which will allow consistent and ubiquitous provision of services to users”. [ITU-T Recommendation Y.2001 (12/2004) - General overview of NGN]

166 Service Delivery Platform

167 JAIN SLEE and JAIN APIs

168 JAIN SIP Applet Phone: An example JAIN System
Origins: Born out of JAIN SIP Initiative Developed by NIST labs Open source Java softphone based on JAIN SIP 1.2 API Planned Extensions: Video services Interop testing Customisation for inhouse projects

169 JAIN SLEE and JAIN APIs JAIN Service Logic and Execution Environment
Defines component model for structuring applications through reusable OO components

170 JAIN SLEE Component Architecture

171 JAIN SLEE Service Instantiation

172 JAIN SLEE Service Instantiation

173 JAIN SLEE Service Example: Call Controller

174 JAIN SLEE Service Example: Call Controller
Profile Name Called User Blocked Addresses Backup Address Voic State torosvi sip:torosvi sip:mobicents sip:hugo null true mobicents false victor sip:victor vhros2 sip:vhros2 vmail sip:vmail

175 JAIN SLEE Service Example: Call Controller


Download ppt "RTMM, VoIP, VVoIP, NGN, Convergence?"

Similar presentations


Ads by Google