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ı

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir