Introduction
Ce document décrit une explication générale pour la cause 5GSM REQUEST_REJECTED_UNSPECIFIED(31), auquel cas Cisco 5G SMF(Session Management Function) utilise le code de cause et comment résoudre les problèmes.
Élément d'information de cause 5GSM
La fonction principale de la sous-couche 5GSM(5GS session management) est de prendre en charge la gestion des sessions PDU dans l'UE et dans le SMF (transféré via l'AMF). Les procédures d'échantillonnage du 5GSM sont les suivantes :
- Établissement de la session PDU
- Modification de la session PDU
- Version de la session PDU
- Refus d'établissement de session PDU
- Refus de modification de session PDU
- Rejet de la libération de session PDU
- Demande de libération de session PDU
- Refus de la commande de modification de session PDU
L'objectif principal de l'élément d'information de cause 5GSM est d'indiquer la raison pour laquelle une demande 5GSM est rejetée. Les valeurs sont définies dans la spécification 3GPP 24.501.
En outre, la ligne directrice générale pour chaque code de cause est décrite à l'annexe B (information) : Valeurs de cause pour la gestion de session 5GS » sur la spécification 3GPP mentionnée.
Quelle est la cause 5GSM REQUEST_REJECTED_UNSPECIFIED(31) ?
Voici un exemple de paquet avec REQUEST_REJECTED_UNSPECIFIED.
Selon la spécification, elle est définie comme suit :
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.
Ce code de cause est donc utilisé lorsqu'une situation inattendue ou non gérée se produit et que le code de cause défini n'est pas applicable.
Quand SMF utilise REQUEST_REJECTED_UNSPECIFIED ?
Comme décrit, SMF utilise REQUEST_REJECTED_UNSPECIFIED lorsqu'une situation inattendue ou non gérée se produit et que le code de cause défini n'est pas applicable. Cet exemple provient du journal des transactions. Il indique que l'établissement de la session PDU est rejeté avec REQUEST_REJECTED_UNSPECIFIED. Ce message indique lui-même un problème dans SMF et ne fournit aucune raison exacte pour laquelle la demande est rejetée.
[ERROR] [smf-service.smf-app.event-trace] nasEncodePduSessionEstbReject(Cause-REQUEST_REJECTED_UNSPECIFIED) - EVENT TRACE - SessionKeys[[imsi-<OMIT> (pk)]]
Pour plus d'informations sur le journal des transactions, notez qu'il existe une autre erreur :
[ERROR] [smf-service.smf-app.amf] AMF Assign Ebi Failure [BackgroundIpcTimedOut] Background ipc timedout
Ainsi, la demande Assign Ebi vers AMF est expirée, ce qui donne REQUEST_REJECTED_UNSPECIFIED. Maintenant, ce qui doit être examiné est la raison pour laquelle Assign Ebi demande est expiration.
Ce journal de transactions est un autre exemple. Dans ce cas, SMF ne reçoit pas ChargingDataCreateRes de CHF et obtient 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)]]
Les 2 exemples expliqués peuvent être considérés comme une utilisation correcte de REQUEST_REJECTED_UNSPECIFIED. Dans le même temps, il y aurait un cas où un autre code cause est plus approprié, mais SMF ne le gère pas bien et utilise à la place REQUEST_REJECTED_UNSPECIFIED. Ce journal de transactions est un autre exemple de REQUEST_REJECTED_UNSPECIFIED, mais l'erreur qui précède n'est pas concluante.
[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)]]
Lorsque vous examinez la demande d'établissement de session PDU, le type de session PDU est IPv4, mais le pool IPv4 n'est pas configuré sur 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
Dans ce scénario, « PDU session type IPv6 only allowed »(51) est mieux adapté, donc il est modifié pour utiliser PDU_SESSION_TYPE_IPV6_ONLY_ALLOWED via l'ID de bogue Cisco CSCvy44631 .
Conclusion
La cause 5GSM REQUEST_REJECTED_UNSPECIFIED elle-même ne fournit pas d'informations concluantes de rejet, une enquête plus approfondie est nécessaire pour comprendre quelles en sont les causes. S'il existe un code de cause plus approprié, il est préférable de corriger le logiciel pour le faire.