• Save
My speech at AstriCon 2007
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

My speech at AstriCon 2007

on

  • 635 views

 

Statistics

Views

Total Views
635
Views on SlideShare
633
Embed Views
2

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 2

http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

My speech at AstriCon 2007 Presentation Transcript

  • 1. AstriCon 2007 September 27 Testing Asterisk Advanced Test Methodologies for Enterprise Class IP PBXs Stefano Carlini & Dario Busso, Klarya srl [email_address] [email_address]
  • 2. Klarya @ ATS Group
      • We develop Open Source IP Communication Solutions
    ...dai voce alla tua rete!
  • 3. ...dai voce alla tua rete! Customers in Italy
  • 4. Enterprise IP Communication
    • We need Enterprise Class reliability for our IP Communications platforms and solutions
    • VoIP / IP Telephony
    • Unified Communications: IM, Presence, File Exchange
    • Web Collaboration
    • Three years ago (2004) we choose Asterisk as VoIP Solutions
    ...dai voce alla tua rete!
  • 5. Is Asterisk enterprise ready?
    • Asterisk is/“pretends to be” an Enterprise Class IP PBX
    • ==> the companies providing Asterisk solutions need:
    • Test the Asterisk performances
    • (more important) certify and guarantee these performances to the customers
    ...dai voce alla tua rete!
  • 6. Asterisk & SIP, the key factor
    • SIP’s scalability is a key factor to Asterisk VoIP technology’s continued adoption
    • The need to test the Asterisk iPBX servers under heavily saturated scenarios is becoming more acute
    • The Asterisk SIP servers must be able
    • to bear heavy traffic loads
    ...dai voce alla tua rete!
  • 7. The tutorial focus
    • The focus today is to delineate issues involved in testing Asterisk iPBX servers under heavy call saturation.
    • We show how to test the Asterisk PBX under different test scenarios in order to find out:
    • the VoIP Call Setup Rate
    • the maximum number of concurrent VoIP calls
    • the quality of Voip calls.
    ...dai voce alla tua rete!
  • 8. Important Note ...dai voce alla tua rete! This is an overview about Asterisk Testing Methodologies This is not a full and complete study Purpose: give the guidelines to test your Asterisk PBXs
  • 9. Testing SIP, interesting... but...
    • What I need ?
    • test tools, call generators & terminators capable of processing the same significant loads.
    • Identify
      • the test scenarios
      • the Hw & Sw Platform
      • The measurable results
  • 10. Test Tools: Spirent Abacus 5000
    • Protocols:
      • SIP, SIP-T
      • Skinny, H.323
      • MGCP, H.248/MEGACO, SIGTRAN
    • Interfaces:
      • TCP/IP: Gigabit Ethernet
      • PSTN: T1, E1, T3, E3
      • Analog: FXS, FXO
    • Payload Media:
      • Tones,
      • PCM Audio
      • Video (H.261, H.263)‏
      • Audio (G.711, G.723, G.726, G.729A/B)‏
  • 11. Abacus 5000: IGC3 card (1)‏
    • 1024 calls, RTP with Packet Path Confirmation
    • 4096 calls, no RTP Registration and full SIP call set up and tear down
    • Best for Proxy, Registration, Authentication, Parsers, or non-RTP applications
    • Decoding, PSQM, PESQ, MOS, E-Model, R Factor, J-MOS
    • 256 simultaneous endpoints with compression and decompression
    • G.711u-A law, G.726, G.729AB, G.729B, G.723.1, ...
    • 256 simultaneous PSQM channels
    • 128 simultaneous PESQ channels
    • 128 send or receive T.38 Fax Relay over IP
  • 12.
    • IGC3 Performance:
      • 65K simultaneous registered SIP users per ICG3 subsystem
      • Up to 8192 channels of Signaling without voice for SIP only (packet path confirmation)‏
      • Up to 4096 channels of Signaling without voice for all other VoIP protocols (packet path confirmation)‏
      • Up to 1024 channels of RTP, (packet path confirmation)‏
    Abacus 5000: IGC3 card (2)‏
  • 13. Test Scenario (1)‏
  • 14. Test Scenario (2)‏
  • 15. Test Scenario (3)‏
    • VoIP Call Setup Rate
    • Maximum Concurrent VoIP Calls
    • Converged VoIP and Data Test
    • VoIP test during DoS attacks
    • VoIP Performance with NAT
    • VoIP Performance over IPSEC
  • 16. System(s) Under Test – SUTs (1)‏
    • Asterisk “low profile”
    • (SOHO installation)‏
    • CPU: Via C3 1 Ghz
    • Memory: 1 GB RAM
    • Ethernet: VIA VT6103 PHYT 10/100 Mbps
    • Asterisk “high profile”
    • (Enterprise installation)‏
    • CPU: Xeon 3.0 GHz
    • Memory: 1 GB RAM
    • Ethernet: NC373i Multifunction Gigabit Network Adapter
  • 17. System(s) Under Test – SUTs (2)‏
    • Operating System:
      • Debian GnuLinux Etch 4.0
      • Kernel 2.6.18-4
    • PBX: Asterisk 1.2 NO Real Time Support
    • Dial Plan: FreePBX 2.2.1 Dial Plan Rules
    • RDMS: MySQL 5.0.32 CDR Storage
  • 18. The Measurable Results: Abacus 5000
    • Call attempts.
    • Call completions.
    • Percentage of call completions.
    • Call attempts per hour.
    • Script attempts (number of tests).
    • Percentage of script attempts.
    • Errors received for active channels.
    • Call duration.
    • Call set up time.
    • Call tear down time.
    • Clipping.
    • Ring duration
    • Bit error rate.
    • PESQ value.
    • PSQM value.
    • MOS value.
    • RTP packet loss rate.
    • RTP packets out of order.
    • RTP packets late arrival.
    • RTP jitter.
    • One way delay.
    • Round trip delay.
    • Packet rate.
    • Resolution rate for pattern search.
    • Packet loss.
    • Latency.
    • Rate increment/decrement resolution.
    ... and more...
  • 19. The Measured Results. Focus on:
    • Call attempts.
    • Call completions.
    • Percentage of call completions.
    • Call Setup time.
    • PESQ value.
    • MOS value.
    • RTP jitter.
    • Round trip delay.
    • Packet loss.
    • Latency.
  • 20. Testing Methodology (1)‏
    • Standard 3-Way Handshake of SIP
      • Before calling can commence, the Abacus 5000 must issue a REGISTER request for each of the SIP endpoints.
      • The Asterisk is expected to return a "200 OK" message for each.
      • After the registration process is complete, the calling phase can begin. The Asterisk receives an INVITE request with an SDP payload that describes the desired RTP stream variables for each call.
      • The Asterisk is expected to answer each call with a status message of "200 OK".
      • The Signaling Server then establishes an RTP audio stream for each call
  • 21. Testing Methodology (2)‏
    • All tests consisted of a steady (fixed Call Per Second) call ramp up function attempting to reach the desired call volume.
    • Total test time is 10 minutes for every test.
    • After 10 minutes the calls is terminated and the channels restarted.
    • We repeat the test with more SIP EndPoints
    • When stop?
      • When the measured Call Completition is < 99,9%
  • 22. Testing Methodology (3)‏
    • Media Path Validation: Packet Path Confirmation.
    • A single test subnet is used to reduce testing variables. Future testing of SIP should include multi-hop and WAN/LAN scenarios.
  • 23. Test #1: Call Setup Rate (1)‏
    • Standard
      • IETF RFC 3261 (Session Initiation Protocol)‏
    • Purpose
      • Max VoIP Call Setup Rate that Asterisk can handle
    • Description
      • This test is an end to end VoIP setup with calls forwarded by an Asterisk in the middle where the rate of the call establishment is measured. Calls can be generated and terminated by the abacus system.
    • Materials needed
      • Abacus 5000 with one ICG3 card
      • Asterisk PBX
  • 24. Test #1: Call Setup Rate (2)‏
    • Setup
  • 25. Test #1: Call Setup Rate (3)‏
    • Procedure
      • Configure the Abacus to emulate many VoIP calls (originating and terminating).
      • Configure Asterisk to forward VoIP traffic.
      • Set your call length to '0' so that calls terminate immediately after establishment
      • Start generating calls through the Asterisk at highest rate possible.
      • Measure the call setup rate through the Asterisk
      • Use a graph to map your call setup rates vs. time entries.
  • 26. Test #1: Call Setup Rate (4)‏
    • Variables
      • Number of VoIP clients (the SIP Endpoints)‏
      • IP addressing IPv4, IPv6
      • VoIP protocols SIP or H.323
      • Use of a proxy or gatekeeper
    • Results
      • Call Setup Rate (calls/s)‏
  • 27. Test #2: Max Concurrent Calls (1)‏
    • Standard
      • IETF RFC 3261 (Session Initiation Protocol)‏
    • Purpose
      • This test determines the maximum number of VoIP calls that can be established through an Asterisk.
    • Description
      • This test is an end to end VoIP setup with calls forwarded by an Asterisk in the middle. Calls can be generated and terminated by the abacus system.
    • Materials needed
      • Abacus 5000 with one ICG3 card
      • Asterisk PBX
  • 28. Test #2: Max Concurrent Calls (2)‏
    • Setup
  • 29. Test #2: Max Concurrent Calls (3)‏
    • Procedure
      • Configure the Abacus to emulate many VoIP calls (originating and terminating).
      • Configure Asterisk to forward VoIP traffic.
      • Generate calls starting with one call and increasing your volume until the maximum number of calls is reached in the Asterisk.
      • Use a graph to map your results in number of Sip endpoints vs. normalized number of call completed.
  • 30. Test #2: Max Concurrent Calls (4)‏
    • Variables
      • Number of VoIP clients
      • IP addressing IPv4, IPv6
      • Voice codec type
      • VoIP protocols SIP or H.323
      • Use of a proxy or gatekeeper
    • Results
      • RTP throughput (MB/S)‏
      • Maximum number of calls completed
      • End to end delay
      • Packet Loss and Jitter
  • 31. Results
    • We perform different kind of test
      • NoCDR-NoDPR: Just Asterisk, without CDR recording, without complex Dial Plan rules
      • CDR-NoDPR: Asterisk with CDR engine, without complex Dial Plan rules
      • NoCDR-DPR: Asterisk without CDR engine, with Dial Plan rules from FreePBX.
    • Purpose: Find the bottleneck
    • We repeated every test 3 times (to have average values for the results)‏
  • 32. Results – Call Setup Rate Test (1)‏
    • To compare results you need a reference
    • We choose the following Reference Chart from Minacom (source http://www.minacom.com)‏
  • 33. Results – Call Setup Rate Test (2)‏
  • 34. Results – Call Setup Rate Test (3)‏
  • 35. Results – Max Concurrent Calls
  • 36. Results – Max Concurrent Calls
  • 37. Conclusion (1)‏
    • To deploy Enterprise-Class Asterisk solutions you need
      • Test
      • Measure performances and perform optimization
      • Test Again ;)‏
      • Certify your performances to your customers
    • With the simple (but important) examples we can learn a some important thinks.
  • 38. Conclusion (2)‏ Identify your deployment target Study the competitor's performances in order to have a reference Spend time to analyse and optimize your dial plan Study your system (OS & Applications) in order to optimize the configuration parameters
  • 39. Conclusion (3)‏ A simple example: when you grow the number of the concurrent calls you get the following error in Asterisk: ERROR[6637] rtp.c: Unable to allocate socket: Too many open files To solve the trouble you need increase the number of Operating System Open Files. In GnuLinux you need add the following command in startup Asterisk script: ulimit -c unlimited
  • 40. Thank you! Klarya s.r.l. www.klarya.it [email_address]