Voice Translation Rules Nedir

Merhaba ,bu makelemizde Voice Translation Rules Nedir buna değineceğiz.

Ses haberleşmesinde gelen veya giden cagrılarda , bazen digitleri değiştirmek isteriz. Başına prefix eklemek isteyebiliriz yada tümüyle gelen digitleri farklı digitlere çevirmek isteyebiliriz.

Bu yazımızda cisco cihazlarda , örneklerle bunu açıklamaya calısacağım. Aslında bunu yapmamızın 2 yolu var. 1.si “ num exp “ komutuyla .

Num exp 100 200 , şeklinde belirttiğimiz bir komut ile 100 ile bir arama geldiğinde bu digitler 200 e çevirilir. Num-exp global konfigurasyon modunda uygulandığı için tüm dial-peer lar bundan etkilenir. Biz bu yazı da kullanımı çok daha efektif olan translation rules uygulamaları üzerinde duracağız .

Örnekler ile translation rules dan bahsedeceğiz. Yazıyı okuyanlar için , pots , voip dial-peer ların bilindiği prefix , ve isdn debug komutlarının bilindiği varsayılmıstır.

   

Birçok  örnek ile basitten karmaşığa doğru translation rule’ları anlamaya çalışacağız.

  

  1. / 123 /  / 456/      Bu Translation rules ile 123 digitlerini gördüğünde 456 olarak değiştirilir. Gelen digitler 123 > 456 olacağı gibi , 1234 olarak geldiğinde , 4564 olacaktır. Görüldüğü gibi 123 > 456 ile değiştirildi ve sondaki 4  , 456 ‘ya eklendi.

Translation rules “ test voice translation-rule digit “ şeklinde uygulanır. Yazıdaki diğer tüm örneklerde bu komutu kullanacağız.

Buna göre ;

Test voice translation-rule 123 > 456

                                           1234 > 4564

                                           6123 > 6456   olacaktır.

   

2.        /^123/  /456/    Bu translation rule ile  gelen digitler 123 ile başlıyorsa 456 olarak değiştirilir , aksi takdirde hiç bir değişiklik olmayacaktır.1. rule’da olduğu gibi içeriğinde 123 olması yetmez , 123 ile başlamak zorunda !

Buna göre ;

Test voice translation-rule 123 > 456

                                           1234 > 4564

                                           6123 > Didnt match ( Match etmez ) . 123 ile başlamadı !

   

3.     /^123$/  /456/    Bu translation rule ile tam olarak 123 digitleri gelmediğinde , herhangi bir değişiklik yapılmayacaktır. 123 geldiğinde 456 olarak değiştirilecektir.

Buna göre ;

Test voice translation-rule 123 > 456

                                           1234 > Didnt match ( Match etmez ) . 123 değil !

                                           6123 > Didnt match ( Match etmez ) . 123 değil !

  

Şimdi translation rules içinde kullanılan bazı işaretlerin açıklamalarını yapalım ve yine örnekler ile ne anlama geldiklerine bakalım.

.  ( Nokta )  ; Tüm digitleri ifade eder , ama karakterler için kullanılmaz.

*, #  ; Tüm karakterleri ifade eder, yani bu işaretlerden biri translation rule içinde kullanılıyorsa klavyedeki tüm karakterler bir anlam ifade eder.

[0-9] ; 0 ile 9 arasındaki tüm digitler.

+ ;  Bir yada daha fazla durum 

? ; Hiç yada en az 1 durum .  + ve  ? işaretlerini örnekler içinde net anlayacağız.

  

Bahsettiğimiz bu işaretlere translation rule içerisindeki uygulamalarına bakalım.

    

4.     /.*/  /5554000/     Bu translation rule ile gelen tüm digit ve tüm karakterler translate edilecek yani 2.kısım ile değiştirilecek. Karakter veya digit sayısı önemli değil.

  

Buna göre ;

Test voice translation-rule 123 > 5554000

                                           86573 > 5554000

                                           “ “  > 5554000   Görüldüğü gibi karakter kullandım ama yine 5554000 olarak değiştirildi.

   

5.    /.+/  /5554000/   Bu translation rule ile 4. rule dan farklı olarak karakter kısıtlaması geliyor. Ama nokta işaretcisinden dolayı digit için herhangi bir kısıtlama yok. Ayrıca gelen digitlerin uzunluğuda önemli değil ve 2. kısım ile translate edilecek ( Yer değiştirilecek )

  

Buna göre ;

Test voice translation-rule 123 > 5554000

                                           345678 > 5554000

                                           “ “ > Didnt match ( Match etmez ) . Bu rule’da karakter kullanamadığımızı belirtmiştik.

Şimdi örneklerimizi biraz daha karmaşıklaştırıyoruz.

6.    /^0+/  /909/      Bu translation rule ile ^ işaretçisinden sonra 0 olmasından dolayı , 0 ile başlamak zorunda. ^ dan sonra 12 olsaydı , 12 ile başlamak zorunda olacaktı. 0 ile bağlayan digitler 909’ a çevirilecek ve 0’ dan sonra gelen digitler 909’un sonuna eklenecek.

  

