Introdução
Este original descreve como usar o script da normalização do Session Initiation Protocol (SIP) no Cisco Call Manager (CCM) com poucos exemplos básicos.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Versão 8.x e mais recente do gerente das comunicações unificadas de Cisco (CUCM)
- Protocolo do SORVO
- Passando pelo processo de script o conhecimento
A informação neste documento é baseada na Versão de CCM 11.5.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se sua rede está viva, assegure-se de que você compreenda o impacto potencial do comando any.
Configurar
Aplique o script no tronco em CUCM
Em caso do tronco do SORVO, o script precisa de ser aplicado diretamente no tronco do SORVO. O uso do script no perfil do SORVO em vez do tronco não trabalhará.
Estão aqui as etapas que você precisa de seguir:
- Navegue ao dispositivo > ao dispositivo que ajustam-se > configuração do script da normalização do SORVO e adicionar um script novo segundo as indicações da imagem.

2. Navegue ao dispositivo > ao tronco.
Selecione o tronco em que você quer aplicar o script e na página de configuração dela, selecionam o script criado mais cedo. Selecione a opção do traço da possibilidade e imprimirá as mudanças feitas pelo script nos logs do Signal Distribution Layer (SDL) segundo as indicações da imagem. Salvar a configuração, aplique a configuração seguida pela restauração do tronco para que as mudanças tomem o efeito.

Aplique o script no telefone do SORVO
Em caso dos telefones do SORVO, você tem que usar o script no perfil do SORVO dos telefones.
Estão aqui as etapas que você precisa de seguir.
- Navegue ao dispositivo > ao dispositivo que ajustam-se > script da normalização do SORVO e adicionar o script novo.
- Navegue ao dispositivo > ao dispositivo que ajustam-se > perfil do SORVO. Selecione o perfil do SORVO em que você quer aplicar o script ou cria um novo copiando o perfil padrão do SORVO.
- Na página de configuração do perfil do SORVO, selecione o script seguido pela configuração Apply e restaure o perfil.
- Navegue ao dispositivo > ao telefone. Selecione o telefone em que você quer aplicar o script e muda o perfil do SORVO dele com esse criou um seguido salvar o, aplica a configuração e restaura o telefone a fim tomar mudanças.
Desenvolva o script para cenários comuns
A fonte principal para etapas detalhadas em como desenvolver o script da normalização do SORVO está aqui: Guia do colaborador para a transparência e a normalização do SORVO.
Este guia contém as funções diferentes que estão disponíveis para fazer a manipulação em mensagens do SORVO e índice do protocolo session description (SDP) e outros API avançados.
Está aqui pouco script do exemplo básico:
Altere o encabeçamento
Aqui você substitui o anônimo do encabeçamento de mensagem que parte do SORVO INVITE/REINVITE.
M = {}
function M.outbound_INVITE(msg)
-- Replacing the Anonymous from From Header
local from = msg:getHeader("From")
local newfrom = string.gsub(from, "anonymous" ,"1111")
msg:modifyHeader("From", newfrom)
end
return M
Código |
Explicação |
M= {} |
Iniciação do conteúdo de mensagem. M obtém todo o índice da mensagem do SORVO aqui |
função M.outbound_INVITE(msg) |
Função de Lua que é aplicada a M (mensagem do SORVO) na mensagem da direção externa INVITE/REINVITE. O sentido é decidido sempre em termos de CUCM, se é entrante ou que parte a ele. O tipo de mensagem pode ser de tipos diferentes como CONVIDA, 183, 200. Para mais detalhes, refira a seção de visão geral do guia dos colaboradores para a normalização do SORVO. |
local de = msg: getHeader (“de”) |
Armazena o índice da mensagem no formulário da variável local |
getHeader |
Uma das funções disponíveis para a normalização no CCM a fim obter o índice de um encabeçamento na variável |
string.gsub |
Uma função de Lua a fim substituir um índice particular da corda |
modifyHeader |
Além disso, uma função disponível no CCM a fim alterar o índice do encabeçamento |
Remova o encabeçamento
Aqui, você remove o encabeçamento do Cisco-guia da mensagem entrante do SORVO INVITE/REINVITE:
M = {}
function M.inbound_INVITE(msg)
msg:removeHeader("Cisco-Guid")
end
return M
Adicionar o encabeçamento
Aqui, você adiciona a INFORMAÇÃO no índice do encabeçamento Allow.
Isto é adicionado no índice original Allow após uma vírgula.
M = {}
function M.outbound_INVITE(msg)
msg:addHeader("Allow", "INFO")
end
return M
Manipule o índice SDP
Há API disponíveis a fim alterar o índice SDP de uma mensagem do SORVO. A fim alterar o SDP, deve obter o corpo do índice SDP do objeto da mensagem do SORVO de Lua com o getSdp() API fornecido pelo objeto da mensagem do SORVO. O script pode então usar a biblioteca da corda que inclui os API de Cisco a fim manipular o SDP. Na alteração, o SDP é escrito de volta ao objeto da mensagem do SORVO com o setSdp(sdp) API fornecido pelo objeto da mensagem do SORVO. Consulte as mensagens API do SORVO para mais informaçőes sobre estes API.
local sdp = msg:getSdp()
-- modification of the SDP happens at this point
-- Update the SDP associated with the SIP message
msg: etSdp(sdp)
Note: O código muda a linha do a= para que o codec de G.722 seja G722 sem o ponto.
M = {}
function M.inbound_INVITE(msg)
local sdp = msg:getSdp()
if sdp
then
local g722_line = sdp:getLine("a=","G.722")
if g722_line
then
--Replace G.722 with G722. The dot is special and must be escaped using % when using gsub.
g722_line = g722_line:gsub("G%.722", "G722")
sdp = sdp:modifyLine("a=", "G.722", g722_line)
msg:setSdp(sdp)
end
end
end
return M
Verificar
Use esta seção para confirmar se a sua configuração funciona corretamente.
Permita a opção do traço quando você aplica o script a fim verificar se o script trabalha ou não dos logs SDL.
Troubleshooting
Esta seção fornece informações que você pode usar na solução de problemas de sua configuração.
Estão aqui algumas verificações se o script não trabalha como esperado:
- Se o script não obtém executado por si só (procure antes da normalização/após a normalização nos logs SDL) então muito provavelmente, não esteve aplicada corretamente no dispositivo ou em algum erro de sintaxe.
- Verifique as funções das normalizações CUCM do guia dos colaboradores e para Lua, usam todo o compilador disponível a fim verificá-lo.
- Se o script faz obtém executado mas não faz nenhuma mudanças, a seguir verifica-as para ver se há o sentido, o tipo de mensagem e a lógica usada no script.
Informações Relacionadas