Browsed by
Kategori: Nasıl Yapılır

Merhaba, bu kısımda Nasıl Yapılır başlığı altındaki yazılarımı bulabilirsiniz.

Cisco IP Telefon XML Uygulama Geliştirmek

Cisco IP Telefon XML Uygulama Geliştirmek

Cisco IP telefonlarda bulunan XML görüntüleyici özelliği sayesinde telefonlara ek servisler yazabilir ve ek uygulamalar geliştirerek IP telefonlarınıza yeni özellikler ekleyebilirsiniz. Bu yazımda Cisco IP telefon XML servislerinin nasıl çalıştığını ve ufak XML uygulamalarının nasıl yapılabileceğini bulabilirsiniz.

Cisco IP Telefon XML uygulamaları tahmin edeceğiniz üzere bir web sunucusu üzerinden çalışmaktadır. IP telefonlar bu web sunucusuna bir istekte bulunur ve sunucudan dönen XML dosyasını ayrıştırıp kullanıcının okuyabileceği hale getirirler. Burada dikkat edilmesi gereken nokta ise, web sunucunun CUCM tarafından değil, IP telefonlar tarafından erişilebilir olması gerekliliğidir.

Cisco IP Telefonların XML Uygulamaları ile Haberleşmesi

Cisco IP telefonların bilgileri ayrıştırıp okunabilir hale getirebilmesi için bir takım XML nesneleri kullanılmaktadır. Aşağıdaki tabloda Cisco IP telefonlar tarafından desteklenen XML nesnelerini bulabilirsiniz:

  • CiscoIPPhoneMenu
  • CiscoIPPhoneText
  • CiscoIPPhoneInput
  • CiscoIPPhoneDirectory
  • CiscoIPPhoneImage
  • CiscoIPPhoneImageFile
  • CiscoIPPhoneGraphicMenu
  • CiscoIPPhoneGraphicFileMenu
  • CiscoIPPhoneIconMenu
  • CiscoIPPhoneIconFileMenu
  • CiscoIPPhoneStatus
  • CiscoIPPhoneStatusFile
  • CiscoIPPhoneExecute
  • CiscoIPPhoneResponse
  • CiscoIPPhoneError

Not: Her XML nesnesi her IP telefon modeli tarafından desteklenmeyebilir. XML nesneleri ile ilgili daha detaylı bilgiyi bu sayfadaki “Cisco Unified IP Phone Services Application Development Notes” dokümanlarından bulabilirsiniz.

XML uygulamalarının çalışma prensibini kısaca özetledikten sonra dilerseniz basit bir uygulama ile devam edelim.

İlk XML Uygulama: Hello World!

Yazılım dünyasının gelmiş geçmiş en büyük klişesi “Hello World” ü anmamak olmaz. Dilerseniz bunu IP telefonların ekranlarına bastıralım. İlk olarak yapmamız gereken bir XML dosyası oluşturmak. Herhangi bir metin editörü ile bir XML dosyası (hello.xml) oluşturun ve içine şunları ekleyin:

Hello World XML Kodu

Burada göreceğiniz üzere CiscoIPPhoneText, Title ve Text nesnelerini kullanıyoruz. Bunlar sırası ile Bir yazı göstereceğimizi, yazının başlığını ve yazının içeriğini belirtiyor.

Dosyayı oluşturduktan sonra bir web sunucusuna koyun (dosyaynın ve sunucunun çalıştığından emin olmak için dosyanın bulunduğu URL i web tarayıcısına yazıp deneyebilirsiniz) ve CUCM Administration sayfasından Device > Device Settings > Phone Services menülerine girin ve Add New‘a basarak yeni servisi tanımlama sayfasını açın.

CUCM Administration Phone Services Menüsü

Açılan sayfada Service Name, Service URL zorunlu olmak üzere ilgili alanları doldurun ve Enable‘ı seçerek Save‘e basın.

CUCM – XML Servis Eklemek

XML servisini CUCM’e ekledikten sonra bu servisi hangi telefonda çalıştırmak istiyorsanız Device > Phone menüsüne gelerek ilgili telefonu seçin ve telefonun konfigürasyon sayfasının sağ üst köşesindeki drop-down menüden Subscribe / Unsubscribe Services‘ı seçin.

