Asterisk 1.4 + chan_ss7 + Sangoma Kurulumu

Merhaba,

Bu yazımda sizlere Ubuntu Server 11.04 üzerinde, Asterisk 1.4 ve chan_ss7 kurulumunu anlatacağım.
Kullandığım paket ve versiyonlar biraz eski gözükebilir. Ben en stabil bulduğum halini yazıyorum. Sizin senaryonuzda versiyonlar değişse bile, kurulum adımları hemen hemen aynı olacaktır.

Kurulumdaki donanım & yazılım özellikleri:

  • Ubuntu 11.04
  • Sangoma A108 / E1/T1 card

Kurulum için kullanılacak ana klasör: /usr/src/
Gerekli library kurulumları:

apt-get update (apt güncellemesi mutlaka yapılmalıdır)
apt-get -y install gcc
apt-get -y install g++
apt-get -y install make
apt-get -y install libncurses5-dev
apt-get -y install flex
apt-get -y install bison
apt-get -y install patch
apt-get -y install linux-source
apt-get -y install linux-headers-$(uname -r)

Paket isimleri değişiklik gösterebilir, bulunamayan paketler için apt-cache search <paketismi> kullanılarak paketlerin güncel isimleri bulunabilir.

Kurulum sırası:

  1. zaptel 1.4.11
  2. libpri 1.4.5
  3. Asterisk 1.4.21.2
  4. chan_SS7 1.0.10
  5. wanpipe 3.2.7.1

Zaptel kurulumu

tar  -zxvf zaptel-1.4.11.tar.gz
mv zaptel-1.4.11 zaptel
cd zaptel
./configure
make
make install
make config

LibPRI kurulumu

tar  -zxvf libpri-1.4.5.tar.gz
cd libpri-1.4.5
make
make install

Asterisk kurulumu

tar  -zxvf asterisk-1.4.21.2.tar.gz
cd asterisk-1.4.21.2
./configure
make
make install
make samples
make config

chan_SS7 kurulumu:

tar -zxvf chan_ss7-1.0.10.tar.gz
cd chan_ss7-1.0.10

ÖNEMLİ: chan_ss7 kurulumu öncesinde Makefile düzenlemesi gerekiyor.
pico Makefile diyerek editor ile dosyayı açın
Satır 8: INCLUDE+=-I … başına # koyarak comment edin ve alt satıra geçip şunu yazın:
INCLUDE=-I../zaptel/kernel  -I../asterisk-1.4.21.2/include
asterisk klasörünün varolduğundan emin olun, sürüm farklıysa bu bilgiyi de ona göre değiştirin.

Ardından derlemeye geçebilirsiniz.

make
make install

SS7 kurulduktan sonra dosyalarını /usr/local/ss7/ altında oluşturacaktır. Bu klasörü silmeyiniz.
Daha sonra SS7 dosyalarını asterisk’e kopyalayalım.

cp chan_ss7.so /usr/lib/asterisk/modules/
chmod 755 /usr/lib/asterisk/modules/chan_ss7.so
cp ss7.conf /etc/asterisk/ss7.conf

Bu işlemden sonra paket kurulumları bitiyor.
Şimdi WanPipe driver kurulumuna geçilebilir.

Wanpipe Kurulumu

Wanpipe driverları için güncel adres: http://wiki.sangoma.com/wanpipe-linux-drivers
Stable Voice & Data Drivers indirilebilir.

tar -zxvf wanpipe-3.2.7.1.tgz
cd wanpipe-3.2.7.1

Kurulumdan önce Setup scriptin değiştirilmesi gerekiyor:

pico Setup

Eğer ilk satırda #/bin/sh varsa, bunu #/bin/bash olarak değiştirin. Daha sonra dosyayı kaydedip çıkın.

Kuruluma başlamak için:

./Setup install
Would you like to install WANPIPE now? [y] (y/n) Y

 

Verifying files and fixing permissions …Done

Checking for C developement tools …(gcc) OK

Checking for C++ developement tools …OK

Checking for Make utility …OK

Checking for ncurses library … OK

Checking for Perl developement tools …OK

Checking for AWK …OK

Checking for FLEX …OK

Checking for Patch …OK

Checking for libtermcap-devel…OK

Checking for bison…OK

 

Eğer bu kısımda hata veren bir paket  varsa apt-get install <paket> ile yükleyerek tekrar deneyin.

