AMF Logging

Feature Summary and Revision History

Summary Data

Table 1. Summary Data

Applicable Product(s) or Functional Area

AMF

Applicable Platform(s)

SMI

Feature Default Setting

Enabled - Always-on

Related Documentation

Not Applicable

Revision History

Table 2. Revision History

Revision Details

Release

First introduced.

2021.04.0

Feature Description

AMF utilizes the common logging framework to generate logs from its microservices.

The supported log levels are:

  • Error

  • Warn

  • Info

  • Debug

  • Trace


Note


Warn level logging takes place during production.


Error

These errors are fatal errors, which can impact service for multiple subscribers.

Examples of the error messages:

  • Node discovery of SBA fails after query from NRF and local configuration

  • Mandatory IE missing in an NGAP message

  • Memory cache startup errors

  • Endpoint not found

Sample log:

[ERROR] [ApplicationContext.go:1820] [infra.dpd.core] Ping Unsuccessful for client Id 4 Name: amf-protocol-ep0 Setname: amf-protocol-ep Host: amf-protocol-ep Port: 9003 Url:  for [246]

Warn

These errors impact few specific call-flows majorly, but not blockers of functionality.

Example of the warning messages:

  • Node discovery of SBA fails but we have more options to retry.

  • Mandatory IE missing in a NAS message

  • RPC timeout

  • Procedural timeout

  • Validation failure (not critical)

    Example: Registration rejected as Registration request message received registration type as the Reserved registration type.

  • External entity sending unexpected or negative response

    Example: Handover Cancel, Hand over Failure, or Initial Context Setup Failure

  • Unexpected value of objects maintained by AMF

    Example: NIL value of transaction

  • Unable to fetch a subscriber

Sample log:

[WARN] [amf-service.amf-app.messageprocessor] No procedure defined for message type 763

Info

This log level purpose is to know information for cause.

Examples of the information messages:

  • Procedural outcome Example: Disabling of ICSR for Registration

  • Collision abort, cleanup, suspend, or continue.

Sample log:

[INFO] [amf-service.amf-app.auth] Sending N12 Authentication Request to Rest EP

Debug

This log level purpose is to get debug messages.

Example of the debug messages:

  • All external exchanged messages

  • Sending Registration accept to UE

  • State machine changes

  • Collision detailed logging

Sample log:

[DEBUG] [process.go:1606] [amf-service.amf-app.reg] [supi:123456789012345] [supi:123456789012345] [1] Preparing registration accept to UE 123456789012345

Trace

This log level purpose is to get content of all external tracing messages.

Example of the trace messages:

  • Registration request message

  • N1N2 transfer message

Sample log:

[TRACE] [process.go:1627] [amf-service.amf-app.reg] [supi:123456789012345] [supi:123456789012345] 
[496] Sending RegistrationAccept:&MsgNas {N1MsgType:154,N2MsgType:0,N1Msg:&MsgNas_MsgRegistrationAccept
{MsgRegistrationAccept:&ngn_nas.PBRegistrationAccept{ExtendedProtocolDiscriminator:126,SecurityHeaderType:
&SecurityHeaderType{HeaderType:PLAIN_5G_NAS,},MessageIdentity:&MessageType{MessageType:REGISTRATION_ACCEPT,}
,VgsRegistrationResult:&VgsRegistrationResult{EmergencyRegistered:false,NssaaPerformed:false,SmsAllowed:false,
VgsRegistrationResultValue:TGPP_ACCESS,}

How it Works

This section describes how this feature works.

Log Tags

Use log tags to tag the logs for specific procedures which are part of a flow or an event. Enabling of AMF logging takes place at different log levels for different log tags.

Name

Purpose

Example Log tags

AMF service

To capture procedures.

  • LogTagReg

  • LogTagPDU, and so on

Protocol Endpoint

To capture on the interface.

  • LogTagNas

  • LogTagNgap

  • LogTagNonUE

Rest Endpoint

To capture on the interface.

  • LogTagN11

  • LogTagN14

  • LogTagNRF

  • LogTagN11OrN14 (N1NMsgTransfer can come from N14/N11 interfaces) and so on