CUCM – IP Telefon Subscribe Services Menüsü

Açılan sayfadaki drop-down menüden eklediğiniz servisi seçin, Next ve ardından Subscribe düğmesine basın.

CUCM – Servis Ekleme

Save e basıp ilgili pencereyi kapatın ve telefonun ayarlarını kaydedin. Artık IP telefonunuzda servisler tuşuna bastığınızda bu servisi görmeye başlayacaksınız.

IP Telefon Servis Tuşu ve Servis Menüsü

İlgili servisi seçtiğinizde IP telefon web sunucudan XML sayfasını çağıracak ve ekranda gösterecektir.

Hello World XML Uygulaması

Dinamik XML Uygulamaları Geliştirmek

Düz XML sayfalar ile kolayca statik sayfalar oluşturabilirsiniz, eğer dinamik servisler ve değişken içerikler sunmak isterseniz PHP, Javascript, CGI gibi web dillerini kullanarak da XML sayfaları oluşturabilirsiniz. Aşağıda PHP kullanarak oluşturulan basit bir XML uygulama örneğini bulabilirsiniz.

Örnek: Zar Uygulaması

Üstte yapmış olduğumuz XML içeriğini bu kez PHP ekleyerek oluşturalım. IP telefonların PHP sayfalarını işleyebilmesi için ilk başta text/xml etiketini kullanmamız gerekiyor. 1’den 6’ya kadar rastgele bir sayı gösteren PHP kodumuzu da içerikteki Text nesnesinin içine PHP etiketleri ile yerleştiriyoruz:

Cisco IP Telefon – PHP & XML Zar Uygulaması Kodu

Kodun alt kısmında bulunan SoftKeyItem nesneleri ile IP telefon ekranlarının alt kısmına fonksiyon tuşları ekleyebiliyoruz. Bu örnekte sayfayı tekrar yüklemeyi sağlayan Update ve servisten çıkmaya yarayan Exit olmak üzere iki farklı tuş ekledik. Dosyayı .php uzantısı ile kaydedip web sunucusuna koyduktan sonra yine üstteki adımları uygulayarak IP telefonlara bir servis olarak ekleyebilirsiniz. Aşağıda zar uygulamasının IP telefon üzerindeki görüntüsünü görebilirsiniz:

Cisco IP Telefon – PHP & XML Zar Uygulaması
CUCM IP ve Hostname i Değiştirmek

CUCM IP ve Hostname i Değiştirmek

Merhaba, bu yazıda CUCM IP adresi ve hostname ini değiştirmek için gerekli adımları ve ekstra dikkat etmeniz gereken noktaları bulabilirsiniz.

CUCM IP Adresi ve Hostname’i Değiştirmek

Not 1: Başlamadan önce, eğer hostname i de değiştirecekseniz ilgili DNS kayıtlarının da güncellendiğinden emin olun, aksi takdirde iletişim sorunları yaşayabilirsiniz.

Not 2: Eğer bir CUCM cluster’ı üzerindeki tüm node ların IP adreslerini veya hostnamelerini değiştirecekseniz ilk önce Publisher’dan başlayın, işlem tamamlandıktan sonra Subscriber’ları tek tek değiştirin.

Uyarılarımızı da yaptıktan sonra artık başlayabiliriz:

1. CUCM’e SSH üzerinden bağlanın ve hostname i değiştirmek için aşağıdaki komutu kullanın:

 admin:set network hostname 
 
ctrl-c: To quit the input.
 
         ***   W A R N I N G   ***
Do not close this window without first canceling the command.
 
This command will automatically restart system services.
The command should not be issued during normal operating
hours.
 
=======================================================
 Note: Please verify that the new hostname is a unique
       name across the cluster and, if DNS services are
       utilized, any DNS configuration is completed
       before proceeding.
=======================================================
 
Security Warning : This operation will regenerate
       all CUCM Certificates including any third party
       signed Certificates that have been uploaded.

