La traducción y reparación de protocolos es una función Cisco Unified Border Element (CUBO). CUBE se puede implementar entre dos dispositivos que soporten el mismo protocolo VoIP (SIP), pero no interfuncionan debido a las diferencias de implementación o interpretación del protocolo. El CUBO puede personalizar la Mensajería del SORBO por ambas partes a lo que esperan los dispositivos en ese segmento de la red considerar normalizando la Mensajería del SORBO en la frontera de la red, o entre dos dispositivos del NON-interoperable dentro de la red.
Los proveedores de servicio pueden tener directivas para las cuales los campos de la Mensajería SIP deban estar presentes (o qué constituyen los valores válidos para los campos del encabezado) antes de que una llamada SIP ingrese su red. Semejantemente, las empresas y las Pequeñas empresas pueden tener directivas para la información que puede ingresar o salir sus redes por las razones de la directiva o de Seguridad de un trunk del proveedor de servicio SIP.
Para personalizar la Mensajería del SORBO en las ambas direcciones, usted puede colocar el CUBO con una configuración de la normalización del SORBO en el límite de estas redes tal y como se muestra en de esta imagen:
Además de la conformidad de la política de red, las capacidades de la normalización del SORBO del CUBO se pueden utilizar para resolver las incompatibilidades entre los dispositivos del SORBO dentro de la red para empresas. Éstas son las situaciones en las cuales las incompatibilidades pueden presentarse:
Un dispositivo rechaza una encabezado desconocida (valor o parámetro) en vez de ignorarlo
Un dispositivo envía los datos incorrectos en un mensaje del SORBO
Un dispositivo no implementa (o implementa incorrectamente) los procedimientos del protocolo
Un dispositivo cuenta con un valor de encabezado o un parámetro opcional, o un procedimiento opcional del protocolo que se pueda implementar en las diferentes formas
Un dispositivo envía un valor o un parámetro que deban ser cambiados o ser suprimidos antes de que salgan o ingresen de la red
Variaciones en los estándares del SORBO en cómo alcanzar ciertas funciones
La característica de los perfiles del SORBO en el CUBO proporciona una solución a estos los problemas de la normalización y del arreglo para requisitos particulares del SORBO.
Asegúrese de cumplir estos requisitos antes de intentar esta configuración:
Conocimiento básico de cómo configurar y utilizar las características de voz del Cisco IOS (tales como dial-peers)
Conocimiento básico de cómo configurar y utilizar el Cisco Unified Border Element (CUBO)
Conocimiento intermedio del protocolo del SORBO y sus mensajes, campos, y parámetros
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
Versión del Cisco Unified Border Element en un gateway de acceso de Cisco ISR, de Cisco AS5400XM, el gateway de acceso de Cisco AS5350XM, el Cisco 7200 Router, o un Cisco 7300 Router que funciona con el Cisco IOS Release 12.4.15XZ o Posterior
Gateway del TDM-a-SORBO de Cisco en un gateway de acceso de Cisco ISR Cisco AS5400XM, o un gateway de acceso de Cisco AS5350XM que funciona con el Cisco IOS Release 12.4.15XZ o Posterior
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener cualquier comando.
Consulte Convenciones de Consejos Técnicos de Cisco para obtener más información sobre las convenciones sobre documentos.
La configuración de la característica de los perfiles del SORBO permite que usted agregue, que modifique, o que quite ningunos valor de encabezado del SORBO o SDP en un mensaje saliente del SORBO en el CUBO. Una lista de los mensajes y de las encabezados exactos soportados se proporciona en la sección soportada de los mensajes del SORBO de este documento. Los perfiles del SORBO se pueden configurar en el nivel del dial-peer o el nivel global.
El sintaxis para la modificación del mensaje utiliza la notación de la expresión normal para hacer juego y para substituir los campos en los mensajes. Las subcadenas correspondidas con se pueden utilizar adentro substituyen los modelos. Cuando son múltiples las reglas de la expresión normal se aplican al mismo [method/response]: la combinación de la encabezado, la segunda regla se aplica a la cadena del resultado de la primera regla.
SORBA los perfiles no permite que usted quite o que agregue las encabezados obligatorias del SORBO. Solamente la opción de la modificación está disponible para las encabezados obligatorias. Las encabezados obligatorias del SORBO incluyen a, de, vía, CSeq, ID de llamada, y MAX-Adelante. Las encabezados obligatorias SDP incluyen v, o, s, t, c, y el M.
La CUALQUIER palabra clave especial se proporciona en el CLI para indicar que una regla se debe aplicar a cualquier mensaje dentro de la categoría especificada. Las reglas configuradas para un mensaje INVITE (Invitar) se aplican solamente al primer INVITAN en la secuencia del protocolo para la llamada. Una palabra clave especial REINVITE se soporta para definir la operación necesaria en subsiguiente invita en una secuencia del protocolo para la llamada.
Los perfiles del SORBO se pueden también utilizar para cambiar un nombre de la encabezado de la forma extensa a la forma compacta; por ejemplo, al F. Esto se puede utilizar como manera de reducir la longitud de un mensaje del SORBO. Por abandono el Cisco IOS SORBE nunca envía la forma compacta de los mensajes del SORBO aunque reciba el largo o de la forma corta.
El SORBO perfila los mensajes salientes del SORBO de las influencias de la característica solamente. Se aplican las reglas mientras que el paso más reciente antes del mensaje sale del router del CUBO; es decir, después del destino la correspondencia de dial-peer ha ocurrido. Los cambios a los mensajes del SORBO no son recordados ni son actuados encendido por la aplicación del CUBO.
Se recalcula el campo de la Contenido-longitud después de que las reglas de los perfiles del SORBO se apliquen al mensaje saliente.
Nota: Utilice la herramienta Command Lookup Tool (clientes registrados solamente) para obtener más información sobre los comandos utilizados en esta sección.
El comando general que define una regla para agregar un campo a un método/a una respuesta del SORBO es:
el <header-name> del code> <sip-header/sdp-header> del <message <request/response> agrega el <add-value>
El comando general que define una regla para quitar un campo a un método/a una respuesta del SORBO es:
el <header-name> del code> <sip-header/sdp-header> del <message <request/response> quita
El comando general que define una regla para modificar un campo a un método/a una respuesta del SORBO es:
el <header-name> del code> <sip-header/sdp-header> del <message <request/response> modifica el <replace-pattern> del <match-pattern>
El primer paso es definir las reglas. Para definir las reglas, utilice la estructura de comando general dada en la sección anterior. Por ejemplo:
voice class sip-profiles 100 request INVITE sip-header… response 100 sip-header… request INVITE sdp-header…
El segundo paso es aplicar las reglas o al global o el dial-peer nivela de la configuración del CUBO. Para aplicar las reglas global a todas las llamadas que atraviesan el CUBO, utilice esta estructura de comando:
voice service voip sip sip-profiles 100
Para aplicar las reglas selectivamente a las llamadas que atraviesan solamente a una dial peer saliente determinada, utilice esta estructura de comando:
dial-peer voice 555 voip voice-class sip-profiles 100
Si las reglas se configuran en el global y el dial-peer nivela, la configuración de dial-peer toma la precedencia sobre la configuración llana global.
Estas notas se aplican genéricamente a todas las características deL Cisco IOS que utilicen las expresiones normales (que incluye los perfiles del SORBO):
Cuando un agregar-valor, un coincidencia-modelo o un reemplace-modelo contienen los caracteres del blanco-espacio, el valor entero debe ser incluido entre las comillas dobles. Por ejemplo:
la sorbo-encabezado de la respuesta 100 agrega el “agente de usuario: CUBO DE CISCO”
Cuando un agregar-valor, un coincidencia-modelo o un reemplace-modelo contiene las comillas dobles (") y los caracteres de espacio blancos, una barra (\) debe prefijar las citas internas. Por ejemplo, para agregar el CUBO de “CISCO”, utilice este comando:
la sorbo-encabezado de la respuesta 100 agrega el “agente de usuario: \ “CISCO \ “CUBO”
Para proporcionar la mayoría de la flexibilidad, verificando no se realiza en los mensajes del SORBO que el resultado después de las reglas es aplicado. Usted debe asegurar con la prueba adecuada que los cambios que usted especifica en las reglas del perfil den lugar a los intercambios de protocolos válidos del SORBO.
El Tipo de mensaje del SORBO no puede ser cambiado con los perfiles del SORBO. Es decir, una respuesta de sonido 180 no se puede cambiar a una respuesta del progreso de 183 sesiones.
Las encabezados obligatorias pueden ser modificadas solamente; no pueden ser agregadas o ser quitadas. Las encabezados obligatorias del SORBO incluyen a, de, vía, CSeq, ID de llamada, y MAX-Adelante. Las encabezados obligatorias SDP incluyen v, o, s, t, c, y el M.
Mientras que las variables de la expresión normal pueden ser utilizadas en la coincidencia y substituir las subcadenas para salvar y reutilizar los valores, la información no se puede extraer a partir de un mensaje y aplicar a otro. Por ejemplo, el número que llama no se puede extraer de la INVITACIÓN e insertado en un subsiguiente REFIERA el mensaje. Las reglas especificadas se aplican a un solo en un momento del mensaje; solamente la información en ese mensaje se manipula.
Esta sección proporciona los ejemplos de las reglas del perfil del SORBO para alcanzar los cambios específicos PARA SORBER los mensajes.
Esta sección proporciona los ejemplos de cómo agregar las encabezados del SORBO y SDP a los mensajes.
Ejemplo 1
Mensaje: INVITE
Acción: Agregue la encabezado b=AS:4000 SDP a la línea de los vídeo-media
Reglas:
voice class sip-profiles 100 request INVITE sdp-header Video-Bandwidth-Info add "b=AS:4000"
Ejemplo 2
Mensaje: 480 temporalmente no disponible
Acción: Agregue Recomprobación-después de la encabezado del SORBO
Reglas:
voice class sip-profiles 100 response 480 sip-header Retry-After add “Retry-After: 60”
Ejemplo 3
Mensaje: Invita y REINVITEs
Acción: Agregue la etiqueta del “user=phone” a la encabezado de URI del SORBO
Reglas:
voice class sip-profiles 100 request INVITE sip-header SIP-Req-URI modify "; SIP/2.0" ";user=phone SIP/2.0" request REINVITE sip-header SIP-Req-URI modify "; SIP/2.0" ";user=phone SIP/2.0"
Ejemplo 4
Mensaje: Respuesta 200
Acción: Agregue la encabezado del SORBO del agente de usuario
Reglas:
voice class sip-profiles 100 response 200 sip-header User-Agent add "User-Agent: CiscoSystems-SIP-GW-UA"
Esta sección proporciona los ejemplos en cómo quitar las encabezados del SORBO y SDP a los mensajes.
Ejemplo 5
Mensaje: Todas las peticiones y respuestas
Acción: Quite la encabezado del SORBO de Cisco-Guid
Reglas:
voice class sip-profiles 100 request ANY sip-header Cisco-Guid remove response ANY sip-header Cisco-Guid remove
Ejemplo 6
Mensaje: ADIÓS y CANCELACIÓN
Acción: Quite la encabezado del SORBO de la razón
Reglas:
voice class sip-profiles 100 request BYE sip-header Reason remove request CANCEL sip-header Reason remove
Ejemplo 7
Mensaje: 100 y 180 respuestas
Acción: Quite la encabezado del SORBO del servidor
Reglas:
voice class sip-profiles 100 response 100 sip-header Server remove response 180 sip-header Server remove
Esta sección proporciona los ejemplos en cómo modificar las encabezados del SORBO y SDP en los mensajes.
Ejemplo 8
Mensaje: INVITE
Acción: Modifique de: encabezado al cambio 2222000020@9.13.24.7 del formato de “gateway@gw-ip-address” e.g a gateway@9.13.24.7
Reglas:
voice class sip-profiles 100 request INVITE sip-header From modify "(<.*:)(.*@)" "\1gateway@"
Ejemplo 9
Mensaje: INVITE
Acción: substituya el “Cisco Systems-SORBO-GW-UserAgent” por “-” en la línea del o= de la encabezado SDP
Reglas:
voice class sip-profiles 100 request INVITE sdp-header Session-Owner modify "CiscoSystems-SIP-GW-UserAgent“ "-"
Ejemplo 10
Mensaje: INVITE
Acción: Convierta el “URL del sorbo” al “URL teléfono” en Req-URI, y a las encabezados e.g de “sip:2222000020@9.13.24.6:5060” a “tel:2222000020”
Reglas:
voice class sip-profiles 100 request INVITE sip-header SIP-Req-URI modify "sip:(.*)@[^ ]+" "tel:\1" request INVITE sip-header From modify "<sip:(.*)@.*>" "<tel:\1>" request INVITE sip-header To modify "<sip:(.*)@.*>" "<tel:\1>"
Esta sección proporciona un ejemplo de la configuración total para un router del CUBO configurado con los perfiles del SORBO.
CUBO |
---|
CUBE#show run Building configuration... Current configuration : 5888 bytes ! ! Last configuration change at 13:16:50 CDT Mon Feb 11 2008 ! NVRAM config last updated at 13:24:35 CDT Mon Feb 11 2008 ! version 12.4 service timestamps debug datetime msec localtime service timestamps log datetime msec localtime service password-encryption ! hostname CUBE ! boot-start-marker boot system flash:c2800nm-ipvoice_ivs-mz.124-18.2.2.PIA1p.bin boot-end-marker ! logging message-counter syslog logging buffered 2000000 no logging console no logging monitor enable lab 0 ! no aaa new-model memory-size iomem 10 clock timezone CDT -6 clock summer-time CDT recurring no network-clock-participate slot 1 ! voice-card 0 no dspfarm ! ip cef ! voice service voip media flow-around allow-connections sip to sip sip sip-profiles 100 ! voice class sip-profiles 100 request INVITE sip-header SIP-Req-URI modify "; SIP/2.0" ";user=phone SIP/2.0" request REINVITE sip-header SIP-Req-URI modify "; SIP/2.0" ";user=phone SIP/2.0" ! interface GigabitEthernet0/0 ip address x.x.x.x 255.255.255.0 duplex full speed 100 ! ip http server ! control-plane ! dial-peer voice 100 voip destination-pattern .T session protocol sipv2 session target ipv4:x.x.x.x dtmf-relay rtp-nte codec g711ulaw no vad ! sip-ua ! line con 0 line aux 0 line vty 0 4 exec-timeout 90 0 ! scheduler allocate 20000 1000 end |
La longitud del encabezado (que incluye el nombre de la encabezado) no debe exceder 300 caracteres después de la modificación con los perfiles del SORBO. La longitud del encabezado máxima para un valor del agregar es aproximadamente 220 caracteres. La longitud del encabezado del máximo SDP es 2048 caracteres. Si cualquier longitud del encabezado excede el valor máximo después de que una regla sea aplicada, esa regla será ignorada, y los cambios no son aplicados. Si la longitud total SDP excede 2048 caracteres después de las modificaciones, todos los cambios al SDP se ignoran y no se aplican.
La característica de los perfiles del SORBO no se puede utilizar para caer un mensaje entero del SORBO; puede ser utilizada solamente para manipular (agregue, modifiqúese, o quite) el contenido en el mensaje
Las variables de la expresión normal se pueden utilizar para extraer y para salvar los parámetros de una encabezado existente, pero los valores salvados en las variables en una regla se pueden utilizar SOLAMENTE en el reemplace-modelo de la misma regla; no puede ser utilizada por ninguna otra reglas, que significa que usted no puede insertar los valores extraídos por una regla en otra regla.
El contenido especificado entre paréntesis abiertos (() y paréntesis cerrados ()) en un coincidencia-modelo se salva en las variables denotadas por 1, 2,3,… 9 en la orden que están encontrados. Los valores almacenados de estas variables se pueden entonces insertar otra vez en el reemplace-modelo refiriéndose a las variables con \1, \2,… \9 respectivamente.
Por ejemplo, si queremos cambiar:
Remote-Party-ID: “CUBE” <sip:2001@123.123.123.123>;privacy=off;screen=no to P-Asserted-Identity: “CUBE” <sip:2001@123.123.123.123>
Esto se puede alcanzar por la regla siguiente del perfil del SORBO:
request INVITE sip-header Remote-Party-ID modify "Remote-Party-ID:(.*>).*" "P-Asserted-Identity:\1"
En este ejemplo, la secuencia (. el *>) hace juego el “CUBO” <sip:2001@123.123.123.123>. Este valor se salva en la variable 1, que se refiere al reemplace-modelo con \1.
Esta sección proporciona las opciones CLI de los mensajes del SORBO que se pueden personalizar con la característica de los perfiles del SORBO del CUBO.
Se soportan estas peticiones del SORBO:
router(config-class)#request ? ACK sip ack ANY any sip request BYE sip bye CANCEL sip cancel COMET sip comet INFO sip info INVITE sip invite NOTIFY sip notify OPTIONS sip options PRACK sip prack PUBLISH sip publish REFER sip refer REGISTER sip register REINVITE sip reinvite SUBSCRIBE sip subscribe UPDATE sip info
Se soportan estas respuestas del SORBO:
router(config-class)#response ? 100 Response code 100 180 Response code 180 181 Response code 181 182 Response code 182 183 Response code 183 200 Response code 200 202 Response code 202 300 Response code 300 301 Response code 301 302 Response code 302 305 Response code 305 380 Response code 380 400 Response code 400 401 Response code 401 402 Response code 402 403 Response code 403 404 Response code 404 405 Response code 405 406 Response code 406 407 Response code 407 408 Response code 408 409 Response code 409 410 Response code 410 412 Response code 412 413 Response code 413 414 Response code 414 415 Response code 415 416 Response code 416 417 Response code 417 420 Response code 420 421 Response code 421 422 Response code 422 423 Response code 423 480 Response code 480 481 Response code 481 482 Response code 482 483 Response code 483 484 Response code 484 485 Response code 485 486 Response code 486 487 Response code 487 488 Response code 488 489 Response code 489 491 Response code 491 493 Response code 493 500 Response code 500 501 Response code 501 502 Response code 502 503 Response code 503 504 Response code 504 505 Response code 505 513 Response code 513 580 Response code 580 600 Response code 600 603 Response code 603 604 Response code 604 606 Response code 606 ANY Any Response
Se soportan estas encabezados del SORBO:
rtr(config-class)#request INVITE sip-header ? Accept-Contact Accept-Encoding Accept-Header Accept-Language Accept-Resource-Priority Alert-Info Allow-Events Allow-Header Also Authorization CC-Diversion CC-Redirect CSeq Call-ID Call-Info Cisco-Gcid Cisco-Guid Contact Content-Disposition Content-Encoding Content-Id Content-Length Content-Type Date Diversion Event Expires From History-Info Location MIME-Version Max-Forwards Min-Expires Min-SE Orig-dial-plan P-Asserted-Identity P-Preferred-Identity Privacy Proxy-Authenticate Proxy-Authorization Proxy-Require Rack Reason Record-Route Refer-To Referred-By Reject-Contact Remote-Party-ID Replaces Request-Disposition Requested-By Require Resource-Priority Retry-After Route Rseq SIP-ETag SIP-If-Match SIP-Req-URI Server Session-Expires Session-Header Subscription-State Supported Term-dial-plan Timestamp To Unsupported User-Agent Via WWW-Authenticate Warning
Se soportan estas encabezados SDP:
rtr(config-class)#response 200 sdp-header ? Attribute a= Audio-Attribute a= Audio-Bandwidth-Info b= Audio-Connection-Info c= Audio-Encryption-Key k= Audio-Media m=audio Audio-Session-Info i= Bandwidth-Key b= Connection-Info c= Email-Address e= Encrypt-Key k= Phone-Number p= Repeat-Times r= Session-Info i= Session-Name s= Session-Owner o= Time-Adjust-Key z= Time-Header t= Url-Descriptor u= Version v= Video-Attribute a= Video-Bandwidth-Info b= Video-Connection-Info c= Video-Encryption-Key k= Video-Media m=video Video-Session-Info i=
Los mensajes INVITE (Invitar) con (y fuera) un SORBO perfilan la configuración aplicada se muestran en esta sección. Utilice este método para verificar que las reglas del perfil del SORBO en la configuración afectan a los cambios correctos y deseados en los mensajes del SORBO.
Este ejemplo muestra una configuración de muestra:
voice class sip-profiles 1 request INVITE sdp-header Audio-Bandwidth-Info add "b=AS:1600“ request ANY sip-header Cisco-Guid remove request INVITE sdp-header Session-Owner modify "CiscoSystems-SIP-GW-UserAgent" "-“
Este ejemplo muestra un mensaje INVITE (Invitar) del SORBO de la muestra sin la configuración de los perfiles del SORBO aplicada (los campos salientes se resaltan en intrépido):
INVITE sip:2222000020@9.13.40.250:5060 SIP/2.0 Via: SIP/2.0/UDP 9.13.40.249:5060;branch=z9hG4bK1A203F From: "sipp " <sip:1111000010@9.13.40.249>;tag=F11AE0-1D8D To: <sip:2222000020@9.13.40.250> Date: Mon, 29 Oct 2007 19:02:04 GMT Call-ID: 4561B116-858811DC-804DEF2E-4CF2D71B@9.13.40.249 Cisco-Guid: 1163870326-2240287196-2152197934-1290983195 Content-Length: 290 v=0 o=CiscoSystemsSIP-GW-UserAgent 6906 8069 IN IP4 9.13.40.249 s=SIP Call c=IN IP4 9.13.40.249 t=0 0 m=audio 17070 RTP/AVP 0 c=IN IP4 9.13.40.249 a=rtpmap:0 PCMU/8000 a=ptime:20
Este ejemplo muestra el mismo mensaje INVITE (Invitar) del SORBO de la muestra con la configuración de los perfiles del SORBO aplicada (los campos cambiados se resaltan en intrépido):
INVITE sip:2222000020@9.13.40.250:5060 SIP/2.0 Via: SIP/2.0/UDP 9.13.40.249:5060;branch=z9hG4bK1A203F From: "sipp " <sip:1111000010@9.13.40.249>;tag=F11AE0-1D8D To: <sip:2222000020@9.13.40.250> Date: Mon, 29 Oct 2007 19:02:04 GMT Call-ID: 4561B116-858811DC-804DEF2E-4CF2D71B@9.13.40.249 Content-Length: 279 v=0 o=- 6906 8069 IN IP4 9.13.40.249 s=SIP Call c=IN IP4 9.13.40.249 t=0 0 m=audio 17070 RTP/AVP 0 c=IN IP4 9.13.40.249 a=rtpmap:0 PCMU/8000 a=ptime:20 b=AS:1600
el ccsip todo del debug es comando de Troubleshooting útil para los perfiles del SORBO.
En este ejemplo, de los “las demostraciones perfiles del SORBO de la clase de la Voz” del texto que SORBEN perfil son aplicadas. Aquí está una muestra de la salida de comando:
router#debug ccsip all … Oct 12 06:51:53.619: //-1/735085DC8F3D/SIP/Info/sipSPIGetShrlPeer: Try match incoming dialpeer for Calling number: : sippOct 12 06:51:53.619: //-1/735085DC8F3D/SIP/Info/sipSPIGetCallConfig: Peer tag 2 matched for incoming call Oct 12 06:51:53.619: //-1/xxxxxxxxxxxx/SIP/Info/sipSPIGetCallConfig: voice class SIP Profiles tag is set : 1 Oct 12 06:51:53.619: //-1/735085DC8F3D/SIP/Info/sipSPIGetCallConfig: Not using Voice Class Codec Oct 12 06:51:53.619: //-1/735085DC8F3D/SIP/Info/sipSPIGetCallConfig: xcoder high-density disabled Oct 12 06:51:53.619: //-1/735085DC8F3D/SIP/Info/sipSPIGetCallConfig: Flow Mode set to FLOW_THROUGH …
En este ejemplo, el texto “sip_profiles” resalta las modificaciones realizadas por la configuración de los perfiles del SORBO. Aquí está una muestra de la salida de comando:
router#debug ccsip all … Oct 12 06:51:53.647: //-1/xxxxxxxxxxxx/SIP/Info/ sip_profiles_application_change_sdp_line: New SDP header is added : b=AS: 1600 Oct 12 06:51:53.647: //-1/xxxxxxxxxxxx/SIP/Info/ sip_profiles_update_content_length: Content length header before modification : Content-Length: 290 Oct 12 06:51:53.647: //-1/xxxxxxxxxxxx/SIP/Info/ sip_profiles_update_content_length: Content length header after modification : Content-Length: 279 …