Would you like build wanpipe kernel drivers? [y] (y/n) Y
Press Enter for Default: /lib/modules/2.6.20-15-server/build
Enter yapıp geçin
Current WANPIPE kernel patch is 3.2.7.1 buradaki versiyon düzgün gözüküyor mu kontrol edin.
Proceed to build WANPIPE kernel modules ? [y] (y/n) Y
Please Select Compilation Mode bu ekranda 2 seçilmeli. 2 yazıp enterlayın.
Please select working zaptel directory [1-3][m]: 1
Native Zaptel HW HDLC Support Detected – No patch required
Zaptel source unmodified, no zaptel re-compilation needed!
bu mesajı verdiğinden emin olun.
Visually Confirm that driver compilation was successful! (y/n) Y
Wanpipe startup sequence: wanpipe1 wanpipe2 wanpipe3 wanpipe4 wanpipe5 wanpipe6 wanpipe7 wanpipe8
Bu ekranda tüm portları görmelisiniz. 1den 8e kadar gözüktüğüne emin olun. (A108 için geçerli)
Would you like to install WANPIPE start-up scripts? (y/n) Y
Ardından şu hatalar gelebilir:
error: “Operation not permitted” reading key “net.ipv6.route.flush”

error: “Operation not permitted” reading key “net.ipv4.route.flush”

cat: /etc/inittab: No such file or directory

Warning: Failed to determine init boot level, assuming 3

 

Bu hatalar normaldir, gözardı edebilirsiniz.

Would you like to auto-execute ztcfg after wanrouter start? (y/n) Y
Would you like to configure wanpipe devices for ZAPTEL? (y/n) Y
Would you like to generate /etc/asterisk/zapata.conf YBu kısımdan sonra wanpipe konfigürasyonlarını oluşturmaya başlayacağız. Aşağıdaki sorulara aynı cevaplar vererek 8 port aynı şekilde konfigüre edilebilir. Daha sonra konfigürasyon dosyalarını elle değiştireceğz.Select media type for AFT-A108 on port 1 [slot:2 bus:7 span:1] 1. T1
2. E1
3. Unused
4. Exit
[1-4]: 2
1. YES – Keep these settings
2. NO  – Configure line coding and framing
[1-2, ENTER=’YES’]: 1
Select clock for AFT-A108 on port 1 [slot:2 bus:7 span:1] 1. NORMAL
2. MASTER
[1-2]: 1
Not:  TELCO her zaman MASTER clock olarak calisir. Default olarak NORMAL diyoruz.

 

Select signalling type for AFT-A108 on port 1 [slot:2 bus:7 span:1] 1. PRI CPE

2. PRI NET

3. E & M

4. E & M Wink

5. FXS – Loop Start

6. FXS – Ground Start

7. FXS – Kewl Start

8. FX0 – Loop Start

9. FX0 – Ground Start

10. FX0 – Kewl Start
[1-10]: 2
Select switchtype for AFT-A108 on port 1

1. National ISDN 2

2. Nortel DMS100

3. AT&T 4ESS

4. Lucent 5ESS

5. EuroISDN

6. Old National ISDN 1

7. Q.SIG

[1-7]: 5

 

Configuring port 1 on 108 as a full E1

1. YES – Use all channels

2. NO  – Configure for fractional
[1-2, ENTER=’YES’]: 1

 

Select dialplan context for AFT-A108 on port 1

1. from-pstn

2. from-internal

3. Custom
[1-3]: 1

Port 1 on AFT-A108 configuration complete…

Press any key to continue:
Bu ekran geldikten sonra ENTER yaparak tüm kartlar için aynı konfigürasyonu kullanabilirsiniz.

T1/E1 card configuration complete.

Bu ekran geldikten sonra tüm kartlar konfigüre ediliecek.
Enter yaparak sonraki ekrana geçin.

8 T1/E1 port(s) detected, 8 configured

0 ISDN BRI port(s) detected, 0 configured

0 analog card(s) detected, 0 configured
8 portun tamamı gözüküyor mu?

 

Configuration Complete! Please select following:

1. YES – Continue

2. NO – Exit

[1-2]: 1

 

Zaptel and Wanpipe configuration complete: choose action

1. Save cfg: Restart Asterisk & Wanpipe now

2. Save cfg: Restart Asterisk & Wanpipe when convenient

3. Save cfg: Stop Asterisk & Wanpipe now

4. Save cfg: Stop Asterisk & Wanpipe when convenient

5. Do not save cfg: Exit

[1-5]: 3

 

Would you like wanrouter to start on system boot?

1. YES

2. NO

[1-2]: 1

 

EN SON EKRAN şu şekilde olmalı:

Verifying Zaptel boot scripts…Enabled (level:15)

Verifying Zaptel shutdown scripts…Enabled (level:30)

Enabling wanrouter boot scripts …(level:14)

Enabling wanrouter shutdown scripts …(level:29)

Sangoma cards configuration complete, exiting…

Bu işlemden sonra kurulumlar tamamlanmış oluyor.

Şimdi konfigürasyon ekranına geçebiliriz.

WANPIPE Konfigürasyonları