Not: Hostname değişikliklerinde eğer CUCM’iniz ya da cluster’ınız bir CA tarafından imzalanmış sertifikalar kullanıyor ise, bu sertifikaları yeni hostname’e göre tekrar imzalatmanız ve CUCM’e yüklemeniz gerekecektir. Self-signed sertifikalar kullanılıyor ise bu işlem otomatik olarak yenilenecek ve uç cihazlarınız yeni ITL dosyasını alabilmek için resetlenecektir.

2. Uyarıları okuduktan sonra hostname’i girin:

Enter the hostname:: cucm

3. Eğer IP adresi, subnet mask ve default gateway i de değiştirecekseniz yes diyip ilgili bilgileri girerek devam edin:

Would you like to change the network ip address at this time [yes]:: yes
 
Warning: Do not close this window until command finishes.
 
ctrl-c: To quit the input.
 
           ***   W A R N I N G   ***
=======================================================
 Note: Please verify that the new ip address is unique
       across the cluster.
=======================================================
   
Enter the ip address:: 192.168.0.137
Enter the ip subnet mask:: 255.255.255.0
Enter the ip address of the gateway:: 192.168.0.1

4. Girdiğiniz bilgiler ekranda gösterilecektir. İnceleyip eğer doğru ise yes yazarak değişim işlemini başlatabilirsiniz

 Hostname:       cucm                                                   
IP Address:     192.168.0.137
IP Subnet Mask: 255.255.255.0
Gateway:        192.168.0.1
 
Do you want to continue [yes/no]? yes
 
calling 1 of 5 component notification script: ahostname_callback.sh                     
Info(0): Processnode query returned =
name      
==========
bldr-vcm18
updating server table from:'oldHostname', to: 'newHostname'
Rows: 1
updating database, please wait 90 seconds
updating database, please wait 60 seconds
updating database, please wait 30 seconds
Going to trigger /usr/local/cm/bin/dbl updatefiles --remote=newHostname,oldHostname
calling 2 of 5 component notification script: clm_notify_hostname.sh                   notification
Verifying update across cluster nodes...
platformConfig.xml is up-to-date: bldr-vcm21
 
cluster update successfull
calling 3 of 5 component notification script: drf_notify_hostname_change.py   
calling 4 of 5 component notification script: regenerate_all_certs.sh                     
calling 5 of 5 component notification script: update_idsenv.sh                 
calling 1 of 2 component notification script: ahostname_callback.sh                      
Info(0): Processnode query returned =
name
====
Going to trigger /usr/local/cm/bin/dbl updatefiles --remote=10.10.10.28,10.67.142.24
calling 2 of 2 component notification script: clm_notify_hostname.sh                  
Verifying update across cluster nodes...
Shutting down interface eth0:

CUCM’iniz ya da cluster’ınız mixed-mode da ise bu işlemi CTL Client ile yaptıysanız client ı tekrar çalıştırıp CTL dosyasını güncelleyin. Eğer tokenless CTL kullanıyorsanız komut satırından utils ctl update CTLFile komutunu çalıştırarak CTL dosyasının güncellenmesini sağlayın.

CUCM Unassigned DN – Kullanılmayan Dahili Numaraları Silmek

CUCM Unassigned DN – Kullanılmayan Dahili Numaraları Silmek

Merhaba, bu yazıda Cisco Unified Communications Manager (Callmanager – CUCM) üzerinde tanımlanmış fakat kullanılmayan dahili numaraları (Unassigned Directory Number – DN) nasıl silebileceğinizi bulabilirsiniz.

CUCM’e tanımlı bir DN cihazdan (ör. telefon) kaldırıldığında veya güncellendiğinde, veya bir telefon silindiğinde, ilgili DN’ler CallManager veritabanından kaldırılmaz. Bu DN’ler veritabanında Unassigned DN’ler olarak durmaya devam ederler.

CUCM üzerinde atıl durumda kalan DN’ler zaman zaman çağrı yönlendirememe ve başarısız çağrı gibi problemlere sebep oluyor ve ilk bakışta sebebi bulunamadığı için genellikle problemi düzeltmek için çok fazla vakit harcanabiliyor. Bu durumları yaşamamak için kullanılmayan DN’leri sistemden ara ara silmeniz yararınıza olacaktır. Bu işlemi aşağıdaki prosedürü takip ederek uygulayabilirsiniz:

