Instalasi SIPp untuk Menguji Asterisk

screen-shot sipp

screen-shot sipp

SIPp merupakan program opensource yang digunakan untuk membangkitkan trafik protocol SIP. Didalamnya terdapat skenario user agent (UAC dan UAS) dan untuk membangun dan merelease beberapa panggilan dengan metode INVITE dan BYE. SIPp ini dapat digunakan untuk menguji kemampuan dan performansi Asterisk, berapa banyak ia dapat menghandle panggilan SIP dalam satu waktu.

Source code SIPp dapat didownload dari sini. Ada beberapa mode instalasi SIPp yang mungkin, yaitu:

  1. Tanpa TLS (Transport Layer Security) dan tanpa dukungan authentication : mode ini merupakan setup yang direkomendasikan jika kita tidak memerlukan otentikasi SIP dan/atau TLS.
       # tar xvzf sipp-xxx.tar.gz
       # cd sipp-xxx
       # make
    
  2. Dengan dukungan TLS dan authentication. Mode ini memerlukan library OpenSSL (>=0.9.8). Di debian diperlukan package libssl-dev. Ini seperti software SIP client yang harus terlebih dahulu melakukan otentikasi username dan password ke server Asterisk sebelum melakukan panggilan.
       # tar -xvzf sipp-xxx.tar
       # cd sipp
       # make ossl
    
  3. Dengan PCAP play dan tanpa dukungan authentication. Mode ini memerlukan libpcap dan libnet. Di Debian, diperlukan package libpcap-dev. Dengan PCAP trafik media (RTP) yang berupa audio atau audio+video dapat dikirimkan dengan RTP echo dan RTP/pcap replay.
      
      # tar -xvzf sipp-xxx.tar
      # cd sipp
      # make pcapplay
    
  4. Dengan PCAP play dan dukungan authentication, sehingga autentikasi dan pengiriman media RTP dapat dilakukan. Mode ini memerlukan openssl, libpcap dan libnet.
      
      # tar -xvzf sipp-xxx.tar
      # cd sipp
      # make pcapplay_ossl
    

Saya sendiri lebih menyukai instalasi dengan dukungan PCAP play dan otentikasi, sehingga UAC ini menyerupai sistem (SIP client) yang real.

Dalam pengiriman media, SIPp mempunyai beberapa mode transport, yaitu

  1. UDP mono socket (default).
    Di mode ini (dengan parameter di baris perintah SIPp “ -t u1“), satu soket IP/UDP dibuka antara SIPp dan server remote. Semua panggilan akan menggunakan socket ini. Mode ini umumnya digunakan untuk mengemulasikan hubungan antar 2 server SIP.
  2. UDP multi socket.
    Di mode ini (dengan parameter di baris perintah SIPp “ -t un“), satu soket IP/UDP dibuka untuk tiap panggilan baru antara SIPp dan server remote. Mode ini biasanya digunakan untuk mengemulasikan user agent (UA) dalam melakukan panggilan ke server SIP.
  3. TCP mono socket.
    Di mode ini (dengan parameter di baris perintah SIPp “-t t1“), satu soket IP/TCP dibuka antara SIPp dan server remote. Semua panggilan akan menggunakan socket ini. Mode ini umumnya digunakan untuk mengemulasikan hubungan antar 2 server SIP.
  4. TCP multi socket.
    Di mode ini (dengan parameter di baris perintah SIPp “-t tn”), satu soket IP/TDP dibuka untuk tiap panggilan baru antara SIPp dan server remote. Mode ini biasanya digunakan untuk mengemulasikan user agent (UA) dalam melakukan panggilan ke server SIP.
  5. TLS mono socket.
    Di mode ini (dengan parameter di baris perintah SIPp “-t l1“), satu soket secure TLS dibuka antara SIPp dan server remote. Semua panggilan akan menggunakan socket ini. Mode ini umumnya digunakan untuk mengemulasikan hubungan antar 2 server SIP. Saat menggunakan TLS transport, SIPp memerlukan 2 file di direktori lokal, yaitu certificate (cacert.pem) dan kuncinya (cakey.pem). Jika salah satu terkunci dengan password, SIPp akan menanyakan password tersebut. SIPp juga mendukung X509 CRL (Certificate Revocation List). CRL dibaca dan digunakan jika baris perintah “-tls_crl” diberikan.
  6. TLS multi socket.
    Di mode ini (dengan parameter di baris perintah SIPp “-t ln“), satu soket secure TLS dibuka untuk tiap panggilan baru antara SIPp dan server remote. Mode ini biasanya digunakan untuk mengemulasikan user agent (UA) dalam melakukan panggilan ke server SIP.
  7. IPv6 support.
    SIPp 1.1 memberikan dukungan IPv6. Untuk menggunakannya, spesifikasikan alamat IP lokal (dengan parameter di baris perintah SIPp “-i”) dengan alamat IP IPv6. Contoh berikut untuk server UAS yang listen di port 5063 dan client UAC mengirimkan trafik IPv6 ke port tersebut.

      ./sipp -sn uas -i [fe80::204:75ff:fe4d:19d9] -p 5063
      ./sipp -sn uac -i [fe80::204:75ff:fe4d:19d9] [fe80::204:75ff:fe4d:19d9]:5063
    