WanPipe konfigürasyonları /etc/wanpipe/ altında bulunur.
Her port için ayrı bir konfigürasyon dosyası vardır, wanpipe#.conf formatında görebilirsiniz.
# = port’u ifade eder.

Port 1 için örnek konfigürasyon dosyası:

[devices] wanpipe1 = WAN_AFT_TE1, Comment [interfaces] w1g1 = wanpipe1, , TDM_VOICE, Comment [wanpipe1] CARD_TYPE        = AFT
S514CPU             = A
CommPort         = PRI
AUTO_PCISLOT                = NO
PCISLOT               = 2
PCIBUS                = 7
FE_MEDIA          = E1
FE_LCODE           = HDB3
FE_FRAME         = NCRC4
FE_LINE                               = 1
TE_CLOCK           = NORMAL
TE_REF_CLOCK    = 0
TE_SIG_MODE     = CCS
TE_HIGHIMPEDANCE    = NO
LBO                       = 120OH
FE_TXTRISTATE = NO
MTU                     = 1500
UDPPORT           = 9000
TTL                         = 255
IGNORE_FRONT_END = NO
TDMV_SPAN     = 1
TDMV_DCHAN = NO
TDMV_HW_DTMF          = NO

 

[w1g1] ACTIVE_CH        = ALL
TDMV_ECHO_OFF          = NO
TDMV_HWEC    = NO

Kırmızı ile işaretli alanlar, her portta aynı değildir. Bu nedenle dosyaları copy/paste ile değiştirmek yerine, oluşturulan default dosyaları kullanarak değiştirin.
Özellikle TDMV_SPAN değeri her port için 1 artmaktadır.
Kartları buna göre konfigüre etmeyi unutmayın.

WanPipe konfigürasyonu bittikten sonra Zaptel konfigürasyonuna geçebilirsiniz.

Zaptel konfigürasyonu /etc/zaptel.conf içinde bulunabilir.
Örnek Zaptel konfigürasyonu şu şekilde olabilir:

loadzone=us

defaultzone=us

 

#Sangoma A108 port 1 [slot:2 bus:5 span: 1]

span=1,0,0,ccs,hdb3#,crc4

bchan=1-31

 

#Sangoma A108 port 2 [slot:2 bus:5 span: 2]

span=2,0,0,ccs,hdb3#,crc4#6

bchan=32-62

 

#Sangoma A108 port 3 [slot:2 bus:5 span: 3]

span=3,0,0,ccs,hdb3#,crc4#7

bchan=63-93

 

#Sangoma A108 port 4 [slot:2 bus:5 span: 4]

span=4,0,0,ccs,hdb3#,crc4#8

bchan=94-124

 

#Sangoma A108 port 5 [slot:2 bus:5 span: 5]

span=5,0,0,ccs,hdb3#,crc4

bchan=125-155

 

#Sangoma A108 port 6 [slot:2 bus:5 span: 6]

span=6,0,0,ccs,hdb3#,crc4#2

bchan=156-186

 

#Sangoma A108 port 7 [slot:2 bus:5 span: 7]

span=7,0,0,ccs,hdb3#,crc4#3

bchan=187-217

 

#Sangoma A108 port 8 [slot:2 bus:5 span: 8]

span=8,0,0,ccs,hdb3

bchan=218-248

Bu konfigürasyonda tüm spanler local timinge göre ayarlanmış, bchan (bearer channel) set edilmiştir. chan_ss7 için dchan (delta channel) gerekli değildir.

Şimdi chan_ss7 konfigürasyonuna geçebiliriz.

chan_ss7 için konfigürasyon dosyası /etc/asterisk/ss7.conf altında bulunur.
Örnek ss7.conf dosyası şu şekilde olabilir:

[linkset-siuc]

enabled => yes

enable_st => no

use_connect => yes

hunting_policy => even_mru

context => default

language => en

subservice => auto

 

[link-l1];CIC 0 –

linkset => siuc

channels => 1-15,17-31

schannel => 16

firstcic => 1

enabled => yes

 

[link-l2];CIC 1 –

linkset => siuc

channels => 1-15,17-31

schannel =>

firstcic => 33

enabled => yes

 

[link-l3];CIC 2 –

linkset => siuc

channels => 1-15,17-31

schannel =>

firstcic => 65

enabled => yes

 

[link-l4];CIC 3 –

linkset => siuc

channels => 1-15,17-31

schannel =>

firstcic => 97

enabled => yes

 

[link-l5];CIC 5 –

linkset => siuc

channels => 1-15,17-31

schannel =>

firstcic => 129

enabled => yes

 

[link-l6];CIC 6 –

linkset => siuc

channels => 1-15,17-31

schannel =>

firstcic => 161

enabled => yes

 

