Browsed by
Etiket: IP Telefon

Asterisk & FreePBX: AMI Kullanıcısı Nasıl Oluşturulur?

Asterisk & FreePBX: AMI Kullanıcısı Nasıl Oluşturulur?

AMI (Asterisk Management Interface), üçüncü parti uygulamaların Asterisk (FreePBX) ile düzgün çalışması için kullanılır. Uygulamalar AMI üzerinden sistem olayları ile ilgili güncel bilgileri çekebilir ve Asterisk’e bir takım komutlar gönderebilir.

Asterisk ve FreePBX üzerinde AMI ı kullanabilmek için bir kullanıcı ve şifre tanımlamanız gerekiyor. Bunu iki şekilde oluşturabilirsiniz:

  1. /etc/asterisk/manager.conf dosyasını editleyerek
  2. FreePBX’te Asterisk Manager ile bir kullanıcı oluşturarak.

Şimdi her iki yöntemi de daha ayrıntılı olarak inceleyelim.

Asterisk Üzerinde AMI Kullanıcısı Oluşturmak:

1. Asterisk sunucusuna SSH ile bağlanın.

2. /etc/asterisk/manager.conf dosyasını bir editör ile açın.

nano /etc/asterisk/manager.conf

3. [general] bölümünde AMI ayarlarını girin:

