;;
;; %CopyrightBegin%
;;
;; Transcribed from RFC 4004 by Harald Welte <laforge@gnumonks.org>
;;
;; Licensed under the Apache License, Version 2.0 (the "License");
;; you may not use this file except in compliance with the License.
;; You may obtain a copy of the License at
;;
;;     http://www.apache.org/licenses/LICENSE-2.0
;;
;; Unless required by applicable law or agreed to in writing, software
;; distributed under the License is distributed on an "AS IS" BASIS,
;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
;; See the License for the specific language governing permissions and
;; limitations under the License.
;;
;; %CopyrightEnd%
;;

;;
;; RFC 4004, Diameter Mobile IPv4 Application
;;

@id 1
@name	diameter_rfc4004

@inherits diameter_gen_base_rfc6733

;; ===========================================================================

@avp_types

	MIP-FA-to-HA-SPI		318	Unsigned32		M
	MIP-FA-to-MN-SPI		319	Unsigned32		M
	MIP-Reg-Request			320	OctetString		M
	MIP-Reg-Reply			321	OctetString		M
	MIP-MN-AAA-Auth			322	Grouped			M
	MIP-HA-to-FA-SPI		323	Unsigned32		M
	MIP-MN-to-FA-MSA		325	Grouped			M
	MIP-FA-to-MN-MSA		326	Grouped			M
	MIP-FA-to-HA-MSA		328	Grouped			M
	MIP-HA-to-FA-MSA		329	Grouped			M
	MIP-MN-to-HA-MSA		331	Grouped			M
	MIP-HA-to-MN-MSA		332	Grouped			M
	MIP-Mobile-Node-Address		333	Address			M
	MIP-Home-Agent-Address		334	Address			M
	MIP-Nonce			335	OctetString		M
	MIP-Candidate-Home-Agent-Host	336	DiameterIdentity	M
	MIP-Feature-Vector		337	Unsigned32		M
	MIP-Auth-Input-Data-Length	338	Unsigned32		M
	MIP-Authenticator-Length	339	Unsigned32		M
	MIP-Authenticator-Offset	340	Unsigned32		M
	MIP-MN-AAA-SPI			341	Unsigned32		M
	MIP-Filter-Rule			342	IPFilterRule		M
	MIP-Session-Key			343	OctetString		M
	MIP-FA-Challenge		344	OctetString		M
	MIP-Algorithm-Type		345	Enumerated		M
	MIP-Replay-Mode			346	Enumerated		M
	MIP-Originating-Foreign-AAA	347	Grouped			M
	MIP-Home-Agent-Host		348	Grouped			M
	MIP-MSA-Lifetime		367	Unsigned32		M


;; ===========================================================================

@messages

AMR ::= < Diameter Header: 260, REQ, PXY >
                                      < Session-Id >
                                      { Auth-Application-Id }
                                      { User-Name }
                                      { Destination-Realm }
                                      { Origin-Host }
                                      { Origin-Realm }
                                      { MIP-Reg-Request }
                                      { MIP-MN-AAA-Auth }
                                      [ Acct-Multi-Session-Id ]
                                      [ Destination-Host ]
                                      [ Origin-State-Id ]
                                      [ MIP-Mobile-Node-Address ]
                                      [ MIP-Home-Agent-Address ]
                                      [ MIP-Feature-Vector ]
                                      [ MIP-Originating-Foreign-AAA ]
                                      [ Authorization-Lifetime ]
                                      [ Auth-Session-State ]
                                      [ MIP-FA-Challenge ]
                                      [ MIP-Candidate-Home-Agent-Host ]
                                      [ MIP-Home-Agent-Host ]
                                      [ MIP-HA-to-FA-SPI ]
                                    * [ Proxy-Info ]
                                    * [ Route-Record ]
                                    * [ AVP ]

AMA ::= < Diameter Header: 260, PXY >
                                     < Session-Id >
                                     { Auth-Application-Id }
                                     { Result-Code }
                                     { Origin-Host }
                                     { Origin-Realm }
                                     [ Acct-Multi-Session-Id ]
                                     [ User-Name ]
                                     [ Authorization-Lifetime ]
                                     [ Auth-Session-State ]
                                     [ Error-Message ]
                                     [ Error-Reporting-Host ]
                                     [ Re-Auth-Request-Type ]
                                     [ MIP-Feature-Vector ]
                                     [ MIP-Reg-Reply ]
                                     [ MIP-MN-to-FA-MSA ]
                                     [ MIP-MN-to-HA-MSA ]
                                     [ MIP-FA-to-MN-MSA ]
                                     [ MIP-FA-to-HA-MSA ]
                                     [ MIP-HA-to-MN-MSA ]
                                     [ MIP-MSA-Lifetime ]
                                     [ MIP-Home-Agent-Address ]
                                     [ MIP-Mobile-Node-Address ]
                                   * [ MIP-Filter-Rule ]


