0

Instalasi SIPp untuk Menguji Asterisk

Posted by Alfian Abdul Ghaffar on 22.40

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”.

0 Comments

Posting Komentar

Copyright © 2009 Doa, Usaha dan Secercah Harapan All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive.