Prediksi status jaringan VoIP berdasarkan file log teks dari server aplikasi SIP

Pemantauan keadaan jaringan pensinyalan VoIP adalah salah satu kondisi penting yang memungkinkan penyedia UCaaS untuk menyediakan pelanggan dengan tingkat kualitas layanan yang terjamin seperti panggilan audio dan video, penerimaan dan transmisi faks. Biasanya, kontrol semacam itu dilakukan dengan menggunakan berbagai sistem pemantauan, pengumpulan dan analisis lalu lintas, analisis CDR. Beberapa parameter jaringan sinyal agak sulit, dan seringkali tidak mungkin untuk dievaluasi menggunakan metode yang ditunjukkan.


Sumber informasi penting yang mungkin tentang keadaan jaringan pensinyalan VoIP adalah SIP Application Server (SIP AS), salah satu elemen utama yang terlibat dalam pemrosesan panggilan dalam jaringan VoIP. File log SIP AS memungkinkan Anda untuk, antara lain, mengevaluasi parameter berikut dari jaringan pensinyalan VoIP:


  • Panjang Dialog SIP
  • Interval waktu antara mengirim permintaan dan menerima respons akhir (waktu permintaan-respons, RRT) untuk berbagai jenis permintaan SIP
  • Jumlah pengiriman ulang pesan (transmisi ulang, RTR) untuk berbagai jenis pesan SIP

Tidak hanya nilai parameter ini yang penting, tetapi juga distribusi parameter ini, serta perubahannya dari waktu ke waktu. Informasi tentang perubahan nilai parameter dari waktu ke waktu memungkinkan memprediksi kemungkinan masalah dalam jaringan VoIP. Informasi ini juga dapat berfungsi sebagai salah satu sumber data untuk berbagai algoritma pembelajaran mesin (machine learning, ML), yang akan memungkinkan untuk memprediksi perubahan parameter tidak hanya tergantung pada waktu, tetapi juga pada faktor lain.


Tergantung pada beban sinyal, SIP AS dapat menghasilkan file log dalam format teks hingga beberapa puluh GB per hari. Analisis file teks dengan volume seperti itu adalah tugas yang membutuhkan banyak sumber daya. Sebagai salah satu opsi yang memungkinkan, berbagai alat Python dapat digunakan untuk analisis ini. Sebagai contoh, pustaka Pandas menyediakan alat yang cukup nyaman untuk memproses dan menganalisis berbagai data, khususnya, bingkai data (DF). Kode yang digunakan dalam artikel ini tersedia di sini .
Langkah-langkah berikut disarankan untuk menganalisis file log SIP AS:


  1. Buka file log untuk membaca. Jika SIP AS membuat beberapa file log, maka mereka harus dibuka dalam urutan yang sama ketika mereka dibuat.
  2. Baca data baris demi baris. Ini diperlukan untuk menghemat RAM dalam hal bekerja dengan file unit puluhan GB
  3. Sorot pesan SIP yang terletak di antara urutan karakter tertentu - pembatas
  4. Buat daftar kamus. Masing-masing kamus, pada gilirannya, terdiri dari cap waktu (kunci) dan pesan SIP aktual (nilai) dalam bentuk daftar
  5. Simpan daftar ini ke disk atau penyimpanan jaringan sebagai, misalnya, file acar. File ini nantinya akan digunakan untuk membuat berbagai DF.
  6. Buat DF dari file acar tersimpan yang berisi informasi yang diperlukan untuk analisis lebih lanjut (SIP DF)

Dalam kasus khusus ini, SIP DF dibuat berisi kolom berikut:


  • Stempel waktu - stempel waktu ditambahkan oleh SIP AS
  • Call-ID - Call-ID dari percakapan SIP
  • CSeq_num, CSeq_meth - data dari header SIP 'CSeq'
  • Arah - pesan diterima (Rx <-) atau dikirim (Tx->), SIP AS ditambahkan
  • Metode SIP - Metode SIP dari SIP Request-Line
  • Src Dst IP - alamat IP dari mana pesan dikirim atau diterima

gambar


Fig. 1. Parameter SIP DF diperoleh dari file acar sekitar 3 GB


gambar


Fig. 2. Konten SIP DF


Memiliki SIP DF yang serupa, Anda dapat mengevaluasi berbagai parameter dari jaringan VoIP pemberi sinyal. Semua contoh di bawah ini diambil dari jaringan VoIP yang valid. Alamat IP dan data lain yang dapat memberikan informasi tentang jaringan yang ditentukan telah diubah.


1. Panjangnya dialog SIP


gambar
gambar
Fig. 3. Panjang Dialog DF dan SIP