Not: Bazı durumlarda kullanılmayan DN’ler, çağrıyı sesli posta veya başka bir hedefe iletmek için de kullanılabilir. Bu sebeple siz yine de ne olur ne olmaz bu işlemi yaparken listelenen DN’leri inceleyin, ileride başınız ağrımasın 🙂

1. CUCM Administration sayfasına girerek Call Routing menüsünden Route Plan Report‘u seçin:

CUCM – Route Plan Report menüsü

2. Find menüsünden Unassigned DN‘i seçin ve Find‘ı tıklayın:

Find menüsünden “Unassigned DN” i seçin ve Find’ı tıklayın

3. Listelenen DN’lerin hepsini seçmek için Select All‘u tıklayın ve Delete Selected‘ın ardından çıkan onay kutucuğunu onaylayın:

Select All ile kullanılmayan dahililerin hepsini seçerek Delete’i tıklayın ve onaylayın

Hepsi bu kadar. Artık kullanılmayan dahili numaralar sistemden silinmiştir. İsterseniz aşağıdaki videodan da ilgili prosedürün uygulanışını izleyebilirsiniz:

Cisco Meeting Server (CMS) – Temel Konfigürasyon

Cisco Meeting Server (CMS) – Temel Konfigürasyon

Merhaba, bu yazıda daha önce incelemiş olduğum Cisco Meeting Server’ın (CMS) temel konfigürasyonu ve web arayüzünü nasıl aktif edebileceğinizi bulabilirsiniz.

Cisco Meeting Server’ı konfigüre edebilmeniz için komut satırı (CLI), GUI ve API olmak üzere 3 farklı arayüz bulunuyor. Bunlardan ilki olan CLI arayüzüne, sunucunun konsolu üzerinden ve IP adresi verildikten sonra da SSH üzerinden de erişilebiliyor. Şimdi CLI arayüzünden başlayarak GUI arayüzüne geçebileceğimiz temel konfigürasyon adımlarına başlayalım:

CLI Temel Konfigürasyonu

CMS’e konsol üzerinden bağlandığınızda bir login ekranı karşılıyor. CMS’e default admin/admin olarak bağlandığınızda şifreyi değiştirmenizi istiyor.

Bu adımı geçtikten sonra IP verme işlemine geçebiliriz. CMS default olarak DHCP’den aldığı IP’yi kullanıyor, statik IP vermek istiyorsanız şu komutu kendi ayarlarınıza göre değiştirip uygulayabilirsiniz:

ipv4 a add 192.168.0.133/24 192.168.0.1

Burada a interface in adı, 192.168.0.133 IP adresi, /24 subnet mask ve 192.168.0.1 de tahmin edebileceğiniz gibi default gateway IP si.

IP adresini belirledikten sonra artık CMS’e SSH üzerinden de bağlanabilirsiniz.

Default olarak acano diye tanımlanan hostname i değiştirmek için şu komutu kullanabilirsiniz:

hostname cms1

Bu komuttan sonra hostname in aktif olabilmesi için CMS sizden reboot etmenizi istiyor. CMS’i reboot komutuyla reboot edebilirsiniz.

CMS’in düzgün çalışabilmesi için DNS ve NTP sunucularına ihtiyacınız var. Bunların hali hazırda olduğunu düşünerek aşağıdaki DNS (.100) ve NTP (.101) konfigürasyonlarını da giriyoruz:

ntp server add 192.168.0.101
dns add forwardzone . 192.168.0.100

Bu işlemlerden sonra GUI’yi aktif etmek için gerekli konfigürasyona başlayabilirsiniz.

WEB GUI Konfigürasyonu

Web arayüzünü kullanabilmek için öncelikli olarak HTTPS için bir sertifika üretmek gerekiyor. Bu sertifika hem self-signed hem de bir CA üzerinden imzalanmış bir sertifika olabilir. İşlem kolaylığı açısından self signed sertifika şu şekilde üretiliyor:

pki selfsigned cms1

Sertifika işleminden sonra web arayüzü için dinlenecek arayüzü ve HTTPS portunu belirtin:

