Vysoká škola Báňská – Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky
Technologie počítačových sítí Téma: Průzkum možností IP telefonů Cisco – Propojení IP telefonu Cisco s PBX Asterisk protokolem SCCP
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky Datum: Jméno: Login:
7.12.2008 Bc. Lukáš Martynek, Bc. Michal Urbánek mar651, urb204
Obsah: 1. 2. 3. 4. 5.
Úvod do problematiky Instalace a konfigurace softwaru Testování Zhodnocení Užitečné odkazy
1 Úvod do problematiky Cílem tohoto projektu bylo nahradit aplikaci Call Manager, jejíž pořízení je velmi nákladné, softwarovou ústřednou Asterisk, zajistit její spolupráci s IP telefony obsahující SCCP protokol a prozkoumat možnosti tohoto řešení. Komunikace probíhala mezi dvěma IP telefony Cisco 7941, které byly přes switch připojeny k PC s operačním systémem Linux se službou DHCP serveru, TFTP serveru a také Asterisku verze 1.4.22. Schéma zapojení je uvedeno na obrázku 1. Asterisk je volně dostupná softwarová pobočková IP ústředna pracující na platformě GNU/Linux, která nabízí veškerou funkcionalitu, která se od pobočkové ústředny očekává. Ke své činnosti nevyžaduje žádný nadstandardní hardware, který bývá velmi drahý. Na druhou stranu jsou podporována různá hardwarová rozšíření, která doplňují velmi solidní softwarové vybavení. Jeho základní komponentou je skinny channel pro komunikaci skinny protokolem, ale ten umožňuje pouze základní nastavení a proto bude nahrazen.
2 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky Obr. 1
Nejprve jsme tedy vše zapojili podle schématu uvedeného na obr. 1. Poté bylo potřeba nainstalovat a nakonfigurovat potřebný software, tedy Asterisk, lepší podporu SCCP protokolu (chan SCCP), DHCP server a TFTP server.
2 Instalace a konfigurace softwaru Na PC s OS Linux je potřeba být přihlášen jako root (potřebujeme dostatečná práva k instalaci a konfiguraci), jinak by bylo nutno před každým příkazem psát sudo. Základní instalace ústředny včetně konfiguračních souborů a souborů určených pro vývoj byla spuštěna příkazem: apt-get install asterisk asterisk-config asterisk-dev Dále jsme nainstalovali Terminal capability library, která umožňuje modifikovat konfigurační soubory pomocí terminálu: apt-get install libncurses-dev Při instalaci Asterisku je nainstalována pouze základní podpora SCCP protokolu, pro více možností je nutno doinstalovat rozšíření chan SCCP: Stáhneme následující archiv: ftp://ftp.berlios.de/pub/chansccp/chan_sccp-20071213.tar.bz2 a rozbalíme jej libovolně na disk. Ve stejném adresáři pak pomocí terminálu zadáme příkazy: make clean make install Pak jsme změnili konfigurační soubor modules.conf nacházející se v adresáři /etc/asterisk. V tomto souboru jsme za řádek autoload=yes přidali následující dva řádky: noload => chan_skinny.so load => chan_sccp.so
3 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky Tím jsme potlačili načítání původní podpory SCCP, která je obsažena v základní instalaci Asterisku a definovali načtení modulu chan SCCP, který umožňuje více nastavení tohoto protokolu. Poté jsme změnili soubor sccp.conf nacházející se ve stejném adresáři. Jeho výsledná podoba je zde (včetně komentářů ke každému řádku): [general] servername = Asterisk keepalive = 60 debug = 1 context = sccp dateFormat = D.M.Y bindaddr = 192.168.0.103 port = 2000 disallow=all allow=alaw allow=ulaw firstdigittimeout = 16 digittimeout = 8 ;digittimeoutchar = #
; show this name on the device registration ; phone keep alive message evey 60 secs. Used to check the voicemail ; console debug level. 1 => 10 ; M-D-Y in any order. Use M/D/YA (for 12h format) ; replace with the ip address of the asterisk server (RTP important param) ; listen on port 2000 (Skinny, default) ; First disallow all codecs ; Allow codecs in order of preference
; dialing timeout for the 1st digit ; more digits ; you can force the channel to dial with this char in the dialing state autoanswer_ring_time = 1 ; ringing time in seconds for the autoanswer, the default is 0 autoanswer_tone = 0x32 ; autoanswer confirmation tone. For a complete list of tones: grep SKINNY_TONE sccp_protocol.h ; not all the tones can be played in a connected state, so you have to try. remotehangup_tone = 0x32 ; passive hangup notification. 0 for none transfer_tone = 0 ; confirmation tone on transfer. Works only between SCCP devices callwaiting_tone = 0x2d ; sets to 0 to disable the callwaiting tone musicclass=default ; Sets the default music on hold class language=en ; Default language setting ;accountcode=skinny ; accountcode to ease billing deny=0.0.0.0/0.0.0.0 ; Deny every address except for the only one allowed. permit=192.168.0.0/255.255.255.0 ; Accept class C 192.168.0.0 ; You may have multiple rules for masking traffic. ; Rules are processed from the first to the last. 4 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky ; This General rule is valid for all incoming connections. It's the 1st filter. localnet = 192.168.0.0/255.255.255.0 ; All RFC 1918 addresses are local networks ;externip = 1.2.3.4 ; IP Address that we're going to notify in RTP media stream ;externhost = dyndns.org ; Hostname (if dynamic) that we're going to notify in RTP media stream ; externrefresh = 60 ; expire time in seconds for the hostname (dns resolution) dnd = on ; turn on the dnd softkey for all devices. Valid values are "off", "on" (busy signal), "reject" (busy signal), "silent" (ringer = silent) rtptos = 184 ; sets the default rtp packets TOS echocancel = on ; sets the phone echocancel for all devices silencesuppression = off ; sets the silence suppression for all devices ;callgroup=1,3-4 ; We are in caller groups 1,3,4. Valid for all lines ;pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5. Valid for all lines ;amaflags = ; Sets the default AMA flag code stored in the CDR record trustphoneip = no ; The phone has a ip address. It could be private, so if the phone is behind NAT ; we don't have to trust the phone ip address, but the ip address of the connection tos = 0x68 ; call control packets tos (0x68 Assured forwarding) ;earlyrtp = none ; valid options: none, offhook, dial, ringout. default is none. ; The audio strem will be open in the progress and connected state. private = on ; permit the private function softkey ;mwilamp = on ; Set the MWI lamp style when MWI active to on, off, wink, flash or blink ;mwioncall = off ; Set the MWI on call. ;blindtransferindication = ring ; moh or ring. the blind transfer should ring the caller or just play music on hold ;protocolversion = 3 ; skinny version protocol. Just for testing. 2 to 6
5 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky [devices] type = 7941 autologin = Test description = TPS1 ;tzoffset = +2 transfer = on
; device type ; lines list. You can add an empty line for an empty button (7960, 7970, 7940, 7920) ; internal description. Not important
; enable or disable the transfer capability. It does remove the transfer softkey park = on ; take a look to the compile howto. Park stuff is not compiled by default speeddial = ; you can add an empty speedial if you want an empty button (7960, 7970, 7920) speeddial = 777614805,user1 ; speeddial number and name cfwdall = on ; activate the callforward stuff and softkeys cfwdbusy = on dtmfmode = inband ; inband or outofband. outofband is the native cisco dtmf tone play. ; Some phone model does not play dtmf tones while connected (bug?), so the default is inband ;imageversion = P00405000700 ; useful to upgrade old firmwares (the ones that do not load *.xml from the tftp server) ;deny=0.0.0.0/0.0.0.0 ; Same as general ;permit=192.168.1.1/255.255.255.0; This device can register only using this ip address dnd = on ; turn on the dnd softkey for this device. Valid values are "off", "on" (busy signal), "reject" (busy signal), "silent" (ringer = silent) trustphoneip = no ; The phone has a ip address. It could be private, so if the phone is behind NAT ; we don't have to trust the phone ip address, but the ip address of the connection ;earlyrtp = none ; valid options: none, offhook, dial, ringout. default is none. ; The audio strem will be open in the progress and connected state. private = on ; permit the private function softkey for this device mwilamp = on ; Set the MWI lamp style when MWI active to on, off, wink, flash or blink mwioncall = on ; Set the MWI on call. device => SEP001E135D6168 ; device name SEP<MAC> 6 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky
type = 7941 autologin = Test description = TPS2 ;tzoffset = +2 transfer = on
; device type ; lines list. You can add an empty line for an empty button (7960, 7970, 7940, 7920) ; internal description. Not important
; enable or disable the transfer capability. It does remove the transfer softkey park = on ; take a look to the compile howto. Park stuff is not compiled by default speeddial = ; you can add an empty speedial if you want an empty button (7960, 7970, 7920) speeddial = 777614805,user1 ; speeddial number and name cfwdall = on ; activate the callforward stuff and softkeys cfwdbusy = on dtmfmode = inband ; inband or outofband. outofband is the native cisco dtmf tone play. ; Some phone model does not play dtmf tones while connected (bug?), so the default is inband ;imageversion = P00405000700 ; useful to upgrade old firmwares (the ones that do not load *.xml from the tftp server) ;deny=0.0.0.0/0.0.0.0 ; Same as general ;permit=192.168.1.1/255.255.255.0; This device can register only using this ip address dnd = on ; turn on the dnd softkey for this device. Valid values are "off", "on" (busy signal), "reject" (busy signal), "silent" (ringer = silent) trustphoneip = no ; The phone has a ip address. It could be private, so if the phone is behind NAT ; we don't have to trust the phone ip address, but the ip address of the connection ;earlyrtp = none ; valid options: none, offhook, dial, ringout. default is none. ; The audio strem will be open in the progress and connected state. private = on ; permit the private function softkey for this device mwilamp = on ; Set the MWI lamp style when MWI active to on, off, wink, flash or blink mwioncall = on ; Set the MWI on call. device => SEP001E135D6087 ; device name SEP<MAC> 7 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky [lines] id =1 pin = 4321 label = 6000 description = TPS 1 zkusebni context = incoming incominglimit = 2 transfer = on ;mailbox = 1234 ;vmnum = 8500 cid_name = TPS1 cid_num = 6000 ;trnsfvm = 1000
;extension ; future use ; button line label (7960, 7970, 7940, 7920) ; top diplay description ; more than 1 incoming call = call waiting. ; per line transfer capability. on, off, 1, 0 ; voicemail.conf (syntax: vmbox[@context][:folder]) ; speeddial for voicemail administration, just a number to dial ; caller id name
; extension to redirect the caller (e.g for voicemail) secondary_dialtone_digits = 9 ; digits for the secondary dialtone (max 9 digits) secondary_dialtone_tone = 0x22 ; outside dialtone musicclass=default ; Sets the default music on hold class language=en ; Default language setting ;accountcode=79501 ; accountcode to ease billing rtptos = 184 ; sets the the rtp packets TOS for this line echocancel = on ; sets the phone echocancel for this line silencesuppression = off ; sets the silence suppression for this line callgroup=1,3-4 ; We are in caller groups 1,3,4. Valid for this line pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5. Valid for this line ;amaflags = ; Sets the default AMA flag code stored in the CDR record for this line line => 1
id =2 pin = 1234 label = 6001 description = TPS 2 zkusebni context = incoming incominglimit = 2 transfer = on ;mailbox = 1234
; ; ; ;
extension future use button line label (7960, 7970, 7940, 7920) top diplay description
; more than 1 incoming call = call waiting. ; per line transfer capability. on, off, 1, 0 ; voicemail.conf (syntax: vmbox[@context][:folder]) 8
Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky ;vmnum = 8500 cid_name = TPS2 cid_num = 6001 ;trnsfvm = 1000
; speeddial for voicemail administration, just a number to dial ; caller id name
; extension to redirect the caller (e.g for voicemail) secondary_dialtone_digits = 9 ; digits for the secondary dialtone (max 9 digits) secondary_dialtone_tone = 0x22 ; outside dialtone musicclass=default ; Sets the default music on hold class language=en ; Default language setting ;accountcode=79501 ; accountcode to ease billing rtptos = 184 ; sets the the rtp packets TOS for this line echocancel = on ; sets the phone echocancel for this line silencesuppression = off ; sets the silence suppression for this line callgroup=1,3-4 ; We are in caller groups 1,3,4. Valid for this line pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5. Valid for this line ;amaflags = ; Sets the default AMA flag code stored in the CDR record for this line line => 2 Tento konfigurační soubor je rozdělen do několika částí, jejichž názvy jsou pro přehlednost zvýrazněné tučně. V části general nastavujeme obecné parametry připojení, z nichž nejdůležitější je správné nastavení IP adresy Asterisku a portu, které je důležité pro správnou funkci RTP a skinny protokolu. Dále zde můžeme nastavit různé tóny při různých situacích (vyzváněcí tón, obsazovací tón, atd.). Dále jsou zde položky devices a lines. Část devices je potřeba mít nastaveny pro každý připojený telefon zvlášť. K jednoznačné identifikaci telefonního přístroje slouží MAC adresa na posledním řádku sekce devices. V této sekci také definujeme typ telefonního přístroje, zrychlené volby a funkce programovatelných tlačítek kolem displeje. V sekci lines pak nastavujeme např. telefonní číslo (cid_num), identifikaci (název) přístroje, jazyk a hlavně linku ke které patří (na jedné lince může být více telefonních čísel). V adresáři /etc/asterisk najdeme také konfigurační soubor extensions.conf, který upravíme takto: [general] exten => 6000,1,Dial(SCCP/1) exten => 6001,1,Dial(SCCP/2) 9 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky V tomto konfiguračním souboru nalezneme různé možnosti jak nastavit chování ústředny. Můžeme např. nastavit, že při vytočení určitého čísla dojde k přesměrování, automatickému přijmutí či zavěšení hovoru, přehrání melodie apod. Nám postačilo jednoduché nastavení v podobě uvedené výše. V podstatě jsme tím určili, že pokud někdo vytočí číslo 6000, začne vyzvánět linka 1 a pokud voláme číslo 6001, vyzvání linka 2. Čísla extension (6000 a 6001), linky a context [incoming] musí být správně nakonfigurovány v souboru sccp.conf. Pro přehlednost jsou tato nastavení zvýrazněna ve výpisu souboru sccp.conf tučně. Dále je nutno nejlépe na PC, kde běží Asterisk, zřídit TFTP server, kde jsou uloženy konfigurační soubory telefonu. Nainstalovali jsme si tedy Xinetd, což je daemon, který monitoruje porty a podle nich a konfiguračního souboru pak spouští nadefinované procesy. V našem případě hlídá port UDP/69 a spouští TFTP server. Nejprve tento software nainstalujeme: apt-get install xinetd tftpd tftp V adresáři etc/xinetd.d vytvoříme soubor tftp s tímto obsahem: service tftp { protocol port socket_type wait user server server_args disable }
= udp = 69 = dgram = yes = nobody = /usr/sbin/in.tftpd = /tftpboot = no
Tímto jsme nakonfigurovali spouštěni TFTP serveru na portu 69. Do adresáře /tftpboot (ve kterém se osvědčilo mít nastavena všechna práva) pak nakopírujeme konfigurační soubory pro telefonní přístroje. Tyto soubory mají název ve tvaru SEPxxxxxxxxxxxx.cnf.xml, kde písmena x označují MAC adresu přístroje. V našem případě jsme tedy v adresáři /tftpboot měli 2 soubory s názvy SEP001E135D6087.cnf.xml a SEP001E135D6168.cnf.xml (SEP=akronym Selsius Ethernet Phone). Jejich obsah vypadá následovně: <device> <devicePool>
<members> <member priority="0"> 10 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky <ports> <ethernetPhonePort>2000 <processNodeName>192.168.0.103 {Dec 05 2008 11:00:00} <userLocale>
French_France de United_Kingdom 0 <messagesURL> <proxyServerURL> <servicesURL> Nejdůležitějšími parametry byla IP adresa Asterisku a port (zvýrazněno tučným písmem). Podle data uvedeného v poli
pak telefon provádí aktualizace těchto konfiguračních „SEP“ souborů (porovnává výše uvedené datum s poslední aktualizací v telefonu). Na PC, kde běžel Asterisk, bylo také nainstalován DHCP server, který pak přiděloval telefonům IP adresy. Zde je také postup instalace: apt-get install dhcp3-server Poté jsme nainstalovaný DHCP server nakonfigurovali. V konfiguračním souboru /etc/default/dhcp3-server jsme změnili řádek INTERFACES=““ na INTERFACES=“eth0“ a soubor uložili. Tím jsme určili, které síťové rozhraní bude k činnosti DHCP serveru použito. V souboru dhcpd.conf, nacházejícím se ve stejném adresáři jsme provedli tyto úpravy: V této části souboru: ... # option definitions common to all supported networks... 11 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org; default-lease-time 600; max-lease-time 7200; ... jsme zakomentovali tučně zvýrazněné řádky a tuto sekci: ... # A slightly different configuration for an internal subnet. #subnet 10.5.5.0 netmask 255.255.255.224 { # range 10.5.5.26 10.5.5.30; # option domain-name-servers ns1.internal.example.org; # option domain-name "internal.example.org"; # option routers 10.5.5.1; # option broadcast-address 10.5.5.31; # default-lease-time 600; # max-lease-time 7200; #} ... jsme změnili následovně: # A slightly different configuration for an internal subnet. subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200; #option domain-name-servers 202.188.0.133, 202.188.1.5; #option domain-name "tm.net.my"; #option routers 192.168.0.1; #option broadcast-address 192.168.0.255; #default-lease-time 600; # max-lease-time 7200; } Soubor jsme opět uložili a restartovali DHCP server příkazem: /etc/init.d/dhcp3-server restart Po všech těchto krocích jsme ukončili asterisk příkazem kill a následně jej spustili příkazem z jeho kořenového adresáře: asterisk popřípadě: 12 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky asterisk –vvvgc který umožňuje používat příkazovou konzoli, a pomocí ní mj. zjistíme, které moduly byly při startu načteny apod. Telefonní přístroje by se nyní měly zaregistrovat a načíst konfigurační soubory.
3 Testování Vše bylo zapojeno dle schématu na obr. 1. IP adresy byly telefonům Cisco přiřazeny ze serveru DHCP. Tento byl nakonfigurován na síť 192.168.0.0 s maskou 255.255.255.0, v rozsahu adres x.100 až x.200. Konkrétní přidělené IP adresy v testovaném případě: - Ubuntu eth1 (Asterisk PBX, TFTP, DHCP) 192.168.0.103 - Cisco IP phone „TPS1“ 192.168.0.107 - Cisco IP phone „TPS2“ 192.168.0.106 Zachycená komunikace programem Wireshark: 1. Telefon požádá o IP adresu a je mu přidělena běžícím DHCP serverem, viz obr. 2.
Obr. 2 2. Na obrázku 3 telefon požádá TFTP server o konfigurační soubory. Pro základní konfiguraci postačí soubor SEP<MAC>.cnf.xml, kde telefon zjistí umístění PBX. Ostatní soubory nejsou nalezeny a tedy přeneseny.
Obr. 3 3. Po úspěšném načtení IP adresy PBX ze staženého SEP<MAC>.cnf.xml souboru se telefon pokusí o TCP komunikaci. Kladnou odpověď na dotaz lze vidět níže na obr. 4:
Obr. 4 13 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky V případě, že není Asterisk spuštěn, addon chan_sccp je špatně nainstalován, či nepřítomen je vyslána záporná odpověď, viz obr. 5. Obr. 5 4. Po vyjednání TCP spojení následuje registrace SKINNY protokolem, odsouhlasení oběma stranami. DiplayNotifyMessage zpráva (viz obr. 6) přenáší data, která se zobrazí na displeji telefonu, v tomto případě jde o „Asterisk“. A poté již dochází k postupnému přenosu nastavení dle požadavků telefonu, část dat pochází z parametrů sccp.conf, pokud jde např. o počet speed dial a jejich nastavení, což jsou tlačítka zrychlené volby umístěné napravo od displeje, v případě telefonu Cisco 7941.
Obr. 6 Celá DiplayNotifyMessage zpráva je na obrázku 7.
Obr. 7 14 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky 5. V době nečinnosti je posílána telefonem KeepAliveMessage zpráva a to v intervalu zadaném v souboru sccp.conf. Interval je doporučeno nastavit na min. 5s. Na obr 8 je ukázka 10 s intervalu. Jelikož protokol TCP garantuje spolehlivé doručování, je úspěšné doručení informace potvrzeno zpět odesílateli, tedy PBX Asterisk, jak je vidět v několika případech na obrázku 8.
Obr. 8 6. Proces sestavení hovoru je na obrázku 9. Počátkem uskutečnění hovoru je zvednutí sluchátka. Zpráva OffHookMessage, obsahující tuto informaci, je odeslána PBX Asterisk. A ten automaticky informuje telefon o nastavení všech potřebných parametrů, jako i např. zapnutí sluchátka (zpráva SetSpeakerModeMessage). Dále je generován tón volné linky a vyčkává se na stisk klávesy, která když je stisknuta je odeslána zpráva KeypadButtonMessage. Po ukončení volby se otevírá kanál a začíná přenos hlasu.
Obr. 9 Dále probíhá přenos hlasu formátem G.711, tedy PCM 64 kbit/s.
15 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky Na obrázku 10 lze vidět případ, kdy dojde k ukončení ze strany uživatele. Je odeslána zpráva OnHookMessage, tedy zpráva o zavěšení sluchátka, uzavře se kanál, ústředna požádá (zpráva ConnectionStatisticsReq) o vyhodnocení spojení, které je ji odesláno telefonem. Vyhodnocení obsahuje data o provedeném hovoru, tedy volané číslo, počet přijatých, odeslaných a ztracených paketů velikost jitteru (velikost kolísání zpoždění) a také velikost zpoždění. Dále jsou odeslány nastavovací povely pro telefon a ten je připraven pro další hovor. Pokud se na zaznamenanou komunikaci podíváme blíže (obr. 11), dochází zde k zajímavé situaci, kdy je odeslána hovorová RTP zpráva ústřednou (Seq=831), ale vzápětí (po cca 3 ms) je telefonem odeslána zpráva o zavěšení (OnHookMessage). Ústředna přikáže telefonu zprávou CloseReceiveChannel uzavřít přenosový kanál, a zprávou StopMediaTranssmison ukončit přenos hovoru, ten přesto ještě po intervalu 20 ms (což je interval přenu jednotlivých RTP zpráv) odešle RTP zprávu s hladovým obsahem. Ta je však přichází na již neaktivní port, je odmítnuta a protokolem ICMP je telefonu odesláno chybové hlášení. Pro zjištění, proč nastává tato situace, by bylo nejspíše nutno projít dokumentaci SCCP, zdali je toto v souladu se specifikací.
Obr. 10
16 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky
Obr. 11 7. Zrušení spojení ze strany ústředny proběhne dle komunikace na obr. 12. K tomuto dojde v např. případě, když restartujeme Asterisk a telefony jsou připojeny. Ústředna tedy odešle TCP zprávu o ukončení (se zdrojovým portem 2000, což je standardní cisco-sccp port) jednotlivým přístrojům a žádost je potvrzena oběma přístroji. Doručení TCP je opět potvrzeno zpětnou „ACK“ zprávou. Zde v konkrétním případě byly v ústředně zaregistrovány dva TCP porty pro jeden přístroj, jeden byl přístrojem odmítnut, s největší pravděpodobností byl již telefonem ukončen, ovšem PBX nebyla správně vyrozuměna.
Obr. 12 Na obr. 13 lze vidět korektní případ ukončení spojení. Zde s připojeným jedním přístrojem.
Obr. 13 Telefon připojený k PBX Asterisk s nakonfigurovanými čísly rychlé volby lze vidět na obrázku 14.
17 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky
Obr. 14: IP telefon Cisco 7941
4 Zhodnocení Informace k tomuto projektu jsme čerpali hlavně z Internetu a to z různých zdrojů, které se mezi sebou často lišily, byly neúplné případně dostatečně neokomentované, a proto nebylo tak zcela jednoduché vše zprovoznit. Tato práce může posloužit jako základní návod a uvedení do problematiky instalace a konfigurace potřebného softwaru pro komunikaci IP telefonů s ústřednou Asterisk pomocí SCCP protokolu. Jako zajímavý postřeh by bylo vhodné uvést, že nesmíme zapomenout na pole „firstdigittimeout“ v souboru sccp.conf, což je časový interval pro volbu první číslice, jinak bude ihned po stisku klávesy generován obsazovací tón. 18 Průzkum možností IP telefonů Cisco
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky
Katedra informatiky
5 Užitečné odkazy SCCP http://www.asteriskguru.com/tutorials/chan_sccp_skinny_config_asterisk.html http://www.trixbox.org/forums/trixbox-forums/help/installing-chan-sccp http://southbrain.com/south/2008/02/cisco-7960-and-asterisk-1417-u.html http://chan-sccp.berlios.de/ http://pbxinaflash.com/forum/showthread.php?t=313&page=2 http://www.voip-info.org/wiki/view/chan_sccp2 http://www.voip-info.org/wiki-SCCP-HOWTO2 http://hisown.com/Talks/VoIP%20-%20Excerpt%20(SCCP).pdf DHCP http://ubuntuguide.org/wiki/Dapper#DHCP_Server http://www.cyberciti.biz/tips/howto-ubuntu-linux-convert-dhcp-network-configuration-tostatic-ip-configuration.html http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuri ng_the_DHCP_Server https://bugs.launchpad.net/ubuntu/+source/dhcp3/+bug/38221 TFTP http://www.davidsudjiman.info/2006/03/27/installing-and-setting-tftpd-in-ubuntu/ VOIP ostatní http://www.asteriskguru.com/tutorials/cli_cmd_14.html http://www.cisco.com/en/US/docs/voice_ip_comm/cips/1_3/english/user/guide/sp_chap2.h tml http://www.cisco.com/en/US/products/sw/voicesw/ps1860/products_tech_note09186a008 00945d2.shtml http://www.davidsudjiman.info/2006/03/27/installing-and-setting-tftpd-in-ubuntu/ http://www.automated.it/asterisk/lah-3-6-05_3.html EMULACE CISCO 79xx: http://www.ipblue.com/ BUSY TONE ISSUE http://www.trixbox.org/forums/trixbox-forums/help/cisco-7920-works-trixbox-and-sccponly-dials-first-digit http://www.trixbox.org/forums/trixbox-forums/trixbox-endpoints/first-digit-pressedattempts-dial http://wiki.ip-phone-forum.de/software:asterisk:cisco79xx)
19 Průzkum možností IP telefonů Cisco