[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
displayconnects = no

4. [general] bölümünün altında yeni bir kullanıcı oluşturun:

[amiuser]
secret = 123456
deny = 0.0.0.0/0.0.0.0
permit = 192.168.0.0/255.255.255.0
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message
writetimeout = 5000

Not: Bu örnekte kullanıcı adı amiuser, şifre 123456 dır. Sadece 192.168.0.0/24 ağından gelen istekleri kabul etmekte de tüm erişimler okuma ve yazma olarak açıktır.

5. Dosyayı kaydedin ve kapatın.

6. Asterisk Manager modülünü yeniden yükleyin:

asterisk -rx "manager reload"

FreePBX Üzerinde AMI Kullanıcısı Oluşturmak:

1. Üst gezinme çubuğunda Settings‘e ve sonra Asterisk Manager Users‘a basın:

FreePBX Asterisk Manager Users
Asterisk Manager Users Menüsü

2. Yeni bir kullanıcı eklemek için Add Manager düğmesine tıklayın.

AMI Kullanıcısı Ekleme

3. Burada yeni bir kullanıcı için ayarlar penceresini görebilirsiniz. Burada ilgili alanları doldurun:

AMI Kullanıcı Bilgileri Ekranı
  • Manager Name: AMI Kullanıcı adını girin (boşluk içermemeli).
  • Manager Secret: AMI Kullanıcısı için parolayı girin.
  • Deny: Burada, AMI ile bağlantıyı kısıtlamak istediğiniz IP adresini ve alt ağ maskesini belirtebilirsiniz. Birden çok ağı belirtmek için “&” simgesini kullanabilirsiniz, ör: 192.168.1.0/255.255.255.0&192.168.2.0/255.255.255.0
  • Permit: AMI bağlantısına izin verdiğiniz ağ ye da tekil IP adresini belirtin.
  • Write Timeout: AMI komutunun yürütülmesi için zaman aşımı süresini girin.

4. Permissions sekmesini kullanarak erişim izinlerini ayarlayın.

AMI Kullanıcı İzin Ekranı

5. Ayarları kaydetmek için sağ alttaki Submit butonuna basın ve sonra sol üstte çıkacak olan Apply Config‘e basarak işlemi tamamlayın.

Cisco 7800 Snoopy Görüntüsü

Cisco 7800 Snoopy Görüntüsü

Cisco 7800 serisi IP telefonlarda sevimli bir Snoopy görüntüsü görürseniz şaşırmayın. Bu blog yazımda, Cisco 7800 serisi IP telefonlarda Snoopy görüntüsünün ne anlama geldiğini ve telefonu çalışır hale getirmek için neler yapabileceğinizi bulabilirsiniz.

Belirtiler

Bu sorun ile hem hali hazırda kurulmuş ve kullanılan, hem de kutusundan yeni çıkarılmış telefonlarda bir kaç kere karşılaştım ve bunun üstüne böyle bir yazı yazma gereği duydum. Telefon’a enerji verip açıldığında Cisco logosu önyükleme sırasında görünüyor, ardından bir süre sonra telefon ekranında sadece sevimli bir Snoopy resmi çıkıyor. Bazıları bunun bir arka plan görüntüsü veya bir tür ekran koruyucu olduğunu düşünebilir, ancak aslında değil. Bu esnada telefon donuyor ve herhangi bir tuşa bastığınızda da bir tepki vermiyor.

Cisco 7821'de Snoopy Görüntüsü
Cisco 7821’de Snoopy Görüntüsü

Cisco Snoopy – Kök Neden

Snoopy, Cisco 7800 serisi IP telefonların dahili kod adıdır. 7800 serisi IP telefonlarda bir Snoopy görüntüsü ile karşılaştığınızda bu, üretim sırasında telefonun uygun firmware ile yüklenmediği veya telefonun flash belleğinde bozuk bir firmware olduğu anlamına geliyor.

Cisco 7861’de Snoopy ve Woodstock Görüntüsü

Kurtarma İşlemi

Eğer siz de telefonlarınızda bu sorunla karşı karşıyaysanız, temel olarak aşağıdaki işlemleri yapabilirsiniz:

  • Telefonu, burada gösterilen prosedürle sıfırlamayı deneyin.

Yukarıdaki işe yaramazsa, şunu deneyin:

  • LAN’ınızda bir DHCP ve bir TFTP sunucusu kurun. TFTP sunucunuza telefonun ilgili firmware ve firmware bilgilerinin olduğu SIP konfigürasyon dosyalarını ekleyin. DHCP sunucu konfigürasyonunda Option 66 ile TFTP sunucunuzun adresini tanımlayın. Daha sonra Telefonun IP adresialıp almadığını görmek için DHCP sunucunuzun loglarını kontrol edin. Şanslıysanız, telefon bir IP adresi olacak ve firmware dosyasını çekmeye çalışacaktır.

Bu prosedürlerin işe yaramadığı durumda telefonu kurtarmak için artık yapabileceğiniz bir şey kalmamış demektir. Geçerli bir Cisco bakım sözleşmeniz varsa TAC’a case açıp RMA talebinde bulunabilirsiniz.

Cisco IP Telefon Ekran Görüntüsünü Almak

Cisco IP Telefon Ekran Görüntüsünü Almak

Cisco IP Telefon modellerinde bulunan ekran görüntüsü alma fonksiyonu özellikle uzaktan destek gerektiren bazı durumlarda çok işinize yarayabilir. Aşağıdaki yazımda Cisco 7800 ve 8800 serisi telefonlar için ekran görüntüsü alma prosedürünü bulabilirsiniz.

İlk önce, Cisco Unified Communications Manager (CUCM) üzerine birkaç ayarı doğrulayalım.

CUCM Ayarları

Bir Cisco IP Telefonun ekran görüntüsünü alabilmek için öncelikle o telefonun bir CUCM kullanıcısı (End User) ile eşleştirilmesi ve telefon ayarlarından web erişiminin (Web Access) açılmış olması gereklidir. Bu ayarları CUCM Administration sayfasından Device -> Phone menüsünü kullanarak ve ilgili telefonu seçerek yapabilirsiniz.

Öncelikle telefonun web arayüzünü açmak gerekiyor. Bunun için Product Specific Configuration Layout başlığındaki Web Access i Enable etmek yeterli.

Cisco IP Telefon Web Erişimi Ayarları

Daha sonra IP Telefon ile kullanıcıyı eşleştirmemiz gerekiyor. Yine aynı sayfada Owner User ID kısmında ilgili kullanıcıyı seçiyoruz.

Cisco IP Telefon ile Kullanıcıyı Eşleştirme

Kullanıcıyı seçtikten sonra User Management -> End User menüsünden ilgili kullanıcıyı seçin ve Device Information başlığındaki Controlled Devices bölümünde ilgili telefonun eklenmiş olduğundan emin olun.

End User Bölümünde Kullanıcı – IP Telefon Eşleştirme

Bu ayarları yaptıktan sonra System -> Enterprise Parameters menüsüne girerek telefonun web arayüzüne erişirken kullanacağı kullanıcı doğrulama URL’lerini kontrol edelim. İlgili ayarlar Phone URL Parameters ve Secure Phone URL Parameters başlıklarında bulunabilir.

IP telefonlarda kimlik doğrulama aşağıdaki URL biçimi ile çalışır:

http(s)://cucmcip/authenticate.jsp?UserID=<kullanıcıadı>&Password=<şifre>&devicename=<cihazadı>

Eğer girilen bilgiler uygun ise, tarayıcı basit bir “AUTHORIZED” mesajı, eğer bilgilerde tutarsızlık varsa “UN-AUTHORIZED” mesajı görüntüler. Aşağıda örnek bir URL ve çıktısını bulabilirsiniz:

CUCM Kullanıcı Adı ve Şifrenizi Bu Şekilde de Kontrol Edebilirsiniz

İpucu: Eğer telefonlarda kimlik doğrulama işlemini by-pass etmek istiyorsanız Enterprise Parameters altındaki Authentication URL‘lerini her halikarda “AUTHORIZED” olarak cevap verecek bir web sayfasına yönlendirebilirsiniz 🙂

Web Tarayıcı Üzerinden Ekran Görüntüsü Almak

Eğer yukarıda anlatılan adımların hepsini düzgün bir şekilde yaptıysanız artık IP telefonunuzun ekran görüntüsünü alabilirsiniz demektir. Bunun için aşağıdaki URL’i kullanabilirsiniz:

 http://cucmip/CGI/Screenshot 

Kullanıcı adı ve şifreyi girdikten sonra aşağıdaki gibi bir görüntü alacaksınız:

Web Tarayıcı Üzerinden Alınan Cisco 7821 IP Telefon Ekran Görüntüsü

Sorun Giderme

Eğer web tarayıcızınızda şunun gibi bir hata mesajı alırsanız:

 <CiscoIPPhoneError Number=”4” /> 

Bu sorun büyük ihtimalle kimlik doğrulama ile ilgilidir. Telefonun bir kullanıcının kontrolünde olduğunu ve kullanıcının kimlik bilgilerinin doğru olduğunu doğrulayın. Bunu kolayca görebilmek için yukarıdaki authentication URL biçimini kendi telefonunuza göre uyarlayıp test edebilirsiniz. URL çalışıyor ancak telefonun web sayfası hala aynı hatayı gösteriyorsa, telefonu sıfırlayın ve tekrar deneyin.

 <CiscoIPPhoneError Number=”0” /> 

Bu hata ise telefonun kimlik doğrulama için CUCM’de sağlanan URL’e bağlanamadığını gösterir. Buna neden olabilecek birçok şey olabilir, hemen hemen hepsi erişilebilirlik ile ilgilidir. IP telefonlardan CUCM’e (ya da doğrulama sunucusuna) doğru DNS, yönlendirme, vs. gibi tanımları kontrol etmeniz gerekecektir.

CUCM 14 İle İlgili İlk Bilgiler ve Desteklenmeyecek IP Telefonlar

CUCM 14 İle İlgili İlk Bilgiler ve Desteklenmeyecek IP Telefonlar

CUCM versiyon 12’den sonra malum sebeplerden dolayı 13’ü atlayarak muhtemelen önümüzdeki yılın başlarında 14 olarak karşımıza çıkacak. Bu versiyonda 11.5 ve 12 versiyonlarında olduğu gibi birtakım IP telefonlar da desteklemeyecek.

CUCM 14’te Desteklenmeyecek Olan Modeller

CUCM 14 ile birlikte genel olarak uzun yıllardır piyasada olan farklı IP telefon modelleri artık kullanılamayacak. Aşağıdaki listede desteklenmeyecek olan modelleri bulabilirsiniz:

  • Cisco Unified IP Phone 3911, 3951
  • Cisco Unified IP Phone 6911, 6921, 6941, 6945, 6961
  • Cisco Unified IP Phone 7906G, 7911G, 7925, 7925G-EX, 7926, 7931, 7936, 7937G, 7940, 7941, 7960, 7961, 7985
  • Cisco Unified IP Phone 8941

Bu telefon modellerinden herhangi birini kullanıyorsanız, CUCM versiyon 14’e yükseltme yaptıktan ve yeni sürüme geçtikten sonra bu telefonlar için kayıt (registration) işlemi CUCM tarafından engellenecektir. Eğer IP telefon açık kalırsa, telefon sürekli kendini kayıt etmeye çalışacağı için CallManager servisine yük getirmenin yanı sıra gereksiz ağ trafiği yaratacaktır.

Telefonların Desteklenmeme Sebepleri

Görünüşe göre Cisco günün sonunda sadece 7800 ve 8800 serisi telefonları kullanacak, bunun sebeplerini de şu 4 alt başlıkta açıklamışlar:

  • Güvenlik – Eski telefon modelleri kritik yazılım güncellemelerini alamadığından, yeni güvenlik sorunları ortaya çıktıkça kullanıcıları korumak için.
  • Yeni Özellikler ve Uygulamalar – Bazı telefon modelleri çok uzun yıllar önce tanıtıldığından (ör, 7900 serisi on yıl önce tanıtılmıştı) bu telefon modellerinde bulunan eski işlemci ve donanımlar, yeni uygulamalar ve güvenlik özelliklerinin uygulanması konusunda bir takım sıkıntılara sebep olduğundan kullanıcı deneyimini üst düzeyde tutabilmek için.
  • Sürdürülebilirlik – Eski telefonlar için artık geliştirme desteği veya regresyon testleri yapılmadığından sürdürülebilirliği sağlamak için.
  • Ömrünün Sonuna Gelmiş Ürünler – Yukarıda listelenen telefon modelleri için geçmişte satış ve ömür sonu duyuruları yapılmıştı. Bu telefon modelleri, CUCM 14 piyasaya çıktığında ömürlerini doldurmuş olacak.

Bu sebeplerin ardından eğer sizin de CUCM 14’e geçme planınız varsa ve elinizde artık desteklenmeyecek eski model telefonunuz varsa Cisco aşağıdaki tavsiyelerde bulunuyor:

  1. Desteklenmeyen telefonları tanımlayın ve versiyon 14’e yükseltmenizi zamanında planlayın.
  2. Rekabetçi alım satım programlarından yararlanın (Trade-in, Cisco Capital vb.) veya, telefonları uygun maliyetli bir şekilde yenilemek için Cisco ekipleriyle birlikte çalışın.
  3. Jabber kullanarak yazılım tabanlı uç cihazlara geçme stratejisini düşünün.
  4. Cisco çözüm ortaklarıyla desteklenen 7800 ve 8800 serisi IP telefonlara geçiş hakkında konuşun.

Konuyla ilgili Cisco.com da yayınlanan Field Notice’e bu linkten ulaşabilirsiniz.

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ı