#
#  key:       An optional key for the message.
#
#  headers:   An optional specification for which attributes should
#             be set as Kafka headers, with their values encoded as strings.
#
#  message:   The message itself.
#
#  reference: Expanded to a configuration item reference that contains the
#             message.
#
#  To use the json_encode xlats in the schemas examples below, you must first
#  enable the json module, and may probably want to set
#  json.encode.output_mode = object_simple
#

authorize {

	key = "%{User-Name}"
	headers = "&Calling-Station-Id"
	message = "%{json_encode:&request:[*]}"

}

post-auth {

	key = "%{User-Name}"
	headers = "&reply:Framed-IP-Address"
	reference = "messages.%{%{reply:Packet-Type}:-default}"

	messages {
		Access-Accept = "%{json_encode:&User-Name &reply:[*]}"
		Access-Reject = "%{json_encode:&User-Name &reply:[*]}"
		Access-Challenge = ""

		default = "Unknown packet type %{Packet-Type}"
	}

}

accounting {

	key = "%{Acct-Unique-Session-Id}"
	headers = "&Acct-Status-Type &NAS-Identifier"

	reference = "messages.%{%{Acct-Status-Type}:-default}"

	messages {
		Start = "%{json_encode:&request:[*]}"
		Stop = "%{json_encode:&request:[*]}"
		Alive = "%{json_encode:&request:[*]}"

		Accounting-On = "%{json_encode:&request:[*]}"
		Accounting-Off = "%{json_encode:&request:[*]}"

		default = "Unknown Acct-Status-Type: %{Acct-Status-Type}"
	}

}
