Archive for the ‘digital’ tag
IIUC Notes – Voice Ports and Dial Peers
More of my IIUC study notes. As always, feel free to correct. I really need to have a real post, don't I?
show voice port summary
- Shows the voice ports available for use
R1#show voice port summary
IN OUT
PORT CH SIG-TYPE ADMIN OPER STATUS STATUS EC
============== == ============ ===== ==== ======== ======== ==
50/0/1 1 efxs up up on-hook idle y
50/0/1 2 efxs up up on-hook idle y
50/0/2 1 efxs up up on-hook idle y
50/0/2 2 efxs up up on-hook idle y
50/0/3 1 efxs up up on-hook idle y
50/0/4 1 efxs up up on-hook idle y
50/0/5 1 efxs up up on-hook idle y
- An ephone-dn shows up as efxs, so all these are ephone-dns.
- Channels are numbered 0-23; timeslots are numbered 1-24
FXS Ports
- Connect to end stations like analog phones and fax machines
- Signaling
- Ground start: New connections started by grounding wires
- Typically used when tied to PBXes
- Loop start: New connections started by sending DC voltage
- Default
- Typically used when connecting to analog devices
- Ground start: New connections started by grounding wires
- Call progress tones
- Audible tones to let the user know the status of a call
- Dial tone, busy, call waiting, etc.
- Different in each geographical area
- Audible tones to let the user know the status of a call
- Caller ID
- Identifies the name and number that calls on this line should appear
R1(config)#voice-port 0/0/0
R1(config-voiceport)#signal loopStart <- Use loopstart signaling
R1(config-voiceport)#cptone PE <- Uses CP tones from Peru
R1(config-voiceport)#station-id name Corporate Fax
R1(config-voiceport)#station-id number 5551212
FXO Ports
- Connects to CO or PBX
- A lot of the same configurations as FXS ports
- Two additional to discuss
- dialt-type: DTMF or pulse dialing
- ring: The number of rings to wait before answering; usually 1
- Think of allowing a home user to answer the phone before the fax machine picks up
R1(config)#voice-port 0/0/1
R1(config-voiceport)#dial-type dtmf <- touch tone
R1(config-voiceport)#ring 3 <- wait 3 rings before answering
Digital Voice Ports
- Unlike analog voice ports, digital voice ports must be configured to function with the network to which they are attached.
- Voice and WAN interface cards (VWICs) provide digital voice port
- show controllers t1
- Framing: defines how to format the frames
- SF or ESF
- Line coding: encodes the signal in a way to maintain sychronization
- AMI or B8ZS
- Clock source: defines who dictates the clocking
- Signaling: channel signaling
- CAS: use ds0-group
- Ports show up as 0/0:1, where 0/0 is the physical port and 1 is the ds0 group
- CCS: use pri-group
- Ports shows up as 0/0:23, where 0/0 is the physical port and 23 is the signaling channel (16 in E1)
- CAS: use ds0-group
R1(config)#isdn switch-type primary-5ess <- If using CCS
R1(config)#controller t1 0/0
R1(config-controller)#framing esf
R1(config-controller)#linecode b8zs
R1(config-controller)#clock source line <- get clocking from provider
For CAS:
R1(config-controller)#ds0-group 1 timeslots 1-24 type fxo-loop-start <- Using FXO loopstart signaling
-or-
For CCS:
R1(config-controller)#pri-group 1 timeslots 1-24 <- assumes signaling from CCS and ISDN switch-type
Dial Peers
- "Routing" for phone numbers
- Tells a voice gateway where to send calls based on dialed number
- Two types dial peers
- POTS: Traditional connections like T1 and analog phone lines
- VOIP: Connections to an IP address
- show dial-peer voice summary
R1(config)#dial-peer voice 1101 pots
R1(config-dial-peer)#destination-pattern 1101 <- This number…
R1(config-dial-peer)#port 0/0/0 <- …is on this FXS port.R1(config)#dial-peer voice 1102 pots
R1(config-dial-peer)#destination-pattern 1102 <- This number…
R1(config-dial-peer)#port 1/0:23 <- …is on this T1 PRI port.R1(config)#dial-peer voice 1103 voip
R1(config-dial-peer)#destination-pattern 1103 <- This number…
R1(config-dial-peer)#session target ipv4:10.10.10.1 <- …is at this IP address…
R1(config-dial-peer)#codec g711ulaw <- …and use this codec when you get there.
IIUC Notes – More Phone Features
Here are some more notes from my IIUC studies. As always, corrections requested.
- Broadcasts messages to a group for a one-way communication
- Paging groups are used to limit which phones get the broadcast
- Paging can be unicast or multicast
- Unicast groups limited to 10 members
- Multicast requires mcast support on the network
- Paging configurations can be unicast, multicast, or multiple-group
! Unicast Paging
! When 1044 is dialed, ephone 1 is paged
R1(config)#ephone-dn 44
R1(config-ephone-dn)#number 1044
R1(config-ephone-dn)#paging
R1(config-ephone-dn)#exit
R1(config)#ephone 1
R1(config-ephone)#paging-dn 44! Multicast Paging
! When 1045 is dialed, ephone 2 is paged
R1(config)#ephone-dn 45
R1(config-ephone-dn)#number 1045
R1(config-ephone-dn)#paging ip 239.1.1.100 port 2000
R1(config-ephone-dn)#exit
R1(config)#ephone 2
R2(config)#paging-dn 45! Multiple Group Paging
! When 1046 is dialed, both ephones 1 and 2 are dialed
R1(config)#ephone-dn 46
R1(config-ephone-dn)#number 1046
R1(config-ephone-dn)#paging group 44, 45
- There is a limit of 10 DNs in the paging group.
After-hours Call Blocking
- Allows you to configure time ranges and patterns that cannot be called during those ranges
- Three steps
- Defines days and/or hours that are considered after-hours
- Specify patterns to be blocked
- Create exemptions
R1(config)#telephony-service
R1(config-telephony)#after-hours day mon 18:00 07:00 <- afterhours = 6pm to 7am
R1(config-telephony)#after-hours day tue 18:00 07:00
R1(config-telephony)#after-hours day wed 18:00 07:00
R1(config-telephony)#after-hours day thu 18:00 07:00
R1(config-telephony)#after-hours day fri 18:00 07:00
…
R1(config-telephony)#after-hours date Dec 25 00:00 00:00 <- Christmas is after hours
…
R1(config-telephony)#after-hours block pattern 1 91900……. 7-24 <- Pattern index 1 blocks 900 numbers 7day/24hours
R1(config-telephony)#after-hours block pattern 2 91………. <- Pattern index 2 block all long distance after hours
…
R1(config-telephony)#login timeout 15 clear 18:00 <- Allows logins for entering a PIN for after-hours exemption; times out in 15 minutes and clears at 18:00
R1(config-telephony)#exit
R1(config)#ephone 1
R1(config-ephone)#after-hours exempt <- the boss's phone can call anywhere except the 7-24 patterns
R1(confg-ephone)#ephone 2
R1(config-ephone)#ping 1234 <- Your phone can log in with this PIN for after-hours access
- Phones have to be restarted or reset for the Login key to be enabled.
Call Accounting
- It's important to see who is calling international numbers every day at lunch.
- Call Detail Records (CDRs) record who called what number when for how long plus more stuff.
- CME logs CDRs to the logging buffer, syslog, or both.
- Logging buffers clear when a router loses power, but it may be better than nothing. <- Don't do this ever! Get a syslog server!
R1(config)#logging buffer 512000 <- Set the logging buffer size to 512000 bytes
R1(config)#dial-control-mib retain-timer 120 <- Roll records out in 120 minutes
R1(config)#dial-control-mib max-size 100 <- Only keep last 100 records
- Sending to syslog allows you to keep more records
R1(config)#gw-accounting syslog
R1(config)#logging 192.168.0.2 <- Log to this server
- Account codes are used for billing.
- Each department or unit can enter a code that appears in the CDR for use later.
- Users press the Acct key when the call is ringing or connected to enter their code.
Music on Hold
- Do I have to explain what MoH is?
- WAV or AU file in flash
- Files must be G.711 or G.729
- G.711 is recommended since it is of higher quality
- Can be delivered via unicast or multicast
R1(config-telephony)#moh piratedmusic.au <- Plays a local audio file as MoH
R1(config-telephony)#multicast moh 239.1.1.15 port 2001 <- multicast the MoH
IIUC Notes – Phone Features
Here are some more notes from my IIUC studies. As always, corrections requested.
Local Directory
- Allows users to look up names
- Allows names to show up when dialing or receiving a call
- Most phones have a directory button; some have a menu options for the directory
R1(config)#ephone-dn 1
R1(config-ephone-dn)#name Roger Smith
- Directory entries can be added manually
R1(config-telephony)#directory entry 1 1700 Corporate Fax
R1(config-telephony)#directory entry 2 1701 HR Fax
- By default, sorting is done alphabetically by first name.
- Sorting can be changed
R1(config-telephony)#directory last-name-first
Call Forwarding
- Can be done by the user or through CLI
- User presses CFwdAll button, enters a number, and #; pressing CFwdAll again cancels forwarding.
- CLI forwarding is more flexible
R1(config-ephone-dn)#call-forward busy 1800
R1(config-ephone-dn)#call-forward noan 1800 timeout 25 <- if no answer after 25 seconds
R1(config-ephone-dn)#call-forward max-length 0 <- disabled forwarding
R1(config-ephone-dn)#call-forward max-length 4 <- restricts forwarded number to a length of 4 digits
- H.450.3: A voice gateway redirects the forward to another gateway instead of using the phone as a proxy
- Direct path from originator to destination
- Frees up network resources by keeping path direct
- Keeps latency and jitter down by avoiding long looping paths and a hairpin turn at the phone
- Forwarding patterns can help restrict where calls can be forwarded
R1(config-telephony)#call-forward pattern 1… <- allows forwarding to a 4-digit number starting with 1
Call Transfer
- H.450.2: A voice gateway redirects transfers to another gateway instead of using the phone as a proxy.
- The user doing the transfer is dropped from the conversation after transfer is complete.
- Generically, there are two types of forwarding.
- Blind: sends the caller to the number blindly
- Consult: allows you to talk to the endpoint before transferring the call
- CME has three types of forwarding.
- full-blind: blind transfers using H.450.2 or SIP REFER
- full-consult: consult transfers using H.450.2 or SIP REFER if second line is available; if not, fall back to full-blind
- local-consult: Cisco-proprietary method for full-consult
R1(config-telephony)#transfer-system full-consult
- or -
R1(config-ephone-dn)#transfer-mode consult
- Transfer patterns work similarly to forwarding patterns
R1(config-telephony)#transfer-patter 1…
Call Park
- Call parking allows a user to retrieve a call from any phone by "parking" the call to an extension.
- The call can be picked up from any phone able to dial that extension.
- Park numbers can be assigned randomly or manually.
R1(config-ephone-dn)#park-slot <- makes this DN a park slot
- Call parking has several options.
- reserved-for dn: Only that DN can use this park-slot
- timeout seconds: Ring the phone phone that parked the call after that many seconds to remind them of the park
- limit count: After that many timeout intervals, drop the call. Not good for customers.
- notify dn [ only ]: Notify that DN when a timeout is reached
- recall: Sends the call back to the original phone when the timeout is reached
- transfer dn: Sends the call to this DN when the timeout is reached
- alternate dn: If the DN in the transfer command is not available, go here
- retry seconds: Try to transfer again after this many seconds
- The phone must be reset for call parking to take effect.
Call Pickup
- Allows users to pick up other ringing phones
- Best to use pickup groups so the sales guys don't pick up support calls by accident
R1(config-ephone-dn)#pickup-group 5000
- There are three methods to pickup a call.
- Directed pickup: A user picks up a ringing phone by pressing PickUp followed by the target DN.
- Local group pickup: A user picks up a ringing phone in his pickup group by pressing GPickUp then *.
- Other group pickup: A user picks up a ringing phone in another pickup group by pressing GPickUp then the other group number.
Intercom
http://www.youtube.com/watch?v=3P2dbwrT_fQ
- Technically is a speed dial and auto-answer combination
- Intercom button is pressed, which dials a DN bound to another phone; that phone automatically answers on mute.
- The DNs involved usually (?) can't be dialed.
- e.g., A101
R1(config)#ephone-dn 99
R1(config-ephone-dn)#number A99
R1(config-ephone-dn)#intercom A98 label "Boss"
R1(config-ephone-dn)#exit
R1(config)#ephone-dn 98
R1(config-ephone-dn)#number A98
R1(config-ephone-dn)#intercom A99 label "Lackey"
R1(config-ephone-dn)#exit
R1(config)#ephone 54
R1(config-ephone)#button 5:99
R1(config-ephone)#restart
R1(config)#ephone 73
R1(config-ephone)#button 5:98
R1(config-ephone)#restart
- Other options
- barge-in: Places existing calls on hold on the other end and barges n
- no-auto-answer: Rings instead of auto answers
- no-mute: Doesn't mute when auto answering. Can you say spying?
IIUC Notes – Getting Phones on the LAN
More study notes. Correct if wrong, though I hope I get some of it right since I already since I'm an R&S guy. :$
Switchport Configuration
- switchport mode access: This config makes the port an access port that carries the primary and voice VLAN traffic
- switchport mode trunk: This config akes the port a trunk unconditionally, but it will still send DTP messages
- switchport nonegotiate: This config keeps the port from sending DTP messages.
- switchport mode dynamic auto: If the port receives DTP messages, it will become a trunk. If not, it will be an access port.
- switchport mode dynamic desirable: The port actively sends DTP messages trying to become a trunk. This is the default configuration on a Cisco switch.
Cisco IP Phone Boot Process
- Phone connects to an Ethernet switch and gets power if needed
- Switch tells the phone the correct voice VLAN through CDP
- Phone sends DHCP request for its voice VLAN
- DHCP offer includes the TFTP server from which to download the config
- Phone downloads the config from the TFTP server
- Phone contacts the call processing server as dictated in the config file
DHCP Settings on a Cisco Router or L3 Switch
R1(config)#ip dhcp pool MYPOOL
R1(dhcp-config)#network 192.168.0.0 255.255.255.0
R1(dhcp-config)#default-router 192.168.0.1
R1(dhcp-config)#dns-server 192.168.0.10
R1(dhcp-config)#option 150 ip 192.168.0.20 <– Tells the phone to download the config from this TFTP server
R1(dhcp-config)#exit
R1(config)#ip dhcp excluded-address 192.168.0.1 192.168.0.100 <– Don't use these IPs when handing out DHCP
NTP
Why should you use NTP for a CME setup?
- Phones display correct time
- Voicemails have the correct time
- CDRs are timestamped accurately
- Router logs are timestamped accurately
- Time-based access worked predictably
R1(config)#ntp server 1.1.1.1
R1(config)#clock timezone MYTZ -5 <– Sets the timezone to a zone called MYTZ that's 5 hours behind UTC
IIUC Notes – Assigning Ephone-dns to Ephone Buttons
These are some of my notes on my IIUC studies. Since I am a novice as voice stuff, please let me know what I get wrong.
An ephone is a representation of a phone. It's basically a structure of features that a phone will have.
Configuration in CME:
R1(config)#ephone 34 <– This is just a tag and has nothing to do with an extension or phone
R1(config-ephone)#mac-address 1111.2222.3333 <– Assigns this ephone to the phone with that MAC address
An ephone-dn is a directory number that can be assigned to one or more phone. This is usually your extension and/or DID number.
Configuration in CME:
R1(config)#ephone-dn 18 <– Again, just a tag
R1(config-ephone-dn)#number 1000 <– the extension
Ephone-dns (i.e., extensions) are assigned to ephones through the button directive under the ephone setup. You can have more than one assignment per button command.
Configuration in CME:
R1(config)#ephone 34
R1(config-ephone)#button 1:18 <– Assigns extension 1000 (through ephone-dn 18) to button 1
The colon (:) in the button line is a separator that means that this is a normal ring phone – when someone dials that extension, your phone rings and lights up. There are other separator characters.
| Character | Function |
| : | Normal ring; the phone rings and lights up |
| b | Call waiting beep; the phone will light up, but there will be no ring. If you're on the line, you'll hear a beep on the line. |
| f | Feature ring; a triple ring |
| m | Monitor mode; lets you see the status of the line without being able to use it. Think of receptionists seeing if the boss is on the phone. |
| o | Overlay line without call waiting |
| c | Overlay line with call waiting |
| x | Overlay expansion with rollover |
| s | Silent; disable ringing and call waiting beep, but lights still flash |
| w | Watch mode; like monitor, except it monitors if any line on the phone being watched is active. If I have 4 ephone-dns on my phone and am on line 2, if you're watching line 1 of my phone, you'll see it as active |
Configuration in CME:
R1(config)#ephone 34
R1(config-ephone)#button 3m15 <– Monitors ephone-dn on button 3
R1(config-ephone)#button 4s82 <– Assigns ephone-dn 82 to button 4 but nothing will ring
R1(config-ephone)#button 5f31 <– Assigns ephone-dn 31 to button 5 with a triple ring
IIUC Notes – Powering Cisco Phones
Feel free to correct anything that is wrong or incomplete.
- Power over Ethernet (PoE)
- Can provide power to a Cisco phone, access point, security camera, etc., through the network cabling, eliminating the need to plug the phone into the wall for power.
- Generic term for providing power on the Ethernet cable
- Provides centralized power that can be put on a UPS
- Allows devices to be located away from power outlets
- Removes cabling clutter at the user's desk
- Can be provided through PoE-enabled switches, power panels or inline couplers (power injectors)
- Oversubscription is common
- If every device on a switch asks for full power, the switch may not be able to handle the load.
- Of course, devices can be powered with a power brick at the desk
- 802.3af
- IEEE standard for PoE from 2003
- Defines power classes so different devices can ask for different power levels
- Class 0: 15.4W allocated
- Used for el cheapo devices that just want power
- Class 1: 4.0W
- Class 2: 7.0W
- Class 3: 15.4W
- Class 0: 15.4W allocated
- Uses all 4 pairs of wire, so works on gig links
- Power procedure
- Small DC current is applied to the line
- If an 802.3af device is attached, it runs the current through a resistor
- The resistance is detected by the switch which can determine the class of power
- Power is applied to the device
- Cisco Inline Power
- Cisco's version of PoE created in 2000 (before 802.3af)
- Each device tells the switch what its power needs are
- Power procedure
- PoE device connected to the switch
- Switch sends Fast Link Pulse (FLP)
- If FLP is received back, 6.3W of power are applied
- Device boots off of 6.3W and tells the switch what its real power requirements are via CDP
IIUC Notes – VoIP Structures
Feel free to correct. No need to sugar-coat it; I’m pretty new at this stuff. :)
- Advantages of VoIP
- Reduces costs of communications: Eliminates/reduces long distance and international call tolls
- Reduces costs of cabling: No need for second network of phone lines
- Integrates all voice into one large network: All your remote offices can be implemented/maintained/controlled centrally
- Provides mobility: Moves, adds, and changes (MACs) are (nearly) eliminated since your phone is just a network node
- Allows use of IP Softphones
- Unifies emails, voice mails, and faxes: All these can be treated as a single box for user messages
- Increases productivity: Ringing multiple devices at the same time eliminates phone tag. <— pushing it, eh?
- Enhances communications: Applications can be launched/updated from a voice call through application servers
- Provides open, compatible standards: You can connect different vendor devices into the same VoIP network. <— I’ve never seen that happen
- Cisco VoIP Structure
- Infrastructure: Switches, routers, firewalls, etc.
- QoS!
- Call processing: Call signaling, routing, etc.
- Applications: Additional functionality like IM support and unified messaging
- Endpoints: Phones
- Infrastructure: Switches, routers, firewalls, etc.
- Cisco Call Processing
- Unified Communications 500 (UC500): Standalone device with switch, router, firewall, voice processing, voice mail all built in
- Communications Manager Express (CME): Voice capabilities contained in ISR router
- Communications Manager Business Edition: Server solution with most voice capabilities integrated
- Communications Manager (CM): Full server-cluster solution to support many thousands of phones
- Cisco Applications
- Interactive Voice Response (IVR): Those troublesome menus where you say your account number but it never understands you
- Auto attendant: Interactive interface where users direct themselves to the correct person/group/team/department by using touch tones.
- Cisco Unified Contact Center: Provides IVR, auto attendant, automatic call distribution (ACD), computer telephony integration (CTI), chat/web/email integration
- Cisco Unity Express: Linux-based appliance in a router for limited voice mail, IVR, and auto attendant
- Cisco Unity Connection: Server-based solution for more robust VM, IVR, and auto attendant
- Cisco Unity: Fully-integrated solution running on server clusters
- Phones
- Entry-level
- 3911
- Inline power
- Fixed buttons
- Half-duplex speakerphone
- 7906G/7911G
- Inline power
- Onscreen soft keys
- Basic XML support
- 7911G has built-in switch
- 7931G
- Inline power
- Onscreen soft keys
- Basic XML support
- Built-in switch
- 3911
- Business-class
- 7940G
- Built-in switch
- Inline power
- Broader XML support
- Onscreen soft keys
- Full-duplex speaker
- Headset support
- 7941G = 7940G + better display with backlight
- 7941G-GE = 7941G + 10/100/1000 switch
- 7942G = 7941G + high-fidelity audio and Internet Low Bitrate Codec (ILBC)]
- 7945G = 7941G-GE + 16-bit color display
- 794X phones support 2 lines; the same 796X phones support 6 lines.
- 7940G
- Touchscreen phones
- 7970G: 7940G + touchscreen
- 7971G-GE: 7941G-GE + touchscreen
- 7975G: 7945G + touchscreen + 5″ display
- Specialty phones
- 7985G: Video phone
- 7921G: Wireless VoIP phone
- 7937G: Conference station
- ATA 186/188: Converts analog phones to VoIP
- Cisco IP Communicator: Softphone
- VT Advantage: Integrates webcam and computer with phone
- 7914/7915/7916: Expansion modules for 796X and 797X phones
- Entry-level
IIUC Notes – Old School Voice Stuff
These are the notes I’ve taken as I read through the study materials. Feel free to correct anything you see.
- Analog phone signaling
- Misc
- Ground = positive = tip
- Battery = negative = ring
- Signaling uses specific frequencies for specific events
- Loop start signaling
- When a circuit in the phone is completed (i.e., you take it off-hook), the CO detects it and provides services.
- Susceptible to glare, where the phone requests dialtone at the same time that the CO sends a call.
- Can connect two different calls if in a business with multiple lines
- Ground start signaling
- The circuit is temporarily completed to signal the CO for services
- Doesn’t connect any call to any phone directly
- Used in PBXes.
- Supervisory signaling
- On-hook: Circuit is open
- Off-hook: Circuit is completed
- Ringing: AC current generated by CO to tell the phone to ring
- Informational signaling
- Gives information for the caller to use
- Dial tone
- Busy
- Ringback: the ring you hear when you call
- Confirmation: the call is being attempted
- Congestion: no lines available to make the call
- Receiver off-hook
- Reorder: can’t make the call
- No such number: can’t find the endpoint
- Address signaling
- Used to send digits
- Dual-tone multifrequency (DTMF): uses two electrical signals to indicate a digit; touch tone
- Pulse: flashes the circuit to indicate a digit; rotary dial
- Disadvantages of analog signaling
- Attenuation
- Repeaters can’t differentiate between call and noise
- One cable pair for each call; think about a pair for each call taking place in Manhattan right now
- Misc
- Digitizing voice
- Steps
- Sampling: taking samples of the voice
- Nyquist method: sample rate = 2 x highest frequency
- Human voices usually stay below 4000Hz, so a good sampling rate is 8000 samples/second.
- Pulse-amplitude modulation (PAM)
- Quantization: assigning values to the sample
- Assignment based on amplitude of the signal
- Logarithmic scale for better accuracy at the more common amplitudes
- Encoding: converting quantization to binary
- Pulse-code modulation (PCM)
- 8 bits/sample * 8k samples/second = 64k bpbs
- Compression: optionally compress the binary information
- Sampling: taking samples of the voice
- Advantages
- Transmitting numbers is less susceptible to attenuation
- Multiple digital voice signals can use same pair
- Time division multiplexing (TDM)
- Steps
- Digital signaling
- 24 channels * 8 bits/sample = 192 bits of voice
- The T1 frame sends all 24 channels in one T1 frame with 1 bit for framing bit, so the T1 frame = 193 bits
- 193 bits/frame * 8k frames/second = 1.544 Mbps
- Channel associated signaling (CAS): steals bits in a channel for signaling
- The 8th bit of every 6th sample is stolen for signaling
- Super frame (SF) uses 12 frames to synchronize a signal, so 12 samples are required to be received for synchronization (12/8000 second).
- Extended super frame (ESF) uses 24 frames; 2000 bps for sync, 2000 bps for errors, 4000 bps for control and reporting
- Common channel signaling (CAC): uses a dedicated channel for signaling
- Q.931 is a CAC signaling standard.
- The PSTN
- Phone companies connect together using SS7 signaling (a CAC method), which is responsible for routing the call.
- E.164 is an ITU standard for phone numbers.
- Country code
- National destination code
- Subscriber number
ONT Notes – VOIP Networks
Here are some of the notes I’ve been taking while reading over the ONT book. I hope it benefits somebody. Feel free to correct any stupid mistakes as a paraphrase to avoid a lawsuit.
There’s way too much info here. I’ll refine the process a little better for the next topics.
Benefits of Packet Telephony Networks
- More efficient use of bandwidth and equipment – Packet telephony networks don’t dedicate channels or a static bandwidth to a call; it’s just another network application.
- Consolidate network expense – The common infrastructure (IP-based networks) keeps you from having to support another distinct network for voice like in traditional PBX implementations.
- Improved employee productivity – The phone can be used for more than just phone calls by utilizing the XML interface to run applications or provide content from the network.
- Access to new communications devices – IP phones can communicate with computers, network gear, PDAs, etc., and not just the PBX.
Packet Telephony Components
- Phones – These include analog phone, digital phones, IP phones, softphones, etc.
- Gateways – These devices connect the different devices that cannot access the IP network. For example, making a 911 call from your IP phone requires a gateway that switches and converts your VOIP conversation to the PSTN.
- Gatekeepers – These are devices that handle call routing (resolving an IP to an extension/phone number) and call admission control (CAC, grants permission to make the call).
- Multipoint control units (MCUs) – These are conference bridges that connect a bunch of streams together and present it to all participants. Some can do video as well.
- Call agents – These are devices used in a centralized model that handle the call routing, address translation, call setup, call maintenance, and call termination.
- Application and database servers – These provide required and optional services to the packet telephony network and include TFTP servers for configuration and OS download and XML servers for application use.
- Digital signal processors (DSPs) – These guys converts signals from one form to another. They convert analog to digital signals, digital to packetized data in the form of a codec, from codec to codec, etc.
Analog Interfaces
- Foreign Exchange Office (FXO) – These are interfaces that expect to connect to a CO or equivalent. You connect these to your wall jack to get access to the PSTN.
- Foreign Exchange Station (FXS) – You connect your analog devices (phones, modems, faxes, etc.) to these guys to get dial tone.
- Ear and Mouth (E&M) – These are the old-school way to connect PBXes together.
Digital Interfaces
- Basic Rate ISDN (BRI) – These give you 2 64kbps channels (bearer channels) to run voice over. It also includes a 16kbps D (delta) channel with 48kbps of framing overhead to give you 192kbps.
- T1 (North America) – This is a channelized T1 or a Primary Rate ISDN (PRI).
- Common Channel Signaling (CCS) – The D channel is dedicated to signaling, giving you 23 64kbps channels.
- Channel Associated Signaling (CAS) – There is no D channel, but every bearer channel dedicates a few data bits for its own signaling.
-
- E1 (North America) – This is a channelized E1 or a Primary Rate ISDN (PRI).
- Common Channel Signaling (CCS) – The D channel is dedicated to signaling, giving you 30 64kbps channels.
- Channel Associated Signaling (CAS) – There is still a dedicated D channel, so you still have 30 64kbps channels to use.
- E1 (North America) – This is a channelized E1 or a Primary Rate ISDN (PRI).
VOIP Signaling
- H323. – ITU Standard that uses a whole mess of RFCs; distributed model
- Media Gateway Control Protocol (MGCP) – IETF RFC 3435; centralized model
- Session Initiation Protocol (SIP) – IETF standard; distributed model
Phone Call Stages
- Call setup – connects the call between the endpoints
- Call routing – figures out where the call is going
- CAC (optional) – Do you have enough resources (i.e., an available channel or bandwidth) to make the call?
- Call negotiation – negotiates the source and destination IPs, source and destination UDP ports, and codec.
- Call maintenance – collects call statistics for on-demand or historical use
- Call teardown – hanging up and terminating the connection
Digitizing Analog Signals
- Sampling – Periodic capturing and recording of voice resulting in a pulse amplitude modulation (PAM) signal
- Quantization – Assigning numerical values to the PAM signal
- Encoding – Converting the quantization to binary
- Compression (optional) – compressing the binary stream
- Pulse code modulation (PCM) converts analog to digital, but it doesn’t use compression. It takes 8000 samples per second and converts each sample to an 8-bit number, giving 64kbps of capacity.
Digital to Analog
- Decompression (optional)
- Decoding and filtering – binary is converted back to a PAM signal; filtering removes any noise from the conversion
- Reconstructing the analog signal
The Nyquist Theorem
- The number of samples required to accurately encode (and decode) a signal is twice the highest frequency of the signal.
- Since telephone lines can only transmit up to 3400 Hz (4000 Hz for simplicity), the sample rate should be 8000 samples/second.
Measuring Compression Qualities
- Mean opinion score (MOS) – ITU standard technique for measuring quality of codec; subjective score from 1 to 5
- Perceptual speech quality measurement (PSQM) – Another ITU standard technique for measuring quality of codec; test equipment score from 0. to 6.5
- Perceptual analysis measurement system (PAMS) – Developed by BT; predictive system
- Perceptual evaluation of speech quality (PESQ) – Another ITU standard; combines PSQM and PAMS; objective measurement of factors including subjective values
Digital Signal Processors (DSPs)
- Provide 3 major services – voice termination, transcoding, conferencing
- Also performs compression (codec), echo cancellation, voice activity detection (VAD), comfort noise generation (CNG), and jitter handling
- Conferencing among participants with the same codec is called a single-mode conference.
- Conferencing among participants with different codecs is called a mixed-mode conference.
Protocols
- VOIP calls run over Real Time Protocol (RTP).
- RTP provides sequence reordering, time-stamping, and multiplexing
- Rides on UDP ports 16384-32767
- Voice does not need the reliability (retransmission) of TCP since retransmitted data is no longer useful (I already said that).
- VOIP packets headers:
- IP – 20 bytes
- UDP – 8 bytes
- RTP – 12 bytes
- L2 headers vary depending on technology (Ethernet = 12 bytes, MPLS, etc.)
- 2 10-ms packages are usually in one packet (20ms of voice)
- G.711 (64kbps) produces 160 bytes from 20 ms of voice.
- G.729 (8kbps) produces 20 bytes from 20 ms of voice.
cRTP
- Compressed RTP (cRTP) reduces the headers
- After the first packet lands, the IP, UDP, and RTP headers won’t change, so why send them again?
- The headers are reduced to a hash.
- cRTP reduces the headers to 4 bytes with a UDP checksum and 2 bytes without a UDP checksum.
- Slow links only
- Processing overhead
- Finite delay in packetization
Packet Size Effect on Bandwidth
- The size of a voice frame depends on:
- Packet rate and packetization size – rate is inversely proporational to size
- IP overhead – RTP, UDP, IP, cRTP overhead
- L2 overhead -
- Tunneling overhead – IPSec, GRP, MPLS, etc.
- Codecs have different bandwidth
- G.711 (PCM) – 8000 samples per second @ 8 bits per sample = 64 kbps
- G.726 (Adaptive Differencial PCM – ADPCM) – Variable bit rate of 32 kbps, 24 kbps, or 16 kbps
- G.722 (Wideband Speech Encoding) – 2 subbands using modified ADPCM of 64 kpbs, 56kbps, or 48 kbps
- G.728
- G.729 – 10 samples per 10-bit code = 8 kbps
Calculating Total Bandwidth
- Step 1 – Determine codec and packetization period: What does the codec require in bandwidth? How many samples per packet (usually 2)?
- Step 2 – Determine link-specific overhead: Encapsulation? cRTP?
- Step 3 – Calculate packetization size: Size of voice payload; codec bandwidth * packetization period / 8 = voice payload in bytes
- Step 4 – Calculate total frame size: IP + UDP + RTP + Tunneling + data link + packetization size
- Step 5 – Calculate packet rate: 1 / packetization period (ex., 20ms packetization period is 1/0.020 = 50 packets per second)
- Step 6 – Calculate total bandwidth: Total frame size * packet rate
VAD and Bandwidth
- Common for 1/3 of conversation to be silence
- VAD bandwidth savings depends on:
- Type of audio: regular phone call (two-way), conf call (one-way), music on hold (MOH)
- Background noise: noise may be detected as voice
- Other factors: language, culture may influence amount of silence
Enterprise VOIP Implementations
- Consists of gateways, gatekeepers, Cisco Unified CallManagers (CCM), Cisco IP Phones
- Routers can provide the voice gateway function by connecting the IP network to the WAN (and other gateways), PSTN, PBXes, etc.
- Survivable Remote Site Telephony (SRST) allows local calling and use of PSTN while services are down
Functions of CCM
- Call processing – routing, signaling, accounting
- Dial plan administration - call routing
- Signaling and device control – configuration and instruction in case of events
- Phone feature administration – button programming, profiles, etc.
- Directory and XML
- API for interface – allows custom programming for IP phones
Enterprise Deployment Models
- Single-site: You have one site, and everything is there.
- Multisite with centralized call processing: You have multiple sites, but the main site has the CCM cluster.
- Multisite with distributed call processing: You have multiple sites, and each site has its own CCM cluster.
- Clustering over WAN: You have multiple sites, and each site has a part of one big CCM cluster.
IOS Voice Commands
----- R1 ----- ! FXS on 1/1/2 Dial-peer voice 1 POTS destination-pattern 120 port 1/1/2 ! Extension 230 is on R2 Dial-peer voice 2 R2 destination-pattern 230 session target ipv4:10.1.1.2 ----- R2 ----- ! FXS on 2/2/1 Dial-peer voice 1 POTS destination-pattern 230 port 2/2/1 ! Extension Dial-peer voice 2 R2 destination-pattern 120 session target ipv4:10.1.1.1
Call Admission Control (CAC)
- QoS can guarantee bandwidth but can only reserve so much (say, for 2 simultaneous calls).
- CAC make sure that resources are available (denies a new call if 2 calls are already placed).
- Dropped packets affect every call – not just the new ones
—–
Additional Reading