Buna göre ;

Test voice translation-rule 0123456 > 909123456

                                           00123456 > 909123456

                                           000123456 > 909123456

                                           123456 > Didnt match ( Match etmez ) . 0 ile başlamak zorunda olduğunu belirmiştik.

   

Şimdi yine bazı işaretlerin anlamlarından bahsedelim ve örnekler içerisinde nasıl uygulandıklarına bakalım.

  

( a\) ; Bu şekilde bir digit geldiğinde a  olarak translate edilir.

b\  ; Bu şekilde geldiğinde ignore edilir.

\1  ; 1. seti değiştirilen numaraya kopyala ,    \2  ; 2.seti değiştirilen numaraya kopyala.

  

Burada ilk defa set kavramından bahsettik. Aşağıdaki örneklerde set kavramını daha net anlayacağız.

    

7.   /^\(12\)3\(45\)$/   /6\1\2/

Bu translation rule ile (12\) ; 1.set (45\) ; 2.set tir.  (12\)  > 12 olarak translate edilecek . 3\  > ignore edilecek . (45\) > 45 olarak translate edilecek . Buna göre 1.setten 12 , 2.setten 45 gelecek . /6\1\2) ifadesi gereğince de ; 6’dan sonra önce 1.set , sonra 2.set 6’dan sonra gelecek.

  

Buna göre  ;

Test voice translation-rule 12345 > 61245  olarak translate edilecek.

    

8.          /^2\(…$\)/  /01779345\1/

Bu translation rule ile 2 ile başlayan ve toplam 4 digit gelmek zorunda . Karakter gelemez. 2\ ifadesinden dolayı 2 ignore edilecek .   01779345\1 ifadesinden dolayı 1.setten gelen digitler 01779345’in sonunda kopyalanacak.

  

Buna göre;

Test voice translation-rule 2001 > 01779345001  şeklinde translate edilecek.

    

Translation rule sonuna type national yada type international olarak belirtebiliriz.

Type national olarak belirttiğimizde rule translate edilirken 90 prefixi ekler. Type international olarak belirttiğimizde 900 prefixi ekler.

  

Son translation rule örneğimize bakacak olursak ;

9.          /^.*\(..\)/  /\1/

      Bu translation rule ile ^.*\  ignore olacak.  (..\) Burası hangi 2 ( nokta sayısı 2 ) digit gelirse gelsin sağdaki \1 ‘den dolayı bu 2 digit aynen translate edilecek.Gelen digitin uzunluğu önemli değil ancak ignore olmayan (..\) ifadesi 1.setimiz olacak ve 1.setimiz aynen translate edişmiş olacak. Gelen digitlerin son 2 hanesi translate edilecek. Ekleme ve çıkarma işlemleri sağdan başlanarak yapılır.

Buna göre ;

Test voice translation-rule 12345 > 45

                                           123456 > 56

                                           1#3 > Didnt match ( Match etmez ) . Karakter kullanıldı.!

   

Translation rule’ların kullanımları genel olarak bu şekilde .Hangi amaçla kullanılacağı tasarlanıp buna göre oluşturulan translation rule’lar daha sonra bir profile’a match ettirilir.

  

Aşağıdaki uygulama ile bunu açıklayalım ;

Voice translation-rule 1

Rule 1 /400/  /500/

Rule 2 /^700/  /555/

Yukarıda 2 rule’dan oluşan bir rule set oluşturduk.Rule 1 ‘de 400 digitleri görüldüğünde 500 olarak translate edilecek, Rule 2’ye göre de 700 ile başlayan digitler geldiğinde 555’e translate edilecek.

Translation rule’ların uygulanışına göre  ; oluşturulan bu rule set , bir translation profile’a match ettirilir dedik. Bir test profile’ı oluşturabiliriz.

Profile oluşturmak için kullanacağımız komut  ;

Voice translation-profile test

Bu komut altında çalıştıracağımız translate called 1 ifadesi ile 1 isimli rule set’imizi test profile’ına match ettirmiş oluyoruz.

  

Son olarak yapacağımız işlem  , oluşturduğumuz test profile’ımızı hangi dial-peer altında çalıştıracaksak incoming yada outgoing olarak uygulamak.

Dial-peer voice 100 voip

Translation-profile incoming/outgoing test  komutu ile de dial-peer altında rule set’imizi çalıştırmış oluruz. Yazımızın başında söylediğimiz gibi translation rule’lar dial-peer ların altlarında çalıştırılır.

  

Translation rule’ların hangi amaçla kullanıldığı , içerilerinde kullanılan işaretler  ve kısaltmalar , type’ların ne anlama geldikleri ve yönlendiriciler üzerinde nasıl çalıştıklarını anlatmaya çalıştığım bu makale umarım tüm okuyucular için faydalı olmuştur.

                                                                                        ORHAN ERGÜN    

Bir Cevap Yazın

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