====== CallManager Express ======
===== User roles =====
* **System administrator** — Able to configure all system-level and phone-based features. This person is familiar with Cisco IOS software and VoIP network configuration.
* **Customer administrator** — Able to perform routine phone additions and changes without having access to system-level features. This person does not have to be familiar with Cisco IOS software.
* **Phone user** — Able to program a small set of features on his or her own phone and search the Cisco Unified CME directory. In Cisco Unified CME GUI 4.2.1 and later versions, phone users can use the GUI to set up personal speed dials for an Extension Mobility phone. The same credential for logging into an Extension Mobility phone can be used to log into the Cisco Unified CME GUI.
===== cme user locale =====
===== Management interface (cli,ccp,web) =====
===== End-user interface =====
===== Boot a registrace telefonu =====
- Napájení (PoE ze switche)
- CDP - informace o voice VLAN
- DHCP - IP parametry + Option 150 (adresa TFTP serveru)
- TFTP - stažení konfigurace
- Registrace - tel zkouší postupně kontaktovat všechny tři CUCM/CME servery uvedené v konf. souboru při neúspěchu se restartuje. Tel se vůči CUCM/CME identifikuje svou MAC adresou a prostřednictvím SIP/SCCP dostává pracovní konfiguraci (linky, sw.tlačítka, vyzvánění apod.)
===== PoE - Power over ethernet =====
Varianty:
* ILP - Cisco In-Line Power, jedná se proprietární cisco prestandard, stále lze vidět starších telefonů (7960 apod.)
* IEEE 802.3af - standard, 48V / 15.4W
* IEEE 802.3at - standard, 48V / 25.5W
Zdroje napájení mohou být:
* Switch s podporou PoE
* Power patch panel (tzv. coupler / injector)
* Adaptér (power brick)
Pozn.:
* Telefony se dodávají automaticky BEZ adaptéru
* Přídavné panely k telefonům nejsou napájeny přes PoE, musí mít svůj adaptér
===== Voice VLAN =====
* VLAN = Broadcastová doména = obvykle jeden subnet
* Mnoho cisco tel. v sobě má zabudovaný switch, umožňují tedy top. zapojení sw-tel-pc. Přičemž tel i pc jsou v různých VLANách.
* Zvýšení výkonu/efektivity sítě rozdělením broadcastové domény
* Logické rozdělení sítě, lepší pro správu
* Nezávislost na fyzickém umístění, jedná se jen o nastavení portu (např. při stěhování zaměstnance)
* Bezpečnostní výhody. Komunikace mezi VLANami musí být přes L3 prvek, kde lze aplikovat ACL
* Trunking IEEE 802.1Q
* Pro cisco telefony se porty nastavují jako "Access s podporou voice VLAN" - tedy NE 802.1Q trunk!
* Pro non-cisco tel. se porty nastavují jako access nebo jako 802.1Q trunky - pozor na bezpečnost!
* Cisco tel. se číslo voice VLAN dozví přes CDP -> Nevypínat CDP na portech pro telefony!
>Switch# **configure terminal**
>Switch(config)# **vlan 100**
>Switch(config-vlan)# **name VOICE**
>Switch(config-vlan)# **exit**
>Switch(config)# **vlan 200**
>Switch(config-vlan)# **name DATA**
>Switch(config-vlan)# **exit**
>Switch(config)# **interface range FastEthernet 0/2 - 24**
>Switch(config-if)# **switchport mode access**
>Switch(config-if)# **switchport access vlan 200**
>Switch(config-if)# **switchport voice vlan 100**
>Switch(config-if)# **spanning-tree portfast**
>Switch(config-if)# **end**
>Switch# **show vlan brief**
===== Time / NTP =====
==== Ruční konfigurace času ====
//Pozor! Nastavuje se v privilegovaném módu ne v configu://
>Router# **clock set 12:00:00 1 JAN 2013**
==== NTP client ====
>Router# **configure terminal**
>Router(config)# **ntp server 213.168.176.3**
>Router(config)# **clock timezone CZ 1 0**
Router(config)#clock timezone ?
WORD name of time zone
Router(config)#clock timezone CZ ?
<-23 - 23> Hours offset from UTC
Router(config)#clock timezone CZ 1 ?
<0-59> Minutes offset from UTC
Router(config)#clock timezone CZ 1 0 ?
>Router# **show ntp status**
Router#show ntp status
Clock is synchronized, stratum 4, reference is 213.168.176.3
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**24
reference time is D66934EB.597D6AC7 (12:30:51.349 CZ Sat Dec 28 2013)
clock offset is -0.7446 msec, root delay is 13.03 msec
root dispersion is 495.86 msec, peer dispersion is 439.72 msec
loopfilter state is 'CTRL' (Normal Controlled Loop), drift is 0.000000000 s/s
system poll interval is 64, last update was 21 sec ago.
>Router# **show ntp associations**
Router#show ntp associations
address ref clock st when poll reach delay offset disp
*~213.168.176.3 188.2.166.125 3 55 64 77 7.879 -0.744 190.27
* sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured
>Router# **show clock**
Router#show clock
12:35:13.497 CZ Sat Dec 28 2013
==== NTP server ====
>Router(config)# **ntp master**
===== DHCP =====
==== DHCP server ====
>Router# **conf t**
>Router(config)# **ip dhcp excluded-address 192.168.100.1 192.168.100.50**
>Router(config)# **ip dhcp pool VOICE**
>Router(dhcp-config)# **network 192.168.100.0 255.255.255.0**
> //nebo//
>Router(dhcp-config)# **network 192.168.100.0 /24**
>Router(dhcp-config)# **default-router 192.168.100.1**
>Router(dhcp-config)# **dns-server 8.8.8.8**
>Router(dhcp-config)# **option 150 ip 192.168.100.1**
>Router# **show ip dhcp binding**
Router#show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
192.168.100.132 01cc.ef48.5e1d.e7 Dec 29 2013 07:46 AM Automatic
192.168.100.139 000c.2923.baca Dec 29 2013 12:10 AM Automatic
192.168.100.168 0190.02a9.a78a.c5 Dec 28 2013 03:37 PM Automatic
192.168.100.170 0100.16d3.2860.ed Dec 28 2013 04:36 PM Automatic
192.168.100.191 0100.036b.7ffd.e3 Dec 29 2013 10:47 AM Automatic
192.168.100.207 0100.036b.7ff9.78 Dec 29 2013 10:51 AM Automatic
192.168.100.216 0100.a0ba.020f.c9 Dec 29 2013 05:48 AM Automatic
==== DHCP Relay / helper ====
>Router(config)# **ip helper-address**
===== TFTP =====
Telefony si z TFTP tahají konfiguraci a případně i firmware. Telefon hledá svůj konf. soubor **SEP.cnf.xml**, pokud tento soubor nenajde, začne stahovat defaultní **XMLDefault.cnf.xml**.
Telefony neumějí specifikovat cestu k těmto souborům, musejí tedy být v rootu TFTP serveru, nebo musíme definovat jejich aliasy.
Konfigurace externího tftp serveru:
>**telephony-service**
>**cnf-file location tftp://**////
Příklad konfigurace aliasů:
tftp-server flash:/phone_firmware/7940-7960/P0030800500.BIN alias P0030800500.BIN
tftp-server flash:/phone_firmware/7940-7960/P0030800500.LOADS alias P0030800500.LOADS
tftp-server flash:/phone_firmware/7940-7960/P0030800500.SB2 alias P0030800500.SB2
tftp-server flash:/phone_firmware/7940-7960/P0030800500.SBN alias P0030800500.SBN
===== Telephony-service =====
Podmínkou pro funkci je nastavení těchto tří věcí:
- **ip source address**
- **max-dn**
- **max-ephones**
Zbytečně nenastavovat max-dn a max-ephones na vysoké hodnoty. Router dle nich rezervuje systémové prostředky pro telefonii.
>Router(config-telephony)# **ip source-address 192.168.100.1**
>Router(config-telephony)# **max-ephones 10**
>Router(config-telephony)# **max-dn 20**
===== Ephone-dn =====
* **single-line** - (default) umožňuje jen jeden hovor, další volající má obsazovací tón
* **dual-line** - dva současné hovory (callwaiting, konference, přepojení s konzultací)
* **octo-line** - 8 současných hovorů (recepce, shared line, konference)
>Router(config)# **ephone-dn 1**
>Router(config-ephone-dn)# **number 1000**
>Router(config)# **ephone-dn 2 dual-line**
>Router(config-ephone-dn)# **number 1001**
>Router(config)# **ephone-dn 3 octo-line**
>Router(config-ephone-dn)# **number 1002**
//Tel.dostupný pod oběmi čísly z vnitřní sítě://
>Router(config)# **ephone-dn 4 dual-line**
>Router(config-ephone-dn)# **number 1003 secondary 326211003**
===== Ephone =====
>Router(config)# **ephone 1**
>Router(config-ephone)# **ephone 1**
>Router(config-ephone)# **mac-address 0003.6B7F.F978**
>Router(config-ephone)# **type 7960**
>Router(config-ephone)# **button 1:1**
> (**button** ////)
==== Varianty zápisu více tlačítek: ====
>**button 1:1**
>**button 2:2**
> //atd.//
>**button 1:1 2:2** //atd.//
>Router# **show ephone**
* REGISTERED
* UNREGISTERED
* DECEASED (ztráta TCP keepalive spojení s telefonem)
Router#show ephone
ephone-1[0] Mac:0003.6B7F.F978 TCP socket:[3] activeLine:0 whisperLine:0 REGISTERED in SCCP ver 11/9 max_streams=0
mediaActive:0 whisper_mediaActive:0 startMedia:0 offhook:0 ringing:0 reset:0 reset_sent:0 paging 0 debug:0 caps:8
IP:192.168.100.207 * 51194 Telecaster 7960 keepalive 17703 max_line 6 available_line 6
button 1: cw:1 ccw:(0 0)
dn 1 number 100 CH1 IDLE CH2 IDLE
Preferred Codec: g711ulaw
Lpcor Type: none
===== FXS Porty =====
>Router# **show voice port summary**
FIXME
Router#show voice port summary
>Router(config)# **voice-port 1/0/1**
FIXME
>**signal loopstart** //(nebo groundstart)//
>**cptone cz**
>**station-id name telefon_v_garazi**
>**station-id number 326210210**
>**connection plar 1111**) //-horká linka na FXS portu//
===== FXO Porty =====
Připojuje se k nim linka z ústředny (CO). FXO port je vlastně jako telefon, umí přijmout jen vyzvánění, odeslat volbu.
FIXME
> **voice-port 1/1/0**
> **signal** [ **loopstart** | **groundstart** ]
> **station-id name nejake_jmeno**
> **station-id number 326210211**
> **dial-type** [ **dtmf** | **pulse** ]
> **ring number 3** //(poč.zazvonění před vyzvednutím, def.=1)//
> **connection plar 100** //(kam zazvonit po vyzvednutí)//
===== Digitální porty T1 =====
Číslování:
* Kanály 0-23, signalizační je 23.kanál
* Timesloty 1-24, signalizační je 24.ts
==== T1 CAS ====
FIXME
>conf t
>controler t1 1/0
>framing esf (ef/esf)
>linecode b8zs (ami/b8zf)
>clock source line (internal/line/free-running)
>ds0-group 1 timeslots 1-24 type fxo-loop-start
>show voice port summary
==== T1 CCS ====
FIXME
>conf t
>isdn switch-type primary-5ess
>controller t1 1/0
>pri-group timeslots 1-24
>show voice port summary
===== Digitální porty E1 =====
Číslování:
* Kanály 0-31, signalizační 16.kanál
* Timesloty 1-32, signalizační 17.ts
==== E1 CAS ====
==== E1 CCS ====
FIXME
>conf t
>card type e1 0 0
>isdn switch-type primary-net5
>network-clock-participate wic 0
>controller e1 1/0
>pri-group timeslots ...
>sh voice port sumary
===== Dial peers =====
* **ANI** (Automatic Number Identification) - volající číslo
* **DNIS** (Dialed Number Identification Service) - volané číslo
>**show dialplan number 123**
==== Wildcards ====
* **.** = jakékoliv číslo 0-9 a * (neplatí pro #, stisknutí mřížky znamená konec volby)
* **+** = jeden či více výskytů předchozího čísla 5+23 -> 5523,55523,555555555523 apod.
* **[]** = rozsah čísel [1-3], výčet čísel [1234], kombinace[15-9], negace rozsahu[^1-3]
* **T** = jakékoliv číslo v délce 0-32 číslic, pokud volené číslo je kratší než 32 číslic, čeká se do vypršení interdigit timeoutu (T302) 10 sec. nebo do stisku mřížky (nedoporučuje se používat samotné T - po 10s od vyzvednutí by se matchnul dialpeer i bez volby, vždy alespoň .T nebo 0T)
* **,** = 1 sec. dlouhá pauza mezi čísly
==== Outbound matching ====
- nejvíce specifický dialpeer
- preference dialpeeru (čím menší tím lepší, default=0)
==== Inbound matching ====
- volané číslo DNIS / **incoming called-number**
- volající číslo ANI / **answer-address**
- volající číslo ANI / **destination-pattern**
- příchozí POTS port / **port**
- NO MATCH - použije se defaultní //**dial-peer 0**//
==== Default Dial-peer 0 ====
* **jen inbound!**
* všechny kodeky
* no dtmf relay
* ip precedence 0 (bez QoSu)
* VAD zapnutý
* bez podpory RSVP
* nebere ohledy na FAX, klidně použije komprimovaný kodek
* no app support - např. IVR
* no DID support
==== POTS dial-peer====
* používá se pro porty typu FXS, FXO, E&M, E1/T1, BRI
* bez použití **no digit-strip** ořezává přesně definovaná čísla v dest.paternu (zleva)
* router zpracovává volbu digit-by-digit, tedy po číslech tak jak přichází
>Router(config)# **dial-peer voice 1101 pots**
>Router(config-dial-peer)# **destination-pattern 1101**
>Router(config-dial-peer)# **port 1/0/1**
>Router(config)# **dial-peer voice 1000 pots**
>Router(config-dial-peer)# **destination-pattern 1...**
>Router(config-dial-peer)# **port 1/0/1:16**
>Router(config-dial-peer)# **no digit-strip**
>Router(config-dial-peer)# **direct-inward-dial** //-dovolí poslání volby dovnitř při příchozím hovoru//
> **show dial-peer voice**
> **show dial-peer voice summary**
> **debug voip dialpeer**
==== VOIP dial-peer====
>Router(config)# **dial-peer voice 2000 voip**
>Router(config-dial-peer)# **destination-pattern 2...**
>Router(config-dial-peer)# **session target ipv4:213.168.186.130** (nebo dns:sip.fibercall.cz)
> **show dial-peer voice**
> **show dial-peer voice summary**
> **debug voip dialpeer**
==== Dial-peer preference ====
>Router(config)# **dial-peer voice 2000** //(u již vytvořeného dp nemusím specifikovat jeho typ voip/pots, stačí id)//
>Router(config-dial-peer)# **preference 1**
* preference 0 = default
* hodnoty 0 - 10
* přednost má nižší preference
* v případě, že dva shodné dialpeery mají stejnou pref. hovory jsou směrovány náhodně
===== Digit manipulation =====
Pořadí úprav čísla:
|1.|**num-exp** |Global|num-exp 4... 5...|
|2.|**[no] digit-strip**|POTS|no digit-strip|
|3.|**voice translation-profile**|Global, POTS, VOIP| |
|4.|**prefix** |POTS|prefix 011|
|5.|**forward-digits** |POTS|forward-digits 4|
Translation profile:
>Router(config)# **voice translation-rule 1**
>Router(cfg-translation-rule)# **rule 1 /6/ /5/**
>Router(cfg-translation-rule)# **exit**
>Router(config)# **voice translation-profile JMENO**
>Router(cfg-translation-profile)# **translate called 1**
>Router(cfg-translation-profile)# **exit**
>Router(config)# **dial-peer voice 100 pots**
>Router(config-dial-peer)# **translation-profile incoming JMENO**
>Router# **test voice translation-rule 1 6545**
Router#test voice translation-rule 1 6545
Matched with rule 1
Original number: 6545 Translated number: 5545
Original number type: none Translated number type: none
Original number plan: none Translated number plan: none
===== COR - Class of restriction =====
Příklad jak to funguje:
- zvednu sluchátko ip telefonu
- router mi přidělí tzv. **incoming** cor list (nazvěme jej jako seznam klíčů)
- vytočím číslo a matchnu odchozí dial-peer
- v **outgoing** cor listu dial-peeru je napsáno jaké klíče/tagy musím mít ve svém incoming cor listu, abych se přes tento dial-peer někam dovolal
- Dovolám se nebo se nedovolám
Pozor na vyjímky:
* !!! není-li definován **incoming** cor list, **vždy se dovolám**!!!
* !!! není-li definován **outgoing** cor list, **vždy se dovolám**!!!
**Příklad konfigurace** - máme tři linky pro ip telefony ephone-dn 1,2 a 3. Následující příklad ukazuje nastavením kdy ephone-dn 1 může volat jen 112, ephone-dn 2 může volat 112 a místní volání, ephone-dn 3 může volat všude. Vzhledem ke znalosti vyjímek by šel příklad zjednodušit tak, že ephone-dn 3 by neměl žádný incoming cor list - tak by mohl volat všude. A dále pots dial-peer pro volání 112 by neměl nastavený žádný outgoing cor list, tak by jej mohli používat všichni.
Nastavení jmen tagů:
>Router# **configure terminal**
>Router(config)# **dial-peer cor custom**
>Router(config-dp-cor)# **name 112**
>Router(config-dp-cor)# **name LOCAL**
>Router(config-dp-cor)# **name LD**
>Router(config-dp-cor)# **exit**
Příprava cor listů (budou použity jako OUTGOING):
>Router(config)# **dial-peer cor list 112-CALL**
>Router(config-dp-corlist)# **member 112**
>Router(config-dp-corlist)# **exit**
>Router(config)# **dial-peer cor list LOCAL-CALL**
>Router(config-dp-corlist)# **member LOCAL**
>Router(config-dp-corlist)# **exit**
>Router(config)# **dial-peer cor list LD-CALL**
>Router(config-dp-corlist)# **member LD**
>Router(config-dp-corlist)# **exit**
Příprava cor listů (budou použity jako INCOMING):
>Router(config)# **dial-peer cor list 112-ONLY**
>Router(config-dp-corlist)# **member 112**
>Router(config-dp-corlist)# **exit**
>Router(config)# **dial-peer cor list 112-LOCAL**
>Router(config-dp-corlist)# **member 112**
>Router(config-dp-corlist)# **member LOCAL**
>Router(config-dp-corlist)# **exit**
>Router(config)# **dial-peer cor list 112-LOCAL-LD**
>Router(config-dp-corlist)# **member 112**
>Router(config-dp-corlist)# **member LOCAL**
>Router(config-dp-corlist)# **member LD**
>Router(config-dp-corlist)# **exit**
Aplikace OUTGOING cor listů na dial-peery:
>Router(config)# **dial-peer voice 10 pots**
>Router(config-dial-peer)# **corlist outgoing 112-CALL**
>Router(config-dial-peer)# **exit**
>Router(config)# **dial-peer voice 11 pots**
>Router(config-dial-peer)# **corlist outgoing LOCAL-CALL**
>Router(config-dial-peer)# **exit**
>Router(config)# **dial-peer voice 12 pots**
>Router(config-dial-peer)# **corlist outgoing LD-CALL**
>Router(config-dial-peer)# **exit**
Aplikace INCOMING cor listů na tel.linky (ephone-dn):
>Router(config)# **ephone-dn 1**
>Router(config-ephone-dn)# **corlist incoming 112-ONLY**
>Router(config-ephone-dn)# **exit**
>Router(config)# **ephone-dn 2**
>Router(config-ephone-dn)# **corlist incoming 112-LOCAL**
>Router(config-ephone-dn)# **exit**
>Router(config)# **ephone-dn 3**
>Router(config-ephone-dn)# **corlist incoming 112-LOCAL-LD**
>Router(config-ephone-dn)# **exit**
===== QoS - Quality of service =====
QoS není žádná konkrétní funkce, jedná se o soubor nástrojů a opatření pro zajištění požadované kvality přenosu pro určitý typ provozu.
Kritické body pro VoIP:
* **BANDWIDTH** - malá šířka pásma, hrdlo v síti
* **DELAY**
* FIXED DELAY - zde QoS nemá jak pomoci
* VARIABLE DELAY - lze ovlivnit např. zpoždění v bufferech
* JITTER - jedná se změny zpoždění doručení paketů
* **Packet LOSS** - přetížená, nedostupná síť
Ideální je dosáhnout konstantní i když malé šířky pásma vyhrazené pro hlas a konstantním malým zpožděním. Při aplikaci nástrojů QoS se soustředit zejména na hrdla sítě.
**__VoIP požadavky:__**
- End-to-End Delay **=< 150 ms**
- Jitter **=< 30 ms**
- Packet loss **=< 1%**
Doporučené základní rozdělení síťových aplikací:
* mission-critical apps - kritické pro chod sítě a podniku, mají obvykle vyhrazené pásmo
* transactional apps - požadavky na rychlou odezvu, interakce s uživateli, databázové transakce
* best-efort apps - typicky email, web, ftp apod.
* scavenger apps - nežádoucí aplikace s velkými požadavky na šířku pásma jako P2P sdílení.
Mechanismy QoS:
* **BEST-EFFORT** - defaultně ve všech sítích, žádný QoS, data se odbavují tak jak přijdou
* **INTEGRATED SERVICES** (IntServ)
* metoda rezervace šířky pásma
* např. pro hovor 80kbps je pomocí RSVP vyrezervováno pásmo napříč celou sítí jen pro tento hovor
* špatně škálovatelné při větším počtu požadavků na rezervace pásma
* RSVP = resource reservation protocol
* **DIFERENTIATED SERVICES** (DiffServ)
* nejpožívanější metoda pro impl. QoS
* třídění traficu do tříd
* síť. prvky s traficem nakládají dle tříd
Nástroje QoS:
* Classification and marking - značkování provozu dle typu na L2=CoS / L3=ToS
* Congestion management - různé strategie frontování v bufferech
* Congestion avoidance - preventivní zahazování paketů
* Policing and shaping - zahazování či omezování šířky pásma pro určitý provoz
* Link efficiency
* Payload compression
* Header compression - např. komprese RTP hlaviček 40 byte to 2-4 bytes (cRTP)
* LFI Link Fragmentation and Interleaving - fragmentace velkých paketů a prokládání menšími (hlasovými), používá se na multilink PPP sér. linkách a Frame-Relay
POZOR: Komprese zvyšuje zpoždění a zatěžuje procesor. Fragmentace zase zvyšuje overhead - je třeba více hlaviček. V žádném případě nepoužívat na linkách rychlejších než E1/T1 !!!
Queuing algorythms:
* **FIFO** (First in, First Out) - default ve většině sítí
* **WFQ** (Weighted Fair Queuing) - Default na cisco sér.linkách. Snaží se dostupný bw rozdělit rovnoměrně. Čím větší požadavek na šířku pásma, tím menší priorita.
* **CBWFQ** (Class-based WFQ) - lze pro různý provoz vyhradit garantovanou část bw v procentech, zbytek je odbavován dle pravidla WFQ
* **LLQ** (Low Lattency Queuing) - **(Doporučuje se pro VoIP)** Zvané také PQ-CBWFQ (Priority Queue - CBWFQ). CBWFQ sice garantuje šířku pásma, ale negarantuje jitter a zpoždění, což pro hlas není vhodné. LLQ tedy ještě přidává prioritní frontu pro voice a video, zbytek je odbaven dle CBWFQ.
Aplikace nástrojů QoS:
* VSTUP do routeru
* classification
* marking
* policing
* VÝSTUP z routeru
* congestion management
* marking
* congestion avoidance
* shaping
* policing
* compression
* fragmentation and interleaving
==== Auto QoS ====
Trust Boundary = hranice kde důvěřujeme cos/tos značkám
Možné hranice:
- Cisco telefon - značkuje voip vysokou prioritou, maže značky provozu z PC
- Access switch - můžeme značkovat na access sw, má-li podporu QoS
- Distribution switch - značkujeme až na distribučním switchi, apokud access sw neumí QoS
Auto QoS
* pro detekci telefonu používá CDP => nevypínat CDP na portech pro telefony
* nastavuje se per interface
* platný jen tam, kde je co upřednostňovat, nemusí být tedy zapnutý všude
* pozor na správně nastavený **bandwidth** na sér.linkách (router rychlost linky sám nepozná)
* používá LLQ
Konfigurace access portu na switchi:
>conf t
>interface fastethernet 0/3
>auto qos voip cisco-phone
>nebo
>auto qos voip cisco-softphone
non-cisco telefony:
>auto qos trust
zrušení:
>no auto qos voip
Konfigurace switch uplinku či portu na routeru:
>conf t
>interface fa 0/1
>auto qos voip trust
===== Directory =====
(tel. seznam)
===== Call Forwarding =====
(přesměrování)
===== Call Transfer =====
(přepojování)
===== Call Park =====
(parkování)
===== Call Pickup =====
===== Hunt Group =====
===== Intercom =====
===== Paging =====
===== After-hours call blocking =====
===== CDR - Call detail records, Call accounting =====
===== MOH - Music on hold =====
===== SNR - Single number reach =====
===== CME Extension mobility =====
+softkey template
===== CME MVA Mobile voice access IOS GW =====
---
===== SIP trunk =====
voice service voip
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
redirect ip2ip
fax protocol pass-through g711alaw
h323
h225 timeout t302 5
h225 signal overlap
call start slow
sip
bind control source-interface GigabitEthernet0/1
bind media source-interface GigabitEthernet0/1
no call service stop
!
voice translation-rule 1
rule 1 /^0/ //
!
voice translation-rule 2
rule 1 /\(...\)/ /326211\1/
!
voice translation-profile 1
translate calling 2
translate called 1
!
dial-peer voice 1 voip
translation-profile outgoing 1
destination-pattern ^0.T
session protocol sipv2
session target ipv4:x.x.x.x
voice-class codec 1
ip qos dscp cs3 signaling
no vad
!
!
sip-ua
credentials username user password pass123 realm 213.168.186.130
authentication username user password pass
retry invite 2
retry register 10
timers connect 100
registrar ipv4:x.x.x.x expires 3600
sip-server ipv4:x.x.x.x
host-registrar
!
telephony-service
no auto-reg-ephone
max-ephones 110
max-dn 400
ip source-address 192.168.100.1 port 2000
system message Company-name
cnf-file location flash:
cnf-file perphone
load 7925 CP7925G-1.4.3.4.loads
load ata ATA030204SCCP090202A.zup
load 6921 SCCP69xx.9-1-1-0.loads
time-zone 23
time-format 24
date-format dd-mm-yy
keepalive 3000 auxiliary 3000
max-conferences 8 gain -6
call-forward pattern .T
web admin system name admin secret xxxxxxx
dn-webedit
time-webedit
transfer-system full-consult
transfer-pattern .T
secondary-dialtone 0
create cnf-files version-stamp Jan 01 2002 00:00:00
!
!
ephone-dn 10
number 410 secondary 326211410 no-reg both
label 410
description Telefon
name Telefon
!
ephone 10
mac-address 70CA.9B99.8943
max-calls-per-button 2
type 6921
button 1:10
===== SIP phones =====
voice service voip
allow-connections sip to sip
sip
bind control source-interface GigabitEthernet0/1
bind media source-interface GigabitEthernet0/1
registrar server expires max 1200 min 300
!
voice register global
mode cme
source-address 10.3.5.2 port 5060
max-dn 10
max-pool 5
(authenticate register)
authenticate realm domain.com
create profile
!
voice register dn 1
number 438
name telefon
label 438
no-reg
!
voice register pool 1
id mac AAAA.BBBB.CCCC
number 1 dn 1
dtmf-relay sip-notify
username username password pass123
codec g711ulaw
!
CME#conf t
Enter configuration commands, one per line. End with CNTL/Z.
CME(config)#voice register global
CME(config-register-global)#create profile
CME(config-register-global)#restart
show sip-ua status registrar
show voice register dial-peer
show voice register pool 1
debug voice register events
debug voice register error
debug ccsip messages
===== SIP Diversion =====
Příklad úpravy hlavičky SIP Diversion od CUCM na CUBE prvku. (Trunk mezi CUBE a CUCM je SIPový)
Pozor CUCM defaultně při přesměrování hovorů nepoužívá SIP diversion hlavičku, je potřeba to na něm zapnout - dalším zádrhelem může být poskytovatel SIP trunku, který musí tuto funkci podporovat.
voice service voip
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
redirect ip2ip
fax protocol pass-through g711alaw
h323
no call service stop
sip
sip-profiles 1
!
voice class sip-profiles 1
request INVITE sip-header Diversion modify "(.*)" "\3"
===== COR - Class of restriction =====
Slouží k definování oprávnění volání.
Funguje na principu "zámků" a "klíčenek".
Definuji si seznam tagů (směrů):
dial-peer cor custom
name INTERNAL
name EMER
name LOCAL
name LONGDIST
Definuji seznam "zámků" pro OUTGOING směr:
dial-peer cor list EMER-CALL
member EMER
!
dial-peer cor list LOCAL-CALL
member LOCAL
!
dial-peer cor list LONGDIST-CALL
member LONGDIST
!
dial-peer cor list INTERNAL-CALL
member INTERNAL
Definuji "klíčenky" pro INCOMING směr:
dial-peer cor list EMER
member EMER
!
dial-peer cor list EMER-INT
member INTERNAL
member EMER
!
dial-peer cor list EMER-INT-LOCAL
member INTERNAL
member EMER
member LOCAL
!
dial-peer cor list EMER-INT-LOCAL-LONGDIST
member INTERNAL
member EMER
member LOCAL
member LONGDIST
Aplikuji OUTGOING pravidla (zámky) na dial-peery:
dial-peer voice 1 voip
corlist outgoing LONGDIST-CALL
description <--- International + other --->
translation-profile outgoing 1
destination-pattern ^0.T
session protocol sipv2
session target ipv4:213.168.186.130
voice-class codec 1
dtmf-relay sip-notify rtp-nte
no vad
!
dial-peer voice 2 voip
corlist outgoing LOCAL-CALL
description <--- Czech Republic --->
translation-profile outgoing 1
destination-pattern ^0[2-9]........
session protocol sipv2
session target ipv4:213.168.186.130
voice-class codec 1
dtmf-relay sip-notify rtp-nte
no vad
!
dial-peer voice 3 voip
corlist outgoing INTERNAL-CALL
description <--- Employes mobilephones --->
translation-profile outgoing 1
destination-pattern ^07207486..
session protocol sipv2
session target ipv4:213.168.186.130
voice-class codec 1
dtmf-relay sip-notify rtp-nte
no vad
!
dial-peer voice 4 voip
corlist outgoing EMER-CALL
description <--- Emergency --->
translation-profile outgoing 1
destination-pattern ^015.
session protocol sipv2
session target ipv4:213.168.186.130
voice-class codec 1
dtmf-relay sip-notify rtp-nte
no vad
!
dial-peer voice 5 voip
corlist outgoing EMER-CALL
description <--- Emergency (universal) --->
translation-profile outgoing 1
destination-pattern ^0112
session protocol sipv2
session target ipv4:213.168.186.130
voice-class codec 1
dtmf-relay sip-notify rtp-nte
no vad
Aplikuji INCOMING pravidla (klíčenky) na telefonní čísla DNs:
ephone-dn 81 dual-line
number 680 secondary 373702680 no-reg both
name 01 TestovaciTelefon
corlist incoming EMER-INT
!
Není-li na tel.čísle aplikován incoming COR list, je to jako by měl generální klíč, žádný outgoing list ho nezastaví!!!