[link-l7];CIC 7 –

linkset => siuc

channels => 1-15,17-31

schannel =>

firstcic => 193

enabled => yes

 

[link-l8];CIC 8-

linkset => siuc

channels => 1-15,17-31

schannel =>

firstcic => 225

enabled => yes

 

[host-<HOSTNAME_BURAYA_YAZILACAK>]

default_linkset => siuc

enabled => yes

opc => 11748

dpc => siuc:12265

links => l1:1,l2:2,l3:3,l4:4,l5:5,l6:6,l7:7,l8:8

Kırmızı ile işaretli alanlara dikkat edin.
Hostname kısmına, sunucunun adını yazmalısınız. Bu bilgiden emin değilseniz

cat /etc/hostname

Yaparak sunucu ismini öğrenin.

opc ve dpc değerlerini de telconun verdiği bilgilere göre girin.

Daha sonra bu dosyayı kaydedip çıkın. Şimdi de zapata konfigürasyonuna geçebiliriz.

Zapata konfigürasyonu /etc/asterisk/zapata.conf altında bulunabilir.
Örnek konfigürasyon dosyası şu şekilde olabilir:

[trunkgroups] [channels]

context=default

usecallerid=yes

hidecallerid=no

callwaiting=yes

usecallingpres=yes

callwaitingcallerid=yes

threewaycalling=yes

transfer=yes

canpark=yes

cancallforward=yes

callreturn=yes

echocancel=yes

echocancelwhenbridged=yes

rxgain=0.0

txgain=0.0

group=1

callgroup=1

pickupgroup=1

busydetect=yes

busycount=3

immediate=no


context değerini çağrılarınızın karşılanacağı context ile değiştirin.
eğer bir contextiniz yoksa extensions.conf üzerinde boş bir context oluşturabilirsiniz.
Bu değerler varsayılandır.

Konfigürasyon tamamlanmıştır, şimdi asteriski çalıştırarak test edebiliriz.

wanrouter start

Komutuyla wanrouter’ı çalıştıralım, eğer

/etc/wanpipe/scripts/start: 7: Syntax error: Bad for loop variable

bunun gibi bir hata alıyorsanız, bunu gözardı edebilirsiniz.

wanrouter start komutundan 30 saniye sonra

ztcfg -vvv

… ve tekrar

ztcfg -vvv

Şöyle bir çıktı almalısınız: 248 channels to configure.
Bu tüm kanalların kullanabilir olduğunu gösterir.
Hemen ardından

asterisk -vvvgc

Asterisk konsolu açıldıktan sonra:

ss7 link status

 

Çıktı şöyle olmalıdır:

linkset siuc, link l1, schannel 16, sls 0, INSERVICE, rx: 2, tx: 0/3, sentseq/lastack: 108/108, total 0, 0
INSERVICE konumunda SS7 linkimiz TELCO ile sinyalleşiyor demektir.
Eğer INSERVICE yerine DOWN, NOT_ALIGNED, gibi kodlar alıyorsanız SS7 linkinde bir problem var demektir.

Ardından

ss7 show channels

Yazarak CIClerin durumlarini goruntuleyebilirsiniz. Tum CIClerin “IDLE” durumda olmasi gerekiyor. Eger CIClerde “BLOCKED” ciktilari varsa, TELCO CICleri henuz aktif etmemis olabilir.

Diğer bilgiler

ztdummy hakkında
WANPIPE için ztdummy GEREKLİ DEĞİLDİR!
Timing için ztdummy gerekliyse driver bunu  kendi yükleyecektir.
Eğer “modprobe ztdummy” ile ztdummy yüklendiyse, Zaptel’i restart edin.

Asterisk chan_zap’ı yükleyemiyor.
Eğer Zaptel başlatılmadan veya konfigüre edilmeden Asterisk çalıştırılırsa ve Wanpipe çalıştırılırsa chan_zap hataları alabilirsiniz. Hatalardan sonra chan_zap yüklenmeyecektir.

/etc/init.d/wanrouter stop
 /etc/init.d/zaptel stop
 /etc/init.d/wanrouter start
 /etc/init.d/zaptel start
 ztcfg –vvv (2 kere)

daha sonra asterisk’i başlatın.

SS7 komutları sistemi down edebilir…
chan_ss7 üzerindeki buglar nedeniyle Asterisk konsolu üzerinden ss7 komutları sistemi down hale getirebilir.

Sadece şu komutları kullanmaya dikkat edin, bu komutlar yeterli olacaktır:

ss7 link status -> ss7 link durumu
ss7 show channels -> ss7 CIC durumu
ss7 status -> kanal kullanımı

Sorularınız olursa buraya yorum bırakabilirsiniz.
Umarım yararlı olur.

 

Bir cevap yazın

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