Docstoc

asterisk

Document Sample
asterisk Powered By Docstoc
					              Asterisk PBX:
VoIP’s gateway to the future

By Alex Ayala
For Telecom class of 2003
Agenda
   Introduction to VoIP
       Benefits
       Challenges
       CODECS
   Session Initiation Protocol
   Asterisk PBX
   Demonstration
What is VoIP?
   Based on packet switching technology using
    Internet as transport
   Opposed to the traditional circuit switching
    technology, which dominates the Public
    Switched Telephone Network (PSTN)
   Driven by low cost; flat-rate billing

   So why haven‟t we switch to VoIP??
VoIP: Benefits
   Integration of Data & Voice
   Simplification
       Less equipment management
   Network Efficiently
       Save on Bandwidth (silence suppression)
   Cost Reduction
       Bypass PSTN toll fees
VoIP: Challenges
   3 main factors affect the quality of voice
       Latency
       Jitter
       Packet Loss

   If cost is the only criteria
    Managers/Administration would be only ones
    who wouldn‟t mind bad voice quality.
    Employees won‟t compromise quality to
    reduce company‟s bills.
VoIP: Quality of Voice
   Quality of CODEC
       give good quality low delay
   Echo cancellation
       2 wire -> 4 wire PBX (hybrid circuit used for conversion)
       if delay > 10mS echo is notice
   Delay
       Total Delay ( > 200mS one-way; talkers overlap )
       Jitter ( variable packet arrival )
       Delay Management
         Prioritize (RSVP)
         Packet replay (Jitter buffer)
         Segmenting data packets (exit router faster)
VoIP: CODECS
   Overview of a VoIP
                            Voice
    connection:
                                    Compression   Assembling RTP/UDP
                            ADC      Algorithm
   Codecs supported by *
       G.723 – 6.4kbps
       G.729 – 8kbps
                                     Decompress
       G.711 – 64kbps      DAC
                                      Algorithm   Dissembling RTP/UDP




                            Voice
VoIP: Protocols
   RSVP (Resource ReSerVation Protocol)
   RTP (Real Time Protocol)
   RTCP (Real Time Control Protocol)
   SIP (Session Initiation Protocol)
   SDP (Session Description Protocol)
VoIP: SIP Addressing
Uses Internet URLs
     Supports both Internet and PSTN addresses
     General form is name@domain
     To complete a call, needs to be resolved down to User@Host
     Examples:
      sip: alex@pbx.ayalanetworks.com
      sip:Alex Home <3001@pbx.ayalanetworks.com>
      sip:905-845-9430@pbx.ayalanetworks.com;user=phone
      sip:guest@drkangel.org
VoIP: SIP Call Setup
          SIP                                                  SIP
       User Agent                                           User Agent
         Client                                               Server
                    INVITE sip:3004@pbx.ayalanetworks.com



                             200 OK


                               ACK



                          RTP Stream


                               BYE


                               200 OK



          142.55.55.202                           pbx.ayalanetworks.com
VoIP: SIP Requests
 Example: INVITE


Method     Description
REGISTER   Used by client to register a particular address with the SIP server

INVITE     A session is being requested to be setup using a specified media

ACK        Message from client to indicate that a successful response to an INVITE has been
           received
BYE        A call is being released by either party

CANCEL     Cancels any pending requests. Usually sent to a Proxy Server to cancel searches

OPTIONS    A Query to a server about its capabilities
VoIP: SIP REGISTER
Session Initiation Protocol
  Request line: REGISTER sip:pbx.ayalanetworks.com SIP/2.0
    Method: REGISTER
  Message Header
    Via: SIP/2.0/UDP 142.55.31.239:5060;rport;branch= <omit>
    From: Alex <sip:3004@pbx.ayalanetworks.com>
    To: Alex <sip:3004@pbx.ayalanetworks.com>
    Contact: "Alex Ipaq" <sip:3004@142.55.31.239:5060>
    Call-ID: <random seed>@pbx.ayalanetworks.com
    CSeq: 43034 REGISTER
    Expires: 1800
    Max-Forwards: 70
    User-Agent: X-Lite build 1082
    Content-Length: 0