HAR ::= < Diameter Header: 262, REQ, PXY >
                                      < Session-Id >
                                      { Auth-Application-Id }
                                      { Authorization-Lifetime }
                                      { Auth-Session-State }
                                      { MIP-Reg-Request }
                                      { Origin-Host }
                                      { Origin-Realm }
                                      { User-Name }
                                      { Destination-Realm }
                                      { MIP-Feature-Vector }
                                      [ Destination-Host ]
                                      [ MIP-MN-to-HA-MSA ]
                                      [ MIP-MN-to-FA-MSA ]
                                      [ MIP-HA-to-MN-MSA ]
                                      [ MIP-HA-to-FA-MSA ]
                                      [ MIP-MSA-Lifetime ]
                                      [ MIP-Originating-Foreign-AAA ]
                                      [ MIP-Mobile-Node-Address ]
                                      [ MIP-Home-Agent-Address ]
                                    * [ MIP-Filter-Rule ]
                                      [ Origin-State-Id ]

HAA ::= < Diameter Header: 262, PXY >
                                     < Session-Id >
                                     { Auth-Application-Id }
                                     { Result-Code }
                                     { Origin-Host }
                                     { Origin-Realm }
                                     [ Acct-Multi-Session-Id ]
                                     [ User-Name ]
                                     [ Error-Reporting-Host ]
                                     [ Error-Message ]
                                     [ MIP-Reg-Reply ]
                                     [ MIP-Home-Agent-Address ]
                                     [ MIP-Mobile-Node-Address ]
                                     [ MIP-FA-to-HA-SPI ]
                                     [ MIP-FA-to-MN-SPI ]
                                     [ Origin-State-Id ]
                                   * [ Proxy-Info ]
                                   * [ AVP ]


;; ===========================================================================

@grouped

MIP-MN-AAA-Auth ::= < AVP Header: 322 >
                             { MIP-MN-AAA-SPI }
                             { MIP-Auth-Input-Data-Length }
                             { MIP-Authenticator-Length }
                             { MIP-Authenticator-Offset }
                           * [ AVP ]

         MIP-MN-to-FA-MSA ::= < AVP Header: 325 >
                              ;;{ MIP-MN-FA-SPI }
                              { MIP-Algorithm-Type }
                              { MIP-Nonce }
                            * [ AVP ]

         MIP-FA-to-MN-MSA ::= < AVP Header: 326 >
                              { MIP-FA-to-MN-SPI }
                              { MIP-Algorithm-Type }
                              { MIP-Session-Key }
                            * [ AVP ]

         MIP-MN-to-HA-MSA ::= < AVP Header: 331 >
                              ;;{ MIP-MN-HA-SPI }
                              { MIP-Algorithm-Type }
                              { MIP-Replay-Mode }
                              { MIP-Nonce }
                            * [ AVP ]

         MIP-HA-to-MN-MSA ::= < AVP Header: 332 >
                              ;;{ MIP-HA-to-MN-SPI   }
                              { MIP-Algorithm-Type }
                              { MIP-Replay-Mode }
                              { MIP-Session-Key }
                            * [ AVP ]

         MIP-FA-to-HA-MSA ::= < AVP Header: 328 >
                              { MIP-FA-to-HA-SPI }
                              { MIP-Algorithm-Type }
                              { MIP-Session-Key }
                            * [ AVP ]

         MIP-HA-to-FA-MSA ::= < AVP Header: 329 >
                              { MIP-HA-to-FA-SPI   }
                              { MIP-Algorithm-Type }
                              { MIP-Session-Key }
                            * [ AVP ]

MIP-Originating-Foreign-AAA ::= < AVP Header: 347 >
                                { Origin-Realm }
                                { Origin-Host }
                              * [ AVP ]

        MIP-Home-Agent-Host ::= < AVP Header: 348 >
                                  { Destination-Realm }
                                  { Destination-Host }
                                * [ AVP ]
