Меню

IP-ATS və stress test necə yaradılır?

Hər hansı bir yeni instansiyada Çağrı Mərkəzi qurulanda qarşıya çıxan əsas məsələlərdən biri İP-ATS Serverin parametrlərinin təyin edilməsidir. Sözsüz ki, bu parametrlər Çağrı Mərkəzinin gözlənilən yüklülüyündən asılıdır. Bunun üçün aşağıdakı məlumatlar toplanır və həmin məlumatlar əsasında server parametrləri təyin edilir.

- Çağrı Mərkəzinin iş saatları və günləri

- ÇM-ə daxil olan zənglərin günlük\aylıq sayı

- ÇM-ə eyni anda gələ biləcək zəng sayı (kanal sayı)

- ÇM-ə daxil olan zənglərin/müraciətlərin maksimum saxlanılma müddəti

- 1 zəng üzrə ehtimal olunan ortalama danışıq müddəti

Lakin bununla iş bitmir. İstənilən halda, sistem production-a keçməmişdən öncə testlər edilməlidir. Testlərin mühüm mərhələsi zənglər üzrə stress testin keçirilməsidir. Bu yolla təkcə İP-PBX sistemi yox , həmçinin, serverin davamlılığı test edilir.

Stress testin keçirilməsi real zənglər əsasında və xüsusi test alətləri vasitəsilə reallaşa bilər.

Real zənglər əsasında stress testin keçirilməsi daha əyləncəli görünsə də , etiraf etmək lazımdır ki, bunun üçün resurslar kifayət etməyə bilər. Əsasən də böyük miqyaslı Çağrı Mərkəzlərində eyni anda 100-200 hətta bəzən 300 zəngin qəbul edilməsi nəzərdə tutulur. Belə olan halda 2-ci variant , yəni , xüsusi test alətlərinin istifadəsi daha məqbul görünür.

Zənglər üzrə stress testin həyata keçirilməsi üçün alətlər çoxdur. Bunlardan ən məşhuru və bizim də istifadə edəcəyimiz alət opensource olan “sipp” –dir.

Sipp – yalnız SİP və RTP trafik yaratmır, həm də serverin cavab sürətini, səhvlərini və digər statistik məlumatları qiymətləndirməyə imkan verir.

İlk öncə nəzərə almaq lazımdır ki, sipp İP-ATS olan serverdə olması düzgün deyil. Testin keçirilməsi üçün sipp hər hansı fərqli Linux serverdə quraşdırılmalıdır.

Daha sonra İP-ATS-də (bizim misalda Asterisk PBX) trunk yaradılır:

 

[sipp]

type=friend

context=in

defaultuser=sipp

host=192.168.192.125

dtmfmode=rfc2833

disallow=all

allow=ulaw

insecure=port,invite

qualify=yes

 

Dialplan-da isə bir sıra ssenarilər yoxlamaq olar:

1) Sadə dialplan – 1 sip kanal = 1 zəng. Kiçik səs faylı səslənir.

[in]

exten ≥ 100,1,Answer ()

exten ≥ 100,n,Playback (/var/lib/asterisk/moh/02_MACROFORM_CANASTER)

2) Music on Hold - Bəzən MusicOnHold-un CPU-nu həddindən artıq yüklədiyi iddia edilir.

[in]

exten ≥ 101,1,MusicOnHold ()

3) Proxying – Bəzən İP-ATS proxy kimi çıxış edir. Yəni iki tərəfi birləşdirir və sadəcə RTP trafiki özü idarə edir. Bu halda sipp-dən gələn zənglər başqa trunk-a yönəldilir. Artıq, 1 zəng = 2 sip kanal.

[in]

exten ≥ 102,1,Dial (SIP/newtrunk/100)

4) Queue – ÇM üçün daha vacib ola biləcəyi üçün sipp-dən edilən zəngləri hər hansı queue-ya yönəltmək də olar.

[in]

exten ≥ 103,1,Queue (MyTestQueue)

Test üçün Dialplan ssenarilərini sonsuza qədər uzatmaq olar. Amma , əksər hallarda yuxarıdakı ssenarilər kifayət edir. İndi isə sipp-dən zənglərin necə reallaşmasına baxaq:

sipp 10.10.10.2 -s 100 -i 192.168.192.125 -d 100s -l 500 -aa -mi 192.168.192.125 -rtp_echo -nd -r 10

 

 10.10.10.2 – Zənglərin generasiya olunacağı İP-ATS-in ünvanı

 -s 100 - ATS-də çağrılacaq nömrə

 -i 192.168.192.125 – Lokal ip address . Bu ip SİP paketlərdə ünvan olaraq göstəriləcək

 -d 100s – Zənglərin müddətini təyin edir. Bu misalda hər bir zəng 100 saniyə davam edəcək.

 -l 500 – Eyni anda ediləcək maksimal zəng sayı

 -aa – İNFO, UPDATE və NOTİFY mesajlarına avtomatik 200 OK cavabını qaytarır

 -mi 192.168.192.125 – RTP paketlər üçün lokal ip-ni təyin edir.

 -rtp_echo – RTP exonu aktivləşdirir. Əks tərəfdən alınan RTP paketləri geri göndərir.

 -nd - səhv SIP mesajları alındıqda sipp zəngləri dayandıracaq.

 -r 10 – Maksimum “zəng sürətini” təyin edir. Bu misalda saniyədə 10 zəng.

 

Komandanı işə salmamışdan qabaq digər terminallarda lazım olan alətləri qoşmağı da yaddan çıxarmırıq. Bu məqsədlə HTOP və ATOP kimi alətlər , həmçinin Asteriskin log-ları və sipp-nin nəticələri kömək ola bilər.

Və nəhayət komandanı işə salıb nəticələri izləyirik:

 

ip-ats-test-screen​​​​​​​