VoIP: SIP INVITE
Session Initiation Protocol
  Request line: INVITE sip:3004@pbx.ayalanetworks.com SIP/2.0
  Message Header
    Via: SIP/2.0/UDP 142.55.55.202:5060;rport;branch=<omit>
    From: Alex Home <sip:3001@pbx.ayalanetworks.com>;tag=<omit>
    To: <sip:3004@pbx.ayalanetworks.com>
    Contact: <sip:3001@142.55.55.202:5060>
    Call-ID: <omit>@142.55.55.202
    CSeq: 23277 INVITE
    Max-Forwards: 70
    Content-Type: application/sdp
    User-Agent: X-Lite build 1088
    Proxy-Authorization: Digest
      username="3001",realm="asterisk",nonce=4c3e876b,
      response=“<hash>”,uri="sip:3004@pbx.ayalanetworks.com"
     Content-Length: 297
VoIP: SDP
Session Description Protocol Version (v): 0
  Owner/Creator, Session Id (o): 3001 173802875 173802875 IN IP4
   142.55.55.202
  Session Name (s): X-Lite
  Connection Information (c): IN IP4 142.55.55.202
  Time Description, active time (t): 0 0
  Media Description, name and address (m): audio 8000 RTP/AVP 0 8 …
  Media Attribute (a): rtpmap:0 pcmu/8000
  Media Attribute (a): rtpmap:8 pcma/8000
  Media Attribute (a): rtpmap:3 gsm/8000
  Media Attribute (a): rtpmap:98 iLBC/8000
  Media Attribute (a): rtpmap:97 speex/8000
 VoIP: SIP Responses

      Description                                          Examples

      Informational – Request received, continuing to      180 Ringing
1xx
      process request.                                     100 Trying

      Success – Action was successfully received,
2xx                                                        200 OK
      understood and accepted.

      Redirection – Further action needs to be taken       300 Multiple Choices
3xx
      in order to complete the request.                    302 Moved Temporarily

      Client Error – Request contains bad syntax or        401 Unauthorized
4xx
      cannot be fulfilled at this server.                  408 Request Timeout

      Server Error – Server failed to fulfill an           503 Service Unavailable
5xx
      apparently valid request.                            505 Version Not Suported

                                                           600 Busy Everywhere
6xx   Global Failure – Request is invalid at any server.
                                                           603 Decline
VoIP: SIP Responses (cont)
Required Fields:

SIP/2.0 200 OK
Via: SIP/2.0/UDP 142.55.55.202:5060
From: Alex Home <sip:3001@pbx.ayalanetworks.com>
To: <sip:3004@pbx.ayalanetworks.com>
Call-ID: <omit>@142.55.55.202
CSeq: 23278 INVITE

     These are copied from the request corresponding to 200 OK
     To and From are NOT swapped
     CSeq is incremented by 1
VoIP: SIP Routing
   VIA headers are used for routing SIP messages

   Requests
       Request Initiator puts address in VIA header


   Responses
       Response initiator copies request VIA header
VoIP: SIP Security
ENCRYPTION

   SIP offers various approaches
     End 2 end encryption
     Hob by hop encryption


AUTHENTICATION

   Proxies might require auth
     Responds to INVITE with 407 proxy auth req.
     Client re-INVITE with Proxy Authorization header


   UAS/Registrars might require auth
     Responds to INVITE with 401 unauthorize
     Client re-INVITE with Authorization header
Asterisk:What is it?
   A complete PBX software for Linux platform
    developed by Digium (M.S.)
   Does PBX call switching, CODEC translation,
    and various applications
   Open Source under GNU license
Asterisk: Applications
   Voicemail
   Dial an interface (ZAP, SIP, IAX, etc)
   Conference Bridging
   ACD Queues (great for Call centres)
   IVR ( press “1” if you know the ext)
   DB operations
   ENUMlookup
   AGI (asterisk gateway interface, like CGI)
       For advance scripting
Asterisk: Overview


   VoIP                                          VoIP
                                 EnumLookup
              Voicemail




  PSTN                                          PSTN
                   ASTERISK PBX

  Analog                                Queue   Analog
  Phones                                        Phones

           Conference Bridging
