Introduction
Este documento descreve uma explicação geral para a causa 5GSM REQUEST_REJECTED_UNSPECIED(31), em que o Cisco 5G SMF (Session Management Function) usa o código de causa e como solucionar problemas.
O que é o elemento de informação de causa 5GSM
A principal função da subcamada 5GSM (5GS session management) é suportar o tratamento de sessões de PDU na UE e no SMF (transferido via AMF). Os procedimentos de exemplo do 5GSM são:
- Estabelecimento de sessão de PDU
- Modificação de sessão de PDU
- Versão da sessão de PDU
- Rejeição de Estabelecimento de Sessão de PDU
- Rejeição de Modificação de Sessão de PDU
- Rejeição de Versão da Sessão PDU
- Solicitação de versão de sessão PDU
- Rejeição do Comando de Modificação de Sessão de PDU
O principal objetivo do elemento de informação da causa 5GSM é indicar o motivo pelo qual uma solicitação 5GSM é rejeitada. Os valores são definidos na especificação 3GPP 24.501.
Além disso, a orientação geral de utilização para cada código de causa é descrita no "Anexo B (informativo): Cause values for 5GS session management" (Valores de causa para o gerenciamento de sessão 5GS) na especificação 3GPP mencionada.
Qual é a causa 5GSM REQUEST_REJECTED_UNSPECIFIED(31)?
Um pacote de exemplo com REQUEST_REJECTED_UNSPECIFIED é este.
Conforme a especificação, ela é definida como:
Cause #31 – Request rejected, unspecified
This 5GSM cause is used by the network or by the UE to indicate that the requested service or operation or the request for a resource was rejected due to unspecified reasons.
Portanto, esse código de causa é usado quando ocorre alguma situação inesperada ou sem tratamento, e outro código de causa definido não é aplicável.
Quando o SMF usa REQUEST_REJECTED_UNSPECIFIED?
Conforme descrito, o SMF usa REQUEST_REJECTED_UNSPECIFIED quando ocorre alguma situação inesperada ou sem tratamento, e outro código de causa definido não é aplicável. Este exemplo é do log de transações, ele indica que o Estabelecimento da Sessão de PDU foi rejeitado com REQUEST_REJECTED_UNSPECIFIED. Essa mensagem indica que algo deu errado no SMF e não fornece nenhuma razão exata para a solicitação ser rejeitada.
[ERROR] [smf-service.smf-app.event-trace] nasEncodePduSessionEstbReject(Cause-REQUEST_REJECTED_UNSPECIFIED) - EVENT TRACE - SessionKeys[[imsi-<OMIT> (pk)]]
Observe que há outro erro no log de transações:
[ERROR] [smf-service.smf-app.amf] AMF Assign Ebi Failure [BackgroundIpcTimedOut] Background ipc timedout
Portanto, a solicitação Assign Ebi para AMF está com o tempo limite excedido, o que resulta em REQUEST_REJECTED_UNSPECIFIED. Agora, o que precisa ser investigado é a razão pela qual a solicitação de Atribuição de Ebi está com o tempo limite.
Este log de transação é outro exemplo, nesse caso o SMF não recebe ChargingDataCreateRes do CHF e resulta em REQUEST_REJECTED_UNSPECIFIED.
[ERROR] [rest_ep.app.n40] Received Charging Data Response error with timediff 1999995051 - response Post http://192.168.20.101:8086/nchf-convergedcharging/v2/chargingdata: net/http: request canceled
[ERROR] [smf-service.smf-app.event-trace] nasEncodePduSessionEstbReject(Cause-REQUEST_REJECTED_UNSPECIFIED) - EVENT TRACE - SessionKeys[[imsi-<OMIT> (pk)]]
Os 2 exemplos explicados podem ser considerados como um uso decente de REQUEST_REJECTED_UNSPECIED. Ao mesmo tempo, haverá um caso em que outro código de causa é mais apropriado, mas o SMF simplesmente não lida bem com ele e usa REQUEST_REJECTED_UNSPECIFIED em vez disso. Este log de transação é novamente outro exemplo de REQUEST_REJECTED_UNSPECIFIED, mas o erro anterior a este não é conclusivo.
[ERROR] [smf-service.smf-app.resource] Resource Manager Response Failure
[ERROR] [smf-service.smf-app.event-trace] nasEncodePduSessionEstbReject(Cause-REQUEST_REJECTED_UNSPECIFIED) - EVENT TRACE - SessionKeys[[imsi-<OMIT> (pk)]]
Ao examinar a solicitação de Estabelecimento de Sessão de PDU, o Tipo de Sessão de PDU é IPv4, mas o pool de IPv4 não está configurado em SMF.
FIVEG_PDU_SESSION_ESTABLISHMENT_REQUEST (0xC1)
'PDU_SESSION_TYPE': 'IPV4 (0x1)',
ipam
source local
address-pool pool1
vrf-name ISP
tags
dnn test
exit
ipv6
prefix-ranges
split-size
per-cache 8192
per-dp 8192
exit
prefix-range FE80:db0:: length 48
exit
exit
exit
exit
Para este cenário, "o tipo de sessão de PDU somente IPv6 permitido"(51) é mais adequado, portanto, ele é alterado para usar PDU_SESSION_TYPE_IPV6_ONLY_ALLOWED através do bug da Cisco ID CSCvy44631 .
Conclusão
A causa 5GSM REQUEST_REJECTED_UNSPECIFIED em si não fornece uma informação conclusiva sobre a rejeição. É necessário investigar mais detalhadamente o que a causa. Se houver um código de causa mais apropriado, é melhor corrigir o software para fazer isso.