Saat mode transport “multi-socket” digunakan, jumlah maksimum soket yang dapat dibuka (yang berkaitan dengan
jumlah panggilan simultan yang dapat dilakukan) akan ditentukan oleh sistem. Begitu jumlah maksimum soket yang dibuka mencapai batas, trafik akan didistribusikan ke soket-soket yang telah dibuka. Batas jumlah soket yang digunakan dapat diset dengan memberikan option “-max_socket” ke perintah SIPp.

Saya lebih sering menggunakan mode “UDP mono socket”.

Iklan

7 Komentar to “Instalasi SIPp untuk Menguji Asterisk”

  1. Salam kenal mas,,mas klo untuk protokol IAX apa bisa buat menguji server Asterisknya?,,terima kasih ,,

  2. Protokol IAX bisa digunakan untuk komunikasi antar 2 server asterisk.
    Salah satu skenario yang mungkin untuk menguji komunikasi antar server asterisk dengan protokol IAX adalah:

    UAC->Server1 —(IAX2) —> Server2–>UAS.
    Trafik dari UAC ke server1 dan dari Server2 ke UAS adalah SIP. Trafik dari Server1 ke server2 adalah IAX2.

  3. waduh mas,,penjelasannya blm bisa sy pahami nih,,,bisa tolong ksi sumber mengenai cara pengetesan ini,,kebetulan sy lagi mengerjakan tugas akhir ni mas,,mohon bimbingannya,,karena sy mentok untuk masalah pengetesan server Asterisk ini,,,klo mas tidak berkeberatan,,tolong emailin ya detail cara ngukurnya berikut cara memahami kemampuan servernya,,

    emailku : jaratreds@gmail.com

    trima kasih sebelumnya mas,,

  4. Jadi maksudnya Server1 dan Server 2 –> Asterisk
    UAS –> ? apa ini mas
    UAC–> ? pake softphone maksudnya

    jadi ngga paham mas,,hehehehehe

    • Sipp mengenal 2 macam User Agent (UA). Ini ibarat terminal telepon IP (SIP client). Yang pertama adalah UAC (user agent client). UA ini disebut originating party, pihak penelpon, yang membangkitkan telepon, yang pertama kali mendial. Yang kedua adalah UAS (user agent server). UA ini disebut destination party, pihak yang ditelepon, tujuan call.

      Sipp menggunakan skenario dengan format XML. Skenario inilah yang akan menentukan perilaku dari SIPp, apakah sebagai UAC, UAS. Mas perlu melihat skenario-skenario tersebut, bagaimana SIP call flownya.

      Sipp dapat digunakan sebagai emulator UAC yang membangkitkan call. Banyaknya UAC dapat kita atur, berapa lama ia menelpon, dan perkiraan berapa concurrent call yang harus dihandle oleh server juga bisa diatur.

      Sipp dapat juga digunakan sebagai emulator UAS yang menerima call tersebut.

      Sedangkan aliran call diatur oleh server SIP (misalnya Asterisk).

      Sehingga untuk menguji 1 server Asterisk, aliran callnya (koneksinya) adalah sebagai berikut
      UAC –> Server SIP –> UAS

  5. Bisa dijelaskan step-stepnya yang mudah dipahami mas,,,

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: