Opensips Çağrı Sürelerini Takip Edebilme

Filed in SER | SIP | VoIP 6 Comments

Opensips default kurulum sonrasinda yapılan görüşmelerin detaylarını veritabanında tutmaz. Bunun yerine detaylar /var/log/messages altında gösterilir. Örneğin opensips servera register olan 1001 ve 1000 hesaplarında 1001->1000 araması yapıldığında aramanın detayları aşağıda gösterilmektedir.

Nov 11 11:48:25 opensips /usr/local/sbin/opensips[13852]: ACC: transaction answered: timestamp=1257932905;method=INVITE;from_tag=be6      5c152;to_tag=ca21b122;call_id=ZTMyYzAwMjllYTczYWQzZjNjZTQyMjQ0ODM3ZDViMDU.;code=200;reason=OK
Nov 11 11:48:25 opensips /usr/local/sbin/opensips[13855]: ACC: request acknowledged: timestamp=1257932905;method=ACK;from_tag=be65c1      52;to_tag=ca21b122;call_id=ZTMyYzAwMjllYTczYWQzZjNjZTQyMjQ0ODM3ZDViMDU.;code=200;reason=OK
Nov 11 11:48:32 opensips /usr/local/sbin/opensips[13854]: ACC: transaction answered: timestamp=1257932912;method=BYE;from_tag=ca21b1      22;to_tag=be65c152;call_id=ZTMyYzAwMjllYTczYWQzZjNjZTQyMjQ0ODM3ZDViMDU.;code=200;reason=OK

Buradaki timestamp parametresi isteklerin yapılma zamanlarını göstermektedir. Yukarıdaki örnekte yapılan aramada INVITE, ACK ve BYE isteklerinin zamanları gösterilmiştir. Yapılan bu görüşmedeki konuşma süresi BYE isteğinin süresinden ACK isteğinin süresinin çıkarılmasıyla bulunur. Fakat bundan da önce bu timestampler unix bazlı olduğu için bizim anlayabileceğimiz şekilde görmek amacıyla bu sitedeki Calculated UNIX Timestamp kısmına yazıp Reverse Calc yapmalıyız. Çok kolay değilmi? :)

Yukarıdaki anlattığım operasyon bize zor gelebilir. Bunun yerine Opensips Web Kontrol Paneli Kurulumu adlı makalemdeki CP yi kurup cdrviewer ayarlarını yaparak databaseden de bu aramanın detaylarını görebilirsiniz.
Alternatif başka bir yöntem olarak ta cdrtool programını opensips inize entegre edebilirsiniz.

Share
PDF Printer    Send article as PDF   

Opensips Web Kontrol Paneli Kurulumu

Filed in Apache | Gezegen | SER | SIP | VoIP 2 Comments

Opensips programını sunucuya yüklediğinizde hesap açma, register hesapları görme, cdr detaylarını görebilme ve daha birçok bilgiye ulaşabilmek amacıyla opensipsctl komutunu kullanabilirsiniz. Fakat konsoldan hiç hoşlanmıyorum diyorsanız php ile yazılmış arayüz opensips control paneli yüklemenizi tavsiye ederim. Üstelik bu muhtemeşem arayüz opensipsctl komutunun yapamadığı birçok şeyi de yapabilme yeteneğine sahip. Arayüzde 13 adet araç bulunmaktadır. Bunlar;

  • cdrviewer = yapılan arama detaylarının gösterildiği sayfadır.  Detaylı video eğitimini buradan indirebilirsiniz.
  • dialplan = opensips in aramaları yönlendirirken uyguladığı numara değişim kurallarının girildiği kısımdır. detaylı video eğitimini buradan indirebilirsiniz.
  • domains = domainlerin girildiği kısımdır. detaylı video eğitimini buradan indirebilirsiniz.
  • dispatcher = yönlendirme kurallarının girildiği kısımdır. detaylı video eğitimini buradan indirebilirsiniz.
  • drouting = yönlendirilecek gatewaylerin ve yönlendirme kriterlerinin girildiği kısımdır. detaylı video eğitimini buradan indirebilirsiniz.
  • loadbalancer = birçok opensips in loadbalancer olarak girilebilmesini sağlayacak kısımdır. DB ler senkronize edilebilir. detaylı bilgiye buradan ulaşabilirsiniz.
  • mi = management interface olarak adlandırılan bu kısım FIFO veya XMLRPC vasıtasıyla komut çalıştırabilmemizi sağlar. detaylı video eğitimini buradan indirebilirsiniz.
  • monit = monitoring servis olarak kullanılan, çoklu sip serverlarındaki sunucu durumları ve çalışan servislerin durumlarını gösteren kısımdır. detaylı video eğitimini buradan indirebilirsiniz.

NOT: monit menüsünün çalışabilmesi için opensips derleme aşamasında mi_xmlrpc modülü ile birlikte derlenmesi gerekmektedir. Eğer opensips kurulurken bu modül aktif edilmemiş ise make include_module=mi_xmlrpc komutu ile bu modülü derleyip kuralım.

  • nathelper = Çoklu sip serverlar üzerinde bulunabilecek RTPProxy lerin girildiği ve durumlarının gösterildiği kısımdır. RTPProxy ler NAT traversal problemini çözmek amacıyla oluşturulmuştur. detaylı video eğitimini buradan indirebilirsiniz.
  • pdt = kaynak domainden gelen aramaları prefixlerine göre yine istenilen domainlere gönderilmesini sağlayan kısımdır. detaylı video eğitimini buradan indirebilirsiniz.
  • permissions = aramaların gönderilme izinlerinin ayarlandığı kısımdır. detaylı video eğitimini buradan indirebilirsiniz.
  • siptrace = yapılan aramaların  yönlendirme mesajlarını görsel olarak gösterebilen kısımdır. detaylı video eğitimini buradan indirebilirsiniz.

NOT: siptrace modülünün kullanılabilmesi için opensips için sip_trace tanımlamaları önceden yapılması gerekir. ayrıntılı bilgi için burayı inceleyin.

  • Statistic monitor = opensips serverın birçok modülünün istatistiklerini real time olarak veya geriye dönük gösterebilen kısımdır. detaylı video eğitimini buradan indirebilirsiniz.

NOT: smonitor uygulamasının çalışması da xmlrpc nin aktif edilmesine bağlıdır.

Şimdi opensips control panelinin ubuntu 9.04 serverımıza nasıl yükleyeceğimizi anlatacağım. Bu sunucuya opensips programının kendisinin kurulumunu

9 Adımda Ubuntu 9.04 Server’a Opensips 1.5.3 Kurulumu adlı makalemde anlatmıştım. Şimdi kaldığımız yerden devam ediyoruz.

  • Öncelikli olarak gerekli olan programlardan apache ve php yi yükleyelim;
# apt-get install apache2

apache yüklendikten sonra opensips control paneli indirip /var/www/ altına kopyalayalım.

# cd /opt/
# wget http://downloads.sourceforge.net/project/opensips-cp/opensips-cp/3.0/opensips-cp_3.0.tgz?use_mirror=garr
# tar xfvz opensips-cp_3.0.tgz
# cp -prv opensips-cp /var/www/

apache ayarlarından control panelini aktif etmek için tanımlama yapalım;

# vim /etc/apache2/sites-enabled/000-default

aşağıdaki ifadeyi mevcut Alias kısmının üstüne ekleyelim;

Alias /cp /var/www/opensips-cp/web

arayüzden girişlerin loglanabilmesi için aşağıdaki işlemi yapalım. Böylelikle giriş denemeleri access.log ta loglanacaktır.

chown www-data.www-data /var/www/opensips-cp/config/access.log
  • php5 i yükleyip php nin PEAR, MySQL ve XMLRPC desteğini sağlamalıyız;
# apt-get install php5
# apt-get install php5-mysql
# apt-get install php5-xmlrpc
# apt-get install php-pear
# pear install MDB2
# pear install MDB2#mysql
# pear install log
  • mysql database de birtakım işlemler yapmalıyız;

cdr tablosu ekleyelim;

# mysql -Dopensips -p < /var/www/opensips-cp/config/tools/cdrviewer/cdrs.mysql

acc tablosunda cdr oluşturacak bir mysql prosedürü oluşturalım;

#  mysql -Dopensips -p < /var/www/opensips-cp/config/tools/cdrviewer/opensips_cdrs_1_6.mysql

mysql için cdr oluşturulmasını sağlayacak cron_job/generate-cdrs_mysql.sh dosyasını kendi veritabanımızda

kullanıcı adı,şifre,host ve veritabanı adı na göre konfigüre edelim.

# vim /var/www/opensips-cp/cron_job/generate-cdrs_mysql.sh

kendi örneğimizde parolayı ve call opensips_cdrs_1_5() parametresini aşağıdaki gibi değiştiriyoruz.

PASS="opensipsrw"
call opensips_cdrs_1_6();

3 dakika aralıklarla bu scripti çalıştırmayı sağlayacak crontab girdisini yazalım(crontab -e);

*/3 * * * * root /var/www/opensips-cp/cron_job/generate-cdrs_mysql.sh

smonitor modülünün çalışabilmesi için veritabanına aşağıdaki girişi yapalım;

# mysql -Dopensips -p < /var/www/opensips-cp/config/tools/smonitor/tables.mysql

smonitor ün opensips serverlardaki bilgileri 1 dakika aralıklarla alıp gösterebilmesi için crontaba aşağıdaki girişi yapalım(crontab -e);

* * * * *  root   php /var/www/opensips-cp/cron_job/get_opensips_stats.php > /dev/null

/var/www/opensips-cp/config/db.inc.php dosyasındaki veritabanı bağlantı elemanlarını kontrol edelim. parolamız farklı ise değiştirelim.

tüm kurulum işlemleri tamamlandıktan sonra sunucuya bir restart atıp arayüze http://sunucu_ipsi/cp yazdığımızda aşağıdaki login ekranıyla karşılaşıp admin/admin ile giriş yapabilirsiniz.

İşte kurulum buraya kadar. Artık bu muhteşem arayüzün keyfini çıkarabilirsiniz…

Share
Free PDF    Send article as PDF   

,

TOP