Asterisk: Call Logic
   Asterisk uses a State Machine to determine
    what to do with a Call

       Context : The Origin of the call (SIP, PSTN, etc)
       Extension: The number Dialed by user
       Priority: A counter that orders a sequence of
        commands
Asterisk: Call Logic Example
   A user dials 3001, which is extension for Voicemail Central. The
    user is define in context => local
extensions.conf
[local]
exten => 3001,1,Voicemailmain2

   A sip user (4001) dials 1001 which is an analog phone (Zap/1), and
    drop in voicemail if unavailable (no one answers for 30 secs)

        sip.conf            extensions.conf
        [4001]              [from-sip]
        Username=4001       exten => 1001,1,Dial(Zap/1,30)
        Context=from-sip    exten => 1001,2,Voicemail2(u1001)
        …
Asterisk: ENUM
   A PSTN user wants to call a SIP user? Only have a
    dialpad. How to dial a URI?
   ENUM. Creates a global directory which map telephone
    number to sip address (or email ).
   DNS lookup (E.164 -> URIs)
   E.164 queries are formed as reversed dot-separated
    digits and attach the enum.domain.tld at the end (usualy
    e164.arpa)
       905-845-9430  0.3.4.9.5.4.8.5.0.9.e164.arpa
Asterisk: Enum Example


                                             ENUM



                                                 sip:3001@skewl.ayalanetworks.com
 IN NAPTR 0.3.4.9.5.4.8.5.0.9.e164.arpa. ?




                                                         INVITE:
          PSTN: 905-845-9430                 sip:3001@skewl.ayalanetworks.com


                           GW                                       sip:3001@skewl.ayalanetworks.com
                     w/ Enum resolution
Asterisk: IAX
   Inter-Asterisk eXchange used by Asterisk as
    an alternative to SIP, H.323, etc
   Supports PKI-style security and trunking
   When trunking, it allocates BW in used only
   Quality is similar to SIP, but as connections
    increase IAX (in trunk mode) becomes better.
   Versions: IAX and IAX2
Asterisk: IAX (cont)


   IAX is NAT/PAT transparent
   IAX2 trunking triples per megabyte
       100 calls/MB (with G.729)
   Over 1000 iaxtel registered users (like FWD)
Top Ten Reasons to Run Asterisk
         Number 10



Convenient, unambiguous single
non-alphanumeric abbreviation: *
Number 9



Dial-an-MP3
           Number 8



Can call you 5 minutes into a blind
     date as 'emergency exit'
          Number 7



Only way to build a call center on
          your laptop
           Number 6



Teleconferencing with your friends
allows you to be more lazy/unsocial
        than you already are
         Number 5



You can have a 31337 answering
           machine.
            Number 4



 Finally you can tell telemarketers ,
      “all representatives of our
household are busy attending other
   telemarketers, your call will be
    answer in order of received”.
            Number 3



     Answer unwanted calls (ex-
girlfriend) with a looping IVR “press
1 to speak to Alex…<beep>..Invalid
      option, please try again…”
           Number 2



Have screaming parents,siblings,etc
      after they can’t call long
  distance,…Password protected.
           Number 1



 Why settle for being just another
    webmaster, hostmaster, or
postmaster when you too can be an
       astmaster like me!
Asterisk: Demo
   2 Asterisk servers
   4 Sip clients , 4 local phones (2 in each
    server)
   IAX2 trunk between servers
   Both will act as sip proxies
   Server A is connected to PSTN via FXO
   Using ENUM for least cost routing
    ASTERISK PBX
     Host: Home
                                          Phone Line connected to FXO card
                                                                                        PSTN
SERVER A




                                                                                               SIP CLIENTS @School

                              SIP CLIENTS @Home
                                                                                                    4001@school
                                    3001@home




                                                                             INTERNET



                                                                                                     4002@school
                                   3002@home




                                                                                                                              2001
    1001                        1002




                                                                                                   ASTERISK PBX
    Analog phones connected to FXS card
                                                                                                    Host: School
                                                                                                                             2002
                                                                                                   SERVER B



                                                                                                                     Analog phones connected
                                                                                                                           to FXS card
THANK YOU
Telecom Class „03

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:68
posted:11/27/2010
language:English
pages:41