Interface Sh (Recuperação de Dados do Assinante)
📖 Voltar à Documentação Principal
A interface Sh fornece acesso aos dados do perfil do assinante do HSS/Repository via Diameter.
Documentação Relacionada
Documentação Principal
- 📋 README Principal - Visão geral e início rápido
- 🔧 Guia de Configuração - Configuração de pares Diameter
- 🔧 Guia de Operações - Teste da interface Sh no Painel de Controle
Integração de Processamento de Chamadas
- 🔀 Configuração do Plano de Discagem - Usando dados Sh em variáveis de plano de discagem
- ⚙️ Serviços Suplementares - MMTel-Config para encaminhamento de chamadas
- 📡 SS7 MAP - Dados do HLR vs prioridade dos dados Sh
Interfaces Relacionadas
- 💳 Cobrança Online - Interface Ro (também usa Diameter)
- 🔢 Tradução de Números - Normalização de números antes da consulta Sh
Monitoramento
- 📊 Referência de Métricas - Métricas e monitoramento da interface Sh
Interface Sh (Recuperação de Dados do Assinante)
A interface Sh é usada para recuperar dados do perfil do assinante do HSS/Repository antes de processar chamadas. Esses dados incluem identidades de assinantes, serviços e configuração MMTel.
O que é a Interface Sh?
A interface Sh é uma interface Diameter padronizada pela 3GPP entre o TAS e o HSS/Repository (Repo). Ela fornece acesso em tempo real a:
- Identidades de assinantes IMS (IMPI/IMPU)
- Configurações de encaminhamento de chamadas (MMTel-Config)
- Autorização de serviços do assinante
- Atribuição de S-CSCF
Quando Ocorrerem Consultas Sh
Consultas Sh Acontecem Em:
- Chamadas MT: Consulta a parte chamada (assinante de destino)
- Chamadas MO: Consulta a parte chamadora (assinante de origem)
- Chamadas de Emergência: Consulta a parte chamadora (para localização/identidade)
Dados Recuperados da Interface Sh
O TAS consulta por Sh-User-Data, que retorna um documento XML contendo:
1. Identidades IMS:
- IMPI (Identidade Privada):
username@domain- usado para autenticação- Formato:
{IMSI}@ims.mnc{MNC}.mcc{MCC}.3gppnetwork.org - Exemplo:
505014001234567@ims.mnc001.mcc505.3gppnetwork.org
- Formato:
- IMPU (Identidade Pública):
sip:+number@domain- usado para roteamento- Formato:
sip:+{MSISDN}@ims.mnc{MNC}.mcc{MCC}.3gppnetwork.org - Exemplo:
sip:+61403123456@ims.mnc001.mcc505.3gppnetwork.org
- Formato:
2. Atribuição de S-CSCF:
- Nome do servidor S-CSCF e domínio onde o assinante está registrado
- Usado para roteamento de chamadas on-net de volta ao núcleo IMS
3. Serviços MMTel (Configuração de Telefonia Multimídia):
- Encaminhamento de Chamadas Todas (CFA): Encaminhamento incondicional para outro número
- Encaminhamento de Chamadas Ocupado (CFB): Encaminhar quando o assinante estiver ocupado
- Encaminhamento de Chamadas Sem Resposta (CFNRy): Encaminhar após tempo limite (inclui valor do temporizador)
- Encaminhamento de Chamadas Não Acessível (CFNRc): Encaminhar quando o assinante estiver offline/desregistrado
O que é MMTel-Config?
MMTel-Config é a configuração do serviço de Telefonia Multimídia do assinante armazenada no HSS/Repository. Ela contém:
<MMTelSS>
<CDIV>
<SS-ActivationState>active</SS-ActivationState>
<Ruleset>
<Rule>
<RuleCondition>communication-diverted</RuleCondition>
<ForwardTo>+61403555123</ForwardTo>
<NotificationType>notify</NotificationType>
</Rule>
</Ruleset>
</CDIV>
</MMTelSS>
Serviços MMTel Comuns:
- CDIV (Desvio de Comunicação): Regras de encaminhamento de chamadas
- OIP (Apresentação de Identidade de Origem): Regras de apresentação de ID do chamador
- TIP (Apresentação de Identidade de Destino): Regras de número da parte chamada
Variáveis do Plano de Discagem Definidas a Partir de Dados Sh
Após uma consulta Sh bem-sucedida, essas variáveis são preenchidas:
| Variável | Fonte | Valor de Exemplo | Descrição |
|---|---|---|---|
ims_private_identity | IMPI | 505014001234567@ims.domain | Identidade de usuário privada para autenticação |
ims_public_identity | IMPU | sip:+61403123456@ims.domain | Identidade de usuário pública para roteamento |
msisdn | IMPU (analisado) | 61403123456 | Número do assinante (+ removido) |
imsi | IMPI (analisado) | 505014001234567 | IMSI da identidade privada |
ims_domain | IMPI/IMPU | ims.mnc001.mcc505.3gppnetwork.org | Domínio IMS |
scscf_address | Nome S-CSCF | scscf01.ims.domain ou "none" | Endereço do servidor S-CSCF |
scscf_domain | Domínio S-CSCF | ims.domain ou "none" | Domínio S-CSCF |
call_forward_all_destination | MMTel CDIV | 61403555123 ou "none" | Número de destino CFA |
call_forward_not_reachable_destination | MMTel CDIV | 2222 ou padrão de configuração | Destino CFNRc (caixa de correio) |
no_reply_timer | MMTel CDIV | 30 ou padrão de configuração | Tempo limite antes da ativação do CFNRy |
Prioridade: Dados Sh vs Padrões de Configuração
O TAS usa esta prioridade para dados de encaminhamento de chamadas:
- MMTel-Config do Sh (prioridade mais alta - configurações específicas do assinante)
- Dados do HLR do SS7 MAP (substitui Sh para chamadas MT se roaming/encaminhamento ativo)
- Padrões de Configuração (prioridade mais baixa - usados quando não há dados Sh disponíveis)
Exemplo:
# Padrões de configuração (usados apenas se Sh não retornar MMTel-Config)
config :tas,
call_forward_not_reachable_destination: "2222", # Caixa de correio
default_no_reply_timer: 30
O que Acontece Quando a Consulta Sh Falha
Cenários de Falha:
-
Assinante Não Provisionado no HSS:
- Sh retorna erro "Usuário Desconhecido"
- Variável
hangup_casedefinida como"UNALLOCATED_NUMBER" - Chamada rejeitada com resposta SIP apropriada
-
HSS Inacessível / Timeout:
- Solicitação Sh expira (padrão: 5000ms)
- Erro registrado e métrica gravada
- Chamada pode ser rejeitada ou roteada com padrões (específico da implantação)
-
Sem MMTel-Config na Resposta:
- Assinante existe, mas não tem encaminhamento de chamadas configurado
- Padrões de configuração são usados para
call_forward_not_reachable_destinationeno_reply_timer - Chamada prossegue normalmente com valores padrão
Monitoramento da Interface Sh
Métricas Chave:
# Taxa de sucesso da consulta Sh
rate(subscriber_data_lookups_total{result="success"}[5m]) /
rate(subscriber_data_lookups_total[5m]) * 100
# Latência da consulta Sh (P95)
histogram_quantile(0.95,
rate(subscriber_data_duration_milliseconds_bucket[5m]))
# Taxa de erro da consulta Sh
rate(subscriber_data_lookups_total{result="error"}[5m])
Limiares de Alerta:
- Latência P95 > 100ms: Respostas lentas do HSS
- Taxa de erro > 5%: Problemas de conectividade com o HSS
- Taxa de erro > 20%: Falha crítica do HSS
Solução de Problemas:
- Verifique o status do par Diameter na interface Web (
/diameter) - Teste a consulta Sh na interface Web (
/sh_test) com assinante conhecido - Revise os logs para erros de "Dados do Assinante"
- Verifique se o HSS/Repository é acessível a partir do TAS
- Verifique a métrica
subscriber_data_lookups_totalem busca de padrões
Testando a Interface Sh
Use a ferramenta de Teste Sh da interface Web (/sh_test):
- Navegue até
/sh_testno Painel de Controle - Insira o MSISDN do assinante (por exemplo,
+61403123456) - Clique em "Consultar Sh"
- Revise os dados retornados:
- Identidades IMPI/IMPU
- Atribuição de S-CSCF
- Serviços MMTel
- Configuração de encaminhamento de chamadas
Cenários de Teste Comuns:
- Verifique se assinantes recém-provisionados estão no HSS
- Verifique as configurações de encaminhamento de chamadas para um assinante específico
- Valide a atribuição de S-CSCF após registro IMS
- Teste a conectividade e os tempos de resposta do HSS