Changeset 705:f0cb8f465763 in freeDiameter
- Timestamp:
- Jan 31, 2011, 5:22:21 PM (13 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/app_radgw/rgwx_acct.c
r703 r705 46 46 #define ACV_ART_STOP_RECORD 4 /* STOP_RECORD */ 47 47 #define ACV_ART_AUTHORIZE_AUTHENTICATE 3 /* AUTHORIZE_AUTHENTICATE */ 48 #define ER_DIAMETER_LIMITED_SUCCESS 200249 48 50 49 -
extensions/app_radgw/rgwx_auth.c
r703 r705 51 51 #define ACV_ASS_STATE_MAINTAINED 0 /* STATE_MAINTAINED */ 52 52 #define ACV_ASS_NO_STATE_MAINTAINED 1 /* NO_STATE_MAINTAINED */ 53 #define ER_DIAMETER_MULTI_ROUND_AUTH 100154 #define ER_DIAMETER_LIMITED_SUCCESS 200255 53 56 54 /* The state we keep for this plugin */ … … 1076 1074 uint8_t tuntag = 0; 1077 1075 unsigned char * req_auth = NULL; 1076 int error_cause = 0; 1078 1077 1079 1078 TRACE_ENTRY("%p %p %p %p %p", cs, session, diam_ans, rad_fw, cli); … … 1161 1160 1162 1161 default: 1162 /* Can we convert the value to a natural Error-Cause ? */ 1163 switch (ahdr->avp_value->u32) { 1164 case ER_DIAMETER_AVP_UNSUPPORTED: 1165 error_cause = 401; /* Unsupported Attribute */ 1166 break; 1167 1168 case ER_DIAMETER_MISSING_AVP: 1169 error_cause = 402; /* Missing Attribute */ 1170 break; 1171 1172 case ER_DIAMETER_UNABLE_TO_COMPLY: 1173 error_cause = 404; /* Invalid Request */ 1174 break; 1175 1176 case ER_DIAMETER_APPLICATION_UNSUPPORTED: 1177 error_cause = 405; /* Unsupported Service */ 1178 break; 1179 1180 case ER_DIAMETER_COMMAND_UNSUPPORTED: 1181 error_cause = 406; /* Unsupported Extension */ 1182 break; 1183 1184 case ER_DIAMETER_INVALID_AVP_VALUE: 1185 error_cause = 407; /* Invalid Attribute Value */ 1186 break; 1187 1188 case ER_DIAMETER_AVP_NOT_ALLOWED: 1189 error_cause = 501; /* Administratively Prohibited */ 1190 break; 1191 1192 case ER_DIAMETER_REALM_NOT_SERVED: 1193 case ER_DIAMETER_LOOP_DETECTED: 1194 case ER_DIAMETER_UNKNOWN_PEER: 1195 case ER_DIAMETER_UNABLE_TO_DELIVER: 1196 error_cause = 502; /* Request Not Routable (Proxy) */ 1197 break; 1198 1199 case ER_DIAMETER_UNKNOWN_SESSION_ID: 1200 error_cause = 503; /* Session Context Not Found */ 1201 break; 1202 1203 case ER_DIAMETER_TOO_BUSY: 1204 case ER_DIAMETER_OUT_OF_SPACE: 1205 error_cause = 506; /* Resources Unavailable */ 1206 break; 1207 1208 #if 0 1209 /* remaining Diameter Result-Code & RADIUS Error-Cause */ 1210 case ER_DIAMETER_REDIRECT_INDICATION: 1211 case ER_DIAMETER_INVALID_HDR_BITS: 1212 case ER_DIAMETER_INVALID_AVP_BITS: 1213 case ER_DIAMETER_AUTHENTICATION_REJECTED: 1214 case ER_ELECTION_LOST: 1215 case ER_DIAMETER_AUTHORIZATION_REJECTED: 1216 case ER_DIAMETER_RESOURCES_EXCEEDED: 1217 case ER_DIAMETER_CONTRADICTING_AVPS: 1218 case ER_DIAMETER_AVP_OCCURS_TOO_MANY_TIMES 1219 case ER_DIAMETER_NO_COMMON_APPLICATION: 1220 case ER_DIAMETER_UNSUPPORTED_VERSION: 1221 case ER_DIAMETER_INVALID_BIT_IN_HEADER: 1222 case ER_DIAMETER_INVALID_AVP_LENGTH: 1223 case ER_DIAMETER_INVALID_MESSAGE_LENGTH: 1224 case ER_DIAMETER_INVALID_AVP_BIT_COMBO: 1225 case ER_DIAMETER_NO_COMMON_SECURITY: 1226 error_cause = 403; /* NAS Identification Mismatch */ 1227 error_cause = 504; /* Session Context Not Removable */ 1228 error_cause = 505; /* Other Proxy Processing Error */ 1229 error_cause = 507; /* Request Initiated */ 1230 error_cause = 508; /* Multiple Session Selection Unsupported */ 1231 #endif /* 0 */ 1232 } 1233 /* In any case, the following is processed: */ 1163 1234 (*rad_fw)->hdr->code = RADIUS_CODE_ACCESS_REJECT; 1164 1235 fd_log_debug("[auth.rgwx] Received Diameter answer with error code '%d' from server '%.*s', session %.*s, translating into Access-Reject\n", … … 1825 1896 } 1826 1897 1827 if ( ! radius_msg_add_attr_int32(*rad_fw, RADIUS_ATTR_ERROR_CAUSE, 202) ) { 1828 TRACE_DEBUG(INFO, "Error while adding Error-Cause attribute in RADIUS message"); 1829 return ENOMEM; 1830 } 1898 error_cause = 202; /* Invalid EAP Packet */ 1831 1899 break; 1832 1900 … … 1852 1920 CHECK_FCT( fd_msg_free( aoh ) ); 1853 1921 free(req_auth); 1922 1923 if (error_cause) { 1924 if ( ! radius_msg_add_attr_int32(*rad_fw, RADIUS_ATTR_ERROR_CAUSE, error_cause) ) { 1925 TRACE_DEBUG(INFO, "Error while adding Error-Cause attribute in RADIUS message"); 1926 return ENOMEM; 1927 } 1928 } 1854 1929 1855 1930 if ((*rad_fw)->hdr->code == RADIUS_CODE_ACCESS_ACCEPT) { -
extensions/app_radgw/rgwx_sip.c
r639 r705 51 51 #define ACV_ASS_STATE_MAINTAINED 0 /* STATE_MAINTAINED */ 52 52 #define ACV_ASS_NO_STATE_MAINTAINED 1 /* NO_STATE_MAINTAINED */ 53 #define ER_DIAMETER_MULTI_ROUND_AUTH 100154 #define ER_DIAMETER_SUCCESS 200155 #define ER_DIAMETER_LIMITED_SUCCESS 200256 53 #define ER_DIAMETER_SUCCESS_AUTH_SENT_SERVER_NOT_STORED 2008 57 54 #define ER_DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED 2006 -
include/freeDiameter/libfdproto.h
r689 r705 1513 1513 #define ACV_ISI_TLS 1 1514 1514 1515 /* Error codes */ 1516 #define ER_DIAMETER_SUCCESS 2001 1517 #define ER_DIAMETER_REALM_NOT_SERVED 3003 1518 #define ER_DIAMETER_TOO_BUSY 3004 1519 #define ER_DIAMETER_REDIRECT_INDICATION 3006 1520 #define ER_ELECTION_LOST 4003 1515 /* Error codes from Base protocol 1516 (reference: http://www.iana.org/assignments/aaa-parameters/aaa-parameters.xml#aaa-parameters-4) 1517 Note that currently, rfc3588bis-26 has some different values for some of these 1518 */ 1519 #define ER_DIAMETER_MULTI_ROUND_AUTH 1001 1520 1521 #define ER_DIAMETER_SUCCESS 2001 1522 #define ER_DIAMETER_LIMITED_SUCCESS 2002 1523 1524 #define ER_DIAMETER_COMMAND_UNSUPPORTED 3001 /* 5019 ? */ 1525 #define ER_DIAMETER_UNABLE_TO_DELIVER 3002 1526 #define ER_DIAMETER_REALM_NOT_SERVED 3003 1527 #define ER_DIAMETER_TOO_BUSY 3004 1528 #define ER_DIAMETER_LOOP_DETECTED 3005 1529 #define ER_DIAMETER_REDIRECT_INDICATION 3006 1530 #define ER_DIAMETER_APPLICATION_UNSUPPORTED 3007 1531 #define ER_DIAMETER_INVALID_HDR_BITS 3008 /* 5020 ? */ 1532 #define ER_DIAMETER_INVALID_AVP_BITS 3009 /* 5021 ? */ 1533 #define ER_DIAMETER_UNKNOWN_PEER 3010 /* 5018 ? */ 1534 1535 #define ER_DIAMETER_AUTHENTICATION_REJECTED 4001 1536 #define ER_DIAMETER_OUT_OF_SPACE 4002 1537 #define ER_ELECTION_LOST 4003 1538 1539 #define ER_DIAMETER_AVP_UNSUPPORTED 5001 1540 #define ER_DIAMETER_UNKNOWN_SESSION_ID 5002 1541 #define ER_DIAMETER_AUTHORIZATION_REJECTED 5003 1542 #define ER_DIAMETER_INVALID_AVP_VALUE 5004 1543 #define ER_DIAMETER_MISSING_AVP 5005 1544 #define ER_DIAMETER_RESOURCES_EXCEEDED 5006 1545 #define ER_DIAMETER_CONTRADICTING_AVPS 5007 1546 #define ER_DIAMETER_AVP_NOT_ALLOWED 5008 1547 #define ER_DIAMETER_AVP_OCCURS_TOO_MANY_TIMES 5009 1548 #define ER_DIAMETER_NO_COMMON_APPLICATION 5010 1549 #define ER_DIAMETER_UNSUPPORTED_VERSION 5011 1550 #define ER_DIAMETER_UNABLE_TO_COMPLY 5012 1551 #define ER_DIAMETER_INVALID_BIT_IN_HEADER 5013 /* 3011 ? */ 1552 #define ER_DIAMETER_INVALID_AVP_LENGTH 5014 1553 #define ER_DIAMETER_INVALID_MESSAGE_LENGTH 5015 /* 3012 ? */ 1554 #define ER_DIAMETER_INVALID_AVP_BIT_COMBO 5016 /* deprecated? */ 1555 #define ER_DIAMETER_NO_COMMON_SECURITY 5017 1521 1556 1522 1557 -
libfdcore/dict_base_proto.c
r687 r705 1288 1288 to be issued in order for access to be granted. 1289 1289 */ 1290 struct dict_enumval_data error_code = { "DIAMETER_MULTI_ROUND_AUTH", { .u32 = 1001}};1290 struct dict_enumval_data error_code = { "DIAMETER_MULTI_ROUND_AUTH", { .u32 = ER_DIAMETER_MULTI_ROUND_AUTH }}; 1291 1291 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1292 1292 } … … 1299 1299 The Request was successfully completed. 1300 1300 */ 1301 struct dict_enumval_data error_code = { "DIAMETER_SUCCESS", { .u32 = 2001}};1301 struct dict_enumval_data error_code = { "DIAMETER_SUCCESS", { .u32 = ER_DIAMETER_SUCCESS }}; 1302 1302 #if ER_DIAMETER_SUCCESS != 2001 1303 1303 #error "ER_DIAMETER_SUCCESS definition mismatch" … … 1312 1312 provide service to the user. 1313 1313 */ 1314 struct dict_enumval_data error_code = { "DIAMETER_LIMITED_SUCCESS", { .u32 = 2002}};1314 struct dict_enumval_data error_code = { "DIAMETER_LIMITED_SUCCESS", { .u32 = ER_DIAMETER_LIMITED_SUCCESS }}; 1315 1315 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1316 1316 } … … 1318 1318 /* Protocol Errors */ 1319 1319 { 1320 /* 3001 */1320 /* 3001 -- might be changed to 5xxx soon */ 1321 1321 { 1322 1322 /* … … 1325 1325 receives an experimental command that it does not understand. 1326 1326 */ 1327 /* (old): it has been changed to 5019 in 3588bis */ 1328 struct dict_enumval_data error_code = { "DIAMETER_COMMAND_UNSUPPORTED(old)", { .u32 = 3001 }}; 1327 struct dict_enumval_data error_code = { "DIAMETER_COMMAND_UNSUPPORTED", { .u32 = ER_DIAMETER_COMMAND_UNSUPPORTED }}; 1329 1328 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1330 1329 } … … 1338 1337 associated Destination-Realm AVP. 1339 1338 */ 1340 struct dict_enumval_data error_code = { "DIAMETER_UNABLE_TO_DELIVER", { .u32 = 3002}};1339 struct dict_enumval_data error_code = { "DIAMETER_UNABLE_TO_DELIVER", { .u32 = ER_DIAMETER_UNABLE_TO_DELIVER }}; 1341 1340 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1342 1341 } … … 1346 1345 The intended realm of the request is not recognized. 1347 1346 */ 1348 struct dict_enumval_data error_code = { "DIAMETER_REALM_NOT_SERVED", { .u32 = 3003 }}; 1349 #if ER_DIAMETER_REALM_NOT_SERVED != 3003 1350 #error "ER_DIAMETER_REALM_NOT_SERVED definition mismatch" 1351 #endif 1347 struct dict_enumval_data error_code = { "DIAMETER_REALM_NOT_SERVED", { .u32 = ER_DIAMETER_REALM_NOT_SERVED }}; 1352 1348 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1353 1349 } … … 1360 1356 service. 1361 1357 */ 1362 struct dict_enumval_data error_code = { "DIAMETER_TOO_BUSY", { .u32 = 3004 }}; 1363 #if ER_DIAMETER_TOO_BUSY != 3004 1364 #error "ER_DIAMETER_TOO_BUSY definition mismatch" 1365 #endif 1358 struct dict_enumval_data error_code = { "DIAMETER_TOO_BUSY", { .u32 = ER_DIAMETER_TOO_BUSY }}; 1366 1359 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1367 1360 } … … 1374 1367 identified a configuration problem. 1375 1368 */ 1376 struct dict_enumval_data error_code = { "DIAMETER_LOOP_DETECTED", { .u32 = 3005}};1369 struct dict_enumval_data error_code = { "DIAMETER_LOOP_DETECTED", { .u32 = ER_DIAMETER_LOOP_DETECTED }}; 1377 1370 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1378 1371 } … … 1386 1379 be present. 1387 1380 */ 1388 struct dict_enumval_data error_code = { "DIAMETER_REDIRECT_INDICATION", { .u32 = 3006 }}; 1389 #if ER_DIAMETER_REDIRECT_INDICATION != 3006 1390 #error "ER_DIAMETER_REDIRECT_INDICATION definition mismatch" 1391 #endif 1381 struct dict_enumval_data error_code = { "DIAMETER_REDIRECT_INDICATION", { .u32 = ER_DIAMETER_REDIRECT_INDICATION }}; 1392 1382 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1393 1383 } … … 1397 1387 A request was sent for an application that is not supported. 1398 1388 */ 1399 struct dict_enumval_data error_code = { "DIAMETER_APPLICATION_UNSUPPORTED", { .u32 = 3007}};1389 struct dict_enumval_data error_code = { "DIAMETER_APPLICATION_UNSUPPORTED", { .u32 = ER_DIAMETER_APPLICATION_UNSUPPORTED }}; 1400 1390 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1401 1391 } 1402 /* 3008 */1392 /* 3008 -- will change to 5xxx soon */ 1403 1393 { 1404 1394 /* … … 1407 1397 inconsistent with the command code's definition. 1408 1398 */ 1409 /* (old): it has been changed in 3588bis */ 1410 struct dict_enumval_data error_code = { "DIAMETER_INVALID_HDR_BITS(old)", { .u32 = 3008 }}; 1399 struct dict_enumval_data error_code = { "DIAMETER_INVALID_HDR_BITS", { .u32 = ER_DIAMETER_INVALID_HDR_BITS }}; 1411 1400 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1412 1401 } 1413 /* 3009 */1402 /* 3009 -- will change to 5xxx soon */ 1414 1403 { 1415 1404 /* … … 1418 1407 AVP's definition. 1419 1408 */ 1420 /* (old): it has been changed in 3588bis */ 1421 struct dict_enumval_data error_code = { "DIAMETER_INVALID_AVP_BITS(old)", { .u32 = 3009 }}; 1409 struct dict_enumval_data error_code = { "DIAMETER_INVALID_AVP_BITS", { .u32 = ER_DIAMETER_INVALID_AVP_BITS }}; 1422 1410 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1423 1411 } 1424 /* 3010 */1412 /* 3010 -- will change to 5xxx soon */ 1425 1413 { 1426 1414 /* 1427 1415 A CER was received from an unknown peer. 1428 1416 */ 1429 /* (old): it has been changed in 3588bis */ 1430 struct dict_enumval_data error_code = { "DIAMETER_UNKNOWN_PEER(old)", { .u32 = 3010 }}; 1431 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1432 } 1433 /* 3011 */ 1434 { 1435 /* 1436 This error is returned when a reserved bit in the Diameter header 1437 is set to one (1) or the bits in the Diameter header defined in 1438 Sec 3 are set incorrectly. 1439 */ 1440 struct dict_enumval_data error_code = { "DIAMETER_INVALID_BIT_IN_HEADER", { .u32 = 3011 }}; 1441 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1442 } 1443 /* 3012 */ 1444 { 1445 /* 1446 This error is returned when a request is received with an invalid 1447 message length. 1448 */ 1449 struct dict_enumval_data error_code = { "DIAMETER_INVALID_MESSAGE_LENGTH", { .u32 = 3012 }}; 1417 struct dict_enumval_data error_code = { "DIAMETER_UNKNOWN_PEER", { .u32 = ER_DIAMETER_UNKNOWN_PEER }}; 1450 1418 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1451 1419 } … … 1460 1428 be tried after prompting the user for a new password. 1461 1429 */ 1462 struct dict_enumval_data error_code = { "DIAMETER_AUTHENTICATION_REJECTED", { .u32 = 4001}};1430 struct dict_enumval_data error_code = { "DIAMETER_AUTHENTICATION_REJECTED", { .u32 = ER_DIAMETER_AUTHENTICATION_REJECTED }}; 1463 1431 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1464 1432 } … … 1469 1437 commit it to stable storage due to a temporary lack of space. 1470 1438 */ 1471 struct dict_enumval_data error_code = { "DIAMETER_OUT_OF_SPACE", { .u32 = 4002}};1439 struct dict_enumval_data error_code = { "DIAMETER_OUT_OF_SPACE", { .u32 = ER_DIAMETER_OUT_OF_SPACE }}; 1472 1440 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1473 1441 } … … 1478 1446 has therefore disconnected the transport connection. 1479 1447 */ 1480 struct dict_enumval_data error_code = { "ELECTION_LOST", { .u32 = 4003}};1448 struct dict_enumval_data error_code = { "ELECTION_LOST", { .u32 = ER_ELECTION_LOST }}; 1481 1449 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1482 1450 } … … 1492 1460 AVP AVP containing the AVPs that caused the failure. 1493 1461 */ 1494 struct dict_enumval_data error_code = { "DIAMETER_AVP_UNSUPPORTED", { .u32 = 5001}};1462 struct dict_enumval_data error_code = { "DIAMETER_AVP_UNSUPPORTED", { .u32 = ER_DIAMETER_AVP_UNSUPPORTED }}; 1495 1463 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1496 1464 } … … 1500 1468 The request contained an unknown Session-Id. 1501 1469 */ 1502 struct dict_enumval_data error_code = { "DIAMETER_UNKNOWN_SESSION_ID", { .u32 = 5002}};1470 struct dict_enumval_data error_code = { "DIAMETER_UNKNOWN_SESSION_ID", { .u32 = ER_DIAMETER_UNKNOWN_SESSION_ID }}; 1503 1471 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1504 1472 } … … 1510 1478 to the user. 1511 1479 */ 1512 struct dict_enumval_data error_code = { "DIAMETER_AUTHORIZATION_REJECTED",{ .u32 = 5003}};1480 struct dict_enumval_data error_code = { "DIAMETER_AUTHORIZATION_REJECTED",{ .u32 = ER_DIAMETER_AUTHORIZATION_REJECTED }}; 1513 1481 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1514 1482 } … … 1520 1488 the offending AVPs within a Failed-AVP AVP. 1521 1489 */ 1522 struct dict_enumval_data error_code = { "DIAMETER_INVALID_AVP_VALUE", { .u32 = 5004}};1490 struct dict_enumval_data error_code = { "DIAMETER_INVALID_AVP_VALUE", { .u32 = ER_DIAMETER_INVALID_AVP_VALUE }}; 1523 1491 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1524 1492 } … … 1533 1501 should be of correct minimum length and contain zeroes. 1534 1502 */ 1535 struct dict_enumval_data error_code = { "DIAMETER_MISSING_AVP", { .u32 = 5005}};1503 struct dict_enumval_data error_code = { "DIAMETER_MISSING_AVP", { .u32 = ER_DIAMETER_MISSING_AVP }}; 1536 1504 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1537 1505 } … … 1544 1512 attempts to establish a second PPP connection. 1545 1513 */ 1546 struct dict_enumval_data error_code = { "DIAMETER_RESOURCES_EXCEEDED", { .u32 = 5006}};1514 struct dict_enumval_data error_code = { "DIAMETER_RESOURCES_EXCEEDED", { .u32 = ER_DIAMETER_RESOURCES_EXCEEDED }}; 1547 1515 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1548 1516 } … … 1555 1523 AVPs that contradicted each other. 1556 1524 */ 1557 struct dict_enumval_data error_code = { "DIAMETER_CONTRADICTING_AVPS", { .u32 = 5007}};1525 struct dict_enumval_data error_code = { "DIAMETER_CONTRADICTING_AVPS", { .u32 = ER_DIAMETER_CONTRADICTING_AVPS }}; 1558 1526 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1559 1527 } … … 1565 1533 offending AVP. 1566 1534 */ 1567 struct dict_enumval_data error_code = { "DIAMETER_AVP_NOT_ALLOWED", { .u32 = 5008}};1535 struct dict_enumval_data error_code = { "DIAMETER_AVP_NOT_ALLOWED", { .u32 = ER_DIAMETER_AVP_NOT_ALLOWED }}; 1568 1536 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1569 1537 } … … 1576 1544 the offending AVP that exceeded the maximum number of occurrences 1577 1545 */ 1578 struct dict_enumval_data error_code = { "DIAMETER_AVP_OCCURS_TOO_MANY_TIMES",{ .u32 = 5009}};1546 struct dict_enumval_data error_code = { "DIAMETER_AVP_OCCURS_TOO_MANY_TIMES",{ .u32 = ER_DIAMETER_AVP_OCCURS_TOO_MANY_TIMES }}; 1579 1547 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1580 1548 } … … 1586 1554 applications that it does not support. 1587 1555 */ 1588 struct dict_enumval_data error_code = { "DIAMETER_NO_COMMON_APPLICATION",{ .u32 = 5010}};1556 struct dict_enumval_data error_code = { "DIAMETER_NO_COMMON_APPLICATION",{ .u32 = ER_DIAMETER_NO_COMMON_APPLICATION }}; 1589 1557 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1590 1558 } … … 1595 1563 number is unsupported. 1596 1564 */ 1597 struct dict_enumval_data error_code = { "DIAMETER_UNSUPPORTED_VERSION", { .u32 = 5011}};1565 struct dict_enumval_data error_code = { "DIAMETER_UNSUPPORTED_VERSION", { .u32 = ER_DIAMETER_UNSUPPORTED_VERSION }}; 1598 1566 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1599 1567 } … … 1604 1572 reasons. 1605 1573 */ 1606 struct dict_enumval_data error_code = { "DIAMETER_UNABLE_TO_COMPLY", { .u32 = 5012}};1574 struct dict_enumval_data error_code = { "DIAMETER_UNABLE_TO_COMPLY", { .u32 = ER_DIAMETER_UNABLE_TO_COMPLY }}; 1607 1575 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1608 1576 } 1609 /* 5013 */1577 /* 5013 -- will change to 3xxx */ 1610 1578 { 1611 1579 /* … … 1613 1581 header is set to one (1). 1614 1582 */ 1615 /* (old): it has been changed in 3588bis */ 1616 struct dict_enumval_data error_code = { "DIAMETER_INVALID_BIT_IN_HEADER(old)", { .u32 = 5013 }}; 1583 struct dict_enumval_data error_code = { "DIAMETER_INVALID_BIT_IN_HEADER", { .u32 = ER_DIAMETER_INVALID_BIT_IN_HEADER }}; 1617 1584 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1618 1585 } … … 1634 1601 AVP header with zero up to the minimum AVP header length. 1635 1602 */ 1636 struct dict_enumval_data error_code = { "DIAMETER_INVALID_AVP_LENGTH", { .u32 = 5014}};1603 struct dict_enumval_data error_code = { "DIAMETER_INVALID_AVP_LENGTH", { .u32 = ER_DIAMETER_INVALID_AVP_LENGTH }}; 1637 1604 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1638 1605 } 1639 /* 5015 */1606 /* 5015 -- will change to 3xxx */ 1640 1607 { 1641 1608 /* … … 1643 1610 message length. 1644 1611 */ 1645 /* (old): it has been changed in 3588bis */ 1646 struct dict_enumval_data error_code = { "DIAMETER_INVALID_MESSAGE_LENGTH(old)", { .u32 = 5015 }}; 1612 struct dict_enumval_data error_code = { "DIAMETER_INVALID_MESSAGE_LENGTH", { .u32 = ER_DIAMETER_INVALID_MESSAGE_LENGTH }}; 1647 1613 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1648 1614 } … … 1655 1621 AVP. 1656 1622 */ 1657 /* (old): it has been changed in 3588bis */ 1658 struct dict_enumval_data error_code = { "DIAMETER_INVALID_AVP_BIT_COMBO(old)", { .u32 = 5016 }}; 1623 struct dict_enumval_data error_code = { "DIAMETER_INVALID_AVP_BIT_COMBO", { .u32 = ER_DIAMETER_INVALID_AVP_BIT_COMBO }}; 1659 1624 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1660 1625 } … … 1667 1632 Result-Code AVP set to DIAMETER_NO_COMMON_SECURITY. 1668 1633 */ 1669 struct dict_enumval_data error_code = { "DIAMETER_NO_COMMON_SECURITY", { .u32 = 5017 }}; 1670 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1671 } 1672 /* 5018 */ 1673 { 1674 /* 1675 A CER was received from an unknown peer. 1676 */ 1677 struct dict_enumval_data error_code = { "DIAMETER_UNKNOWN_PEER", { .u32 = 5018 }}; 1678 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1679 } 1680 /* 5019 */ 1681 { 1682 /* 1683 The Request contained a Command-Code that the receiver did not 1684 recognize or support. This MUST be used when a Diameter node 1685 receives an experimental command that it does not understand. 1686 */ 1687 struct dict_enumval_data error_code = { "DIAMETER_COMMAND_UNSUPPORTED", { .u32 = 5019 }}; 1688 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1689 } 1690 /* 5020 */ 1691 { 1692 /* 1693 A request was received whose bits in the Diameter header were 1694 either set to an invalid combination, or to a value that is 1695 inconsistent with the command code's definition. 1696 */ 1697 struct dict_enumval_data error_code = { "DIAMETER_INVALID_HDR_BITS", { .u32 = 5020 }}; 1698 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1699 } 1700 /* 5021 */ 1701 { 1702 /* 1703 A request was received that included an AVP whose flag bits are 1704 set to an unrecognized value, or that is inconsistent with the 1705 AVP's definition. 1706 */ 1707 struct dict_enumval_data error_code = { "DIAMETER_INVALID_AVP_BITS", { .u32 = 5021 }}; 1634 struct dict_enumval_data error_code = { "DIAMETER_NO_COMMON_SECURITY", { .u32 = ER_DIAMETER_NO_COMMON_SECURITY }}; 1708 1635 CHECK_dict_new( DICT_ENUMVAL, &error_code , type, NULL); 1709 1636 }
Note: See TracChangeset
for help on using the changeset viewer.