Telefonía IP
Un teléfono IP es como cualquier otro dispositivo en la red, necesita corriente para funciona que puede obtener de dos tipos de fuentes:
El adaptador externo provee de 48V DC al teléfono y como cualquier adaptador se conecta a un enchufe. Tiene el problema que si la corriente se va el teléfono deja de estar operativo. También se puede usar este adaptador como fuente redundante.
Una solución es Power over Ethernet (PoE) que consiste en obtener la corriente del mismo cable que viene del switch por donde pasan voz, datos y corriente. Se obtienen los mismos 48V DC. Lógicamente deberemos tener el switch con fuentes redundantes para evitar perder el teléfono.
Un switch puede ofrecer corriente a un dispositivo solo si este está diseñado para recibirla. Los modelos 3750, 4500 y 6500 soportan PoE. Hay 2 métodos para proveer de PoE:
El switch siempre mantiene la corriente apagada cuando el puerto está down, pero siempre está intentando detectar si el dispositivo conectado soporta o requiere corriente.Si detecta un dispositivo que lo requiera entonces empezará a dar corriente para que el dispositivo se inicialice y esté operativo. Solo en ese momento se establece enlace (link).
Un Catalyst probará ambos métodos para detectar dispositivos. IEEE 802.3af suministra un pequeño voltaje a través de los pares de transmisión y recepción para medir la resistencia y ver si el dispositivo conectado altera el voltaje suministrado. Si se mide una resistencia de 25K ohm entonces un dispositivo PoE está conectado.
El switch también puede aplicar varios voltajes predefinidos para comprobar con lo cual se puede determinar a que clase de las 5 que especifica IEEE 802.3af que son:
Clase | Potencia máxima | Nota |
0 | 15,4W | Clase por defecto |
1 | 4,0W | Clase opcional |
2 | 7,0W | Clase opcional |
3 | 15,4W | Clase opcional |
4 | hasta 50W | Clase opcional (802.3at) |
Corriente puede darse de 2 formas:
Cisco ILP: se provee 48V DC de corriente por los pares 2 y 3 (RJ-45 patilla 1,2 y 3,6)
IEEE 802.3af: se provee de igual forma o por los pares 1 y 4 (RJ-45 patillas 4,5 y 7,8).
Por defecto un puerto PoE siempre intenta detectar (configurado en modo auto) pero se puede configurar para que nunca lo haga, el comando de configuración es:
Switch(config)# interface type mod/num
Switch(config-if)# power inline {auto [max mili-watts] | static [max milli-watts] | never}
La potencia por defecto son 15,4W pero se puede especifica en max milli-watts (4000 a 15400).
Podemos configurar el puerto en modo static si el dispositivo conectado no puede interactuar con ninguno de los métodos de detección de dispositivos, indicando la potencia (por defecto 15.4W).
Si queremos desactivar PoE en el puerto con usar never nunca se suministrará corriente.
Para verificar el estado de un puerto PoE con el comando:
Switch# show power inline [type mod/num]
En esta salida nos indica un dato muy importante y es la potencia máxima que el switch puede ofrecer en global, además de la que ya se está usando y la que queda libre.
Cisco recomienda estos pasas para configurar voice VLAN:
Para configurar un puerto e indicar el modo de VLAN de voz que se usará:
Switch(config-if)# switchport voice vlan {vlan-id | dot1p | untagged | none}
Parámetro | VLAN Nativa (Untagged) | Vlan de Voz | QoS de Voz (Bits CoS) |
vlan-id | PC Data | Vlan vlan-id | 802.1p |
dot1p | PC Data | Vlan 0 | 802.1p |
untagged | PC Data/voice | --- | --- |
none (default) | PC Data/voice | --- | --- |
Por defecto el modo es none en el cual no se usa trunk.
Podemos verificar el modo del puerto (access o trunk) y la VLAN de voz usando el comando:
show interface type mod/num switchport
Como salida de ejemplo (solo indico las líneas a fijarse):
... Operational Mode: static access ... Access Mode VLAN: 10 (VLAN0010) ... Voice VLAN: 110 (VoIP) ...
Cuando el trunk de un teléfono IP está activo no se muestra en el modo trunk de ningún comando show, así que para verificarlo podemos mirar el STP que ejecuta dos instancias una para datos y otra para voz usando el comando:
show spanning-tree interface type mod/num
Para que la voz no se pierda por saturación debemos configurar Calidad de Servicio (QoS) y así proveer que siempre las llamadas de voz funcionen.
Dependiendo de la aplicación una perdida o retardo puede asumirse (por ejemplo una web) pero en una vídeo conferencia o llamada de voz puede ser algo que no se puede asumir o tolerar.
Hay tres cosas básicas que pueden ocurrir a los paquetes a lo largo de la red:
Podemos usar tres tipos básicos de calidad de servicio QoS:
En este tipo el dispositivo de red hace lo mejor posible para entregar el paquete a tiempo y por lo tanto es como si no hubiese Calidad de Servicio QOS.
Se reserva con antelación un ancho de banda para la aplicación.
DiffServ no requiere reserva de ancho de banda con antelación como en IntServ. QoS se gestiona dinámicamente aplicándolo en base a per-hop a un grupo de flujos similares. DiffServ también basa sus decisiones QoS en la información que contiene la cabecera de cada paquete.
Las tramas de Capa 2 en si mismas no tienen forma de indicar la prioridad o importancia de su contenido por lo que un switch solo puede transportar tramas de acuerdo con la "Entrega de Mejor Esfuerzo".
Sin embargo cuando las tramas se transportan por un Trunk entre switches éstas son encapsuladas añadiendo el TAG ID de la vlan y en esta encapsulación incluye un campo que indica la Clase de Servicio (CoS) de cada trama. Este campo puede ser usado en lso switches extremos para tomar decisiones de QoS. Una vez que la trama se desencapsula cuando sale del Trunk la información CoS se elimina y pierde.
Diferencias entre las 2 encapsulaciones de Trunk:
Clasificación de QoS de Capa 3 con DSCP
El perímetro formado por switches que no confían en QoS entrantes se llama Trust Boundary. AMPLIAR!!
switch(config)# mls qos
switch(config)# interface type mod/num switch(config-if)# mls qos trust {cos | ip-precedence | dscp}Generalmente para teléfonos IP de Cisco se debería elegir cos ya que el teléfono puede controlar los valores de cos en su TRUNK de 2 vlans con el switch.
switch(config-if)# mls qos trust device cisco-phone
switch(config-if)# switchport priority extend {cos value | trust}Por defecto, un switch instruye a un teléfono IP conectado a que considere el puerto del PC sin confianza (untrust). El teléfono sobre escribirá el valor de CoS a 0 (cero).
Podemos configurar un puerto de uplink para que sea de confianza así:
switch(config)# interface type mod/num switch(config-if)# mls qos trust cos
Es una macro que proporciona lo siguientes tipos de configuración QoS:
Podemos usar estos comandos:
switch(config)# interface type mod/num switch(config-if)# auto qos voip {cisco-phone | cisco-softphone | trust}
Importante: CEF debe estar activado ya que Auto-QoS usa Network Based Application Recognition (nBAR) para identificar varios tipos de tráfico y de aplicaciones (CEF es un requisito para nBAR). También es necesario que CDP está habilitado.
Para verificar usamos el comando:
switch)# show mls qos interface type mod/num
Si el puerto es de confianza, todo el tráfico enviado pro el teléfono IP se acepta con la información QoS intacta. Si el puerto es de no confianza, la información de QoS se sobre escribe.