Untuk setiap kasus dialog SIP yang panjang, Anda dapat menemukan panggilan dengan nilai ID Panggilan dan kemudian, dengan log teks, menganalisis skenario panggilan ini. Meskipun jumlah panggilan yang relatif kecil di mana panjang percakapan SIP adalah puluhan hingga ratusan pesan, skenario panggilan ini harus diselidiki. Studi tentang panggilan tersebut mengungkapkan sumber-sumber dialog SIP panjang berikut:


  • Transmisi beberapa lusin kelompok struktur tertentu, yang terdiri dari karakter DTMF, setelah pembentukan sesi suara. Ini adalah skenario panggilan suara di mana otentikasi, otorisasi, dan pertukaran informasi antara panggilan dan pelanggan yang dipanggil berlangsung.
  • Panggilan video yang mencatat jumlah permintaan Intra-Frame Full ( FIR ) yang sangat besar. Ini, khususnya, menunjukkan masalah perangkat lunak ponsel atau hilangnya paket RTP selama panggilan video.

Dialog SIP panjang juga dapat muncul karena tidak berfungsinya peralatan VoIP, upaya untuk memilih kode PIN melalui menu IVR (mengirim sejumlah besar urutan DTMF). Dalam kasus apa pun, perlu untuk memantau jumlah percakapan SIP yang panjang, karena dengan peningkatan jumlah dialog semacam itu, beban sinyal tambahan yang tidak berguna pada elemen-elemen jaringan VoIP dapat muncul.


2. RRT


Ini dihitung secara terpisah untuk permintaan INFO dan INVITE yang diterima dan dikirim. Perlu diingat bahwa saat memproses sejumlah besar panggilan, nilai CSeq yang sama untuk dialog yang berbeda dapat terjadi. Dapat diasumsikan bahwa distribusi nilai RRT harus kira-kira sama untuk permintaan yang dikirim, nilai absolut harus berbeda karena perbedaan ukuran dan isi permintaan INFO dan INVITE dan, sebagai akibatnya, waktu pemrosesan yang berbeda dari permintaan ini oleh elemen jaringan.


gambar
Fig. 3. RRT untuk permintaan INFO diterima oleh SIP AS
Peningkatan nilai RRT dalam kasus ini menunjukkan kemungkinan masalah dengan virtualisasi, peningkatan beban pada SIP AS. Call-ID dan CSeq_num memungkinkan Anda memeriksa nilai RRT untuk setiap kasus.


gambar
Fig. 4. RRT untuk permintaan INFO yang dikirim oleh SIP AS. RRT pada grafik dibatasi hingga 500 ms, yang merupakan nilai default untuk timer SIP T1 .


gambar
Fig. 5. RRT untuk permintaan INVITE yang dikirim oleh SIP AS. Seperti yang diharapkan, distribusi kira-kira sama dengan untuk pertanyaan INFO.


3. RTR


Parameter penting yang mencirikan keadaan jaringan pensinyalan VoIP.


gambar
Fig. 6. Persentase pengiriman ulang permintaan INFO dan INVITE. RTR yang terjadi satu kali atau lebih diperhitungkan.


Selain contoh yang dijelaskan, data lain dapat diperoleh dengan menggunakan DF, misalnya:


  • SIP AS load balancing yang benar untuk pesan keluar. Untuk melakukan ini, Anda perlu menghitung jumlah pesan terkirim (Tx) ke berbagai alamat IP (SrcDst IP) menggunakan groupby (). Count () - mirip dengan fungsi retransmits_counter_tx (). Perbedaan jumlah pesan lebih dari 15-20% menunjukkan pembagian beban yang salah
  • Jumlah transfer panggilan yang gagal. Untuk melakukan ini, Anda dapat membuat DF terpisah yang hanya berisi dialog REFER, serta tajuk dan bidang yang diperlukan dari pesan dialog ini.
  • Ketergantungan parameter pada waktu. Jika Anda mengumpulkan nilai rata-rata dari salah satu parameter, misalnya, RRT, selama beberapa bulan, maka berdasarkan data Anda dapat membangun seri waktu (time series, TS). Menggunakan berbagai pustaka untuk analisis TS, misalnya, statsmodels, Anda dapat menentukan tren, musiman dan parameter TS lainnya. Data dari perkiraan ini dapat digunakan untuk menyesuaikan arsitektur jaringan VoIP.

Kesimpulan


File log teks SIP AS adalah sumber informasi penting tentang keadaan terkini dari jaringan VoIP. Selain itu, data yang diperoleh setelah pemrosesan yang tepat dari informasi ini dapat digunakan dalam memprediksi keadaan jaringan VoIP, khususnya, menggunakan metode ML.

Source: https://habr.com/ru/post/id440458/


All Articles