1 /* ====================================================================
2 * The Kannel Software License, Version 1.0
4 * Copyright (c) 2001-2018 Kannel Group
5 * Copyright (c) 1998-2001 WapIT Ltd.
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in
17 * the documentation and/or other materials provided with the
20 * 3. The end-user documentation included with the redistribution,
21 * if any, must include the following acknowledgment:
22 * "This product includes software developed by the
23 * Kannel Group (http://www.kannel.org/)."
24 * Alternately, this acknowledgment may appear in the software itself,
25 * if and wherever such third-party acknowledgments normally appear.
27 * 4. The names "Kannel" and "Kannel Group" must not be used to
28 * endorse or promote products derived from this software without
29 * prior written permission. For written permission, please
30 * contact org@kannel.org.
32 * 5. Products derived from this software may not be called "Kannel",
33 * nor may "Kannel" appear in their name, without prior written
34 * permission of the Kannel Group.
36 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39 * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
40 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
41 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
42 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
43 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
44 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
45 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
46 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
47 * ====================================================================
49 * This software consists of voluntary contributions made by many
50 * individuals on behalf of the Kannel Group. For more information on
51 * the Kannel Group, please see <http://www.kannel.org/>.
53 * Portions of this software are based upon software originally written at
54 * WapIT Ltd., Helsinki, Finland for the Kannel project.
58 * radius_pdu.def - definitions of RADIUS Accounting PDU structure
60 * We implement a RADIUS accounting proxy to overcome the gap in the WAP
61 * stack that no MSISDN numbers are transported. Basically this is needed
62 * to map client IPs of the remote WAP/MMS clients to their MSISDN for various
63 * purposes. Ie. for WAP application a special HTTP header is added to identify
64 * the WAP client via it's MSISDN and to allow personalization of mobile content.
65 * For Kannel's MMSC we need mapping of client IP to MSISDN numbers to replace
66 * MMS "From:" header to the originator MSISDN.
69 * RFC2865 "Remote Authentication Dial In User Service (RADIUS)"
70 * RFC2866 "RADIUS Accounting"
72 * Stipe Tolj <stolj@wapme.de>
76 #error Macro PDU not defined.
80 #error Macro INTEGER not defined.
84 #error Macro OCTETS not defined.
89 * All RADIUS PDUs have a common header consisting of 20 octets:
91 * Code: 1 octet (identifies PDU type)
92 * Identifier: 1 octet (sort of sequence number)
93 * Length: 2 octets (full length of the PDU)
94 * Authenticator: 16 octets containing the MD5 hash
96 * (see RFC2866, page 5)
99 #error Macro HEADER was already defined.
103 INTEGER(identifier, 1) \
105 OCTETS(authenticator, 16)
108 * Note: Remember that we only add attibutes that interest us for our RADIUS
109 * accounting proxy. If you need more, then add them to the corresponding PDUs.
112 PDU(Accounting_Request,
117 PDU(Accounting_Response,