webadmin listen a 445

kullanılacak sertifika(lar) için üst bölümde oluşturulan self-signed sertifika ve ilgili keyi belirtiyoruz:

webadmin certs cms1.key cms1.crt 

HTTP isteklerini HTTPS’e yönlendirmek için aşağıdaki komutu kullanabilirsiniz:

webadmin http-redirect enable 

ardından son olarak web admin modülünü aktif ediyorsunuz:

webadmin enable

Artık bu işlemden sonra CLI kullanıcısı ile web arayüzünü kullanabilir hale geliyorsunuz. Dilerseniz bu prosedürleri aşağıda hazırlamış olduğum videoda da bulabilirsiniz:

Bu noktada şunu belirtmeliyim ki CMS’in farklı servislerini konfigüre edebilmek için hem CLI, hem GUI, hem de API kullanmanız gerekebiliyor. Yani CLI’dan yapabileceğiniz her şeyi aynı zamanda GUI’den de yapamıyorsunuz.

Cisco Meeting Server : H.323 Aramaları Etkinleştirmek

Cisco Meeting Server : H.323 Aramaları Etkinleştirmek

Merhaba, bu yazıda Cisco Meeting Server üzerinde H.323 Gateway fonksiyonunun nasıl aktif hale getirip H.323 çağrılarının karşılanabileceğini, ve ilgili konfigürasyon parametrelerini bulabilirsiniz.

Cisco Meeting Server bildiğiniz üzere SIP protokolü ile çalışan bir sunucu. Dolayısı ile CMS’e doğru gelen H.323 çağrıları karşılayabilmek için arada protokol dönüşümünü yapan bir gateway modülü mevcut. Eğer mevcut video konferans altyapınızda H.323 kullanıyorsanız ya da H.323 cihazlarınız varsa CMS ile entegrasyonu sağlamak için CMS üzerinde H.323 gateway özelliğini açabilirsiniz.

CMS İçindeki H.323 Gateway Modülü ve Protokol Dönüşümü

Cisco Meeting Server H.323 Konfigürasyon Adımları

CMS üzerinde H.323 Gateway modülünü aktif etmek için komut satırını kullanmamız gerekiyor. CMS’e SSH üzerinden bağlandıktan sonra aşağıdaki komutları girerek modülü aktif hale getirebilirsiniz.

İlk olarak gateway modüülü üzerinde H.323 & SIP çağrıları için dinlenmesi gereken arayüzü tanımlıyoruz:

h323_gateway h323 interfaces a 
h323_gateway sip interfaces a

CMS’in mevcut SIP sinyalleşmesi ile karışmaması adına H.323’ten SIP’e dönüştürülen mesajlar için kullanılacak, 5060 ve 5061 den farklı bir SIP portu tanımlıyoruz:

h323_gateway sip port 6061

H.323-SIP çağrıları için SIP proxy adresini (aslında sunucunun kendisi) tanımlıyoruz:

h323_gateway sip proxy 127.0.0.1

Daha sonra güvenli bağlantılar için H.323 gateway tarafından kullanılacak key-sertifika zincirini tanımlıyoruz:

h323_gateway certs cms1.key cms1.cer CA.cer

SIP’e dönüştürülen çağrılar için içeride “Incoming calls” tanımları ile eşleşebilmesi için SIP domain adını tanımlıyoruz:

h323_gateway sip_domain test.local
CMS Incoming Calls Ayarları

Son olarak da gateway modülünü aktif hale getiriyoruz:

h323_gateway enable

H.323 Gateway modülünün durumu ile ilgili bilgi almak isterseniz aşağıdaki komutu kullanabilirsiniz:

h323_gateway 
CMS H.323 Gateway Durum Bilgisi

Bu adımlardan sonra CMS’e doğru H.323 çağrılar yapabilirsiniz. Yapılan H.323 çağrılar CMS içinde SIP’e çevrildiği için GUI’de çağrıları SIP çağrısı olarak göreceksiniz.

Bu adımları ayrıca aşağıdaki video üzerinden de takip edebilirsiniz :

CMS Üzerinde H.323 Çağrıları Aktif Etmek