radiusplugin/000755 001750 001750 00000000000 11360356633 011772 5ustar00000000 000000 radiusplugin/UserPlugin.h000644 001750 001750 00000003570 11355300617 014240 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _USERPLUGIN_H_ #define _USERPLUGIN_H_ #include "User.h" #include #include #include #include using std::string; /** This class represents an user of the foreground process. * It is derived from the class User.*/ class UserPlugin : public User { private: string password; /** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _EXCEPTION_H_ #define _EXCEPTION_H_ #include #include //#include "radiusplugin.h" using namespace std; /**This class represents exceptions. An exception * can be thrown by using the constructer, like: * Exception(Exception::SOCKETSEND) or * Exception(errortext) */ class Exception { private: short int errnum; /** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _ACCT_SCHEDULER_H_ #define _ACCT_SCHEDULER_H_ #include #include #include #include #include #include #include #include "UserAcct.h" using std::map; /**The class is a scheduler for accounting radius users. It calculates the * accounting interval if the ACCT-INTERIM-INTERVAL was present in the * authentication response from the radius server. * The start and stop accounting ticket are always sent for a user * which is added to the scheduler. * For the update and stop accounting ticket the sent and received bytes * are read out of the OpenVpn status file. */ class AcctScheduler { private: map activeuserlist; /** passiveuserlist; /** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "User.h" /** The constructor sets the acctinteriminterval and the portnumber to 0.*/ User::User() { this->framedip=""; this->framedroutes=""; this->key=""; this->statusfilekey=""; this->untrustedport=""; // this->trustedport=""; // this->trustedip=""; this->acctinteriminterval=0; this->portnumber=0; this->vsabuf=NULL; this->vsabuflen=0; } /** The constructor sets the acctinteriminterval to 0 and the portnumber to num. * @param num The portnumber.*/ /*User::User(int num) { this->framedip=""; this->framedroutes=""; this->key=""; this->untrustedport=""; this->acctinteriminterval=0; this->portnumber=num; this->vsabuf=NULL; this->vsabuflen=0; }*/ /** The destructor.*/ User::~User() { if(this->getVsaBufLen() > 0) { delete [] this->getVsaBuf(); } } /** The overloading of the assignment operator. * @param u A reference to an object of the User class. * @return A reference to the User class.*/ User & User::operator=(const User & u) { this->username=u.username; this->commonname=u.commonname; this->framedroutes=u.framedroutes; this->framedip=u.framedip; this->key=u.key; this->statusfilekey=u.statusfilekey; this->callingstationid=u.callingstationid; this->portnumber=u.portnumber; this->acctinteriminterval=u.acctinteriminterval; this->untrustedport=u.untrustedport; this->sessionid=u.sessionid; // this->trustedport=u.trustedport; // this->trustedip=u.trustedip; this->vsabuflen=u.vsabuflen; if(u.vsabuf != NULL) { this->vsabuf=new Octet[this->vsabuflen]; memcpy(this->vsabuf, u.vsabuf, this->vsabuflen); } else { this->vsabuf=u.vsabuf; } return *this; } /** The copy constructor. * @param u A reference to an object of the User class.*/ User::User(const User & u) { this->username=u.username; this->commonname=u.commonname; this->framedroutes=u.framedroutes; this->framedip=u.framedip; this->key=u.key; this->statusfilekey=u.statusfilekey; this->callingstationid=u.callingstationid; this->portnumber=u.portnumber; this->acctinteriminterval=u.acctinteriminterval; this->untrustedport=u.untrustedport; this->sessionid=u.sessionid; // this->trustedport=u.trustedport; // this->trustedip=u.trustedip; this->vsabuflen=u.vsabuflen; if(u.vsabuf != NULL) { this->vsabuf=new Octet[this->vsabuflen]; memcpy(this->vsabuf, u.vsabuf, this->vsabuflen); } else { this->vsabuf=u.vsabuf; } } /** The getter method for the username. * @return The username as a string.*/ string User::getUsername(void) { return this->username; } /** The setter method for the username. * @param uname The username.*/ void User::setUsername(string uname) { this->username=uname; } /** The getter method for the commonname. * @return The commonname as a string.*/ string User::getCommonname(void) { return this->commonname; } /** The setter method for the commonname. * @param cn The commonname.*/ void User::setCommonname(string cn) { this->commonname=cn; } /** The getter method for the framed routes. * @return The framed routes as a string.*/ string User::getFramedRoutes(void) { return this->framedroutes; } /** The setter method for the framedroutes. * @param froutes The framedroutes, if there are more * routes they are diveded through a ';'.*/ void User::setFramedRoutes(string froutes) { this->framedroutes=froutes; } /** The getter method for the framed ip. * @return The framed ip as a string.*/ string User::getFramedIp(void) { return this->framedip; } /** The setter method for the framedip. * @param ip The framedip.*/ void User::setFramedIp(string ip) { this->framedip=ip; } /** The getter method for the fkey. * @return The unique key as a string.*/ string User::getKey(void) { return this->key; } /** The setter method for a unique, it is build from ip and port. * @param key The unique key. */ void User::setKey(string key) { this->key=key; } /** The getter method for the status file key. * @return The unique status file key as a string.*/ string User::getStatusFileKey(void) { return this->statusfilekey; } /** The setter method for a unique, it is build from commonname, ip and port. * @param key The unique status file key. */ void User::setStatusFileKey(string key) { this->statusfilekey=key; } /** The getter method for the calling station id. * @return The calling station id as a string.*/ string User::getCallingStationId(void) { return this->callingstationid; } /** The setter method for the callingstationid. * @param id The callingstationid.*/ void User::setCallingStationId(string id) { this->callingstationid=id; } /** The getter method for the portnumber. * @return The portnumber as an integer.*/ int User::getPortnumber(void) { return this->portnumber; } /** The setter method for the portnumber. * @param port The portnumber.*/ void User::setPortnumber(int port) { this->portnumber=port; } /** The getter method for the acctinteriminterval. * @return The acctinteriminterval as struct time_t.*/ time_t User::getAcctInterimInterval(void) { return this->acctinteriminterval; } /** The setter method for the username. * @param t The acctinteriminterval.*/ void User::setAcctInterimInterval(time_t t) { this->acctinteriminterval=t; } /** The getter method for untrusted port. * @return untrusted port */ string User::getUntrustedPort(void) { return this->untrustedport; } /**The setter method for untrusted port. * @param The untrusted port number as string. */ void User::setUntrustedPort(string port) { this->untrustedport=port; } /**This method copies the octets form the vendor specific attributes to * the buffer vsabuf. It also calculates the length of the buffer. * @param value Pointer to vendor specific attribute. * @param len Length of the attribute. * @return 0 in case of no error. */ int User::appendVsaBuf(Octet *value, unsigned int len) { if(this->vsabuf == NULL) { this->vsabuf=new Octet[len]; memcpy(this->vsabuf, value, len); this->vsabuflen=len; } else { Octet old_vsa[this->vsabuflen]; memcpy(old_vsa, this->vsabuf, this->vsabuflen); delete [] this->vsabuf; this->vsabuf=new Octet[this->vsabuflen+len]; memcpy(this->vsabuf, old_vsa, this->vsabuflen); memcpy((this->vsabuf+this->vsabuflen), value, len); this->vsabuflen=this->vsabuflen+len; } return 0; } /** Getter method for the vsabuf * @return Pointer to the buffer. */ Octet * User::getVsaBuf() { return this->vsabuf; } /** Setter method for the vsabuf. * @param pbuf Pointer to buffer. */ void User::setVsaBuf(Octet * pbuf) { this->vsabuf=pbuf; } /** Getter method for the buffer length. * @return Length of the buffer. */ unsigned int User::getVsaBufLen() { return this->vsabuflen; } /** Setter method for the vsabuf length. * @param len Length of the buffer. */ void User::setVsaBufLen(unsigned int len) { this->vsabuflen=len; } /** The getter method for the sessionid. * @return An integer of the sessionid.*/ string User::getSessionId(void) { return this->sessionid; } /**The setter method for the sessionid. * @param id The session id.*/ void User::setSessionId(string id) { this->sessionid=id; } /** The getter method for trusted port. * @return trusted port */ // string User::getTrustedPort() const // { // return trustedport; // } /**The setter method for trusted port. * @param The trusted port number as string. */ // void User::setTrustedPort ( const string& port ) // { // trustedport = port; // } /** The getter method for trusted ip. * @return trusted ip */ // string User::getTrustedIp() const // { // return trustedip; // } /**The setter method for trusted ip. * @param The trusted ip as string. */ // void User::setTrustedIp ( const string& ip ) // { // trustedip = ip; // } radiusplugin/PluginContext.h000644 001750 001750 00000010357 11146035210 014737 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _CONTEXT_H_ #define _CONTEXT_H_ #include "UserPlugin.h" #include "RadiusClass/RadiusConfig.h" #include "UserPlugin.h" #include "IpcSocket.h" #include "Config.h" #include #include #include #include #include #include #include using std::map; using std::list; using namespace std; /** This class saves all information for the different processes and * it saves the users for the foreground process.*/ class PluginContext { private: pid_t authpid; /**< Process ID of authentication background process. */ pid_t acctpid; /**< Process ID of accounting background process. */ int verb; /**< Verbosity level of OpenVPN. */ map users; /**< The user list of the plugin in for the foreground process which are authenticated.*/ list< UserPlugin *> newusers; /**< The user list of the plugin in for the foreground process which are waiting for authentication.*/ list nasportlist; /**< The port list. Every user gets an unipue port on connect. The number is deleted if the user disconnects, a new user can get the number again. This is important for dynamic IP address assignment via the radius server.*/ int sessionid; /**< Every user gets a new session id. The session is never decremented.*/ pthread_cond_t condsend; pthread_mutex_t mutexsend; pthread_cond_t condrecv; pthread_mutex_t mutexrecv; pthread_t thread; bool stopthread; bool startthread; int result; public: IpcSocket authsocketforegr; /**< Object from the class IpcSocket, it saves the socket to the foregroundprocess from the authentication background process.*/ IpcSocket authsocketbackgr; /**< Object from the class IpcSocket, it saves the socket to the authentication background process.*/ IpcSocket acctsocketforegr; /**< Object from the class IpcSocket, it saves the socket to the accounting background process.*/ IpcSocket acctsocketbackgr; /**< Object from the class IpcSocket, it saves the socket to the accounting background process-*/ RadiusConfig radiusconf; /**< The object saves the radius configuration from the config file.*/ Config conf; /**< The object saves the configuration from the config file.*/ PluginContext(void); ~PluginContext(void); int addNasPort(void); void delNasPort(int ); UserPlugin * findUser(string); void addUser(UserPlugin *); void delUser(string ); int getVerbosity(void); void setVerbosity(int); pid_t getAuthPid(void); void setAuthPid(pid_t); pid_t getAcctPid(void); void setAcctPid(pid_t); int getSessionId(void); pthread_cond_t * getCondSend(void); //void setCond(pthread_cond_t); pthread_cond_t * getCondRecv(void); pthread_mutex_t * getMutexSend(void); pthread_mutex_t * getMutexRecv(void); //void setMutex(pthread_mutex_t); UserPlugin * getNewUser(); void addNewUser(UserPlugin * newuser); pthread_t * getThread(); int getResult(); void setResult(int); bool getStopThread(); void setStopThread(bool); bool UserWaitingtoAuth(); bool getStartThread(); void setStartThread(bool); }; #endif //_CONTEXT_H_ radiusplugin/Makefile.bsd000644 001750 001750 00000001544 11356665125 014211 0ustar00000000 000000 CC=g++ INCL=-I/usr/local/include LDFLAGS=-L/usr/local/lib LIBS=-lgcrypt -lgpg-error -lstdc++ -lm -lpthread CFLAGS=-Wall -shared -fPIC -DPIC PLUGIN=radiusplugin.so OBJECTS=\ RadiusClass/RadiusAttribute.o \ RadiusClass/RadiusPacket.o \ RadiusClass/RadiusConfig.o \ RadiusClass/RadiusServer.o \ RadiusClass/RadiusVendorSpecificAttribute.o \ AccountingProcess.o \ Exception.o \ PluginContext.o \ UserAuth.o \ AcctScheduler.o \ IpcSocket.o \ radiusplugin.o \ User.o \ AuthenticationProcess.o \ main.o \ UserAcct.o \ UserPlugin.o \ Config.o all: $(PLUGIN) $(PLUGIN): $(OBJECTS) @echo 'BIN: $(PLUGIN)' @$(CC) $(CFLAGS) $(OBJECTS) -o $(PLUGIN) $(LDFLAGS) $(LIBS) %.o: %.cpp @echo 'OBJ: $@' @$(CC) $(CFLAGS) $(INCL) -o $@ -c $< test: $(OBJECTS) @$(CC) -Wall $(OBJECTS) -o main $(LDFLAGS) $(LIBS) clean: -rm $(PLUGIN) *.o */*.o radiusplugin/AccountingProcess.cpp000644 001750 001750 00000037341 11177273036 016140 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "AccountingProcess.h" /** This method is the background process for accounting. It is in a endless loop * until it gets a exit command. In the loop the process is * waiting for a command from the foregroundprocess (USER_ADD, USER_DEL, EXIT). * If no command is arrived in an interval of 0,5s the accounting is done * for all users who need a update. The interval is 0,5s because every second * a user can connect with an unknown interval, so this interval must be shorter. * @param context The plugin context as object from the class PluginContext. */ void AccountingProcess::Accounting(PluginContext * context) { UserAcct *user=NULL; //The user for acconting. int command, //The command from foreground process. result; //The result from the socket. string key; //The unique key. AcctScheduler scheduler; //The scheduler for the accounting. fd_set set; //A set for the select function. struct timeval tv; //A timeinterval for the select funtion. //Tell the parent everythink is ok. try { context->acctsocketforegr.send(RESPONSE_INIT_SUCCEEDED); } catch (Exception &e) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT:" << e <<"\n"; goto done; } if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: Started, RESPONSE_INIT_SUCCEEDED was sent to Foreground Process.\n"; // Event loop while (1) { //create the informations for the result function tv.tv_sec = 0; tv.tv_usec = 500000; //wait 0,5s FD_ZERO(&set); // clear out the set FD_SET(context->acctsocketforegr.getSocket(), &set); // wait only on the socket from the foreground process result = select(FD_SETSIZE, &set, NULL, NULL, &tv); //if there is a data on the socket if (result>0) { // get a command from foreground process command = context->acctsocketforegr.recvInt(); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: Get a command.\n"; switch (command) { //add a new user to the scheduler case ADD_USER: try { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: New User.\n"; //allocate memory user= new UserAcct; //get the information from the foreground process user->setUsername(context->acctsocketforegr.recvStr()); user->setSessionId(context->acctsocketforegr.recvStr()) ; user->setPortnumber(context->acctsocketforegr.recvInt()); user->setCallingStationId(context->acctsocketforegr.recvStr()); user->setFramedIp(context->acctsocketforegr.recvStr()); user->setCommonname(context->acctsocketforegr.recvStr()); user->setAcctInterimInterval(context->acctsocketforegr.recvInt()); user->setFramedRoutes(context->acctsocketforegr.recvStr()); user->setKey(context->acctsocketforegr.recvStr()); user->setStatusFileKey(context->acctsocketforegr.recvStr()); user->setUntrustedPort(context->acctsocketforegr.recvStr()); context->acctsocketforegr.recvBuf(user); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: New user acct: username: " << user->getUsername() << ", interval: " << user->getAcctInterimInterval() << ", calling station: " << user->getCallingStationId() << ", commonname: " << user->getCommonname() << ", framed ip: " << user->getFramedIp() <<".\n"; //set the starttime user->setStarttime(time(NULL)); //calculate the nextupdate user->setNextUpdate(user->getStarttime()+user->getAcctInterimInterval()); //send the start packet if (user->sendStartPacket(context)==0) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: Start packet was send.\n"; if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: User was added to accounting scheduler.\n"; //set the system routes user->addSystemRoutes(context); string script = context->conf.getVsaScript(); //execute vendor specific attribute script if(script.length() > 0) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: Call vendor specific attribute script.\n"; if(callVsaScript(context, user, 1, 0) != 0) { throw Exception("Vendor specific attribute script failed.\n"); } } //add the user to the scheduler scheduler.addUser(user); //send the ok to the parent process context->acctsocketforegr.send(RESPONSE_SUCCEEDED); } else { //delete the ccd file which was created at authentication //user->deleteCcdFile(context); //tell the parent parent process something is wrong throw Exception("Start packet couldn't send.\n"); } // free the user, he was copied to the accounting scheduler list } catch (Exception &e) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: "<< e << "!\n"; context->acctsocketforegr.send(RESPONSE_FAILED); //close the background process, if the ipc socket is bad if (e.getErrnum()==Exception::SOCKETSEND || e.getErrnum()==Exception::SOCKETRECV) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: Error in socket!\n"; goto done; } } catch (...) { context->acctsocketforegr.send(RESPONSE_FAILED); cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: Unknown Exception!\n"; } delete user; break; //delete a user case DEL_USER: if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Delete user from accounting.\n"; //receive the information try { key=context->acctsocketforegr.recvStr(); } catch(Exception &e) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: "<< e << "!\n"; //close the background process, if the ipc socket is bad if (e.getErrnum()==Exception::SOCKETSEND || e.getErrnum()==Exception::SOCKETRECV) { goto done; } } catch (...) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: Unknown Exception!\n"; } //find the user, he must be already there user=scheduler.findUser(key.c_str()); if (user) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: Stop acct: username: " << user->getUsername()<< ", calling station: " << user->getCallingStationId()<< ", commonname: " << user->getCommonname() << ".\n"; //delete the system routes user->delSystemRoutes(context); //delete the ccd file which was created at authentication //user->deleteCcdFile(context); string script = context->conf.getVsaScript(); //execute vendor specific attribute script if(script.length() > 0) { //string command= context->conf.getVsaScript() + string(" ") + string("ACTION=CLIENT_CONNECT")+string(" ")+string("USERNAME=")+user->getUsername()+string(" ")+string("COMMONNAME=")+user->getCommonname()+string(" ")+string("UNTRUSTED_IP=")+user->getCallingStationId() + string(" ") + string("UNTRUSTED_PORT=") + user->getUntrustedPort() + user->getVsaString(); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: Call vendor specific attribute script.\n"; if(callVsaScript(context, user, 2, 0) != 0) { throw Exception("Vendor specific attribute script failed.\n"); } } try { //delete the user from the accounting scheduler scheduler.delUser(context, user); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: User with key: " << key << " was deleted from accouting.\n"; //send the parent process the ok context->acctsocketforegr.send(RESPONSE_SUCCEEDED); } catch(Exception &e) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: " << e << "\n"; goto done; } catch (...) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: Unknown Exception!\n"; } } else { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: No user with this key "<< key <<".\n"; context->acctsocketforegr.send(RESPONSE_FAILED); } break; //exit the loop case COMMAND_EXIT: if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Get command exit.\n"; goto done; case -1: cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND: read error on command channel.\n"; break; default: cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND: unknown command code: code= "<< command <<", exiting.\n"; goto done; } } //after 0,5sec without a command call the scheduler scheduler.doAccounting(context); } done: //end the process if(1) scheduler.delallUsers(context); cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: EXIT\n"; return; } /** This method executes the program for the vendor specific attributes and pass * attributes to the program and vendor specific attributes as a buffer * to the program. * Attributes Code for decoding * * string username => 101 * string commonname => 102 * string framedip => 103 * string callingstationid => 104 * string untrustedport => 105 * string framedroutes => 106 * Octet vsabuf => 107 * The code is used for decoding in the additional program. The vsabuf must be decode also in the program. * Example: vsascript.pl * @param context The PluginContext * @param user The user for which the script is executed. * @param action Action: 0 => Authentication, 1 => Client-Connect, 2 => Client-Disconnect * @param rekeying If equal 1 this is a rekeying. * @return -1 in case of error, else 0 */ int AccountingProcess::callVsaScript(PluginContext * context, User * user, unsigned int action, unsigned int rekeying) { char * route; int buflen = 3 * sizeof(int); if (user->getUsername().length() != 0) { buflen=buflen+user->getUsername().length()+2*sizeof(int); } if (user->getCommonname().length() != 0) { buflen=buflen+user->getCommonname().length()+2*sizeof(int); } if (user->getFramedIp().length() != 0) { buflen=buflen+user->getFramedIp().length()+2*sizeof(int); } if (user->getCallingStationId().length() != 0) { buflen=buflen+user->getCallingStationId().length()+2*sizeof(int); } if (user->getUntrustedPort().length() != 0) { buflen=buflen+user->getUntrustedPort().length()+2*sizeof(int); } if (user->getVsaBufLen() != 0) { buflen=buflen+user->getVsaBufLen() +2*sizeof(int); } char routes[user->getFramedRoutes().length()+1]; strncpy(routes, user->getFramedRoutes().c_str(), user->getFramedRoutes().length()); routes[user->getFramedRoutes().length()]=0; if((route = strtok(routes,";")) != NULL) { buflen=buflen+strlen(route)+2*sizeof(int); while((route = strtok(NULL,";"))!= NULL) { buflen=buflen+strlen(route)+2*sizeof(int); } } Octet * buf = new Octet[buflen]; unsigned int value = htonl(action); memcpy(buf,&value, 4); value = htonl(rekeying); memcpy(buf+4,&value, 4); value = htonl(buflen); memcpy(buf+8,&value, 4); int i=12; if (user->getUsername().length() != 0) { value = htonl(101); memcpy(buf+i,&value, 4); i+=4; value = htonl(user->getUsername().length()); memcpy(buf+i,&value, 4); i+=4; memcpy( buf+i, user->getUsername().c_str(),user->getUsername().length()); i=i+user->getUsername().length(); } if (user->getCommonname().length() != 0) { value = htonl(102); memcpy(buf+i,&value, 4); i+=4; value = htonl(user->getCommonname().length()); memcpy(buf+i,&value, 4); i+=4; memcpy( buf+i, user->getCommonname().c_str(),user->getCommonname().length()); i=i+user->getCommonname().length(); } if (user->getFramedIp().length() != 0) { value = htonl(103); memcpy(buf+i,&value, 4); i+=4; value = htonl(user->getFramedIp().length()); memcpy(buf+i,&value, 4); i+=4; memcpy( buf+i, user->getFramedIp().c_str(),user->getFramedIp().length()); i=i+user->getFramedIp().length(); } if (user->getCallingStationId().length() != 0) { value = htonl(104); memcpy(buf+i,&value, 4); i+=4; value = htonl(user->getCallingStationId().length()); memcpy(buf+i,&value, 4); i+=4; memcpy( buf+i, user->getCallingStationId().c_str(),user->getCallingStationId().length()); i=i+user->getCallingStationId().length(); } if (user->getUntrustedPort().length() != 0) { value = htonl(105); memcpy(buf+i,&value, 4); i+=4; value = htonl(user->getUntrustedPort().length()); memcpy(buf+i,&value, 4); i+=4; memcpy( buf+i, user->getUntrustedPort().c_str(),user->getUntrustedPort().length()); i=i+user->getUntrustedPort().length(); } strncpy(routes, user->getFramedRoutes().c_str(), user->getFramedRoutes().length()); routes[user->getFramedRoutes().length()]=0; if((route = strtok(routes,";")) != NULL) { value = htonl(106); memcpy(buf+i,&value, 4); i+=4; value = htonl(strlen(route)); memcpy(buf+i,&value, 4); i+=4; memcpy(buf+i, route, strlen(route)); i=i+strlen(route); while((route = strtok(NULL,";"))!= NULL) { value = htonl(106); memcpy(buf+i,&value, 4); i+=4; value = htonl(strlen(route)); memcpy(buf+i,&value, 4); i+=4; memcpy(buf+i, route, strlen(route)); i=i+strlen(route); } } if (user->getVsaBufLen() != 0) { value = htonl(107); memcpy(buf+i,&value, 4); i+=4; value = htonl(user->getVsaBufLen()); memcpy(buf+i,&value, 4); i+=4; memcpy(buf+i, user->getVsaBuf(),user->getVsaBufLen()); i=i+user->getVsaBufLen(); } if(mkfifo(context->conf.getVsaNamedPipe().c_str(), 0600)== -1) { /* FIFO bereits vorhanden - kein fataler Fehler */ if(errno == EEXIST) { cerr << getTime() << "RADIUS-PLUGIN:FIFO already exist."; } else { cerr << getTime() <<"RADIUS-PLUGIN: Error in mkfifio()"; return -1; } } int fd_fifo=open(context->conf.getVsaNamedPipe().c_str(), O_RDWR | O_NONBLOCK); if (fd_fifo == -1) { cerr << getTime() <<"RADIUS-PLUGIN: Error in opening pipe to VSAScript."; return -1; } string exe=string(context->conf.getVsaScript()) + " " + string(context->conf.getVsaNamedPipe()); if (write (fd_fifo, buf, buflen) != buflen) { cerr << getTime() << "RADIUS-PLUGIN: Could not write in Pipe to VSAScript!"; return -1; } if(system(exe.c_str())!=0) { cerr << getTime() << "RADIUS-PLUGIN: Error in VSAScript!"; return -1; } close(fd_fifo); delete [] buf; return 0; } radiusplugin/UserAcct.cpp.orig000644 001750 001750 00000066270 11146015447 015156 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "UserAcct.h" #include "radiusplugin.h" /** The constructor calls the super constructor of the class User and the variables * sessionid, bytesin, bytesout, nextupdate and starttime are set to 0.*/ UserAcct::UserAcct():User() { gigain=0; gigaout=0; bytesin=0; bytesout=0; nextupdate=0; starttime=0; } /** The destructor. Nothing happens here.*/ UserAcct::~UserAcct() { } /** The method sends an accounting update packet for the user to the radius server. * The accounting information are read from the OpenVpn * status file. The following attributes are sent to the radius server: * - User_Name, * - Framed_IP_Address, * - NAS_Port, * - Calling_Station_Id, * - NAS_Identifier, * - NAS_IP_Address, * - NAS_Port_Type, * - Service_Type, * - Acct_Session_ID, * - Acct_Status_Type, * - Framed_Protocol, * - Acct_Input_Octets, * - Acct_Output_Octets, * - Acct_Session_Time, * - Acct_Input_Gigawords, * - Acct_Output_Gigawords * @param context The context of the plugin. * @return An integer, 0 is everything is ok, else 1.*/ int UserAcct::sendUpdatePacket(PluginContext *context) { list * serverlist; list::iterator server; RadiusPacket packet(ACCOUNTING_REQUEST); RadiusAttribute ra1(ATTRIB_User_Name,this->getUsername()), ra2(ATTRIB_Framed_IP_Address,this->getFramedIp()), ra3(ATTRIB_NAS_Port,this->getPortnumber()), ra4(ATTRIB_Calling_Station_Id,this->getCallingStationId()), ra5(ATTRIB_NAS_Identifier), ra6(ATTRIB_NAS_IP_Address), ra7(ATTRIB_NAS_Port_Type), ra8(ATTRIB_Service_Type), ra9(ATTRIB_Acct_Session_ID, this->getSessionId()), ra10(ATTRIB_Acct_Status_Type,string("3")), ra11(ATTRIB_Framed_Protocol), ra12(ATTRIB_Acct_Input_Octets, this->bytesin), ra13(ATTRIB_Acct_Output_Octets, this->bytesout), ra14(ATTRIB_Acct_Session_Time), ra15(ATTRIB_Acct_Input_Gigawords, this->gigain), ra16(ATTRIB_Acct_Output_Gigawords, this->gigaout); //get the server list serverlist=context->radiusconf.getRadiusServer(); //set server on the first server server=serverlist->begin(); //add the attributes to the radius packet if(packet.addRadiusAttribute(&ra1)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Name.\n"; } if (packet.addRadiusAttribute(&ra2)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Password.\n"; } if (packet.addRadiusAttribute(&ra3)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port.\n"; } if (packet.addRadiusAttribute(&ra4)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Calling_Station_Id.\n"; } //get the values from the config and add them to the packet if(strcmp(context->radiusconf.getNASIdentifier(),"")) { ra5.setValue(context->radiusconf.getNASIdentifier()); if (packet.addRadiusAttribute(&ra5)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Identifier.\n"; } } if(strcmp(context->radiusconf.getNASIpAddress(),"")) { if(ra6.setValue(context->radiusconf.getNASIpAddress())!=0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to set value ATTRIB_NAS_Ip_Address.\n"; } if (packet.addRadiusAttribute(&ra6)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Ip_Address.\n"; } } if(strcmp(context->radiusconf.getNASPortType(),"")) { ra7.setValue(context->radiusconf.getNASPortType()); if (packet.addRadiusAttribute(&ra7)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port_Type.\n"; } } if(strcmp(context->radiusconf.getServiceType(),"")) { ra8.setValue(context->radiusconf.getServiceType()); if (packet.addRadiusAttribute(&ra8)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Service_Type.\n"; } } if (packet.addRadiusAttribute(&ra9)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if (packet.addRadiusAttribute(&ra10)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if(strcmp(context->radiusconf.getFramedProtocol(),"")) { ra11.setValue(context->radiusconf.getFramedProtocol()); if (packet.addRadiusAttribute(&ra11)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Framed_Protocol.\n"; } } if (packet.addRadiusAttribute(&ra12)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Input_Packets.\n"; } if (packet.addRadiusAttribute(&ra13)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Output_Packets.\n"; } //calculate the session time ra14.setValue((time(NULL)-this->starttime)); if (packet.addRadiusAttribute(&ra14)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_Time.\n"; } if (packet.addRadiusAttribute(&ra15)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Input_Gigawords.\n"; } if (packet.addRadiusAttribute(&ra16)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Output_Gigawords.\n"; } //send the packet to the server if (packet.radiusSend(server)<0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Packet was not send.\n"; } //get the response if (packet.radiusReceive(serverlist)>=0) { //is the packet a ACCOUNTING_RESPONSE? if(packet.getCode()==ACCOUNTING_RESPONSE) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Get ACCOUNTING_RESPONSET-Packet.\n"; return 0; } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: No response on accounting request.\n"; return 1; } } return 1; } /** The method sends an accouting start packet for the user to the radius server. * The following attributes are sent to the radius server: * - User_Name, * - Framed_IP_Address, * - NAS_Port, * - Calling_Station_Id, * - NAS_Identifier, * - NAS_IP_Address, * - NAS_Port_Type, * - Service_Type, * - Acct_Session_ID, * - Acct_Status_Type, * - Framed_Protocol, * @param context The context of the plugin. * @return An integer, 0 is everything is ok, else 1.*/ int UserAcct::sendStartPacket(PluginContext * context) { list* serverlist; list::iterator server; RadiusPacket packet(ACCOUNTING_REQUEST); RadiusAttribute ra1(ATTRIB_User_Name,this->getUsername()), ra2(ATTRIB_Framed_IP_Address,this->getFramedIp()), ra3(ATTRIB_NAS_Port,this->getPortnumber()), ra4(ATTRIB_Calling_Station_Id,this->getCallingStationId()), ra5(ATTRIB_NAS_Identifier), ra6(ATTRIB_NAS_IP_Address), ra7(ATTRIB_NAS_Port_Type), ra8(ATTRIB_Service_Type), ra9(ATTRIB_Acct_Session_ID, this->getSessionId()), ra10(ATTRIB_Acct_Status_Type,string("1")), ra11(ATTRIB_Framed_Protocol); //get the radius server from the config serverlist=context->radiusconf.getRadiusServer(); //set server to the first from the list server=serverlist->begin(); //add the attributes to the packet if(packet.addRadiusAttribute(&ra1)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Name.\n"; } if (packet.addRadiusAttribute(&ra2)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Password.\n"; } if (packet.addRadiusAttribute(&ra3)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port.\n"; } if (packet.addRadiusAttribute(&ra4)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Calling_Station_Id.\n"; } //get information from the config and add the attributes to the packet if(strcmp(context->radiusconf.getNASIdentifier(),"")) { ra5.setValue(context->radiusconf.getNASIdentifier()); if (packet.addRadiusAttribute(&ra5)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Identifier.\n"; } } if(strcmp(context->radiusconf.getNASIpAddress(),"")) { if(ra6.setValue(context->radiusconf.getNASIpAddress())!=0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to set value ATTRIB_NAS_Ip_Address.\n"; } if (packet.addRadiusAttribute(&ra6)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Ip_Address.\n"; } } if(strcmp(context->radiusconf.getNASPortType(),"")) { ra7.setValue(context->radiusconf.getNASPortType()); if (packet.addRadiusAttribute(&ra7)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port_Type.\n"; } } if(strcmp(context->radiusconf.getServiceType(),"")) { ra8.setValue(context->radiusconf.getServiceType()); if (packet.addRadiusAttribute(&ra8)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Service_Type.\n"; } } if (packet.addRadiusAttribute(&ra9)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if (packet.addRadiusAttribute(&ra10)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if(strcmp(context->radiusconf.getFramedProtocol(),"")) { ra11.setValue(context->radiusconf.getFramedProtocol()); if (packet.addRadiusAttribute(&ra11)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Framed_Protocol.\n"; } } //send the packet if (packet.radiusSend(server)<0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Packet was not send.\n"; } //receive the response if (packet.radiusReceive(serverlist)>=0) { //is is a accounting resopnse ? if(packet.getCode()==ACCOUNTING_RESPONSE) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Get ACCOUNTING_RESPONSET-Packet.\n"; return 0; } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: No response on accounting request.\n"; return 1; } } return 1; } /** The method sends an accounting stop packet for the user to the radius server. * The accounting information are read from the OpenVpn * status file. The following attributes are sent to the radius server: * - User_Name, * - Framed_IP_Address, * - NAS_Port, * - Calling_Station_Id, * - NAS_Identifier, * - NAS_IP_Address, * - NAS_Port_Type, * - Service_Type, * - Acct_Session_ID, * - Acct_Status_Type, * - Framed_Protocol, * - Acct_Input_Octets, * - Acct_Output_Octets, * - Acct_Session_Time * @param context The context of the plugin. * @return An integer, 0 is everything is ok, else 1.*/ int UserAcct::sendStopPacket(PluginContext * context) { list * serverlist; list::iterator server; RadiusPacket packet(ACCOUNTING_REQUEST); RadiusAttribute ra1(ATTRIB_User_Name,this->getUsername()), ra2(ATTRIB_Framed_IP_Address,this->getFramedIp()), ra3(ATTRIB_NAS_Port,this->portnumber), ra4(ATTRIB_Calling_Station_Id,this->getCallingStationId()), ra5(ATTRIB_NAS_Identifier), ra6(ATTRIB_NAS_IP_Address), ra7(ATTRIB_NAS_Port_Type), ra8(ATTRIB_Service_Type), ra9(ATTRIB_Acct_Session_ID, this->getSessionId()), ra10(ATTRIB_Acct_Status_Type,string("2")), ra11(ATTRIB_Framed_Protocol), ra12(ATTRIB_Acct_Input_Octets, this->bytesin), ra13(ATTRIB_Acct_Output_Octets, this->bytesout), ra14(ATTRIB_Acct_Session_Time), ra15(ATTRIB_Acct_Input_Gigawords, this->gigain), ra16(ATTRIB_Acct_Output_Gigawords, this->gigaout); //get the server from the config serverlist=context->radiusconf.getRadiusServer(); //set server to the first server server=serverlist->begin(); //add the attributes to the packet if(packet.addRadiusAttribute(&ra1)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Name.\n"; } if (packet.addRadiusAttribute(&ra2)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_FramedIP_Adress.\n"; } if (packet.addRadiusAttribute(&ra3)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port.\n"; } if (packet.addRadiusAttribute(&ra4)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Calling_Station_Id.\n"; } //get information from th config and ad it to the packet if(strcmp(context->radiusconf.getNASIdentifier(),"")) { ra5.setValue(context->radiusconf.getNASIdentifier()); if (packet.addRadiusAttribute(&ra5)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Identifier.\n"; } } if(strcmp(context->radiusconf.getNASIpAddress(),"")) { if(ra6.setValue(context->radiusconf.getNASIpAddress())!=0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to set value ATTRIB_NAS_Ip_Address.\n"; } else if (packet.addRadiusAttribute(&ra6)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Ip_Address.\n"; } } if(strcmp(context->radiusconf.getNASPortType(),"")) { ra7.setValue(context->radiusconf.getNASPortType()); if (packet.addRadiusAttribute(&ra7)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port_Type.\n"; } } if(strcmp(context->radiusconf.getServiceType(),"")) { ra8.setValue(context->radiusconf.getServiceType()); if (packet.addRadiusAttribute(&ra8)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Service_Type.\n"; } } if (packet.addRadiusAttribute(&ra9)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if (packet.addRadiusAttribute(&ra10)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if(strcmp(context->radiusconf.getFramedProtocol(),"")) { ra11.setValue(context->radiusconf.getFramedProtocol()); if (packet.addRadiusAttribute(&ra11)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Framed_Protocol.\n"; } } if (packet.addRadiusAttribute(&ra12)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Input_Packets.\n"; } if (packet.addRadiusAttribute(&ra13)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Output_Packets.\n"; } //calculate the session time ra14.setValue(time(NULL)-this->starttime); if (packet.addRadiusAttribute(&ra14)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_Time.\n"; } if (packet.addRadiusAttribute(&ra15)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Input_Gigawords.\n"; } if (packet.addRadiusAttribute(&ra16)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Output_Gigawords.\n"; } //send the packet if (packet.radiusSend(server)<0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Packet was not send.\n"; } //get the response if (packet.radiusReceive(serverlist)>=0) { //is it an accounting response if(packet.getCode()==ACCOUNTING_RESPONSE) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Get ACCOUNTING_RESPONSE-Packet.\n"; return 0; } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: No response on accounting request.\n"; return 1; } } return 1; } /** The method deletes ths systemroutes of the user. * @param context The context of the plugin. */ void UserAcct::delSystemRoutes(PluginContext * context) { char * route; char framedip[16]; char routestring[100]; char framednetmask_cidr[3]; char framedgw[16]; char framedmetric[5]; char * framedroutes; int j=0,k=0,len=0; //copy the framed route string to an char array, it is easier to //analyse framedroutes=new char[this->getFramedRoutes().size()+1]; memset(framedroutes,0,this->getFramedRoutes().size()+1); // copy in a temp-string, becaue strtok deletes the delimiter, if it used anywhere strncpy(framedroutes,this->getFramedRoutes().c_str(),this->getFramedRoutes().size()); //are there framed routes if (framedroutes[0]!='\0') { //get the first route route=strtok(framedroutes,";"); len=strlen(route); if (len > 50) //this is to big!! but the length is variable { cerr << getTime() <<"RADIUS-PLUGIN: BACKGROUND-ACCT: Argument for Framed Route is to long (>100 Characters).\n"; } else { while (route!=NULL) { //set the arrays to 0 memset(routestring,0,100); memset(framednetmask_cidr,0,3); memset(framedip,0,16); memset(framedgw,0,16); memset(framedmetric,0,5); j=0;k=0; //get ip address and add it to framedip while(route[j]!='/' && j /dev/null",13); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Create route string "<< routestring <<".\n"; //system call if(system(routestring)!=0) //if(1)//-> the debugg can't context system() { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Route " << routestring << " could not set. Route already set or bad route string.\n"; } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Add route to system routing table.\n"; } //get the next route route=strtok(NULL,";"); } } } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: No routes for user in AccessAcceptPacket.\n"; } //free the char array delete [] framedroutes; } /** The method adds ths routes of the user to the system routing table. * @param context The context of the plugin. */ void UserAcct::addSystemRoutes(PluginContext * context) { char * route; char framedip[16]; char routestring[100]; char framednetmask_cidr[3]; char framedgw[16]; char framedmetric[5]; char * framedroutes; int j=0,k=0,len=0; //copy the framed route string to an char array, it is easier to //analyse framedroutes=new char[this->getFramedRoutes().size()+1]; memset(framedroutes,0,this->getFramedRoutes().size()+1); // copy in a temp-string, becaue strtok deletes the delimiter, if it used anywhere strncpy(framedroutes,this->getFramedRoutes().c_str(),this->getFramedRoutes().size()); //are there framed routes if (framedroutes[0]!='\0') { //get the first route route=strtok(framedroutes,";"); len=strlen(route); if (len > 50) //this is to big!! but the length is variable { cerr << getTime() <<"RADIUS-PLUGIN: BACKGROUND-ACCT: Argument for Framed Route is to long (>50 Characters).\n"; } else { while (route!=NULL) { //set the arrays to 0 memset(routestring,0,100); memset(framednetmask_cidr,0,3); memset(framedip,0,16); memset(framedgw,0,16); memset(framedmetric,0,5); j=0;k=0; //get ip address and add it to framedip while(route[j]!='/' && j /dev/null",13); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Create route string "<< routestring << ".\n"; //system call route if(system(routestring)!=0) //if(1)//-> the debugg can't context system() { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Route " << routestring << " could not set. Route already set or bad route string.\n"; } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Add route to system routing table.\n"; } //get the next route route=strtok(NULL,";"); } } } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: No routes for user.\n"; } //fre the chat array delete [] framedroutes; } /** The assignment-operator. * @param u A refernece to a UserAcct.*/ UserAcct & UserAcct::operator=(const UserAcct &u) { if (this!=&u) { this->sessionid=u.sessionid; //this->servicetype=u.servicetype; this->gigain=u.gigain; this->gigaout=u.gigaout; this->bytesin=u.bytesin; this->bytesout=u.bytesout; this->nextupdate=u.nextupdate; this->starttime=u.starttime; } return *this; } /**The copy constructor, it calls first the copy constructor * of the User class. * @param UserAcct u : A reference to an UserAcct object.*/ UserAcct::UserAcct(const UserAcct &u):User(u) { this->sessionid=u.sessionid; //this->servicetype=u.servicetype; this->gigain=u.gigain; this->gigaout=u.gigaout; this->bytesin=u.bytesin; this->bytesout=u.bytesout; this->nextupdate=u.nextupdate; this->starttime=u.starttime; } /** The getter method for the sessionid. * @return An integer of the sessionid.*/ string UserAcct::getSessionId(void) { return this->sessionid; } /**The setter method for the sessionid. * @param id The session id.*/ void UserAcct::setSessionId(string id) { this->sessionid=id; } /** The getter method for the gigain variable. * @return The number of received giga.*/ uint32_t UserAcct::getGigaIn(void) { return this->gigain; } /**The setter method for the gigain variable. * @param giga The received giga.*/ void UserAcct::setGigaIn(uint32_t giga) { this->gigain=giga; } /** The getter method for the gigaout variable. * @return The number of sent giga.*/ uint32_t UserAcct::getGigaOut(void) { return this->gigaout; } /**The setter method for the gigaout variable. * @param giga The sended giga.*/ void UserAcct::setGigaOut(uint32_t giga) { this->gigaout=giga; } /** The getter method for the bytesin variable. * @return The number of received bytes.*/ uint32_t UserAcct::getBytesIn(void) { return this->bytesin; } /**The setter method for the bytesin variable. * @param bytes The received bytes.*/ void UserAcct::setBytesIn(uint32_t bytes) { this->bytesin=bytes; } /** The getter method for the bytesout variable. * @return The number of sent bytes.*/ uint32_t UserAcct::getBytesOut(void) { return this->bytesout; } /**The setter method for the bytesout variable. * @param bytes The sended bytes.*/ void UserAcct::setBytesOut(uint32_t bytes) { this->bytesout=bytes; } /** The getter method for the startime. * @return The starttime.*/ time_t UserAcct::getStarttime(void) { return this->starttime; } /**The setter method for the nextupdate. * @param t The starttime*/ void UserAcct::setStarttime(time_t t) { this->starttime=t; } /** The getter method for the nextupdate. * @return A struct of the nextupdate.*/ time_t UserAcct::getNextUpdate(void) { return this->nextupdate; } /**The setter method for the nextupdate. * @param t The nextupdate.*/ void UserAcct::setNextUpdate(time_t t) { this->nextupdate=t; } int UserAcct::deleteCcdFile(PluginContext * context) { string filename; filename = context->conf.getCcdPath()+ this->getCommonname(); if(context->conf.getOverWriteCCFiles()==true) { remove(filename.c_str()); } else { cerr << getTime() << "RADIUS-PLUGIN: Client config file was not deleted, overwriteccfiles is false \n."; } return 0; } radiusplugin/radiusplugin.h000644 001750 001750 00000007355 11146034615 014656 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _PLUGIN_H_ #define _PLUGIN_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "RadiusClass/RadiusAttribute.h" #include "RadiusClass/RadiusPacket.h" #include "RadiusClass/RadiusServer.h" #include "RadiusClass/RadiusServer.h" #include "RadiusClass/RadiusConfig.h" #include "RadiusClass/radius.h" #include "openvpn-plugin.h" #include "PluginContext.h" #include "UserPlugin.h" #include "UserAuth.h" #include "UserAcct.h" #include "AcctScheduler.h" #include "Exception.h" #include "AccountingProcess.h" #include "AuthenticationProcess.h" using namespace std; /** This file defines some constants and some functions. The constants and functions * are the original function from openvpn auth-pam plugin.*/ #define DEBUG(verb) ((verb) >= 5) /**< A macro for the debugging.*/ /* Command codes for foreground -> background communication */ #define COMMAND_VERIFY 0 /** foreground communication */ #define RESPONSE_INIT_SUCCEEDED 10 /**< Response code from background process to foreground procce.*/ #define RESPONSE_INIT_FAILED 11 /**< Response code from background process to foreground procce.*/ #define RESPONSE_SUCCEEDED 12 /**< Response code from background process to foreground procce.*/ #define RESPONSE_FAILED 13 /**< Response code from background process to foreground procce.*/ /** A struct for additional command line arguments.*/ struct name_value { const char *name; /**= 2.1 rc8) provides them. # default is false # useauthcontrolfile=false # Path to a script for vendor specific attributes. # Leave it out if you don't use an own script. # vsascript=/root/workspace/radiusplugin_v2.0.5_beta/vsascript.pl # Path to the pipe for communication with the vsascript. # Leave it out if you don't use an own script. # vsanamedpipe=/tmp/vsapipe # A radius server definition, there could be more than one. # The priority of the server depends on the order in this file. The first one has the highest priority. server { # The UDP port for radius accounting. acctport=1813 # The UDP port for radius authentication. authport=1812 # The name or ip address of the radius server. name=192.168.0.153 # How many times should the plugin send the if there is no response? retry=1 # How long should the plugin wait for a response? wait=1 # The shared secret. sharedsecret=testpw } server { # The UDP port for radius accounting. acctport=1813 # The UDP port for radius authentication. authport=1812 # The name or ip address of the radius server. name=127.0.0.1 # How many times should the plugin send the if there is no response? retry=1 # How long should the plugin wait for a response? wait=1 # The shared secret. sharedsecret=testpw } radiusplugin/COPYING000644 001750 001750 00000043106 10650426421 013023 0ustar00000000 000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. radiusplugin/UserAcct.cpp000644 001750 001750 00000065721 11355306072 014216 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "UserAcct.h" #include "radiusplugin.h" /** The constructor calls the super constructor of the class User and the variables * sessionid, bytesin, bytesout, nextupdate and starttime are set to 0.*/ UserAcct::UserAcct():User() { gigain=0; gigaout=0; bytesin=0; bytesout=0; nextupdate=0; starttime=0; } /** The destructor. Nothing happens here.*/ UserAcct::~UserAcct() { } /** The assignment-operator. * @param u A refernece to a UserAcct.*/ UserAcct & UserAcct::operator=(const UserAcct &u) { if (this!=&u) { this->User::operator=(u); this->gigain=u.gigain; this->gigaout=u.gigaout; this->bytesin=u.bytesin; this->bytesout=u.bytesout; this->nextupdate=u.nextupdate; this->starttime=u.starttime; } return *this; } /**The copy constructor, it calls first the copy constructor * of the User class. * @param UserAcct u : A reference to an UserAcct object.*/ UserAcct::UserAcct(const UserAcct &u):User(u) { this->gigain=u.gigain; this->gigaout=u.gigaout; this->bytesin=u.bytesin; this->bytesout=u.bytesout; this->nextupdate=u.nextupdate; this->starttime=u.starttime; } /** The method sends an accounting update packet for the user to the radius server. * The accounting information are read from the OpenVpn * status file. The following attributes are sent to the radius server: * - User_Name, * - Framed_IP_Address, * - NAS_Port, * - Calling_Station_Id, * - NAS_Identifier, * - NAS_IP_Address, * - NAS_Port_Type, * - Service_Type, * - Acct_Session_ID, * - Acct_Status_Type, * - Framed_Protocol, * - Acct_Input_Octets, * - Acct_Output_Octets, * - Acct_Session_Time, * - Acct_Input_Gigawords, * - Acct_Output_Gigawords * @param context The context of the plugin. * @return An integer, 0 is everything is ok, else 1.*/ int UserAcct::sendUpdatePacket(PluginContext *context) { list * serverlist; list::iterator server; RadiusPacket packet(ACCOUNTING_REQUEST); RadiusAttribute ra1(ATTRIB_User_Name,this->getUsername()), ra2(ATTRIB_Framed_IP_Address,this->getFramedIp()), ra3(ATTRIB_NAS_Port,this->getPortnumber()), ra4(ATTRIB_Calling_Station_Id,this->getCallingStationId()), ra5(ATTRIB_NAS_Identifier), ra6(ATTRIB_NAS_IP_Address), ra7(ATTRIB_NAS_Port_Type), ra8(ATTRIB_Service_Type), ra9(ATTRIB_Acct_Session_ID, this->getSessionId()), ra10(ATTRIB_Acct_Status_Type,string("3")), // "Alive" ra11(ATTRIB_Framed_Protocol), ra12(ATTRIB_Acct_Input_Octets, this->bytesin), ra13(ATTRIB_Acct_Output_Octets, this->bytesout), ra14(ATTRIB_Acct_Session_Time), ra15(ATTRIB_Acct_Input_Gigawords, this->gigain), ra16(ATTRIB_Acct_Output_Gigawords, this->gigaout); //get the server list serverlist=context->radiusconf.getRadiusServer(); //set server on the first server server=serverlist->begin(); //add the attributes to the radius packet if(packet.addRadiusAttribute(&ra1)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Name.\n"; } if (packet.addRadiusAttribute(&ra2)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Password.\n"; } if (packet.addRadiusAttribute(&ra3)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port.\n"; } if (packet.addRadiusAttribute(&ra4)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Calling_Station_Id.\n"; } //get the values from the config and add them to the packet if(strcmp(context->radiusconf.getNASIdentifier(),"")) { ra5.setValue(context->radiusconf.getNASIdentifier()); if (packet.addRadiusAttribute(&ra5)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Identifier.\n"; } } if(strcmp(context->radiusconf.getNASIpAddress(),"")) { if(ra6.setValue(context->radiusconf.getNASIpAddress())!=0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to set value ATTRIB_NAS_Ip_Address.\n"; } if (packet.addRadiusAttribute(&ra6)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Ip_Address.\n"; } } if(strcmp(context->radiusconf.getNASPortType(),"")) { ra7.setValue(context->radiusconf.getNASPortType()); if (packet.addRadiusAttribute(&ra7)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port_Type.\n"; } } if(strcmp(context->radiusconf.getServiceType(),"")) { ra8.setValue(context->radiusconf.getServiceType()); if (packet.addRadiusAttribute(&ra8)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Service_Type.\n"; } } if (packet.addRadiusAttribute(&ra9)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if (packet.addRadiusAttribute(&ra10)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if(strcmp(context->radiusconf.getFramedProtocol(),"")) { ra11.setValue(context->radiusconf.getFramedProtocol()); if (packet.addRadiusAttribute(&ra11)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Framed_Protocol.\n"; } } if (packet.addRadiusAttribute(&ra12)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Input_Packets.\n"; } if (packet.addRadiusAttribute(&ra13)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Output_Packets.\n"; } //calculate the session time ra14.setValue((time(NULL)-this->starttime)); if (packet.addRadiusAttribute(&ra14)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_Time.\n"; } if (packet.addRadiusAttribute(&ra15)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Input_Gigawords.\n"; } if (packet.addRadiusAttribute(&ra16)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Output_Gigawords.\n"; } //send the packet to the server if (packet.radiusSend(server)<0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Packet was not sent.\n"; } //get the response if (packet.radiusReceive(serverlist)>=0) { //is the packet a ACCOUNTING_RESPONSE? if(packet.getCode()==ACCOUNTING_RESPONSE) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Get ACCOUNTING_RESPONSE-Packet.\n"; return 0; } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: No response on accounting request.\n"; return 1; } } return 1; } /** The method sends an accouting start packet for the user to the radius server. * The following attributes are sent to the radius server: * - User_Name, * - Framed_IP_Address, * - NAS_Port, * - Calling_Station_Id, * - NAS_Identifier, * - NAS_IP_Address, * - NAS_Port_Type, * - Service_Type, * - Acct_Session_ID, * - Acct_Status_Type, * - Framed_Protocol, * @param context The context of the plugin. * @return An integer, 0 is everything is ok, else 1.*/ int UserAcct::sendStartPacket(PluginContext * context) { list* serverlist; list::iterator server; RadiusPacket packet(ACCOUNTING_REQUEST); RadiusAttribute ra1(ATTRIB_User_Name,this->getUsername()), ra2(ATTRIB_Framed_IP_Address,this->getFramedIp()), ra3(ATTRIB_NAS_Port,this->getPortnumber()), ra4(ATTRIB_Calling_Station_Id,this->getCallingStationId()), ra5(ATTRIB_NAS_Identifier), ra6(ATTRIB_NAS_IP_Address), ra7(ATTRIB_NAS_Port_Type), ra8(ATTRIB_Service_Type), ra9(ATTRIB_Acct_Session_ID, this->getSessionId()), ra10(ATTRIB_Acct_Status_Type,string("1")), // "Start" ra11(ATTRIB_Framed_Protocol); //get the radius server from the config serverlist=context->radiusconf.getRadiusServer(); //set server to the first from the list server=serverlist->begin(); //add the attributes to the packet if(packet.addRadiusAttribute(&ra1)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Name.\n"; } if (packet.addRadiusAttribute(&ra2)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Password.\n"; } if (packet.addRadiusAttribute(&ra3)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port.\n"; } if (packet.addRadiusAttribute(&ra4)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Calling_Station_Id.\n"; } //get information from the config and add the attributes to the packet if(strcmp(context->radiusconf.getNASIdentifier(),"")) { ra5.setValue(context->radiusconf.getNASIdentifier()); if (packet.addRadiusAttribute(&ra5)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Identifier.\n"; } } if(strcmp(context->radiusconf.getNASIpAddress(),"")) { if(ra6.setValue(context->radiusconf.getNASIpAddress())!=0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to set value ATTRIB_NAS_Ip_Address.\n"; } if (packet.addRadiusAttribute(&ra6)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Ip_Address.\n"; } } if(strcmp(context->radiusconf.getNASPortType(),"")) { ra7.setValue(context->radiusconf.getNASPortType()); if (packet.addRadiusAttribute(&ra7)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port_Type.\n"; } } if(strcmp(context->radiusconf.getServiceType(),"")) { ra8.setValue(context->radiusconf.getServiceType()); if (packet.addRadiusAttribute(&ra8)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Service_Type.\n"; } } if (packet.addRadiusAttribute(&ra9)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if (packet.addRadiusAttribute(&ra10)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if(strcmp(context->radiusconf.getFramedProtocol(),"")) { ra11.setValue(context->radiusconf.getFramedProtocol()); if (packet.addRadiusAttribute(&ra11)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Framed_Protocol.\n"; } } //send the packet if (packet.radiusSend(server)<0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Packet was not sent.\n"; } //receive the response if (packet.radiusReceive(serverlist)>=0) { //is is a accounting resopnse ? if(packet.getCode()==ACCOUNTING_RESPONSE) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Get ACCOUNTING_RESPONSE-Packet.\n"; return 0; } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: No response on accounting request.\n"; return 1; } } return 1; } /** The method sends an accounting stop packet for the user to the radius server. * The accounting information are read from the OpenVpn * status file. The following attributes are sent to the radius server: * - User_Name, * - Framed_IP_Address, * - NAS_Port, * - Calling_Station_Id, * - NAS_Identifier, * - NAS_IP_Address, * - NAS_Port_Type, * - Service_Type, * - Acct_Session_ID, * - Acct_Status_Type, * - Framed_Protocol, * - Acct_Input_Octets, * - Acct_Output_Octets, * - Acct_Session_Time * @param context The context of the plugin. * @return An integer, 0 is everything is ok, else 1.*/ int UserAcct::sendStopPacket(PluginContext * context) { list * serverlist; list::iterator server; RadiusPacket packet(ACCOUNTING_REQUEST); RadiusAttribute ra1(ATTRIB_User_Name,this->getUsername()), ra2(ATTRIB_Framed_IP_Address,this->getFramedIp()), ra3(ATTRIB_NAS_Port,this->portnumber), ra4(ATTRIB_Calling_Station_Id,this->getCallingStationId()), ra5(ATTRIB_NAS_Identifier), ra6(ATTRIB_NAS_IP_Address), ra7(ATTRIB_NAS_Port_Type), ra8(ATTRIB_Service_Type), ra9(ATTRIB_Acct_Session_ID, this->getSessionId()), ra10(ATTRIB_Acct_Status_Type,string("2")), // "Stop" ra11(ATTRIB_Framed_Protocol), ra12(ATTRIB_Acct_Input_Octets, this->bytesin), ra13(ATTRIB_Acct_Output_Octets, this->bytesout), ra14(ATTRIB_Acct_Session_Time), ra15(ATTRIB_Acct_Input_Gigawords, this->gigain), ra16(ATTRIB_Acct_Output_Gigawords, this->gigaout); //get the server from the config serverlist=context->radiusconf.getRadiusServer(); //set server to the first server server=serverlist->begin(); //add the attributes to the packet if(packet.addRadiusAttribute(&ra1)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Name.\n"; } if (packet.addRadiusAttribute(&ra2)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_FramedIP_Adress.\n"; } if (packet.addRadiusAttribute(&ra3)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port.\n"; } if (packet.addRadiusAttribute(&ra4)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Calling_Station_Id.\n"; } //get information from th config and ad it to the packet if(strcmp(context->radiusconf.getNASIdentifier(),"")) { ra5.setValue(context->radiusconf.getNASIdentifier()); if (packet.addRadiusAttribute(&ra5)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Identifier.\n"; } } if(strcmp(context->radiusconf.getNASIpAddress(),"")) { if(ra6.setValue(context->radiusconf.getNASIpAddress())!=0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to set value ATTRIB_NAS_Ip_Address.\n"; } else if (packet.addRadiusAttribute(&ra6)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Ip_Address.\n"; } } if(strcmp(context->radiusconf.getNASPortType(),"")) { ra7.setValue(context->radiusconf.getNASPortType()); if (packet.addRadiusAttribute(&ra7)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port_Type.\n"; } } if(strcmp(context->radiusconf.getServiceType(),"")) { ra8.setValue(context->radiusconf.getServiceType()); if (packet.addRadiusAttribute(&ra8)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Service_Type.\n"; } } if (packet.addRadiusAttribute(&ra9)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if (packet.addRadiusAttribute(&ra10)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if(strcmp(context->radiusconf.getFramedProtocol(),"")) { ra11.setValue(context->radiusconf.getFramedProtocol()); if (packet.addRadiusAttribute(&ra11)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Framed_Protocol.\n"; } } if (packet.addRadiusAttribute(&ra12)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Input_Packets.\n"; } if (packet.addRadiusAttribute(&ra13)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Output_Packets.\n"; } //calculate the session time ra14.setValue(time(NULL)-this->starttime); if (packet.addRadiusAttribute(&ra14)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_Time.\n"; } if (packet.addRadiusAttribute(&ra15)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Input_Gigawords.\n"; } if (packet.addRadiusAttribute(&ra16)) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Output_Gigawords.\n"; } //send the packet if (packet.radiusSend(server)<0) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Packet was not sent.\n"; } //get the response if (packet.radiusReceive(serverlist)>=0) { //is it an accounting response if(packet.getCode()==ACCOUNTING_RESPONSE) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Get ACCOUNTING_RESPONSE-Packet.\n"; return 0; } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: No response on accounting request.\n"; return 1; } } return 1; } /** The method deletes ths systemroutes of the user. * @param context The context of the plugin. */ void UserAcct::delSystemRoutes(PluginContext * context) { char * route; char framedip[16]; char routestring[100]; char framednetmask_cidr[3]; char framedgw[16]; char framedmetric[5]; char * framedroutes; int j=0,k=0,len=0; //copy the framed route string to an char array, it is easier to //analyse framedroutes=new char[this->getFramedRoutes().size()+1]; memset(framedroutes,0,this->getFramedRoutes().size()+1); // copy in a temp-string, because strtok deletes the delimiter, if it used anywhere strncpy(framedroutes,this->getFramedRoutes().c_str(),this->getFramedRoutes().size()); //are there framed routes if (framedroutes[0]!='\0') { //get the first route route=strtok(framedroutes,";"); len=strlen(route); if (len > 50) //this is too big!! but the length is variable { cerr << getTime() <<"RADIUS-PLUGIN: BACKGROUND-ACCT: Argument for Framed Route is too long (>50 Characters).\n"; } else { while (route!=NULL) { //set the arrays to 0 memset(routestring,0,100); memset(framednetmask_cidr,0,3); memset(framedip,0,16); memset(framedgw,0,16); memset(framedmetric,0,5); j=0;k=0; //get ip address and add it to framedip while(route[j]!='/' && j /dev/null",13); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Create route string "<< routestring <<".\n"; //system call if(system(routestring)!=0) //if(1)//-> the debugg can't context system() { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Route " << routestring << " could not set. Route already set or bad route string.\n"; } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Add route to system routing table.\n"; } //get the next route route=strtok(NULL,";"); } } } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: No routes for user in AccessAcceptPacket.\n"; } //free the char array delete [] framedroutes; } /** The method adds ths routes of the user to the system routing table. * @param context The context of the plugin. */ void UserAcct::addSystemRoutes(PluginContext * context) { char * route; char framedip[16]; char routestring[100]; char framednetmask_cidr[3]; char framedgw[16]; char framedmetric[5]; char * framedroutes; int j=0,k=0,len=0; //copy the framed route string to an char array, it is easier to //analyse framedroutes=new char[this->getFramedRoutes().size()+1]; memset(framedroutes,0,this->getFramedRoutes().size()+1); // copy in a temp-string, becaue strtok deletes the delimiter, if it used anywhere strncpy(framedroutes,this->getFramedRoutes().c_str(),this->getFramedRoutes().size()); //are there framed routes if (framedroutes[0]!='\0') { //get the first route route=strtok(framedroutes,";"); len=strlen(route); if (len > 50) //this is to big!! but the length is variable { cerr << getTime() <<"RADIUS-PLUGIN: BACKGROUND-ACCT: Argument for Framed Route is to long (>50 Characters).\n"; } else { while (route!=NULL) { //set the arrays to 0 memset(routestring,0,100); memset(framednetmask_cidr,0,3); memset(framedip,0,16); memset(framedgw,0,16); memset(framedmetric,0,5); j=0;k=0; //get ip address and add it to framedip while(route[j]!='/' && j /dev/null",13); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Create route string "<< routestring << ".\n"; //system call route if(system(routestring)!=0) //if(1)//-> the debugg can't context system() { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Route " << routestring << " could not set. Route already set or bad route string.\n"; } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Add route to system routing table.\n"; } //get the next route route=strtok(NULL,";"); } } } else { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: No routes for user.\n"; } //fre the chat array delete [] framedroutes; } /** The getter method for the gigain variable. * @return The number of received giga.*/ uint32_t UserAcct::getGigaIn(void) { return this->gigain; } /**The setter method for the gigain variable. * @param giga The received giga.*/ void UserAcct::setGigaIn(uint32_t giga) { this->gigain=giga; } /** The getter method for the gigaout variable. * @return The number of sent giga.*/ uint32_t UserAcct::getGigaOut(void) { return this->gigaout; } /**The setter method for the gigaout variable. * @param giga The sended giga.*/ void UserAcct::setGigaOut(uint32_t giga) { this->gigaout=giga; } /** The getter method for the bytesin variable. * @return The number of received bytes.*/ uint32_t UserAcct::getBytesIn(void) { return this->bytesin; } /**The setter method for the bytesin variable. * @param bytes The received bytes.*/ void UserAcct::setBytesIn(uint32_t bytes) { this->bytesin=bytes; } /** The getter method for the bytesout variable. * @return The number of sent bytes.*/ uint32_t UserAcct::getBytesOut(void) { return this->bytesout; } /**The setter method for the bytesout variable. * @param bytes The sended bytes.*/ void UserAcct::setBytesOut(uint32_t bytes) { this->bytesout=bytes; } /** The getter method for the startime. * @return The starttime.*/ time_t UserAcct::getStarttime(void) { return this->starttime; } /**The setter method for the nextupdate. * @param t The starttime*/ void UserAcct::setStarttime(time_t t) { this->starttime=t; } /** The getter method for the nextupdate. * @return A struct of the nextupdate.*/ time_t UserAcct::getNextUpdate(void) { return this->nextupdate; } /**The setter method for the nextupdate. * @param t The nextupdate.*/ void UserAcct::setNextUpdate(time_t t) { this->nextupdate=t; } int UserAcct::deleteCcdFile(PluginContext * context) { string filename; filename = context->conf.getCcdPath()+ this->getCommonname(); if(context->conf.getOverWriteCCFiles()==true && (this->getFramedIp().length() > 0 || this->getFramedRoutes().length() > 0)) { remove(filename.c_str()); } else { cerr << getTime() << "RADIUS-PLUGIN: Client config file was not deleted, overwriteccfiles is false \n."; } return 0; } radiusplugin/UserAcct.h000644 001750 001750 00000004563 11355300617 013657 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _USER_ACCT_H_ #define _USER_ACCT_H_ #include #include #include "RadiusClass/RadiusPacket.h" //#include "openvpn-plugin.h" #include "User.h" #include "UserPlugin.h" #include "PluginContext.h" /** The class represents a user in the accounting background process. The class is * derived from the User class. This class defined additonal attributes * for accouting a user.*/ class UserAcct : public User { private: uint32_t gigain; /**< The received bytes.*/ uint32_t gigaout; /**< The sent bytes.*/ uint32_t bytesin; /**< The received bytes.*/ uint32_t bytesout; /**< The sent bytes.*/ time_t nextupdate; /**< The next update time.*/ time_t starttime; /**< The start time of the connection.*/ public: UserAcct(); ~UserAcct(); int getServiceType(void); void setServiceType(int); uint32_t getGigaIn(void); void setGigaIn(uint32_t); uint32_t getGigaOut(void); void setGigaOut(uint32_t); uint32_t getBytesIn(void); void setBytesIn(uint32_t); uint32_t getBytesOut(void); void setBytesOut(uint32_t); time_t getStarttime(void); void setStarttime(time_t); time_t getNextUpdate(void); void setNextUpdate(time_t); UserAcct & operator=(const UserAcct &); UserAcct(const UserAcct &); int sendUpdatePacket(PluginContext *); int sendStartPacket(PluginContext *); int sendStopPacket(PluginContext *); void addSystemRoutes(PluginContext * ); void delSystemRoutes(PluginContext * context); int deleteCcdFile(PluginContext *); }; #endif //_USER_ACCT_H_ radiusplugin/Config.h000644 001750 001750 00000006404 11154746514 013356 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _CONFIG_H_ #define _CONFIG_H_ #include #include #include #include "RadiusClass/error.h" #include #include using namespace std; /**This class represents the configurations attributes (without radius configuration) which * can set in the configuration file and methods for the attributes. */ class Config { private: string ccdPath; /** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "IpcSocket.h" /** The constructor sets the socket to -1.*/ IpcSocket::IpcSocket() { this->socket=-1; } /** The constructor sets the socket number. * @param int : The socket number. */ IpcSocket::IpcSocket(int s) { this->socket=s; } /** The destructor closes the socket * if it is not equal -1. */ IpcSocket::~IpcSocket() { if (socket != -1) { close (this->socket); } this->socket=-1; } /** The method sets the socket to s. * @param s The socket number. */ void IpcSocket::setSocket(int s) { this->socket=s; } /**The method returns the socket number * @return The socket number. */ int IpcSocket::getSocket(void) { return this->socket; } /**The method sends a string via the * socket. First the length of the string is sent * and then the string itself. * @param str The string to send. * @throws Exception::SOCKETSEND if the length or the string could not send * correctly. */ void IpcSocket::send(string str) { ssize_t len = str.size(); ssize_t size=0; //send the length of the string size = write(this->socket, &len, sizeof(ssize_t)); if (size != sizeof(ssize_t)) { throw Exception(Exception::SOCKETSEND); } if(len > 0) { //send the string size = write(this->socket, str.c_str(), len); if (size != len) { throw Exception(Exception::SOCKETSEND); } } } /**The method sends a buffer via the * socket. First the length of the buffer is sent * and then the buffer itself. * @param value The buffer to send. * @throws Exception::SOCKETSEND if the length or the buffer could not send * correctly. */ void IpcSocket::send(Octet * value, ssize_t len) { ssize_t size=0; //send the length of the string size = write (this->socket, &len, sizeof(ssize_t)); if (size != sizeof(ssize_t)) { throw Exception(Exception::SOCKETSEND); } if (len > 0) { //send the buffer size = write (this->socket, value, len); if (size != len) { throw Exception(Exception::SOCKETSEND); } } } /**The method sends an integer via * the socket. * @param int : The integer to send. * @throws Exception::SOCKETSEND if the size of the * integer and the sent size are not equal. */ void IpcSocket::send(int num) { const ssize_t size = write (this->socket, &num, sizeof(int)); if (size != sizeof(int)) { throw Exception(Exception::SOCKETSEND); } } /**The method receives an integer from the socket. * @return The received integer. * @throws Exception::SOCKETRECV If the received size * is not the size of an integer. */ int IpcSocket::recvInt(void) { int num; ssize_t size; size = read(this->socket, &num, sizeof(int)); if (size != sizeof(int)) { throw Exception(Exception::SOCKETRECV); } return num; } /**The method receives a string from the socket. * First it receives the length, then * creates a buffer with the length and writes * the bytes from the socket into the buffer. * The buffer is copied in a string and the string is returned. * @return string : A string with the received value. * @throws Exception::SOCKETRECV If the received length * of the integer for the length or the length of the received string is wrong. */ string IpcSocket::recvStr(void) { ssize_t len; char * buffer; ssize_t size; string str; size = read(this->socket,&len,sizeof(ssize_t)); if (size!=sizeof(ssize_t)) { throw Exception(Exception::SOCKETRECV); } if(len > 0) { buffer=new char[len+1]; memset (buffer, 0, len+1); size = read (this->socket, buffer, len); if (size!=len) { throw Exception(Exception::SOCKETRECV); } str=buffer; delete [] buffer; } return str; } /**The method receives a buffer from the socket. * First it receives the length, then * creates a buffer with the length and writes * the bytes from the socket into the buffer. * @return unsigned int : Length of the buffer. * @throws Exception::SOCKETRECV If the received length * of the integer for the length or the length of the received buffer is wrong. */ void IpcSocket::recvBuf(User * user) { ssize_t len; ssize_t size; size = read (this->socket,&len,sizeof(ssize_t)); if (size!=sizeof(ssize_t)) { throw Exception(Exception::SOCKETRECV); } user->setVsaBufLen(len); if (len > 0) { user->setVsaBuf(new Octet[len]); size = read (this->socket, user->getVsaBuf(), len); if (size != len) { throw Exception(Exception::SOCKETRECV); } } } radiusplugin/Config.cpp000644 001750 001750 00000026502 11355301365 013704 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "Config.h" /** The constructor The constructor initializes all char arrays with 0. */ Config::Config(void) { this->usernameascommonname=false; this->clientcertnotrequired=false; this->overwriteccfiles=true; this->useauthcontrolfile=false; this->ccdPath=""; this->openvpnconfig=""; this->vsanamedpipe=""; this->vsascript=""; memset(this->subnet,0,16); memset(this->p2p,0,16); } /** The constructor initializes all char arrays with 0. After the initialization * the configfile is parsed and the information which are * found are copied to the attributes. * @param configfile The name of the configfile. */ Config::Config(char * configfile) { memset(this->subnet,0,16); memset(this->p2p,0,16); this->ccdPath=""; this->openvpnconfig=""; this->vsanamedpipe=""; this->vsascript=""; this->usernameascommonname=false; this->clientcertnotrequired=false; this->overwriteccfiles=true; this->useauthcontrolfile=false; this->parseConfigFile(configfile); } /** The destructur clears the serverlist. */ Config::~Config(void) { } /** The method parse the configfile for attributes and * radius server, the attributes are copied to the * member variables. * @param configfile The name of the configfile. * @return An integer, 0 if everything is ok * or PARSING_ERROR or BAD_FILE if something is wrong.*/ int Config::parseConfigFile(const char * configfile) { string line; ifstream file; file.open(configfile, ios::in); if (file.is_open()) { while (file.eof()==false) { getline(file,line); this->deletechars(&line); if(line.empty()==false) { if (strncmp(line.c_str(),"subnet=",7)==0) { if((line.size()-7)>15) { return BAD_FILE; } line.copy(this->subnet,line.size()-7,7); } if (strncmp(line.c_str(),"p2p=",4)==0) { if((line.size()-4)>15) { return BAD_FILE; } line.copy(this->p2p,line.size()-4,4); } if (strncmp(line.c_str(),"vsascript=",10)==0) { this->vsascript=line.substr(10,line.size()-10); } if (strncmp(line.c_str(),"vsanamedpipe=",13)==0) { this->vsanamedpipe=line.substr(13,line.size()-13); } if (strncmp(line.c_str(),"OpenVPNConfig=",14)==0) { this->openvpnconfig=line.substr(14,line.size()-14); } if (strncmp(line.c_str(),"overwriteccfiles=",17)==0) { string stmp=line.substr(17,line.size()-17); deletechars(&stmp); if(stmp == "true") this->overwriteccfiles=true; else if (stmp =="false") this->overwriteccfiles=false; else return BAD_FILE; } if (strncmp(line.c_str(),"useauthcontrolfile=",19)==0) { string stmp=line.substr(19,line.size()-19); deletechars(&stmp); if(stmp == "true") this->useauthcontrolfile=true; else if (stmp =="false") this->useauthcontrolfile=false; else return BAD_FILE; } } } file.close(); // if the main files contains references to other config files // we don't need to care about recursive includes, OpenVPN does it already list configfiles; configfiles.push_back(this->openvpnconfig); //open OpenVPN config while(configfiles.size() > 0) { ifstream file2; string filename=configfiles.front(); file2.open(filename.c_str(), ios::in); char const* delims = " \t\r\n\0"; if (file2.is_open()) { while(file2.eof()==false) { getline(file2,line); if(line.empty()==false) { string param=line; // trim leading whitespace string::size_type pos = param.find_first_not_of(delims); if (pos != string::npos) param.erase(0,pos ); pos=param.find_first_of(delims); if (pos != string::npos) param.erase(pos); if (param == "client-cert-not-required") { this->deletechars(&line); if (line == "client-cert-not-required") { this->clientcertnotrequired=true; } } if (param == "username-as-common-name") { this->deletechars(&line); if (line == "username-as-common-name") { this->usernameascommonname=true; } } if (param == "client-config-dir") { this->deletechars(&line); line.erase(0, 17); this->setCcdPath(line); } if (param == "config") { this->deletechars(&line); line.erase(0, 6); configfiles.push_back(line); } if (param == "status") { //method deletechars don't work, entry has formet: status [time] pos = line.find_first_of("#"); if (pos != string::npos) { line.erase(pos); } // trim leading whitespace pos = line.find_first_not_of(delims); if (pos != string::npos) line.erase(0,pos); line.erase(0, 6); // trim leading whitespace again pos = line.find_first_not_of(" \t"); if (pos != string::npos) line.erase(0,pos); //delete the trailing version of status if there pos = line.find_first_of(delims); if (pos != string::npos) line.erase(pos); this->deletechars(&line); if(!line.empty()) { this->statusfile=line; } } } } file.close(); configfiles.remove(filename); } else { return BAD_FILE; } } } else { return BAD_FILE; } return 0; } /** The method deletes chars from a string. * This is used to delete tabs, spaces, # and '\0' * from a string. * @param text The string which should be cleaned. */ void Config::deletechars(string * line) { char const* delims = " \t\r\n\0"; // trim leading whitespace string::size_type pos = line->find_first_not_of(delims); if (pos != string::npos) line->erase(0,pos ); // trim trailing whitespace pos = line->find_last_not_of(delims); if (pos != string::npos) line->erase(pos+1); //trim whitespaces in line pos = line->find_first_of(delims); while (pos != string::npos) { line->erase(pos,1); pos = line->find_first_of(delims); } // trim comments pos = line->find_first_of("#"); if (pos != string::npos) { line->erase(pos); } } /**The method finds the part of the string after the * '=' and puts it in the value. * @param text The string with the value. * @param value The value where to put the part of the string. */ void Config::getValue(const char * text, char * value) { int i=0,j=0; while (text[i]!='=' && text[i]!='\0') { i++; } i++; while (text[i]!='\0') { value[j]=text[i]; i++; j++; } value[j]='\0'; } /** The getter methid for the client config dir (ccd). * @return A string to the ccd. */ string Config::getCcdPath(void) { return this->ccdPath; } /** The setter method for the client config dir (ccd). * @param path A string to the ccd path. */ void Config::setCcdPath(string path) { if(path[path.length()]!= '/') { path +='/'; } this->ccdPath=path; } /** Returns the path to the status file. * @param A string to path of the status file. */ string Config::getStatusFile(void) { return this->statusfile; } /** The setter method for thepath to the statusfile (path + filename). * @param file A string of the filepath. */ void Config::setStatusFile(string file) { this->statusfile=file; } /** The setter method for the nas ip address. * @param ip A string with ip address. */ void Config::setSubnet(char * ip) { strncpy(this->subnet,ip, 16); } /** The getter method for the nas ip address. * @return A pointer to the nas ipaddress. */ char * Config::getSubnet(void) { return this->subnet; } /** The setter method for the p2p address. * @param ip A string with p2p address. */ void Config::setP2p(char * ip) { strncpy(this->p2p,ip, 16); } /** The getter method for the p2p address. * @return A pointer to the p2p address. */ char * Config::getP2p(void) { return this->p2p; } /** The setter method for the vsascript. * @param script A path of the script. */ void Config::setVsaScript(string script) { this->vsascript=script; } /** The getter method for vsascript. * @return A pointer to the path of the script. */ string Config::getVsaScript(void) { return this->vsascript; } /** The setter method for the usernameascommonname value. * @param b A boolean for option usernameascommonname. */ void Config::setUsernameAsCommonname(bool b) { this->usernameascommonname=b; } /** The getter method for the usernameascommonname value. * @return A boolean for option usernameascommonname. */ bool Config::getUsernameAsCommonname(void) { return this->usernameascommonname; } /** The setter method for the vsanamedpipe. * @param script A path of the pipe. */ void Config::setVsaNamedPipe(string pipe) { this->vsanamedpipe=pipe; } /** The getter method for vsanamedpipe. * @return A pointer to the path of the pipe. */ string Config::getVsaNamedPipe(void) { return this->vsanamedpipe; } /** The setter method for the clientcertnotrequired value. * @param b A boolean for option clientcertnotrequired. */ void Config::setClientCertNotRequired(bool b) { this->clientcertnotrequired=b; } /** The getter method for the clientcertnotrequired value. * @return A boolean for option clientcertnotrequired. */ bool Config::getClientCertNotRequired(void) { return this->clientcertnotrequired; } /** The getter method for the path to the OpenVPN config * @return A string to the path. */ string Config::getOpenVPNConfig(void) { return this->openvpnconfig; } /** The setter method for the path to the OpenVPN config * @param conf Path to the config file. */ void Config::setOpenVPNConfig(string conf) { this->openvpnconfig=conf; } /** The getter method for the overwriteccfiles variable. * @return A bool of overwriteccfiles. */ bool Config::getOverWriteCCFiles(void) { return this->overwriteccfiles; } /** The setter method for the overwriteccfiles varibale * @param overwrite Set to true if the plugin is allowed to overwrite the client config files. */ void Config::setOverWriteCCFiles(bool overwrite) { this->overwriteccfiles=overwrite; } /** Getter method for the authcontrolfile variable. * @return A bool of authcontrolfile . */ bool Config::getUseAuthControlFile(void) { return this->useauthcontrolfile; } /** The setter method for the authcontrolfile varibale * @param overwrite Set to true if the plugin if auth control files should be if supported by the OpenVPN version. */ void Config::setUseAuthControlFile(bool b) { this->useauthcontrolfile=b; } radiusplugin/AuthenticationProcess.h000644 001750 001750 00000002300 10650426421 016446 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _AUTHENTICATIONPROCESS_H_ #define _AUTHENTICATIONPROCESS_H_ #include "PluginContext.h" #include "UserAuth.h" #include "radiusplugin.h" /**The class represents the background process for authentication.*/ class AuthenticationProcess { public: void Authentication(PluginContext *); }; #endif //_AUTHENTICATIONPROCESS_H_ radiusplugin/vsascript.pl000755 001750 001750 00000010456 10650426422 014351 0ustar00000000 000000 #!/usr/bin/perl -w use strict; # Attribute Code #------------------------------------------- # username 101 # commonname 102 # framedip 103 # callingstationid 104 # untrustedport 105 # framedroutes 106 # vsabuf 107 my $action=''; my $reykeying=''; my $buflen=''; my $attribnumber=''; my $len=''; my $callingstationid=''; my $untrustedport=''; my $username=''; my $commonname=''; my $framedip=''; my @framedroutes=''; my $pipe=''; my @attributes; my $i=0; my $j=0; $pipe = $ARGV[0]; open(FIFO, "< $pipe") || print "fifo: $!\n"; my $l; read (FIFO,$l,4); $action=unpack('N1',$l); #print "VSAScript: Action: $action\n"; read (FIFO,$l,4); $reykeying=unpack('N1',$l); #print "VSAScript: Rekeying: $action\n"; read (FIFO,$l,4); $buflen=unpack('N1',$l); #print "VSAScript: buflen: $buflen\n"; $buflen=$buflen-12; while($buflen > 0) { read (FIFO,$l,4); $attribnumber=unpack('N1',$l); #print "VSAScript: Attribute Number : $attribnumber\n"; read (FIFO,$l,4); $len=unpack('N1',$l); #print "VSAScript: Attribute Length : $len\n"; $buflen=$buflen-8; if($attribnumber eq 101) { read (FIFO,$l,$len); #print "VSAScript: Attribute Value : $l\n"; $buflen=$buflen-$len; $username = $l; } elsif($attribnumber eq 102) { read (FIFO,$l,$len); #print "VSAScript: Attribute Value : $l\n"; $buflen=$buflen-$len; $commonname = $l; } elsif($attribnumber eq 103) { read (FIFO,$l,$len); #print "VSAScript: Attribute Value : $l\n"; $buflen=$buflen-$len; $framedip = $l; } elsif($attribnumber eq 104) { read (FIFO,$l,$len); #print "VSAScript: Attribute Value : $l\n"; $buflen=$buflen-$len; $callingstationid = $l; } elsif($attribnumber eq 105) { read (FIFO,$l,$len); #print "VSAScript: Attribute Value : $l\n"; $buflen=$buflen-$len; $untrustedport = $l; } elsif($attribnumber eq 106) { read (FIFO,$l,$len); #print "VSAScript: Attribute Value : $l\n"; $buflen=$buflen-$len; $framedroutes[$i] = $l; $i++; } elsif($attribnumber eq 107) { while($len>0) { print "VSAScript: Vendor specific attribute\n"; my $vendor_id; my $vendor_number; my $vendor_len; read (FIFO,$l,4); $vendor_id=unpack('N1',$l); #print "VSAScript: Vendor ID : $vendor_id\n"; read (FIFO,$l,1); $vendor_number=unpack('C',$l); #print "VSAScript: Vendor Number : $vendor_number\n"; read (FIFO,$l,1); $vendor_len=unpack('C1',$l)-2; #print "VSAScript: Vendor Value length : $vendor_len\n"; read (FIFO,$l,$vendor_len); #decoding for integer values if( ($vendor_id eq 529 && $vendor_number eq 197) #vendor specific attribute : Ascend-Data-Rate or ($vendor_id eq 529 && $vendor_number eq 255) #vendor specific attribute : Ascend-Xmit-Rate ) { $l=unpack('N1',$l); $attributes[$j]{'id'}=$vendor_id; $attributes[$j]{'number'}=$vendor_number; $attributes[$j]{'value'}=$l; #print "VSAScript: Vendor Value: $l\n"; } else # decoding for sting values { $attributes[$j]{'id'}=$vendor_id; $attributes[$j]{'number'}=$vendor_number; $attributes[$j]{'value'}=$l; #print "VSAScript: Vendor Value: $l\n"; } $buflen=$buflen-6-$vendor_len; $len=$len-6-$vendor_len; $len=$len-1; $buflen=$buflen-1; $j++; } } else { read (FIFO,$l,$len); #print "VSAScript: Undefined Attribute Value : $l\n"; $buflen=$buflen-$len; } } close(FIFO); print "\n---------------VSAScript----------------------\n"; if ($action eq 0) { print "\nAction: Authentication";} elsif ($action eq 1) { print "\nAction: Client connect";} elsif ($action eq 2) { print "\nAction: Client disconnect";} else { print "\nAction: undefined!";} if ($reykeying eq 0) { print "\nReykeying: No";} elsif ($reykeying eq 1) { print "\nReykeying: Yes";} else { print "\nReykeying: undefined!";} print "\nUsername: $username"; print "\nCommonname: $commonname"; print "\nCallingstationid: $callingstationid"; print "\nUntrustedport: $untrustedport"; print "\nFramedIP: $framedip"; while($i>0) { $i--; print "\nFramedRoute: $framedroutes[$i]"; } while($j>0) { $j--; print "\nVSA attribute: "; print "\nId ($j): ".$attributes[$j]{'id'}; print "\nNumber ($j): ".$attributes[$j]{'number'}; print "\nValue ($j): ".$attributes[$j]{'value'}; } print "\n---------------VSAScript----------------------\n"; exit(0); radiusplugin/radiusplugin.cpp000644 001750 001750 00000133155 11355300726 015210 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ //The callback functions of the plugin infrastructure. #include "radiusplugin.h" //define extern "C", so the c++ compiler generate a shared library //which is compatible with c programms extern "C" { /** The function is needed by the OpenVpn plugin model. The funtion is called * when OpenVpn starts. In this case here two background process are * started. One for authentication and one for accounting. The communication * between the processes is made via sockets. * You need a background process for accounting, because the interval * in which accounting information is sent to the radius server in undependent * from the main OpenVpn-process, so it is done by another process which schedule * the accounting intervals. This process holds his root rights and it can set and * deletes routes in the system routing table. * The authentication process is a own process, too. So there is clear separation * and it is undependent from the openvpn process. * @param The type of plugin, maybe client_connect, client_disconnect, user_auth_pass_verify... * @param A list of arguments which are set in the configuration file of openvpn in plugin line. * @param The list of enviromental variables, it is created by the OpenVpn-Process. */ //OPENVPN_EXPORT openvpn_plugin_handle_t //openvpn_plugin_open_v1 ( unsigned int *type_mask, const char *argv[], const char *envp[] ) OPENVPN_PLUGIN_DEF openvpn_plugin_handle_t OPENVPN_PLUGIN_FUNC(openvpn_plugin_open_v2)(unsigned int *type_mask, const char *argv[], const char *envp[], struct openvpn_plugin_string_list **return_list) { pid_t pid; /**setVerbosity ( atoi ( verb_string ) ); if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: Start AUTH-RADIUS-PLUGIN\n"; // Make sure we have one string argument: the .so name. if ( string_array_len ( argv ) < base_parms ) { cerr << getTime() << "RADIUS-PLUGIN: no .so name\n"; goto error; } if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: Found "<< string_array_len ( argv ) << " params.\n"; // See if we have optional name/value pairs for // the plugin, this can only be the config file. // path (default: -c /etc/openvpn/radiusplugin.conf) name_value_list.len = 0; if ( string_array_len ( argv ) > base_parms ) { if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: Find params.\n"; //just a work around because argv[1] is the filename name_value_list.data[0].name = "-c"; name_value_list.data[0].value = argv[1]; if ( strncmp ( name_value_list.data[0].name,"-c",2 ) ==0 ) { //see in ./RadiusClass/error.h for errornumbers //parse the radiusplugin config file cerr << getTime() << "RADIUS-PLUGIN: Configfile name: "<< name_value_list.data[0].value << ".\n"; if ( context->radiusconf.parseConfigFile ( name_value_list.data[0].value ) !=0 or context->conf.parseConfigFile ( name_value_list.data[0].value ) !=0 ) { cerr << getTime() << "RADIUS-PLUGIN: Bad config file or error in config.\n"; goto error; } } else { cerr << getTime() << "RADIUS-PLUGIN: Bad argument for plugin.\n"; goto error; } } else { //if there is no filename, use the default //parse the radiusplugin config file cerr << getTime() << "RADIUS-PLUGIN: Configfile name: /etc/openvpn/radiusplugin.cnf.\n"; if ( context->radiusconf.parseConfigFile ( "/etc/openvpn/radiusplugin.cnf" ) !=0 or context->conf.parseConfigFile ( "/etc/openvpn/radiusplugin.cnf" ) !=0 ) { cerr << getTime() << "RADIUS-PLUGIN: Bad config file or error in config.\n"; goto error; } } // Make a socket for foreground and background processes // to communicate. //Authentication process: if ( socketpair ( PF_UNIX, SOCK_DGRAM, 0, fd_auth ) == -1 ) { cerr << getTime() << "RADIUS-PLUGIN: socketpair call failed for authentication process\n"; goto error; } //Accounting process: if ( socketpair ( PF_UNIX, SOCK_DGRAM, 0, fd_acct ) == -1 ) { cerr << getTime() << "RADIUS-PLUGIN: socketpair call failed for accounting process\n"; goto error; } // Fork off the privileged processes. It will remain privileged // even after the foreground process drops its privileges. // Fork the authentication process pid = fork (); if ( pid ) { // Foreground Process (Parent) int status; //save the process id context->setAuthPid ( pid ); // close our copy of child's socket close ( fd_auth[1] ); /* don't let future subprocesses inherit child socket */ if ( fcntl ( fd_auth[0], F_SETFD, FD_CLOEXEC ) < 0 ) cerr << getTime() << "RADIUS-PLUGIN: Set FD_CLOEXEC flag on socket file descriptor failed\n"; if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: Start BACKGROUND Process for authentication with PID " << context->getAuthPid() << ".\n"; //save the socket number in the context context->authsocketbackgr.setSocket ( fd_auth[0] ); //wait for background child process to initialize */ status = context->authsocketbackgr.recvInt(); if ( status != RESPONSE_INIT_SUCCEEDED ) { //set the socket to -1 if the initialization failed context->authsocketbackgr.setSocket ( -1 ); } if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: Start AUTH-RADIUS-PLUGIN\n"; } else { //Background Process // close all parent fds except our socket back to parent close_fds_except ( fd_auth[1] ); // Ignore most signals (the parent will receive them) set_signals (); //save the socket number in the context context->authsocketforegr.setSocket ( fd_auth[1] ); //start the backgroung event loop for accounting Auth.Authentication ( context ); //close the socket close ( fd_auth[1] ); //free the context of the background process delete context; exit ( 0 ); return 0; // NOTREACHED } // Fork the accounting process pid = fork (); if ( pid ) { // Foreground Process (Parent) int status; //status if the background process //save the pid context->setAcctPid ( pid ); if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: Start BACKGROUND Process for accounting with PID " << context->getAcctPid() << ".\n"; // close our copy of child's socket */ close ( fd_acct[1] ); /* don't let future subprocesses inherit child socket */ if ( fcntl ( fd_acct[0], F_SETFD, FD_CLOEXEC ) < 0 ) cerr << getTime() << "RADIUS-PLUGIN: Set FD_CLOEXEC flag on socket file descriptor failed\n"; //save the socket number in the context context->acctsocketbackgr.setSocket ( fd_acct[0] ); // wait for background child process to initialize */ status = context->acctsocketbackgr.recvInt(); if ( status != RESPONSE_INIT_SUCCEEDED ) { //set the socket to -1 if the initialization failed context->acctsocketbackgr.setSocket ( -1 ); } if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: Start AUTH-RADIUS-PLUGIN\n"; } else { //Background Process // close all parent fds except our socket back to parent close_fds_except ( fd_acct[1] ); // Ignore most signals (the parent will receive them) set_signals (); if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: Start BACKGROUND Process for accounting\n"; // save the socket in the context context->acctsocketforegr.setSocket ( fd_acct[1] ); //start the backgroung event loop for accounting Acct.Accounting ( context ); //close the socket close ( fd_acct[1] ); //free the context of the background process delete context; exit ( 0 ); return 0; // NOTREACHED } //return the context, this is used between the functions //openvpn_plugin_open_v1 //openvpn_plugin_func_v1 //openvpn_plugin_close_v1 return ( openvpn_plugin_handle_t ) context; error: //delete the context if ( context ) delete ( context ); return NULL; } /** This funtion is called from the OpenVpn process everytime * a event happens. The function handle the events (plugins) * AUTH_USER_PASS_VERIFY, CLIENT_CONNECT, CLIENT_DISCONNECT. * The function reads the information from the envriomental * variable and sends the relevant information to the * background processes. * AUTH_USER_PASS_VERIFY: The user is authenticated by a radius server, * if it succeeded the background sends back the framed ip, the routes and the acct_interim_interval * for the user. Than the user is added to the context. * CLIENT_CONNECT: The user is added to the accounting by * sending the information to the background process. * CLIENT_DISCONNECT: The user is deleted from the * accounting by sending the information to the backgrund process. * @param The handle which was allocated in the open function. * @param The type of plugin, maybe client_conect, client_disconnect, auth_user_pass_verify * @param A list of arguments which are set in the openvpn configuration file. * @param The list of enviromental variables, it is created by the OpenVpn-Process. * @return A interger with the status of the funtion (OPENVPN_PLUGIN_FUNC_SUCCESS or OPENVPN_PLUGIN_FUNC_ERROR). */ //OPENVPN_EXPORT int //openvpn_plugin_func_v1 ( openvpn_plugin_handle_t handle, const int type, const char *argv[], const char *envp[] ) OPENVPN_PLUGIN_DEF int OPENVPN_PLUGIN_FUNC(openvpn_plugin_func_v2) (openvpn_plugin_handle_t handle, const int type, const char *argv[], const char *envp[], void *per_client_context, struct openvpn_plugin_string_list **return_list) { //restore the context which was created at the function openvpn_plugin_open_v1 PluginContext *context = ( struct PluginContext * ) handle; if(context->getStartThread()) { pthread_cond_init (context->getCondSend(), NULL); pthread_mutex_init (context->getMutexSend(), NULL); pthread_cond_init (context->getCondRecv(), NULL); pthread_mutex_init (context->getMutexRecv(), NULL); if(pthread_create(context->getThread(), NULL, &auth_user_pass_verify, (void *) context) != 0) { cerr << getTime() << "RADIUS-PLUGIN: Thread creation failed.\n"; return OPENVPN_PLUGIN_FUNC_ERROR; //goto error; } pthread_mutex_lock(context->getMutexRecv()); context->setStartThread(false); } UserPlugin *newuser=NULL; /**< A context for an new user.*/ string common_name; /**authsocketbackgr.getSocket() ) >= 0 ) { if ( DEBUG ( context->getVerbosity() ) ) { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY is called.\n"; } //create a new user newuser=new UserPlugin(); //allocate the memory, don't care about the value try { if ( get_env ( "username", envp ) ==NULL ) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: username is not defined\n" ); } else if ( get_env ( "password", envp ) ==NULL ) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: password is not defined\n" ); } else if ( get_env ( "untrusted_ip", envp ) ==NULL && get_env ( "untrusted_ip6", envp ) ==NULL ) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: untrusted_ip and untrusted_ip6 is not defined\n" ); } else if ( get_env ( "common_name", envp ) ==NULL ) { if ( context->conf.getClientCertNotRequired() == false ) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: common_name is not defined\n" ); } } else if ( get_env ( "untrusted_port", envp ) ==NULL ) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: untrusted_port is not defined\n" ); } if (get_env ( "auth_control_file", envp ) != NULL) { newuser->setAuthControlFile( get_env ( "auth_control_file", envp ) ); } // get username, password, unrusted_ip and common_name from envp string array newuser->setUsername ( get_env ( "username", envp ) ); newuser->setPassword ( get_env ( "password", envp ) ); // it's ipv4 if ( get_env ( "untrusted_ip", envp ) !=NULL ) { untrusted_ip = get_env ( "untrusted_ip", envp ); } // it's ipv6 else { untrusted_ip = get_env ( "untrusted_ip6", envp ); } newuser->setCallingStationId ( untrusted_ip ); //for OpenVPN option client cert not required, common_name is "UNDEF", see status.log if ( get_env ( "common_name", envp ) !=NULL ) { newuser->setCommonname ( get_env ( "common_name", envp ) ); } //rewrite the username if OpenVPN use the option username-as-comon-name if ( context->conf.getUsernameAsCommonname() == true ) { if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: Commonname set to Username\n"; newuser->setCommonname ( get_env ( "username", envp ) ); } newuser->setUntrustedPort ( get_env ( "untrusted_port", envp ) ); newuser->setStatusFileKey(newuser->getCommonname() +string ( "," ) + untrusted_ip + string ( ":" ) + get_env ( "untrusted_port", envp ) ); newuser->setKey(untrusted_ip + string ( ":" ) + get_env ( "untrusted_port", envp ) ); if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: Key: " << newuser->getKey() << ".\n"; if (newuser->getAuthControlFile().length() > 0 && context->conf.getUseAuthControlFile()) { pthread_mutex_lock(context->getMutexSend()); context->addNewUser(newuser); pthread_cond_signal( context->getCondSend( )); pthread_mutex_unlock (context->getMutexSend()); return OPENVPN_PLUGIN_FUNC_DEFERRED; } else { pthread_mutex_lock(context->getMutexSend()); context->addNewUser(newuser); pthread_cond_signal( context->getCondSend( )); pthread_mutex_unlock (context->getMutexSend()); pthread_cond_wait( context->getCondRecv(), context->getMutexRecv()); return context->getResult(); } } catch ( Exception &e ) { cerr << getTime() << e; } catch ( ... ) { cerr << getTime() << "Unknown Exception!"; } return OPENVPN_PLUGIN_FUNC_ERROR; /////////////////////////// CLIENT_CONNECT } if ( type == OPENVPN_PLUGIN_CLIENT_CONNECT && context->acctsocketbackgr.getSocket() >= 0 ) { if ( DEBUG ( context->getVerbosity() ) ) { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: OPENVPN_PLUGIN_CLIENT_CONNECT is called.\n"; } try { if ( get_env ( "untrusted_ip", envp ) ==NULL && get_env ( "untrusted_ip6", envp ) ==NULL ) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: untrusted_ip and untrusted_ip6 is not defined\n" ); } else if ( get_env ( "common_name", envp ) ==NULL ) { if ( context->conf.getClientCertNotRequired() == false ) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: common_name is not defined\n" ); } } else if ( get_env ( "untrusted_port", envp ) ==NULL ) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: untrusted_port is not defined\n" ); } else if ( get_env ( "ifconfig_pool_remote_ip", envp ) ==NULL ) { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: ifconfig_pool_remote_ip is not defined\n" ; } //get username, password and trusted_ip from envp string array //for OpenVPN option client cert not required, common_name is "UNDEF", see status.log if ( get_env ( "untrusted_ip", envp ) !=NULL ) { untrusted_ip = get_env ( "untrusted_ip", envp ); } else { untrusted_ip = get_env ( "untrusted_ip6", envp ); } if ( get_env ( "common_name", envp ) !=NULL ) { common_name=get_env ( "common_name", envp ); } else { common_name="UNDEF"; } //rewrite the username if OpenVPN use the option username-as-comon-name if ( context->conf.getUsernameAsCommonname() == true ) { common_name=get_env ( "username", envp ); } //find the user in the context, he was added at the OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY //string key=common_name + string ( "," ) +untrusted_ip+string ( ":" ) + string ( get_env ( "untrusted_port", envp ) ); string key=untrusted_ip+string ( ":" ) + string ( get_env ( "untrusted_port", envp ) ); if ( DEBUG ( context->getVerbosity() ) ){ cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: Key: " << key << ".\n"; } newuser=context->findUser(key); if(newuser == NULL) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: User should be accounted but is unknown, should never happen.\n" ); } //set the assigned ip as Framed-IP-Attribute of the user (see RFC2866, chapter 4.1 for more information) if(get_env ( "ifconfig_pool_remote_ip", envp ) !=NULL) { newuser->setFramedIp ( string ( get_env ( "ifconfig_pool_remote_ip", envp ) ) ); } if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: Set FramedIP to the IP (" << newuser->getFramedIp() << ") OpenVPN assigned to the user " << newuser->getUsername() << "\n"; //the user must be there and must be authenticated but not accounted // isAccounted and isAuthenticated is true it is client connect for renegotiation, the user is already in the accounting process if ( newuser!=NULL && newuser->isAccounted() ==false && newuser->isAuthenticated() ) { //transform the integers to strings to send them over the socket if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: Add user for accounting: username: " << newuser->getUsername() << ", commonname: " << newuser->getCommonname() << "\n"; //send information to the background process context->acctsocketbackgr.send ( ADD_USER ); context->acctsocketbackgr.send ( newuser->getUsername() ); context->acctsocketbackgr.send ( newuser->getSessionId() ); context->acctsocketbackgr.send ( newuser->getPortnumber() ); context->acctsocketbackgr.send ( newuser->getCallingStationId() ); context->acctsocketbackgr.send ( newuser->getFramedIp() ); context->acctsocketbackgr.send ( newuser->getCommonname() ); context->acctsocketbackgr.send ( newuser->getAcctInterimInterval() ); context->acctsocketbackgr.send ( newuser->getFramedRoutes() ); context->acctsocketbackgr.send ( newuser->getKey() ); context->acctsocketbackgr.send ( newuser->getStatusFileKey()); context->acctsocketbackgr.send ( newuser->getUntrustedPort() ); context->acctsocketbackgr.send ( newuser->getVsaBuf(), newuser->getVsaBufLen() ); //get the response const int status = context->acctsocketbackgr.recvInt(); if ( status == RESPONSE_SUCCEEDED ) { newuser->setAccounted ( true ); if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: Accouting succeeded!\n"; return OPENVPN_PLUGIN_FUNC_SUCCESS; } else { //free the nasport context->delNasPort ( newuser->getPortnumber() ); string error; error="RADIUS-PLUGIN: FOREGROUND: Accounting failed for user:"; error+=newuser->getUsername(); error+="!\n"; //delete user from context context->delUser ( newuser->getKey() ); throw Exception ( error ); } } else { string error; error="RADIUS-PLUGIN: FOREGROUND: No user with this commonname or he is already authenticated: "; error+=common_name; error+="!\n"; throw Exception ( error ); } } catch ( Exception &e ) { cerr << getTime() << e; } catch ( ... ) { cerr << getTime() << "Unknown Exception!"; } return OPENVPN_PLUGIN_FUNC_ERROR; } ///////////////////////// OPENVPN_PLUGIN_CLIENT_DISCONNECT if ( type == OPENVPN_PLUGIN_CLIENT_DISCONNECT && context->acctsocketbackgr.getSocket() >= 0 ) { if ( DEBUG ( context->getVerbosity() ) ) { cerr << getTime() << "\n\nRADIUS-PLUGIN: FOREGROUND: OPENVPN_PLUGIN_CLIENT_DISCONNECT is called.\n"; } try { if ( get_env ( "untrusted_ip", envp ) ==NULL && get_env ( "untrusted_ip6", envp ) ==NULL ) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: untrusted_ip and untrusted_ip6 is not defined\n" ); } else if ( get_env ( "common_name", envp ) ==NULL ) { if ( context->conf.getClientCertNotRequired() == false ) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: common_name is not defined\n" ); } } else if ( get_env ( "untrusted_port", envp ) ==NULL ) { throw Exception ( "RADIUS-PLUGIN: FOREGROUND: untrusted_port is not defined\n" ); } if ( get_env ( "untrusted_ip", envp ) !=NULL ) { untrusted_ip = get_env ( "untrusted_ip", envp ); } else { untrusted_ip = get_env ( "untrusted_ip6", envp ); } // get common_name from envp string array, if you don't use certificates it is "UNDEF" // get username, password and trusted_ip from envp string array //for OpenVPN option client cert not required, common_name is "UNDEF", see status.log if ( get_env ( "common_name", envp ) !=NULL ) { common_name=get_env ( "common_name", envp ); } else { common_name="UNDEF"; } //rewrite the username if OpenVPN use the option username-as-comon-name if ( context->conf.getUsernameAsCommonname() == true ) { common_name=get_env ( "username", envp ); } //find the user in the context //newuser=context->findUser ( common_name + string ( "," ) + untrusted_ip + string ( ":" ) + string ( get_env ( "untrusted_port", envp ) ) ); newuser=context->findUser ( untrusted_ip + string ( ":" ) + string ( get_env ( "untrusted_port", envp ) ) ); if ( newuser!=NULL ) { if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: Delete user for accounting: commonname: " << newuser->getKey() << "\n"; //send the information to the background process context->acctsocketbackgr.send ( DEL_USER ); context->acctsocketbackgr.send ( newuser->getKey() ); //get the responce const int status = context->acctsocketbackgr.recvInt(); if ( status == RESPONSE_SUCCEEDED ) { if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: Accouting for user with key" << newuser->getKey() << " stopped!\n"; //free the nasport context->delNasPort ( newuser->getPortnumber() ); //delete user from context context->delUser ( newuser->getKey() ); return OPENVPN_PLUGIN_FUNC_SUCCESS; } else { //free the nasport context->delNasPort ( newuser->getPortnumber() ); //delete user from context context->delUser ( newuser->getKey() ); cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: Error in ACCT Background Process!\n"; } } else { throw Exception ( "No user with this common_name!\n" ); } } catch ( Exception &e ) { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND:" << e; } catch ( ... ) { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND:" << "Unknown Exception!\n"; } } return OPENVPN_PLUGIN_FUNC_ERROR; } /** The function is called when the OpenVpn process exits. * A exit command is send to the background processes and * the context is freed which was allocted in the open function. * @param The handle which was allocated in the open function. */ OPENVPN_PLUGIN_DEF void OPENVPN_PLUGIN_FUNC(openvpn_plugin_close_v1)(openvpn_plugin_handle_t handle) { //restore the context PluginContext *context = ( PluginContext * ) handle; if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: close\n"; if ( context->authsocketbackgr.getSocket() >= 0 ) { if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: close auth background process\n"; //tell background process to exit try { context->authsocketbackgr.send ( COMMAND_EXIT ); } catch ( Exception &e ) { cerr << getTime() << e; } // wait for background process to exit if ( context->getAuthPid() > 0 ) waitpid ( context->getAuthPid(), NULL, 0 ); } if ( context->acctsocketbackgr.getSocket() >= 0 ) { if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: close acct background process.\n"; //tell background process to exit try { context->acctsocketbackgr.send ( COMMAND_EXIT ); } catch ( Exception &e ) { cerr << getTime() << e; } // wait for background process to exit if ( context->getAcctPid() > 0 ) waitpid ( context->getAcctPid(), NULL, 0 ); } if (context->getStartThread()==false) { if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: Stop auth thread .\n"; //stop the thread pthread_mutex_lock(context->getMutexSend()); context->setStopThread(true); pthread_cond_signal( context->getCondSend( )); pthread_mutex_unlock(context->getMutexSend()); //wait for the thread to exit pthread_join(*context->getThread(),NULL); pthread_cond_destroy(context->getCondSend( )); pthread_cond_destroy(context->getCondRecv( )); pthread_mutex_destroy(context->getMutexSend()); pthread_mutex_destroy(context->getMutexRecv()); } else { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: Auth thread was not started so far.\n"; } delete context; cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND: DONE.\n"; } } /** Original function from the openvpn auth-pam plugin. * Given an environmental variable name, search * the envp array for its value, returning it * if found or NULL otherwise. * A field in the envp-array looks like: name=user1 * @param The name of the variable. * @param The array with the enviromental variables. * @return A poniter to the variable value or NULL, if the varaible was not found. */ const char * get_env ( const char *name, const char *envp[] ) { if ( envp ) { int i; const int namelen = strlen ( name ); for ( i = 0; envp[i]; ++i ) { //compare the enviromental names if ( !strncmp ( envp[i], name, namelen ) ) { //if the varibale is found const char *cp = envp[i] + namelen; //return the value behind the = if ( *cp == '=' ) return cp + 1; } } } return NULL; } /** Original function from the openvpn auth-pam plugin. * Return the length of a string array. * @param Array * @return The length of the arry. */ int string_array_len ( const char *array[] ) { int i = 0; if ( array ) { while ( array[i] ) ++i; } return i; } /** Original function from the openvpn auth-pam plugin. * Close most of parent's fds. * Keep stdin/stdout/stderr, plus one * other fd which is presumed to be * our pipe back to parent. * Admittedly, a bit of a kludge, * but posix doesn't give us a kind * of FD_CLOEXEC which will stop * fds from crossing a fork(). * @param The socket number which should not be closed. */ void close_fds_except ( int keep ) { int i; closelog (); for ( i = 3; i <= 100; ++i ) { if ( i != keep ) close ( i ); } } /** Original function from the openvpn auth-pam plugin. * Usually we ignore signals, because our parent will * deal with them. */ void set_signals ( void ) { signal ( SIGTERM, SIG_DFL ); signal ( SIGINT, SIG_IGN ); signal ( SIGHUP, SIG_IGN ); signal ( SIGUSR1, SIG_IGN ); signal ( SIGUSR2, SIG_IGN ); signal ( SIGPIPE, SIG_IGN ); } /** The function creates a md5 hash string as session ID over * - user->commonname * - user->callingstationid * - user->untrustedport * - time string from ctime(...) * @param A pointer to the user for which the session ID is created. * @return A string with the hash. */ string createSessionId ( UserPlugin * user ) { unsigned char digest[16]; char text[33]; //The digest. gcry_md_hd_t context; //the hash context int i; time_t rawtime; string strtime; ostringstream portnumber; memset ( digest,0,16 ); //build the hash gcry_md_open ( &context, GCRY_MD_MD5, 0 ); gcry_md_write ( context, user->getCommonname().c_str(), user->getCommonname().length() ); gcry_md_write ( context, user->getCallingStationId().c_str(), user->getCallingStationId().length() ); gcry_md_write ( context, user->getUntrustedPort().c_str(), user->getUntrustedPort().length() ); gcry_md_write ( context, user->getUntrustedPort().c_str(), user->getUntrustedPort().length() ); portnumber << user->getPortnumber(); gcry_md_write ( context,portnumber.str().c_str(), portnumber.str().length()); time ( &rawtime ); strtime=ctime ( &rawtime ); gcry_md_write ( context, strtime.c_str(),strtime.length() ); memcpy ( digest, gcry_md_read ( context, GCRY_MD_MD5 ), 16 ); gcry_md_close ( context ); unsigned int h,l; char *p=text; unsigned char *c=digest; for ( i=0; i<16; i++ ) { h = *c / 16; l = *c % 16; c++; *p++ = "01234567890ABCDEF"[h]; *p++ = "01234567890ABCDEF"[l]; } text[32]='\0'; return string ( text ); } /** The function implements the thread for authentication. If the auth_control_file is specified the thread writes the results in the * auth_control_file, if the file is not specified the thread forward the OPENVPN_PLUGIN_FUNC_SUCCESS or OPENVPN_PLUGIN_FUNC_ERROR * to the main process. * @param _context The context pointer from OpenVPN. */ void * auth_user_pass_verify(void * c) { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Auth_user_pass_verify thread started.\n"; PluginContext * context = (PluginContext *) c; pthread_mutex_lock(context->getMutexSend()); //main thread loop for authentication //ignore signals static sigset_t signal_mask; sigemptyset (&signal_mask); sigaddset (&signal_mask, SIGINT); sigaddset (&signal_mask, SIGTERM); sigaddset (&signal_mask, SIGHUP); sigaddset (&signal_mask, SIGUSR1); sigaddset (&signal_mask, SIGUSR2); sigaddset (&signal_mask, SIGPIPE); pthread_sigmask (SIG_BLOCK, &signal_mask, NULL); while(!context->getStopThread()) { if(context->UserWaitingtoAuth()==false) { if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Waiting for new user.\n"; pthread_cond_wait(context->getCondSend(),context->getMutexSend()); } if(context->getStopThread()==true) { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Stop signal received.\n"; break; } if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: New user from OpenVPN!\n"; //is the user already known? UserPlugin *olduser=NULL; /**getNewUser(); olduser=context->findUser ( newuser->getKey() ); if ( olduser!=NULL ) //probably key renegotiation { if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Renegotiation: username: "<< olduser->getUsername() << "\nRADIUS-PLUGIN: FOREGROUND THREAD:\t olduser ip: " << olduser->getCallingStationId() << "\nRADIUS-PLUGIN: FOREGROUND THREAD:\t olduser port: " << olduser->getUntrustedPort() << "\nRADIUS-PLUGIN: FOREGROUND THREAD:\t olduser FramedIP: " << olduser->getFramedIp() << "\nRADIUS-PLUGIN: FOREGROUND THREAD:\t newuser ip: " << olduser->getCallingStationId() << "\nRADIUS-PLUGIN: FOREGROUND THREAD:\t newuser port: " << olduser->getUntrustedPort() << "\n"; cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: isAuthenticated()" << olduser->isAuthenticated(); cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: isAcct()" << olduser->isAccounted(); // update password and username, can happen when a new connection is established from the same client with the same port before the timeout in the openvpn server occurs! olduser->setPassword(newuser->getPassword()); olduser->setUsername(newuser->getUsername()); olduser->setAuthControlFile(newuser->getAuthControlFile()); //delete the newuser and use the olduser delete newuser; newuser=olduser; //TODO: for threading check if the user is already accounted (He must be for renegotiation) } else //new user for authentication, no renegotiation { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: New user.\n"; newuser->setPortnumber ( context->addNasPort() ); newuser->setSessionId ( createSessionId ( newuser ) ); //add the user to the context context->addUser(newuser); } if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: New user: username: "<< newuser->getUsername() <<", password: *****" << ", newuser ip: " << newuser->getCallingStationId() << ", newuser port: " << newuser->getUntrustedPort() << " .\n"; //there must be a username if ( newuser->getUsername().size() > 0 ) //&& olduser==NULL) { //send the informations to the backgorund process context->authsocketbackgr.send ( COMMAND_VERIFY ); context->authsocketbackgr.send ( newuser->getUsername() ); context->authsocketbackgr.send ( newuser->getPassword() ); context->authsocketbackgr.send ( newuser->getPortnumber() ); context->authsocketbackgr.send ( newuser->getSessionId() ); context->authsocketbackgr.send ( newuser->getCallingStationId() ); context->authsocketbackgr.send ( newuser->getCommonname() ); context->authsocketbackgr.send ( newuser->getFramedIp() ); //get the response const int status = context->authsocketbackgr.recvInt(); if ( status == RESPONSE_SUCCEEDED ) { if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Authentication succeeded!\n"; //get the routes from background process newuser->setFramedRoutes ( context->authsocketbackgr.recvStr() ); if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Received routes for user: "<< newuser->getFramedRoutes() << ".\n"; //get the framed ip newuser->setFramedIp ( context->authsocketbackgr.recvStr() ); if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Received framed ip for user: "<< newuser->getFramedIp() << ".\n"; // get the interval from the background process newuser->setAcctInterimInterval ( context->authsocketbackgr.recvInt() ); if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Receive acctinteriminterval " << newuser->getAcctInterimInterval() <<" sec from backgroundprocess.\n"; //clear the buffer if it isn't empty if ( newuser->getVsaBuf() !=NULL ) { delete [] newuser->getVsaBuf(); newuser->setVsaBuf ( NULL ); } // get the vendor specific attribute buffer from the background process context->authsocketbackgr.recvBuf ( newuser ); //add the user to the context // if the is already in the map, addUser will throw an exception // only add the user if he it not known already if ( newuser->isAuthenticated() ==false ) { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Add user to map.\n"; //save the success newuser->setAuthenticated ( true ); } else if ( newuser->isAuthenticated() && olduser!=NULL ) { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Don't add the user to the map, it is a rekeying.\n"; } if(newuser->getAuthControlFile().length()>0 && context->conf.getUseAuthControlFile()) { write_auth_control_file(context, newuser->getAuthControlFile(), '1'); } else { pthread_mutex_lock(context->getMutexRecv()); context->setResult(OPENVPN_PLUGIN_FUNC_SUCCESS); pthread_cond_signal( context->getCondRecv( )); pthread_mutex_unlock (context->getMutexRecv()); } } else //AUTH failed { if ( newuser->isAccounted() ) //user is already known, delete him from the accounting { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Error ar rekeying!\n"; //error on authenticate user at rekeying -> delete the user! //send the information to the background process context->acctsocketbackgr.send ( DEL_USER ); context->acctsocketbackgr.send ( newuser->getKey() ); //get the responce const int status = context->acctsocketbackgr.recvInt(); if ( status == RESPONSE_SUCCEEDED ) { if ( DEBUG ( context->getVerbosity() ) ) cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Accouting for user with key" << newuser->getKey() << " stopped!\n"; } else { cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Error in ACCT Background Process!\n"; cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: User is deleted from the user map!\n"; } } cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Error receiving auth confirmation from background process.\n"; //clean up: nas port, context, memory context->delNasPort(newuser->getPortnumber()); context->delUser(newuser->getKey()); if(newuser->getAuthControlFile().length()>0 && context->conf.getUseAuthControlFile()) { write_auth_control_file(context, newuser->getAuthControlFile(), '0'); } else { pthread_mutex_lock(context->getMutexRecv()); context->setResult(OPENVPN_PLUGIN_FUNC_ERROR); pthread_cond_signal( context->getCondRecv( )); pthread_mutex_unlock (context->getMutexRecv()); } delete newuser; } } else { //clean up: nas port, context, memory context->delNasPort(newuser->getPortnumber()); context->delUser (newuser->getKey()); //return OPENVPN_PLUGIN_FUNC_ERROR; if(newuser->getAuthControlFile().length()>0 && context->conf.getUseAuthControlFile()) { write_auth_control_file(context, newuser->getAuthControlFile(), '0'); } else { pthread_mutex_lock(context->getMutexRecv()); context->setResult(OPENVPN_PLUGIN_FUNC_ERROR); pthread_cond_signal( context->getCondRecv( )); pthread_mutex_unlock (context->getMutexRecv()); } delete newuser; } } pthread_mutex_unlock(context->getMutexSend()); cerr << getTime() << "RADIUS-PLUGIN: FOREGROUND THREAD: Thread finished.\n"; pthread_exit(NULL); } /** Writes the result of the authentication to the auth control file (0: failure, 1: success). * @param filename The auth control file. * @param c The authentication result. */ void write_auth_control_file(PluginContext * context, string filename, char c) { ofstream file; file.open(filename.c_str(),ios::out); if ( DEBUG ( context->getVerbosity() )) cerr << getTime() << "RADIUS-PLUGIN: Write " << c << " to auth_control_file "<< filename << ".\n"; if (file.is_open()) { file << c; file.close(); } else { cerr << getTime() << "RADIUS-PLUGIN: Could not open auth_control_file "<< filename << ".\n"; } } /** Returns the current time: * @return The current time as a string. */ string getTime() { time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); string t(ctime(&rawtime)); t.replace(t.find("\n"),1," "); return t; } radiusplugin/AuthenticationProcess.cpp000644 001750 001750 00000013572 11355301001 017003 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "AuthenticationProcess.h" /** This method is the background process for authentication. * After it is called it is in a endless loop until it get's an EXIT-command. * Otherwise it waits the command COMMAND_VERIFY to authenticate * an user. It authenticates the user with the radius protocol and * sends the result back to the foreground process. If the response * is an access accept ticket, * it parses the response from the radius server for the following attributes and * send them to the foregroundprocess too.: * - FramedIpAddress * - FramedRoutes * - AcctInterimInterval * @param context The plugin context as an object from the class PluginContext. */ void AuthenticationProcess::Authentication(PluginContext * context) { UserAuth * user; /**authsocketforegr.send(RESPONSE_INIT_SUCCEEDED); } catch(Exception &e) { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH:" << e <<"\n"; goto done; } if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: Started, RESPONSE_INIT_SUCCEEDED was sent to Foreground Process.\n"; // Event loop while (1) { // get a command from foreground process command = context->authsocketforegr.recvInt(); switch (command) { //authenticate the user case COMMAND_VERIFY: //allcoate memory for the new user user=new UserAuth; try { //get the user informations user->setUsername(context->authsocketforegr.recvStr()); user->setPassword(context->authsocketforegr.recvStr()); user->setPortnumber(context->authsocketforegr.recvInt()); user->setSessionId(context->authsocketforegr.recvStr()); user->setCallingStationId(context->authsocketforegr.recvStr()); user->setCommonname(context->authsocketforegr.recvStr()); // framed-ip is an @IP if we're renegotiating, "" otherwise user->setFramedIp(context->authsocketforegr.recvStr()); if (DEBUG (context->getVerbosity()) && (user->getFramedIp().compare("") == 0)) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: New user auth: username: " << user->getUsername() << ", password: *****, calling station: " << user->getCallingStationId() << ", commonname: " << user->getCommonname() << ".\n"; if (DEBUG (context->getVerbosity()) && (user->getFramedIp().compare("") !=0 )) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: Old user ReAuth: username: " << user->getUsername() << ", password: *****, calling station: " << user->getCallingStationId() << ", commonname: " << user->getCommonname() << ".\n"; //send the AcceptRequestPacket if (user->sendAcceptRequestPacket(context)==0) /* Succeeded */ { //if the authentication succeeded //create the user configuration file //Unless this is a renegotiation (ie: if FramedIP is already set) if (user->createCcdFile(context)>0 && (user->getFramedIp().compare("") == 0)) { throw Exception ("RADIUS-PLUGIN: BACKGROUND AUTH: Ccd-file could not created for user with commonname: "+user->getCommonname()+"!\n"); } //tell the parent process context->authsocketforegr.send(RESPONSE_SUCCEEDED); //send the routes to the parent process context->authsocketforegr.send(user->getFramedRoutes()); //send the framed ip to the parent process context->authsocketforegr.send(user->getFramedIp()); //send the interval to the parent process context->authsocketforegr.send(user->getAcctInterimInterval()); //send the vsa buffer context->authsocketforegr.send(user->getVsaBuf(), user->getVsaBufLen()); //free user_context_auth delete user; if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: Auth succeeded in radius_server().\n"; } else /* Failed */ { context->authsocketforegr.send(RESPONSE_FAILED); throw Exception("RADIUS-PLUGIN: BACKGROUND AUTH: Auth failed!.\n"); } } catch (Exception &e) { cerr << getTime() << e; delete user; if (e.getErrnum()==Exception::SOCKETSEND || e.getErrnum()==Exception::SOCKETRECV) { goto done; } } catch (...) { delete user; goto done; } break; //exit the loop case COMMAND_EXIT: goto done; case -1: cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: read error on command channel.\n"; break; default: cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: unknown command code: code="< * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "UserPlugin.h" /**The constructor sets the sessionid and sends the portnumber to the * constructor of the class User, where the portnumber is set. The flags * authenticated and accounted are set to false.*/ UserPlugin::UserPlugin() : User() { this->accounted=false; this->authenticated=false; this->authcontrolfile=""; } /**The destructor, nothing happens here.*/ UserPlugin::~UserPlugin() { } /**Overloading of the assignment operator.*/ UserPlugin & UserPlugin::operator=(const UserPlugin &u) { if (this!=&u) { //call the assignment operator of the class User User::operator=(u); this->authenticated=u.authenticated; this->accounted=u.accounted; this->sessionid=u.sessionid; this->password=u.password; this->untrustedport=u.untrustedport; this->authcontrolfile=u.authcontrolfile; } return *this; } /* bool UserPlugin::operator<(const UserPlugin & u) { if (this->sessionid < u.sessionid) { return true; } return false; }*/ /**The copy constructor. First the copy constructor of the * class User is called and than the sessionid, the password and the flags * authenticated and accounted are copied.*/ UserPlugin::UserPlugin(const UserPlugin &u) : User(u) { this->sessionid=u.sessionid; this->password=u.password; this->authenticated=u.authenticated; this->accounted=u.accounted; this->untrustedport=u.untrustedport; this->authcontrolfile=u.authcontrolfile; } /**The getter method of the password. * @return The password as a string.*/ string UserPlugin::getPassword(void) { return this->password; } /**The setter method of the password. * @param passwd The password.*/ void UserPlugin::setPassword(string passwd) { this->password=passwd; } /** The getter method of the sessionid. * @return The sessionid as an integer. */ string UserPlugin::getSessionId(void) { return this->sessionid; } /** The setter method of the sessionid. * @param id The sessionid.*/ void UserPlugin::setSessionId(string id) { this->sessionid=id; } /** The getter method for authenticated flag. * @return True if the user is authenticated, else false. */ bool UserPlugin::isAuthenticated(void) { return this->authenticated; } /**The setter method for the authenticated flag. * @param The value for the authenticated flag. */ void UserPlugin::setAuthenticated(bool auth) { this->authenticated=auth; } /** The getter method for accounted flag. * @return True if the user is accounted, else false. */ bool UserPlugin::isAccounted(void) { return this->accounted; } /**The setter method for the accounted flag. * @param The value for the accounted flag. */ void UserPlugin::setAccounted(bool acct) { this->accounted=acct; } string UserPlugin::getAuthControlFile(void ) { return authcontrolfile; } void UserPlugin::setAuthControlFile(string file) { authcontrolfile=file; } radiusplugin/ChangeLog000644 001750 001750 00000012203 11355306447 013544 0ustar00000000 000000 radiusplugin_v1.1a: - Standard configfile: /etc/openvon/radiusplugin.cnf. - #include in IpcSocket.h, is needed for compiling on some systems. - Correct README: A configfile must set with "-c configfile". - Correct fprintf statement in UserAuth.cpp (line 300). - Set debug level from 7 to 5. radiusplugin_v1.1.a (5.1.06): - correct calculate of ipaddress for ifconfig-push in UserAuth::createCcdFile() - FramedIpAddress-Attribute is set to the IP address OpenVPN is assigned to the client, the address is read from ENVP-Array with name ifconfig_pool_remote_ip and set to FramedIpAddress-Attribute at client connect. (radiusplugin.cpp, openvpn_plugin_func_v1(), part: CLIENT_CONNECT) - suppert for topology option (OpenVPN 2.0.1) - read from configfile parameters subnet, p2p - add parameters in config with getters, setters and modify constructors and destructor - modify UserAuth::createCcdFile to set the right topology option radiusplugin_1.2: - use libgcrypt instead openssl (for gpl compability) - checking of the authenticator field from received packets - correct error on deleting users without an acct-interim-interval in AcctScheduler.cpp::findUser() - send message to foreground process if no user was found (else the plugin hangs) radiusplugin_1.2a: - correct error if a user connects again, if he is still known by the plugin, now the user can't reconnect if he is known by the plugin - Change GPL text - add COPYING file radiusplugin_1.2b: - correct error: don't disconnect at rekeying/renegotiation radiusplugin_1.2c: - new algorithm to generate Acct-Session-ID, so it should be unique ever, see createSessionID in radiusplugin.cpp radiusplugin_1.2d: - option in OpenVPN config file is now: "plugin /etc/openvpn/radiusplugin.so [configfile] - correct bug: close of configfile was missing radiusplugin_1.2e: - use RadiusClass_v1.1a for more machine independance (big endian/little endian) - use send()/recvInt() instead of sendCode()/recvCode() for internal socket communication radiusplugin_2.0: - new features: - support of vendor specific attributes with example perl script - support for OpenVPN options: dupliate-cn, client-cert-not-required, username-as-commonname - comments allowd in config file - parsing of OpenVPN config file for options (see radiusplugin.cnf) - fixed bugs: - crash on rekeying if no radius server respond - framed ip is sent in access request packets if the client already has one (at rekeying), for dynamical key assignment through the radius server, so it will not send a new one - passwords and sharedsecret are shown as ****** in the logs radiusplugin_2.0a: - fix error in IpcSocket.h, bad function name: void IpcSocket::recvBuf(User *) -> void recvBuf(User *); radiusplugin_2.0b: - fixed datatypes from int to uint32_t/uint64_t to prevent overflows above 2^31 - added support for gigawords - added a Makefile - correct bug in parsing config files - add new config variable overwriteccfiles, allows the plugin to overwrite client config files if set to true - update some documentation - correct parsing of ip address in RadiusAttribute.cpp in setValue for data type IPADDRESS - update example config file - use string for config parsing - correct bug in Config.cpp: parameter status was detected wrong if parameter status-version parameter is used in OpenVPN config - don't delete client config file at CLIENT-DISCONNECT it could be already a new file from a new AUTH-USER-PASS-VERIFY - Fix segmentation fault in radiusplugin.cpp. The error occurs if an accounting request fails after a successful authentication. radiusplugin_2.0c: - add IPv6 support (IPv6 patch for OpenVPN openvpn-2.1-udp6.patch) - check if string/buffer length is zero in IpcSocket - delete NAS port if authentication fails radiusplugin_2.0d_beta: - add some headerfiles to avoid compiling errors on Fedora with gcc4 - close socket in radiuspacket.cpp on retries - add parenthesize to avoid compiler warnings radiusplugin_2.1: - Support of OPENVPN_PLUGIN_FUNC_DEFERRED: *** The communication to the radius server for authentication is outsourced in a thread. *** If an auth control file is defined and "useauthcontrolfile=true" is defined in the config file of plugin the authentication is done the background. *** The OpenVPN process needs write permission in the OpenVPN directory. - Timestamps are included in the debug information. - Adapted to OPENVPN_PLUGIN_VERSION 2 - Internal key is now based on untrusted_ip and untrusted_before. - Separated key for status file is added. - Update password and username if the user (key) is already known. Before if the ip and port would be the same and the timeout hasn't occured the login will success. The update prevents against this behaviour. - Initialization of gcrypt library added. - Rewrite ACF file when the user is authenticated. - Include nested configfiles from main configfile. - Add "\r" in the configfile parser, before the carriage return was ignored. - Add support for RADIUS reply message, the output is sent to stderr - Only create the client-config file, if one of attributes for it is defined. - Add NAS port number to the session id, it's definitely unique - Acct-Session-Id added to Access-Request packet (RFC2866)radiusplugin/README000755 001750 001750 00000022265 11351132016 012647 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ ----------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------- The plugin was developed during my diploma thesis for the EWETEL GmbH (www.ewetel.net). They main idea was to create a virtualized SSL-VPN with RADIUS support. The virtualization was done by XEN. At this place I would like to thank the people from EWETEL GmbH and EWE AG (www.ewe.de) who supported me with the required equipment, hardware and helped me with all my questions. The plugin was developed and tested under Debian Sarge and OpenVPN 2.0 on x86-machines. ----------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------- The RADIUS-Class: ----------------- For this plugin was developed a RADIUS-Class in C++. It was based on the C-library FF RADIUS Library v0.1 from Fabrizio Fiorucci (http://ffradiuslib.ff.homelinux.net). If somebody is interested in a standalone RADIUS-class please contact me. There will be some little changes. DOCUMENTATION: -------------- The documentation is done with doxygen. To generate the documentation execute "doxygen doxygen.conf" in the folder of the plugin. INSTALL: -------- 1. Requirements: the libgcrypt library. 2. Compile: see section COMPILE 3. Set the plugin in the OpenVPN configfile: plugin /path/to/plugin/radiusplugin.so [configfile] 4. Create a configfile for the plugin, see radiusplugin.cnf. If no path is set in the configfile of OpenVPN the plugin will read the file /etc/openvpn/radiusplugin.cnf: . The configuration is case-sensitive, for an example see radiusplugin.cnf. 5. Set some configuration in the config file of the OpenVPN server: - status /var/log/openvpn/status.log 1 # The status, where the plugin reads the accounting information from. 6. Configure in the config file of the OpenVPN client: - auth-user-pass [/etc/openvpn/passwd] # Set this for sending a username and password to the server, this values are the username and password for the radius authentication. 7. If you use auth_control_file (>= OpenVPN 2.1 rc8), the plugin directory needs write permission to the OpenVPN directory or use the "--tmp-dir" option to define a directory for the files. 8. Maybe write your own script for vendor specific attributes (see section VENDOR SPECIFIC ATTRIBUTES). OTHER DOCUMENTATION ------------------- An "OpenVPN - RADIUS - MySQL Howto" in german can be found at: http://www.roessner-net.com/ FREERADIUS EXAMPLE ------------------- user1 Cleartext-Password := "testing" Service-Type = Framed-User, Framed-IP-Netmask = 255.255.255.0, Framed-IP-Address = 10.8.0.33, Framed-Routing = Broadcast-Listen, Framed-Compression = Van-Jacobsen-TCP-IP, Framed-Route += "192.168.101.0/26 10.8.0.1/32 1", Framed-Route += "192.168.111.0/24 10.8.0.1/32 1", Framed-Route += "192.168.112.0/24 10.8.0.1/32 1", Acct-Interim-Interval=5, Ascend-Data-Rate=100, Ascend-Xmit-Rate=200, Framed-Protocol = PPP The Framed-Route attribute must be in the format as shown above! COMPILE -------- (tested with Debian on x86, for other architectures see section TROUBLESHOOTING): >$ make RADIUS PACKETS and OpenVPN events (see http://openvpn.net/man.html SCRIPTING AND ENVIRONMENTAL VARIABLES) --------------------------------------------------------------------------------------------------------- OpenVPN event RADIUS PACKET Information ------------- ------------ ------------ auth-user-pass-verify ACCESS REQUEST parse of attributes (see below) client-connect ACCOUNTING REQUEST (Start) - ACCOUNTING REQUEST (Update) If the user had a acct interim interval attribute the update is sent periodically with this interval.(Start and stop accounting packets are sent ever.) client-disconnect ACCOUNTING REQUEST (Stop) RADIUS ATTRIBUTES WHICH PARSED BY THE PLUGIN AND WRITE TO THE CLIENT CONFIG FILE: --------------------------------------------- - Framed ip address - Acct Interim Interval - Framed Routes (only in following format, e.g.: "192.168.101.0/26 10.8.0.1/32 1") OTHER RADIUS ATTRIBUTES ----------------------- - Reply Message the text is forwarded to stderr VENDOR SPECIFIC ATTRIBUTES --------------------------- If you want use vendor specific attributes the plugin can call your own program or script at the OpenVPN action CLIENT-CONNECT and CLIENT-DISCONNECT. If you want to use the feature you have to specify the program and a named pipe for communication in the config file. The file vsascript.pl shows an example. LIMITS: ------- commonname of the certificate 256 characters routes entry from the radius server 50 characters LIMITS in RadiusConfig for the configfile: ------------------------------------------ (The limit is the length of the array minus 1!) char serviceType[2]; char framedProtocol[2]; char nasPortType[2]; char nasIdentifier[128]; char nasIpAddress[16]; char p2p[16]; char subnet[16]; TROUBLESHOOTING --------------- - BSD: - RADIUS attributes FramedIP and FramedRoutes mandatory - RADIUS attribute FramedIP is ignored - Use gmake -f Makefile.bsd (maybe you have to adapt library and include path, it was tested for FreeBSD) - Setting of Framed-Routes fails under BSD: - At the moment the plugin can only set the routes on Linux OSs. - The system call for "route ... " must be changed. Please contact me for a patch. - Newer version will integrate OS dependent calls. - OpenVPN hangs when a client connects: - Check OpenVPN config and check the OpenVPN log (debuglevel 7): - The plugin needs following varibales from OpenVPN in ENVP-array: - username, password, untrusted_ip, common_name, untrusted_port, ifconfig_pool_remote_ip, verb - In some cases ifconfig_pool_remote_ip is missing (Depends on OpenVPN config). - The radius packets are sent over the wrong interface: - Sometimes on multi interface machines with IPSec the operating system doesn't find the right interface. - Use the plugin from Magne J. Andreassen (it is for version 1.2a) - The plugin writes client config files without any entry: - The plugin always writes the file for every connecting client, please set the ccd path in the config file of the plugin to a existing dummy directory. - Compiling fails on Solaris 10: - add following options: -lsocket -lnsl -lresolv - Values for BytesIn/BytesOut are 0 in the accounting log of the RADIUS server: - Make sure that the status file of OpenVPN exists and the plugin can read it. - Use version 1 for the status file. - Error at compiling: not initialised shared memory before the call to the MD5 function: - Make sure that you use libgrypt 1.2.0 or higher. - Error at compiling: DBG: md_enable: algorithm -4195948 not available: - Make sure that you use libgrypt 1.2.0 or higher. - The plugin can't write the auth_control_file. - The plugin needs write permission in the OpenVPN directory. FOR TESTING ----------- Attention: Some values are hard coded in main.cpp testing, so you can get unexpected values when testing. For example the framedip is always 10.8.0.100, because it is read from the enviroment variable "ifconfig_pool_remote_ip", which is passed to the plugin from OpenVPN! All hard coded variabled: env1[0]="username=user1"; env1[1]="password=testing"; env1[2]="verb=10"; env1[3]="untrusted_ip=127.0.0.1"; env1[4]="common_name=R-VPNGateway1"; env1[5]="trusted_ip=127.0.0.1"; env1[6]="ifconfig_pool_remote_ip=10.8.0.100"; compile for test with a main function: g++ -Wall -o main AccountingProcess.cpp Exception.cpp PluginContext.cpp UserAuth.cpp AcctScheduler.cpp IpcSocket.cpp radiusplugin.cpp User.cpp AuthenticationProcess.cpp main.cpp UserAcct.cpp UserPlugin.cpp Config.cpp RadiusClass/RadiusAttribute.cpp RadiusClass/RadiusPacket.cpp RadiusClass/RadiusConfig.cpp RadiusClass/RadiusServer.cpp RadiusClass/RadiusVendorSpecificAttribute.cpp -lgcrypt radiusplugin/main.cpp000644 001750 001750 00000023374 11146025047 013425 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ //#include "openvpn-plugin.h" #include "RadiusClass/RadiusPacket.h" #include "radiusplugin.h" #include #include /** Only for testing the plugin!*/ /* Testcases: 1) AUTH_USER_PASS_VERIFY, CLIENT_CONNECT, CLIENT_DISCONNECT when auth_control_file is not specified 2) AUTH_USER_PASS_VERIFY, CLIENT_CONNECT, CLIENT_DISCONNECT when auth_control_file is specified This testcase is more difficult: CLIENT_CONNECT can occur before AUTH_USER_PASS_VERIFY finishes, normally OpenVPN should take of this. AUTH_USER_PASS_VERIFY is called again for the same user during the first authentication happens. 3) The radius server doesn't respond: 1) & 2) 4) Slow response of the radius server (add delay sudo tc qdisc add dev [$iftoradius] root netem delay 300ms) */ int main (void) { openvpn_plugin_handle_t context; //success* variables save return values of the functions int success1,success2,success3,success4,success5,success6,success7,success8,success9,success10,success11,success12; unsigned int type_mask=0; const char *env1[10]; const char *env2[10]; const char *env3[10]; const char *env4[10]; const char *argv[3]; env1[0]="username=user1"; env1[1]="password=testing"; env1[2]="verb=10"; env1[3]="untrusted_ip=127.0.0.1"; env1[4]="common_name=R-VPNGateway1"; env1[5]="trusted_ip=127.0.0.1"; env1[6]="ifconfig_pool_remote_ip=10.8.0.100"; env1[7]="untrusted_port=111"; //env1[8]=NULL; env1[8]="auth_control_file=./acfuser1"; env1[9]=NULL; env2[0]="username=user2"; env2[1]="password=testing"; env2[2]="verb=10"; env2[3]="untrusted_ip=127.0.0.1"; env2[4]="common_name=R-VPNGateway2"; env2[5]="trusted_ip=127.0.0.1"; env2[6]="ifconfig_pool_remote_ip=10.8.0.100"; env2[7]="untrusted_port=111"; //env2[8]=NULL; env2[8]="auth_control_file=./acfuser2"; env2[9]=NULL; env3[0]="username=user3"; env3[1]="password=testing"; env3[2]="verb=10"; env3[3]="untrusted_ip=127.0.0.1"; env3[4]="common_name=R-VPNGateway3"; env3[5]="trusted_ip=127.0.0.1"; env3[6]="ifconfig_pool_remote_ip=10.8.0.100"; env3[7]="untrusted_port=111"; //env3[8]=NULL; env3[8]="auth_control_file=./acfuser3"; env3[9]=NULL; env4[0]="username=user4"; env4[1]="password=testing"; env4[2]="verb=10"; env4[3]="untrusted_ip=127.0.0.1"; env4[4]="common_name=R-VPNGateway4"; env4[5]="trusted_ip=127.0.0.1"; env4[6]="ifconfig_pool_remote_ip=10.8.0.100"; env4[7]="untrusted_port=111"; //env4[8]=NULL; env4[8]="auth_control_file=./acfuser4"; env4[9]=NULL; argv[0]="radiusplugin.so"; argv[1]="./radiusplugin.cnf"; argv[2]=NULL; system("rm acfuser*"); //remove the acf files context=openvpn_plugin_open_v2(&type_mask,(const char **) argv,(const char **) env1, NULL); if (context==NULL) { return -1; } //AUTH //env1 success1=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, (const char **) argv, (const char **)env1, NULL, NULL); //sleep(1); //env2 success2=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, (const char **) argv, (const char **)env2, NULL, NULL); //sleep(1); //env3 success3=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, (const char **) argv, (const char **)env3, NULL, NULL); //sleep(1); //env4 success4=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, (const char **) argv, (const char **)env4, NULL, NULL); //sleep(1); if(success1 == OPENVPN_PLUGIN_FUNC_DEFERRED || success1 == OPENVPN_PLUGIN_FUNC_DEFERRED || success1 == OPENVPN_PLUGIN_FUNC_DEFERRED || success1 == OPENVPN_PLUGIN_FUNC_DEFERRED) { char c1,c2,c3,c4; ifstream file1(get_env("auth_control_file", env1)); ifstream file2(get_env("auth_control_file", env2)); ifstream file3(get_env("auth_control_file", env3)); ifstream file4(get_env("auth_control_file", env4)); do { if(file1.is_open()) { file1.read (&c1, 1); } else file1.open(get_env("auth_control_file", env1)); if(file2.is_open()) { file2.read (&c2, 1); } else file2.open(get_env("auth_control_file", env2)); if(file3.is_open()) { file3.read (&c3, 1); } else file3.open(get_env("auth_control_file", env3)); if(file4.is_open()) { file4.read(&c4, 1); } else file4.open(get_env("auth_control_file", env4)); sleep(1); } while(!file1.is_open() || !file2.is_open() || !file3.is_open() || !file4.is_open()); success1=c1-'0'; success2=c1-'0'; success3=c1-'0'; success4=c1-'0'; success1=success2=success3=success4= success1 & success2 & success3 & success4; file1.close(); file2.close(); file3.close(); file4.close(); system("rm acfuser*"); //remove the acf files } //CONNECT if (success1==0 && success2==0 && success3==0 && success4==0) { success5=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_CLIENT_CONNECT, (const char **) argv, (const char **)env1, NULL, NULL); //sleep(1); success6=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_CLIENT_CONNECT, (const char **) argv, (const char **)env2, NULL, NULL); //sleep(1); success7=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_CLIENT_CONNECT, (const char **) argv, (const char **)env3, NULL, NULL); //sleep(1); success8=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_CLIENT_CONNECT, (const char **) argv, (const char **)env4, NULL, NULL); //sleep(10); } //cerr << getTime() << "\n\nTurn off radius\n\n"; //rekeying AUTH //env1 success1=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, (const char **) argv, (const char **)env1, NULL, NULL); //sleep(1); //env2 success2=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, (const char **) argv, (const char **)env2, NULL, NULL); //sleep(1); //env3 success3=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, (const char **) argv, (const char **)env3, NULL, NULL); //sleep(1); //env4 success4=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, (const char **) argv, (const char **)env4, NULL, NULL); //sleep(1); if(success1 == OPENVPN_PLUGIN_FUNC_DEFERRED || success1 == OPENVPN_PLUGIN_FUNC_DEFERRED || success1 == OPENVPN_PLUGIN_FUNC_DEFERRED || success1 == OPENVPN_PLUGIN_FUNC_DEFERRED) { char c1,c2,c3,c4; ifstream file1(get_env("auth_control_file", env1)); ifstream file2(get_env("auth_control_file", env2)); ifstream file3(get_env("auth_control_file", env3)); ifstream file4(get_env("auth_control_file", env4)); do { if(file1.is_open()) { file1.read (&c1, 1); } else file1.open(get_env("auth_control_file", env1)); if(file2.is_open()) { file2.read (&c2, 1); } else file2.open(get_env("auth_control_file", env2)); if(file3.is_open()) { file3.read (&c3, 1); } else file3.open(get_env("auth_control_file", env3)); if(file4.is_open()) { file4.read(&c4, 1); } else file4.open(get_env("auth_control_file", env4)); sleep(1); } while(!file1.is_open() || !file2.is_open() || !file3.is_open() || !file4.is_open()); success1=c1-'0'; success2=c1-'0'; success3=c1-'0'; success4=c1-'0'; success1=success2=success3=success4= success1 & success2 & success3 & success4; file1.close(); file2.close(); file3.close(); file4.close(); system("rm acfuser*"); //remove the acf files } if (success5==0 && success6==0 && success7==0 && success8==0) { //DISCONNECT success9=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_CLIENT_DISCONNECT, (const char **) argv, (const char **)env1, NULL, NULL); //sleep(1); success10=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_CLIENT_DISCONNECT, (const char **) argv, (const char **)env2, NULL, NULL); //sleep(1); success11=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_CLIENT_DISCONNECT, (const char **) argv, (const char **)env3, NULL, NULL); //sleep(1); success12=openvpn_plugin_func_v2(context, OPENVPN_PLUGIN_CLIENT_DISCONNECT, (const char **) argv, (const char **)env4, NULL, NULL); } openvpn_plugin_close_v1(context); if (success1==0 && success2==0 && success3==0 && success4==0 && success5==0 && success6==0 && success7==0 && success8==0 && success9==0 && success10==0 && success11==0 && success12==0 ) { cerr << getTime() <<"AUTH_OK\n"; } else { cerr << getTime() <<"FALSE\n"; } return 0; } radiusplugin/Makefile000644 001750 001750 00000001731 11356674215 013440 0ustar00000000 000000 BLUE =\033[20;36m GREEN =\033[32m RED =\033[31m ESC =\033[0m OK =[$(GREEN) Ok $(ESC)] FAILED =[$(RED) failed $(ESC)] CC=g++ INCL= LDFLAGS= LIBS=-lgcrypt -lpthread CFLAGS=-Wall -shared -fPIC -DPIC PLUGIN=radiusplugin.so OBJECTS=\ RadiusClass/RadiusAttribute.o \ RadiusClass/RadiusPacket.o \ RadiusClass/RadiusConfig.o \ RadiusClass/RadiusServer.o \ RadiusClass/RadiusVendorSpecificAttribute.o \ AccountingProcess.o \ Exception.o \ PluginContext.o \ UserAuth.o \ AcctScheduler.o \ IpcSocket.o \ radiusplugin.o \ User.o \ AuthenticationProcess.o \ main.o \ UserAcct.o \ UserPlugin.o \ Config.o all: $(PLUGIN) $(PLUGIN): $(OBJECTS) @echo -e 'BIN: $(GREEN) $(PLUGIN) $(ESC)' @$(CC) $(CFLAGS) $(OBJECTS) -o $(PLUGIN) $(LDFLAGS) $(LIBS) %.o: %.cpp @echo -e 'OBJ: $(GREEN) $@ $(ESC)' @$(CC) $(INCL) $(CFLAGS) -o $@ -c $< test: $(OBJECTS) @$(CC) -Wall $(OBJECTS) -o main $(LDFLAGS) $(LIBS) clean: -rm $(PLUGIN) *.o */*.o radiusplugin/User.h000644 001750 001750 00000007054 11355300617 013062 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _USER_H_ #define _USER_H_ #include #include #include #include //#include "openvpn-plugin.h" /** The datatype for sending and receiving data to and from the network */ typedef unsigned char Octet; using namespace std; /** The user class represents a general user for the three different processes (foreground, * authentication background, accounting background). Here are defined the * common attributes and functions.*/ class User { protected: string username; /** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _USER_AUTH_H_ #define _USER_AUTH_H_ #include #include "RadiusClass/RadiusPacket.h" #include "RadiusClass/RadiusServer.h" #include "RadiusClass/RadiusAttribute.h" #include "RadiusClass/RadiusVendorSpecificAttribute.h" #include "RadiusClass/error.h" #include "RadiusClass/vsa.h" #include "User.h" #include "PluginContext.h" #include "radiusplugin.h" #include #include #include #include #include using namespace std; /**The class represents an user for the authentication process.**/ class UserAuth : public User { private: string password; /** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "UserAuth.h" /** The constructor. Nothing happens here.*/ UserAuth::UserAuth():User() { } /** The constructor. Nothing happens here.*/ UserAuth::~UserAuth() { } /**The method send an authentication packet to the radius server and * calls the method parseResponsePacket(). The following attributes are in the packet: * - User_Name, * - User_Password * - NAS_PortCalling_Station_Id, * - NAS_Identifier, * - NAS_IP_Address, * - NAS_Port_Type * - Service_Type. * @param context The context of the background process. * @return An integer, 0 if the authentication succeded, else 1.*/ int UserAuth::sendAcceptRequestPacket(PluginContext * context) { list * serverlist; list::iterator server; RadiusPacket packet(ACCESS_REQUEST); RadiusAttribute ra1(ATTRIB_User_Name,this->getUsername().c_str()), ra2(ATTRIB_User_Password), ra3(ATTRIB_NAS_Port,this->getPortnumber()), ra4(ATTRIB_Calling_Station_Id,this->getCallingStationId()), ra5(ATTRIB_NAS_Identifier), ra6(ATTRIB_NAS_IP_Address), ra7(ATTRIB_NAS_Port_Type), ra8(ATTRIB_Service_Type), ra9(ATTRIB_Framed_IP_Address), ra10(ATTRIB_Acct_Session_ID, this->getSessionId()); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: radius_server().\n"; //get the server list serverlist=context->radiusconf.getRadiusServer(); //set server to the first server server=serverlist->begin(); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: Build password packet: password: *****, sharedSecret: *****.\n"; //add the attributes ra2.setValue(this->password); if(packet.addRadiusAttribute(&ra1)) { cerr << getTime() << "RADIUS-PLUGIN: Fail to add attribute ATTRIB_User_Name.\n"; } if (packet.addRadiusAttribute(&ra2)) { cerr << getTime() << "RADIUS-PLUGIN: Fail to add attribute ATTRIB_User_Password.\n"; } if (packet.addRadiusAttribute(&ra3)) { cerr << getTime() << "RADIUS-PLUGIN: Fail to add attribute ATTRIB_NAS_Port.\n"; } if (packet.addRadiusAttribute(&ra4)) { cerr << getTime() << "RADIUS-PLUGIN: Fail to add attribute ATTRIB_Calling_Station_Id.\n"; } //get information from the config and add it to the packet if(strcmp(context->radiusconf.getNASIdentifier(),"")) { ra5.setValue(context->radiusconf.getNASIdentifier()); if (packet.addRadiusAttribute(&ra5)) { cerr << getTime() << "RADIUS-PLUGIN: Fail to add attribute ATTRIB_NAS_Identifier.\n"; } } if(strcmp(context->radiusconf.getNASIpAddress(),"")) { if(ra6.setValue(context->radiusconf.getNASIpAddress())!=0) { cerr << getTime() << "RADIUS-PLUGIN: Fail to set value ATTRIB_NAS_Ip_Address.\n"; } else if (packet.addRadiusAttribute(&ra6)) { cerr << getTime() << "RADIUS-PLUGIN: Fail to add attribute ATTRIB_NAS_Ip_Address.\n"; } } if(strcmp(context->radiusconf.getNASPortType(),"")) { ra7.setValue(context->radiusconf.getNASPortType()); if (packet.addRadiusAttribute(&ra7)) { cerr << getTime() << "RADIUS-PLUGIN: Fail to add attribute ATTRIB_NAS_Port_Type.\n"; } } if (packet.addRadiusAttribute(&ra10)) { cerr << getTime() << "RADIUS-PLUGIN: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } if(strcmp(context->radiusconf.getServiceType(),"")) { ra8.setValue(context->radiusconf.getServiceType()); if (packet.addRadiusAttribute(&ra8)) { cerr << getTime() << "RADIUS-PLUGIN: Fail to add attribute ATTRIB_Service_Type.\n"; } } if(this->getFramedIp().compare("") != 0) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: Send packet Re-Auth packet for framedIP="<< this->getFramedIp().c_str() << ".\n"; ra9.setValue(this->getFramedIp()); if (packet.addRadiusAttribute(&ra9)) { cerr << getTime() << "RADIUS-PLUGIN: Fail to add attribute Framed-IP-Address.\n"; } } if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: Send packet to " << server->getName().c_str() <<".\n"; //send the packet if (packet.radiusSend(server)<0) { cerr << getTime() << "RADIUS-PLUGIN: Packet was not sent.\n"; } //receive the packet if (packet.radiusReceive(serverlist)==0) { //is it a accept? if(packet.getCode()==ACCESS_ACCEPT) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: Get ACCESS_ACCEPT-Packet.\n"; //parse the attributes for framedip, framedroutes and //acctinteriminterval this->parseResponsePacket(&packet, context); return 0; } else if(packet.getCode()==ACCESS_REJECT) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: Get ACCESS_REJECT-Packet.\n"; //parse the attributes for replay message this->parseResponsePacket(&packet, context); return 1; } else { cerr << getTime() << "RADIUS-PLUGIN: Get ACCESS_REJECT or ACCESS_CHALLENGE-Packet.->ACCESS-DENIED.\n"; return 1; } } else { cerr << getTime() << "RADIUS-PLUGIN: Got no response from radius server.\n"; } return 1; } /** The method parse the authentication response packet for * the attributes framed ip, framed routes and accinteriminterval * and saves the values in the UserAuth object. The there is no acctinteriminterval * it is set to 0. * @param packet A pointer to the radius packet to parse. * @param context The plugin context. */ void UserAuth::parseResponsePacket(RadiusPacket *packet, PluginContext * context) { pair ::iterator,multimap::iterator> range; multimap::iterator iter1, iter2; RadiusVendorSpecificAttribute vsa; if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: parse_response_packet().\n"; range=packet->findAttributes(22); iter1=range.first; iter2=range.second; string froutes; while (iter1!=iter2) { froutes.append((char *) iter1->second.getValue(),iter1->second.getLength()-2); froutes.append(";"); iter1++; } this->setFramedRoutes(froutes); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: routes: " << this->getFramedRoutes() <<".\n"; range=packet->findAttributes(8); iter1=range.first; iter2=range.second; if (iter1!=iter2) { this->setFramedIp(iter1->second.ipFromBuf()); } if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: framed ip: " << this->getFramedIp() <<".\n"; range=packet->findAttributes(85); iter1=range.first; iter2=range.second; if (iter1!=iter2) { this->setAcctInterimInterval(iter1->second.intFromBuf()); } else { cerr << getTime() <<"RADIUS-PLUGIN: No attributes Acct Interim Interval or bad length.\n"; } if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: Acct Interim Interval: " << this->getAcctInterimInterval() << ".\n"; range=packet->findAttributes(26); iter1=range.first; iter2=range.second; while (iter1!=iter2) { this->appendVsaBuf(iter1->second.getValue(), iter1->second.getLength()-2); iter1++; } range=packet->findAttributes(18); iter1=range.first; iter2=range.second; string msg; while (iter1!=iter2) { msg.append((char*)iter1->second.getValue(),iter1->second.getLength()-2); cerr << getTime() <<"RADIUS-PLUGIN: BACKGROUND AUTH: Reply-Message:" << msg << "\n"; iter1++; } } /** The getter method for the password. * @return The password as a string. */ string UserAuth::getPassword(void) { return this->password; } /**The setter method for the password. * @param passwd The password. */ void UserAuth::setPassword(string passwd) { this->password=passwd; } string UserAuth::valueToString(RadiusVendorSpecificAttribute *vsa) { int id=vsa->getId(); int type=vsa->getType(); char buffer[50]; /* File was generated from dictionary file of freeradius 1.0.2. */ /* IF-statement was generated from dictionary file of freeradius 1.0.2. */ /* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ if ( (id == VENDOR_ACC && type == ATTRIBUTE_ACC_REASON_CODE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CCP_OPTION) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_INPUT_ERRORS) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_OUTPUT_ERRORS) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ROUTE_POLICY) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ML_MLX_ADMIN_STATE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ML_CALL_THRESHOLD) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ML_CLEAR_THRESHOLD) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ML_DAMPING_FACTOR) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CLEARING_CAUSE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CLEARING_LOCATION) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_REQUEST_TYPE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_BRIDGING_SUPPORT) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_APSM_OVERSUBSCRIBED) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ACCT_ON_OFF_REASON) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_TUNNEL_PORT) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DIAL_PORT_INDEX) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IP_COMPRESSION) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IPX_COMPRESSION) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CONNECT_TX_SPEED) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CONNECT_RX_SPEED) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CALLBACK_DELAY) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CALLBACK_MODE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CALLBACK_CBCP_TYPE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DIALOUT_AUTH_MODE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ACCESS_COMMUNITY) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_VPSM_REJECT_CAUSE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ACE_TOKEN_TTL) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IGMP_ADMIN_STATE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IGMP_VERSION) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_MULTILINK_ID) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_NUM_IN_MULTILINK) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PRE_INPUT_OCTETS) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PRE_OUTPUT_OCTETS) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PRE_INPUT_PACKETS) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PRE_OUTPUT_PACKETS) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_MAXIMUM_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_DISCONNECT_CAUSE) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_DATA_RATE) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PRESESSION_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PW_LIFETIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_IP_DIRECT) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PPP_VJ_SLOT_COMP) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PPP_ASYNC_MAP) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_IP_POOL_DEFINITION) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_ASSIGN_IP_POOL) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_ROUTE_IP) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_LINK_COMPRESSION) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_TARGET_UTIL) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_MAXIMUM_CHANNELS) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_DATA_FILTER) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_CALL_FILTER) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_IDLE_LIMIT) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_XMIT_RATE) || (id == VENDOR_CABLETRON && type == ATTRIBUTE_CABLETRON_PROTOCOL_ENABLE) || (id == VENDOR_CABLETRON && type == ATTRIBUTE_CABLETRON_PROTOCOL_CALLABLE) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_TYPE_OF_SERVICE) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_LINK_SPEED) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_LINKS_IN_BUNDLE) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_COMPRESSION_TYPE) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_LINK_PROTOCOL) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_NETWORK_PROTOCOLS) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_SESSION_ID) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_DISCONNECT_REASON) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_EVENT_FLAGS) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_FUNCTION) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_CONNECT_REASON) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_TUNNEL_THROUGHPUT) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_ECHO) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_CLIENT_ASSIGNED_IPX) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IPSEC_LOG_OPTIONS) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IPSEC_DENY_ACTION) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_TCP_SESSION_TIMEOUT) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_OTHER_SESSION_TIMEOUT) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_LOG_OPTIONS) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_SESS_DIR_FAIL_ACTION) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_MULTICAST_CLIENT) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_RAS_VENDOR) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_BAP_USAGE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_LINK_UTILIZATION_THRESHOLD) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_LINK_DROP_TIME_LIMIT) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_ARAP_PW_CHANGE_REASON) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_ACCT_AUTH_TYPE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_ACCT_EAP_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_DTE_DATA_IDLE_TIMOUT) || (id == VENDOR_USR && type == ATTRIBUTE_DEFAULT_DTE_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_SYNC_ASYNC_MODE) || (id == VENDOR_USR && type == ATTRIBUTE_ORIGINATE_ANSWER_MODE) || (id == VENDOR_USR && type == ATTRIBUTE_FAILURE_TO_CONNECT_REASON) || (id == VENDOR_USR && type == ATTRIBUTE_INITIAL_TX_LINK_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_FINAL_TX_LINK_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_MODULATION_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_EQUALIZATION_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_FALLBACK_ENABLED) || (id == VENDOR_USR && type == ATTRIBUTE_CHARACTERS_SENT) || (id == VENDOR_USR && type == ATTRIBUTE_CHARACTERS_RECEIVED) || (id == VENDOR_USR && type == ATTRIBUTE_BLOCKS_SENT) || (id == VENDOR_USR && type == ATTRIBUTE_BLOCKS_RECEIVED) || (id == VENDOR_USR && type == ATTRIBUTE_BLOCKS_RESENT) || (id == VENDOR_USR && type == ATTRIBUTE_RETRAINS_REQUESTED) || (id == VENDOR_USR && type == ATTRIBUTE_RETRAINS_GRANTED) || (id == VENDOR_USR && type == ATTRIBUTE_LINE_REVERSALS) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_CHARACTERS_LOST) || (id == VENDOR_USR && type == ATTRIBUTE_BACK_CHANNEL_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_BLERS) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_LINK_TIMEOUTS) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_FALLBACKS) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_UPSHIFTS) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_LINK_NAKS) || (id == VENDOR_USR && type == ATTRIBUTE_SIMPLIFIED_MNP_LEVELS) || (id == VENDOR_USR && type == ATTRIBUTE_CONNECT_TERM_REASON) || (id == VENDOR_USR && type == ATTRIBUTE_DTR_FALSE_TIMEOUT) || (id == VENDOR_USR && type == ATTRIBUTE_FALLBACK_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_BLOCK_ERROR_COUNT_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_SIMPLIFIED_V42BIS_USAGE) || (id == VENDOR_USR && type == ATTRIBUTE_DTR_TRUE_TIMEOUT) || (id == VENDOR_USR && type == ATTRIBUTE_CDMA_CALL_REFERENCE_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_MBI_CT_PRI_CARD_SLOT) || (id == VENDOR_USR && type == ATTRIBUTE_MBI_CT_TDM_TIME_SLOT) || (id == VENDOR_USR && type == ATTRIBUTE_MBI_CT_PRI_CARD_SPAN_LINE) || (id == VENDOR_USR && type == ATTRIBUTE_MBI_CT_BCHANNEL_USED) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_STATUS) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_NUM_OF_UPDATES) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_MANUFACTURER_ID) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_IWF_CALL_IDENTIFIER) || (id == VENDOR_USR && type == ATTRIBUTE_SERVICE_OPTION) || (id == VENDOR_USR && type == ATTRIBUTE_DISCONNECT_CAUSE_INDICATOR) || (id == VENDOR_USR && type == ATTRIBUTE_MOBILE_NUMBYTES_TXED) || (id == VENDOR_USR && type == ATTRIBUTE_MOBILE_NUMBYTES_RXED) || (id == VENDOR_USR && type == ATTRIBUTE_NUM_FAX_PAGES_PROCESSED) || (id == VENDOR_USR && type == ATTRIBUTE_COMPRESSION_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_ERROR_CODE) || (id == VENDOR_USR && type == ATTRIBUTE_MODEM_SETUP_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_CONNECTING_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_CONNECT_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_LAST_UPDATE_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_LAST_UPDATE_EVENT) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_RCV_TOT_PWRLVL) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_RCV_PWRLVL_3300HZ) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_RCV_PWRLVL_3750HZ) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PWRLVL_NEARECHO_CANC) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PWRLVL_FARECHO_CANC) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PWRLVL_NOISE_LVL) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PWRLVL_XMIT_LVL) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_X2_STATUS) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PLANNED_DISCONNECT) || (id == VENDOR_USR && type == ATTRIBUTE_INITIAL_MODULATION_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_SYSLOG_TAP) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_CALL_SLOT) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_CALL_SPAN) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_CALL_CHANNEL) || (id == VENDOR_USR && type == ATTRIBUTE_KEYPRESS_TIMEOUT) || (id == VENDOR_USR && type == ATTRIBUTE_UNAUTHENTICATED_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_VPN_ENCRYPTER) || (id == VENDOR_USR && type == ATTRIBUTE_RE_CHAP_TIMEOUT) || (id == VENDOR_USR && type == ATTRIBUTE_CCP_ALGORITHM) || (id == VENDOR_USR && type == ATTRIBUTE_ACCM_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_CONNECT_SPEED) || (id == VENDOR_USR && type == ATTRIBUTE_BEARER_CAPABILITIES) || (id == VENDOR_USR && type == ATTRIBUTE_SPEED_OF_CONNECTION) || (id == VENDOR_USR && type == ATTRIBUTE_MAX_CHANNELS) || (id == VENDOR_USR && type == ATTRIBUTE_CHANNEL_EXPANSION) || (id == VENDOR_USR && type == ATTRIBUTE_CHANNEL_DECREMENT) || (id == VENDOR_USR && type == ATTRIBUTE_EXPANSION_ALGORITHM) || (id == VENDOR_USR && type == ATTRIBUTE_COMPRESSION_ALGORITHM) || (id == VENDOR_USR && type == ATTRIBUTE_RECEIVE_ACC_MAP) || (id == VENDOR_USR && type == ATTRIBUTE_TRANSMIT_ACC_MAP) || (id == VENDOR_USR && type == ATTRIBUTE_COMPRESSION_RESET_MODE) || (id == VENDOR_USR && type == ATTRIBUTE_MIN_COMPRESSION_SIZE) || (id == VENDOR_USR && type == ATTRIBUTE_IP) || (id == VENDOR_USR && type == ATTRIBUTE_IPX) || (id == VENDOR_USR && type == ATTRIBUTE_FILTER_ZONES) || (id == VENDOR_USR && type == ATTRIBUTE_APPLETALK) || (id == VENDOR_USR && type == ATTRIBUTE_BRIDGING) || (id == VENDOR_USR && type == ATTRIBUTE_SPOOFING) || (id == VENDOR_USR && type == ATTRIBUTE_HOST_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_START_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_END_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_APPLETALK_NETWORK_RANGE) || (id == VENDOR_USR && type == ATTRIBUTE_ROUTING_PROTOCOL) || (id == VENDOR_USR && type == ATTRIBUTE_MODEM_GROUP) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_ROUTING) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_WAN) || (id == VENDOR_USR && type == ATTRIBUTE_IP_RIP_POLICIES) || (id == VENDOR_USR && type == ATTRIBUTE_MP_MRRU) || (id == VENDOR_USR && type == ATTRIBUTE_IP_DEFAULT_ROUTE_OPTION) || (id == VENDOR_USR && type == ATTRIBUTE_MODEM_TRAINING_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_INTERFACE_INDEX) || (id == VENDOR_USR && type == ATTRIBUTE_TUNNEL_SECURITY) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP_FORMAT) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP_OUTPUT) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP_FACILITY) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP_PRIORITY) || (id == VENDOR_USR && type == ATTRIBUTE_TUNNELED_MLPP) || (id == VENDOR_USR && type == ATTRIBUTE_MULTICAST_PROXY) || (id == VENDOR_USR && type == ATTRIBUTE_MULTICAST_RECEIVE) || (id == VENDOR_USR && type == ATTRIBUTE_MULTICAST_FORWARDING) || (id == VENDOR_USR && type == ATTRIBUTE_IGMP_QUERY_INTERVAL) || (id == VENDOR_USR && type == ATTRIBUTE_IGMP_MAXIMUM_RESPONSE_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_IGMP_ROBUSTNESS) || (id == VENDOR_USR && type == ATTRIBUTE_IGMP_VERSION) || (id == VENDOR_USR && type == ATTRIBUTE_IGMP_ROUTING) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_ARRIVAL_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_END_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_MULTICAST_ROUTING_TTL) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_MULTICAST_ROUTING_RTLIM) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_MULTICAST_ROUTING_PROTO) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_DVMRP_METRIC) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_LOCATION_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_OSPF_ADDRESSLESS_INDEX) || (id == VENDOR_USR && type == ATTRIBUTE_CALLBACK_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_ACCT_REASON_CODE) || (id == VENDOR_USR && type == ATTRIBUTE_IP_SAA_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_DNIS_REAUTHENTICATION) || (id == VENDOR_USR && type == ATTRIBUTE_SUPPORTS_TAGS) || (id == VENDOR_USR && type == ATTRIBUTE_HARC_DISCONNECT_CODE) || (id == VENDOR_USR && type == ATTRIBUTE_IDS0_CALL_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_CHANNEL_CONNECTED_TO) || (id == VENDOR_USR && type == ATTRIBUTE_SLOT_CONNECTED_TO) || (id == VENDOR_USR && type == ATTRIBUTE_DEVICE_CONNECTED_TO) || (id == VENDOR_USR && type == ATTRIBUTE_NFAS_ID) || (id == VENDOR_USR && type == ATTRIBUTE_Q931_CALL_REFERENCE_VALUE) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_EVENT_CODE) || (id == VENDOR_USR && type == ATTRIBUTE_DS0) || (id == VENDOR_USR && type == ATTRIBUTE_PHYSICAL_STATE) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_REFERENCE_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_TEMP_THRESHOLD) || (id == VENDOR_USR && type == ATTRIBUTE_CARD_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_SECURITY_LOGIN_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_SECURITY_RESP_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_PACKET_BUS_SESSION) || (id == VENDOR_USR && type == ATTRIBUTE_DTE_RING_NO_ANSWER_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_FINAL_RX_LINK_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_INITIAL_RX_LINK_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_TEMPERATURE) || (id == VENDOR_USR && type == ATTRIBUTE_ACTUAL_VOLTAGE) || (id == VENDOR_USR && type == ATTRIBUTE_EXPECTED_VOLTAGE) || (id == VENDOR_USR && type == ATTRIBUTE_POWER_SUPPLY_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_CHANNEL) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_SLOT) || (id == VENDOR_USR && type == ATTRIBUTE_EVENT_ID) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_RINGS_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_CONNECT_TIME_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_REQUEST_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_NAS_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_AUTH_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MAX_SHARED_USERS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CIR_TIMER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_08_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DESTINATION_NAS_PORT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_NAS_PORT_FORMAT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_FAULT_MANAGEMENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_LOOPBACK_CELL_LOSS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CKT_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SVC_ENABLED) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SESSION_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_H323_CONFERENCE_ID) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_H323_DIALED_TIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_INTER_ARRIVAL_JITTER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DROPPED_OCTETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DROPPED_PACKETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_AUTH_DELAY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_X3_PROFILE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_REVERSE_CHARGING) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BI_DIRECTIONAL_AUTH) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MTU) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALL_DIRECTION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SERVICE_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FILTER_REQUIRED) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TRAFFIC_SHAPER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRIVATE_ROUTE_REQUIRED) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CACHE_REFRESH) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CACHE_TIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_EGRESS_ENABLED) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_CONNECT_VPI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_CONNECT_VCI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_CONNECT_GROUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_GROUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPX_HEADER_COMPRESSION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLING_ID_TYPE_OF_NUM) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLING_ID_NUMBER_PLAN) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLING_ID_PRESENTATN) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLING_ID_SCREENING) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BIR_ENABLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BIR_PROXY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BIR_BRIDGE_GROUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PPPOE_ENABLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BRIDGE_NON_PPPOE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_DIRECT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_ASSIGN_WINS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_AUTH_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PORT_REDIR_PROTOCOL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PORT_REDIR_PORTNUM) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_POOL_CHAINING) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_TOS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_TOS_PRECEDENCE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_TOS_APPLY_TO) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_RATE_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_VPI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_VCI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SOURCE_IP_CHECK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_RATE_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_UPSTREAM_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_DOWNSTREAM_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_CIR_RECV_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_CIR_XMIT_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_NUMBERING_PLAN_ID) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_LINK_STATUS_DLCI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLBACK_DELAY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MULTICAST_GLEAVE_DELAY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CBCP_ENABLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CBCP_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CBCP_DELAY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CBCP_TRUNK_GROUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_APPLETALK_PEER_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ROUTE_APPLETALK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MODEM_PORTNO) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MODEM_SLOTNO) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MODEM_SHELFNO) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALL_ATTEMPT_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALL_BLOCK_DURATION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MAXIMUM_CALL_DURATION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TEMPORARY_RTES) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TUNNELING_PROTOCOL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SHARED_PROFILE_ENABLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DIALOUT_ALLOWED) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BACP_ENABLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DHCP_MAXIMUM_LEASES) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_ASSIGN_DNS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_PORT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_BASE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_TIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DHCP_REPLY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DHCP_POOL_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_EXPECT_CALLBACK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_EVENT_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MULTICAST_RATE_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MULTICAST_CLIENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_LINKUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_NAILED_GRP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_LINK_MGT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_N391) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DCE_N392) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DTE_N392) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DCE_N393) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DTE_N393) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_T391) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_T392) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TS_IDLE_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TS_IDLE_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DBA_MONITOR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BASE_CHANNEL_COUNT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MINIMUM_CHANNELS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FT1_CALLER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALL_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DLCI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HOME_AGENT_UDP_PORT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MULTILINK_ID) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_NUM_IN_MULTILINK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRE_INPUT_OCTETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRE_OUTPUT_OCTETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRE_INPUT_PACKETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRE_OUTPUT_PACKETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MAXIMUM_TIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DISCONNECT_CAUSE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CONNECT_PROGRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DATA_RATE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRESESSION_TIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TOKEN_IDLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TOKEN_IMMEDIATE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_REQUIRE_AUTH) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TOKEN_EXPIRY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PW_WARNTIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PW_LIFETIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PPP_VJ_SLOT_COMP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PPP_VJ_1172) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PPP_ASYNC_MAP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPX_PEER_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ASSIGN_IP_POOL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DIRECT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DIRECT_DLCI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HANDLE_IPX) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_NETWARE_TIMEOUT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPX_ALIAS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_METRIC) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRI_NUMBER_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ROUTE_IP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ROUTE_IPX) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BRIDGE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SEND_AUTH) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_LINK_COMPRESSION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TARGET_UTIL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MAXIMUM_CHANNELS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_INC_CHANNEL_COUNT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DEC_CHANNEL_COUNT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SECONDS_OF_HISTORY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HISTORY_WEIGH_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ADD_SECONDS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_REMOVE_SECONDS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IDLE_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PREEMPT_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLBACK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DATA_SVC) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FORCE_56) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALL_BY_CALL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MPP_IDLE_PERCENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_XMIT_RATE) || (id == VENDOR_KARLNET && type == ATTRIBUTE_KARLNET_TURBOCELL_TXRATE) || (id == VENDOR_KARLNET && type == ATTRIBUTE_KARLNET_TURBOCELL_OPSTATE) || (id == VENDOR_KARLNET && type == ATTRIBUTE_KARLNET_TURBOCELL_OPMODE) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_PPP_ECHO_INTERVAL) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_SSH_PRIVILEGES) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_AUTH_SERV_PROT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PROVIDER_ID) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_USERGROUP) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_IP_POOL) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_TUNNEL_PROT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_ACCT_SERV_PROT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_CHANNEL_BINDING) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_START_DELAY) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_ISDN_PROT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PPP_AUTH_TYPE) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_DIALOUT_TYPE) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_MODEM_POOL_ID) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PPP_CLIENT_SERVER_MODE) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_CALLBACK_PORTLIST) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SEC_PROFILE_INDEX) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_TUNNEL_AUTHEN_TYPE) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_TUNNEL_AUTHEN_MODE) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_USER_SERVER_LOCATION) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SYSTEM_DISC_REASON) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_MODEM_DISC_REASON) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_DISCONNECT_REASON) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_ADDR_RESOLUTION_PROTOCOL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_TRANSMIT_SPEED) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RECEIVE_SPEED) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SYSLOG_TAP) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_KEYPRESS_TIMEOUT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_UNAUTHENTICATED_TIME) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RE_CHAP_TIMEOUT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_MRRU) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PPP_TRACE_LEVEL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRE_INPUT_OCTETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRE_OUTPUT_OCTETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRE_INPUT_PACKETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRE_OUTPUT_PACKETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_CONNECT_PROGRESS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_MULTICAST_RATE_LIMIT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_MAXIMUM_CALL_DURATION) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_MULTILINK_ID) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_NUM_IN_MULTILINK) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_LOGICAL_CHANNEL_NUMBER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_WAN_NUMBER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PORT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_POOL_ID) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_TRANSMITTED_PACKETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RETRANSMITTED_PACKETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SIGNAL_TO_NOISE_RATIO) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RETRAIN_REQUESTS_SENT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RETRAIN_REQUESTS_RCVD) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RATE_RENEG_REQ_SENT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RATE_RENEG_REQ_RCVD) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_BEGIN_RECEIVE_LINE_LEVEL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_END_RECEIVE_LINE_LEVEL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_USER_LEVEL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_AUDIT_LEVEL) || (id == VENDOR_ALTEON && type == ATTRIBUTE_ALTEON_SERVICE_TYPE) || (id == VENDOR_FOUNDRY && type == ATTRIBUTE_FOUNDRY_PRIVILEGE_LEVEL) || (id == VENDOR_FOUNDRY && type == ATTRIBUTE_FOUNDRY_COMMAND_EXCEPTION_FLAG) || (id == VENDOR_VERSANET && type == ATTRIBUTE_VERSANET_TERMINATION_CAUSE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_DHCP_MAX_LEASES) || (id == VENDOR_REDBACK && type == ATTRIBUTE_RATE_LIMIT_RATE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_RATE_LIMIT_BURST) || (id == VENDOR_REDBACK && type == ATTRIBUTE_POLICE_RATE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_POLICE_BURST) || (id == VENDOR_REDBACK && type == ATTRIBUTE_SOURCE_VALIDATION) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_DOMAIN) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_FUNCTION) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_MAX_SESSIONS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_MAX_TUNNELS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_SESSION_AUTH) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_WINDOW) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_RETRANSMIT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_CMD_TIMEOUT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_GROUP) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_ALGORITHM) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_DEADTIME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_MCAST_SEND) || (id == VENDOR_REDBACK && type == ATTRIBUTE_MCAST_RECEIVE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_MCAST_MAXGROUPS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_DNIS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_MEDIUM_TYPE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_PVC_ENCAPSULATION_TYPE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_PVC_CIRCUIT_PADDING) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_TYPE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_AUTH_PROTOCOL) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_AUTH_MAX_SESSIONS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_DOT1Q_SLOT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_DOT1Q_PORT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_DOT1Q_VLAN_TAG_ID) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_L2TP_FLOW_CONTROL) || (id == VENDOR_REDBACK && type == ATTRIBUTE_IP_TOS_FIELD) || (id == VENDOR_REDBACK && type == ATTRIBUTE_NAS_REAL_PORT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_RATE_LIMIT_RATE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_RATE_LIMIT_BURST) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_POLICE_RATE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_POLICE_BURST) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_MCAST_IN_OCTETS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_MCAST_OUT_OCTETS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_MCAST_IN_PACKETS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_MCAST_OUT_PACKETS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_LAC_PORT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_LAC_REAL_PORT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_LAC_PORT_TYPE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_LAC_REAL_PORT_TYPE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_SESSION_ERROR_CODE) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_VPOP_ID) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_SS7_SESSION_ID_TYPE) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_RADIUS_REDIRECT) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_IPSVC_AZNLVL) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_IPSVC_MASK) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MULTILINK_MATCH_INFO) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MULTILINK_GROUP_NUMBER) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_PPP_LOG_MASK) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_TX_PACKETS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_RETX_PACKETS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_SNR) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_LOCAL_RETRAINS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_REMOTE_RETRAINS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_LOCAL_RATE_NEGS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_REMOTE_RATE_NEGS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_BEGIN_RECV_LINE_LVL) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_END_RECV_LINE_LVL) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_CLIENT_ASSIGN_DNS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MULTICAST_RATE_LIMIT) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MULTICAST_CLIENT) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_DISCONNECT_CAUSE) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_DATA_RATE) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_PRESESSION_TIME) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_ASSIGN_IP_POOL) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MAXIMUM_CHANNELS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_IDLE_LIMIT) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_XMIT_RATE) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_IP_TOS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_IP_TOS_PRECEDENCE) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_IP_TOS_APPLY_TO) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_MCAST_CLIENT) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_REQUIRE_AUTH) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_ASSIGN_IP_POOL) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_SOURCE_IP_CHECK) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_ATM_VPI) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_ATM_VCI) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_INPUT_OCTETS_DIFF) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_OUTPUT_OCTETS_DIFF) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_SIMULTANEOUS_LOGINS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_MIN_PASSWORD_LENGTH_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_ALLOW_ALPHA_ONLY_PASSWORDS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_TUNNELING_PROTOCOLS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_AUTHENTICATION_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_ALLOW_PASSWD_STORE) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_USE_CLIENT_ADDRESS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_PPTP_ENCRYPTION_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_L2TP_ENCRYPTION_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_L2L_KEEPALIVES_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_TUNNEL_TYPE_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_MODE_CONFIG_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_USER_GROUP_LOCK_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_OVER_NAT_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_OVER_NAT_PORT_NUM_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_PPTP_MPPC_COMPRESSION) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_L2TP_MPPC_COMPRESSION) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_IP_COMPRESSION) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_IKE_PEER_ID_CHECK) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IKE_KEEP_ALIVES) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_AUTH_ON_REKEY) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_VENDOR_CODE) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_PRODUCT_CODE) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_REQUIRE_HW_CLIENT_AUTH) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_REQUIRE_INDIVIDUAL_USER_AUTH) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_AUTHD_USER_IDLE_TIMEOUT) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_CISCO_IP_PHONE_BYPASS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_PORT) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_SPLIT_TUNNELING_POLICY) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_REQRD_CLIENT_FW_CAP) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_CLIENT_FW_FILTER_OPT) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_BACKUP_SERVERS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_MS_CLIENT_ICPT_DHCP_CONF_MSG) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_ALLOW_NETWORK_EXTENSION_MODE) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_STRIP_REALM) || (id == VENDOR_SHASTA && type == ATTRIBUTE_SHASTA_USER_PRIVILEGE) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_ADMIN_PRIVILEGE) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_BW_UP) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_BW_DOWN) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_IP_UPSELL) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_MAXBYTESUP) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_MAXBYTESDOWN) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_ENDOFSESSION) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_SERVICE_DOMAIN) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ATM_SERVICE_CATEGORY) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ATM_PCR) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ATM_SCR) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ATM_MBS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_CLI_ALLOW_ALL_VR_ACCESS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_SA_VALIDATE) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_IGMP_ENABLE) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_PPPOE_MAX_SESSIONS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_QOS_PROFILE_INTERFACE_TYPE) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_TUNNEL_NAS_PORT_METHOD) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_TUNNEL_TOS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_TUNNEL_MAXIMUM_SESSIONS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_INPUT_GIGAPKTS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_OUTPUT_GIGAPKTS) || (id == VENDOR_CISCO_BBSM && type == ATTRIBUTE_CBBSM_BANDWIDTH) || (id == VENDOR_3COM && type == ATTRIBUTE_SS3_FIREWALL_USER_PRIVILEGE) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_BANDWIDTH_MIN_UP) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_BANDWIDTH_MIN_DOWN) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_BANDWIDTH_MAX_UP) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_BANDWIDTH_MAX_DOWN) ) { sprintf(buffer, "%d", vsa->intFromBuf()); return string(buffer); } /* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ else if ( (id == VENDOR_USR && type == ATTRIBUTE_CALL_TERMINATE_IN_GMT) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_CONNECT_IN_GMT) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_ARRIVAL_IN_GMT) || (id == VENDOR_USR && type == ATTRIBUTE_EVENT_DATE_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_END_DATE_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_START_DATE_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_SERVER_TIME) ) { sprintf(buffer, "%d", vsa->intFromBuf()); return string(buffer); } /* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ else if ( (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ACCESS_PARTITION) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CUSTOMER_ID) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_TUNNEL_SECRET) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_SERVICE_PROFILE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_MODEM_MODULATION_TYPE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_MODEM_ERROR_PROTOCOL) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CALLBACK_NUM_VALID) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DIALOUT_AUTH_PASSWORD) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DIALOUT_AUTH_USERNAME) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ACE_TOKEN) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IP_POOL_NAME) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_AVPAIR) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_NAS_PORT) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_REMOTE_ADDRESS) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CONF_ID) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_SETUP_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CALL_ORIGIN) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CALL_TYPE) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CONNECT_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_DISCONNECT_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_DISCONNECT_CAUSE) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_VOICE_QUALITY) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_GW_ID) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_INCOMING_CONF_ID) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CREDIT_AMOUNT) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CREDIT_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_RETURN_CODE) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_PROMPT_ID) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_TIME_AND_DAY) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_REDIRECT_NUMBER) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_PREFERRED_LANG) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_REDIRECT_IP_ADDRESS) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_BILLING_MODEL) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CURRENCY) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_ACCOUNT_INFO) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_SERVICE_INFO) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_COMMAND_CODE) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_CONTROL_INFO) || (id == VENDOR_TELEBIT && type == ATTRIBUTE_TELEBIT_LOGIN_COMMAND) || (id == VENDOR_TELEBIT && type == ATTRIBUTE_TELEBIT_PORT_NAME) || (id == VENDOR_TELEBIT && type == ATTRIBUTE_TELEBIT_ACTIVATE_COMMAND) || (id == VENDOR_TELEBIT && type == ATTRIBUTE_TELEBIT_ACCOUNTING_INFO) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_USER_ATTRIBUTES) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_CALLED_NUMBER) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_CALLING_NUMBER) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_CUSTOMER_ID) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_CLIENT_ASSIGNED_IP) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_CLIENT_REAL_IP) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_VPN_GROUPINFO) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_VPN_PASSWORD) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_BIBOPPPTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_BIBODIALTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPEXTIFTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPROUTETABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPEXTRTTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPNATPRESETTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPXCIRCTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_RIPCIRCTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_SAPCIRCTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPXSTATICROUTETABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPXSTATICSERVTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_OSPFIFTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_PPPEXTIFTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPFILTERTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPQOSTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_QOSIFTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_QOSPOLICYTABLE) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_TERMINATE_DETAIL) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_ADVICE_OF_CHARGE) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_CONNECT_DETAIL) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IP_POOL) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_MODEM_INFO) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IPSEC_ACTIVE_PROFILE) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IPSEC_OUTSOURCE_PROFILE) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IPSEC_PASSIVE_PROFILE) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_INMAP) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_OUTMAP) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_OUTSOURCE_INMAP) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_OUTSOURCE_OUTMAP) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_ADMIN_GROUP) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_RESPONSE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_ERROR) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_CPW_1) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_CPW_2) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_LM_ENC_PW) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_NT_ENC_PW) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_MPPE_ENCRYPTION_POLICY) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_MPPE_ENCRYPTION_TYPE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_DOMAIN) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_CHALLENGE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_MPPE_KEYS) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_MPPE_SEND_KEY) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_MPPE_RECV_KEY) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_RAS_VERSION) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_OLD_ARAP_PASSWORD) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_NEW_ARAP_PASSWORD) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_FILTER) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP2_RESPONSE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP2_SUCCESS) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP2_CPW) || (id == VENDOR_USR && type == ATTRIBUTE_LAST_NUMBER_DIALED_OUT) || (id == VENDOR_USR && type == ATTRIBUTE_LAST_NUMBER_DIALED_IN_DNIS) || (id == VENDOR_USR && type == ATTRIBUTE_LAST_CALLERS_NUMBER_ANI) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PRODUCT_CODE) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_SERIAL_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_FIRMWARE_VERSION) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_FIRMWARE_BUILD_DATE) || (id == VENDOR_USR && type == ATTRIBUTE_CALLING_PARTY_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_CALLED_PARTY_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_ESN) || (id == VENDOR_USR && type == ATTRIBUTE_IMSI) || (id == VENDOR_USR && type == ATTRIBUTE_PW_USR_IFILTER_IP) || (id == VENDOR_USR && type == ATTRIBUTE_PW_USR_IFILTER_IPX) || (id == VENDOR_USR && type == ATTRIBUTE_SAP_FILTER_IN) || (id == VENDOR_USR && type == ATTRIBUTE_PW_USR_OFILTER_IP) || (id == VENDOR_USR && type == ATTRIBUTE_PW_USR_OFILTER_IPX) || (id == VENDOR_USR && type == ATTRIBUTE_PW_USR_OFILTER_SAP) || (id == VENDOR_USR && type == ATTRIBUTE_PW_VPN_ID) || (id == VENDOR_USR && type == ATTRIBUTE_PW_VPN_NAME) || (id == VENDOR_USR && type == ATTRIBUTE_PW_VPN_NEIGHBOR) || (id == VENDOR_USR && type == ATTRIBUTE_PW_FRAMED_ROUTING_V2) || (id == VENDOR_USR && type == ATTRIBUTE_PW_VPN_GATEWAY) || (id == VENDOR_USR && type == ATTRIBUTE_PW_TUNNEL_AUTHENTICATION) || (id == VENDOR_USR && type == ATTRIBUTE_PW_INDEX) || (id == VENDOR_USR && type == ATTRIBUTE_PW_CUTOFF) || (id == VENDOR_USR && type == ATTRIBUTE_PW_PACKET) || (id == VENDOR_USR && type == ATTRIBUTE_MIC) || (id == VENDOR_USR && type == ATTRIBUTE_LOG_FILTER_PACKETS) || (id == VENDOR_USR && type == ATTRIBUTE_VPN_GW_LOCATION_ID) || (id == VENDOR_USR && type == ATTRIBUTE_FRAMED_IP_ADDRESS_POOL_NAME) || (id == VENDOR_USR && type == ATTRIBUTE_MP_EDO) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_NAME) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_PASSWORD) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT1) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT1) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT2) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT2) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT3) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT3) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT4) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT4) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT5) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT5) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT6) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT6) || (id == VENDOR_USR && type == ATTRIBUTE_TERMINAL_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_LOCAL_IP_ADDRESS) || (id == VENDOR_USR && type == ATTRIBUTE_IP_RIP_SIMPLE_AUTH_PASSWORD) || (id == VENDOR_USR && type == ATTRIBUTE_IP_RIP_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IP_CALL_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_RIP_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_CALL_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_RTMP_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_ZIP_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_CALL_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_ET_BRIDGE_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IP_RIP_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IP_CALL_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_RIP_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_CALL_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_RTMP_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_ZIP_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_CALL_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_ET_BRIDGE_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_ET_BRIDGE_CALL_OUTPUT_FILTE) || (id == VENDOR_USR && type == ATTRIBUTE_MP_EDO_HIPER) || (id == VENDOR_USR && type == ATTRIBUTE_VTS_SESSION_KEY) || (id == VENDOR_USR && type == ATTRIBUTE_ORIG_NAS_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_MULTICAST_ROUTING_BOUND) || (id == VENDOR_USR && type == ATTRIBUTE_CHAT_SCRIPT_NAME) || (id == VENDOR_USR && type == ATTRIBUTE_CHAT_SCRIPT_RULES) || (id == VENDOR_USR && type == ATTRIBUTE_TUNNEL_SWITCH_ENDPOINT) || (id == VENDOR_USR && type == ATTRIBUTE_TUNNEL_AUTH_HOSTNAME) || (id == VENDOR_USR && type == ATTRIBUTE_DS0S) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_UU_INFO) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_SVC_ADDR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_GLOBAL_CALL_ID) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DIALED_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_X3_PARAMETERS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TUNNEL_VROUTER_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_NUI_PROMPT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_NUI_PASSWORD_PROMPT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_CUG) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_ALIAS_1) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_ALIAS_2) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_ALIAS_3) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_X121_ADDRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_NUI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_RPOA) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_PROMPT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_BANNER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PROFILE_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_RECV_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ACCESS_INTERCEPT_LEA) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ACCESS_INTERCEPT_LOG) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRIVATE_ROUTE_TABLE_ID) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_QOS_UPSTREAM) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_QOS_DOWNSTREAM) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPSEC_PROFILE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_DIRECT_PROFILE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FILTER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TELNET_PROFILE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_REDIRECT_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_VROUTER_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SOURCE_AUTH) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRIVATE_ROUTE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLING_SUBADDRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ENDPOINT_DISC) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_REMOTE_FW) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_APPLETALK_ROUTE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FCP_PARAMETER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRIMARY_HOME_AGENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SECONDARY_HOME_AGENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_KEY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ASSIGN_IP_GLOBAL_POOL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SESSION_SVR_KEY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_CIRCUIT_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BRIDGE_ADDRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPX_ROUTE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BACKUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_GROUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_PROFILE_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ARA_PW) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPX_NODE_ADDR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HOME_AGENT_PASSWORD) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HOME_NETWORK_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_NUMBER_SESSIONS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_AUTHEN_ALIAS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MENU_SELECTOR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MENU_ITEM) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_THIRD_PROMPT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SEND_SECRET) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_RECEIVE_SECRET) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_POOL_DEFINITION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DIRECT_PROFILE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DIAL_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SEND_PASSWD) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BILLING_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TRANSIT_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HOST_INFO) || (id == VENDOR_KARLNET && type == ATTRIBUTE_KARLNET_TURBOCELL_NAME) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_ADDRESS_POOL) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_CLIENT_ACCESS_NETWORK) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_BANNER) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_USERNAME_PROMPT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PASSWORD_PROMPT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_WELCOME_MESSAGE) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PROMPT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_FILTER_RULE) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_NAS_NAME) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_USERS_DEFAULT_ENTRY) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_USERS_DEFAULT_PW) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_AUTH_REQ_TYPE) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_MODEM_INIT_STRING) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PPP_COMPRESSION_PROT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_USERNAME) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_DEST_NO) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_DDI) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_FILTER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_CLI_COMMAND) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_CLI_FILTER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_HOST_RESTRICT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_HOST_ALLOW) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRODUCT_NAME) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SW_VERSION) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_AUTHEN_SERVERS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_ACCT_SERVERS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_LOCAL_USERNAME) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_ADDR_RESOLUTION_SERVERS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_DOMAIN_NAME) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_INPUT_FILTER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_OUTPUT_FILTER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_EDO) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_COMPRESSION_PROTOCOL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_BEGIN_MODULATION) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_ERROR_CORRECTION_PROT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_END_MODULATION) || (id == VENDOR_EXTREME && type == ATTRIBUTE_EXTREME_NETLOGIN_VLAN) || (id == VENDOR_EXTREME && type == ATTRIBUTE_EXTREME_NETLOGIN_URL) || (id == VENDOR_EXTREME && type == ATTRIBUTE_EXTREME_NETLOGIN_URL_DESC) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_DNS_SERVER) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_WINS_SERVER1) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_WINS_SERVER2) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_HOSTNAME) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_DOMAINNAME) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_SEARCH_LIST) || (id == VENDOR_FOUNDRY && type == ATTRIBUTE_FOUNDRY_COMMAND_STRING) || (id == VENDOR_REDBACK && type == ATTRIBUTE_CONTEXT_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BRIDGE_GROUP) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BG_AGING_TIME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BG_PATH_COST) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BG_SPAN_DIS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BG_TRANS_BPDU) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_LOCAL_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_REMOTE_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_PPPOE_URL) || (id == VENDOR_REDBACK && type == ATTRIBUTE_PPPOE_MOTM) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_IP_ADDRESS_POOL_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_PVC_PROFILE_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_BYPASS_BYPASS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_AUTH_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_AUTH_SERVICE_GRP) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_BYPASS_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_INT_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_TUN_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_SES_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_INT_INTERFACE_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_L2TP_TUNNEL_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_SUB_USER_AT_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_SUB_PASSWORD) || (id == VENDOR_REDBACK && type == ATTRIBUTE_IP_HOST_ADDR) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_SESSION_AUTH_CTX) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_SESSION_AUTH_SERVICE_GRP) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_L2F_SECOND_PASSWORD) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_INPUT_OCTETS_64) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_OUTPUT_OCTETS_64) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_INPUT_PACKETS_64) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_OUTPUT_PACKETS_64) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_DYN_AC_ENT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_SESSION_ERROR_MSG) || (id == VENDOR_JUNIPER && type == ATTRIBUTE_JUNIPER_LOCAL_USER_NAME) || (id == VENDOR_JUNIPER && type == ATTRIBUTE_JUNIPER_ALLOW_COMMANDS) || (id == VENDOR_JUNIPER && type == ATTRIBUTE_JUNIPER_DENY_COMMANDS) || (id == VENDOR_JUNIPER && type == ATTRIBUTE_JUNIPER_ALLOW_CONFIGURATION) || (id == VENDOR_JUNIPER && type == ATTRIBUTE_JUNIPER_DENY_CONFIGURATION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_IDENTIFICATION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_BEGIN_MODULATION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_END_MODULATION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_ERROR_CORRECTION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_DATA_COMPRESSION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_DATA_FILTER) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_ATM_DIRECT) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_VROUTER_NAME) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_IP_POOL_DEFINITION) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_DATA_FILTER) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_USER_MAC_ADDRESS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_ATM_TRAFFIC_PROFILE) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_ACCESS_HOURS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_SEC_ASSOCIATION) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_BANNER_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_SPLIT_TUNNEL_LIST_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_DEFAULT_DOMAIN_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_SECONDARY_DOMAINS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_BANNER2) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_DESCRIPTION) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_NAME) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_SECRET) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_CLIENT_FW_FILTER_NAME) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_BACKUP_SERVER_LIST) || (id == VENDOR_SHASTA && type == ATTRIBUTE_SHASTA_SERVICE_PROFILE) || (id == VENDOR_SHASTA && type == ATTRIBUTE_SHASTA_VPN_NAME) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_VSYS_NAME) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_USER_GROUP) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_URL_REDIRECTION) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_EXPIRATION) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_SUBNET) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_LOGOFF_URL) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_ACCT_VC_CONNECTION_ID) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_SERVICE_NAME) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_POLICY_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_VIRTUAL_ROUTER_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ADDRESS_POOL_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_LOCAL_LOOPBACK_INTERFACE) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_TUNNEL_VIRTUAL_ROUTER) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_TUNNEL_PASSWORD) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_INGRESS_POLICY_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_EGRESS_POLICY_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_INGRESS_STATISTICS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_EGRESS_STATISTICS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_CLI_INITIAL_ACCESS_LEVEL) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ALTERNATE_CLI_ACCESS_LEVEL) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ALTERNATE_CLI_VROUTER_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_PPPOE_DESCRIPTION) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_REDIRECT_VR_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_QOS_PROFILE_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_PPPOE_URL) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_SERVICE_BUNDLE) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_FRAMED_IP_ROUTE_TAG) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_AVPAIR) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_NAS_PORT) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_REMOTE_ADDRESS) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CONF_ID) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_SETUP_TIME) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CALL_ORIGIN) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CALL_TYPE) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CONNECT_TIME) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_DISCONNECT_TIME) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_DISCONNECT_CAUSE) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_VOICE_QUALITY) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_GW_ID) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_INCOMING_CONF_ID) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CREDIT_AMOUNT) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CREDIT_TIME) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_RETURN_CODE) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_PROMPT_ID) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_TIME_AND_DAY) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_REDIRECT_NUMBER) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_PREFERRED_LANG) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_REDIRECT_IP_ADDRESS) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_BILLING_MODEL) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CURRENCY_TYPE) || (id == VENDOR_COLUBRIS && type == ATTRIBUTE_COLUBRIS_AVPAIR) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_LOCATION_ID) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_LOCATION_NAME) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_LOGOFF_URL) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_REDIRECTION_URL) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_SESSION_TERMINATE_TIME) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_SESSION_TERMINATE_END_OF_DAY) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_BILLING_CLASS_OF_SERVICE) ) { return vsa->stringFromBuf(); } /* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ else if ( (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IP_GATEWAY_PRI) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IP_GATEWAY_SEC) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DNS_SERVER_PRI) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DNS_SERVER_SEC) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_NBNS_SERVER_PRI) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_NBNS_SERVER_SEC) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_ACCT_SERV_SWITCH) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IP_GATEWAY) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_PRIMARY_DNS_SERVER) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_SECONDARY_DNS_SERVER) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_PRIMARY_NBNS_SERVER) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_SECONDARY_NBNS_SERVER) || (id == VENDOR_USR && type == ATTRIBUTE_IWF_IP_ADDRESS) || (id == VENDOR_USR && type == ATTRIBUTE_MOBILE_IP_ADDRESS) || (id == VENDOR_USR && type == ATTRIBUTE_PRIMARY_DNS_SERVER) || (id == VENDOR_USR && type == ATTRIBUTE_SECONDARY_DNS_SERVER) || (id == VENDOR_USR && type == ATTRIBUTE_PRIMARY_NBNS_SERVER) || (id == VENDOR_USR && type == ATTRIBUTE_SECONDARY_NBNS_SERVER) || (id == VENDOR_USR && type == ATTRIBUTE_LOCAL_FRAMED_IP_ADDR) || (id == VENDOR_USR && type == ATTRIBUTE_FRAMED_IPX_ROUTE) || (id == VENDOR_USR && type == ATTRIBUTE_MPIP_TUNNEL_ORIGINATOR) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP_ADDRESS) || (id == VENDOR_USR && type == ATTRIBUTE_MOBILEIP_HOME_AGENT_ADDRESS) || (id == VENDOR_USR && type == ATTRIBUTE_GATEWAY_IP_ADDRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_H323_GATEKEEPER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_H323_FEGW_ADDRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_PRIMARY_WINS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_SECONDARY_WINS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PORT_REDIR_SERVER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_OWNER_IP_ADDR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_GATEWAY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_PRIMARY_DNS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_SECONDARY_DNS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_HOST) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ASSIGN_IP_CLIENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ASSIGN_IP_SERVER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IF_NETMASK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_REMOTE_ADDR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HOME_AGENT_IP_ADDR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FIRST_DEST) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_DIRECT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PPP_ADDRESS) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_DNS_SERVER) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_NETBIOS_SERVER) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_AUTH_SERV_IP) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_TUNNEL_IP) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_ACCT_SERV_IP) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_FTP_AUTH_IP) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_LOCAL_IP_ADDRESS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRIMARY_DNS_SERVER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SECONDARY_DNS_SERVER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRIMARY_NBNS_SERVER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SECONDARY_NBNS_SERVER) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_IP_ADDR) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_IP_NETMASK) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_GATEWAY) || (id == VENDOR_REDBACK && type == ATTRIBUTE_CLIENT_DNS_PRI) || (id == VENDOR_REDBACK && type == ATTRIBUTE_CLIENT_DNS_SEC) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ASSIGNED_IP_ADDRESS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_PRIMARY_DNS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_SECONDARY_DNS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_PPP_ADDRESS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_CLIENT_PRIMARY_DNS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_CLIENT_PRIMARY_WINS_NBNS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_CLIENT_SECONDARY_WINS_NBNS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_CLIENT_SECONDARY_DNS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_PPP_ADDRESS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_PRIMARY_DNS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_SECONDARY_DNS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_PRIMARY_WINS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_SECONDARY_WINS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_SECONDARY_WINS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_MS_CLIENT_SUBNET_MASK) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_PRIMARY_DNS) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_SECONDARY_DNS) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_PRIMARY_WINS) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_SECONDARY_WINS) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_PRIMARY_DNS_SERVER) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_SECONDARY_DNS_SERVER) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_PRIMARY_NBNS_SERVER) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_SECONDARY_NBNS_SERVER) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_PRIMARY_DNS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_PRIMARY_WINS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_SECONDARY_DNS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_SECONDARY_WINS) ) { return vsa->ipFromBuf(); } else { cerr << getTime() << "Vendor Specific Attribute (Id: " << vsa->getId() << " Type: " << vsa->getType() << " not implemented, treated as string."; return vsa->stringFromBuf(); } } /** The method creates the client config file in the client config dir (ccd). * The path is set in the radiusplugin config file. * Radius attributes which written to the file are FramedIP as ifconfig-push option and FramedRoutes as iroute option. * @param context : The plugin context. * @return An integer, if everything is ok 0, else 1. */ int UserAuth::createCcdFile(PluginContext *context) { ofstream ccdfile; char * route; char framedip[16]; char ipstring[100]; in_addr_t ip2; in_addr ip3; string filename; char framedroutes[4096]; char framednetmask_cidr[3]; // ->/24 char framednetmask[16]; // ->255.255.255.0 char mask_part[6]; char framedgw[16]; char framedmetric[5]; //what is the biggest metric? double d1,d2; int j=0,k=0; int len=0; if(context->conf.getOverWriteCCFiles()==true && (this->getFramedIp().length() > 0 || this->getFramedRoutes().length() > 0)) { memset(ipstring,0,100); memset(framedip,0,16); memset(framedroutes,0,4096); //create the filename, ccd-path + commonname filename=context->conf.getCcdPath()+this->getCommonname(); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: Try to open ccd file.\n"; //open the file ccdfile.open(filename.c_str(),ios::out); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: Opened ccd file.\n"; // copy in a temp-string, becaue strtok deletes the delimiter, if it is used anywhere strncpy(framedroutes,this->getFramedRoutes().c_str(),4095); if (ccdfile.is_open()) { //set the ip address in the file if (this->framedip[0]!='\0') { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: Write framed ip to ccd-file.\n"; //build the ifconfig strncat(ipstring, "ifconfig-push ",14); strncat(ipstring, this->getFramedIp().c_str() , 15); strncat(ipstring, " ", 1); if(context->conf.getSubnet()[0]!='\0') { strncat(ipstring, context->conf.getSubnet() , 15); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: Create ifconfig-push for topology subnet.\n"; } else if(context->conf.getP2p()[0]!='\0') { strncat(ipstring, context->conf.getP2p() , 15); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: Create ifconfig-push for topology p2p.\n"; } else { //increment the last byte of the ip address //in interface needs two addresses because it is a //convert from string to integer in network byte order ip2=inet_addr(this->getFramedIp().c_str()); //convert from network byte order to host byte order ip2=ntohl(ip2); //increment ip2++; //convert from host byte order to network byte order ip2=htonl(ip2); //copy from one unsigned int to another (casting don't work with these struct!?) memcpy(&ip3, &ip2, 4); // append the new ip address to the string strncat(ipstring, inet_ntoa(ip3), 15); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: Create ifconfig-push for topology net30.\n"; } if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: Write " << ipstring << " ccd-file.\n"; ccdfile << ipstring <<"\n"; } //set the framed routes in the file for the openvpn process if (framedroutes[0]!='\0') { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND AUTH: Write framed routes to ccd-file.\n"; route=strtok(framedroutes,";"); len=strlen(route); if (len > 50) //this is too big! but the length is variable { cerr << getTime() <<"RADIUS-PLUGIN: Argument for Framed Route is to long (>50 Characters).\n"; return 1; } else { while (route!=NULL) { j=0;k=0; //set everything back for the next route entry memset(mask_part,0,6); memset(framednetmask_cidr,0,3); memset(framedip,0,16); memset(framednetmask,0,16); memset(framedgw,0,16); memset(framedmetric,0,5); //add ip address to string while(route[j]!='/' && j32) { cerr << getTime() << "RADIUS-PLUGIN: Bad net CIDR netmask.\n"; } else { for (k=1; k<=atoi(framednetmask_cidr); k++) { d1=d1+pow(2,d2); d2--; if (k==8) { sprintf(mask_part,"%.0lf.", d1); d1=0; d2=7; strncat(framednetmask, mask_part, 4); memset(mask_part,0,6); } if(k==16) { sprintf(mask_part,"%.0lf.", d1); d1=0; d2=7; strncat(framednetmask, mask_part, 4); memset(mask_part,0,6); } if(k==24) { sprintf(mask_part,"%.0lf.", d1); d1=0; d2=7; strncat(framednetmask, mask_part, 4); memset(mask_part,0,6); } } if (j<8) { sprintf(mask_part,"%.0lf.", d1); d1=0; strncat(framednetmask, mask_part, 4); strncat(framednetmask, "0.0.0", 5); memset(mask_part,0,6); } else if (j<16) { sprintf(mask_part,"%.0lf.", d1); d1=0; strncat(framednetmask, mask_part, 4); strncat(framednetmask, "0.0", 3); memset(mask_part,0,6); } else if (j<24) { sprintf(mask_part,"%.0lf.", d1); d1=0; strncat(framednetmask, mask_part, 4); strncat(framednetmask, "0", 1); memset(mask_part,0,6); } else if (j>24) { sprintf(mask_part,"%.0lf", d1); d1=0; strncat(framednetmask, mask_part, 4); memset(mask_part,0,6); } } if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: Write route string: iroute " << framedip << framednetmask << " to ccd-file.\n"; //write iroute to client file ccdfile << "iroute " << framedip << " "<< framednetmask << "\n"; route=strtok(NULL,";"); } } } ccdfile.close(); } else { cerr << getTime() << "RADIUS-PLUGIN: Could not open file "<< filename << ".\n"; return 1; } } else { cerr << getTime() << "RADIUS-PLUGIN: Client config file was not written, overwriteccfiles is false \n."; } return 0; } radiusplugin/IpcSocket.h000644 001750 001750 00000003401 11112275347 014022 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _IPCSOCKET_H_ #define _IPCSOCKET_H_ #include #include #include "User.h" #include "Exception.h" #include #include #include #include typedef unsigned char Octet; /** This class implements the inter process communication * in this software. Different datatypes can the send over the * socket: string, int , code (8 bit int). * For the strings additional the length is sent before the string * is sent itself. So you don't need to know the length, if you receive * a string. */ class IpcSocket { private: int socket; /**The socket number.*/ public: IpcSocket(); IpcSocket(int); ~IpcSocket(); int getSocket(void); void setSocket(int); void send(string); void send(int); void send(Octet *, ssize_t); int recvInt(void); string recvStr(void); void recvBuf(User *); }; #endif //_IPCSOCKET_H_ radiusplugin/AccountingProcess.h000644 001750 001750 00000002472 10650426422 015574 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _ACCOUNTINGPROCESS_H_ #define _ACCOUNTINGPROCESS_H_ #include #include #include "PluginContext.h" #include "UserAcct.h" #include "AcctScheduler.h" #include "radiusplugin.h" /** The class represents the background process for accounting. */ class AccountingProcess { public: void Accounting(PluginContext *); int callVsaScript(PluginContext *, User *, unsigned int , unsigned int); }; #endif //_ACCOUNTINGPROCESS_H_ radiusplugin/openvpn-plugin.h000644 001750 001750 00000037650 11133427443 015133 0ustar00000000 000000 /* * OpenVPN -- An application to securely tunnel IP networks * over a single TCP/UDP port, with support for SSL/TLS-based * session authentication and key exchange, * packet encryption, packet authentication, and * packet compression. * * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program (see the file COPYING included with this * distribution); if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #define OPENVPN_PLUGIN_VERSION 2 /* * Plug-in types. These types correspond to the set of script callbacks * supported by OpenVPN. * * This is the general call sequence to expect when running in server mode: * * Initial Server Startup: * * FUNC: openvpn_plugin_open_v1 * FUNC: openvpn_plugin_client_constructor_v1 (this is the top-level "generic" * client template) * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_UP * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_ROUTE_UP * * New Client Connection: * * FUNC: openvpn_plugin_client_constructor_v1 * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_TLS_VERIFY (called once for every cert * in the server chain) * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_TLS_FINAL * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_IPCHANGE * * [If OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY returned OPENVPN_PLUGIN_FUNC_DEFERRED, * we don't proceed until authentication is verified via auth_control_file] * * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_CLIENT_CONNECT_V2 * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_LEARN_ADDRESS * * [Client session ensues] * * For each "TLS soft reset", according to reneg-sec option (or similar): * * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_ENABLE_PF * * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_TLS_VERIFY (called once for every cert * in the server chain) * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_TLS_FINAL * * [If OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY returned OPENVPN_PLUGIN_FUNC_DEFERRED, * we expect that authentication is verified via auth_control_file within * the number of seconds defined by the "hand-window" option. Data channel traffic * will continue to flow uninterrupted during this period.] * * [Client session continues] * * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_CLIENT_DISCONNECT * FUNC: openvpn_plugin_client_constructor_v1 * * [ some time may pass ] * * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_LEARN_ADDRESS (this coincides with a * lazy free of initial * learned addr object) * Server Shutdown: * * FUNC: openvpn_plugin_func_v1 OPENVPN_PLUGIN_DOWN * FUNC: openvpn_plugin_client_destructor_v1 (top-level "generic" client) * FUNC: openvpn_plugin_close_v1 */ #define OPENVPN_PLUGIN_UP 0 #define OPENVPN_PLUGIN_DOWN 1 #define OPENVPN_PLUGIN_ROUTE_UP 2 #define OPENVPN_PLUGIN_IPCHANGE 3 #define OPENVPN_PLUGIN_TLS_VERIFY 4 #define OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY 5 #define OPENVPN_PLUGIN_CLIENT_CONNECT 6 #define OPENVPN_PLUGIN_CLIENT_DISCONNECT 7 #define OPENVPN_PLUGIN_LEARN_ADDRESS 8 #define OPENVPN_PLUGIN_CLIENT_CONNECT_V2 9 #define OPENVPN_PLUGIN_TLS_FINAL 10 #define OPENVPN_PLUGIN_ENABLE_PF 11 #define OPENVPN_PLUGIN_N 12 /* * Build a mask out of a set of plug-in types. */ #define OPENVPN_PLUGIN_MASK(x) (1<<(x)) /* * A pointer to a plugin-defined object which contains * the object state. */ typedef void *openvpn_plugin_handle_t; /* * Return value for openvpn_plugin_func_v1 function */ #define OPENVPN_PLUGIN_FUNC_SUCCESS 0 #define OPENVPN_PLUGIN_FUNC_ERROR 1 #define OPENVPN_PLUGIN_FUNC_DEFERRED 2 /* * For Windows (needs to be modified for MSVC) */ #if defined(__MINGW32_VERSION) && !defined(OPENVPN_PLUGIN_H) # define OPENVPN_EXPORT __declspec(dllexport) #else # define OPENVPN_EXPORT #endif /* * If OPENVPN_PLUGIN_H is defined, we know that we are being * included in an OpenVPN compile, rather than a plugin compile. */ #ifdef OPENVPN_PLUGIN_H /* * We are compiling OpenVPN. */ #define OPENVPN_PLUGIN_DEF typedef #define OPENVPN_PLUGIN_FUNC(name) (*name) #else /* * We are compiling plugin. */ #define OPENVPN_PLUGIN_DEF OPENVPN_EXPORT #define OPENVPN_PLUGIN_FUNC(name) name #endif /* * Used by openvpn_plugin_func to return structured * data. The plugin should allocate all structure * instances, name strings, and value strings with * malloc, since OpenVPN will assume that it * can free the list by calling free() over the same. */ extern "C"{ struct openvpn_plugin_string_list { struct openvpn_plugin_string_list *next; char *name; char *value; }; /* * Multiple plugin modules can be cascaded, and modules can be * used in tandem with scripts. The order of operation is that * the module func() functions are called in the order that * the modules were specified in the config file. If a script * was specified as well, it will be called last. If the * return code of the module/script controls an authentication * function (such as tls-verify or auth-user-pass-verify), then * every module and script must return success (0) in order for * the connection to be authenticated. * * Notes: * * Plugins which use a privilege-separation model (by forking in * their initialization function before the main OpenVPN process * downgrades root privileges and/or executes a chroot) must * daemonize after a fork if the "daemon" environmental variable is * set. In addition, if the "daemon_log_redirect" variable is set, * the plugin should preserve stdout/stderr across the daemon() * syscall. See the daemonize() function in plugin/auth-pam/auth-pam.c * for an example. */ /* * Prototypes for functions which OpenVPN plug-ins must define. */ /* * FUNCTION: openvpn_plugin_open_v2 * * REQUIRED: YES * * Called on initial plug-in load. OpenVPN will preserve plug-in state * across SIGUSR1 restarts but not across SIGHUP restarts. A SIGHUP reset * will cause the plugin to be closed and reopened. * * ARGUMENTS * * *type_mask : Set by OpenVPN to the logical OR of all script * types which this version of OpenVPN supports. The plug-in * should set this value to the logical OR of all script types * which the plug-in wants to intercept. For example, if the * script wants to intercept the client-connect and * client-disconnect script types: * * *type_mask = OPENVPN_PLUGIN_MASK(OPENVPN_PLUGIN_CLIENT_CONNECT) * | OPENVPN_PLUGIN_MASK(OPENVPN_PLUGIN_CLIENT_DISCONNECT) * * argv : a NULL-terminated array of options provided to the OpenVPN * "plug-in" directive. argv[0] is the dynamic library pathname. * * envp : a NULL-terminated array of OpenVPN-set environmental * variables in "name=value" format. Note that for security reasons, * these variables are not actually written to the "official" * environmental variable store of the process. * * return_list : used to return data back to OpenVPN. * * RETURN VALUE * * An openvpn_plugin_handle_t value on success, NULL on failure */ OPENVPN_PLUGIN_DEF openvpn_plugin_handle_t OPENVPN_PLUGIN_FUNC(openvpn_plugin_open_v2) (unsigned int *type_mask, const char *argv[], const char *envp[], struct openvpn_plugin_string_list **return_list); /* * FUNCTION: openvpn_plugin_func_v2 * * Called to perform the work of a given script type. * * REQUIRED: YES * * ARGUMENTS * * handle : the openvpn_plugin_handle_t value which was returned by * openvpn_plugin_open. * * type : one of the PLUGIN_x types * * argv : a NULL-terminated array of "command line" options which * would normally be passed to the script. argv[0] is the dynamic * library pathname. * * envp : a NULL-terminated array of OpenVPN-set environmental * variables in "name=value" format. Note that for security reasons, * these variables are not actually written to the "official" * environmental variable store of the process. * * per_client_context : the per-client context pointer which was returned by * openvpn_plugin_client_constructor_v1, if defined. * * return_list : used to return data back to OpenVPN. * * RETURN VALUE * * OPENVPN_PLUGIN_FUNC_SUCCESS on success, OPENVPN_PLUGIN_FUNC_ERROR on failure * * In addition, OPENVPN_PLUGIN_FUNC_DEFERRED may be returned by * OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY. This enables asynchronous * authentication where the plugin (or one of its agents) may indicate * authentication success/failure some number of seconds after the return * of the OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY handler by writing a single * char to the file named by auth_control_file in the environmental variable * list (envp). * * first char of auth_control_file: * '0' -- indicates auth failure * '1' -- indicates auth success * * OpenVPN will delete the auth_control_file after it goes out of scope. * * If an OPENVPN_PLUGIN_ENABLE_PF handler is defined and returns success * for a particular client instance, packet filtering will be enabled for that * instance. OpenVPN will then attempt to read the packet filter configuration * from the temporary file named by the environmental variable pf_file. This * file may be generated asynchronously and may be dynamically updated during the * client session, however the client will be blocked from sending or receiving * VPN tunnel packets until the packet filter file has been generated. OpenVPN * will periodically test the packet filter file over the life of the client * instance and reload when modified. OpenVPN will delete the packet filter file * when the client instance goes out of scope. * * Packet filter file grammar: * * [CLIENTS DROP|ACCEPT] * {+|-}common_name1 * {+|-}common_name2 * . . . * [SUBNETS DROP|ACCEPT] * {+|-}subnet1 * {+|-}subnet2 * . . . * [END] * * Subnet: IP-ADDRESS | IP-ADDRESS/NUM_NETWORK_BITS * * CLIENTS refers to the set of clients (by their common-name) which * this instance is allowed ('+') to connect to, or is excluded ('-') * from connecting to. Note that in the case of client-to-client * connections, such communication must be allowed by the packet filter * configuration files of both clients. * * SUBNETS refers to IP addresses or IP address subnets which this * instance may connect to ('+') or is excluded ('-') from connecting * to. * * DROP or ACCEPT defines default policy when there is no explicit match * for a common-name or subnet. The [END] tag must exist. A special * purpose tag called [KILL] will immediately kill the client instance. * A given client or subnet rule applies to both incoming and outgoing * packets. * * See plugin/defer/simple.c for an example on using asynchronous * authentication and client-specific packet filtering. */ OPENVPN_PLUGIN_DEF int OPENVPN_PLUGIN_FUNC(openvpn_plugin_func_v2) (openvpn_plugin_handle_t handle, const int type, const char *argv[], const char *envp[], void *per_client_context, struct openvpn_plugin_string_list **return_list); /* * FUNCTION: openvpn_plugin_close_v1 * * REQUIRED: YES * * ARGUMENTS * * handle : the openvpn_plugin_handle_t value which was returned by * openvpn_plugin_open. * * Called immediately prior to plug-in unload. */ OPENVPN_PLUGIN_DEF void OPENVPN_PLUGIN_FUNC(openvpn_plugin_close_v1) (openvpn_plugin_handle_t handle); } /* * FUNCTION: openvpn_plugin_abort_v1 * * REQUIRED: NO * * ARGUMENTS * * handle : the openvpn_plugin_handle_t value which was returned by * openvpn_plugin_open. * * Called when OpenVPN is in the process of aborting due to a fatal error. * Will only be called on an open context returned by a prior successful * openvpn_plugin_open callback. */ OPENVPN_PLUGIN_DEF void OPENVPN_PLUGIN_FUNC(openvpn_plugin_abort_v1) (openvpn_plugin_handle_t handle); /* * FUNCTION: openvpn_plugin_client_constructor_v1 * * Called to allocate a per-client memory region, which * is then passed to the openvpn_plugin_func_v2 function. * This function is called every time the OpenVPN server * constructs a client instance object, which normally * occurs when a session-initiating packet is received * by a new client, even before the client has authenticated. * * This function should allocate the private memory needed * by the plugin to track individual OpenVPN clients, and * return a void * to this memory region. * * REQUIRED: NO * * ARGUMENTS * * handle : the openvpn_plugin_handle_t value which was returned by * openvpn_plugin_open. * * RETURN VALUE * * void * pointer to plugin's private per-client memory region, or NULL * if no memory region is required. */ OPENVPN_PLUGIN_DEF void * OPENVPN_PLUGIN_FUNC(openvpn_plugin_client_constructor_v1) (openvpn_plugin_handle_t handle); /* * FUNCTION: openvpn_plugin_client_destructor_v1 * * This function is called on client instance object destruction. * * REQUIRED: NO * * ARGUMENTS * * handle : the openvpn_plugin_handle_t value which was returned by * openvpn_plugin_open. * * per_client_context : the per-client context pointer which was returned by * openvpn_plugin_client_constructor_v1, if defined. */ OPENVPN_PLUGIN_DEF void OPENVPN_PLUGIN_FUNC(openvpn_plugin_client_destructor_v1) (openvpn_plugin_handle_t handle, void *per_client_context); /* * FUNCTION: openvpn_plugin_select_initialization_point_v1 * * Several different points exist in OpenVPN's initialization sequence where * the openvpn_plugin_open function can be called. While the default is * OPENVPN_PLUGIN_INIT_PRE_DAEMON, this function can be used to select a * different initialization point. For example, if your plugin needs to * return configuration parameters to OpenVPN, use * OPENVPN_PLUGIN_INIT_PRE_CONFIG_PARSE. * * REQUIRED: NO * * RETURN VALUE: * * An OPENVPN_PLUGIN_INIT_x value. */ #define OPENVPN_PLUGIN_INIT_PRE_CONFIG_PARSE 1 #define OPENVPN_PLUGIN_INIT_PRE_DAEMON 2 /* default */ #define OPENVPN_PLUGIN_INIT_POST_DAEMON 3 #define OPENVPN_PLUGIN_INIT_POST_UID_CHANGE 4 OPENVPN_PLUGIN_DEF int OPENVPN_PLUGIN_FUNC(openvpn_plugin_select_initialization_point_v1) (void); /* * FUNCTION: openvpn_plugin_min_version_required_v1 * * This function is called by OpenVPN to query the minimum plugin interface version number required by the plugin. * * REQUIRED: NO * * RETURN VALUE * * The minimum OpenVPN plugin interface version number necessary to support * this plugin. */ OPENVPN_PLUGIN_DEF int OPENVPN_PLUGIN_FUNC(openvpn_plugin_min_version_required_v1) (void); /* * Deprecated functions which are still supported for backward compatibility. */ OPENVPN_PLUGIN_DEF openvpn_plugin_handle_t OPENVPN_PLUGIN_FUNC(openvpn_plugin_open_v1) (unsigned int *type_mask, const char *argv[], const char *envp[]); OPENVPN_PLUGIN_DEF int OPENVPN_PLUGIN_FUNC(openvpn_plugin_func_v1) (openvpn_plugin_handle_t handle, const int type, const char *argv[], const char *envp[]); radiusplugin/AcctScheduler.cpp000644 001750 001750 00000017213 11355301404 015201 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "AcctScheduler.h" #include "PluginContext.h" #include "RadiusClass/RadiusConfig.h" #include "Config.h" #include "radiusplugin.h" using namespace std; /** The constructor of the class. * Nothing happens here. */ AcctScheduler::AcctScheduler() { } /**The destructor of the class. * The user lists are cleared here. */ AcctScheduler::~AcctScheduler() { activeuserlist.clear(); passiveuserlist.clear(); } /** The method adds an user to the user lists. An user with an acct interim * interval is added to the activeuserlist, an user * without this interval is added to passiveuserlist. * @param user A pointer to an object from the class UserAcct. */ void AcctScheduler::addUser(UserAcct *user) { if (user->getAcctInterimInterval()==0) { this->passiveuserlist.insert(make_pair(user->getKey(),*user)); } else { this->activeuserlist.insert(make_pair(user->getKey(),*user)); } } /** The method deletes an user from the user lists. Before * the user is deleted the status file is parsed for the sent and received bytes * and the stop accouting ticket is send to the server. * @param context The plugin context as an object from the class PluginContext. * @param user A pointer to an object from the class UserAcct */ void AcctScheduler::delUser(PluginContext * context, UserAcct *user) { uint64_t bytesin=0, bytesout=0; //get the sent and received bytes this->parseStatusFile(context, &bytesin, &bytesout,user->getStatusFileKey().c_str()); user->setBytesIn(bytesin & 0xFFFFFFFF); user->setBytesOut(bytesout & 0xFFFFFFFF); user->setGigaIn(bytesin >> 32); user->setGigaOut(bytesout >> 32); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Got accouting data from file, CN: " << user->getCommonname() << " in: " << user->getBytesIn() << " out: " << user->getBytesOut() << ".\n"; //send the stop ticket if (user->sendStopPacket(context)==0) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Stop packet was sent. CN: " << user->getCommonname() << ".\n"; } else { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Error on sending stop packet."; } if (user->getAcctInterimInterval()==0) { passiveuserlist.erase(user->getKey()); } else { activeuserlist.erase(user->getKey()); } } /** The method deletes all users from the user lists. Before * the user is deleted the status file is parsed for the sent and received bytes * and the stop accouting ticket is send to the server. * @param context The plugin context as an object from the class PluginContext. */ void AcctScheduler::delallUsers(PluginContext * context) { map::iterator iter1, iter2; if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Delete all users."; iter1=activeuserlist.begin(); iter2=activeuserlist.end(); while (iter1!=iter2) { this->delUser(context,&(iter1->second)); iter1++; } } /** The accouting method. When the method is called it * searches for users in activeuserlist for users who need an update. * If a user is found the sent and received bytes are read from the * OpenVpn status file. * @param context The plugin context as an object from the class PluginContext. */ void AcctScheduler::doAccounting(PluginContext * context) { time_t t; uint64_t bytesin=0, bytesout=0; map::iterator iter1, iter2; iter1=activeuserlist.begin(); iter2=activeuserlist.end(); while (iter1!=iter2) { //get the time time(&t); //if the user needs an update if ( t>=iter1->second.getNextUpdate()) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Scheduler: Update for User " << iter1->second.getUsername() << ".\n"; this->parseStatusFile(context, &bytesin, &bytesout,iter1->second.getStatusFileKey().c_str()); iter1->second.setBytesIn(bytesin & 0xFFFFFFFF); iter1->second.setBytesOut(bytesout & 0xFFFFFFFF); iter1->second.setGigaIn(bytesin >> 32); iter1->second.setGigaOut(bytesout >> 32); iter1->second.sendUpdatePacket(context); if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Scheduler: Update packet for User " << iter1->second.getUsername() << " was send.\n"; //calculate the next update iter1->second.setNextUpdate(iter1->second.getNextUpdate()+iter1->second.getAcctInterimInterval()); } iter1++; } } /**The method parses the status file for accounting information. It reads the bytes sent * and received from the status file. It finds the values about the commonname. The method will * only work if there are no changes in the structure of the status file. * The method is test with OpenVpn 2.0. * @param context The plugin context as an object from the class PluginContext. * @param bytesin An int pointer for the received bytes. * @param bytesout An int pointer for the sent bytes. * @param key A key which identifies the row in the statusfile, it looks like: "commonname,ip:port". */ void AcctScheduler::parseStatusFile(PluginContext *context, uint64_t *bytesin, uint64_t *bytesout, string key) { char line[512], newline[512]; memset(newline, 0, 512); //open the status file to read ifstream file(context->conf.getStatusFile().c_str(), ios::in); if (file.is_open()) { if (DEBUG (context->getVerbosity())) cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: Scheduler: Read Statusfile.\n"; //find the key, is delimited with a ',' from the informations //loop until the name is found, there is no delimiter, the string //"ROUTING TABLE" is found or EOF do { file.getline(line, 512); } while (line!=NULL && strncmp(line,key.c_str(),key.length())!=0 && strcmp(line,"ROUTING TABLE")!=0 && file.eof()==false); //the information is after the next delimiters if (line!=NULL && strncmp(line,key.c_str(),key.length())==0) { memcpy(newline, line+key.length(), strlen(line)-key.length()+1); *bytesin=strtoull(strtok(newline,","),NULL,10); *bytesout=strtoull(strtok(NULL,","),NULL,10); } else { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND ACCT: No accounting data was found for "<< key <<".\n"; } file.close(); } else { cerr << getTime() << "RADIUS-PLUGIN: BACKGROUND-ACCT: Statusfile "<< context->conf.getStatusFile() <<" could not opened.\n"; } } /** The method finds an user. * @param key The commonname of the user to find. * @return A poniter to an object of the class UserAcct. */ UserAcct * AcctScheduler::findUser(string key) { map::iterator iter; iter=activeuserlist.find(key); if (iter!=activeuserlist.end()) { return &(iter->second); } iter=passiveuserlist.find(key); if (iter!=passiveuserlist.end()) { return &(iter->second); } return NULL; } radiusplugin/doxygen.conf000644 001750 001750 00000141734 11112276212 014315 0ustar00000000 000000 # Doxyfile 1.4.2 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = radiusplugin #radiusplugin # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 2.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = ./docu/ # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = NO # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources # only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. SHOW_DIRECTORIES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from the # version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the progam writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = "./" "./RadiusClass" # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm FILE_PATTERNS = # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = YES # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_PREDEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that a graph may be further truncated if the graph's # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, which results in a white background. # Warning: Depending on the platform used, enabling this option may lead to # badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO radiusplugin/PluginContext.cpp000644 001750 001750 00000013205 11154760153 015277 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "PluginContext.h" /** The constructor. All sockets all set to -1, the process ids and the * verbosity level are set to 0. The session id is set to to 1.*/ PluginContext::PluginContext() { this->authsocketforegr.setSocket(-1); this->authsocketbackgr.setSocket(-1); this->acctsocketforegr.setSocket(-1); this->acctsocketbackgr.setSocket(-1); this->authpid=0; this->acctpid=0; this->verb=0; this->sessionid=1; this->stopthread=false; this->startthread=true; } /** The destructor clears the users and nasportlist.*/ PluginContext::~PluginContext() { this->users.clear(); this->nasportlist.clear(); } /** The method searches the first free nas port in a list. * @return The nas port. */ int PluginContext::addNasPort(void) { int newport=0; list::iterator i; list::iterator j; i=nasportlist.begin(); j=nasportlist.end(); if (this->nasportlist.empty()) { newport=1; this->nasportlist.push_front(newport); } else { newport=1; while( i != this->nasportlist.end()) { if (newport < *i) { j=i; i=this->nasportlist.end(); } else { i++; newport++; } } this->nasportlist.insert(j, newport); } return newport; } /**The method deletes the nas port from the list. * @param The nas port number to delete. */ void PluginContext::delNasPort(int num) { this->nasportlist.remove(num); } /**The method adds an user to the user map of the foreground * process. * @param newuser A pointer to the user. * @throws Exception::ALREADYAUTHENTICATED if the user could not add to the map, this happens if a user with the key is already in the list. */ void PluginContext::addUser(UserPlugin * newuser) { pair::iterator,bool> success; success=users.insert(make_pair(newuser->getKey(),newuser)); if(success.second==false) { throw Exception(Exception::ALREADYAUTHENTICATED); } else { this->sessionid++; } } /**The method deletes the user from the map with the key. * @param key The key of the user. */ void PluginContext::delUser(string key) { users.erase(key); } /**The method finds a user in the user map. * @param key The key of the user. * @return A pointer to the user. */ UserPlugin * PluginContext::findUser(string key) { map::iterator iter = users.find(key); if (iter != users.end()) { return iter->second; } return NULL; } /** The getter method for the verbosity level. * @return The verbosity level. */ int PluginContext::getVerbosity(void) { return this->verb; } /** The setter method for the verbosisty level. * @param v The verbosity level. */ void PluginContext::setVerbosity(int v) { this->verb=v; } /** The getter method for the authentication * background proccess id. * @returns The process id. */ pid_t PluginContext::getAuthPid(void) { return this->authpid; } /** The setter method for the authentication * background proccess id. * @param The process id. */ void PluginContext::setAuthPid(pid_t p) { this->authpid=p; } /** The getter method for the accounting * background proccess id. * @returns The process id. */ pid_t PluginContext::getAcctPid(void) { return this->acctpid; } /** The setter method for the accounting * background proccess id. * @param The process id. */ void PluginContext::setAcctPid(pid_t p) { this->acctpid=p; } /** The setter method method for the session id. * @returns The sessionid. */ int PluginContext::getSessionId(void) { return this->sessionid; } /**The method adds an new user to the user list of users waiting for authentication * @param newuser A pointer to the user. */ void PluginContext::addNewUser(UserPlugin * newuser) { this->newusers.push_back(newuser); } /**The method return the first element in the list of waiting users. */ UserPlugin * PluginContext::getNewUser() { UserPlugin * user = this->newusers.front(); this->newusers.pop_front(); return user; } pthread_cond_t * PluginContext::getCondSend(void ) { return &condsend; } pthread_cond_t * PluginContext::getCondRecv(void ) { return &condrecv; } pthread_mutex_t * PluginContext::getMutexSend(void ) { return &mutexsend; } pthread_mutex_t * PluginContext::getMutexRecv(void ) { return &mutexrecv; } pthread_t * PluginContext::getThread() { return &thread; } int PluginContext::getResult() { return result; } void PluginContext::setResult(int r) { result=r; } bool PluginContext::UserWaitingtoAuth() { if (this->newusers.size()>0) return true; else return false; } bool PluginContext::getStopThread() { return stopthread; } void PluginContext::setStopThread(bool s) { stopthread=s; } bool PluginContext::getStartThread() { return startthread; } void PluginContext::setStartThread(bool value) { startthread=value; } radiusplugin/RadiusClass/000755 001750 001750 00000000000 11360356527 014211 5ustar00000000 000000 radiusplugin/RadiusClass/RadiusServer.h000755 001750 001750 00000004127 11065476745 017016 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _RADIUSSERVER_H_ #define _RADIUSSERVER_H_ #include #include using namespace std; /** This class represents a radius server.*/ class RadiusServer { private: short int authport; /**< The UDP port for authentication packets.*/ short int acctport; /**< The UDP port for accounting packets.*/ string name; /**< The name or the ip address of the server.*/ int retry; /**< The number of retries how many times a radius ticket is send to the server, if it doesn#t answer.*/ string sharedsecret; /**< The sharedsecret, the maximum space is 16 chars.*/ int wait; /**< The time to wait for a response of the server.*/ public: RadiusServer(string name="127.0.0.1",string secret = "", int authport=1812, int acctport=1813, int retry=3, int wait=1); ~RadiusServer(); RadiusServer &operator=(const RadiusServer &); int getRetry(); void setRetry(int); void setWait(int); int getWait(void); void setSharedSecret(string); string getSharedSecret(void); int getAuthPort(); void setAuthPort(short int); int getAcctPort(); void setAcctPort(short int); string getName(); void setName(string); friend ostream& operator << (ostream& os, RadiusServer& server); }; #endif //_RADIUSSERVER_H_ radiusplugin/RadiusClass/RadiusPacket.h000755 001750 001750 00000007153 11134623136 016742 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _RADIUSPACKET_H_ #define _RADIUSPACKET_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "error.h" #include "radius.h" #include "RadiusAttribute.h" #include "RadiusServer.h" #include #include #include using namespace std; using std::multimap; /** The class represents a radius packet with additional variables*/ class RadiusPacket { private: multimap attribs; /**The multimap for the radius attributes.*/ int sock; /***/ Octet *sendbuffer; /**::iterator); int radiusReceive(list *); int getRadiusAttribNumber(void); char * getAuthenticator(void); int getCode(void); int authenticateReceivedPacket(const char *secret); pair::iterator,multimap::iterator> findAttributes(int type); }; #endif //_RADIUSPACKET_H_ radiusplugin/RadiusClass/RadiusAttribute.h000755 001750 001750 00000004213 11065477061 017477 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _RADIUSATTRIB_H_ #define _RADIUSATTRIB_H_ #include #include #include "radius.h" #include using namespace std; /**This class represents a radius attribute */ class RadiusAttribute { private: Octet type; /**< The attibute type, see in radius.h*/ Octet length; /**< The attribute length, of the value*/ Octet *value; /**< A pointer to the value*/ public: RadiusAttribute(); RadiusAttribute(Octet); RadiusAttribute(Octet, const char * ); RadiusAttribute(Octet, string); RadiusAttribute(Octet, uint32_t); ~RadiusAttribute(void); RadiusAttribute & operator=(const RadiusAttribute &); RadiusAttribute(const RadiusAttribute &); int getLength(void); Octet * getLength_Octet(void); void setLength(Octet); int getType(void); Octet * getType_Octet(void); void setType(Octet); Octet * getValue(void); int setValue(char *); int setValue(string); int setValue(uint32_t); int setRecvValue(char *value); int intFromBuf(void); string ipFromBuf(void); void dumpRadiusAttrib(void); char * makePasswordHash(const char *password,char * hpassword, const char *sharedSecret, const char *authenticator); }; #endif //_RADIUSATTRIB_H_ radiusplugin/RadiusClass/RadiusConfig.cpp000755 001750 001750 00000021054 11126365764 017302 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "RadiusConfig.h" /** The constructor The constructor initializes all char arrays with 0. */ RadiusConfig::RadiusConfig(void) { memset(this->nasPortType,0,2); memset(this->framedProtocol,0,2); memset(this->serviceType,0,2); memset(this->nasIdentifier,0,128); memset(this->nasIpAddress,0,16); } /** The constructor initializes all char arrays with 0. After the initialization * the configfile is parsed and the information which are * found are copied to the attributes. * @param configfile The name of the configfile. */ RadiusConfig::RadiusConfig(string configfile) { memset(this->nasPortType,0,2); memset(this->framedProtocol,0,2); memset(this->serviceType,0,2); memset(this->nasIdentifier,0,128); memset(this->nasIpAddress,0,16); this->parseConfigFile(configfile.c_str()); } /** The destructur clears the serverlist. */ RadiusConfig::~RadiusConfig(void) { server.clear(); } /** The getter method for the radius server list. * @return The server list.*/ list * RadiusConfig::getRadiusServer(void) { return (&server); } /** The method parse the configfile for attributes and * radius server, the attributes are copied to the * member variables. * @param configfile The name of the configfile. * @return An integer, 0 if everything is ok * or PARSING_ERROR or BAD_FILE if something is wrong.*/ int RadiusConfig::parseConfigFile(const char * configfile) { string line; RadiusServer *tmpServer=NULL; ifstream file; file.open(configfile, ios::in); if (file.is_open()) { while (file.eof()==false) { getline(file,line); this->deletechars(&line); if (strncmp(line.c_str(),"Framed-Protocol=",16)==0) { if((line.size()-16)>2) { return BAD_FILE; } line.copy(this->framedProtocol,line.size()-16,16); } if (strncmp(line.c_str(),"NAS-Port-Type=",14)==0) { if((line.size()-14)>1) { return BAD_FILE; } line.copy(this->nasPortType,line.size()-14,14); } if (strncmp(line.c_str(),"Service-Type=",13)==0) { if((line.size()-13)>1) { return BAD_FILE; } line.copy(this->serviceType,line.size()-13,13); } if (strncmp(line.c_str(),"NAS-Identifier=",15)==0) { if((line.size()-15)>127) { return BAD_FILE; } line.copy(this->nasIdentifier,line.size()-15,15); } if (strncmp(line.c_str(),"NAS-IP-Address=",15)==0) { if((line.size()-15)>15) { return BAD_FILE; } line.copy(this->nasIpAddress,line.size()-15,15); } if(strncmp(line.c_str(),"server",6)==0) { tmpServer=new RadiusServer; while((line.find("{")==string::npos) && (file.eof()==false)) { getline(file,line); deletechars(&line); if(line.find_first_not_of("}")) { return PARSING_ERROR; } } while (strstr(line.c_str(),"}")==NULL && (file.eof()==false)) { getline(file,line); deletechars(&line); if (strncmp(line.c_str(),"authport=",9)==0) { tmpServer->setAuthPort(atoi(line.substr(9,4).c_str())); } if (strncmp(line.c_str(),"acctport=",9)==0) { tmpServer->setAcctPort(atoi(line.substr(9,4).c_str())); } if (strncmp(line.c_str(),"name=",5)==0) { tmpServer->setName(line.substr(5)); } if (strncmp(line.c_str(),"retry=",6)==0) { tmpServer->setRetry(atoi(line.substr(6).c_str())); } if (strncmp(line.c_str(),"sharedsecret=",13)==0) { tmpServer->setSharedSecret(line.substr(13)); } if (strncmp(line.c_str(),"wait=",5)==0) { tmpServer->setWait(atoi(line.substr(5).c_str())); } } if(strstr(line.c_str(),"}")) { this->server.push_back(*tmpServer); } //No "}" was found - something in config is wrong else { return PARSING_ERROR; } if (tmpServer!=NULL) { delete tmpServer; } } } file.close(); } else { return BAD_FILE; } return 0; } /** The method deletes chars from a string. * This is used to delete tabs, spaces, # and '\0' * from a string. * @param text The string which should be cleaned. */ /** The method deletes chars from a string. * This is used to delete tabs, spaces, # and '\0' * from a string. * @param text The string which should be cleaned. */ void RadiusConfig::deletechars(string * line) { char const* delims = " \t\r\n\0"; // trim leading whitespace string::size_type pos = line->find_first_not_of(delims); if (pos != string::npos) line->erase(0,pos ); // trim trailing whitespace pos = line->find_last_not_of(delims); if (pos != string::npos) line->erase(pos+1); //trim whitespaces in line pos = line->find_first_of(delims); while (pos != string::npos) { line->erase(pos); pos = line->find_first_of(delims); } // trim comments pos = line->find_first_of("#"); if (pos != string::npos) line->erase(pos); } /**The method finds the part of the string after the * '=' and puts it in the value. * @param text The string with the value. * @param value The value where to put the part of the string. */ void RadiusConfig::getValue(const char * text, char * value) { int i=0,j=0; while (text[i]!='=' && text[i]!='\0') { i++; } i++; while (text[i]!='\0') { value[j]=text[i]; i++; j++; } value[j]='\0'; } /** The setter method for the service type. * @param type A string with the service type.*/ void RadiusConfig::setServiceType(char * type) { strncpy(this->serviceType, type, 2); } /** The getter method for the service type * @return A pointer to the service type.*/ char * RadiusConfig::getServiceType(void) { return this->serviceType; } /** The setter method for the framed protocol. * @param proto A string with the framed protocol.*/ void RadiusConfig::setFramedProtocol(char * proto) { strncpy(this->framedProtocol, proto, 2); } /**The getter method for the framed protocol * @return A pointer to the framed protocol. */ char * RadiusConfig::getFramedProtocol(void) { return this->framedProtocol; } /** The setter method for the nas port type. * @param type A string with the nas port type. */ void RadiusConfig::setNASPortType(char * type) { strncpy(this->nasPortType, type, 2); } /** The getter method for the nas port type. * @return A pointer to the nas port type. */ char * RadiusConfig::getNASPortType(void) { return this->nasPortType; } /** The setter method for the nas identifier. * @param identifier A string with the identifier. */ void RadiusConfig::setNASIdentifier(char * identifier) { strncpy(this->nasIdentifier,identifier, 128); } /** The getter method for the nas identifier. * @return A pointer to the nas identifier. */ char * RadiusConfig::getNASIdentifier(void) { return this->nasIdentifier; } /** The setter method for the nas ip address. * @param ip A string with ip address. */ void RadiusConfig::setNASIpAddress(char * ip) { strncpy(this->nasIpAddress,ip, 16); } /** The getter method for the nas ip address. * @return A pointer to the nas ipaddress. */ char * RadiusConfig::getNASIpAddress(void) { return this->nasIpAddress; } ostream& operator << (ostream& os, RadiusConfig& config) { list * serverlist; list::iterator server; os << "RadiusConfig: \n"; os << "\nFramedProtocol: " << config.getFramedProtocol(); os << "\nNASIdentifier: "<< config.getNASIdentifier(); os << "\nNASIpAdress: "<< config.getNASIpAddress(); os << "\nNASPortTyoe: "<< config.getNASPortType(); os << "\nServiceType: " << config.getServiceType(); //get the server list serverlist=config.getRadiusServer(); //set server to the first server server=serverlist->begin(); while(server != serverlist->end()) { cout << *server; server++; } return os; } radiusplugin/RadiusClass/vsa.h000644 001750 001750 00000610016 10650426417 015154 0ustar00000000 000000 /* File was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ #ifndef _VSA_H_ #define _VSA_H_ #define VENDOR_3COM 8741 //VENDOR 3com 8741 #define VENDOR_ACC 5 //VENDOR Acc 5 #define VENDOR_ALCATEL 3041 //VENDOR Alcatel 3041 #define VENDOR_ALTEON 1872 //VENDOR Alteon 1872 #define VENDOR_ALTIGA 3076 //VENDOR Altiga 3076 #define VENDOR_APTIS 2637 //VENDOR Aptis 2637 #define VENDOR_ASCEND 529 //VENDOR Ascend 529 #define VENDOR_BAY_NETWORKS 1584 //VENDOR Bay-Networks 1584 #define VENDOR_BINTEC 272 //VENDOR BinTec 272 #define VENDOR_CABLETRON 52 //VENDOR Cabletron 52 #define VENDOR_CISCO 9 //VENDOR Cisco 9 #define VENDOR_CISCO_BBSM 5263 //VENDOR Cisco-BBSM 5263 #define VENDOR_CISCO_VPN5000 255 //VENDOR Cisco-VPN5000 255 #define VENDOR_COLUBRIS 8744 //VENDOR Colubris 8744 #define VENDOR_ERX 4874 //VENDOR ERX 4874 #define VENDOR_EXTREME 1916 //VENDOR Extreme 1916 #define VENDOR_FOUNDRY 1991 //VENDOR Foundry 1991 #define VENDOR_ITK 1195 //VENDOR ITK 1195 #define VENDOR_JUNIPER 2636 //VENDOR Juniper 2636 #define VENDOR_KARLNET 762 //VENDOR KarlNet 762 #define VENDOR_LIVINGSTON 307 //VENDOR Livingston 307 #define VENDOR_MICROSOFT 311 //VENDOR Microsoft 311 #define VENDOR_NETSCREEN 3224 //VENDOR Netscreen 3224 #define VENDOR_NOMADIX 3309 //VENDOR Nomadix 3309 #define VENDOR_QUINTUM 6618 //VENDOR Quintum 6618 #define VENDOR_REDBACK 2352 //VENDOR Redback 2352 #define VENDOR_REDCREEK 1958 //VENDOR RedCreek 1958 #define VENDOR_SHASTA 3199 //VENDOR Shasta 3199 #define VENDOR_SHIVA 166 //VENDOR Shiva 166 #define VENDOR_SPRINGTIDE 3551 //VENDOR SpringTide 3551 #define VENDOR_TELEBIT 117 //VENDOR Telebit 117 #define VENDOR_USR 429 //VENDOR USR 429 #define VENDOR_VERSANET 2180 //VENDOR Versanet 2180 #define VENDOR_WISPR 14122 //VENDOR WISPr 14122 #define VENDOR_XEDIA 838 //VENDOR Xedia 838 // //ATTRIBUTE User-Name 1 string //ATTRIBUTE Password 2 string //ATTRIBUTE Challenge-Response 3 string //ATTRIBUTE NAS-Identifier 4 ipaddr //ATTRIBUTE NAS-Port 5 integer //ATTRIBUTE User-Service 6 integer //ATTRIBUTE Framed-Protocol 7 integer //ATTRIBUTE Framed-Address 8 ipaddr //ATTRIBUTE Framed-Netmask 9 ipaddr //ATTRIBUTE Framed-Routing 10 integer //ATTRIBUTE Framed-Filter 11 string //ATTRIBUTE Framed-MTU 12 integer //ATTRIBUTE Framed-Compression 13 integer //ATTRIBUTE Login-Host 14 ipaddr //ATTRIBUTE Login-Service 15 integer //ATTRIBUTE Login-TCP-Port 16 integer //ATTRIBUTE Change-Password 17 string //ATTRIBUTE Reply-Message 18 string //ATTRIBUTE Callback-Number 19 string //ATTRIBUTE Callback-Name 20 string //ATTRIBUTE Expiration 21 date //ATTRIBUTE Framed-Route 22 string //ATTRIBUTE Framed-IPX-Network 23 integer //ATTRIBUTE State 24 string //ATTRIBUTE Class 25 string //ATTRIBUTE Vendor-Specific 26 string //ATTRIBUTE Session-Timeout 27 integer //ATTRIBUTE Idle-Timeout 28 integer //ATTRIBUTE Termination-Action 29 integer //ATTRIBUTE NAS-Port-DNIS 30 string //ATTRIBUTE Caller-Id 31 string //ATTRIBUTE NAS-Identifier 32 string //ATTRIBUTE Proxy-State 33 string //ATTRIBUTE Login-LAT-Service 34 string //ATTRIBUTE Login-LAT-Node 35 string //ATTRIBUTE Login-LAT-Group 36 string //ATTRIBUTE Framed-AppleTalk-Link 37 integer //ATTRIBUTE Framed-AppleTalk-Network 38 integer //ATTRIBUTE Framed-AppleTalk-Zone 39 string //ATTRIBUTE Acct-Status-Type 40 integer //ATTRIBUTE Acct-Delay-Time 41 integer //ATTRIBUTE Acct-Input-Octets 42 integer //ATTRIBUTE Acct-Output-Octets 43 integer //ATTRIBUTE Acct-Session-Id 44 string //ATTRIBUTE Acct-Authentic 45 integer //ATTRIBUTE Acct-Session-Time 46 integer //ATTRIBUTE Acct-Input-Packets 47 integer //ATTRIBUTE Acct-Output-Packets 48 integer //ATTRIBUTE Acct-Terminate-Cause 49 integer //ATTRIBUTE Acct-Multi-Session-ID 50 string //ATTRIBUTE Acct-Link-Count 51 integer //ATTRIBUTE Acct-Input-Gigawords 52 integer //ATTRIBUTE Acct-Output-Gigawords 53 integer //ATTRIBUTE Event-Time 55 date //ATTRIBUTE CHAP-Challenge 60 string //ATTRIBUTE NAS-Port-Type 61 integer //ATTRIBUTE Port-Limit 62 integer //ATTRIBUTE Login-LAT-Port 63 string //ATTRIBUTE Tunnel-Type 64 tag_integer //ATTRIBUTE Tunnel-Medium-Type 65 tag_integer //ATTRIBUTE Tunnel-Client-Endpoint 66 tag_string //ATTRIBUTE Tunnel-Server-Endpoirt 67 tag_string //ATTRIBUTE Tunnel-Connection 68 string //ATTRIBUTE Tunnel-Password 69 tag_string //ATTRIBUTE ARAP-Password 70 string //ATTRIBUTE ARAP-Features 71 string //ATTRIBUTE ARAP-Zone-Access 72 integer //ATTRIBUTE ARAP-Security 73 integer //ATTRIBUTE ARAP-Security-Data 74 string //ATTRIBUTE Password-Retry 75 integer //ATTRIBUTE Prompt 76 integer //ATTRIBUTE Connect-Info 77 string //ATTRIBUTE Configuration-Token 78 string //ATTRIBUTE EAP-Message 79 string //ATTRIBUTE Signature 80 string //ATTRIBUTE Tunnel-Private-Group-ID 81 tag_string //ATTRIBUTE Tunnel-Assignment-ID 82 tag_string //ATTRIBUTE Tunnel-Preference 83 tag_integer //ATTRIBUTE ARAP-Challenge-Response 84 string //ATTRIBUTE Acct-Interim-Interval 85 string //ATTRIBUTE Acct-Tunnel-Packets-Lost 86 integer //ATTRIBUTE NAS-Port-Id 87 string //ATTRIBUTE Framed-Pool 88 string //ATTRIBUTE Ascend-Filter 90 string //ATTRIBUTE Ascend-Telnet-Profile 91 string //ATTRIBUTE NAS-IPv6-Address 95 ipaddr6 //ATTRIBUTE Login-IPv6-Host 98 ipaddr6 //ATTRIBUTE Framed-IPv6-Route 99 string //ATTRIBUTE Framed-IPv6-Pool 100 string //ATTRIBUTE X-Ascend-FCP-Parameter 119 string //ATTRIBUTE Ascend-Modem-PortNo 120 integer //ATTRIBUTE Ascend-Modem-SlotNo 121 integer //ATTRIBUTE Ascend-Modem-ShelfNo 122 integer //ATTRIBUTE X-Ascend-Call-Attempt-Limit 123 integer //ATTRIBUTE X-Ascend-Call-Block-Duration 124 integer //ATTRIBUTE X-Ascend-Maximum-Call-Duration 125 integer //ATTRIBUTE X-Ascend-Temporary-Rtes 126 integer //ATTRIBUTE X-Ascend-Tunneling-Protocol 127 integer //ATTRIBUTE Ascend-Shared-Profile-Enable 128 integer //ATTRIBUTE X-Ascend-Primary-Home-Agent 129 string //ATTRIBUTE X-Ascend-Secondary-Home-Agent 130 string //ATTRIBUTE X-Ascend-Dialout-Allowed 131 integer //ATTRIBUTE X-Ascend-Client-Gateway 132 ipaddr //ATTRIBUTE Ascend-BACP-Enable 133 integer //ATTRIBUTE X-Ascend-DHCP-Maximum-Leases 134 integer //ATTRIBUTE X-Ascend-Client-Primary-DNS 135 ipaddr //ATTRIBUTE X-Ascend-Client-Secondary-DNS 136 ipaddr //ATTRIBUTE X-Ascend-Client-Assign-DNS 137 integer //ATTRIBUTE X-Ascend-User-Acct-Type 138 integer //ATTRIBUTE X-Ascend-User-Acct-Host 139 ipaddr //ATTRIBUTE X-Ascend-User-Acct-Port 140 integer //ATTRIBUTE X-Ascend-User-Acct-Key 141 string //ATTRIBUTE X-Ascend-User-Acct-Base 142 integer //ATTRIBUTE X-Ascend-User-Acct-Time 143 integer //ATTRIBUTE X-Ascend-Assign-IP-Client 144 ipaddr //ATTRIBUTE X-Ascend-Assign-IP-Server 145 ipaddr //ATTRIBUTE X-Ascend-Assign-IP-Global-Pool 146 string //ATTRIBUTE X-Ascend-DHCP-Reply 147 integer //ATTRIBUTE X-Ascend-DHCP-Pool-Number 148 integer //ATTRIBUTE X-Ascend-Expect-Callback 149 integer //ATTRIBUTE X-Ascend-Event-Type 150 integer //ATTRIBUTE X-Ascend-Session-Svr-Key 151 string //ATTRIBUTE X-Ascend-Multicast-Rate-Limit 152 integer //ATTRIBUTE X-Ascend-IF-Netmask 153 ipaddr //ATTRIBUTE X-Ascend-Remote-Addr 154 ipaddr //ATTRIBUTE X-Ascend-Multicast-Client 155 integer //ATTRIBUTE X-Ascend-FR-Circuit-Name 156 string //ATTRIBUTE X-Ascend-FR-LinkUp 157 integer //ATTRIBUTE X-Ascend-FR-Nailed-Grp 158 integer //ATTRIBUTE X-Ascend-FR-Type 159 integer //ATTRIBUTE X-Ascend-FR-Link-Mgt 160 integer //ATTRIBUTE X-Ascend-FR-N391 161 integer //ATTRIBUTE X-Ascend-FR-DCE-N392 162 integer //ATTRIBUTE X-Ascend-FR-DTE-N392 163 integer //ATTRIBUTE X-Ascend-FR-DCE-N393 164 integer //ATTRIBUTE X-Ascend-FR-DTE-N393 165 integer //ATTRIBUTE X-Ascend-FR-T391 166 integer //ATTRIBUTE X-Ascend-FR-T392 167 integer //ATTRIBUTE X-Ascend-Bridge-Address 168 string //ATTRIBUTE X-Ascend-TS-Idle-Limit 169 integer //ATTRIBUTE X-Ascend-TS-Idle-Mode 170 integer //ATTRIBUTE X-Ascend-DBA-Monitor 171 integer //ATTRIBUTE Ascend-Base-Channel-Count 172 integer //ATTRIBUTE X-Ascend-Minimum-Channels 173 integer //ATTRIBUTE X-Ascend-IPX-Route 174 string //ATTRIBUTE X-Ascend-FT1-Caller 175 integer //ATTRIBUTE Ascend-Backup 176 string //ATTRIBUTE X-Ascend-Call-Type 177 integer //ATTRIBUTE X-Ascend-Group 178 string //ATTRIBUTE X-Ascend-FR-DLCI 179 integer //ATTRIBUTE X-Ascend-FR-Profile-Name 180 string //ATTRIBUTE X-Ascend-Ara-PW 181 string //ATTRIBUTE X-Ascend-IPX-Node-Addr 182 string //ATTRIBUTE X-Ascend-Home-Agent-IP-Addr 183 ipaddr //ATTRIBUTE X-Ascend-Home-Agent-Password 184 string //ATTRIBUTE X-Ascend-Home-Network-Name 185 string //ATTRIBUTE X-Ascend-Home-Agent-UDP-Port 186 integer //ATTRIBUTE Ascend-Multilink-ID 187 integer //ATTRIBUTE Ascend-Num-In-Multilink 188 integer //ATTRIBUTE Ascend-First-Dest 189 ipaddr //ATTRIBUTE Ascend-Pre-Input-Octets 190 integer //ATTRIBUTE Ascend-Pre-Output-Octets 191 integer //ATTRIBUTE Ascend-Pre-Input-Packets 192 integer //ATTRIBUTE Ascend-Pre-Output-Packets 193 integer //ATTRIBUTE Ascend-Maximum-Time 194 integer //ATTRIBUTE Ascend-Disconnect-Cause 195 integer //ATTRIBUTE Ascend-Connect-Progress 196 integer //ATTRIBUTE Ascend-Data-Rate 197 integer //ATTRIBUTE Ascend-PreSession-Time 198 integer //ATTRIBUTE Ascend-Token-Idle 199 integer //ATTRIBUTE Ascend-Token-Immediate 200 integer //ATTRIBUTE Ascend-Require-Auth 201 integer //ATTRIBUTE Ascend-Number-Sessions 202 string //ATTRIBUTE Ascend-Authen-Alias 203 string //ATTRIBUTE Ascend-Token-Expiry 204 integer //ATTRIBUTE Ascend-Menu-Selector 205 string //ATTRIBUTE Ascend-Menu-Item 206 string //ATTRIBUTE Ascend-PW-Warntime 207 integer //ATTRIBUTE Ascend-PW-Lifetime 208 integer //ATTRIBUTE Ascend-IP-Direct 209 ipaddr //ATTRIBUTE Ascend-PPP-VJ-Slot-Comp 210 integer //ATTRIBUTE Ascend-PPP-VJ-1172 211 integer //ATTRIBUTE Ascend-PPP-Async-Map 212 integer //ATTRIBUTE Ascend-Third-Prompt 213 string //ATTRIBUTE Ascend-Send-Secret 214 string //ATTRIBUTE Ascend-Receive-Secret 215 string //ATTRIBUTE Ascend-IPX-Peer-Mode 216 integer //ATTRIBUTE Ascend-IP-Pool-Definition 217 string //ATTRIBUTE Ascend-Assign-IP-Pool 218 integer //ATTRIBUTE Ascend-FR-Direct 219 integer //ATTRIBUTE Ascend-FR-Direct-Profile 220 string //ATTRIBUTE Ascend-FR-Direct-DLCI 221 integer //ATTRIBUTE Ascend-Handle-IPX 222 integer //ATTRIBUTE Ascend-Netware-timeout 223 integer //ATTRIBUTE Ascend-IPX-Alias 224 integer //ATTRIBUTE Ascend-Metric 225 integer //ATTRIBUTE Ascend-PRI-Number-Type 226 integer //ATTRIBUTE Ascend-Dial-Number 227 string //ATTRIBUTE Ascend-Route-IP 228 integer //ATTRIBUTE Ascend-Route-IPX 229 integer //ATTRIBUTE Ascend-Bridge 230 integer //ATTRIBUTE Ascend-Send-Auth 231 integer //ATTRIBUTE Ascend-Send-Passwd 232 string //ATTRIBUTE Ascend-Link-Compression 233 integer //ATTRIBUTE Ascend-Target-Util 234 integer //ATTRIBUTE Ascend-Maximum-Channels 235 integer //ATTRIBUTE Ascend-Inc-Channel-Count 236 integer //ATTRIBUTE Ascend-Dec-Channel-Count 237 integer //ATTRIBUTE Ascend-Seconds-Of-History 238 integer //ATTRIBUTE Ascend-History-Weigh-Type 239 integer //ATTRIBUTE Ascend-Add-Seconds 240 integer //ATTRIBUTE Ascend-Remove-Seconds 241 integer //ATTRIBUTE Ascend-Idle-Limit 244 integer //ATTRIBUTE Ascend-Preempt-Limit 245 integer //ATTRIBUTE Ascend-Callback 246 integer //ATTRIBUTE Ascend-Data-Svc 247 integer //ATTRIBUTE Ascend-Force-56 248 integer //ATTRIBUTE Ascend-Billing-Number 249 string //ATTRIBUTE Ascend-Call-By-Call 250 integer //ATTRIBUTE Ascend-Transit-Number 251 string //ATTRIBUTE Ascend-Host-Info 252 string //ATTRIBUTE Ascend-PPP-Address 253 ipaddr //ATTRIBUTE Ascend-MPP-Idle-Percent 254 integer //ATTRIBUTE Ascend-Xmit-Rate 255 integer #define ATTRIBUTE_ACC_REASON_CODE 1 //ATTRIBUTE Acc-Reason-Code 1 integer Acc #define ATTRIBUTE_ACC_CCP_OPTION 2 //ATTRIBUTE Acc-Ccp-Option 2 integer Acc #define ATTRIBUTE_ACC_INPUT_ERRORS 3 //ATTRIBUTE Acc-Input-Errors 3 integer Acc #define ATTRIBUTE_ACC_OUTPUT_ERRORS 4 //ATTRIBUTE Acc-Output-Errors 4 integer Acc #define ATTRIBUTE_ACC_ACCESS_PARTITION 5 //ATTRIBUTE Acc-Access-Partition 5 string Acc #define ATTRIBUTE_ACC_CUSTOMER_ID 6 //ATTRIBUTE Acc-Customer-Id 6 string Acc #define ATTRIBUTE_ACC_IP_GATEWAY_PRI 7 //ATTRIBUTE Acc-Ip-Gateway-Pri 7 ipaddr Acc #define ATTRIBUTE_ACC_IP_GATEWAY_SEC 8 //ATTRIBUTE Acc-Ip-Gateway-Sec 8 ipaddr Acc #define ATTRIBUTE_ACC_ROUTE_POLICY 9 //ATTRIBUTE Acc-Route-Policy 9 integer Acc #define ATTRIBUTE_ACC_ML_MLX_ADMIN_STATE 10 //ATTRIBUTE Acc-ML-MLX-Admin-State 10 integer Acc #define ATTRIBUTE_ACC_ML_CALL_THRESHOLD 11 //ATTRIBUTE Acc-ML-Call-Threshold 11 integer Acc #define ATTRIBUTE_ACC_ML_CLEAR_THRESHOLD 12 //ATTRIBUTE Acc-ML-Clear-Threshold 12 integer Acc #define ATTRIBUTE_ACC_ML_DAMPING_FACTOR 13 //ATTRIBUTE Acc-ML-Damping-Factor 13 integer Acc #define ATTRIBUTE_ACC_TUNNEL_SECRET 14 //ATTRIBUTE Acc-Tunnel-Secret 14 string Acc #define ATTRIBUTE_ACC_CLEARING_CAUSE 15 //ATTRIBUTE Acc-Clearing-Cause 15 integer Acc #define ATTRIBUTE_ACC_CLEARING_LOCATION 16 //ATTRIBUTE Acc-Clearing-Location 16 integer Acc #define ATTRIBUTE_ACC_SERVICE_PROFILE 17 //ATTRIBUTE Acc-Service-Profile 17 string Acc #define ATTRIBUTE_ACC_REQUEST_TYPE 18 //ATTRIBUTE Acc-Request-Type 18 integer Acc #define ATTRIBUTE_ACC_BRIDGING_SUPPORT 19 //ATTRIBUTE Acc-Bridging-Support 19 integer Acc #define ATTRIBUTE_ACC_APSM_OVERSUBSCRIBED 20 //ATTRIBUTE Acc-Apsm-Oversubscribed 20 integer Acc #define ATTRIBUTE_ACC_ACCT_ON_OFF_REASON 21 //ATTRIBUTE Acc-Acct-On-Off-Reason 21 integer Acc #define ATTRIBUTE_ACC_TUNNEL_PORT 22 //ATTRIBUTE Acc-Tunnel-Port 22 integer Acc #define ATTRIBUTE_ACC_DNS_SERVER_PRI 23 //ATTRIBUTE Acc-Dns-Server-Pri 23 ipaddr Acc #define ATTRIBUTE_ACC_DNS_SERVER_SEC 24 //ATTRIBUTE Acc-Dns-Server-Sec 24 ipaddr Acc #define ATTRIBUTE_ACC_NBNS_SERVER_PRI 25 //ATTRIBUTE Acc-Nbns-Server-Pri 25 ipaddr Acc #define ATTRIBUTE_ACC_NBNS_SERVER_SEC 26 //ATTRIBUTE Acc-Nbns-Server-Sec 26 ipaddr Acc #define ATTRIBUTE_ACC_DIAL_PORT_INDEX 27 //ATTRIBUTE Acc-Dial-Port-Index 27 integer Acc #define ATTRIBUTE_ACC_IP_COMPRESSION 28 //ATTRIBUTE Acc-Ip-Compression 28 integer Acc #define ATTRIBUTE_ACC_IPX_COMPRESSION 29 //ATTRIBUTE Acc-Ipx-Compression 29 integer Acc #define ATTRIBUTE_ACC_CONNECT_TX_SPEED 30 //ATTRIBUTE Acc-Connect-Tx-Speed 30 integer Acc #define ATTRIBUTE_ACC_CONNECT_RX_SPEED 31 //ATTRIBUTE Acc-Connect-Rx-Speed 31 integer Acc #define ATTRIBUTE_ACC_MODEM_MODULATION_TYPE 32 //ATTRIBUTE Acc-Modem-Modulation-Type 32 string Acc #define ATTRIBUTE_ACC_MODEM_ERROR_PROTOCOL 33 //ATTRIBUTE Acc-Modem-Error-Protocol 33 string Acc #define ATTRIBUTE_ACC_CALLBACK_DELAY 34 //ATTRIBUTE Acc-Callback-Delay 34 integer Acc #define ATTRIBUTE_ACC_CALLBACK_NUM_VALID 35 //ATTRIBUTE Acc-Callback-Num-Valid 35 string Acc #define ATTRIBUTE_ACC_CALLBACK_MODE 36 //ATTRIBUTE Acc-Callback-Mode 36 integer Acc #define ATTRIBUTE_ACC_CALLBACK_CBCP_TYPE 37 //ATTRIBUTE Acc-Callback-CBCP-Type 37 integer Acc #define ATTRIBUTE_ACC_DIALOUT_AUTH_MODE 38 //ATTRIBUTE Acc-Dialout-Auth-Mode 38 integer Acc #define ATTRIBUTE_ACC_DIALOUT_AUTH_PASSWORD 39 //ATTRIBUTE Acc-Dialout-Auth-Password 39 string Acc #define ATTRIBUTE_ACC_DIALOUT_AUTH_USERNAME 40 //ATTRIBUTE Acc-Dialout-Auth-Username 40 string Acc #define ATTRIBUTE_ACC_ACCESS_COMMUNITY 42 //ATTRIBUTE Acc-Access-Community 42 integer Acc #define ATTRIBUTE_ACC_VPSM_REJECT_CAUSE 43 //ATTRIBUTE Acc-Vpsm-Reject-Cause 43 integer Acc #define ATTRIBUTE_ACC_ACE_TOKEN 44 //ATTRIBUTE Acc-Ace-Token 44 string Acc #define ATTRIBUTE_ACC_ACE_TOKEN_TTL 45 //ATTRIBUTE Acc-Ace-Token-Ttl 45 integer Acc #define ATTRIBUTE_ACC_IP_POOL_NAME 46 //ATTRIBUTE Acc-Ip-Pool-Name 46 string Acc #define ATTRIBUTE_ACC_IGMP_ADMIN_STATE 47 //ATTRIBUTE Acc-Igmp-Admin-State 47 integer Acc #define ATTRIBUTE_ACC_IGMP_VERSION 48 //ATTRIBUTE Acc-Igmp-Version 48 integer Acc #define ATTRIBUTE_CISCO_AVPAIR 1 //ATTRIBUTE Cisco-AVPair 1 string Cisco #define ATTRIBUTE_CISCO_NAS_PORT 2 //ATTRIBUTE Cisco-NAS-Port 2 string Cisco #define ATTRIBUTE_H323_REMOTE_ADDRESS 23 //ATTRIBUTE h323-remote-address 23 string Cisco #define ATTRIBUTE_H323_CONF_ID 24 //ATTRIBUTE h323-conf-id 24 string Cisco #define ATTRIBUTE_H323_SETUP_TIME 25 //ATTRIBUTE h323-setup-time 25 string Cisco #define ATTRIBUTE_H323_CALL_ORIGIN 26 //ATTRIBUTE h323-call-origin 26 string Cisco #define ATTRIBUTE_H323_CALL_TYPE 27 //ATTRIBUTE h323-call-type 27 string Cisco #define ATTRIBUTE_H323_CONNECT_TIME 28 //ATTRIBUTE h323-connect-time 28 string Cisco #define ATTRIBUTE_H323_DISCONNECT_TIME 29 //ATTRIBUTE h323-disconnect-time 29 string Cisco #define ATTRIBUTE_H323_DISCONNECT_CAUSE 30 //ATTRIBUTE h323-disconnect-cause 30 string Cisco #define ATTRIBUTE_H323_VOICE_QUALITY 31 //ATTRIBUTE h323-voice-quality 31 string Cisco #define ATTRIBUTE_H323_GW_ID 33 //ATTRIBUTE h323-gw-id 33 string Cisco #define ATTRIBUTE_H323_INCOMING_CONF_ID 35 //ATTRIBUTE h323-incoming-conf-id 35 string Cisco #define ATTRIBUTE_H323_CREDIT_AMOUNT 101 //ATTRIBUTE h323-credit-amount 101 string Cisco #define ATTRIBUTE_H323_CREDIT_TIME 102 //ATTRIBUTE h323-credit-time 102 string Cisco #define ATTRIBUTE_H323_RETURN_CODE 103 //ATTRIBUTE h323-return-code 103 string Cisco #define ATTRIBUTE_H323_PROMPT_ID 104 //ATTRIBUTE h323-prompt-id 104 string Cisco #define ATTRIBUTE_H323_TIME_AND_DAY 105 //ATTRIBUTE h323-time-and-day 105 string Cisco #define ATTRIBUTE_H323_REDIRECT_NUMBER 106 //ATTRIBUTE h323-redirect-number 106 string Cisco #define ATTRIBUTE_H323_PREFERRED_LANG 107 //ATTRIBUTE h323-preferred-lang 107 string Cisco #define ATTRIBUTE_H323_REDIRECT_IP_ADDRESS 108 //ATTRIBUTE h323-redirect-ip-address 108 string Cisco #define ATTRIBUTE_H323_BILLING_MODEL 109 //ATTRIBUTE h323-billing-model 109 string Cisco #define ATTRIBUTE_H323_CURRENCY 110 //ATTRIBUTE h323-currency 110 string Cisco #define ATTRIBUTE_CISCO_MULTILINK_ID 187 //ATTRIBUTE Cisco-Multilink-ID 187 integer Cisco #define ATTRIBUTE_CISCO_NUM_IN_MULTILINK 188 //ATTRIBUTE Cisco-Num-In-Multilink 188 integer Cisco #define ATTRIBUTE_CISCO_PRE_INPUT_OCTETS 190 //ATTRIBUTE Cisco-Pre-Input-Octets 190 integer Cisco #define ATTRIBUTE_CISCO_PRE_OUTPUT_OCTETS 191 //ATTRIBUTE Cisco-Pre-Output-Octets 191 integer Cisco #define ATTRIBUTE_CISCO_PRE_INPUT_PACKETS 192 //ATTRIBUTE Cisco-Pre-Input-Packets 192 integer Cisco #define ATTRIBUTE_CISCO_PRE_OUTPUT_PACKETS 193 //ATTRIBUTE Cisco-Pre-Output-Packets 193 integer Cisco #define ATTRIBUTE_CISCO_MAXIMUM_TIME 194 //ATTRIBUTE Cisco-Maximum-Time 194 integer Cisco #define ATTRIBUTE_CISCO_DISCONNECT_CAUSE 195 //ATTRIBUTE Cisco-Disconnect-Cause 195 integer Cisco #define ATTRIBUTE_CISCO_DATA_RATE 197 //ATTRIBUTE Cisco-Data-Rate 197 integer Cisco #define ATTRIBUTE_CISCO_PRESESSION_TIME 198 //ATTRIBUTE Cisco-PreSession-Time 198 integer Cisco #define ATTRIBUTE_CISCO_PW_LIFETIME 208 //ATTRIBUTE Cisco-PW-Lifetime 208 integer Cisco #define ATTRIBUTE_CISCO_IP_DIRECT 209 //ATTRIBUTE Cisco-IP-Direct 209 integer Cisco #define ATTRIBUTE_CISCO_PPP_VJ_SLOT_COMP 210 //ATTRIBUTE Cisco-PPP-VJ-Slot-Comp 210 integer Cisco #define ATTRIBUTE_CISCO_PPP_ASYNC_MAP 212 //ATTRIBUTE Cisco-PPP-Async-Map 212 integer Cisco #define ATTRIBUTE_CISCO_IP_POOL_DEFINITION 217 //ATTRIBUTE Cisco-IP-Pool-Definition 217 integer Cisco #define ATTRIBUTE_CISCO_ASSIGN_IP_POOL 218 //ATTRIBUTE Cisco-Assign-IP-Pool 218 integer Cisco #define ATTRIBUTE_CISCO_ROUTE_IP 228 //ATTRIBUTE Cisco-Route-IP 228 integer Cisco #define ATTRIBUTE_CISCO_LINK_COMPRESSION 233 //ATTRIBUTE Cisco-Link-Compression 233 integer Cisco #define ATTRIBUTE_CISCO_TARGET_UTIL 234 //ATTRIBUTE Cisco-Target-Util 234 integer Cisco #define ATTRIBUTE_CISCO_MAXIMUM_CHANNELS 235 //ATTRIBUTE Cisco-Maximum-Channels 235 integer Cisco #define ATTRIBUTE_CISCO_DATA_FILTER 242 //ATTRIBUTE Cisco-Data-Filter 242 integer Cisco #define ATTRIBUTE_CISCO_CALL_FILTER 243 //ATTRIBUTE Cisco-Call-Filter 243 integer Cisco #define ATTRIBUTE_CISCO_IDLE_LIMIT 244 //ATTRIBUTE Cisco-Idle-Limit 244 integer Cisco #define ATTRIBUTE_CISCO_ACCOUNT_INFO 250 //ATTRIBUTE Cisco-Account-Info 250 string Cisco #define ATTRIBUTE_CISCO_SERVICE_INFO 251 //ATTRIBUTE Cisco-Service-Info 251 string Cisco #define ATTRIBUTE_CISCO_COMMAND_CODE 252 //ATTRIBUTE Cisco-Command-Code 252 string Cisco #define ATTRIBUTE_CISCO_CONTROL_INFO 253 //ATTRIBUTE Cisco-Control-Info 253 string Cisco #define ATTRIBUTE_CISCO_XMIT_RATE 255 //ATTRIBUTE Cisco-Xmit-Rate 255 integer Cisco #define ATTRIBUTE_CABLETRON_PROTOCOL_ENABLE 201 //ATTRIBUTE Cabletron-Protocol-Enable 201 integer Cabletron #define ATTRIBUTE_CABLETRON_PROTOCOL_CALLABLE 202 //ATTRIBUTE Cabletron-Protocol-Callable 202 integer Cabletron #define ATTRIBUTE_TELEBIT_LOGIN_COMMAND 1 //ATTRIBUTE Telebit-Login-Command 1 string Telebit #define ATTRIBUTE_TELEBIT_PORT_NAME 2 //ATTRIBUTE Telebit-Port-Name 2 string Telebit #define ATTRIBUTE_TELEBIT_ACTIVATE_COMMAND 3 //ATTRIBUTE Telebit-Activate-Command 3 string Telebit #define ATTRIBUTE_TELEBIT_ACCOUNTING_INFO 4 //ATTRIBUTE Telebit-Accounting-Info 4 string Telebit #define ATTRIBUTE_SHIVA_USER_ATTRIBUTES 1 //ATTRIBUTE Shiva-User-Attributes 1 string Shiva #define ATTRIBUTE_SHIVA_CALLED_NUMBER 90 //ATTRIBUTE Shiva-Called-Number 90 string Shiva #define ATTRIBUTE_SHIVA_CALLING_NUMBER 91 //ATTRIBUTE Shiva-Calling-Number 91 string Shiva #define ATTRIBUTE_SHIVA_CUSTOMER_ID 92 //ATTRIBUTE Shiva-Customer-Id 92 string Shiva #define ATTRIBUTE_SHIVA_TYPE_OF_SERVICE 93 //ATTRIBUTE Shiva-Type-Of-Service 93 integer Shiva #define ATTRIBUTE_SHIVA_LINK_SPEED 94 //ATTRIBUTE Shiva-Link-Speed 94 integer Shiva #define ATTRIBUTE_SHIVA_LINKS_IN_BUNDLE 95 //ATTRIBUTE Shiva-Links-In-Bundle 95 integer Shiva #define ATTRIBUTE_SHIVA_COMPRESSION_TYPE 96 //ATTRIBUTE Shiva-Compression-Type 96 integer Shiva #define ATTRIBUTE_SHIVA_LINK_PROTOCOL 97 //ATTRIBUTE Shiva-Link-Protocol 97 integer Shiva #define ATTRIBUTE_SHIVA_NETWORK_PROTOCOLS 98 //ATTRIBUTE Shiva-Network-Protocols 98 integer Shiva #define ATTRIBUTE_SHIVA_SESSION_ID 99 //ATTRIBUTE Shiva-Session-Id 99 integer Shiva #define ATTRIBUTE_SHIVA_DISCONNECT_REASON 100 //ATTRIBUTE Shiva-Disconnect-Reason 100 integer Shiva #define ATTRIBUTE_SHIVA_ACCT_SERV_SWITCH 101 //ATTRIBUTE Shiva-Acct-Serv-Switch 101 ipaddr Shiva #define ATTRIBUTE_SHIVA_EVENT_FLAGS 102 //ATTRIBUTE Shiva-Event-Flags 102 integer Shiva #define ATTRIBUTE_SHIVA_FUNCTION 103 //ATTRIBUTE Shiva-Function 103 integer Shiva #define ATTRIBUTE_SHIVA_CONNECT_REASON 104 //ATTRIBUTE Shiva-Connect-Reason 104 integer Shiva #define ATTRIBUTE_CVPN5000_TUNNEL_THROUGHPUT 1 //ATTRIBUTE CVPN5000-Tunnel-Throughput 1 integer Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_CLIENT_ASSIGNED_IP 2 //ATTRIBUTE CVPN5000-Client-Assigned-IP 2 string Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_CLIENT_REAL_IP 3 //ATTRIBUTE CVPN5000-Client-Real-IP 3 string Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_VPN_GROUPINFO 4 //ATTRIBUTE CVPN5000-VPN-GroupInfo 4 string Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_VPN_PASSWORD 5 //ATTRIBUTE CVPN5000-VPN-Password 5 string Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_ECHO 6 //ATTRIBUTE CVPN5000-Echo 6 integer Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_CLIENT_ASSIGNED_IPX 7 //ATTRIBUTE CVPN5000-Client-Assigned-IPX 7 integer Cisco-VPN5000 #define ATTRIBUTE_BINTEC_BIBOPPPTABLE 224 //ATTRIBUTE BinTec-biboPPPTable 224 string BinTec #define ATTRIBUTE_BINTEC_BIBODIALTABLE 225 //ATTRIBUTE BinTec-biboDialTable 225 string BinTec #define ATTRIBUTE_BINTEC_IPEXTIFTABLE 226 //ATTRIBUTE BinTec-ipExtIfTable 226 string BinTec #define ATTRIBUTE_BINTEC_IPROUTETABLE 227 //ATTRIBUTE BinTec-ipRouteTable 227 string BinTec #define ATTRIBUTE_BINTEC_IPEXTRTTABLE 228 //ATTRIBUTE BinTec-ipExtRtTable 228 string BinTec #define ATTRIBUTE_BINTEC_IPNATPRESETTABLE 229 //ATTRIBUTE BinTec-ipNatPresetTable 229 string BinTec #define ATTRIBUTE_BINTEC_IPXCIRCTABLE 230 //ATTRIBUTE BinTec-ipxCircTable 230 string BinTec #define ATTRIBUTE_BINTEC_RIPCIRCTABLE 231 //ATTRIBUTE BinTec-ripCircTable 231 string BinTec #define ATTRIBUTE_BINTEC_SAPCIRCTABLE 232 //ATTRIBUTE BinTec-sapCircTable 232 string BinTec #define ATTRIBUTE_BINTEC_IPXSTATICROUTETABLE 233 //ATTRIBUTE BinTec-ipxStaticRouteTable 233 string BinTec #define ATTRIBUTE_BINTEC_IPXSTATICSERVTABLE 234 //ATTRIBUTE BinTec-ipxStaticServTable 234 string BinTec #define ATTRIBUTE_BINTEC_OSPFIFTABLE 235 //ATTRIBUTE BinTec-ospfIfTable 235 string BinTec #define ATTRIBUTE_BINTEC_PPPEXTIFTABLE 236 //ATTRIBUTE BinTec-pppExtIfTable 236 string BinTec #define ATTRIBUTE_BINTEC_IPFILTERTABLE 237 //ATTRIBUTE BinTec-ipFilterTable 237 string BinTec #define ATTRIBUTE_BINTEC_IPQOSTABLE 238 //ATTRIBUTE BinTec-ipQoSTable 238 string BinTec #define ATTRIBUTE_BINTEC_QOSIFTABLE 239 //ATTRIBUTE BinTec-qosIfTable 239 string BinTec #define ATTRIBUTE_BINTEC_QOSPOLICYTABLE 240 //ATTRIBUTE BinTec-qosPolicyTable 240 string BinTec #define ATTRIBUTE_LE_TERMINATE_DETAIL 2 //ATTRIBUTE LE-Terminate-Detail 2 string Livingston #define ATTRIBUTE_LE_ADVICE_OF_CHARGE 3 //ATTRIBUTE LE-Advice-of-Charge 3 string Livingston #define ATTRIBUTE_LE_CONNECT_DETAIL 4 //ATTRIBUTE LE-Connect-Detail 4 string Livingston #define ATTRIBUTE_LE_IP_POOL 6 //ATTRIBUTE LE-IP-Pool 6 string Livingston #define ATTRIBUTE_LE_IP_GATEWAY 7 //ATTRIBUTE LE-IP-Gateway 7 ipaddr Livingston #define ATTRIBUTE_LE_MODEM_INFO 8 //ATTRIBUTE LE-Modem-Info 8 string Livingston #define ATTRIBUTE_LE_IPSEC_LOG_OPTIONS 9 //ATTRIBUTE LE-IPSec-Log-Options 9 integer Livingston #define ATTRIBUTE_LE_IPSEC_DENY_ACTION 10 //ATTRIBUTE LE-IPSec-Deny-Action 10 integer Livingston #define ATTRIBUTE_LE_IPSEC_ACTIVE_PROFILE 11 //ATTRIBUTE LE-IPSec-Active-Profile 11 string Livingston #define ATTRIBUTE_LE_IPSEC_OUTSOURCE_PROFILE 12 //ATTRIBUTE LE-IPSec-Outsource-Profile 12 string Livingston #define ATTRIBUTE_LE_IPSEC_PASSIVE_PROFILE 13 //ATTRIBUTE LE-IPSec-Passive-Profile 13 string Livingston #define ATTRIBUTE_LE_NAT_TCP_SESSION_TIMEOUT 14 //ATTRIBUTE LE-NAT-TCP-Session-Timeout 14 integer Livingston #define ATTRIBUTE_LE_NAT_OTHER_SESSION_TIMEOUT 15 //ATTRIBUTE LE-NAT-Other-Session-Timeout 15 integer Livingston #define ATTRIBUTE_LE_NAT_LOG_OPTIONS 16 //ATTRIBUTE LE-NAT-Log-Options 16 integer Livingston #define ATTRIBUTE_LE_NAT_SESS_DIR_FAIL_ACTION 17 //ATTRIBUTE LE-NAT-Sess-Dir-Fail-Action 17 integer Livingston #define ATTRIBUTE_LE_NAT_INMAP 18 //ATTRIBUTE LE-NAT-Inmap 18 string Livingston #define ATTRIBUTE_LE_NAT_OUTMAP 19 //ATTRIBUTE LE-NAT-Outmap 19 string Livingston #define ATTRIBUTE_LE_NAT_OUTSOURCE_INMAP 20 //ATTRIBUTE LE-NAT-Outsource-Inmap 20 string Livingston #define ATTRIBUTE_LE_NAT_OUTSOURCE_OUTMAP 21 //ATTRIBUTE LE-NAT-Outsource-Outmap 21 string Livingston #define ATTRIBUTE_LE_ADMIN_GROUP 22 //ATTRIBUTE LE-Admin-Group 22 string Livingston #define ATTRIBUTE_LE_MULTICAST_CLIENT 23 //ATTRIBUTE LE-Multicast-Client 23 integer Livingston #define ATTRIBUTE_MS_CHAP_RESPONSE 1 //ATTRIBUTE MS-CHAP-Response 1 string Microsoft #define ATTRIBUTE_MS_CHAP_ERROR 2 //ATTRIBUTE MS-CHAP-Error 2 string Microsoft #define ATTRIBUTE_MS_CHAP_CPW_1 3 //ATTRIBUTE MS-CHAP-CPW-1 3 string Microsoft #define ATTRIBUTE_MS_CHAP_CPW_2 4 //ATTRIBUTE MS-CHAP-CPW-2 4 string Microsoft #define ATTRIBUTE_MS_CHAP_LM_ENC_PW 5 //ATTRIBUTE MS-CHAP-LM-Enc-PW 5 string Microsoft #define ATTRIBUTE_MS_CHAP_NT_ENC_PW 6 //ATTRIBUTE MS-CHAP-NT-Enc-PW 6 string Microsoft #define ATTRIBUTE_MS_MPPE_ENCRYPTION_POLICY 7 //ATTRIBUTE MS-MPPE-Encryption-Policy 7 string Microsoft #define ATTRIBUTE_MS_MPPE_ENCRYPTION_TYPE 8 //ATTRIBUTE MS-MPPE-Encryption-Type 8 string Microsoft #define ATTRIBUTE_MS_RAS_VENDOR 9 //ATTRIBUTE MS-RAS-Vendor 9 integer Microsoft #define ATTRIBUTE_MS_CHAP_DOMAIN 10 //ATTRIBUTE MS-CHAP-Domain 10 string Microsoft #define ATTRIBUTE_MS_CHAP_CHALLENGE 11 //ATTRIBUTE MS-CHAP-Challenge 11 string Microsoft #define ATTRIBUTE_MS_CHAP_MPPE_KEYS 12 //ATTRIBUTE MS-CHAP-MPPE-Keys 12 string Microsoft #define ATTRIBUTE_MS_BAP_USAGE 13 //ATTRIBUTE MS-BAP-Usage 13 integer Microsoft #define ATTRIBUTE_MS_LINK_UTILIZATION_THRESHOLD 14 //ATTRIBUTE MS-Link-Utilization-Threshold 14 integer Microsoft #define ATTRIBUTE_MS_LINK_DROP_TIME_LIMIT 15 //ATTRIBUTE MS-Link-Drop-Time-Limit 15 integer Microsoft #define ATTRIBUTE_MS_MPPE_SEND_KEY 16 //ATTRIBUTE MS-MPPE-Send-Key 16 string Microsoft #define ATTRIBUTE_MS_MPPE_RECV_KEY 17 //ATTRIBUTE MS-MPPE-Recv-Key 17 string Microsoft #define ATTRIBUTE_MS_RAS_VERSION 18 //ATTRIBUTE MS-RAS-Version 18 string Microsoft #define ATTRIBUTE_MS_OLD_ARAP_PASSWORD 19 //ATTRIBUTE MS-Old-ARAP-Password 19 string Microsoft #define ATTRIBUTE_MS_NEW_ARAP_PASSWORD 20 //ATTRIBUTE MS-New-ARAP-Password 20 string Microsoft #define ATTRIBUTE_MS_ARAP_PW_CHANGE_REASON 21 //ATTRIBUTE MS-ARAP-PW-Change-Reason 21 integer Microsoft #define ATTRIBUTE_MS_FILTER 22 //ATTRIBUTE MS-Filter 22 string Microsoft #define ATTRIBUTE_MS_ACCT_AUTH_TYPE 23 //ATTRIBUTE MS-Acct-Auth-Type 23 integer Microsoft #define ATTRIBUTE_MS_ACCT_EAP_TYPE 24 //ATTRIBUTE MS-Acct-EAP-Type 24 integer Microsoft #define ATTRIBUTE_MS_CHAP2_RESPONSE 25 //ATTRIBUTE MS-CHAP2-Response 25 string Microsoft #define ATTRIBUTE_MS_CHAP2_SUCCESS 26 //ATTRIBUTE MS-CHAP2-Success 26 string Microsoft #define ATTRIBUTE_MS_CHAP2_CPW 27 //ATTRIBUTE MS-CHAP2-CPW 27 string Microsoft #define ATTRIBUTE_MS_PRIMARY_DNS_SERVER 28 //ATTRIBUTE MS-Primary-DNS-Server 28 ipaddr Microsoft #define ATTRIBUTE_MS_SECONDARY_DNS_SERVER 29 //ATTRIBUTE MS-Secondary-DNS-Server 29 ipaddr Microsoft #define ATTRIBUTE_MS_PRIMARY_NBNS_SERVER 30 //ATTRIBUTE MS-Primary-NBNS-Server 30 ipaddr Microsoft #define ATTRIBUTE_MS_SECONDARY_NBNS_SERVER 31 //ATTRIBUTE MS-Secondary-NBNS-Server 31 ipaddr Microsoft #define ATTRIBUTE_DTE_DATA_IDLE_TIMOUT 72 //ATTRIBUTE DTE-Data-Idle-Timout 72 integer USR #define ATTRIBUTE_DEFAULT_DTE_DATA_RATE 94 //ATTRIBUTE Default-DTE-Data-Rate 94 integer USR #define ATTRIBUTE_LAST_NUMBER_DIALED_OUT 102 //ATTRIBUTE Last-Number-Dialed-Out 102 string USR #define ATTRIBUTE_SYNC_ASYNC_MODE 103 //ATTRIBUTE Sync-Async-Mode 103 integer USR #define ATTRIBUTE_ORIGINATE_ANSWER_MODE 104 //ATTRIBUTE Originate-Answer-Mode 104 integer USR #define ATTRIBUTE_FAILURE_TO_CONNECT_REASON 105 //ATTRIBUTE Failure-to-Connect-Reason 105 integer USR #define ATTRIBUTE_INITIAL_TX_LINK_DATA_RATE 106 //ATTRIBUTE Initial-Tx-Link-Data-Rate 106 integer USR #define ATTRIBUTE_FINAL_TX_LINK_DATA_RATE 107 //ATTRIBUTE Final-Tx-Link-Data-Rate 107 integer USR #define ATTRIBUTE_MODULATION_TYPE 108 //ATTRIBUTE Modulation-Type 108 integer USR #define ATTRIBUTE_EQUALIZATION_TYPE 111 //ATTRIBUTE Equalization-Type 111 integer USR #define ATTRIBUTE_FALLBACK_ENABLED 112 //ATTRIBUTE Fallback-Enabled 112 integer USR #define ATTRIBUTE_CHARACTERS_SENT 113 //ATTRIBUTE Characters-Sent 113 integer USR #define ATTRIBUTE_CHARACTERS_RECEIVED 114 //ATTRIBUTE Characters-Received 114 integer USR #define ATTRIBUTE_BLOCKS_SENT 117 //ATTRIBUTE Blocks-Sent 117 integer USR #define ATTRIBUTE_BLOCKS_RECEIVED 118 //ATTRIBUTE Blocks-Received 118 integer USR #define ATTRIBUTE_BLOCKS_RESENT 119 //ATTRIBUTE Blocks-Resent 119 integer USR #define ATTRIBUTE_RETRAINS_REQUESTED 120 //ATTRIBUTE Retrains-Requested 120 integer USR #define ATTRIBUTE_RETRAINS_GRANTED 121 //ATTRIBUTE Retrains-Granted 121 integer USR #define ATTRIBUTE_LINE_REVERSALS 122 //ATTRIBUTE Line-Reversals 122 integer USR #define ATTRIBUTE_NUMBER_OF_CHARACTERS_LOST 123 //ATTRIBUTE Number-Of-Characters-Lost 123 integer USR #define ATTRIBUTE_BACK_CHANNEL_DATA_RATE 124 //ATTRIBUTE Back-Channel-Data-Rate 124 integer USR #define ATTRIBUTE_NUMBER_OF_BLERS 125 //ATTRIBUTE Number-of-Blers 125 integer USR #define ATTRIBUTE_NUMBER_OF_LINK_TIMEOUTS 126 //ATTRIBUTE Number-of-Link-Timeouts 126 integer USR #define ATTRIBUTE_NUMBER_OF_FALLBACKS 127 //ATTRIBUTE Number-of-Fallbacks 127 integer USR #define ATTRIBUTE_NUMBER_OF_UPSHIFTS 128 //ATTRIBUTE Number-of-Upshifts 128 integer USR #define ATTRIBUTE_NUMBER_OF_LINK_NAKS 129 //ATTRIBUTE Number-of-Link-NAKs 129 integer USR #define ATTRIBUTE_SIMPLIFIED_MNP_LEVELS 153 //ATTRIBUTE Simplified-MNP-Levels 153 integer USR #define ATTRIBUTE_CONNECT_TERM_REASON 155 //ATTRIBUTE Connect-Term-Reason 155 integer USR #define ATTRIBUTE_DTR_FALSE_TIMEOUT 190 //ATTRIBUTE DTR-False-Timeout 190 integer USR #define ATTRIBUTE_FALLBACK_LIMIT 191 //ATTRIBUTE Fallback-Limit 191 integer USR #define ATTRIBUTE_BLOCK_ERROR_COUNT_LIMIT 192 //ATTRIBUTE Block-Error-Count-Limit 192 integer USR #define ATTRIBUTE_SIMPLIFIED_V42BIS_USAGE 199 //ATTRIBUTE Simplified-V42bis-Usage 199 integer USR #define ATTRIBUTE_DTR_TRUE_TIMEOUT 218 //ATTRIBUTE DTR-True-Timeout 218 integer USR #define ATTRIBUTE_LAST_NUMBER_DIALED_IN_DNIS 232 //ATTRIBUTE Last-Number-Dialed-In-DNIS 232 string USR #define ATTRIBUTE_LAST_CALLERS_NUMBER_ANI 233 //ATTRIBUTE Last-Callers-Number-ANI 233 string USR #define ATTRIBUTE_CDMA_CALL_REFERENCE_NUMBER 387 //ATTRIBUTE CDMA-Call-Reference-Number 387 integer USR #define ATTRIBUTE_MBI_CT_PRI_CARD_SLOT 388 //ATTRIBUTE Mbi_Ct_PRI_Card_Slot 388 integer USR #define ATTRIBUTE_MBI_CT_TDM_TIME_SLOT 389 //ATTRIBUTE Mbi_Ct_TDM_Time_Slot 389 integer USR #define ATTRIBUTE_MBI_CT_PRI_CARD_SPAN_LINE 390 //ATTRIBUTE Mbi_Ct_PRI_Card_Span_Line 390 integer USR #define ATTRIBUTE_MBI_CT_BCHANNEL_USED 391 //ATTRIBUTE Mbi_Ct_BChannel_Used 391 integer USR #define ATTRIBUTE_RMMIE_STATUS 461 //ATTRIBUTE RMMIE-Status 461 integer USR #define ATTRIBUTE_RMMIE_NUM_OF_UPDATES 462 //ATTRIBUTE RMMIE-Num-Of-Updates 462 integer USR #define ATTRIBUTE_RMMIE_MANUFACTURER_ID 479 //ATTRIBUTE RMMIE-Manufacturer-ID 479 integer USR #define ATTRIBUTE_RMMIE_PRODUCT_CODE 480 //ATTRIBUTE RMMIE-Product-Code 480 string USR #define ATTRIBUTE_RMMIE_SERIAL_NUMBER 481 //ATTRIBUTE RMMIE-Serial-Number 481 string USR #define ATTRIBUTE_RMMIE_FIRMWARE_VERSION 482 //ATTRIBUTE RMMIE-Firmware-Version 482 string USR #define ATTRIBUTE_RMMIE_FIRMWARE_BUILD_DATE 483 //ATTRIBUTE RMMIE-Firmware-Build-Date 483 string USR #define ATTRIBUTE_IWF_IP_ADDRESS 1012 //ATTRIBUTE IWF-IP-Address 1012 ipaddr USR #define ATTRIBUTE_MOBILE_IP_ADDRESS 2190 //ATTRIBUTE Mobile-IP-Address 2190 ipaddr USR #define ATTRIBUTE_CALLING_PARTY_NUMBER 2191 //ATTRIBUTE Calling-Party-Number 2191 string USR #define ATTRIBUTE_CALLED_PARTY_NUMBER 2192 //ATTRIBUTE Called-Party-Number 2192 string USR #define ATTRIBUTE_CALL_TYPE 2193 //ATTRIBUTE Call-Type 2193 integer USR #define ATTRIBUTE_ESN 2194 //ATTRIBUTE ESN 2194 string USR #define ATTRIBUTE_IWF_CALL_IDENTIFIER 2195 //ATTRIBUTE IWF-Call-Identifier 2195 integer USR #define ATTRIBUTE_IMSI 2196 //ATTRIBUTE IMSI 2196 string USR #define ATTRIBUTE_SERVICE_OPTION 2197 //ATTRIBUTE Service-Option 2197 integer USR #define ATTRIBUTE_DISCONNECT_CAUSE_INDICATOR 2198 //ATTRIBUTE Disconnect-Cause-Indicator 2198 integer USR #define ATTRIBUTE_MOBILE_NUMBYTES_TXED 2199 //ATTRIBUTE Mobile-NumBytes-Txed 2199 integer USR #define ATTRIBUTE_MOBILE_NUMBYTES_RXED 2200 //ATTRIBUTE Mobile-NumBytes-Rxed 2200 integer USR #define ATTRIBUTE_NUM_FAX_PAGES_PROCESSED 2201 //ATTRIBUTE Num-Fax-Pages-Processed 2201 integer USR #define ATTRIBUTE_COMPRESSION_TYPE 2202 //ATTRIBUTE Compression-Type 2202 integer USR #define ATTRIBUTE_CALL_ERROR_CODE 2203 //ATTRIBUTE Call-Error-Code 2203 integer USR #define ATTRIBUTE_MODEM_SETUP_TIME 2204 //ATTRIBUTE Modem-Setup-Time 2204 integer USR #define ATTRIBUTE_CALL_CONNECTING_TIME 2205 //ATTRIBUTE Call-Connecting-Time 2205 integer USR #define ATTRIBUTE_CONNECT_TIME 2206 //ATTRIBUTE Connect-Time 2206 integer USR #define ATTRIBUTE_RMMIE_LAST_UPDATE_TIME 2304 //ATTRIBUTE RMMIE-Last-Update-Time 2304 integer USR #define ATTRIBUTE_RMMIE_LAST_UPDATE_EVENT 2305 //ATTRIBUTE RMMIE-Last-Update-Event 2305 integer USR #define ATTRIBUTE_RMMIE_RCV_TOT_PWRLVL 2306 //ATTRIBUTE RMMIE-Rcv-Tot-PwrLvl 2306 integer USR #define ATTRIBUTE_RMMIE_RCV_PWRLVL_3300HZ 2307 //ATTRIBUTE RMMIE-Rcv-PwrLvl-3300Hz 2307 integer USR #define ATTRIBUTE_RMMIE_RCV_PWRLVL_3750HZ 2308 //ATTRIBUTE RMMIE-Rcv-PwrLvl-3750Hz 2308 integer USR #define ATTRIBUTE_RMMIE_PWRLVL_NEARECHO_CANC 2309 //ATTRIBUTE RMMIE-PwrLvl-NearEcho-Canc 2309 integer USR #define ATTRIBUTE_RMMIE_PWRLVL_FARECHO_CANC 2310 //ATTRIBUTE RMMIE-PwrLvl-FarEcho-Canc 2310 integer USR #define ATTRIBUTE_RMMIE_PWRLVL_NOISE_LVL 2311 //ATTRIBUTE RMMIE-PwrLvl-Noise-Lvl 2311 integer USR #define ATTRIBUTE_RMMIE_PWRLVL_XMIT_LVL 2312 //ATTRIBUTE RMMIE-PwrLvl-Xmit-Lvl 2312 integer USR #define ATTRIBUTE_RMMIE_X2_STATUS 2313 //ATTRIBUTE RMMIE-x2-Status 2313 integer USR #define ATTRIBUTE_RMMIE_PLANNED_DISCONNECT 2314 //ATTRIBUTE RMMIE-Planned-Disconnect 2314 integer USR #define ATTRIBUTE_INITIAL_MODULATION_TYPE 2339 //ATTRIBUTE Initial-Modulation-Type 2339 integer USR #define ATTRIBUTE_PW_USR_IFILTER_IP 36864 //ATTRIBUTE PW_USR_IFilter_IP 36864 string USR #define ATTRIBUTE_PW_USR_IFILTER_IPX 36865 //ATTRIBUTE PW_USR_IFilter_IPX 36865 string USR #define ATTRIBUTE_SAP_FILTER_IN 36866 //ATTRIBUTE SAP-Filter-In 36866 string USR #define ATTRIBUTE_PW_USR_OFILTER_IP 36867 //ATTRIBUTE PW_USR_OFilter_IP 36867 string USR #define ATTRIBUTE_PW_USR_OFILTER_IPX 36868 //ATTRIBUTE PW_USR_OFilter_IPX 36868 string USR #define ATTRIBUTE_PW_USR_OFILTER_SAP 36869 //ATTRIBUTE PW_USR_OFilter_SAP 36869 string USR #define ATTRIBUTE_PW_VPN_ID 36870 //ATTRIBUTE PW_VPN_ID 36870 string USR #define ATTRIBUTE_PW_VPN_NAME 36871 //ATTRIBUTE PW_VPN_Name 36871 string USR #define ATTRIBUTE_PW_VPN_NEIGHBOR 36872 //ATTRIBUTE PW_VPN_Neighbor 36872 string USR #define ATTRIBUTE_PW_FRAMED_ROUTING_V2 36873 //ATTRIBUTE PW_Framed_Routing_V2 36873 string USR #define ATTRIBUTE_PW_VPN_GATEWAY 36874 //ATTRIBUTE PW_VPN_Gateway 36874 string USR #define ATTRIBUTE_PW_TUNNEL_AUTHENTICATION 36875 //ATTRIBUTE PW_Tunnel_Authentication 36875 string USR #define ATTRIBUTE_PW_INDEX 36876 //ATTRIBUTE PW_Index 36876 string USR #define ATTRIBUTE_PW_CUTOFF 36877 //ATTRIBUTE PW_Cutoff 36877 string USR #define ATTRIBUTE_PW_PACKET 36878 //ATTRIBUTE PW_Packet 36878 string USR #define ATTRIBUTE_PRIMARY_DNS_SERVER 36879 //ATTRIBUTE Primary_DNS_Server 36879 ipaddr USR #define ATTRIBUTE_SECONDARY_DNS_SERVER 36880 //ATTRIBUTE Secondary_DNS_Server 36880 ipaddr USR #define ATTRIBUTE_PRIMARY_NBNS_SERVER 36881 //ATTRIBUTE Primary_NBNS_Server 36881 ipaddr USR #define ATTRIBUTE_SECONDARY_NBNS_SERVER 36882 //ATTRIBUTE Secondary_NBNS_Server 36882 ipaddr USR #define ATTRIBUTE_SYSLOG_TAP 36883 //ATTRIBUTE Syslog-Tap 36883 integer USR #define ATTRIBUTE_MIC 36884 //ATTRIBUTE MIC 36884 string USR #define ATTRIBUTE_LOG_FILTER_PACKETS 36887 //ATTRIBUTE Log-Filter-Packets 36887 string USR #define ATTRIBUTE_CHASSIS_CALL_SLOT 36889 //ATTRIBUTE Chassis-Call-Slot 36889 integer USR #define ATTRIBUTE_CHASSIS_CALL_SPAN 36890 //ATTRIBUTE Chassis-Call-Span 36890 integer USR #define ATTRIBUTE_CHASSIS_CALL_CHANNEL 36891 //ATTRIBUTE Chassis-Call-Channel 36891 integer USR #define ATTRIBUTE_KEYPRESS_TIMEOUT 36892 //ATTRIBUTE Keypress-Timeout 36892 integer USR #define ATTRIBUTE_UNAUTHENTICATED_TIME 36893 //ATTRIBUTE Unauthenticated-Time 36893 integer USR #define ATTRIBUTE_VPN_ENCRYPTER 36894 //ATTRIBUTE VPN-Encrypter 36894 integer USR #define ATTRIBUTE_VPN_GW_LOCATION_ID 36895 //ATTRIBUTE VPN-GW-Location-Id 36895 string USR #define ATTRIBUTE_RE_CHAP_TIMEOUT 36896 //ATTRIBUTE Re-Chap-Timeout 36896 integer USR #define ATTRIBUTE_CCP_ALGORITHM 36897 //ATTRIBUTE CCP-Algorithm 36897 integer USR #define ATTRIBUTE_ACCM_TYPE 36898 //ATTRIBUTE ACCM-Type 36898 integer USR #define ATTRIBUTE_CONNECT_SPEED 36899 //ATTRIBUTE Connect-Speed 36899 integer USR #define ATTRIBUTE_FRAMED_IP_ADDRESS_POOL_NAME 36900 //ATTRIBUTE Framed_IP_Address_Pool_Name 36900 string USR #define ATTRIBUTE_MP_EDO 36901 //ATTRIBUTE MP-EDO 36901 string USR #define ATTRIBUTE_LOCAL_FRAMED_IP_ADDR 36902 //ATTRIBUTE Local-Framed-IP-Addr 36902 ipaddr USR #define ATTRIBUTE_FRAMED_IPX_ROUTE 36903 //ATTRIBUTE Framed-IPX-Route 36903 ipaddr USR #define ATTRIBUTE_MPIP_TUNNEL_ORIGINATOR 36904 //ATTRIBUTE MPIP-Tunnel-Originator 36904 ipaddr USR #define ATTRIBUTE_BEARER_CAPABILITIES 38912 //ATTRIBUTE Bearer-Capabilities 38912 integer USR #define ATTRIBUTE_SPEED_OF_CONNECTION 38913 //ATTRIBUTE Speed-Of-Connection 38913 integer USR #define ATTRIBUTE_MAX_CHANNELS 38914 //ATTRIBUTE Max-Channels 38914 integer USR #define ATTRIBUTE_CHANNEL_EXPANSION 38915 //ATTRIBUTE Channel-Expansion 38915 integer USR #define ATTRIBUTE_CHANNEL_DECREMENT 38916 //ATTRIBUTE Channel-Decrement 38916 integer USR #define ATTRIBUTE_EXPANSION_ALGORITHM 38917 //ATTRIBUTE Expansion-Algorithm 38917 integer USR #define ATTRIBUTE_COMPRESSION_ALGORITHM 38918 //ATTRIBUTE Compression-Algorithm 38918 integer USR #define ATTRIBUTE_RECEIVE_ACC_MAP 38919 //ATTRIBUTE Receive-Acc-Map 38919 integer USR #define ATTRIBUTE_TRANSMIT_ACC_MAP 38920 //ATTRIBUTE Transmit-Acc-Map 38920 integer USR #define ATTRIBUTE_COMPRESSION_RESET_MODE 38922 //ATTRIBUTE Compression-Reset-Mode 38922 integer USR #define ATTRIBUTE_MIN_COMPRESSION_SIZE 38923 //ATTRIBUTE Min-Compression-Size 38923 integer USR #define ATTRIBUTE_IP 38924 //ATTRIBUTE IP 38924 integer USR #define ATTRIBUTE_IPX 38925 //ATTRIBUTE IPX 38925 integer USR #define ATTRIBUTE_FILTER_ZONES 38926 //ATTRIBUTE Filter-Zones 38926 integer USR #define ATTRIBUTE_APPLETALK 38927 //ATTRIBUTE Appletalk 38927 integer USR #define ATTRIBUTE_BRIDGING 38928 //ATTRIBUTE Bridging 38928 integer USR #define ATTRIBUTE_SPOOFING 38929 //ATTRIBUTE Spoofing 38929 integer USR #define ATTRIBUTE_HOST_TYPE 38930 //ATTRIBUTE Host-Type 38930 integer USR #define ATTRIBUTE_SEND_NAME 38931 //ATTRIBUTE Send-Name 38931 string USR #define ATTRIBUTE_SEND_PASSWORD 38932 //ATTRIBUTE Send-Password 38932 string USR #define ATTRIBUTE_START_TIME 38933 //ATTRIBUTE Start-Time 38933 integer USR #define ATTRIBUTE_END_TIME 38934 //ATTRIBUTE End-Time 38934 integer USR #define ATTRIBUTE_SEND_SCRIPT1 38935 //ATTRIBUTE Send-Script1 38935 string USR #define ATTRIBUTE_REPLY_SCRIPT1 38936 //ATTRIBUTE Reply-Script1 38936 string USR #define ATTRIBUTE_SEND_SCRIPT2 38937 //ATTRIBUTE Send-Script2 38937 string USR #define ATTRIBUTE_REPLY_SCRIPT2 38938 //ATTRIBUTE Reply-Script2 38938 string USR #define ATTRIBUTE_SEND_SCRIPT3 38939 //ATTRIBUTE Send-Script3 38939 string USR #define ATTRIBUTE_REPLY_SCRIPT3 38940 //ATTRIBUTE Reply-Script3 38940 string USR #define ATTRIBUTE_SEND_SCRIPT4 38941 //ATTRIBUTE Send-Script4 38941 string USR #define ATTRIBUTE_REPLY_SCRIPT4 38942 //ATTRIBUTE Reply-Script4 38942 string USR #define ATTRIBUTE_SEND_SCRIPT5 38943 //ATTRIBUTE Send-Script5 38943 string USR #define ATTRIBUTE_REPLY_SCRIPT5 38944 //ATTRIBUTE Reply-Script5 38944 string USR #define ATTRIBUTE_SEND_SCRIPT6 38945 //ATTRIBUTE Send-Script6 38945 string USR #define ATTRIBUTE_REPLY_SCRIPT6 38946 //ATTRIBUTE Reply-Script6 38946 string USR #define ATTRIBUTE_TERMINAL_TYPE 38947 //ATTRIBUTE Terminal-Type 38947 string USR #define ATTRIBUTE_APPLETALK_NETWORK_RANGE 38948 //ATTRIBUTE Appletalk-Network-Range 38948 integer USR #define ATTRIBUTE_LOCAL_IP_ADDRESS 38949 //ATTRIBUTE Local-IP-Address 38949 string USR #define ATTRIBUTE_ROUTING_PROTOCOL 38950 //ATTRIBUTE Routing-Protocol 38950 integer USR #define ATTRIBUTE_MODEM_GROUP 38951 //ATTRIBUTE Modem-Group 38951 integer USR #define ATTRIBUTE_IPX_ROUTING 38952 //ATTRIBUTE IPX-Routing 38952 integer USR #define ATTRIBUTE_IPX_WAN 38953 //ATTRIBUTE IPX-WAN 38953 integer USR #define ATTRIBUTE_IP_RIP_POLICIES 38954 //ATTRIBUTE IP-RIP-Policies 38954 integer USR #define ATTRIBUTE_IP_RIP_SIMPLE_AUTH_PASSWORD 38955 //ATTRIBUTE IP-RIP-Simple-Auth-Password 38955 string USR #define ATTRIBUTE_IP_RIP_INPUT_FILTER 38956 //ATTRIBUTE IP-RIP-Input-Filter 38956 string USR #define ATTRIBUTE_IP_CALL_INPUT_FILTER 38957 //ATTRIBUTE IP-Call-Input-Filter 38957 string USR #define ATTRIBUTE_IPX_RIP_INPUT_FILTER 38958 //ATTRIBUTE IPX-RIP-Input-Filter 38958 string USR #define ATTRIBUTE_MP_MRRU 38959 //ATTRIBUTE MP-MRRU 38959 integer USR #define ATTRIBUTE_IPX_CALL_INPUT_FILTER 38960 //ATTRIBUTE IPX-Call-Input-Filter 38960 string USR #define ATTRIBUTE_AT_INPUT_FILTER 38961 //ATTRIBUTE AT-Input-Filter 38961 string USR #define ATTRIBUTE_AT_RTMP_INPUT_FILTER 38962 //ATTRIBUTE AT-RTMP-Input-Filter 38962 string USR #define ATTRIBUTE_AT_ZIP_INPUT_FILTER 38963 //ATTRIBUTE AT-Zip-Input-Filter 38963 string USR #define ATTRIBUTE_AT_CALL_INPUT_FILTER 38964 //ATTRIBUTE AT-Call-Input-Filter 38964 string USR #define ATTRIBUTE_ET_BRIDGE_INPUT_FILTER 38965 //ATTRIBUTE ET-Bridge-Input-Filter 38965 string USR #define ATTRIBUTE_IP_RIP_OUTPUT_FILTER 38966 //ATTRIBUTE IP-RIP-Output-Filter 38966 string USR #define ATTRIBUTE_IP_CALL_OUTPUT_FILTER 38967 //ATTRIBUTE IP-Call-Output-Filter 38967 string USR #define ATTRIBUTE_IPX_RIP_OUTPUT_FILTER 38968 //ATTRIBUTE IPX-RIP-Output-Filter 38968 string USR #define ATTRIBUTE_IPX_CALL_OUTPUT_FILTER 38969 //ATTRIBUTE IPX-Call-Output-Filter 38969 string USR #define ATTRIBUTE_AT_OUTPUT_FILTER 38970 //ATTRIBUTE AT-Output-Filter 38970 string USR #define ATTRIBUTE_AT_RTMP_OUTPUT_FILTER 38971 //ATTRIBUTE AT-RTMP-Output-Filter 38971 string USR #define ATTRIBUTE_AT_ZIP_OUTPUT_FILTER 38972 //ATTRIBUTE AT-Zip-Output-Filter 38972 string USR #define ATTRIBUTE_AT_CALL_OUTPUT_FILTER 38973 //ATTRIBUTE AT-Call-Output-Filter 38973 string USR #define ATTRIBUTE_ET_BRIDGE_OUTPUT_FILTER 38974 //ATTRIBUTE ET-Bridge-Output-Filter 38974 string USR #define ATTRIBUTE_ET_BRIDGE_CALL_OUTPUT_FILTE 38975 //ATTRIBUTE ET-Bridge-Call-Output-Filte 38975 string USR #define ATTRIBUTE_IP_DEFAULT_ROUTE_OPTION 38976 //ATTRIBUTE IP-Default-Route-Option 38976 integer USR #define ATTRIBUTE_MP_EDO_HIPER 38977 //ATTRIBUTE MP-EDO-HIPER 38977 string USR #define ATTRIBUTE_MODEM_TRAINING_TIME 38978 //ATTRIBUTE Modem-Training-Time 38978 integer USR #define ATTRIBUTE_INTERFACE_INDEX 38979 //ATTRIBUTE Interface-Index 38979 integer USR #define ATTRIBUTE_TUNNEL_SECURITY 38980 //ATTRIBUTE Tunnel-Security 38980 integer USR #define ATTRIBUTE_PORT_TAP 38981 //ATTRIBUTE Port-Tap 38981 integer USR #define ATTRIBUTE_PORT_TAP_FORMAT 38982 //ATTRIBUTE Port-Tap-Format 38982 integer USR #define ATTRIBUTE_PORT_TAP_OUTPUT 38983 //ATTRIBUTE Port-Tap-Output 38983 integer USR #define ATTRIBUTE_PORT_TAP_FACILITY 38984 //ATTRIBUTE Port-Tap-Facility 38984 integer USR #define ATTRIBUTE_PORT_TAP_PRIORITY 38985 //ATTRIBUTE Port-Tap-Priority 38985 integer USR #define ATTRIBUTE_PORT_TAP_ADDRESS 38986 //ATTRIBUTE Port-Tap-Address 38986 ipaddr USR #define ATTRIBUTE_MOBILEIP_HOME_AGENT_ADDRESS 38987 //ATTRIBUTE MobileIP-Home-Agent-Address 38987 ipaddr USR #define ATTRIBUTE_TUNNELED_MLPP 38988 //ATTRIBUTE Tunneled-MLPP 38988 integer USR #define ATTRIBUTE_MULTICAST_PROXY 38989 //ATTRIBUTE Multicast-Proxy 38989 integer USR #define ATTRIBUTE_MULTICAST_RECEIVE 38990 //ATTRIBUTE Multicast-Receive 38990 integer USR #define ATTRIBUTE_MULTICAST_FORWARDING 38992 //ATTRIBUTE Multicast-Forwarding 38992 integer USR #define ATTRIBUTE_IGMP_QUERY_INTERVAL 38993 //ATTRIBUTE IGMP-Query-Interval 38993 integer USR #define ATTRIBUTE_IGMP_MAXIMUM_RESPONSE_TIME 38994 //ATTRIBUTE IGMP-Maximum-Response-Time 38994 integer USR #define ATTRIBUTE_IGMP_ROBUSTNESS 38995 //ATTRIBUTE IGMP-Robustness 38995 integer USR #define ATTRIBUTE_IGMP_VERSION 38996 //ATTRIBUTE IGMP-Version 38996 integer USR #define ATTRIBUTE_IGMP_ROUTING 38997 //ATTRIBUTE IGMP-Routing 38997 integer USR #define ATTRIBUTE_VTS_SESSION_KEY 38998 //ATTRIBUTE VTS-Session-Key 38998 string USR #define ATTRIBUTE_ORIG_NAS_TYPE 38999 //ATTRIBUTE Orig-NAS-Type 38999 string USR #define ATTRIBUTE_CALL_ARRIVAL_TIME 39000 //ATTRIBUTE Call-Arrival-Time 39000 integer USR #define ATTRIBUTE_CALL_END_TIME 39001 //ATTRIBUTE Call-End-Time 39001 integer USR #define ATTRIBUTE_RAD_MULTICAST_ROUTING_TTL 39008 //ATTRIBUTE Rad-Multicast-Routing-Ttl 39008 integer USR #define ATTRIBUTE_RAD_MULTICAST_ROUTING_RTLIM 39009 //ATTRIBUTE Rad-Multicast-Routing-RtLim 39009 integer USR #define ATTRIBUTE_RAD_MULTICAST_ROUTING_PROTO 39010 //ATTRIBUTE Rad-Multicast-Routing-Proto 39010 integer USR #define ATTRIBUTE_RAD_MULTICAST_ROUTING_BOUND 39011 //ATTRIBUTE Rad-Multicast-Routing-Bound 39011 string USR #define ATTRIBUTE_RAD_DVMRP_METRIC 39012 //ATTRIBUTE Rad-Dvmrp-Metric 39012 integer USR #define ATTRIBUTE_CHAT_SCRIPT_NAME 39013 //ATTRIBUTE Chat-Script-Name 39013 string USR #define ATTRIBUTE_CHAT_SCRIPT_RULES 39014 //ATTRIBUTE Chat-Script-Rules 39014 string USR #define ATTRIBUTE_RAD_LOCATION_TYPE 39015 //ATTRIBUTE Rad-Location-Type 39015 integer USR #define ATTRIBUTE_TUNNEL_SWITCH_ENDPOINT 39016 //ATTRIBUTE Tunnel-Switch-Endpoint 39016 string USR #define ATTRIBUTE_OSPF_ADDRESSLESS_INDEX 39017 //ATTRIBUTE OSPF-Addressless-Index 39017 integer USR #define ATTRIBUTE_CALLBACK_TYPE 39018 //ATTRIBUTE Callback-Type 39018 integer USR #define ATTRIBUTE_TUNNEL_AUTH_HOSTNAME 39019 //ATTRIBUTE Tunnel-Auth-Hostname 39019 string USR #define ATTRIBUTE_ACCT_REASON_CODE 39020 //ATTRIBUTE Acct-Reason-Code 39020 integer USR #define ATTRIBUTE_IP_SAA_FILTER 39024 //ATTRIBUTE IP-SAA-Filter 39024 integer USR #define ATTRIBUTE_DNIS_REAUTHENTICATION 39029 //ATTRIBUTE DNIS-ReAuthentication 39029 integer USR #define ATTRIBUTE_SUPPORTS_TAGS 39049 //ATTRIBUTE Supports-Tags 39049 integer USR #define ATTRIBUTE_HARC_DISCONNECT_CODE 39051 //ATTRIBUTE HARC-Disconnect-Code 39051 integer USR #define ATTRIBUTE_IDS0_CALL_TYPE 48719 //ATTRIBUTE IDS0-Call-Type 48719 integer USR #define ATTRIBUTE_CALL_TERMINATE_IN_GMT 48720 //ATTRIBUTE Call-Terminate-in-GMT 48720 date USR #define ATTRIBUTE_CALL_CONNECT_IN_GMT 48721 //ATTRIBUTE Call-Connect-in-GMT 48721 date USR #define ATTRIBUTE_CALL_ARRIVAL_IN_GMT 48722 //ATTRIBUTE Call-Arrival-in-GMT 48722 date USR #define ATTRIBUTE_CHANNEL_CONNECTED_TO 48733 //ATTRIBUTE Channel-Connected-To 48733 integer USR #define ATTRIBUTE_SLOT_CONNECTED_TO 48734 //ATTRIBUTE Slot-Connected-To 48734 integer USR #define ATTRIBUTE_DEVICE_CONNECTED_TO 48735 //ATTRIBUTE Device-Connected-To 48735 integer USR #define ATTRIBUTE_NFAS_ID 48736 //ATTRIBUTE NFAS-ID 48736 integer USR #define ATTRIBUTE_Q931_CALL_REFERENCE_VALUE 48737 //ATTRIBUTE Q931-Call-Reference-Value 48737 integer USR #define ATTRIBUTE_CALL_EVENT_CODE 48738 //ATTRIBUTE Call-Event-Code 48738 integer USR #define ATTRIBUTE_DS0 48739 //ATTRIBUTE DS0 48739 integer USR #define ATTRIBUTE_DS0S 48740 //ATTRIBUTE DS0s 48740 string USR #define ATTRIBUTE_GATEWAY_IP_ADDRESS 48742 //ATTRIBUTE Gateway-IP-Address 48742 ipaddr USR #define ATTRIBUTE_PHYSICAL_STATE 48759 //ATTRIBUTE Physical-State 48759 integer USR #define ATTRIBUTE_CALL_REFERENCE_NUMBER 48765 //ATTRIBUTE Call-Reference-Number 48765 integer USR #define ATTRIBUTE_CHASSIS_TEMP_THRESHOLD 48772 //ATTRIBUTE Chassis-Temp-Threshold 48772 integer USR #define ATTRIBUTE_CARD_TYPE 48773 //ATTRIBUTE Card-Type 48773 integer USR #define ATTRIBUTE_SECURITY_LOGIN_LIMIT 48862 //ATTRIBUTE Security-Login-Limit 48862 integer USR #define ATTRIBUTE_SECURITY_RESP_LIMIT 48890 //ATTRIBUTE Security-Resp-Limit 48890 integer USR #define ATTRIBUTE_PACKET_BUS_SESSION 48916 //ATTRIBUTE Packet-Bus-Session 48916 integer USR #define ATTRIBUTE_DTE_RING_NO_ANSWER_LIMIT 48919 //ATTRIBUTE DTE-Ring-No-Answer-Limit 48919 integer USR #define ATTRIBUTE_FINAL_RX_LINK_DATA_RATE 48940 //ATTRIBUTE Final-Rx-Link-Data-Rate 48940 integer USR #define ATTRIBUTE_INITIAL_RX_LINK_DATA_RATE 48941 //ATTRIBUTE Initial-Rx-Link-Data-Rate 48941 integer USR #define ATTRIBUTE_EVENT_DATE_TIME 48943 //ATTRIBUTE Event-Date-Time 48943 date USR #define ATTRIBUTE_CHASSIS_TEMPERATURE 48945 //ATTRIBUTE Chassis-Temperature 48945 integer USR #define ATTRIBUTE_ACTUAL_VOLTAGE 48946 //ATTRIBUTE Actual-Voltage 48946 integer USR #define ATTRIBUTE_EXPECTED_VOLTAGE 48947 //ATTRIBUTE Expected-Voltage 48947 integer USR #define ATTRIBUTE_POWER_SUPPLY_NUMBER 48948 //ATTRIBUTE Power-Supply-Number 48948 integer USR #define ATTRIBUTE_CHANNEL 48952 //ATTRIBUTE Channel 48952 integer USR #define ATTRIBUTE_CHASSIS_SLOT 48953 //ATTRIBUTE Chassis-Slot 48953 integer USR #define ATTRIBUTE_EVENT_ID 49086 //ATTRIBUTE Event-Id 49086 integer USR #define ATTRIBUTE_NUMBER_OF_RINGS_LIMIT 49126 //ATTRIBUTE Number-of-Rings-Limit 49126 integer USR #define ATTRIBUTE_CONNECT_TIME_LIMIT 49127 //ATTRIBUTE Connect-Time-Limit 49127 integer USR #define ATTRIBUTE_CALL_END_DATE_TIME 49142 //ATTRIBUTE Call-End-Date-Time 49142 date USR #define ATTRIBUTE_CALL_START_DATE_TIME 49143 //ATTRIBUTE Call-Start-Date-Time 49143 date USR #define ATTRIBUTE_SERVER_TIME 61440 //ATTRIBUTE Server-Time 61440 date USR #define ATTRIBUTE_REQUEST_TYPE 61441 //ATTRIBUTE Request-Type 61441 integer USR #define ATTRIBUTE_NAS_TYPE 61442 //ATTRIBUTE NAS-Type 61442 integer USR #define ATTRIBUTE_AUTH_MODE 61443 //ATTRIBUTE Auth-Mode 61443 integer USR #define ATTRIBUTE_ASCEND_MAX_SHARED_USERS 2 //ATTRIBUTE Ascend-Max-Shared-Users 2 integer Ascend #define ATTRIBUTE_ASCEND_UU_INFO 7 //ATTRIBUTE Ascend-UU-Info 7 string Ascend #define ATTRIBUTE_ASCEND_CIR_TIMER 9 //ATTRIBUTE Ascend-CIR-Timer 9 integer Ascend #define ATTRIBUTE_ASCEND_FR_08_MODE 10 //ATTRIBUTE Ascend-FR-08-Mode 10 integer Ascend #define ATTRIBUTE_ASCEND_DESTINATION_NAS_PORT 11 //ATTRIBUTE Ascend-Destination-Nas-Port 11 integer Ascend #define ATTRIBUTE_ASCEND_FR_SVC_ADDR 12 //ATTRIBUTE Ascend-FR-SVC-Addr 12 string Ascend #define ATTRIBUTE_ASCEND_NAS_PORT_FORMAT 13 //ATTRIBUTE Ascend-NAS-Port-Format 13 integer Ascend #define ATTRIBUTE_ASCEND_ATM_FAULT_MANAGEMENT 14 //ATTRIBUTE Ascend-ATM-Fault-Management 14 integer Ascend #define ATTRIBUTE_ASCEND_ATM_LOOPBACK_CELL_LOSS 15 //ATTRIBUTE Ascend-ATM-Loopback-Cell-Loss 15 integer Ascend #define ATTRIBUTE_ASCEND_CKT_TYPE 16 //ATTRIBUTE Ascend-Ckt-Type 16 integer Ascend #define ATTRIBUTE_ASCEND_SVC_ENABLED 17 //ATTRIBUTE Ascend-SVC-Enabled 17 integer Ascend #define ATTRIBUTE_ASCEND_SESSION_TYPE 18 //ATTRIBUTE Ascend-Session-Type 18 integer Ascend #define ATTRIBUTE_ASCEND_H323_GATEKEEPER 19 //ATTRIBUTE Ascend-H323-Gatekeeper 19 ipaddr Ascend #define ATTRIBUTE_ASCEND_GLOBAL_CALL_ID 20 //ATTRIBUTE Ascend-Global-Call-Id 20 string Ascend #define ATTRIBUTE_ASCEND_H323_CONFERENCE_ID 21 //ATTRIBUTE Ascend-H323-Conference-Id 21 integer Ascend #define ATTRIBUTE_ASCEND_H323_FEGW_ADDRESS 22 //ATTRIBUTE Ascend-H323-Fegw-Address 22 ipaddr Ascend #define ATTRIBUTE_ASCEND_H323_DIALED_TIME 23 //ATTRIBUTE Ascend-H323-Dialed-Time 23 integer Ascend #define ATTRIBUTE_ASCEND_DIALED_NUMBER 24 //ATTRIBUTE Ascend-Dialed-Number 24 string Ascend #define ATTRIBUTE_ASCEND_INTER_ARRIVAL_JITTER 25 //ATTRIBUTE Ascend-Inter-Arrival-Jitter 25 integer Ascend #define ATTRIBUTE_ASCEND_DROPPED_OCTETS 26 //ATTRIBUTE Ascend-Dropped-Octets 26 integer Ascend #define ATTRIBUTE_ASCEND_DROPPED_PACKETS 27 //ATTRIBUTE Ascend-Dropped-Packets 27 integer Ascend #define ATTRIBUTE_ASCEND_AUTH_DELAY 28 //ATTRIBUTE Ascend-Auth-Delay 28 integer Ascend #define ATTRIBUTE_ASCEND_X25_PAD_X3_PROFILE 29 //ATTRIBUTE Ascend-X25-Pad-X3-Profile 29 integer Ascend #define ATTRIBUTE_ASCEND_X25_PAD_X3_PARAMETERS 30 //ATTRIBUTE Ascend-X25-Pad-X3-Parameters 30 string Ascend #define ATTRIBUTE_ASCEND_TUNNEL_VROUTER_NAME 31 //ATTRIBUTE Ascend-Tunnel-VRouter-Name 31 string Ascend #define ATTRIBUTE_ASCEND_X25_REVERSE_CHARGING 32 //ATTRIBUTE Ascend-X25-Reverse-Charging 32 integer Ascend #define ATTRIBUTE_ASCEND_X25_NUI_PROMPT 33 //ATTRIBUTE Ascend-X25-Nui-Prompt 33 string Ascend #define ATTRIBUTE_ASCEND_X25_NUI_PASSWORD_PROMPT 34 //ATTRIBUTE Ascend-X25-Nui-Password-Prompt 34 string Ascend #define ATTRIBUTE_ASCEND_X25_CUG 35 //ATTRIBUTE Ascend-X25-Cug 35 string Ascend #define ATTRIBUTE_ASCEND_X25_PAD_ALIAS_1 36 //ATTRIBUTE Ascend-X25-Pad-Alias-1 36 string Ascend #define ATTRIBUTE_ASCEND_X25_PAD_ALIAS_2 37 //ATTRIBUTE Ascend-X25-Pad-Alias-2 37 string Ascend #define ATTRIBUTE_ASCEND_X25_PAD_ALIAS_3 38 //ATTRIBUTE Ascend-X25-Pad-Alias-3 38 string Ascend #define ATTRIBUTE_ASCEND_X25_X121_ADDRESS 39 //ATTRIBUTE Ascend-X25-X121-Address 39 string Ascend #define ATTRIBUTE_ASCEND_X25_NUI 40 //ATTRIBUTE Ascend-X25-Nui 40 string Ascend #define ATTRIBUTE_ASCEND_X25_RPOA 41 //ATTRIBUTE Ascend-X25-Rpoa 41 string Ascend #define ATTRIBUTE_ASCEND_X25_PAD_PROMPT 42 //ATTRIBUTE Ascend-X25-Pad-Prompt 42 string Ascend #define ATTRIBUTE_ASCEND_X25_PAD_BANNER 43 //ATTRIBUTE Ascend-X25-Pad-Banner 43 string Ascend #define ATTRIBUTE_ASCEND_X25_PROFILE_NAME 44 //ATTRIBUTE Ascend-X25-Profile-Name 44 string Ascend #define ATTRIBUTE_ASCEND_RECV_NAME 45 //ATTRIBUTE Ascend-Recv-Name 45 string Ascend #define ATTRIBUTE_ASCEND_BI_DIRECTIONAL_AUTH 46 //ATTRIBUTE Ascend-Bi-Directional-Auth 46 integer Ascend #define ATTRIBUTE_ASCEND_MTU 47 //ATTRIBUTE Ascend-MTU 47 integer Ascend #define ATTRIBUTE_ASCEND_CALL_DIRECTION 48 //ATTRIBUTE Ascend-Call-Direction 48 integer Ascend #define ATTRIBUTE_ASCEND_SERVICE_TYPE 49 //ATTRIBUTE Ascend-Service-Type 49 integer Ascend #define ATTRIBUTE_ASCEND_FILTER_REQUIRED 50 //ATTRIBUTE Ascend-Filter-Required 50 integer Ascend #define ATTRIBUTE_ASCEND_TRAFFIC_SHAPER 51 //ATTRIBUTE Ascend-Traffic-Shaper 51 integer Ascend #define ATTRIBUTE_ASCEND_ACCESS_INTERCEPT_LEA 52 //ATTRIBUTE Ascend-Access-Intercept-LEA 52 string Ascend #define ATTRIBUTE_ASCEND_ACCESS_INTERCEPT_LOG 53 //ATTRIBUTE Ascend-Access-Intercept-Log 53 string Ascend #define ATTRIBUTE_ASCEND_PRIVATE_ROUTE_TABLE_ID 54 //ATTRIBUTE Ascend-Private-Route-Table-ID 54 string Ascend #define ATTRIBUTE_ASCEND_PRIVATE_ROUTE_REQUIRED 55 //ATTRIBUTE Ascend-Private-Route-Required 55 integer Ascend #define ATTRIBUTE_ASCEND_CACHE_REFRESH 56 //ATTRIBUTE Ascend-Cache-Refresh 56 integer Ascend #define ATTRIBUTE_ASCEND_CACHE_TIME 57 //ATTRIBUTE Ascend-Cache-Time 57 integer Ascend #define ATTRIBUTE_ASCEND_EGRESS_ENABLED 58 //ATTRIBUTE Ascend-Egress-Enabled 58 integer Ascend #define ATTRIBUTE_ASCEND_QOS_UPSTREAM 59 //ATTRIBUTE Ascend-QOS-Upstream 59 string Ascend #define ATTRIBUTE_ASCEND_QOS_DOWNSTREAM 60 //ATTRIBUTE Ascend-QOS-Downstream 60 string Ascend #define ATTRIBUTE_ASCEND_ATM_CONNECT_VPI 61 //ATTRIBUTE Ascend-ATM-Connect-Vpi 61 integer Ascend #define ATTRIBUTE_ASCEND_ATM_CONNECT_VCI 62 //ATTRIBUTE Ascend-ATM-Connect-Vci 62 integer Ascend #define ATTRIBUTE_ASCEND_ATM_CONNECT_GROUP 63 //ATTRIBUTE Ascend-ATM-Connect-Group 63 integer Ascend #define ATTRIBUTE_ASCEND_ATM_GROUP 64 //ATTRIBUTE Ascend-ATM-Group 64 integer Ascend #define ATTRIBUTE_ASCEND_IPX_HEADER_COMPRESSION 65 //ATTRIBUTE Ascend-IPX-Header-Compression 65 integer Ascend #define ATTRIBUTE_ASCEND_CALLING_ID_TYPE_OF_NUM 66 //ATTRIBUTE Ascend-Calling-Id-Type-Of-Num 66 integer Ascend #define ATTRIBUTE_ASCEND_CALLING_ID_NUMBER_PLAN 67 //ATTRIBUTE Ascend-Calling-Id-Number-Plan 67 integer Ascend #define ATTRIBUTE_ASCEND_CALLING_ID_PRESENTATN 68 //ATTRIBUTE Ascend-Calling-Id-Presentatn 68 integer Ascend #define ATTRIBUTE_ASCEND_CALLING_ID_SCREENING 69 //ATTRIBUTE Ascend-Calling-Id-Screening 69 integer Ascend #define ATTRIBUTE_ASCEND_BIR_ENABLE 70 //ATTRIBUTE Ascend-BIR-Enable 70 integer Ascend #define ATTRIBUTE_ASCEND_BIR_PROXY 71 //ATTRIBUTE Ascend-BIR-Proxy 71 integer Ascend #define ATTRIBUTE_ASCEND_BIR_BRIDGE_GROUP 72 //ATTRIBUTE Ascend-BIR-Bridge-Group 72 integer Ascend #define ATTRIBUTE_ASCEND_IPSEC_PROFILE 73 //ATTRIBUTE Ascend-IPSEC-Profile 73 string Ascend #define ATTRIBUTE_ASCEND_PPPOE_ENABLE 74 //ATTRIBUTE Ascend-PPPoE-Enable 74 integer Ascend #define ATTRIBUTE_ASCEND_BRIDGE_NON_PPPOE 75 //ATTRIBUTE Ascend-Bridge-Non-PPPoE 75 integer Ascend #define ATTRIBUTE_ASCEND_ATM_DIRECT 76 //ATTRIBUTE Ascend-ATM-Direct 76 integer Ascend #define ATTRIBUTE_ASCEND_ATM_DIRECT_PROFILE 77 //ATTRIBUTE Ascend-ATM-Direct-Profile 77 string Ascend #define ATTRIBUTE_ASCEND_CLIENT_PRIMARY_WINS 78 //ATTRIBUTE Ascend-Client-Primary-WINS 78 ipaddr Ascend #define ATTRIBUTE_ASCEND_CLIENT_SECONDARY_WINS 79 //ATTRIBUTE Ascend-Client-Secondary-WINS 79 ipaddr Ascend #define ATTRIBUTE_ASCEND_CLIENT_ASSIGN_WINS 80 //ATTRIBUTE Ascend-Client-Assign-WINS 80 integer Ascend #define ATTRIBUTE_ASCEND_AUTH_TYPE 81 //ATTRIBUTE Ascend-Auth-Type 81 integer Ascend #define ATTRIBUTE_ASCEND_PORT_REDIR_PROTOCOL 82 //ATTRIBUTE Ascend-Port-Redir-Protocol 82 integer Ascend #define ATTRIBUTE_ASCEND_PORT_REDIR_PORTNUM 83 //ATTRIBUTE Ascend-Port-Redir-Portnum 83 integer Ascend #define ATTRIBUTE_ASCEND_PORT_REDIR_SERVER 84 //ATTRIBUTE Ascend-Port-Redir-Server 84 ipaddr Ascend #define ATTRIBUTE_ASCEND_IP_POOL_CHAINING 85 //ATTRIBUTE Ascend-IP-Pool-Chaining 85 integer Ascend #define ATTRIBUTE_ASCEND_OWNER_IP_ADDR 86 //ATTRIBUTE Ascend-Owner-IP-Addr 86 ipaddr Ascend #define ATTRIBUTE_ASCEND_IP_TOS 87 //ATTRIBUTE Ascend-IP-TOS 87 integer Ascend #define ATTRIBUTE_ASCEND_IP_TOS_PRECEDENCE 88 //ATTRIBUTE Ascend-IP-TOS-Precedence 88 integer Ascend #define ATTRIBUTE_ASCEND_IP_TOS_APPLY_TO 89 //ATTRIBUTE Ascend-IP-TOS-Apply-To 89 integer Ascend #define ATTRIBUTE_ASCEND_FILTER 90 //ATTRIBUTE Ascend-Filter 90 string Ascend #define ATTRIBUTE_ASCEND_TELNET_PROFILE 91 //ATTRIBUTE Ascend-Telnet-Profile 91 string Ascend #define ATTRIBUTE_ASCEND_DSL_RATE_TYPE 92 //ATTRIBUTE Ascend-Dsl-Rate-Type 92 integer Ascend #define ATTRIBUTE_ASCEND_REDIRECT_NUMBER 93 //ATTRIBUTE Ascend-Redirect-Number 93 string Ascend #define ATTRIBUTE_ASCEND_ATM_VPI 94 //ATTRIBUTE Ascend-ATM-Vpi 94 integer Ascend #define ATTRIBUTE_ASCEND_ATM_VCI 95 //ATTRIBUTE Ascend-ATM-Vci 95 integer Ascend #define ATTRIBUTE_ASCEND_SOURCE_IP_CHECK 96 //ATTRIBUTE Ascend-Source-IP-Check 96 integer Ascend #define ATTRIBUTE_ASCEND_DSL_RATE_MODE 97 //ATTRIBUTE Ascend-Dsl-Rate-Mode 97 integer Ascend #define ATTRIBUTE_ASCEND_DSL_UPSTREAM_LIMIT 98 //ATTRIBUTE Ascend-Dsl-Upstream-Limit 98 integer Ascend #define ATTRIBUTE_ASCEND_DSL_DOWNSTREAM_LIMIT 99 //ATTRIBUTE Ascend-Dsl-Downstream-Limit 99 integer Ascend #define ATTRIBUTE_ASCEND_DSL_CIR_RECV_LIMIT 100 //ATTRIBUTE Ascend-Dsl-CIR-Recv-Limit 100 integer Ascend #define ATTRIBUTE_ASCEND_DSL_CIR_XMIT_LIMIT 101 //ATTRIBUTE Ascend-Dsl-CIR-Xmit-Limit 101 integer Ascend #define ATTRIBUTE_ASCEND_VROUTER_NAME 102 //ATTRIBUTE Ascend-VRouter-Name 102 string Ascend #define ATTRIBUTE_ASCEND_SOURCE_AUTH 103 //ATTRIBUTE Ascend-Source-Auth 103 string Ascend #define ATTRIBUTE_ASCEND_PRIVATE_ROUTE 104 //ATTRIBUTE Ascend-Private-Route 104 string Ascend #define ATTRIBUTE_ASCEND_NUMBERING_PLAN_ID 105 //ATTRIBUTE Ascend-Numbering-Plan-ID 105 integer Ascend #define ATTRIBUTE_ASCEND_FR_LINK_STATUS_DLCI 106 //ATTRIBUTE Ascend-FR-Link-Status-DLCI 106 integer Ascend #define ATTRIBUTE_ASCEND_CALLING_SUBADDRESS 107 //ATTRIBUTE Ascend-Calling-Subaddress 107 string Ascend #define ATTRIBUTE_ASCEND_CALLBACK_DELAY 108 //ATTRIBUTE Ascend-Callback-Delay 108 integer Ascend #define ATTRIBUTE_ASCEND_ENDPOINT_DISC 109 //ATTRIBUTE Ascend-Endpoint-Disc 109 string Ascend #define ATTRIBUTE_ASCEND_REMOTE_FW 110 //ATTRIBUTE Ascend-Remote-FW 110 string Ascend #define ATTRIBUTE_ASCEND_MULTICAST_GLEAVE_DELAY 111 //ATTRIBUTE Ascend-Multicast-GLeave-Delay 111 integer Ascend #define ATTRIBUTE_ASCEND_CBCP_ENABLE 112 //ATTRIBUTE Ascend-CBCP-Enable 112 integer Ascend #define ATTRIBUTE_ASCEND_CBCP_MODE 113 //ATTRIBUTE Ascend-CBCP-Mode 113 integer Ascend #define ATTRIBUTE_ASCEND_CBCP_DELAY 114 //ATTRIBUTE Ascend-CBCP-Delay 114 integer Ascend #define ATTRIBUTE_ASCEND_CBCP_TRUNK_GROUP 115 //ATTRIBUTE Ascend-CBCP-Trunk-Group 115 integer Ascend #define ATTRIBUTE_ASCEND_APPLETALK_ROUTE 116 //ATTRIBUTE Ascend-Appletalk-Route 116 string Ascend #define ATTRIBUTE_ASCEND_APPLETALK_PEER_MODE 117 //ATTRIBUTE Ascend-Appletalk-Peer-Mode 117 integer Ascend #define ATTRIBUTE_ASCEND_ROUTE_APPLETALK 118 //ATTRIBUTE Ascend-Route-Appletalk 118 integer Ascend #define ATTRIBUTE_ASCEND_FCP_PARAMETER 119 //ATTRIBUTE Ascend-FCP-Parameter 119 string Ascend #define ATTRIBUTE_ASCEND_MODEM_PORTNO 120 //ATTRIBUTE Ascend-Modem-PortNo 120 integer Ascend #define ATTRIBUTE_ASCEND_MODEM_SLOTNO 121 //ATTRIBUTE Ascend-Modem-SlotNo 121 integer Ascend #define ATTRIBUTE_ASCEND_MODEM_SHELFNO 122 //ATTRIBUTE Ascend-Modem-ShelfNo 122 integer Ascend #define ATTRIBUTE_ASCEND_CALL_ATTEMPT_LIMIT 123 //ATTRIBUTE Ascend-Call-Attempt-Limit 123 integer Ascend #define ATTRIBUTE_ASCEND_CALL_BLOCK_DURATION 124 //ATTRIBUTE Ascend-Call-Block-Duration 124 integer Ascend #define ATTRIBUTE_ASCEND_MAXIMUM_CALL_DURATION 125 //ATTRIBUTE Ascend-Maximum-Call-Duration 125 integer Ascend #define ATTRIBUTE_ASCEND_TEMPORARY_RTES 126 //ATTRIBUTE Ascend-Temporary-Rtes 126 integer Ascend #define ATTRIBUTE_ASCEND_TUNNELING_PROTOCOL 127 //ATTRIBUTE Ascend-Tunneling-Protocol 127 integer Ascend #define ATTRIBUTE_ASCEND_SHARED_PROFILE_ENABLE 128 //ATTRIBUTE Ascend-Shared-Profile-Enable 128 integer Ascend #define ATTRIBUTE_ASCEND_PRIMARY_HOME_AGENT 129 //ATTRIBUTE Ascend-Primary-Home-Agent 129 string Ascend #define ATTRIBUTE_ASCEND_SECONDARY_HOME_AGENT 130 //ATTRIBUTE Ascend-Secondary-Home-Agent 130 string Ascend #define ATTRIBUTE_ASCEND_DIALOUT_ALLOWED 131 //ATTRIBUTE Ascend-Dialout-Allowed 131 integer Ascend #define ATTRIBUTE_ASCEND_CLIENT_GATEWAY 132 //ATTRIBUTE Ascend-Client-Gateway 132 ipaddr Ascend #define ATTRIBUTE_ASCEND_BACP_ENABLE 133 //ATTRIBUTE Ascend-BACP-Enable 133 integer Ascend #define ATTRIBUTE_ASCEND_DHCP_MAXIMUM_LEASES 134 //ATTRIBUTE Ascend-DHCP-Maximum-Leases 134 integer Ascend #define ATTRIBUTE_ASCEND_CLIENT_PRIMARY_DNS 135 //ATTRIBUTE Ascend-Client-Primary-DNS 135 ipaddr Ascend #define ATTRIBUTE_ASCEND_CLIENT_SECONDARY_DNS 136 //ATTRIBUTE Ascend-Client-Secondary-DNS 136 ipaddr Ascend #define ATTRIBUTE_ASCEND_CLIENT_ASSIGN_DNS 137 //ATTRIBUTE Ascend-Client-Assign-DNS 137 integer Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_TYPE 138 //ATTRIBUTE Ascend-User-Acct-Type 138 integer Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_HOST 139 //ATTRIBUTE Ascend-User-Acct-Host 139 ipaddr Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_PORT 140 //ATTRIBUTE Ascend-User-Acct-Port 140 integer Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_KEY 141 //ATTRIBUTE Ascend-User-Acct-Key 141 string Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_BASE 142 //ATTRIBUTE Ascend-User-Acct-Base 142 integer Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_TIME 143 //ATTRIBUTE Ascend-User-Acct-Time 143 integer Ascend #define ATTRIBUTE_ASCEND_ASSIGN_IP_CLIENT 144 //ATTRIBUTE Ascend-Assign-IP-Client 144 ipaddr Ascend #define ATTRIBUTE_ASCEND_ASSIGN_IP_SERVER 145 //ATTRIBUTE Ascend-Assign-IP-Server 145 ipaddr Ascend #define ATTRIBUTE_ASCEND_ASSIGN_IP_GLOBAL_POOL 146 //ATTRIBUTE Ascend-Assign-IP-Global-Pool 146 string Ascend #define ATTRIBUTE_ASCEND_DHCP_REPLY 147 //ATTRIBUTE Ascend-DHCP-Reply 147 integer Ascend #define ATTRIBUTE_ASCEND_DHCP_POOL_NUMBER 148 //ATTRIBUTE Ascend-DHCP-Pool-Number 148 integer Ascend #define ATTRIBUTE_ASCEND_EXPECT_CALLBACK 149 //ATTRIBUTE Ascend-Expect-Callback 149 integer Ascend #define ATTRIBUTE_ASCEND_EVENT_TYPE 150 //ATTRIBUTE Ascend-Event-Type 150 integer Ascend #define ATTRIBUTE_ASCEND_SESSION_SVR_KEY 151 //ATTRIBUTE Ascend-Session-Svr-Key 151 string Ascend #define ATTRIBUTE_ASCEND_MULTICAST_RATE_LIMIT 152 //ATTRIBUTE Ascend-Multicast-Rate-Limit 152 integer Ascend #define ATTRIBUTE_ASCEND_IF_NETMASK 153 //ATTRIBUTE Ascend-IF-Netmask 153 ipaddr Ascend #define ATTRIBUTE_ASCEND_REMOTE_ADDR 154 //ATTRIBUTE Ascend-Remote-Addr 154 ipaddr Ascend #define ATTRIBUTE_ASCEND_MULTICAST_CLIENT 155 //ATTRIBUTE Ascend-Multicast-Client 155 integer Ascend #define ATTRIBUTE_ASCEND_FR_CIRCUIT_NAME 156 //ATTRIBUTE Ascend-FR-Circuit-Name 156 string Ascend #define ATTRIBUTE_ASCEND_FR_LINKUP 157 //ATTRIBUTE Ascend-FR-LinkUp 157 integer Ascend #define ATTRIBUTE_ASCEND_FR_NAILED_GRP 158 //ATTRIBUTE Ascend-FR-Nailed-Grp 158 integer Ascend #define ATTRIBUTE_ASCEND_FR_TYPE 159 //ATTRIBUTE Ascend-FR-Type 159 integer Ascend #define ATTRIBUTE_ASCEND_FR_LINK_MGT 160 //ATTRIBUTE Ascend-FR-Link-Mgt 160 integer Ascend #define ATTRIBUTE_ASCEND_FR_N391 161 //ATTRIBUTE Ascend-FR-N391 161 integer Ascend #define ATTRIBUTE_ASCEND_FR_DCE_N392 162 //ATTRIBUTE Ascend-FR-DCE-N392 162 integer Ascend #define ATTRIBUTE_ASCEND_FR_DTE_N392 163 //ATTRIBUTE Ascend-FR-DTE-N392 163 integer Ascend #define ATTRIBUTE_ASCEND_FR_DCE_N393 164 //ATTRIBUTE Ascend-FR-DCE-N393 164 integer Ascend #define ATTRIBUTE_ASCEND_FR_DTE_N393 165 //ATTRIBUTE Ascend-FR-DTE-N393 165 integer Ascend #define ATTRIBUTE_ASCEND_FR_T391 166 //ATTRIBUTE Ascend-FR-T391 166 integer Ascend #define ATTRIBUTE_ASCEND_FR_T392 167 //ATTRIBUTE Ascend-FR-T392 167 integer Ascend #define ATTRIBUTE_ASCEND_BRIDGE_ADDRESS 168 //ATTRIBUTE Ascend-Bridge-Address 168 string Ascend #define ATTRIBUTE_ASCEND_TS_IDLE_LIMIT 169 //ATTRIBUTE Ascend-TS-Idle-Limit 169 integer Ascend #define ATTRIBUTE_ASCEND_TS_IDLE_MODE 170 //ATTRIBUTE Ascend-TS-Idle-Mode 170 integer Ascend #define ATTRIBUTE_ASCEND_DBA_MONITOR 171 //ATTRIBUTE Ascend-DBA-Monitor 171 integer Ascend #define ATTRIBUTE_ASCEND_BASE_CHANNEL_COUNT 172 //ATTRIBUTE Ascend-Base-Channel-Count 172 integer Ascend #define ATTRIBUTE_ASCEND_MINIMUM_CHANNELS 173 //ATTRIBUTE Ascend-Minimum-Channels 173 integer Ascend #define ATTRIBUTE_ASCEND_IPX_ROUTE 174 //ATTRIBUTE Ascend-IPX-Route 174 string Ascend #define ATTRIBUTE_ASCEND_FT1_CALLER 175 //ATTRIBUTE Ascend-FT1-Caller 175 integer Ascend #define ATTRIBUTE_ASCEND_BACKUP 176 //ATTRIBUTE Ascend-Backup 176 string Ascend #define ATTRIBUTE_ASCEND_CALL_TYPE 177 //ATTRIBUTE Ascend-Call-Type 177 integer Ascend #define ATTRIBUTE_ASCEND_GROUP 178 //ATTRIBUTE Ascend-Group 178 string Ascend #define ATTRIBUTE_ASCEND_FR_DLCI 179 //ATTRIBUTE Ascend-FR-DLCI 179 integer Ascend #define ATTRIBUTE_ASCEND_FR_PROFILE_NAME 180 //ATTRIBUTE Ascend-FR-Profile-Name 180 string Ascend #define ATTRIBUTE_ASCEND_ARA_PW 181 //ATTRIBUTE Ascend-Ara-PW 181 string Ascend #define ATTRIBUTE_ASCEND_IPX_NODE_ADDR 182 //ATTRIBUTE Ascend-IPX-Node-Addr 182 string Ascend #define ATTRIBUTE_ASCEND_HOME_AGENT_IP_ADDR 183 //ATTRIBUTE Ascend-Home-Agent-IP-Addr 183 ipaddr Ascend #define ATTRIBUTE_ASCEND_HOME_AGENT_PASSWORD 184 //ATTRIBUTE Ascend-Home-Agent-Password 184 string Ascend #define ATTRIBUTE_ASCEND_HOME_NETWORK_NAME 185 //ATTRIBUTE Ascend-Home-Network-Name 185 string Ascend #define ATTRIBUTE_ASCEND_HOME_AGENT_UDP_PORT 186 //ATTRIBUTE Ascend-Home-Agent-UDP-Port 186 integer Ascend #define ATTRIBUTE_ASCEND_MULTILINK_ID 187 //ATTRIBUTE Ascend-Multilink-ID 187 integer Ascend #define ATTRIBUTE_ASCEND_NUM_IN_MULTILINK 188 //ATTRIBUTE Ascend-Num-In-Multilink 188 integer Ascend #define ATTRIBUTE_ASCEND_FIRST_DEST 189 //ATTRIBUTE Ascend-First-Dest 189 ipaddr Ascend #define ATTRIBUTE_ASCEND_PRE_INPUT_OCTETS 190 //ATTRIBUTE Ascend-Pre-Input-Octets 190 integer Ascend #define ATTRIBUTE_ASCEND_PRE_OUTPUT_OCTETS 191 //ATTRIBUTE Ascend-Pre-Output-Octets 191 integer Ascend #define ATTRIBUTE_ASCEND_PRE_INPUT_PACKETS 192 //ATTRIBUTE Ascend-Pre-Input-Packets 192 integer Ascend #define ATTRIBUTE_ASCEND_PRE_OUTPUT_PACKETS 193 //ATTRIBUTE Ascend-Pre-Output-Packets 193 integer Ascend #define ATTRIBUTE_ASCEND_MAXIMUM_TIME 194 //ATTRIBUTE Ascend-Maximum-Time 194 integer Ascend #define ATTRIBUTE_ASCEND_DISCONNECT_CAUSE 195 //ATTRIBUTE Ascend-Disconnect-Cause 195 integer Ascend #define ATTRIBUTE_ASCEND_CONNECT_PROGRESS 196 //ATTRIBUTE Ascend-Connect-Progress 196 integer Ascend #define ATTRIBUTE_ASCEND_DATA_RATE 197 //ATTRIBUTE Ascend-Data-Rate 197 integer Ascend #define ATTRIBUTE_ASCEND_PRESESSION_TIME 198 //ATTRIBUTE Ascend-PreSession-Time 198 integer Ascend #define ATTRIBUTE_ASCEND_TOKEN_IDLE 199 //ATTRIBUTE Ascend-Token-Idle 199 integer Ascend #define ATTRIBUTE_ASCEND_TOKEN_IMMEDIATE 200 //ATTRIBUTE Ascend-Token-Immediate 200 integer Ascend #define ATTRIBUTE_ASCEND_REQUIRE_AUTH 201 //ATTRIBUTE Ascend-Require-Auth 201 integer Ascend #define ATTRIBUTE_ASCEND_NUMBER_SESSIONS 202 //ATTRIBUTE Ascend-Number-Sessions 202 string Ascend #define ATTRIBUTE_ASCEND_AUTHEN_ALIAS 203 //ATTRIBUTE Ascend-Authen-Alias 203 string Ascend #define ATTRIBUTE_ASCEND_TOKEN_EXPIRY 204 //ATTRIBUTE Ascend-Token-Expiry 204 integer Ascend #define ATTRIBUTE_ASCEND_MENU_SELECTOR 205 //ATTRIBUTE Ascend-Menu-Selector 205 string Ascend #define ATTRIBUTE_ASCEND_MENU_ITEM 206 //ATTRIBUTE Ascend-Menu-Item 206 string Ascend #define ATTRIBUTE_ASCEND_PW_WARNTIME 207 //ATTRIBUTE Ascend-PW-Warntime 207 integer Ascend #define ATTRIBUTE_ASCEND_PW_LIFETIME 208 //ATTRIBUTE Ascend-PW-Lifetime 208 integer Ascend #define ATTRIBUTE_ASCEND_IP_DIRECT 209 //ATTRIBUTE Ascend-IP-Direct 209 ipaddr Ascend #define ATTRIBUTE_ASCEND_PPP_VJ_SLOT_COMP 210 //ATTRIBUTE Ascend-PPP-VJ-Slot-Comp 210 integer Ascend #define ATTRIBUTE_ASCEND_PPP_VJ_1172 211 //ATTRIBUTE Ascend-PPP-VJ-1172 211 integer Ascend #define ATTRIBUTE_ASCEND_PPP_ASYNC_MAP 212 //ATTRIBUTE Ascend-PPP-Async-Map 212 integer Ascend #define ATTRIBUTE_ASCEND_THIRD_PROMPT 213 //ATTRIBUTE Ascend-Third-Prompt 213 string Ascend #define ATTRIBUTE_ASCEND_SEND_SECRET 214 //ATTRIBUTE Ascend-Send-Secret 214 string Ascend #define ATTRIBUTE_ASCEND_RECEIVE_SECRET 215 //ATTRIBUTE Ascend-Receive-Secret 215 string Ascend #define ATTRIBUTE_ASCEND_IPX_PEER_MODE 216 //ATTRIBUTE Ascend-IPX-Peer-Mode 216 integer Ascend #define ATTRIBUTE_ASCEND_IP_POOL_DEFINITION 217 //ATTRIBUTE Ascend-IP-Pool-Definition 217 string Ascend #define ATTRIBUTE_ASCEND_ASSIGN_IP_POOL 218 //ATTRIBUTE Ascend-Assign-IP-Pool 218 integer Ascend #define ATTRIBUTE_ASCEND_FR_DIRECT 219 //ATTRIBUTE Ascend-FR-Direct 219 integer Ascend #define ATTRIBUTE_ASCEND_FR_DIRECT_PROFILE 220 //ATTRIBUTE Ascend-FR-Direct-Profile 220 string Ascend #define ATTRIBUTE_ASCEND_FR_DIRECT_DLCI 221 //ATTRIBUTE Ascend-FR-Direct-DLCI 221 integer Ascend #define ATTRIBUTE_ASCEND_HANDLE_IPX 222 //ATTRIBUTE Ascend-Handle-IPX 222 integer Ascend #define ATTRIBUTE_ASCEND_NETWARE_TIMEOUT 223 //ATTRIBUTE Ascend-Netware-timeout 223 integer Ascend #define ATTRIBUTE_ASCEND_IPX_ALIAS 224 //ATTRIBUTE Ascend-IPX-Alias 224 integer Ascend #define ATTRIBUTE_ASCEND_METRIC 225 //ATTRIBUTE Ascend-Metric 225 integer Ascend #define ATTRIBUTE_ASCEND_PRI_NUMBER_TYPE 226 //ATTRIBUTE Ascend-PRI-Number-Type 226 integer Ascend #define ATTRIBUTE_ASCEND_DIAL_NUMBER 227 //ATTRIBUTE Ascend-Dial-Number 227 string Ascend #define ATTRIBUTE_ASCEND_ROUTE_IP 228 //ATTRIBUTE Ascend-Route-IP 228 integer Ascend #define ATTRIBUTE_ASCEND_ROUTE_IPX 229 //ATTRIBUTE Ascend-Route-IPX 229 integer Ascend #define ATTRIBUTE_ASCEND_BRIDGE 230 //ATTRIBUTE Ascend-Bridge 230 integer Ascend #define ATTRIBUTE_ASCEND_SEND_AUTH 231 //ATTRIBUTE Ascend-Send-Auth 231 integer Ascend #define ATTRIBUTE_ASCEND_SEND_PASSWD 232 //ATTRIBUTE Ascend-Send-Passwd 232 string Ascend #define ATTRIBUTE_ASCEND_LINK_COMPRESSION 233 //ATTRIBUTE Ascend-Link-Compression 233 integer Ascend #define ATTRIBUTE_ASCEND_TARGET_UTIL 234 //ATTRIBUTE Ascend-Target-Util 234 integer Ascend #define ATTRIBUTE_ASCEND_MAXIMUM_CHANNELS 235 //ATTRIBUTE Ascend-Maximum-Channels 235 integer Ascend #define ATTRIBUTE_ASCEND_INC_CHANNEL_COUNT 236 //ATTRIBUTE Ascend-Inc-Channel-Count 236 integer Ascend #define ATTRIBUTE_ASCEND_DEC_CHANNEL_COUNT 237 //ATTRIBUTE Ascend-Dec-Channel-Count 237 integer Ascend #define ATTRIBUTE_ASCEND_SECONDS_OF_HISTORY 238 //ATTRIBUTE Ascend-Seconds-Of-History 238 integer Ascend #define ATTRIBUTE_ASCEND_HISTORY_WEIGH_TYPE 239 //ATTRIBUTE Ascend-History-Weigh-Type 239 integer Ascend #define ATTRIBUTE_ASCEND_ADD_SECONDS 240 //ATTRIBUTE Ascend-Add-Seconds 240 integer Ascend #define ATTRIBUTE_ASCEND_REMOVE_SECONDS 241 //ATTRIBUTE Ascend-Remove-Seconds 241 integer Ascend #define ATTRIBUTE_ASCEND_IDLE_LIMIT 244 //ATTRIBUTE Ascend-Idle-Limit 244 integer Ascend #define ATTRIBUTE_ASCEND_PREEMPT_LIMIT 245 //ATTRIBUTE Ascend-Preempt-Limit 245 integer Ascend #define ATTRIBUTE_ASCEND_CALLBACK 246 //ATTRIBUTE Ascend-Callback 246 integer Ascend #define ATTRIBUTE_ASCEND_DATA_SVC 247 //ATTRIBUTE Ascend-Data-Svc 247 integer Ascend #define ATTRIBUTE_ASCEND_FORCE_56 248 //ATTRIBUTE Ascend-Force-56 248 integer Ascend #define ATTRIBUTE_ASCEND_BILLING_NUMBER 249 //ATTRIBUTE Ascend-Billing-Number 249 string Ascend #define ATTRIBUTE_ASCEND_CALL_BY_CALL 250 //ATTRIBUTE Ascend-Call-By-Call 250 integer Ascend #define ATTRIBUTE_ASCEND_TRANSIT_NUMBER 251 //ATTRIBUTE Ascend-Transit-Number 251 string Ascend #define ATTRIBUTE_ASCEND_HOST_INFO 252 //ATTRIBUTE Ascend-Host-Info 252 string Ascend #define ATTRIBUTE_ASCEND_PPP_ADDRESS 253 //ATTRIBUTE Ascend-PPP-Address 253 ipaddr Ascend #define ATTRIBUTE_ASCEND_MPP_IDLE_PERCENT 254 //ATTRIBUTE Ascend-MPP-Idle-Percent 254 integer Ascend #define ATTRIBUTE_ASCEND_XMIT_RATE 255 //ATTRIBUTE Ascend-Xmit-Rate 255 integer Ascend #define ATTRIBUTE_KARLNET_TURBOCELL_NAME 151 //ATTRIBUTE KarlNet-TurboCell-Name 151 string KarlNet #define ATTRIBUTE_KARLNET_TURBOCELL_TXRATE 152 //ATTRIBUTE KarlNet-TurboCell-TxRate 152 integer KarlNet #define ATTRIBUTE_KARLNET_TURBOCELL_OPSTATE 153 //ATTRIBUTE KarlNet-TurboCell-OpState 153 integer KarlNet #define ATTRIBUTE_KARLNET_TURBOCELL_OPMODE 154 //ATTRIBUTE KarlNet-TurboCell-OpMode 154 integer KarlNet #define ATTRIBUTE_XEDIA_DNS_SERVER 1 //ATTRIBUTE Xedia-DNS-Server 1 ipaddr Xedia #define ATTRIBUTE_XEDIA_NETBIOS_SERVER 2 //ATTRIBUTE Xedia-NetBios-Server 2 ipaddr Xedia #define ATTRIBUTE_XEDIA_ADDRESS_POOL 3 //ATTRIBUTE Xedia-Address-Pool 3 string Xedia #define ATTRIBUTE_XEDIA_PPP_ECHO_INTERVAL 4 //ATTRIBUTE Xedia-PPP-Echo-Interval 4 integer Xedia #define ATTRIBUTE_XEDIA_SSH_PRIVILEGES 5 //ATTRIBUTE Xedia-SSH-Privileges 5 integer Xedia #define ATTRIBUTE_XEDIA_CLIENT_ACCESS_NETWORK 6 //ATTRIBUTE Xedia-Client-Access-Network 6 string Xedia #define ATTRIBUTE_ITK_AUTH_SERV_IP 100 //ATTRIBUTE ITK-Auth-Serv-IP 100 ipaddr ITK #define ATTRIBUTE_ITK_AUTH_SERV_PROT 101 //ATTRIBUTE ITK-Auth-Serv-Prot 101 integer ITK #define ATTRIBUTE_ITK_PROVIDER_ID 102 //ATTRIBUTE ITK-Provider-Id 102 integer ITK #define ATTRIBUTE_ITK_USERGROUP 103 //ATTRIBUTE ITK-Usergroup 103 integer ITK #define ATTRIBUTE_ITK_BANNER 104 //ATTRIBUTE ITK-Banner 104 string ITK #define ATTRIBUTE_ITK_USERNAME_PROMPT 105 //ATTRIBUTE ITK-Username-Prompt 105 string ITK #define ATTRIBUTE_ITK_PASSWORD_PROMPT 106 //ATTRIBUTE ITK-Password-Prompt 106 string ITK #define ATTRIBUTE_ITK_WELCOME_MESSAGE 107 //ATTRIBUTE ITK-Welcome-Message 107 string ITK #define ATTRIBUTE_ITK_PROMPT 108 //ATTRIBUTE ITK-Prompt 108 string ITK #define ATTRIBUTE_ITK_IP_POOL 109 //ATTRIBUTE ITK-IP-Pool 109 integer ITK #define ATTRIBUTE_ITK_TUNNEL_IP 110 //ATTRIBUTE ITK-Tunnel-IP 110 ipaddr ITK #define ATTRIBUTE_ITK_TUNNEL_PROT 111 //ATTRIBUTE ITK-Tunnel-Prot 111 integer ITK #define ATTRIBUTE_ITK_ACCT_SERV_IP 112 //ATTRIBUTE ITK-Acct-Serv-IP 112 ipaddr ITK #define ATTRIBUTE_ITK_ACCT_SERV_PROT 113 //ATTRIBUTE ITK-Acct-Serv-Prot 113 integer ITK #define ATTRIBUTE_ITK_FILTER_RULE 114 //ATTRIBUTE ITK-Filter-Rule 114 string ITK #define ATTRIBUTE_ITK_CHANNEL_BINDING 115 //ATTRIBUTE ITK-Channel-Binding 115 integer ITK #define ATTRIBUTE_ITK_START_DELAY 116 //ATTRIBUTE ITK-Start-Delay 116 integer ITK #define ATTRIBUTE_ITK_NAS_NAME 117 //ATTRIBUTE ITK-NAS-Name 117 string ITK #define ATTRIBUTE_ITK_ISDN_PROT 118 //ATTRIBUTE ITK-ISDN-Prot 118 integer ITK #define ATTRIBUTE_ITK_PPP_AUTH_TYPE 119 //ATTRIBUTE ITK-PPP-Auth-Type 119 integer ITK #define ATTRIBUTE_ITK_DIALOUT_TYPE 120 //ATTRIBUTE ITK-Dialout-Type 120 integer ITK #define ATTRIBUTE_ITK_FTP_AUTH_IP 121 //ATTRIBUTE ITK-Ftp-Auth-IP 121 ipaddr ITK #define ATTRIBUTE_ITK_USERS_DEFAULT_ENTRY 122 //ATTRIBUTE ITK-Users-Default-Entry 122 string ITK #define ATTRIBUTE_ITK_USERS_DEFAULT_PW 123 //ATTRIBUTE ITK-Users-Default-Pw 123 string ITK #define ATTRIBUTE_ITK_AUTH_REQ_TYPE 124 //ATTRIBUTE ITK-Auth-Req-Type 124 string ITK #define ATTRIBUTE_ITK_MODEM_POOL_ID 125 //ATTRIBUTE ITK-Modem-Pool-Id 125 integer ITK #define ATTRIBUTE_ITK_MODEM_INIT_STRING 126 //ATTRIBUTE ITK-Modem-Init-String 126 string ITK #define ATTRIBUTE_ITK_PPP_CLIENT_SERVER_MODE 127 //ATTRIBUTE ITK-PPP-Client-Server-Mode 127 integer ITK #define ATTRIBUTE_ITK_PPP_COMPRESSION_PROT 128 //ATTRIBUTE ITK-PPP-Compression-Prot 128 string ITK #define ATTRIBUTE_ITK_USERNAME 129 //ATTRIBUTE ITK-Username 129 string ITK #define ATTRIBUTE_ITK_DEST_NO 130 //ATTRIBUTE ITK-Dest-No 130 string ITK #define ATTRIBUTE_ITK_DDI 131 //ATTRIBUTE ITK-DDI 131 string ITK #define ATTRIBUTE_ANNEX_FILTER 28 //ATTRIBUTE Annex-Filter 28 string Bay-Networks #define ATTRIBUTE_ANNEX_CLI_COMMAND 29 //ATTRIBUTE Annex-CLI-Command 29 string Bay-Networks #define ATTRIBUTE_ANNEX_CLI_FILTER 30 //ATTRIBUTE Annex-CLI-Filter 30 string Bay-Networks #define ATTRIBUTE_ANNEX_HOST_RESTRICT 31 //ATTRIBUTE Annex-Host-Restrict 31 string Bay-Networks #define ATTRIBUTE_ANNEX_HOST_ALLOW 32 //ATTRIBUTE Annex-Host-Allow 32 string Bay-Networks #define ATTRIBUTE_ANNEX_PRODUCT_NAME 33 //ATTRIBUTE Annex-Product-Name 33 string Bay-Networks #define ATTRIBUTE_ANNEX_SW_VERSION 34 //ATTRIBUTE Annex-SW-Version 34 string Bay-Networks #define ATTRIBUTE_ANNEX_LOCAL_IP_ADDRESS 35 //ATTRIBUTE Annex-Local-IP-Address 35 ipaddr Bay-Networks #define ATTRIBUTE_ANNEX_CALLBACK_PORTLIST 36 //ATTRIBUTE Annex-Callback-Portlist 36 integer Bay-Networks #define ATTRIBUTE_ANNEX_SEC_PROFILE_INDEX 37 //ATTRIBUTE Annex-Sec-Profile-Index 37 integer Bay-Networks #define ATTRIBUTE_ANNEX_TUNNEL_AUTHEN_TYPE 38 //ATTRIBUTE Annex-Tunnel-Authen-Type 38 integer Bay-Networks #define ATTRIBUTE_ANNEX_TUNNEL_AUTHEN_MODE 39 //ATTRIBUTE Annex-Tunnel-Authen-Mode 39 integer Bay-Networks #define ATTRIBUTE_ANNEX_AUTHEN_SERVERS 40 //ATTRIBUTE Annex-Authen-Servers 40 string Bay-Networks #define ATTRIBUTE_ANNEX_ACCT_SERVERS 41 //ATTRIBUTE Annex-Acct-Servers 41 string Bay-Networks #define ATTRIBUTE_ANNEX_USER_SERVER_LOCATION 42 //ATTRIBUTE Annex-User-Server-Location 42 integer Bay-Networks #define ATTRIBUTE_ANNEX_LOCAL_USERNAME 43 //ATTRIBUTE Annex-Local-Username 43 string Bay-Networks #define ATTRIBUTE_ANNEX_SYSTEM_DISC_REASON 44 //ATTRIBUTE Annex-System-Disc-Reason 44 integer Bay-Networks #define ATTRIBUTE_ANNEX_MODEM_DISC_REASON 45 //ATTRIBUTE Annex-Modem-Disc-Reason 45 integer Bay-Networks #define ATTRIBUTE_ANNEX_DISCONNECT_REASON 46 //ATTRIBUTE Annex-Disconnect-Reason 46 integer Bay-Networks #define ATTRIBUTE_ANNEX_ADDR_RESOLUTION_PROTOCOL 47 //ATTRIBUTE Annex-Addr-Resolution-Protocol 47 integer Bay-Networks #define ATTRIBUTE_ANNEX_ADDR_RESOLUTION_SERVERS 48 //ATTRIBUTE Annex-Addr-Resolution-Servers 48 string Bay-Networks #define ATTRIBUTE_ANNEX_DOMAIN_NAME 49 //ATTRIBUTE Annex-Domain-Name 49 string Bay-Networks #define ATTRIBUTE_ANNEX_TRANSMIT_SPEED 50 //ATTRIBUTE Annex-Transmit-Speed 50 integer Bay-Networks #define ATTRIBUTE_ANNEX_RECEIVE_SPEED 51 //ATTRIBUTE Annex-Receive-Speed 51 integer Bay-Networks #define ATTRIBUTE_ANNEX_INPUT_FILTER 52 //ATTRIBUTE Annex-Input-Filter 52 string Bay-Networks #define ATTRIBUTE_ANNEX_OUTPUT_FILTER 53 //ATTRIBUTE Annex-Output-Filter 53 string Bay-Networks #define ATTRIBUTE_ANNEX_PRIMARY_DNS_SERVER 54 //ATTRIBUTE Annex-Primary-DNS-Server 54 ipaddr Bay-Networks #define ATTRIBUTE_ANNEX_SECONDARY_DNS_SERVER 55 //ATTRIBUTE Annex-Secondary-DNS-Server 55 ipaddr Bay-Networks #define ATTRIBUTE_ANNEX_PRIMARY_NBNS_SERVER 56 //ATTRIBUTE Annex-Primary-NBNS-Server 56 ipaddr Bay-Networks #define ATTRIBUTE_ANNEX_SECONDARY_NBNS_SERVER 57 //ATTRIBUTE Annex-Secondary-NBNS-Server 57 ipaddr Bay-Networks #define ATTRIBUTE_ANNEX_SYSLOG_TAP 58 //ATTRIBUTE Annex-Syslog-Tap 58 integer Bay-Networks #define ATTRIBUTE_ANNEX_KEYPRESS_TIMEOUT 59 //ATTRIBUTE Annex-Keypress-Timeout 59 integer Bay-Networks #define ATTRIBUTE_ANNEX_UNAUTHENTICATED_TIME 60 //ATTRIBUTE Annex-Unauthenticated-Time 60 integer Bay-Networks #define ATTRIBUTE_ANNEX_RE_CHAP_TIMEOUT 61 //ATTRIBUTE Annex-Re-CHAP-Timeout 61 integer Bay-Networks #define ATTRIBUTE_ANNEX_MRRU 62 //ATTRIBUTE Annex-MRRU 62 integer Bay-Networks #define ATTRIBUTE_ANNEX_EDO 63 //ATTRIBUTE Annex-EDO 63 string Bay-Networks #define ATTRIBUTE_ANNEX_PPP_TRACE_LEVEL 64 //ATTRIBUTE Annex-PPP-Trace-Level 64 integer Bay-Networks #define ATTRIBUTE_ANNEX_PRE_INPUT_OCTETS 65 //ATTRIBUTE Annex-Pre-Input-Octets 65 integer Bay-Networks #define ATTRIBUTE_ANNEX_PRE_OUTPUT_OCTETS 66 //ATTRIBUTE Annex-Pre-Output-Octets 66 integer Bay-Networks #define ATTRIBUTE_ANNEX_PRE_INPUT_PACKETS 67 //ATTRIBUTE Annex-Pre-Input-Packets 67 integer Bay-Networks #define ATTRIBUTE_ANNEX_PRE_OUTPUT_PACKETS 68 //ATTRIBUTE Annex-Pre-Output-Packets 68 integer Bay-Networks #define ATTRIBUTE_ANNEX_CONNECT_PROGRESS 69 //ATTRIBUTE Annex-Connect-Progress 69 integer Bay-Networks #define ATTRIBUTE_ANNEX_MULTICAST_RATE_LIMIT 73 //ATTRIBUTE Annex-Multicast-Rate-Limit 73 integer Bay-Networks #define ATTRIBUTE_ANNEX_MAXIMUM_CALL_DURATION 74 //ATTRIBUTE Annex-Maximum-Call-Duration 74 integer Bay-Networks #define ATTRIBUTE_ANNEX_MULTILINK_ID 75 //ATTRIBUTE Annex-Multilink-Id 75 integer Bay-Networks #define ATTRIBUTE_ANNEX_NUM_IN_MULTILINK 76 //ATTRIBUTE Annex-Num-In-Multilink 76 integer Bay-Networks #define ATTRIBUTE_ANNEX_LOGICAL_CHANNEL_NUMBER 81 //ATTRIBUTE Annex-Logical-Channel-Number 81 integer Bay-Networks #define ATTRIBUTE_ANNEX_WAN_NUMBER 82 //ATTRIBUTE Annex-Wan-Number 82 integer Bay-Networks #define ATTRIBUTE_ANNEX_PORT 83 //ATTRIBUTE Annex-Port 83 integer Bay-Networks #define ATTRIBUTE_ANNEX_POOL_ID 85 //ATTRIBUTE Annex-Pool-Id 85 integer Bay-Networks #define ATTRIBUTE_ANNEX_COMPRESSION_PROTOCOL 86 //ATTRIBUTE Annex-Compression-Protocol 86 string Bay-Networks #define ATTRIBUTE_ANNEX_TRANSMITTED_PACKETS 87 //ATTRIBUTE Annex-Transmitted-Packets 87 integer Bay-Networks #define ATTRIBUTE_ANNEX_RETRANSMITTED_PACKETS 88 //ATTRIBUTE Annex-Retransmitted-Packets 88 integer Bay-Networks #define ATTRIBUTE_ANNEX_SIGNAL_TO_NOISE_RATIO 89 //ATTRIBUTE Annex-Signal-to-Noise-Ratio 89 integer Bay-Networks #define ATTRIBUTE_ANNEX_RETRAIN_REQUESTS_SENT 90 //ATTRIBUTE Annex-Retrain-Requests-Sent 90 integer Bay-Networks #define ATTRIBUTE_ANNEX_RETRAIN_REQUESTS_RCVD 91 //ATTRIBUTE Annex-Retrain-Requests-Rcvd 91 integer Bay-Networks #define ATTRIBUTE_ANNEX_RATE_RENEG_REQ_SENT 92 //ATTRIBUTE Annex-Rate-Reneg-Req-Sent 92 integer Bay-Networks #define ATTRIBUTE_ANNEX_RATE_RENEG_REQ_RCVD 93 //ATTRIBUTE Annex-Rate-Reneg-Req-Rcvd 93 integer Bay-Networks #define ATTRIBUTE_ANNEX_BEGIN_RECEIVE_LINE_LEVEL 94 //ATTRIBUTE Annex-Begin-Receive-Line-Level 94 integer Bay-Networks #define ATTRIBUTE_ANNEX_END_RECEIVE_LINE_LEVEL 95 //ATTRIBUTE Annex-End-Receive-Line-Level 95 integer Bay-Networks #define ATTRIBUTE_ANNEX_BEGIN_MODULATION 96 //ATTRIBUTE Annex-Begin-Modulation 96 string Bay-Networks #define ATTRIBUTE_ANNEX_ERROR_CORRECTION_PROT 97 //ATTRIBUTE Annex-Error-Correction-Prot 97 string Bay-Networks #define ATTRIBUTE_ANNEX_END_MODULATION 98 //ATTRIBUTE Annex-End-Modulation 98 string Bay-Networks #define ATTRIBUTE_ANNEX_USER_LEVEL 100 //ATTRIBUTE Annex-User-Level 100 integer Bay-Networks #define ATTRIBUTE_ANNEX_AUDIT_LEVEL 101 //ATTRIBUTE Annex-Audit-Level 101 integer Bay-Networks #define ATTRIBUTE_ALTEON_SERVICE_TYPE 26 //ATTRIBUTE Alteon-Service-Type 26 integer Alteon #define ATTRIBUTE_EXTREME_NETLOGIN_VLAN 203 //ATTRIBUTE Extreme-Netlogin-Vlan 203 string Extreme #define ATTRIBUTE_EXTREME_NETLOGIN_URL 204 //ATTRIBUTE Extreme-Netlogin-Url 204 string Extreme #define ATTRIBUTE_EXTREME_NETLOGIN_URL_DESC 205 //ATTRIBUTE Extreme-Netlogin-Url-Desc 205 string Extreme #define ATTRIBUTE_REDCREEK_TUNNELED_IP_ADDR 5 //ATTRIBUTE RedCreek-Tunneled-IP-Addr 5 ipaddr RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_IP_NETMASK 6 //ATTRIBUTE RedCreek-Tunneled-IP-Netmask 6 ipaddr RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_GATEWAY 7 //ATTRIBUTE RedCreek-Tunneled-Gateway 7 ipaddr RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_DNS_SERVER 8 //ATTRIBUTE RedCreek-Tunneled-DNS-Server 8 string RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_WINS_SERVER1 9 //ATTRIBUTE RedCreek-Tunneled-WINS-Server1 9 string RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_WINS_SERVER2 10 //ATTRIBUTE RedCreek-Tunneled-WINS-Server2 10 string RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_HOSTNAME 11 //ATTRIBUTE RedCreek-Tunneled-HostName 11 string RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_DOMAINNAME 12 //ATTRIBUTE RedCreek-Tunneled-DomainName 12 string RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_SEARCH_LIST 13 //ATTRIBUTE RedCreek-Tunneled-Search-List 13 string RedCreek #define ATTRIBUTE_FOUNDRY_PRIVILEGE_LEVEL 1 //ATTRIBUTE Foundry-Privilege-Level 1 integer Foundry #define ATTRIBUTE_FOUNDRY_COMMAND_STRING 2 //ATTRIBUTE Foundry-Command-String 2 string Foundry #define ATTRIBUTE_FOUNDRY_COMMAND_EXCEPTION_FLAG 3 //ATTRIBUTE Foundry-Command-Exception-Flag 3 integer Foundry #define ATTRIBUTE_VERSANET_TERMINATION_CAUSE 1 //ATTRIBUTE Versanet-Termination-Cause 1 integer Versanet #define ATTRIBUTE_CLIENT_DNS_PRI 1 //ATTRIBUTE Client-DNS-Pri 1 ipaddr Redback #define ATTRIBUTE_CLIENT_DNS_SEC 2 //ATTRIBUTE Client-DNS-Sec 2 ipaddr Redback #define ATTRIBUTE_DHCP_MAX_LEASES 3 //ATTRIBUTE DHCP-Max-Leases 3 integer Redback #define ATTRIBUTE_CONTEXT_NAME 4 //ATTRIBUTE Context-Name 4 string Redback #define ATTRIBUTE_BRIDGE_GROUP 5 //ATTRIBUTE Bridge-Group 5 string Redback #define ATTRIBUTE_BG_AGING_TIME 6 //ATTRIBUTE BG-Aging-Time 6 string Redback #define ATTRIBUTE_BG_PATH_COST 7 //ATTRIBUTE BG-Path-Cost 7 string Redback #define ATTRIBUTE_BG_SPAN_DIS 8 //ATTRIBUTE BG-Span-Dis 8 string Redback #define ATTRIBUTE_BG_TRANS_BPDU 9 //ATTRIBUTE BG-Trans-BPDU 9 string Redback #define ATTRIBUTE_RATE_LIMIT_RATE 10 //ATTRIBUTE Rate-Limit-Rate 10 integer Redback #define ATTRIBUTE_RATE_LIMIT_BURST 11 //ATTRIBUTE Rate-Limit-Burst 11 integer Redback #define ATTRIBUTE_POLICE_RATE 12 //ATTRIBUTE Police-Rate 12 integer Redback #define ATTRIBUTE_POLICE_BURST 13 //ATTRIBUTE Police-Burst 13 integer Redback #define ATTRIBUTE_SOURCE_VALIDATION 14 //ATTRIBUTE Source-Validation 14 integer Redback #define ATTRIBUTE_TUNNEL_DOMAIN 15 //ATTRIBUTE Tunnel-Domain 15 integer Redback #define ATTRIBUTE_TUNNEL_LOCAL_NAME 16 //ATTRIBUTE Tunnel-Local-Name 16 string Redback #define ATTRIBUTE_TUNNEL_REMOTE_NAME 17 //ATTRIBUTE Tunnel-Remote-Name 17 string Redback #define ATTRIBUTE_TUNNEL_FUNCTION 18 //ATTRIBUTE Tunnel-Function 18 integer Redback #define ATTRIBUTE_TUNNEL_MAX_SESSIONS 21 //ATTRIBUTE Tunnel-Max-Sessions 21 integer Redback #define ATTRIBUTE_TUNNEL_MAX_TUNNELS 22 //ATTRIBUTE Tunnel-Max-Tunnels 22 integer Redback #define ATTRIBUTE_TUNNEL_SESSION_AUTH 23 //ATTRIBUTE Tunnel-Session-Auth 23 integer Redback #define ATTRIBUTE_TUNNEL_WINDOW 24 //ATTRIBUTE Tunnel-Window 24 integer Redback #define ATTRIBUTE_TUNNEL_RETRANSMIT 25 //ATTRIBUTE Tunnel-Retransmit 25 integer Redback #define ATTRIBUTE_TUNNEL_CMD_TIMEOUT 26 //ATTRIBUTE Tunnel-Cmd-Timeout 26 integer Redback #define ATTRIBUTE_PPPOE_URL 27 //ATTRIBUTE PPPOE-URL 27 string Redback #define ATTRIBUTE_PPPOE_MOTM 28 //ATTRIBUTE PPPOE-MOTM 28 string Redback #define ATTRIBUTE_TUNNEL_GROUP 29 //ATTRIBUTE Tunnel-Group 29 integer Redback #define ATTRIBUTE_TUNNEL_CONTEXT 30 //ATTRIBUTE Tunnel-Context 30 string Redback #define ATTRIBUTE_TUNNEL_ALGORITHM 31 //ATTRIBUTE Tunnel-Algorithm 31 integer Redback #define ATTRIBUTE_TUNNEL_DEADTIME 32 //ATTRIBUTE Tunnel-Deadtime 32 integer Redback #define ATTRIBUTE_MCAST_SEND 33 //ATTRIBUTE Mcast-Send 33 integer Redback #define ATTRIBUTE_MCAST_RECEIVE 34 //ATTRIBUTE Mcast-Receive 34 integer Redback #define ATTRIBUTE_MCAST_MAXGROUPS 35 //ATTRIBUTE Mcast-MaxGroups 35 integer Redback #define ATTRIBUTE_IP_ADDRESS_POOL_NAME 36 //ATTRIBUTE Ip-Address-Pool-Name 36 string Redback #define ATTRIBUTE_TUNNEL_DNIS 37 //ATTRIBUTE Tunnel-DNIS 37 integer Redback #define ATTRIBUTE_MEDIUM_TYPE 38 //ATTRIBUTE Medium-Type 38 integer Redback #define ATTRIBUTE_PVC_ENCAPSULATION_TYPE 39 //ATTRIBUTE PVC-Encapsulation-Type 39 integer Redback #define ATTRIBUTE_PVC_PROFILE_NAME 40 //ATTRIBUTE PVC-Profile-Name 40 string Redback #define ATTRIBUTE_PVC_CIRCUIT_PADDING 41 //ATTRIBUTE PVC-Circuit-Padding 41 integer Redback #define ATTRIBUTE_BIND_TYPE 42 //ATTRIBUTE Bind-Type 42 integer Redback #define ATTRIBUTE_BIND_AUTH_PROTOCOL 43 //ATTRIBUTE Bind-Auth-Protocol 43 integer Redback #define ATTRIBUTE_BIND_AUTH_MAX_SESSIONS 44 //ATTRIBUTE Bind-Auth-Max-Sessions 44 integer Redback #define ATTRIBUTE_BIND_BYPASS_BYPASS 45 //ATTRIBUTE Bind-Bypass-Bypass 45 string Redback #define ATTRIBUTE_BIND_AUTH_CONTEXT 46 //ATTRIBUTE Bind-Auth-Context 46 string Redback #define ATTRIBUTE_BIND_AUTH_SERVICE_GRP 47 //ATTRIBUTE Bind-Auth-Service-Grp 47 string Redback #define ATTRIBUTE_BIND_BYPASS_CONTEXT 48 //ATTRIBUTE Bind-Bypass-Context 48 string Redback #define ATTRIBUTE_BIND_INT_CONTEXT 49 //ATTRIBUTE Bind-Int-Context 49 string Redback #define ATTRIBUTE_BIND_TUN_CONTEXT 50 //ATTRIBUTE Bind-Tun-Context 50 string Redback #define ATTRIBUTE_BIND_SES_CONTEXT 51 //ATTRIBUTE Bind-Ses-Context 51 string Redback #define ATTRIBUTE_BIND_DOT1Q_SLOT 52 //ATTRIBUTE Bind-Dot1q-Slot 52 integer Redback #define ATTRIBUTE_BIND_DOT1Q_PORT 53 //ATTRIBUTE Bind-Dot1q-Port 53 integer Redback #define ATTRIBUTE_BIND_DOT1Q_VLAN_TAG_ID 54 //ATTRIBUTE Bind-Dot1q-Vlan-Tag-Id 54 integer Redback #define ATTRIBUTE_BIND_INT_INTERFACE_NAME 55 //ATTRIBUTE Bind-Int-Interface-Name 55 string Redback #define ATTRIBUTE_BIND_L2TP_TUNNEL_NAME 56 //ATTRIBUTE Bind-L2TP-Tunnel-Name 56 string Redback #define ATTRIBUTE_BIND_L2TP_FLOW_CONTROL 57 //ATTRIBUTE Bind-L2TP-Flow-Control 57 integer Redback #define ATTRIBUTE_BIND_SUB_USER_AT_CONTEXT 58 //ATTRIBUTE Bind-Sub-User-At-Context 58 string Redback #define ATTRIBUTE_BIND_SUB_PASSWORD 59 //ATTRIBUTE Bind-Sub-Password 59 string Redback #define ATTRIBUTE_IP_HOST_ADDR 60 //ATTRIBUTE Ip-Host-Addr 60 string Redback #define ATTRIBUTE_IP_TOS_FIELD 61 //ATTRIBUTE IP-TOS-Field 61 integer Redback #define ATTRIBUTE_NAS_REAL_PORT 62 //ATTRIBUTE NAS-Real-Port 62 integer Redback #define ATTRIBUTE_TUNNEL_SESSION_AUTH_CTX 63 //ATTRIBUTE Tunnel-Session-Auth-Ctx 63 string Redback #define ATTRIBUTE_TUNNEL_SESSION_AUTH_SERVICE_GRP 64 //ATTRIBUTE Tunnel-Session-Auth-Service-Grp 64 string Redback #define ATTRIBUTE_TUNNEL_RATE_LIMIT_RATE 65 //ATTRIBUTE Tunnel-Rate-Limit-Rate 65 integer Redback #define ATTRIBUTE_TUNNEL_RATE_LIMIT_BURST 66 //ATTRIBUTE Tunnel-Rate-Limit-Burst 66 integer Redback #define ATTRIBUTE_TUNNEL_POLICE_RATE 67 //ATTRIBUTE Tunnel-Police-Rate 67 integer Redback #define ATTRIBUTE_TUNNEL_POLICE_BURST 68 //ATTRIBUTE Tunnel-Police-Burst 68 integer Redback #define ATTRIBUTE_TUNNEL_L2F_SECOND_PASSWORD 69 //ATTRIBUTE Tunnel-L2F-Second-Password 69 string Redback #define ATTRIBUTE_ACCT_INPUT_OCTETS_64 128 //ATTRIBUTE Acct-Input-Octets-64 128 string Redback #define ATTRIBUTE_ACCT_OUTPUT_OCTETS_64 129 //ATTRIBUTE Acct-Output-Octets-64 129 string Redback #define ATTRIBUTE_ACCT_INPUT_PACKETS_64 130 //ATTRIBUTE Acct-Input-Packets-64 130 string Redback #define ATTRIBUTE_ACCT_OUTPUT_PACKETS_64 131 //ATTRIBUTE Acct-Output-Packets-64 131 string Redback #define ATTRIBUTE_ASSIGNED_IP_ADDRESS 132 //ATTRIBUTE Assigned-IP-Address 132 ipaddr Redback #define ATTRIBUTE_ACCT_MCAST_IN_OCTETS 133 //ATTRIBUTE Acct-Mcast-In-Octets 133 integer Redback #define ATTRIBUTE_ACCT_MCAST_OUT_OCTETS 134 //ATTRIBUTE Acct-Mcast-Out-Octets 134 integer Redback #define ATTRIBUTE_ACCT_MCAST_IN_PACKETS 135 //ATTRIBUTE Acct-Mcast-In-Packets 135 integer Redback #define ATTRIBUTE_ACCT_MCAST_OUT_PACKETS 136 //ATTRIBUTE Acct-Mcast-Out-Packets 136 integer Redback #define ATTRIBUTE_LAC_PORT 137 //ATTRIBUTE LAC-Port 137 integer Redback #define ATTRIBUTE_LAC_REAL_PORT 138 //ATTRIBUTE LAC-Real-Port 138 integer Redback #define ATTRIBUTE_LAC_PORT_TYPE 139 //ATTRIBUTE LAC-Port-Type 139 integer Redback #define ATTRIBUTE_LAC_REAL_PORT_TYPE 140 //ATTRIBUTE LAC-Real-Port-Type 140 integer Redback #define ATTRIBUTE_ACCT_DYN_AC_ENT 141 //ATTRIBUTE Acct-Dyn-Ac-Ent 141 string Redback #define ATTRIBUTE_SESSION_ERROR_CODE 142 //ATTRIBUTE Session-Error-Code 142 integer Redback #define ATTRIBUTE_SESSION_ERROR_MSG 143 //ATTRIBUTE Session-Error-Msg 143 string Redback #define ATTRIBUTE_JUNIPER_LOCAL_USER_NAME 1 //ATTRIBUTE Juniper-Local-User-Name 1 string Juniper #define ATTRIBUTE_JUNIPER_ALLOW_COMMANDS 2 //ATTRIBUTE Juniper-Allow-Commands 2 string Juniper #define ATTRIBUTE_JUNIPER_DENY_COMMANDS 3 //ATTRIBUTE Juniper-Deny-Commands 3 string Juniper #define ATTRIBUTE_JUNIPER_ALLOW_CONFIGURATION 4 //ATTRIBUTE Juniper-Allow-Configuration 4 string Juniper #define ATTRIBUTE_JUNIPER_DENY_CONFIGURATION 5 //ATTRIBUTE Juniper-Deny-Configuration 5 string Juniper #define ATTRIBUTE_CVX_IDENTIFICATION 1 //ATTRIBUTE CVX-Identification 1 string Aptis #define ATTRIBUTE_CVX_VPOP_ID 2 //ATTRIBUTE CVX-VPOP-ID 2 integer Aptis #define ATTRIBUTE_CVX_SS7_SESSION_ID_TYPE 3 //ATTRIBUTE CVX-SS7-Session-ID-Type 3 integer Aptis #define ATTRIBUTE_CVX_RADIUS_REDIRECT 4 //ATTRIBUTE CVX-Radius-Redirect 4 integer Aptis #define ATTRIBUTE_CVX_IPSVC_AZNLVL 5 //ATTRIBUTE CVX-IPSVC-AZNLVL 5 integer Aptis #define ATTRIBUTE_CVX_IPSVC_MASK 6 //ATTRIBUTE CVX-IPSVC-Mask 6 integer Aptis #define ATTRIBUTE_CVX_MULTILINK_MATCH_INFO 7 //ATTRIBUTE CVX-Multilink-Match-Info 7 integer Aptis #define ATTRIBUTE_CVX_MULTILINK_GROUP_NUMBER 8 //ATTRIBUTE CVX-Multilink-Group-Number 8 integer Aptis #define ATTRIBUTE_CVX_PPP_LOG_MASK 9 //ATTRIBUTE CVX-PPP-Log-Mask 9 integer Aptis #define ATTRIBUTE_CVX_MODEM_BEGIN_MODULATION 10 //ATTRIBUTE CVX-Modem-Begin-Modulation 10 string Aptis #define ATTRIBUTE_CVX_MODEM_END_MODULATION 11 //ATTRIBUTE CVX-Modem-End-Modulation 11 string Aptis #define ATTRIBUTE_CVX_MODEM_ERROR_CORRECTION 12 //ATTRIBUTE CVX-Modem-Error-Correction 12 string Aptis #define ATTRIBUTE_CVX_MODEM_DATA_COMPRESSION 13 //ATTRIBUTE CVX-Modem-Data-Compression 13 string Aptis #define ATTRIBUTE_CVX_MODEM_TX_PACKETS 14 //ATTRIBUTE CVX-Modem-Tx-Packets 14 integer Aptis #define ATTRIBUTE_CVX_MODEM_RETX_PACKETS 15 //ATTRIBUTE CVX-Modem-ReTx-Packets 15 integer Aptis #define ATTRIBUTE_CVX_MODEM_SNR 16 //ATTRIBUTE CVX-Modem-SNR 16 integer Aptis #define ATTRIBUTE_CVX_MODEM_LOCAL_RETRAINS 17 //ATTRIBUTE CVX-Modem-Local-Retrains 17 integer Aptis #define ATTRIBUTE_CVX_MODEM_REMOTE_RETRAINS 18 //ATTRIBUTE CVX-Modem-Remote-Retrains 18 integer Aptis #define ATTRIBUTE_CVX_MODEM_LOCAL_RATE_NEGS 19 //ATTRIBUTE CVX-Modem-Local-Rate-Negs 19 integer Aptis #define ATTRIBUTE_CVX_MODEM_REMOTE_RATE_NEGS 20 //ATTRIBUTE CVX-Modem-Remote-Rate-Negs 20 integer Aptis #define ATTRIBUTE_CVX_MODEM_BEGIN_RECV_LINE_LVL 21 //ATTRIBUTE CVX-Modem-Begin-Recv-Line-Lvl 21 integer Aptis #define ATTRIBUTE_CVX_MODEM_END_RECV_LINE_LVL 22 //ATTRIBUTE CVX-Modem-End-Recv-Line-Lvl 22 integer Aptis #define ATTRIBUTE_CVX_PRIMARY_DNS 135 //ATTRIBUTE CVX-Primary-DNS 135 ipaddr Aptis #define ATTRIBUTE_CVX_SECONDARY_DNS 136 //ATTRIBUTE CVX-Secondary-DNS 136 ipaddr Aptis #define ATTRIBUTE_CVX_CLIENT_ASSIGN_DNS 137 //ATTRIBUTE CVX-Client-Assign-DNS 137 integer Aptis #define ATTRIBUTE_CVX_MULTICAST_RATE_LIMIT 152 //ATTRIBUTE CVX-Multicast-Rate-Limit 152 integer Aptis #define ATTRIBUTE_CVX_MULTICAST_CLIENT 155 //ATTRIBUTE CVX-Multicast-Client 155 integer Aptis #define ATTRIBUTE_CVX_DISCONNECT_CAUSE 195 //ATTRIBUTE CVX-Disconnect-Cause 195 integer Aptis #define ATTRIBUTE_CVX_DATA_RATE 197 //ATTRIBUTE CVX-Data-Rate 197 integer Aptis #define ATTRIBUTE_CVX_PRESESSION_TIME 198 //ATTRIBUTE CVX-PreSession-Time 198 integer Aptis #define ATTRIBUTE_CVX_ASSIGN_IP_POOL 218 //ATTRIBUTE CVX-Assign-IP-Pool 218 integer Aptis #define ATTRIBUTE_CVX_MAXIMUM_CHANNELS 235 //ATTRIBUTE CVX-Maximum-Channels 235 integer Aptis #define ATTRIBUTE_CVX_DATA_FILTER 242 //ATTRIBUTE CVX-Data-Filter 242 string Aptis #define ATTRIBUTE_CVX_IDLE_LIMIT 244 //ATTRIBUTE CVX-Idle-Limit 244 integer Aptis #define ATTRIBUTE_CVX_PPP_ADDRESS 253 //ATTRIBUTE CVX-PPP-Address 253 ipaddr Aptis #define ATTRIBUTE_CVX_XMIT_RATE 255 //ATTRIBUTE CVX-Xmit-Rate 255 integer Aptis #define ATTRIBUTE_AAT_CLIENT_PRIMARY_DNS 5 //ATTRIBUTE AAT-Client-Primary-DNS 5 ipaddr Alcatel #define ATTRIBUTE_AAT_CLIENT_PRIMARY_WINS_NBNS 6 //ATTRIBUTE AAT-Client-Primary-WINS-NBNS 6 ipaddr Alcatel #define ATTRIBUTE_AAT_CLIENT_SECONDARY_WINS_NBNS 7 //ATTRIBUTE AAT-Client-Secondary-WINS-NBNS 7 ipaddr Alcatel #define ATTRIBUTE_AAT_CLIENT_SECONDARY_DNS 8 //ATTRIBUTE AAT-Client-Secondary-DNS 8 ipaddr Alcatel #define ATTRIBUTE_AAT_PPP_ADDRESS 9 //ATTRIBUTE AAT-PPP-Address 9 ipaddr Alcatel #define ATTRIBUTE_AAT_ATM_DIRECT 21 //ATTRIBUTE AAT-ATM-Direct 21 string Alcatel #define ATTRIBUTE_AAT_IP_TOS 22 //ATTRIBUTE AAT-IP-TOS 22 integer Alcatel #define ATTRIBUTE_AAT_IP_TOS_PRECEDENCE 23 //ATTRIBUTE AAT-IP-TOS-Precedence 23 integer Alcatel #define ATTRIBUTE_AAT_IP_TOS_APPLY_TO 24 //ATTRIBUTE AAT-IP-TOS-Apply-To 24 integer Alcatel #define ATTRIBUTE_AAT_MCAST_CLIENT 27 //ATTRIBUTE AAT-MCast-Client 27 integer Alcatel #define ATTRIBUTE_AAT_VROUTER_NAME 61 //ATTRIBUTE AAT-Vrouter-Name 61 string Alcatel #define ATTRIBUTE_AAT_REQUIRE_AUTH 62 //ATTRIBUTE AAT-Require-Auth 62 integer Alcatel #define ATTRIBUTE_AAT_IP_POOL_DEFINITION 63 //ATTRIBUTE AAT-IP-Pool-Definition 63 string Alcatel #define ATTRIBUTE_AAT_ASSIGN_IP_POOL 64 //ATTRIBUTE AAT-Assign-IP-Pool 64 integer Alcatel #define ATTRIBUTE_AAT_DATA_FILTER 65 //ATTRIBUTE AAT-Data-Filter 65 string Alcatel #define ATTRIBUTE_AAT_SOURCE_IP_CHECK 66 //ATTRIBUTE AAT-Source-IP-Check 66 integer Alcatel #define ATTRIBUTE_AAT_ATM_VPI 128 //ATTRIBUTE AAT-ATM-VPI 128 integer Alcatel #define ATTRIBUTE_AAT_ATM_VCI 129 //ATTRIBUTE AAT-ATM-VCI 129 integer Alcatel #define ATTRIBUTE_AAT_INPUT_OCTETS_DIFF 130 //ATTRIBUTE AAT-Input-Octets-Diff 130 integer Alcatel #define ATTRIBUTE_AAT_OUTPUT_OCTETS_DIFF 131 //ATTRIBUTE AAT-Output-Octets-Diff 131 integer Alcatel #define ATTRIBUTE_AAT_USER_MAC_ADDRESS 132 //ATTRIBUTE AAT-User-MAC-Address 132 string Alcatel #define ATTRIBUTE_AAT_ATM_TRAFFIC_PROFILE 133 //ATTRIBUTE AAT-ATM-Traffic-Profile 133 string Alcatel #define ATTRIBUTE_CVPN3000_ACCESS_HOURS 1 //ATTRIBUTE CVPN3000-Access-Hours 1 string Altiga #define ATTRIBUTE_CVPN3000_SIMULTANEOUS_LOGINS 2 //ATTRIBUTE CVPN3000-Simultaneous-Logins 2 integer Altiga #define ATTRIBUTE_ALTIGA_MIN_PASSWORD_LENGTH_G 3 //ATTRIBUTE Altiga-Min-Password-Length-G 3 integer Altiga #define ATTRIBUTE_ALTIGA_ALLOW_ALPHA_ONLY_PASSWORDS_G 4 //ATTRIBUTE Altiga-Allow-Alpha-Only-Passwords-G 4 integer Altiga #define ATTRIBUTE_ALTIGA_PRIMARY_DNS_G 5 //ATTRIBUTE Altiga-Primary-DNS-G 5 ipaddr Altiga #define ATTRIBUTE_ALTIGA_SECONDARY_DNS_G 6 //ATTRIBUTE Altiga-Secondary-DNS-G 6 ipaddr Altiga #define ATTRIBUTE_ALTIGA_PRIMARY_WINS_G 7 //ATTRIBUTE Altiga-Primary-WINS-G 7 ipaddr Altiga #define ATTRIBUTE_ALTIGA_SECONDARY_WINS_G 8 //ATTRIBUTE Altiga-Secondary-WINS-G 8 ipaddr Altiga #define ATTRIBUTE_CVPN3000_SECONDARY_WINS 9 //ATTRIBUTE CVPN3000-Secondary-WINS 9 ipaddr Altiga #define ATTRIBUTE_CVPN3000_TUNNELING_PROTOCOLS 11 //ATTRIBUTE CVPN3000-Tunneling-Protocols 11 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_SEC_ASSOCIATION 12 //ATTRIBUTE CVPN3000-IPSec-Sec-Association 12 string Altiga #define ATTRIBUTE_ALTIGA_IPSEC_AUTHENTICATION_G 13 //ATTRIBUTE Altiga-IPSec-Authentication-G 13 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_BANNER_G 15 //ATTRIBUTE Altiga-IPSec-Banner-G 15 string Altiga #define ATTRIBUTE_CVPN3000_IPSEC_ALLOW_PASSWD_STORE 16 //ATTRIBUTE CVPN3000-IPSec-Allow-Passwd-Store 16 integer Altiga #define ATTRIBUTE_CVPN3000_USE_CLIENT_ADDRESS 17 //ATTRIBUTE CVPN3000-Use-Client-Address 17 integer Altiga #define ATTRIBUTE_ALTIGA_PPTP_ENCRYPTION_G 20 //ATTRIBUTE Altiga-PPTP-Encryption-G 20 integer Altiga #define ATTRIBUTE_ALTIGA_L2TP_ENCRYPTION_G 21 //ATTRIBUTE Altiga-L2TP-Encryption-G 21 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_L2L_KEEPALIVES_G 25 //ATTRIBUTE Altiga-IPSec-L2L-Keepalives-G 25 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_SPLIT_TUNNEL_LIST_G 27 //ATTRIBUTE Altiga-IPSec-Split-Tunnel-List-G 27 string Altiga #define ATTRIBUTE_ALTIGA_IPSEC_DEFAULT_DOMAIN_G 28 //ATTRIBUTE Altiga-IPSec-Default-Domain-G 28 string Altiga #define ATTRIBUTE_ALTIGA_IPSEC_SECONDARY_DOMAINS_G 29 //ATTRIBUTE Altiga-IPSec-Secondary-Domains-G 29 string Altiga #define ATTRIBUTE_ALTIGA_IPSEC_TUNNEL_TYPE_G 30 //ATTRIBUTE Altiga-IPSec-Tunnel-Type-G 30 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_MODE_CONFIG_G 31 //ATTRIBUTE Altiga-IPSec-Mode-Config-G 31 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_USER_GROUP_LOCK_G 33 //ATTRIBUTE Altiga-IPSec-User-Group-Lock-G 33 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_OVER_NAT_G 34 //ATTRIBUTE Altiga-IPSec-Over-NAT-G 34 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_OVER_NAT_PORT_NUM_G 35 //ATTRIBUTE Altiga-IPSec-Over-NAT-Port-Num-G 35 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_BANNER2 36 //ATTRIBUTE CVPN3000-IPSec-Banner2 36 string Altiga #define ATTRIBUTE_CVPN3000_PPTP_MPPC_COMPRESSION 37 //ATTRIBUTE CVPN3000-PPTP-MPPC-Compression 37 integer Altiga #define ATTRIBUTE_CVPN3000_L2TP_MPPC_COMPRESSION 38 //ATTRIBUTE CVPN3000-L2TP-MPPC-Compression 38 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_IP_COMPRESSION 39 //ATTRIBUTE CVPN3000-IPSec-IP-Compression 39 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_IKE_PEER_ID_CHECK 40 //ATTRIBUTE CVPN3000-IPSec-IKE-Peer-ID-Check 40 integer Altiga #define ATTRIBUTE_CVPN3000_IKE_KEEP_ALIVES 41 //ATTRIBUTE CVPN3000-IKE-Keep-Alives 41 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_AUTH_ON_REKEY 42 //ATTRIBUTE CVPN3000-IPSec-Auth-On-Rekey 42 integer Altiga #define ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_VENDOR_CODE 45 //ATTRIBUTE CVPN3000-Reqrd-Client-Fw-Vendor-Code 45 integer Altiga #define ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_PRODUCT_CODE 46 //ATTRIBUTE CVPN3000-Reqrd-Client-Fw-Product-Code 46 integer Altiga #define ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_DESCRIPTION 47 //ATTRIBUTE CVPN3000-Reqrd-Client-Fw-Description 47 string Altiga #define ATTRIBUTE_CVPN3000_REQUIRE_HW_CLIENT_AUTH 48 //ATTRIBUTE CVPN3000-Require-HW-Client-Auth 48 integer Altiga #define ATTRIBUTE_CVPN3000_REQUIRE_INDIVIDUAL_USER_AUTH 49 //ATTRIBUTE CVPN3000-Require-Individual-User-Auth 49 integer Altiga #define ATTRIBUTE_CVPN3000_AUTHD_USER_IDLE_TIMEOUT 50 //ATTRIBUTE CVPN3000-Authd-User-Idle-Timeout 50 integer Altiga #define ATTRIBUTE_CVPN3000_CISCO_IP_PHONE_BYPASS 51 //ATTRIBUTE CVPN3000-Cisco-IP-Phone-Bypass 51 integer Altiga #define ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_NAME 52 //ATTRIBUTE CVPN3000-User-Auth-Server-Name 52 string Altiga #define ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_PORT 53 //ATTRIBUTE CVPN3000-User-Auth-Server-Port 53 integer Altiga #define ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_SECRET 54 //ATTRIBUTE CVPN3000-User-Auth-Server-Secret 54 string Altiga #define ATTRIBUTE_CVPN3000_IPSEC_SPLIT_TUNNELING_POLICY 55 //ATTRIBUTE CVPN3000-IPSec-Split-Tunneling-Policy 55 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_REQRD_CLIENT_FW_CAP 56 //ATTRIBUTE CVPN3000-IPSec-Reqrd-Client-Fw-Cap 56 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_CLIENT_FW_FILTER_NAME 57 //ATTRIBUTE CVPN3000-IPSec-Client-Fw-Filter-Name 57 string Altiga #define ATTRIBUTE_CVPN3000_IPSEC_CLIENT_FW_FILTER_OPT 58 //ATTRIBUTE CVPN3000-IPSec-Client-Fw-Filter-Opt 58 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_BACKUP_SERVERS 59 //ATTRIBUTE CVPN3000-IPSec-Backup-Servers 59 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_BACKUP_SERVER_LIST 60 //ATTRIBUTE CVPN3000-IPSec-Backup-Server-List 60 string Altiga #define ATTRIBUTE_CVPN3000_MS_CLIENT_ICPT_DHCP_CONF_MSG 62 //ATTRIBUTE CVPN3000-MS-Client-Icpt-DHCP-Conf-Msg 62 integer Altiga #define ATTRIBUTE_CVPN3000_MS_CLIENT_SUBNET_MASK 63 //ATTRIBUTE CVPN3000-MS-Client-Subnet-Mask 63 ipaddr Altiga #define ATTRIBUTE_CVPN3000_ALLOW_NETWORK_EXTENSION_MODE 64 //ATTRIBUTE CVPN3000-Allow-Network-Extension-Mode 64 integer Altiga #define ATTRIBUTE_CVPN3000_STRIP_REALM 135 //ATTRIBUTE CVPN3000-Strip-Realm 135 integer Altiga #define ATTRIBUTE_SHASTA_USER_PRIVILEGE 1 //ATTRIBUTE Shasta-User-Privilege 1 integer Shasta #define ATTRIBUTE_SHASTA_SERVICE_PROFILE 2 //ATTRIBUTE Shasta-Service-Profile 2 string Shasta #define ATTRIBUTE_SHASTA_VPN_NAME 3 //ATTRIBUTE Shasta-VPN-Name 3 string Shasta #define ATTRIBUTE_NS_ADMIN_PRIVILEGE 1 //ATTRIBUTE NS-Admin-Privilege 1 integer Netscreen #define ATTRIBUTE_NS_VSYS_NAME 2 //ATTRIBUTE NS-VSYS-Name 2 string Netscreen #define ATTRIBUTE_NS_USER_GROUP 3 //ATTRIBUTE NS-User-Group 3 string Netscreen #define ATTRIBUTE_NS_PRIMARY_DNS 4 //ATTRIBUTE NS-Primary-DNS 4 ipaddr Netscreen #define ATTRIBUTE_NS_SECONDARY_DNS 5 //ATTRIBUTE NS-Secondary-DNS 5 ipaddr Netscreen #define ATTRIBUTE_NS_PRIMARY_WINS 6 //ATTRIBUTE NS-Primary-WINS 6 ipaddr Netscreen #define ATTRIBUTE_NS_SECONDARY_WINS 7 //ATTRIBUTE NS-Secondary-WINS 7 ipaddr Netscreen #define ATTRIBUTE_NOMADIX_BW_UP 1 //ATTRIBUTE Nomadix-Bw-Up 1 integer Nomadix #define ATTRIBUTE_NOMADIX_BW_DOWN 2 //ATTRIBUTE Nomadix-Bw-Down 2 integer Nomadix #define ATTRIBUTE_NOMADIX_URL_REDIRECTION 3 //ATTRIBUTE Nomadix-URL-Redirection 3 string Nomadix #define ATTRIBUTE_NOMADIX_IP_UPSELL 4 //ATTRIBUTE Nomadix-IP-Upsell 4 integer Nomadix #define ATTRIBUTE_NOMADIX_EXPIRATION 5 //ATTRIBUTE Nomadix-Expiration 5 string Nomadix #define ATTRIBUTE_NOMADIX_SUBNET 6 //ATTRIBUTE Nomadix-Subnet 6 string Nomadix #define ATTRIBUTE_NOMADIX_MAXBYTESUP 7 //ATTRIBUTE Nomadix-MaxBytesUp 7 integer Nomadix #define ATTRIBUTE_NOMADIX_MAXBYTESDOWN 8 //ATTRIBUTE Nomadix-MaxBytesDown 8 integer Nomadix #define ATTRIBUTE_NOMADIX_ENDOFSESSION 9 //ATTRIBUTE Nomadix-EndofSession 9 integer Nomadix #define ATTRIBUTE_NOMADIX_LOGOFF_URL 10 //ATTRIBUTE Nomadix-Logoff-URL 10 string Nomadix #define ATTRIBUTE_ST_ACCT_VC_CONNECTION_ID 1 //ATTRIBUTE ST-Acct-VC-Connection-Id 1 string SpringTide #define ATTRIBUTE_ST_SERVICE_NAME 2 //ATTRIBUTE ST-Service-Name 2 string SpringTide #define ATTRIBUTE_ST_SERVICE_DOMAIN 3 //ATTRIBUTE ST-Service-Domain 3 integer SpringTide #define ATTRIBUTE_ST_POLICY_NAME 4 //ATTRIBUTE ST-Policy-Name 4 string SpringTide #define ATTRIBUTE_ST_PRIMARY_DNS_SERVER 5 //ATTRIBUTE ST-Primary-DNS-Server 5 ipaddr SpringTide #define ATTRIBUTE_ST_SECONDARY_DNS_SERVER 6 //ATTRIBUTE ST-Secondary-DNS-Server 6 ipaddr SpringTide #define ATTRIBUTE_ST_PRIMARY_NBNS_SERVER 7 //ATTRIBUTE ST-Primary-NBNS-Server 7 ipaddr SpringTide #define ATTRIBUTE_ST_SECONDARY_NBNS_SERVER 8 //ATTRIBUTE ST-Secondary-NBNS-Server 8 ipaddr SpringTide #define ATTRIBUTE_ERX_VIRTUAL_ROUTER_NAME 1 //ATTRIBUTE ERX-Virtual-Router-Name 1 string ERX #define ATTRIBUTE_ERX_ADDRESS_POOL_NAME 2 //ATTRIBUTE ERX-Address-Pool-Name 2 string ERX #define ATTRIBUTE_ERX_LOCAL_LOOPBACK_INTERFACE 3 //ATTRIBUTE ERX-Local-Loopback-Interface 3 string ERX #define ATTRIBUTE_ERX_PRIMARY_DNS 4 //ATTRIBUTE ERX-Primary-Dns 4 ipaddr ERX #define ATTRIBUTE_ERX_PRIMARY_WINS 5 //ATTRIBUTE ERX-Primary-Wins 5 ipaddr ERX #define ATTRIBUTE_ERX_SECONDARY_DNS 6 //ATTRIBUTE ERX-Secondary-Dns 6 ipaddr ERX #define ATTRIBUTE_ERX_SECONDARY_WINS 7 //ATTRIBUTE ERX-Secondary-Wins 7 ipaddr ERX #define ATTRIBUTE_ERX_TUNNEL_VIRTUAL_ROUTER 8 //ATTRIBUTE ERX-Tunnel-Virtual-Router 8 string ERX #define ATTRIBUTE_ERX_TUNNEL_PASSWORD 9 //ATTRIBUTE ERX-Tunnel-Password 9 string ERX #define ATTRIBUTE_ERX_INGRESS_POLICY_NAME 10 //ATTRIBUTE ERX-Ingress-Policy-Name 10 string ERX #define ATTRIBUTE_ERX_EGRESS_POLICY_NAME 11 //ATTRIBUTE ERX-Egress-Policy-Name 11 string ERX #define ATTRIBUTE_ERX_INGRESS_STATISTICS 12 //ATTRIBUTE ERX-Ingress-Statistics 12 string ERX #define ATTRIBUTE_ERX_EGRESS_STATISTICS 13 //ATTRIBUTE ERX-Egress-Statistics 13 string ERX #define ATTRIBUTE_ERX_ATM_SERVICE_CATEGORY 14 //ATTRIBUTE ERX-Atm-Service-Category 14 integer ERX #define ATTRIBUTE_ERX_ATM_PCR 15 //ATTRIBUTE ERX-Atm-PCR 15 integer ERX #define ATTRIBUTE_ERX_ATM_SCR 16 //ATTRIBUTE ERX-Atm-SCR 16 integer ERX #define ATTRIBUTE_ERX_ATM_MBS 17 //ATTRIBUTE ERX-Atm-MBS 17 integer ERX #define ATTRIBUTE_ERX_CLI_INITIAL_ACCESS_LEVEL 18 //ATTRIBUTE ERX-Cli-Initial-Access-Level 18 string ERX #define ATTRIBUTE_ERX_CLI_ALLOW_ALL_VR_ACCESS 19 //ATTRIBUTE ERX-Cli-Allow-All-VR-Access 19 integer ERX #define ATTRIBUTE_ERX_ALTERNATE_CLI_ACCESS_LEVEL 20 //ATTRIBUTE ERX-Alternate-Cli-Access-Level 20 string ERX #define ATTRIBUTE_ERX_ALTERNATE_CLI_VROUTER_NAME 21 //ATTRIBUTE ERX-Alternate-Cli-Vrouter-Name 21 string ERX #define ATTRIBUTE_ERX_SA_VALIDATE 22 //ATTRIBUTE ERX-Sa-Validate 22 integer ERX #define ATTRIBUTE_ERX_IGMP_ENABLE 23 //ATTRIBUTE ERX-Igmp-Enable 23 integer ERX #define ATTRIBUTE_ERX_PPPOE_DESCRIPTION 24 //ATTRIBUTE ERX-Pppoe-Description 24 string ERX #define ATTRIBUTE_ERX_REDIRECT_VR_NAME 25 //ATTRIBUTE ERX-Redirect-VR-Name 25 string ERX #define ATTRIBUTE_ERX_QOS_PROFILE_NAME 26 //ATTRIBUTE ERX-Qos-Profile-Name 26 string ERX #define ATTRIBUTE_ERX_PPPOE_MAX_SESSIONS 27 //ATTRIBUTE ERX-Pppoe-Max-Sessions 27 integer ERX #define ATTRIBUTE_ERX_PPPOE_URL 28 //ATTRIBUTE ERX-Pppoe-Url 28 string ERX #define ATTRIBUTE_ERX_QOS_PROFILE_INTERFACE_TYPE 29 //ATTRIBUTE ERX-Qos-Profile-Interface-Type 29 integer ERX #define ATTRIBUTE_ERX_TUNNEL_NAS_PORT_METHOD 30 //ATTRIBUTE ERX-Tunnel-Nas-Port-Method 30 integer ERX #define ATTRIBUTE_ERX_SERVICE_BUNDLE 31 //ATTRIBUTE ERX-Service-Bundle 31 string ERX #define ATTRIBUTE_ERX_TUNNEL_TOS 32 //ATTRIBUTE ERX-Tunnel-Tos 32 integer ERX #define ATTRIBUTE_ERX_TUNNEL_MAXIMUM_SESSIONS 33 //ATTRIBUTE ERX-Tunnel-Maximum-Sessions 33 integer ERX #define ATTRIBUTE_ERX_FRAMED_IP_ROUTE_TAG 34 //ATTRIBUTE ERX-Framed-Ip-Route-Tag 34 string ERX #define ATTRIBUTE_ERX_INPUT_GIGAPKTS 42 //ATTRIBUTE ERX-Input-Gigapkts 42 integer ERX #define ATTRIBUTE_ERX_OUTPUT_GIGAPKTS 43 //ATTRIBUTE ERX-Output-Gigapkts 43 integer ERX #define ATTRIBUTE_CBBSM_BANDWIDTH 1 //ATTRIBUTE CBBSM-Bandwidth 1 integer Cisco-BBSM #define ATTRIBUTE_QUINTUM_AVPAIR 1 //ATTRIBUTE Quintum-AVPair 1 string Quintum #define ATTRIBUTE_QUINTUM_NAS_PORT 2 //ATTRIBUTE Quintum-NAS-Port 2 string Quintum #define ATTRIBUTE_QUINTUM_H323_REMOTE_ADDRESS 23 //ATTRIBUTE Quintum-h323-remote-address 23 string Quintum #define ATTRIBUTE_QUINTUM_H323_CONF_ID 24 //ATTRIBUTE Quintum-h323-conf-id 24 string Quintum #define ATTRIBUTE_QUINTUM_H323_SETUP_TIME 25 //ATTRIBUTE Quintum-h323-setup-time 25 string Quintum #define ATTRIBUTE_QUINTUM_H323_CALL_ORIGIN 26 //ATTRIBUTE Quintum-h323-call-origin 26 string Quintum #define ATTRIBUTE_QUINTUM_H323_CALL_TYPE 27 //ATTRIBUTE Quintum-h323-call-type 27 string Quintum #define ATTRIBUTE_QUINTUM_H323_CONNECT_TIME 28 //ATTRIBUTE Quintum-h323-connect-time 28 string Quintum #define ATTRIBUTE_QUINTUM_H323_DISCONNECT_TIME 29 //ATTRIBUTE Quintum-h323-disconnect-time 29 string Quintum #define ATTRIBUTE_QUINTUM_H323_DISCONNECT_CAUSE 30 //ATTRIBUTE Quintum-h323-disconnect-cause 30 string Quintum #define ATTRIBUTE_QUINTUM_H323_VOICE_QUALITY 31 //ATTRIBUTE Quintum-h323-voice-quality 31 string Quintum #define ATTRIBUTE_QUINTUM_H323_GW_ID 33 //ATTRIBUTE Quintum-h323-gw-id 33 string Quintum #define ATTRIBUTE_QUINTUM_H323_INCOMING_CONF_ID 35 //ATTRIBUTE Quintum-h323-incoming-conf-id 35 string Quintum #define ATTRIBUTE_QUINTUM_H323_CREDIT_AMOUNT 101 //ATTRIBUTE Quintum-h323-credit-amount 101 string Quintum #define ATTRIBUTE_QUINTUM_H323_CREDIT_TIME 102 //ATTRIBUTE Quintum-h323-credit-time 102 string Quintum #define ATTRIBUTE_QUINTUM_H323_RETURN_CODE 103 //ATTRIBUTE Quintum-h323-return-code 103 string Quintum #define ATTRIBUTE_QUINTUM_H323_PROMPT_ID 104 //ATTRIBUTE Quintum-h323-prompt-id 104 string Quintum #define ATTRIBUTE_QUINTUM_H323_TIME_AND_DAY 105 //ATTRIBUTE Quintum-h323-time-and-day 105 string Quintum #define ATTRIBUTE_QUINTUM_H323_REDIRECT_NUMBER 106 //ATTRIBUTE Quintum-h323-redirect-number 106 string Quintum #define ATTRIBUTE_QUINTUM_H323_PREFERRED_LANG 107 //ATTRIBUTE Quintum-h323-preferred-lang 107 string Quintum #define ATTRIBUTE_QUINTUM_H323_REDIRECT_IP_ADDRESS 108 //ATTRIBUTE Quintum-h323-redirect-ip-address 108 string Quintum #define ATTRIBUTE_QUINTUM_H323_BILLING_MODEL 109 //ATTRIBUTE Quintum-h323-billing-model 109 string Quintum #define ATTRIBUTE_QUINTUM_H323_CURRENCY_TYPE 110 //ATTRIBUTE Quintum-h323-currency-type 110 string Quintum #define ATTRIBUTE_SS3_FIREWALL_USER_PRIVILEGE 1 //ATTRIBUTE SS3-Firewall-User-Privilege 1 integer 3com #define ATTRIBUTE_COLUBRIS_AVPAIR 0 //ATTRIBUTE Colubris-AVPair 0 string Colubris #define ATTRIBUTE_WISPR_LOCATION_ID 1 //ATTRIBUTE WISPr-Location-ID 1 string WISPr #define ATTRIBUTE_WISPR_LOCATION_NAME 2 //ATTRIBUTE WISPr-Location-Name 2 string WISPr #define ATTRIBUTE_WISPR_LOGOFF_URL 3 //ATTRIBUTE WISPr-Logoff-URL 3 string WISPr #define ATTRIBUTE_WISPR_REDIRECTION_URL 4 //ATTRIBUTE WISPr-Redirection-URL 4 string WISPr #define ATTRIBUTE_WISPR_BANDWIDTH_MIN_UP 5 //ATTRIBUTE WISPr-Bandwidth-Min-Up 5 integer WISPr #define ATTRIBUTE_WISPR_BANDWIDTH_MIN_DOWN 6 //ATTRIBUTE WISPr-Bandwidth-Min-Down 6 integer WISPr #define ATTRIBUTE_WISPR_BANDWIDTH_MAX_UP 7 //ATTRIBUTE WISPr-Bandwidth-Max-Up 7 integer WISPr #define ATTRIBUTE_WISPR_BANDWIDTH_MAX_DOWN 8 //ATTRIBUTE WISPr-Bandwidth-Max-Down 8 integer WISPr #define ATTRIBUTE_WISPR_SESSION_TERMINATE_TIME 9 //ATTRIBUTE WISPr-Session-Terminate-Time 9 string WISPr #define ATTRIBUTE_WISPR_SESSION_TERMINATE_END_OF_DAY 10 //ATTRIBUTE WISPr-Session-Terminate-End-Of-Day 10 string WISPr #define ATTRIBUTE_WISPR_BILLING_CLASS_OF_SERVICE 11 //ATTRIBUTE WISPr-Billing-Class-Of-Service 11 string WISPr // //VALUE AAT-IP-TOS IP-TOS-Normal 0 Alcatel //VALUE AAT-IP-TOS IP-TOS-Disabled 1 Alcatel //VALUE AAT-IP-TOS IP-TOS-Cost 2 Alcatel //VALUE AAT-IP-TOS IP-TOS-Reliability 4 Alcatel //VALUE AAT-IP-TOS IP-TOS-Throughput 8 Alcatel //VALUE AAT-IP-TOS IP-TOS-Latency 16 Alcatel //VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Incoming 1024 Alcatel //VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Outgoing 2048 Alcatel //VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Both 3072 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Normal 0 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-One 32 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Two 64 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Three 96 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Four 128 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Five 160 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Six 192 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Seven 224 Alcatel //VALUE AAT-MCast-Client Multicast-No 0 Alcatel //VALUE AAT-MCast-Client Multicast-Yes 1 Alcatel //VALUE AAT-Require-Auth Not-Require-Auth 0 Alcatel //VALUE AAT-Require-Auth Require-Auth 1 Alcatel //VALUE AAT-Source-IP-Check Source-IP-Check-No 0 Alcatel //VALUE AAT-Source-IP-Check Source-IP-Check-Yes 1 Alcatel //VALUE Acc-Access-Community PUBLIC 1 Acc //VALUE Acc-Access-Community NETMAN 2 Acc //VALUE Acc-Acct-On-Off-Reason NAS-Reset 0 Acc //VALUE Acc-Acct-On-Off-Reason NAS-Reload 1 Acc //VALUE Acc-Acct-On-Off-Reason Configuration-Reset 2 Acc //VALUE Acc-Acct-On-Off-Reason Configuration-Reload 3 Acc //VALUE Acc-Acct-On-Off-Reason Enabled 4 Acc //VALUE Acc-Acct-On-Off-Reason Disabled 5 Acc //VALUE Acc-Apsm-Oversubscribed False 1 Acc //VALUE Acc-Apsm-Oversubscribed True 2 Acc //VALUE Acc-Bridging-Support Disabled 1 Acc //VALUE Acc-Bridging-Support Enabled 2 Acc //VALUE Acc-Callback-CBCP-Type CBCP-None 1 Acc //VALUE Acc-Callback-CBCP-Type CBCP-User-Specified 2 Acc //VALUE Acc-Callback-CBCP-Type CBCP-Pre-Specified 3 Acc //VALUE Acc-Callback-Mode User-Auth 0 Acc //VALUE Acc-Callback-Mode User-Specified-E-164 3 Acc //VALUE Acc-Callback-Mode CBCP-Callback 6 Acc //VALUE Acc-Callback-Mode CLI-Callback 7 Acc //VALUE Acc-Ccp-Option Disabled 1 Acc //VALUE Acc-Ccp-Option Enabled 2 Acc //VALUE Acc-Clearing-Cause Cause-unspecified 0 Acc //VALUE Acc-Clearing-Cause Unassigned-number 1 Acc //VALUE Acc-Clearing-Cause No-route-to-transit-network 2 Acc //VALUE Acc-Clearing-Cause No-route-to-destination 3 Acc //VALUE Acc-Clearing-Cause Channel-unacceptable 6 Acc //VALUE Acc-Clearing-Cause Call-awarded-being-delivered 7 Acc //VALUE Acc-Clearing-Cause Normal-clearing 16 Acc //VALUE Acc-Clearing-Cause User-busy 17 Acc //VALUE Acc-Clearing-Cause No-user-responding 18 Acc //VALUE Acc-Clearing-Cause User-alerted-no-answer 19 Acc //VALUE Acc-Clearing-Cause Call-rejected 21 Acc //VALUE Acc-Clearing-Cause Number-changed 22 Acc //VALUE Acc-Clearing-Cause Non-selected-user-clearing 26 Acc //VALUE Acc-Clearing-Cause Destination-out-of-order 27 Acc //VALUE Acc-Clearing-Cause Invalid-or-incomplete-number 28 Acc //VALUE Acc-Clearing-Cause Facility-rejected 29 Acc //VALUE Acc-Clearing-Cause Response-to-status-inquiry 30 Acc //VALUE Acc-Clearing-Cause Normal-unspecified-cause 31 Acc //VALUE Acc-Clearing-Cause No-circuit-or-channel-available 34 Acc //VALUE Acc-Clearing-Cause Network-out-of-order 38 Acc //VALUE Acc-Clearing-Cause Temporary-failure 41 Acc //VALUE Acc-Clearing-Cause Switching-equipment-congestion 42 Acc //VALUE Acc-Clearing-Cause Access-information-discarded 43 Acc //VALUE Acc-Clearing-Cause Circuit-or-channel-unavailable 44 Acc //VALUE Acc-Clearing-Cause Circuit-or-channed-preempted 45 Acc //VALUE Acc-Clearing-Cause Resources-unavailable 47 Acc //VALUE Acc-Clearing-Cause Quality-of-service-unavailable 49 Acc //VALUE Acc-Clearing-Cause Facility-not-subscribed 50 Acc //VALUE Acc-Clearing-Cause Outgoing-calls-barred 52 Acc //VALUE Acc-Clearing-Cause Incoming-calls-barred 54 Acc //VALUE Acc-Clearing-Cause Bearer-capability-unauthorized 57 Acc //VALUE Acc-Clearing-Cause Bearer-capability-not-available 58 Acc //VALUE Acc-Clearing-Cause Service-not-available 63 Acc //VALUE Acc-Clearing-Cause Bearer-capablity-not-implmented 65 Acc //VALUE Acc-Clearing-Cause Channel-type-not-implemented 66 Acc //VALUE Acc-Clearing-Cause Facility-not-implemented 69 Acc //VALUE Acc-Clearing-Cause Restrcted-digtal-infrmtion-only 70 Acc //VALUE Acc-Clearing-Cause Service-not-implemented 79 Acc //VALUE Acc-Clearing-Cause Invalid-call-reference 81 Acc //VALUE Acc-Clearing-Cause Identified-channel-doesnt-exist 82 Acc //VALUE Acc-Clearing-Cause Call-identify-in-use 84 Acc //VALUE Acc-Clearing-Cause No-call-suspended 85 Acc //VALUE Acc-Clearing-Cause Suspended-call-cleared 86 Acc //VALUE Acc-Clearing-Cause Incompatible-destination 88 Acc //VALUE Acc-Clearing-Cause Invalid-transit-network-selctin 91 Acc //VALUE Acc-Clearing-Cause Invalid-message 95 Acc //VALUE Acc-Clearing-Cause Mandtory-infrmtion-elment-miss 96 Acc //VALUE Acc-Clearing-Cause Message-not-implemented 97 Acc //VALUE Acc-Clearing-Cause Inopportune-message 98 Acc //VALUE Acc-Clearing-Cause Infrmtion-elemnt-not-implmented 99 Acc //VALUE Acc-Clearing-Cause Invlid-infrmtion-element-contnt 100 Acc //VALUE Acc-Clearing-Cause Message-incompatible-with-state 101 Acc //VALUE Acc-Clearing-Cause Recovery-on-timer-expiration 102 Acc //VALUE Acc-Clearing-Cause Mndtry-infrmtion-elmnt-lngt-err 103 Acc //VALUE Acc-Clearing-Cause Protocol-error 111 Acc //VALUE Acc-Clearing-Cause Interworking 127 Acc //VALUE Acc-Clearing-Location Local-or-remote-user 0 Acc //VALUE Acc-Clearing-Location Prvte-ntwork-serving-local-user 1 Acc //VALUE Acc-Clearing-Location Pblic-ntwork-serving-local-user 2 Acc //VALUE Acc-Clearing-Location Transit-network 3 Acc //VALUE Acc-Clearing-Location Prvte-ntwork-serv-remote-user 4 Acc //VALUE Acc-Clearing-Location Pblic-ntwork-serv-remote-user 5 Acc //VALUE Acc-Clearing-Location International-network 6 Acc //VALUE Acc-Clearing-Location Beyond-interworking-point 10 Acc //VALUE Acc-Dialout-Auth-Mode PAP 1 Acc //VALUE Acc-Dialout-Auth-Mode CHAP 2 Acc //VALUE Acc-Dialout-Auth-Mode CHAP-PAP 3 Acc //VALUE Acc-Dialout-Auth-Mode NONE 4 Acc //VALUE Acc-Igmp-Admin-State Enabled 1 Acc //VALUE Acc-Igmp-Admin-State Disabled 2 Acc //VALUE Acc-Igmp-Version V1 1 Acc //VALUE Acc-Igmp-Version V2 2 Acc //VALUE Acc-Ip-Compression Disabled 1 Acc //VALUE Acc-Ip-Compression Enabled 2 Acc //VALUE Acc-Ipx-Compression Disabled 1 Acc //VALUE Acc-Ipx-Compression Enabled 2 Acc //VALUE Acc-ML-MLX-Admin-State Enabled 1 Acc //VALUE Acc-ML-MLX-Admin-State Disabled 2 Acc //VALUE Acc-Reason-Code No-reason-No-Failure 0 Acc //VALUE Acc-Reason-Code Resource-shortage 1 Acc //VALUE Acc-Reason-Code Session-already-open 2 Acc //VALUE Acc-Reason-Code Too-many-RADIUS-users 3 Acc //VALUE Acc-Reason-Code No-authentification-server 4 Acc //VALUE Acc-Reason-Code No-authentification-response 5 Acc //VALUE Acc-Reason-Code No-accounting-server 6 Acc //VALUE Acc-Reason-Code No-accounting-response 7 Acc //VALUE Acc-Reason-Code Access-Denied 8 Acc //VALUE Acc-Reason-Code Temporary-buffer-shortage 9 Acc //VALUE Acc-Reason-Code Protocol-error 10 Acc //VALUE Acc-Reason-Code Invalid-attribute 11 Acc //VALUE Acc-Reason-Code Invalid-service-type 12 Acc //VALUE Acc-Reason-Code Invalid-framed-protocol 13 Acc //VALUE Acc-Reason-Code Invalid-attribute-value 14 Acc //VALUE Acc-Reason-Code Invalid-user-information 15 Acc //VALUE Acc-Reason-Code Invalid-IP-address 16 Acc //VALUE Acc-Reason-Code Invalid-integer-syntax 17 Acc //VALUE Acc-Reason-Code Invalid-NAS-port 18 Acc //VALUE Acc-Reason-Code Requested-by-user 19 Acc //VALUE Acc-Reason-Code Network-disconnect 20 Acc //VALUE Acc-Reason-Code Service-interruption 21 Acc //VALUE Acc-Reason-Code Physical-port-error 22 Acc //VALUE Acc-Reason-Code Idle-timeout 23 Acc //VALUE Acc-Reason-Code Session-timeout 24 Acc //VALUE Acc-Reason-Code Administrative-reset 25 Acc //VALUE Acc-Reason-Code NAS-reload-or-reset 26 Acc //VALUE Acc-Reason-Code NAS-error 27 Acc //VALUE Acc-Reason-Code NAS-request 28 Acc //VALUE Acc-Reason-Code Undefined-reason-given 29 Acc //VALUE Acc-Reason-Code Conflicting-attributes 30 Acc //VALUE Acc-Reason-Code Port-limit-exceeded 31 Acc //VALUE Acc-Reason-Code Facility-not-available 32 Acc //VALUE Acc-Reason-Code Internal-config-error 33 Acc //VALUE Acc-Reason-Code Bad-route-specification 34 Acc //VALUE Acc-Reason-Code Access-Partition-bind-failure 35 Acc //VALUE Acc-Reason-Code Security-violation 36 Acc //VALUE Acc-Reason-Code Request-type-conflict 37 Acc //VALUE Acc-Reason-Code Configuration-disallowed 38 Acc //VALUE Acc-Reason-Code Missing-attribute 39 Acc //VALUE Acc-Reason-Code Invalid-request 40 Acc //VALUE Acc-Reason-Code Missing-parameter 41 Acc //VALUE Acc-Reason-Code Invalid-parameter 42 Acc //VALUE Acc-Reason-Code Call-cleared-with-cause 43 Acc //VALUE Acc-Reason-Code Inopportune-config-request 44 Acc //VALUE Acc-Reason-Code Invalid-config-parameter 45 Acc //VALUE Acc-Reason-Code Missing-config-parameter 46 Acc //VALUE Acc-Reason-Code Incompatible-service-profile 47 Acc //VALUE Acc-Reason-Code Administrative-reset 48 Acc //VALUE Acc-Reason-Code Administrative-reload 49 Acc //VALUE Acc-Reason-Code Port-unneeded 50 Acc //VALUE Acc-Reason-Code Port-preempted 51 Acc //VALUE Acc-Reason-Code Port-suspended 52 Acc //VALUE Acc-Reason-Code Service-unavailable 53 Acc //VALUE Acc-Reason-Code Callback 54 Acc //VALUE Acc-Reason-Code User-error 55 Acc //VALUE Acc-Reason-Code Host-request 56 Acc //VALUE Acc-Request-Type Ring-Indication 1 Acc //VALUE Acc-Request-Type Dial-Request 2 Acc //VALUE Acc-Request-Type User-Authentification 3 Acc //VALUE Acc-Request-Type Tunnel-Authentification 4 Acc //VALUE Acc-Route-Policy Funnel 1 Acc //VALUE Acc-Route-Policy Direct 2 Acc //VALUE Acc-Vpsm-Reject-Cause No-Access-Partition 1 Acc //VALUE Acc-Vpsm-Reject-Cause Access-Partition-Disabled 2 Acc //VALUE Acc-Vpsm-Reject-Cause Partition-Portlimit-Exceeded 3 Acc //VALUE Acc-Vpsm-Reject-Cause License-Portlimit-Exceeded 4 Acc //VALUE Acc-Vpsm-Reject-Cause Home-Server-Down 5 Acc //VALUE Acc-Vpsm-Reject-Cause Rejected-By-Home-Server 6 Acc //VALUE Acc-Vpsm-Reject-Cause NAS-Administratively-Disabled 7 Acc //VALUE Acct-Authentic None 0 //VALUE Acct-Authentic RADIUS 1 //VALUE Acct-Authentic Local 2 //VALUE Acct-Authentic Remote 3 //VALUE Acct-Authentic Diameter 4 //VALUE Acct-Status-Type Annex-User-Reject 0 //VALUE Acct-Status-Type Start 1 //VALUE Acct-Status-Type Stop 2 //VALUE Acct-Status-Type Alive 3 //VALUE Acct-Status-Type Modem-Start 4 //VALUE Acct-Status-Type Modem-Stop 5 //VALUE Acct-Status-Type Cancel 6 //VALUE Acct-Status-Type Accounting-On 7 //VALUE Acct-Status-Type Accounting-Off 8 //VALUE Acct-Status-Type Tunnel-Start 9 //VALUE Acct-Status-Type Tunnel-Stop 10 //VALUE Acct-Status-Type Tunnel-Reject 11 //VALUE Acct-Status-Type Tunnel-Link-Start 12 //VALUE Acct-Status-Type Tunnel-Link-Stop 13 //VALUE Acct-Status-Type Tunnel-Link-Reject 14 //VALUE Acct-Status-Type Failed 15 //VALUE Acct-Terminate-Cause User-Request 1 //VALUE Acct-Terminate-Cause Lost-Carrier 2 //VALUE Acct-Terminate-Cause Lost-Service 3 //VALUE Acct-Terminate-Cause Idle-Timeout 4 //VALUE Acct-Terminate-Cause Session-Timeout 5 //VALUE Acct-Terminate-Cause Admin-Reset 6 //VALUE Acct-Terminate-Cause Admin-Reboot 7 //VALUE Acct-Terminate-Cause Port-Error 8 //VALUE Acct-Terminate-Cause NAS-Error 9 //VALUE Acct-Terminate-Cause NAS-Request 10 //VALUE Acct-Terminate-Cause NAS-Reboot 11 //VALUE Acct-Terminate-Cause Port-Unneeded 12 //VALUE Acct-Terminate-Cause Port-Preempted 13 //VALUE Acct-Terminate-Cause Port-Suspended 14 //VALUE Acct-Terminate-Cause Service-Unavailable 15 //VALUE Acct-Terminate-Cause Callback 16 //VALUE Acct-Terminate-Cause User-Error 17 //VALUE Acct-Terminate-Cause Host-Request 18 //VALUE Acct-Terminate-Cause Supplicant-Restart 19 //VALUE Acct-Terminate-Cause Reauth-Failure 20 //VALUE Acct-Terminate-Cause Port-Reinit 21 //VALUE Acct-Terminate-Cause Port-Disabled 22 //VALUE Alteon-Service-Type Alteon-L4admin 250 Alteon //VALUE Alteon-Service-Type Alteon-Slbadmin 251 Alteon //VALUE Alteon-Service-Type Alteon-Oper 252 Alteon //VALUE Alteon-Service-Type Alteon-L4oper 253 Alteon //VALUE Alteon-Service-Type Alteon-Slboper 254 Alteon //VALUE Alteon-Service-Type Alteon-User 255 Alteon //VALUE Altiga-Allow-Alpha-Only-Passwords-G Disallow 0 Altiga //VALUE Altiga-Allow-Alpha-Only-Passwords-G Allow 1 Altiga //VALUE Altiga-IPSec-Authentication-G None 0 Altiga //VALUE Altiga-IPSec-Authentication-G RADIUS 1 Altiga //VALUE Altiga-IPSec-Authentication-G LDAP 2 Altiga //VALUE Altiga-IPSec-Authentication-G NTDomain 3 Altiga //VALUE Altiga-IPSec-Authentication-G SDI 4 Altiga //VALUE Altiga-IPSec-Authentication-G Internal 5 Altiga //VALUE Altiga-IPSec-L2L-Keepalives-G OFF 0 Altiga //VALUE Altiga-IPSec-L2L-Keepalives-G ON 1 Altiga //VALUE Altiga-IPSec-Mode-Config-G OFF 0 Altiga //VALUE Altiga-IPSec-Mode-Config-G ON 1 Altiga //VALUE Altiga-IPSec-Over-NAT-G OFF 0 Altiga //VALUE Altiga-IPSec-Over-NAT-G ON 1 Altiga //VALUE Altiga-IPSec-Tunnel-Type-G LAN-to-LAN 1 Altiga //VALUE Altiga-IPSec-Tunnel-Type-G Remote-Access 2 Altiga //VALUE Altiga-IPSec-User-Group-Lock-G OFF 0 Altiga //VALUE Altiga-IPSec-User-Group-Lock-G ON 1 Altiga //VALUE Altiga-L2TP-Encryption-G 40bit 2 Altiga //VALUE Altiga-L2TP-Encryption-G 40-Encryption-Req 3 Altiga //VALUE Altiga-L2TP-Encryption-G 128 4 Altiga //VALUE Altiga-L2TP-Encryption-G 128-Encryption-Req 5 Altiga //VALUE Altiga-L2TP-Encryption-G 40-or-128 6 Altiga //VALUE Altiga-L2TP-Encryption-G 40-or-128-Encry-Req 7 Altiga //VALUE Altiga-L2TP-Encryption-G 40-Stateless-Req 10 Altiga //VALUE Altiga-L2TP-Encryption-G 128-Stateless-Req 12 Altiga //VALUE Altiga-PPTP-Encryption-G 40bit 2 Altiga //VALUE Altiga-PPTP-Encryption-G 40-Encryption-Req 3 Altiga //VALUE Altiga-PPTP-Encryption-G 128 4 Altiga //VALUE Altiga-PPTP-Encryption-G 128-Encryption-Req 5 Altiga //VALUE Altiga-PPTP-Encryption-G 40-or-128 6 Altiga //VALUE Altiga-PPTP-Encryption-G 40-or-128-Encry-Req 7 Altiga //VALUE Altiga-PPTP-Encryption-G 40-Stateless-Req 10 Altiga //VALUE Altiga-PPTP-Encryption-G 128-Stateless-Req 12 Altiga //VALUE Annex-Addr-Resolution-Protocol none 0 Bay-Networks //VALUE Annex-Addr-Resolution-Protocol DHCP 1 Bay-Networks //VALUE Annex-Audit-Level Manager 2 Bay-Networks //VALUE Annex-Audit-Level User 4 Bay-Networks //VALUE Annex-Audit-Level Operator 8 Bay-Networks //VALUE Annex-Modem-Disc-Reason Unknown 0 Bay-Networks //VALUE Annex-Modem-Disc-Reason Local-disconnect 1 Bay-Networks //VALUE Annex-Modem-Disc-Reason CD-Timer-Expired 2 Bay-Networks //VALUE Annex-Modem-Disc-Reason Remote-protocol-disc 4 Bay-Networks //VALUE Annex-Modem-Disc-Reason Clear-down 5 Bay-Networks //VALUE Annex-Modem-Disc-Reason Long-Space-disconnect 6 Bay-Networks //VALUE Annex-Modem-Disc-Reason Carrier-Lost 7 Bay-Networks //VALUE Annex-Modem-Disc-Reason Modem-Retrain-Timeout 8 Bay-Networks //VALUE Annex-System-Disc-Reason Unknown 0 Bay-Networks //VALUE Annex-System-Disc-Reason Line-disconnected 1 Bay-Networks //VALUE Annex-System-Disc-Reason Dial-failed 2 Bay-Networks //VALUE Annex-System-Disc-Reason WAN-manager-error 3 Bay-Networks //VALUE Annex-System-Disc-Reason Disconnect-reset 4 Bay-Networks //VALUE Annex-System-Disc-Reason Error-from-adm_notify 5 Bay-Networks //VALUE Annex-System-Disc-Reason Modem-down-adm_notify 6 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-protocol-disconnect 7 Bay-Networks //VALUE Annex-System-Disc-Reason Inactivity-timer 8 Bay-Networks //VALUE Annex-System-Disc-Reason CLI-Hangup-command 9 Bay-Networks //VALUE Annex-System-Disc-Reason CLI-last-job 10 Bay-Networks //VALUE Annex-System-Disc-Reason Session-timeout 11 Bay-Networks //VALUE Annex-System-Disc-Reason Slave-termination 12 Bay-Networks //VALUE Annex-System-Disc-Reason Abnormal-termination 13 Bay-Networks //VALUE Annex-System-Disc-Reason DCD-wait-failed 14 Bay-Networks //VALUE Annex-System-Disc-Reason CLI-inactivity 15 Bay-Networks //VALUE Annex-System-Disc-Reason Admin-port-reset 16 Bay-Networks //VALUE Annex-System-Disc-Reason CLI-auth-failed 17 Bay-Networks //VALUE Annex-System-Disc-Reason Slave-auth-failed 18 Bay-Networks //VALUE Annex-System-Disc-Reason PAP-auth-failed 19 Bay-Networks //VALUE Annex-System-Disc-Reason CHAP-auth-failed 20 Bay-Networks //VALUE Annex-System-Disc-Reason Local-modem-reset 21 Bay-Networks //VALUE Annex-System-Disc-Reason Modem-dead 22 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-LCP-failure 23 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-IPCP-failure 24 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-IPXCP-failure 25 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-ATCP-failure 26 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-CCP-failure 27 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-MP-failure 28 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-IPCP-timeout 29 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-IPXCP-timeout 30 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-ATCP-timeout 31 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-CCP-timeout 32 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-MP-timeout 33 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-init-failure 34 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Unknown 35 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Dialback-failed 36 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Address-In-Use 37 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-No-device 38 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Modem-hangup-rcvd 39 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Hangup-rcvd 40 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Termination-rcvd 41 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Kill-rcvd 42 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Time-rcvd 43 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-No-memory 44 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Connection-Abort 45 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-VPN-LCP-failure 46 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-VPN-Auth-failure 47 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-MP-invalid-port 48 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Invalid-device 49 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-MMP-bundle-failure 50 Bay-Networks //VALUE Annex-System-Disc-Reason DVS-Registration-failure 51 Bay-Networks //VALUE Annex-System-Disc-Reason DVS-Home-agent-dereg 52 Bay-Networks //VALUE Annex-System-Disc-Reason DVS-Tunnel-no-renew 53 Bay-Networks //VALUE Annex-System-Disc-Reason DVS-Tunnel-expired 54 Bay-Networks //VALUE Annex-Tunnel-Authen-Mode none 0 Bay-Networks //VALUE Annex-Tunnel-Authen-Mode prefix-suffix 1 Bay-Networks //VALUE Annex-Tunnel-Authen-Type none 0 Bay-Networks //VALUE Annex-Tunnel-Authen-Type kmd5-128 1 Bay-Networks //VALUE Annex-User-Level Manager 2 Bay-Networks //VALUE Annex-User-Level User 4 Bay-Networks //VALUE Annex-User-Level Operator 8 Bay-Networks //VALUE Annex-User-Server-Location local 1 Bay-Networks //VALUE Annex-User-Server-Location remote 2 Bay-Networks //VALUE ARAP-Zone-Access Default-Zone 1 //VALUE ARAP-Zone-Access Inclusive-Filter 2 //VALUE ARAP-Zone-Access Exclusive-Filter 3 //VALUE Ascend-Appletalk-Peer-Mode Appletalk-Peer-Router 0 Ascend //VALUE Ascend-Appletalk-Peer-Mode Appletalk-Peer-Dialin 1 Ascend //VALUE Ascend-ATM-Direct ATM-Direct-No 0 Ascend //VALUE Ascend-ATM-Direct ATM-Direct-Yes 1 Ascend //VALUE Ascend-ATM-Fault-Management VC-No-Loopback 0 Ascend //VALUE Ascend-ATM-Fault-Management VC-Segment-Loopback 1 Ascend //VALUE Ascend-ATM-Fault-Management VC-End-To-End-Loopback 2 Ascend //VALUE Ascend-Auth-Type Auth-None 0 Ascend //VALUE Ascend-Auth-Type Auth-Default 1 Ascend //VALUE Ascend-Auth-Type Auth-Any 2 Ascend //VALUE Ascend-Auth-Type Auth-PAP 3 Ascend //VALUE Ascend-Auth-Type Auth-CHAP 4 Ascend //VALUE Ascend-Auth-Type Auth-MS-CHAP 5 Ascend //VALUE Ascend-BACP-Enable BACP-No 0 //VALUE Ascend-BACP-Enable BACP-No 0 Ascend //VALUE Ascend-BACP-Enable BACP-Yes 1 Ascend //VALUE Ascend-BACP-Enable BACP-Yes 1 //VALUE Ascend-Bi-Directional-Auth Bi-Directional-Auth-None 0 Ascend //VALUE Ascend-Bi-Directional-Auth Bi-Directional-Auth-Allowed 1 Ascend //VALUE Ascend-Bi-Directional-Auth Bi-Directional-Auth-Required 2 Ascend //VALUE Ascend-BIR-Enable BIR-Enable-No 0 Ascend //VALUE Ascend-BIR-Enable BIR-Enable-Yes 1 Ascend //VALUE Ascend-BIR-Proxy BIR-Proxy-No 0 Ascend //VALUE Ascend-BIR-Proxy BIR-Proxy-Yes 1 Ascend //VALUE Ascend-Bridge Bridge-No 0 Ascend //VALUE Ascend-Bridge Bridge-No 0 //VALUE Ascend-Bridge Bridge-Yes 1 //VALUE Ascend-Bridge Bridge-Yes 1 Ascend //VALUE Ascend-Bridge-Non-PPPoE Bridge-Non-PPPoE-No 0 Ascend //VALUE Ascend-Bridge-Non-PPPoE Bridge-Non-PPPoE-Yes 1 Ascend //VALUE Ascend-Cache-Refresh Refresh-No 0 Ascend //VALUE Ascend-Cache-Refresh Refresh-Yes 1 Ascend //VALUE Ascend-Call-Direction Ascend-Call-Direction-Incoming 0 Ascend //VALUE Ascend-Call-Direction Ascend-Call-Direction-Outgoing 1 Ascend //VALUE Ascend-Call-Type Switched 0 Ascend //VALUE Ascend-Call-Type Nailed 1 Ascend //VALUE Ascend-Call-Type MegaMax 7 Ascend //VALUE Ascend-Callback Callback-No 0 Ascend //VALUE Ascend-Callback Callback-No 0 //VALUE Ascend-Callback Callback-Yes 1 //VALUE Ascend-Callback Callback-Yes 1 Ascend //VALUE Ascend-Calling-Id-Number-Plan Unknown 0 Ascend //VALUE Ascend-Calling-Id-Number-Plan ISDN-Telephony 1 Ascend //VALUE Ascend-Calling-Id-Number-Plan Data 3 Ascend //VALUE Ascend-Calling-Id-Number-Plan Telex 4 Ascend //VALUE Ascend-Calling-Id-Number-Plan National 8 Ascend //VALUE Ascend-Calling-Id-Number-Plan Private 9 Ascend //VALUE Ascend-Calling-Id-Presentatn Allowed 0 Ascend //VALUE Ascend-Calling-Id-Presentatn Restricted 1 Ascend //VALUE Ascend-Calling-Id-Presentatn Number-Not-Available 2 Ascend //VALUE Ascend-Calling-Id-Screening User-Not-Screened 0 Ascend //VALUE Ascend-Calling-Id-Screening User-Provided-Passed 1 Ascend //VALUE Ascend-Calling-Id-Screening User-Provided-Failed 2 Ascend //VALUE Ascend-Calling-Id-Screening Network-Provided 3 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num Unknown 0 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num International-Number 1 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num National-Number 2 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num Network-Specific 3 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num Subscriber-Number 4 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num Abbreviated-Number 6 Ascend //VALUE Ascend-CBCP-Enable CBCP-Not-Enabled 0 Ascend //VALUE Ascend-CBCP-Enable CBCP-Enabled 1 Ascend //VALUE Ascend-CBCP-Mode CBCP-No-Callback 1 Ascend //VALUE Ascend-CBCP-Mode CBCP-User-Callback 2 Ascend //VALUE Ascend-CBCP-Mode CBCP-Profile-Callback 3 Ascend //VALUE Ascend-CBCP-Mode CBCP-Any-Or-No 7 Ascend //VALUE Ascend-CBCP-Mode CBCP-Off 8 Ascend //VALUE Ascend-Ckt-Type Ascend-PVC 0 Ascend //VALUE Ascend-Ckt-Type Ascend-SVC 1 Ascend //VALUE Ascend-Client-Assign-DNS DNS-Assign-No 0 Ascend //VALUE Ascend-Client-Assign-DNS DNS-Assign-Yes 1 Ascend //VALUE Ascend-Client-Assign-WINS WINS-Assign-No 0 Ascend //VALUE Ascend-Client-Assign-WINS WINS-Assign-Yes 1 Ascend //VALUE Ascend-Connect-Progress No-Progress 0 Ascend //VALUE Ascend-Connect-Progress Call-Up 10 Ascend //VALUE Ascend-Connect-Progress Modem-Up 30 Ascend //VALUE Ascend-Connect-Progress Modem-Awaiting-DCD 31 Ascend //VALUE Ascend-Connect-Progress Modem-Awaiting-Codes 32 Ascend //VALUE Ascend-Connect-Progress TermSrv-Started 40 Ascend //VALUE Ascend-Connect-Progress TermSrv-Raw-TCP-Started 41 Ascend //VALUE Ascend-Connect-Progress TermSrv-Telnet-Started 42 Ascend //VALUE Ascend-Connect-Progress TermSrv-Raw-TCP-Connected 43 Ascend //VALUE Ascend-Connect-Progress TermSrv-Telnet-Connected 44 Ascend //VALUE Ascend-Connect-Progress TermSrv-Rlogin-Started 45 Ascend //VALUE Ascend-Connect-Progress TermSrv-Rlogin-Connected 46 Ascend //VALUE Ascend-Connect-Progress Modem-Outdial-Call-Up 50 Ascend //VALUE Ascend-Connect-Progress LAN-Session-Up 60 Ascend //VALUE Ascend-Connect-Progress LCP-Opening 61 Ascend //VALUE Ascend-Connect-Progress CCP-Opening 62 Ascend //VALUE Ascend-Connect-Progress IPNCP-Opening 63 Ascend //VALUE Ascend-Connect-Progress BNCP-Opening 64 Ascend //VALUE Ascend-Connect-Progress LCP-Opened 65 Ascend //VALUE Ascend-Connect-Progress CCP-Opened 66 Ascend //VALUE Ascend-Connect-Progress IPNCP-Opened 67 Ascend //VALUE Ascend-Connect-Progress BNCP-Opened 68 Ascend //VALUE Ascend-Connect-Progress LCP-State-Initial 69 Ascend //VALUE Ascend-Connect-Progress LCP-State-Starting 70 Ascend //VALUE Ascend-Connect-Progress LCP-State-Closed 71 Ascend //VALUE Ascend-Connect-Progress LCP-State-Stopped 72 Ascend //VALUE Ascend-Connect-Progress LCP-State-Closing 73 Ascend //VALUE Ascend-Connect-Progress LCP-State-Stopping 74 Ascend //VALUE Ascend-Connect-Progress LCP-State-Request-Sent 75 Ascend //VALUE Ascend-Connect-Progress LCP-State-Ack-Received 76 Ascend //VALUE Ascend-Connect-Progress LCP-State-Ack-Sent 77 Ascend //VALUE Ascend-Connect-Progress IPXNCP-Opened 80 Ascend //VALUE Ascend-Connect-Progress ATNCP-Opened 81 Ascend //VALUE Ascend-Connect-Progress BACP-Opening 82 Ascend //VALUE Ascend-Connect-Progress BACP-Opened 83 Ascend //VALUE Ascend-Connect-Progress V110-Up 90 Ascend //VALUE Ascend-Connect-Progress V110-State-Opened 91 Ascend //VALUE Ascend-Connect-Progress V110-State-Carrier 92 Ascend //VALUE Ascend-Connect-Progress V110-State-Reset 93 Ascend //VALUE Ascend-Connect-Progress V110-State-Closed 94 Ascend //VALUE Ascend-Data-Svc Switched-Voice-Bearer 0 //VALUE Ascend-Data-Svc Switched-Voice-Bearer 0 Ascend //VALUE Ascend-Data-Svc Switched-56KR 1 Ascend //VALUE Ascend-Data-Svc Switched-56KR 1 //VALUE Ascend-Data-Svc Switched-64K 2 //VALUE Ascend-Data-Svc Switched-64K 2 Ascend //VALUE Ascend-Data-Svc Switched-64KR 3 Ascend //VALUE Ascend-Data-Svc Switched-64KR 3 //VALUE Ascend-Data-Svc Switched-56K 4 //VALUE Ascend-Data-Svc Switched-56K 4 Ascend //VALUE Ascend-Data-Svc Switched-384KR 5 Ascend //VALUE Ascend-Data-Svc Switched-384KR 5 //VALUE Ascend-Data-Svc Switched-384K 6 //VALUE Ascend-Data-Svc Switched-384K 6 Ascend //VALUE Ascend-Data-Svc Switched-1536K 7 Ascend //VALUE Ascend-Data-Svc Switched-1536K 7 //VALUE Ascend-Data-Svc Switched-1536KR 8 //VALUE Ascend-Data-Svc Switched-1536KR 8 Ascend //VALUE Ascend-Data-Svc Switched-128K 9 Ascend //VALUE Ascend-Data-Svc Switched-128K 9 //VALUE Ascend-Data-Svc Switched-192K 10 //VALUE Ascend-Data-Svc Switched-192K 10 Ascend //VALUE Ascend-Data-Svc Switched-256K 11 Ascend //VALUE Ascend-Data-Svc Switched-256K 11 //VALUE Ascend-Data-Svc Switched-320K 12 //VALUE Ascend-Data-Svc Switched-320K 12 Ascend //VALUE Ascend-Data-Svc Switched-384K-MR 13 Ascend //VALUE Ascend-Data-Svc Switched-384K-MR 13 //VALUE Ascend-Data-Svc Switched-448K 14 //VALUE Ascend-Data-Svc Switched-448K 14 Ascend //VALUE Ascend-Data-Svc Switched-512K 15 Ascend //VALUE Ascend-Data-Svc Switched-512K 15 //VALUE Ascend-Data-Svc Switched-576K 16 //VALUE Ascend-Data-Svc Switched-576K 16 Ascend //VALUE Ascend-Data-Svc Switched-640K 17 Ascend //VALUE Ascend-Data-Svc Switched-640K 17 //VALUE Ascend-Data-Svc Switched-704K 18 //VALUE Ascend-Data-Svc Switched-704K 18 Ascend //VALUE Ascend-Data-Svc Switched-768K 19 Ascend //VALUE Ascend-Data-Svc Switched-768K 19 //VALUE Ascend-Data-Svc Switched-832K 20 //VALUE Ascend-Data-Svc Switched-832K 20 Ascend //VALUE Ascend-Data-Svc Switched-896K 21 Ascend //VALUE Ascend-Data-Svc Switched-896K 21 //VALUE Ascend-Data-Svc Switched-960K 22 //VALUE Ascend-Data-Svc Switched-960K 22 Ascend //VALUE Ascend-Data-Svc Switched-1024K 23 Ascend //VALUE Ascend-Data-Svc Switched-1024K 23 //VALUE Ascend-Data-Svc Switched-1088K 24 //VALUE Ascend-Data-Svc Switched-1088K 24 Ascend //VALUE Ascend-Data-Svc Switched-1152K 25 Ascend //VALUE Ascend-Data-Svc Switched-1152K 25 //VALUE Ascend-Data-Svc Switched-1216K 26 //VALUE Ascend-Data-Svc Switched-1216K 26 Ascend //VALUE Ascend-Data-Svc Switched-1280K 27 Ascend //VALUE Ascend-Data-Svc Switched-1280K 27 //VALUE Ascend-Data-Svc Switched-1344K 28 //VALUE Ascend-Data-Svc Switched-1344K 28 Ascend //VALUE Ascend-Data-Svc Switched-1408K 29 Ascend //VALUE Ascend-Data-Svc Switched-1408K 29 //VALUE Ascend-Data-Svc Switched-1472K 30 //VALUE Ascend-Data-Svc Switched-1472K 30 Ascend //VALUE Ascend-Data-Svc Switched-1600K 31 Ascend //VALUE Ascend-Data-Svc Switched-1600K 31 //VALUE Ascend-Data-Svc Switched-1664K 32 //VALUE Ascend-Data-Svc Switched-1664K 32 Ascend //VALUE Ascend-Data-Svc Switched-1728K 33 Ascend //VALUE Ascend-Data-Svc Switched-1728K 33 //VALUE Ascend-Data-Svc Switched-1792K 34 //VALUE Ascend-Data-Svc Switched-1792K 34 Ascend //VALUE Ascend-Data-Svc Switched-1856K 35 Ascend //VALUE Ascend-Data-Svc Switched-1856K 35 //VALUE Ascend-Data-Svc Switched-1920K 36 //VALUE Ascend-Data-Svc Switched-1920K 36 Ascend //VALUE Ascend-Data-Svc Switched-inherited 37 Ascend //VALUE Ascend-Data-Svc Switched-restricted-bearer-x30 38 Ascend //VALUE Ascend-Data-Svc Switched-clear-bearer-v110 39 Ascend //VALUE Ascend-Data-Svc Switched-restricted-64-x30 40 Ascend //VALUE Ascend-Data-Svc Switched-clear-56-v110 41 Ascend //VALUE Ascend-Data-Svc Switched-modem 42 Ascend //VALUE Ascend-Data-Svc Switched-atmodem 43 Ascend //VALUE Ascend-Data-Svc Switched-V110-24-56 45 Ascend //VALUE Ascend-Data-Svc Switched-V110-48-56 46 Ascend //VALUE Ascend-Data-Svc Switched-V110-96-56 47 Ascend //VALUE Ascend-Data-Svc Switched-V110-192-56 48 Ascend //VALUE Ascend-Data-Svc Switched-V110-384-56 49 Ascend //VALUE Ascend-Data-Svc Switched-V110-24-56R 50 Ascend //VALUE Ascend-Data-Svc Switched-V110-48-56R 51 Ascend //VALUE Ascend-Data-Svc Switched-V110-96-56R 52 Ascend //VALUE Ascend-Data-Svc Switched-V110-192-56R 53 Ascend //VALUE Ascend-Data-Svc Switched-V110-384-56R 54 Ascend //VALUE Ascend-Data-Svc Switched-V110-24-64 55 Ascend //VALUE Ascend-Data-Svc Switched-V110-48-64 56 Ascend //VALUE Ascend-Data-Svc Switched-V110-96-64 57 Ascend //VALUE Ascend-Data-Svc Switched-V110-192-64 58 Ascend //VALUE Ascend-Data-Svc Switched-V110-384-64 59 Ascend //VALUE Ascend-Data-Svc Switched-V110-24-64R 60 Ascend //VALUE Ascend-Data-Svc Switched-V110-48-64R 61 Ascend //VALUE Ascend-Data-Svc Switched-V110-96-64R 62 Ascend //VALUE Ascend-Data-Svc Switched-V110-192-64R 63 Ascend //VALUE Ascend-Data-Svc Switched-V110-384-64R 64 Ascend //VALUE Ascend-Data-Svc Switched-Pots 68 Ascend //VALUE Ascend-Data-Svc Switched-ATM 69 Ascend //VALUE Ascend-Data-Svc Switched-FR 70 Ascend //VALUE Ascend-DBA-Monitor DBA-Transmit 0 Ascend //VALUE Ascend-DBA-Monitor DBA-Transmit-Recv 1 Ascend //VALUE Ascend-DBA-Monitor DBA-None 2 Ascend //VALUE Ascend-DHCP-Reply DHCP-Reply-No 0 Ascend //VALUE Ascend-DHCP-Reply DHCP-Reply-Yes 1 Ascend //VALUE Ascend-Dialout-Allowed Dialout-Not-Allowed 0 Ascend //VALUE Ascend-Dialout-Allowed Dialout-Allowed 1 Ascend //VALUE Ascend-Disconnect-Cause No-Reason 0 Ascend //VALUE Ascend-Disconnect-Cause Not-Applicable 1 Ascend //VALUE Ascend-Disconnect-Cause Unknown 2 Ascend //VALUE Ascend-Disconnect-Cause Call-Disconnected 3 Ascend //VALUE Ascend-Disconnect-Cause CLID-Authentication-Failed 4 Ascend //VALUE Ascend-Disconnect-Cause CLID-RADIUS-Timeout 5 Ascend //VALUE Ascend-Disconnect-Cause Modem-No-DCD 10 Ascend //VALUE Ascend-Disconnect-Cause DCD-Detected-Then-Inactive 11 Ascend //VALUE Ascend-Disconnect-Cause Modem-Invalid-Result-Codes 12 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-User-Quit 20 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Idle-Timeout 21 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Exit-Telnet 22 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-No-IPaddr 23 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Exit-Raw-TCP 24 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Exit-Login-Failed 25 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Exit-Raw-TCP-Disabled 26 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-CTRL-C-In-Login 27 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Destroyed 28 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-User-Closed-VCon 29 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-VCon-Destroyed 30 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Exit-Rlogin 31 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Bad-Rlogin-Option 32 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Not-Enough-Resources 33 Ascend //VALUE Ascend-Disconnect-Cause MPP-No-NULL-Msg-Timeout 35 Ascend //VALUE Ascend-Disconnect-Cause PPP-LCP-Timeout 40 Ascend //VALUE Ascend-Disconnect-Cause PPP-LCP-Negotion-Failed 41 Ascend //VALUE Ascend-Disconnect-Cause PPP-PAP-Auth-Failed 42 Ascend //VALUE Ascend-Disconnect-Cause PPP-CHAP-Auth-Failed 43 Ascend //VALUE Ascend-Disconnect-Cause PPP-Rmt-Auth-Failed 44 Ascend //VALUE Ascend-Disconnect-Cause PPP-Rcv-Terminate-Req 45 Ascend //VALUE Ascend-Disconnect-Cause PPP-Rcv-Close-Event 46 Ascend //VALUE Ascend-Disconnect-Cause PPP-No-NCPs-Open 47 Ascend //VALUE Ascend-Disconnect-Cause PPP-MP-Bundle-Unknown 48 Ascend //VALUE Ascend-Disconnect-Cause PPP-LCP-Close-MP-Add-Fail 49 Ascend //VALUE Ascend-Disconnect-Cause Session-Table-Full 50 Ascend //VALUE Ascend-Disconnect-Cause Out-Of-Resources 51 Ascend //VALUE Ascend-Disconnect-Cause Invalid-IP-Address 52 Ascend //VALUE Ascend-Disconnect-Cause Hostname-Resolution-Failed 53 Ascend //VALUE Ascend-Disconnect-Cause Bad-Or-Missing-Port-Number 54 Ascend //VALUE Ascend-Disconnect-Cause Host-Reset 60 Ascend //VALUE Ascend-Disconnect-Cause Connection-Refused 61 Ascend //VALUE Ascend-Disconnect-Cause Connection-Timeout 62 Ascend //VALUE Ascend-Disconnect-Cause Connection-Closed 63 Ascend //VALUE Ascend-Disconnect-Cause Network-Unreachable 64 Ascend //VALUE Ascend-Disconnect-Cause Host-Unreachable 65 Ascend //VALUE Ascend-Disconnect-Cause Network-Unreachable-Admin 66 Ascend //VALUE Ascend-Disconnect-Cause Host-Unreachable-Admin 67 Ascend //VALUE Ascend-Disconnect-Cause Port-Unreachable 68 Ascend //VALUE Ascend-Disconnect-Cause Session-Timeout 100 Ascend //VALUE Ascend-Disconnect-Cause Invalid-Incoming-User 101 Ascend //VALUE Ascend-Disconnect-Cause Disconnect-Due-To-Callback 102 Ascend //VALUE Ascend-Disconnect-Cause Proto-Disabled-Or-Unsupported 120 Ascend //VALUE Ascend-Disconnect-Cause Disconnect-Req-By-RADIUS 150 Ascend //VALUE Ascend-Disconnect-Cause Disconnect-Req-By-Local-Admin 151 Ascend //VALUE Ascend-Disconnect-Cause V110-Timeout-Sync-Retry-Exceed 160 Ascend //VALUE Ascend-Disconnect-Cause PPP-Auth-Timeout-Exceeded 170 Ascend //VALUE Ascend-Disconnect-Cause User-Executed-Do-Hangup 180 Ascend //VALUE Ascend-Disconnect-Cause Remote-End-Hung-Up 185 Ascend //VALUE Ascend-Disconnect-Cause Resource-Has-Been-Quiesced 190 Ascend //VALUE Ascend-Disconnect-Cause Max-Call-Duration-Reached 195 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-7168000 0 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-6272000 1 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-5120000 2 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-4480000 3 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-3200000 4 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-2688000 5 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-2560000 6 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-2240000 7 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-1920000 8 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-1600000 9 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-1280000 10 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-960000 11 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-640000 12 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-auto 100 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-9504000 101 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-8960000 102 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-8000000 103 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-7168000 104 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-6272000 105 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-5120000 106 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-4480000 107 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-3200000 108 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-2688000 109 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-2560000 110 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-2240000 111 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-1920000 112 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-1600000 113 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-1280000 114 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-960000 115 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-768000 116 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-640000 117 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-512000 118 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-384000 119 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-256000 120 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-128000 121 Ascend //VALUE Ascend-Dsl-Rate-Mode Rate-Mode-AutoBaud 1 Ascend //VALUE Ascend-Dsl-Rate-Mode Rate-Mode-Single 2 Ascend //VALUE Ascend-Dsl-Rate-Type Rate-Type-Disabled 0 Ascend //VALUE Ascend-Dsl-Rate-Type Rate-Type-Sdsl 1 Ascend //VALUE Ascend-Dsl-Rate-Type Rate-Type-AdslCap 2 Ascend //VALUE Ascend-Dsl-Rate-Type Rate-Type-AdslDmtCell 3 Ascend //VALUE Ascend-Dsl-Rate-Type Rate-Type-AdslDmt 4 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-144000 0 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-272000 1 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-400000 2 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-528000 3 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-784000 4 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-1168000 5 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-1552000 6 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-2320000 7 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-1088000 50 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-952000 51 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-816000 52 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-680000 53 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-544000 54 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-408000 55 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-272000 56 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-auto 150 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-1088000 151 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-928000 152 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-896000 153 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-800000 154 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-768000 155 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-640000 156 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-512000 157 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-384000 158 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-256000 159 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-128000 160 Ascend //VALUE Ascend-Event-Type Ascend-ColdStart 1 Ascend //VALUE Ascend-Event-Type Ascend-Session-Event 2 Ascend //VALUE Ascend-Expect-Callback Expect-Callback-No 0 Ascend //VALUE Ascend-Expect-Callback Expect-Callback-Yes 1 Ascend //VALUE Ascend-Filter-Required Required-No 0 Ascend //VALUE Ascend-Filter-Required Required-Yes 1 Ascend //VALUE Ascend-Force-56 Force-56-No 0 //VALUE Ascend-Force-56 Force-56-No 0 Ascend //VALUE Ascend-Force-56 Force-56-Yes 1 Ascend //VALUE Ascend-Force-56 Force-56-Yes 1 //VALUE Ascend-FR-Direct FR-Direct-No 0 //VALUE Ascend-FR-Direct FR-Direct-No 0 Ascend //VALUE Ascend-FR-Direct FR-Direct-Yes 1 Ascend //VALUE Ascend-FR-Direct FR-Direct-Yes 1 //VALUE Ascend-FR-Link-Mgt Ascend-FR-No-Link-Mgt 0 Ascend //VALUE Ascend-FR-Link-Mgt Ascend-FR-T1-617D 1 Ascend //VALUE Ascend-FR-Link-Mgt Ascend-FR-Q-933A 2 Ascend //VALUE Ascend-FR-LinkUp Ascend-LinkUp-Default 0 Ascend //VALUE Ascend-FR-LinkUp Ascend-LinkUp-AlwaysUp 1 Ascend //VALUE Ascend-FR-Type Ascend-FR-DTE 0 Ascend //VALUE Ascend-FR-Type Ascend-FR-DCE 1 Ascend //VALUE Ascend-FR-Type Ascend-FR-NNI 2 Ascend //VALUE Ascend-FT1-Caller FT1-No 0 Ascend //VALUE Ascend-FT1-Caller FT1-Yes 1 Ascend //VALUE Ascend-Handle-IPX Handle-IPX-None 0 //VALUE Ascend-Handle-IPX Handle-IPX-None 0 Ascend //VALUE Ascend-Handle-IPX Handle-IPX-Client 1 Ascend //VALUE Ascend-Handle-IPX Handle-IPX-Client 1 //VALUE Ascend-Handle-IPX Handle-IPX-Server 2 //VALUE Ascend-Handle-IPX Handle-IPX-Server 2 Ascend //VALUE Ascend-History-Weigh-Type History-Constant 0 //VALUE Ascend-History-Weigh-Type History-Constant 0 Ascend //VALUE Ascend-History-Weigh-Type History-Linear 1 Ascend //VALUE Ascend-History-Weigh-Type History-Linear 1 //VALUE Ascend-History-Weigh-Type History-Quadratic 2 //VALUE Ascend-History-Weigh-Type History-Quadratic 2 Ascend //VALUE Ascend-IP-Pool-Chaining IP-Pool-Chaining-No 0 Ascend //VALUE Ascend-IP-Pool-Chaining IP-Pool-Chaining-Yes 1 Ascend //VALUE Ascend-IP-TOS IP-TOS-Normal 0 Ascend //VALUE Ascend-IP-TOS IP-TOS-Disabled 1 Ascend //VALUE Ascend-IP-TOS IP-TOS-Cost 2 Ascend //VALUE Ascend-IP-TOS IP-TOS-Reliability 4 Ascend //VALUE Ascend-IP-TOS IP-TOS-Throughput 8 Ascend //VALUE Ascend-IP-TOS IP-TOS-Latency 16 Ascend //VALUE Ascend-IP-TOS-Apply-To IP-TOS-Apply-To-Incoming 1024 Ascend //VALUE Ascend-IP-TOS-Apply-To IP-TOS-Apply-To-Outgoing 2048 Ascend //VALUE Ascend-IP-TOS-Apply-To IP-TOS-Apply-To-Both 3072 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Normal 0 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-One 32 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Two 64 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Three 96 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Four 128 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Five 160 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Six 192 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Seven 224 Ascend //VALUE Ascend-IPX-Header-Compression IPX-Header-Compression-No 0 Ascend //VALUE Ascend-IPX-Header-Compression IPX-Header-Compression-Yes 1 Ascend //VALUE Ascend-IPX-Peer-Mode IPX-Peer-Router 0 //VALUE Ascend-IPX-Peer-Mode IPX-Peer-Router 0 Ascend //VALUE Ascend-IPX-Peer-Mode IPX-Peer-Dialin 1 Ascend //VALUE Ascend-IPX-Peer-Mode IPX-Peer-Dialin 1 //VALUE Ascend-Link-Compression Link-Comp-None 0 //VALUE Ascend-Link-Compression Link-Comp-None 0 Ascend //VALUE Ascend-Link-Compression Link-Comp-Stac 1 Ascend //VALUE Ascend-Link-Compression Link-Comp-Stac 1 //VALUE Ascend-Link-Compression Link-Comp-Stac-Draft-9 2 Ascend //VALUE Ascend-Link-Compression Link-Comp-MS-Stac 3 Ascend //VALUE Ascend-Multicast-Client Multicast-No 0 Ascend //VALUE Ascend-Multicast-Client Multicast-Yes 1 Ascend //VALUE Ascend-NAS-Port-Format Unknown 0 Ascend //VALUE Ascend-NAS-Port-Format 2_4_6_4 1 Ascend //VALUE Ascend-NAS-Port-Format 2_4_5_5 2 Ascend //VALUE Ascend-NAS-Port-Format 1_2_2 3 Ascend //VALUE Ascend-Numbering-Plan-ID Unknown-Numbering-Plan 0 Ascend //VALUE Ascend-Numbering-Plan-ID ISDN-Numbering-Plan 1 Ascend //VALUE Ascend-Numbering-Plan-ID Private-Numbering-Plan 9 Ascend //VALUE Ascend-Port-Redir-Protocol Ascend-Proto-TCP 6 Ascend //VALUE Ascend-Port-Redir-Protocol Ascend-Proto-UDP 17 Ascend //VALUE Ascend-PPP-VJ-1172 PPP-VJ-1172 1 //VALUE Ascend-PPP-VJ-1172 PPP-VJ-1172 1 Ascend //VALUE Ascend-PPP-VJ-Slot-Comp VJ-Slot-Comp-No 1 //VALUE Ascend-PPP-VJ-Slot-Comp VJ-Slot-Comp-No 1 Ascend //VALUE Ascend-PPPoE-Enable PPPoE-No 0 Ascend //VALUE Ascend-PPPoE-Enable PPPoE-Yes 1 Ascend //VALUE Ascend-PRI-Number-Type Unknown-Number 0 //VALUE Ascend-PRI-Number-Type Unknown-Number 0 Ascend //VALUE Ascend-PRI-Number-Type Intl-Number 1 Ascend //VALUE Ascend-PRI-Number-Type Intl-Number 1 //VALUE Ascend-PRI-Number-Type National-Number 2 //VALUE Ascend-PRI-Number-Type National-Number 2 Ascend //VALUE Ascend-PRI-Number-Type Net-Specific-Number 3 Ascend //VALUE Ascend-PRI-Number-Type Local-Number 4 Ascend //VALUE Ascend-PRI-Number-Type Local-Number 4 //VALUE Ascend-PRI-Number-Type Abbrev-Number 5 //VALUE Ascend-PRI-Number-Type Abbrev-Number 5 Ascend //VALUE Ascend-PRI-Number-Type Abbrev-Number 6 Ascend //VALUE Ascend-Private-Route-Required Required-No 0 Ascend //VALUE Ascend-Private-Route-Required Required-Yes 1 Ascend //VALUE Ascend-PW-Lifetime Lifetime-In-Days 0 //VALUE Ascend-PW-Lifetime Lifetime-In-Days 0 Ascend //VALUE Ascend-PW-Warntime Days-Of-Warning 0 //VALUE Ascend-PW-Warntime Days-Of-Warning 0 Ascend //VALUE Ascend-Require-Auth Not-Require-Auth 0 Ascend //VALUE Ascend-Require-Auth Not-Require-Auth 0 //VALUE Ascend-Require-Auth Require-Auth 1 //VALUE Ascend-Require-Auth Require-Auth 1 Ascend //VALUE Ascend-Route-Appletalk Route-Appletalk-No 0 Ascend //VALUE Ascend-Route-Appletalk Route-Appletalk-Yes 1 Ascend //VALUE Ascend-Route-IP Route-IP-No 0 //VALUE Ascend-Route-IP Route-IP-No 0 Ascend //VALUE Ascend-Route-IP Route-IP-Yes 1 Ascend //VALUE Ascend-Route-IP Route-IP-Yes 1 //VALUE Ascend-Route-IPX Route-IPX-No 0 //VALUE Ascend-Route-IPX Route-IPX-No 0 Ascend //VALUE Ascend-Route-IPX Route-IPX-Yes 1 Ascend //VALUE Ascend-Route-IPX Route-IPX-Yes 1 //VALUE Ascend-Send-Auth Send-Auth-None 0 //VALUE Ascend-Send-Auth Send-Auth-None 0 Ascend //VALUE Ascend-Send-Auth Send-Auth-PAP 1 Ascend //VALUE Ascend-Send-Auth Send-Auth-PAP 1 //VALUE Ascend-Send-Auth Send-Auth-CHAP 2 //VALUE Ascend-Send-Auth Send-Auth-CHAP 2 Ascend //VALUE Ascend-Send-Auth Send-Auth-MS-CHAP 3 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-NotUsed 0 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-None 1 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-Other 2 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-PPP 3 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-Slip 4 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-MPP 5 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-X25 6 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-Combinet 7 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-FR 8 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-EuRaw 9 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-EuUi 10 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-Telnet 11 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-TelnetBin 12 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-RawTcp 13 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-TermServer 14 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-MP 15 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-VirtualConn 16 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-X25DChan 17 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-PseuTunPPP 18 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-IpFax 19 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-ATM 20 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-HdlcNrm 21 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-VoIp 22 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-Visa2 23 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-NetToNet 25 Ascend //VALUE Ascend-Session-Type Ascend-Session-Unused 0 Ascend //VALUE Ascend-Session-Type Ascend-Session-Unknown 1 Ascend //VALUE Ascend-Session-Type Ascend-Session-G711-Ulaw 2 Ascend //VALUE Ascend-Session-Type Ascend-Session-G711-Alaw 3 Ascend //VALUE Ascend-Session-Type Ascend-Session-G723 4 Ascend //VALUE Ascend-Session-Type Ascend-Session-G729 5 Ascend //VALUE Ascend-Session-Type Ascend-Session-G723-64KPS 6 Ascend //VALUE Ascend-Session-Type Ascend-Session-G728 7 Ascend //VALUE Ascend-Session-Type Ascend-Session-RT24 8 Ascend //VALUE Ascend-Shared-Profile-Enable Shared-Profile-No 0 //VALUE Ascend-Shared-Profile-Enable Shared-Profile-No 0 Ascend //VALUE Ascend-Shared-Profile-Enable Shared-Profile-Yes 1 Ascend //VALUE Ascend-Shared-Profile-Enable Shared-Profile-Yes 1 //VALUE Ascend-Source-IP-Check Source-IP-Check-No 0 Ascend //VALUE Ascend-Source-IP-Check Source-IP-Check-Yes 1 Ascend //VALUE Ascend-SVC-Enabled Ascend-SVC-Enabled-No 0 Ascend //VALUE Ascend-SVC-Enabled Ascend-SVC-Enabled-Yes 1 Ascend //VALUE Ascend-Temporary-Rtes Temp-Rtes-No 0 Ascend //VALUE Ascend-Temporary-Rtes Temp-Rtes-Yes 1 Ascend //VALUE Ascend-Token-Immediate Tok-Imm-No 0 Ascend //VALUE Ascend-Token-Immediate Tok-Imm-No 0 //VALUE Ascend-Token-Immediate Tok-Imm-Yes 1 //VALUE Ascend-Token-Immediate Tok-Imm-Yes 1 Ascend //VALUE Ascend-TS-Idle-Mode TS-Idle-None 0 Ascend //VALUE Ascend-TS-Idle-Mode TS-Idle-Input 1 Ascend //VALUE Ascend-TS-Idle-Mode TS-Idle-Input-Output 2 Ascend //VALUE Ascend-Tunneling-Protocol ATMP-Tunnel 0 Ascend //VALUE Ascend-Tunneling-Protocol VTP-Tunnel 1 Ascend //VALUE Ascend-User-Acct-Base Base-10 0 Ascend //VALUE Ascend-User-Acct-Base Base-16 1 Ascend //VALUE Ascend-User-Acct-Type Ascend-User-Acct-None 0 Ascend //VALUE Ascend-User-Acct-Type Ascend-User-Acct-User 1 Ascend //VALUE Ascend-User-Acct-Type Ascend-User-Acct-User-Default 2 Ascend //VALUE Ascend-X25-Pad-X3-Profile CRT 0 Ascend //VALUE Ascend-X25-Pad-X3-Profile INFONET 1 Ascend //VALUE Ascend-X25-Pad-X3-Profile DEFAULT 2 Ascend //VALUE Ascend-X25-Pad-X3-Profile SCEN 3 Ascend //VALUE Ascend-X25-Pad-X3-Profile CC_SSP 4 Ascend //VALUE Ascend-X25-Pad-X3-Profile CC_TSP 5 Ascend //VALUE Ascend-X25-Pad-X3-Profile HARDCOPY 6 Ascend //VALUE Ascend-X25-Pad-X3-Profile HDX 7 Ascend //VALUE Ascend-X25-Pad-X3-Profile SHARK 8 Ascend //VALUE Ascend-X25-Pad-X3-Profile POS 9 Ascend //VALUE Ascend-X25-Pad-X3-Profile NULL 10 Ascend //VALUE Ascend-X25-Pad-X3-Profile CUSTOM 11 Ascend //VALUE Ascend-X25-Reverse-Charging Reverse-Charging-No 0 Ascend //VALUE Ascend-X25-Reverse-Charging Reverse-Charging-Yes 1 Ascend //VALUE Bind-Auth-Protocol AAA-PPP-PAP 1 Redback //VALUE Bind-Auth-Protocol AAA-PPP-CHAP 2 Redback //VALUE Bind-Auth-Protocol AAA-PPP-CHAP-WAIT 3 Redback //VALUE Bind-Auth-Protocol AAA-PPP-CHAP-PAP 4 Redback //VALUE Bind-Auth-Protocol AAA-PPP-CHAP-WAIT-PAP 5 Redback //VALUE Bind-Type AAA-AUTH-BIND 1 Redback //VALUE Bind-Type AAA-BYPASS-BIND 2 Redback //VALUE Bind-Type AAA-INTERFACE-BIND 3 Redback //VALUE Bind-Type AAA-SUBSCRIBE-BIND 4 Redback //VALUE Bind-Type AAA-TUNNEL-BIND 5 Redback //VALUE Bind-Type AAA-SESSION-BIND 6 Redback //VALUE Bind-Type AAA-Q8021-BIND 7 Redback //VALUE Bind-Type AAA-MULTI-BIND 8 Redback //VALUE Cabletron-Protocol-Callable IP-Callable 1 Cabletron //VALUE Cabletron-Protocol-Callable Bridge-Callable 2 Cabletron //VALUE Cabletron-Protocol-Callable IP-BR-Callable 3 Cabletron //VALUE Cabletron-Protocol-Callable BR-IPX-Callable 6 Cabletron //VALUE Cabletron-Protocol-Callable IP-BR-IPX-Callable 7 Cabletron //VALUE Cabletron-Protocol-Enable IP-Enable 1 Cabletron //VALUE Cabletron-Protocol-Enable Bridge-Enable 2 Cabletron //VALUE Cabletron-Protocol-Enable IP-BR-Enable 3 Cabletron //VALUE Cabletron-Protocol-Enable BR-IPX-Enable 6 Cabletron //VALUE Cabletron-Protocol-Enable IP-BR-IPX-Enable 7 Cabletron //VALUE Cisco-Disconnect-Cause Unknown 2 Cisco //VALUE Cisco-Disconnect-Cause CLID-Authentication-Failure 4 Cisco //VALUE Cisco-Disconnect-Cause No-Carrier 10 Cisco //VALUE Cisco-Disconnect-Cause Lost-Carrier 11 Cisco //VALUE Cisco-Disconnect-Cause No-Detected-Result-Codes 12 Cisco //VALUE Cisco-Disconnect-Cause User-Ends-Session 20 Cisco //VALUE Cisco-Disconnect-Cause Idle-Timeout 21 Cisco //VALUE Cisco-Disconnect-Cause Exit-Telnet-Session 22 Cisco //VALUE Cisco-Disconnect-Cause No-Remote-IP-Addr 23 Cisco //VALUE Cisco-Disconnect-Cause Exit-Raw-TCP 24 Cisco //VALUE Cisco-Disconnect-Cause Password-Fail 25 Cisco //VALUE Cisco-Disconnect-Cause Raw-TCP-Disabled 26 Cisco //VALUE Cisco-Disconnect-Cause Control-C-Detected 27 Cisco //VALUE Cisco-Disconnect-Cause EXEC-Program-Destroyed 28 Cisco //VALUE Cisco-Disconnect-Cause Timeout-PPP-LCP 40 Cisco //VALUE Cisco-Disconnect-Cause Failed-PPP-LCP-Negotiation 41 Cisco //VALUE Cisco-Disconnect-Cause Failed-PPP-PAP-Auth-Fail 42 Cisco //VALUE Cisco-Disconnect-Cause Failed-PPP-CHAP-Auth 43 Cisco //VALUE Cisco-Disconnect-Cause Failed-PPP-Remote-Auth 44 Cisco //VALUE Cisco-Disconnect-Cause PPP-Remote-Terminate 45 Cisco //VALUE Cisco-Disconnect-Cause PPP-Closed-Event 46 Cisco //VALUE Cisco-Disconnect-Cause Session-Timeout 100 Cisco //VALUE Cisco-Disconnect-Cause Session-Failed-Security 101 Cisco //VALUE Cisco-Disconnect-Cause Session-End-Callback 102 Cisco //VALUE Cisco-Disconnect-Cause Invalid-Protocol 120 Cisco //VALUE ERX-Atm-Service-Category UBR 1 ERX //VALUE ERX-Atm-Service-Category UBRPCR 2 ERX //VALUE ERX-Atm-Service-Category nrtVBR 3 ERX //VALUE ERX-Atm-Service-Category CBR 4 ERX //VALUE ERX-Egress-Statistics disable 0 ERX //VALUE ERX-Egress-Statistics enable 1 ERX //VALUE ERX-Igmp-Enable disable 0 ERX //VALUE ERX-Igmp-Enable enable 1 ERX //VALUE ERX-Ingress-Statistics disable 0 ERX //VALUE ERX-Ingress-Statistics enable 1 ERX //VALUE ERX-Qos-Profile-Interface-Type IP 1 ERX //VALUE ERX-Qos-Profile-Interface-Type ATM 2 ERX //VALUE ERX-Qos-Profile-Interface-Type HDLC 3 ERX //VALUE ERX-Qos-Profile-Interface-Type ETHERNET 4 ERX //VALUE ERX-Qos-Profile-Interface-Type SERVER-PORT 5 ERX //VALUE ERX-Qos-Profile-Interface-Type ATM-1483 6 ERX //VALUE ERX-Qos-Profile-Interface-Type FRAME-RELAY 7 ERX //VALUE ERX-Qos-Profile-Interface-Type MPLS-MINOR 8 ERX //VALUE ERX-Qos-Profile-Interface-Type CBF 9 ERX //VALUE ERX-Qos-Profile-Interface-Type IP-TUNNEL 10 ERX //VALUE ERX-Qos-Profile-Interface-Type VLAN-SUB 11 ERX //VALUE ERX-Qos-Profile-Interface-Type PPPOE-SUB 12 ERX //VALUE ERX-Sa-Validate disable 0 ERX //VALUE ERX-Sa-Validate enable 1 ERX //VALUE ERX-Tunnel-Nas-Port-Method None 0 ERX //VALUE ERX-Tunnel-Nas-Port-Method CISCO-CLID 1 ERX //VALUE Framed-Compression None 0 //VALUE Framed-Compression Van-Jacobsen-TCP-IP 1 //VALUE Framed-Compression IPX-Header-Compression 2 //VALUE Framed-Protocol PPP 1 //VALUE Framed-Protocol SLIP 2 //VALUE Framed-Protocol ARA 3 //VALUE Framed-Protocol Gandalf 4 //VALUE Framed-Protocol Xylogics 5 //VALUE Framed-Protocol GPRS-PDP-Context 7 //VALUE Framed-Protocol PPTP 9 //VALUE Framed-Protocol ARA 255 //VALUE Framed-Protocol MPP 256 //VALUE Framed-Protocol EURAW 257 //VALUE Framed-Protocol EUUI 258 //VALUE Framed-Protocol X25 259 //VALUE Framed-Protocol COMB 260 //VALUE Framed-Protocol FR 261 //VALUE Framed-Protocol MP 262 //VALUE Framed-Protocol FR-CIR 263 //VALUE Framed-Protocol X25 17825794 //VALUE Framed-Protocol X25-PPP 17825795 //VALUE Framed-Protocol IP-LAPB 17825796 //VALUE Framed-Protocol IP-HDLC 17825798 //VALUE Framed-Protocol MPR-LAPB 17825799 //VALUE Framed-Protocol MPR-HDLC 17825800 //VALUE Framed-Protocol FRAME-RELAY 17825801 //VALUE Framed-Protocol X31-BCHAN 17825802 //VALUE Framed-Protocol X75-PPP 17825803 //VALUE Framed-Protocol X75BTX-PPP 17825804 //VALUE Framed-Protocol X25-NOSIG 17825805 //VALUE Framed-Protocol X25-PPP-OPT 17825806 //VALUE Framed-Routing None 0 //VALUE Framed-Routing Broadcast 1 //VALUE Framed-Routing Listen 2 //VALUE Framed-Routing Broadcast-Listen 3 //VALUE KarlNet-TurboCell-OpMode Peer-to-Peer 0 KarlNet //VALUE KarlNet-TurboCell-OpMode Base 1 KarlNet //VALUE KarlNet-TurboCell-OpMode Base-Polling 2 KarlNet //VALUE KarlNet-TurboCell-OpMode Satellite-NT 3 KarlNet //VALUE KarlNet-TurboCell-OpState Up 0 KarlNet //VALUE KarlNet-TurboCell-OpState Down 1 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-Local 0 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-MaxSpeed 8 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-64k 16 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-128k 24 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-256k 32 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-512k 40 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-1Mbps 48 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-T1 56 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-2T1 64 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-3T1 72 KarlNet //VALUE LAC-Port-Type NAS-PORT-TYPE-10BT 40 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-100BT 41 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-DS3-FR 42 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-DS3-ATM 43 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-OC3 44 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-HSSI 45 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-EIA530 46 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-T1 47 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-CHAN-T3 48 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-DS1-FR 49 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-E3-ATM 50 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-IMA-ATM 51 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-DS3-ATM-2 52 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-OC3-ATM-2 53 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-1000BSX 54 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-E1-FR 55 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-E1-ATM 56 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-E3-FR 57 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-OC3-POS 58 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-OC12-POS 59 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-PPPOE 60 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-10BT 40 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-100BT 41 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS3-FR 42 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS3-ATM 43 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC3 44 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-HSSI 45 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-EIA530 46 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-T1 47 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-CHAN-T3 48 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS1-FR 49 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E3-ATM 50 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-IMA-ATM 51 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS3-ATM-2 52 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC3-ATM-2 53 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-1000BSX 54 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E1-FR 55 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E1-ATM 56 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E3-FR 57 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC3-POS 58 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC12-POS 59 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-PPPOE 60 Redback //VALUE LE-IPSec-Deny-Action Drop 1 Livingston //VALUE LE-IPSec-Deny-Action ICMP-Reject 2 Livingston //VALUE LE-IPSec-Deny-Action Pass-Through 3 Livingston //VALUE LE-IPSec-Log-Options SA-Success-On 1 Livingston //VALUE LE-IPSec-Log-Options SA-Failure-On 2 Livingston //VALUE LE-IPSec-Log-Options Console-On 3 Livingston //VALUE LE-IPSec-Log-Options Syslog-On 4 Livingston //VALUE LE-IPSec-Log-Options SA-Success-Off 5 Livingston //VALUE LE-IPSec-Log-Options SA-Failure-Off 6 Livingston //VALUE LE-IPSec-Log-Options Console-Off 7 Livingston //VALUE LE-IPSec-Log-Options Syslog-Off 8 Livingston //VALUE LE-Multicast-Client On 1 Livingston //VALUE LE-NAT-Log-Options Session-Success-On 1 Livingston //VALUE LE-NAT-Log-Options Session-Failure-On 2 Livingston //VALUE LE-NAT-Log-Options Console-On 3 Livingston //VALUE LE-NAT-Log-Options Syslog-On 4 Livingston //VALUE LE-NAT-Log-Options Success-Off 5 Livingston //VALUE LE-NAT-Log-Options Failure-Off 6 Livingston //VALUE LE-NAT-Log-Options Console-Off 7 Livingston //VALUE LE-NAT-Log-Options Syslog-Off 8 Livingston //VALUE LE-NAT-Sess-Dir-Fail-Action Drop 1 Livingston //VALUE LE-NAT-Sess-Dir-Fail-Action ICMP-Reject 2 Livingston //VALUE LE-NAT-Sess-Dir-Fail-Action Pass-Through 3 Livingston //VALUE Login-Service Telnet 0 //VALUE Login-Service Rlogin 1 //VALUE Login-Service TCP-Clear 2 //VALUE Login-Service PortMaster 3 //VALUE Login-Service LAT 4 //VALUE Login-Service X25-PAD 5 //VALUE Login-Service X25-T3POS 6 //VALUE Login-Service TCP-Clear-Quiet 7 //VALUE Mcast-Receive NO-RECEIVE 1 Redback //VALUE Mcast-Receive RECEIVE 2 Redback //VALUE Mcast-Send NO-SEND 1 Redback //VALUE Mcast-Send SEND 2 Redback //VALUE Mcast-Send UNSOLICITED-SEND 3 Redback //VALUE MS-Acct-Auth-Type PAP 1 Microsoft //VALUE MS-Acct-Auth-Type CHAP 2 Microsoft //VALUE MS-Acct-Auth-Type MS-CHAP-1 3 Microsoft //VALUE MS-Acct-Auth-Type MS-CHAP-2 4 Microsoft //VALUE MS-Acct-Auth-Type EAP 5 Microsoft //VALUE MS-Acct-EAP-Type MD5 4 Microsoft //VALUE MS-Acct-EAP-Type OTP 5 Microsoft //VALUE MS-Acct-EAP-Type Generic-Token-Card 6 Microsoft //VALUE MS-Acct-EAP-Type TLS 13 Microsoft //VALUE MS-ARAP-PW-Change-Reason Just-Change-Password 1 Microsoft //VALUE MS-ARAP-PW-Change-Reason Expired-Password 2 Microsoft //VALUE MS-ARAP-PW-Change-Reason Admin-Requires-Password-Change 3 Microsoft //VALUE MS-ARAP-PW-Change-Reason Password-Too-Short 4 Microsoft //VALUE MS-BAP-Usage Not-Allowed 0 Microsoft //VALUE MS-BAP-Usage Allowed 1 Microsoft //VALUE MS-BAP-Usage Required 2 Microsoft //VALUE NAS-Port-Type Async 0 //VALUE NAS-Port-Type Sync 1 //VALUE NAS-Port-Type ISDN 2 //VALUE NAS-Port-Type ISDN-V120 3 //VALUE NAS-Port-Type ISDN-V110 4 //VALUE NAS-Port-Type Virtual 5 //VALUE NAS-Port-Type PAIFS 6 //VALUE NAS-Port-Type HDLC-Clear-Channel 7 //VALUE NAS-Port-Type X25 8 //VALUE NAS-Port-Type X75 9 //VALUE NAS-Port-Type SDSL 11 //VALUE NAS-Port-Type ADSL-CAP 12 //VALUE NAS-Port-Type ADSL-DMT 13 //VALUE NAS-Port-Type IDSL 14 //VALUE NAS-Port-Type Ethernet 15 //VALUE NAS-Port-Type xDSL 16 //VALUE NAS-Port-Type Cable 17 //VALUE NAS-Port-Type Wireless-Other 18 //VALUE NAS-Port-Type Token-Ring 20 //VALUE NAS-Port-Type FDDI 21 //VALUE NAS-Port-Type Wireless-CDMA2000 22 //VALUE NAS-Port-Type Wireless-UMTS 23 //VALUE NAS-Port-Type Wireless-1X-EV 24 //VALUE NAS-Port-Type IAPP 25 //VALUE NS-Admin-Privilege Root-Admin 1 Netscreen //VALUE NS-Admin-Privilege All-VSYS-Root-Admin 2 Netscreen //VALUE NS-Admin-Privilege VSYS-Admin 3 Netscreen //VALUE NS-Admin-Privilege Read-Only-Admin 4 Netscreen //VALUE NS-Admin-Privilege Read-Only-VSYS-Admin 5 Netscreen //VALUE Prompt No-Echo 1 //VALUE Prompt Echo 2 //VALUE PVC-Circuit-Padding AAA-CIRCUIT-PADDING 1 Redback //VALUE PVC-Circuit-Padding AAA-CIRCUIT-NO-PADDING 2 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-RAW 1 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-ROUTE1483 2 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-AUTO1483 3 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-MULTI 4 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-BRIDGE1483 5 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP 6 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-SERIAL 7 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-NLPID 8 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-AUTO 9 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPPOE 10 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-L2TP 11 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-LLC 12 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-AUTO1490 13 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-MULTI 14 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-BRIDGE1490 15 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-PPP 16 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-PPP-AUTO 17 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-PPPOE 18 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-ROUTE1490 19 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-L2TP 20 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-L2TP-VC-MUXED 21 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ETH 22 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ETH-PPPOE 23 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ETH-MULTI 24 Redback //VALUE Shasta-User-Privilege User 1 Shasta //VALUE Shasta-User-Privilege Super-User 2 Shasta //VALUE Shasta-User-Privilege SSuper-User 3 Shasta //VALUE Shiva-Connect-Reason Remote 1 Shiva //VALUE Shiva-Connect-Reason Dialback 2 Shiva //VALUE Shiva-Connect-Reason Virtual-Connection 3 Shiva //VALUE Shiva-Connect-Reason Bandwidth-On-Demand 4 Shiva //VALUE Shiva-Disconnect-Reason Remote 1 Shiva //VALUE Shiva-Disconnect-Reason Error 2 Shiva //VALUE Shiva-Disconnect-Reason Idle-Timeout 3 Shiva //VALUE Shiva-Disconnect-Reason Session-Timeout 4 Shiva //VALUE Shiva-Disconnect-Reason Admin-Disconnect 5 Shiva //VALUE Shiva-Disconnect-Reason Dialback 6 Shiva //VALUE Shiva-Disconnect-Reason Virtual-Connection 7 Shiva //VALUE Shiva-Disconnect-Reason Bandwidth-On-Demand 8 Shiva //VALUE Shiva-Disconnect-Reason Failed-Authentication 9 Shiva //VALUE Shiva-Disconnect-Reason Preempted 10 Shiva //VALUE Shiva-Disconnect-Reason Blocked 11 Shiva //VALUE Shiva-Disconnect-Reason Tariff-Management 12 Shiva //VALUE Shiva-Disconnect-Reason Backup 13 Shiva //VALUE Shiva-Function Unknown 0 Shiva //VALUE Shiva-Function Dialin 1 Shiva //VALUE Shiva-Function Dialout 2 Shiva //VALUE Shiva-Function Lan-To-Lan 3 Shiva //VALUE Shiva-Link-Protocol HDLC 1 Shiva //VALUE Shiva-Link-Protocol ARAV1 2 Shiva //VALUE Shiva-Link-Protocol ARAV2 3 Shiva //VALUE Shiva-Link-Protocol SHELL 4 Shiva //VALUE Shiva-Link-Protocol AALAP 5 Shiva //VALUE Shiva-Link-Protocol SLIP 6 Shiva //VALUE Shiva-Type-Of-Service Analog 1 Shiva //VALUE Shiva-Type-Of-Service Digitized-Analog 2 Shiva //VALUE Shiva-Type-Of-Service Digital 3 Shiva //VALUE Shiva-Type-Of-Service Digital-V110 4 Shiva //VALUE Shiva-Type-Of-Service Digital-V120 5 Shiva //VALUE Shiva-Type-Of-Service Digital-Leased-Line 6 Shiva //VALUE SS3-Firewall-User-Privilege Remote-Access 1 3com //VALUE SS3-Firewall-User-Privilege Bypass-Filters 2 3com //VALUE SS3-Firewall-User-Privilege VPN-Client-Access 3 3com //VALUE SS3-Firewall-User-Privilege Access-To-VPN 4 3com //VALUE SS3-Firewall-User-Privilege Limited-Management 5 3com //VALUE SS3-Firewall-User-Privilege L2TP-Client-Access 6 3com //VALUE Termination-Action Default 0 //VALUE Termination-Action RADIUS-Request 1 //VALUE Tunnel-DNIS DNIS 1 Redback //VALUE Tunnel-DNIS DNIS-Only 2 Redback //VALUE Tunnel-Function LAC-Only 1 Redback //VALUE Tunnel-Function LNS-Only 2 Redback //VALUE Tunnel-Function LAC-LNS 3 Redback //VALUE Tunnel-Medium-Type IP 1 //VALUE Tunnel-Medium-Type IP6 2 //VALUE Tunnel-Medium-Type NSAP 3 //VALUE Tunnel-Medium-Type HDLC 4 //VALUE Tunnel-Medium-Type BBN 5 //VALUE Tunnel-Medium-Type IEEE-802 6 //VALUE Tunnel-Medium-Type E-163 7 //VALUE Tunnel-Medium-Type E-164 8 //VALUE Tunnel-Medium-Type F-69 9 //VALUE Tunnel-Medium-Type X-121 10 //VALUE Tunnel-Medium-Type IPX 11 //VALUE Tunnel-Medium-Type Appletalk 12 //VALUE Tunnel-Medium-Type Decnet4 13 //VALUE Tunnel-Medium-Type Vines 14 //VALUE Tunnel-Medium-Type E-164-NSAP 15 //VALUE Tunnel-Type PPTP 1 //VALUE Tunnel-Type L2F 2 //VALUE Tunnel-Type L2TP 3 //VALUE Tunnel-Type ATMP 4 //VALUE Tunnel-Type VTP 5 //VALUE Tunnel-Type AH 6 //VALUE Tunnel-Type IP-IP-Encap 7 //VALUE Tunnel-Type MIN-IP-IP 8 //VALUE Tunnel-Type ESP 9 //VALUE Tunnel-Type PPTP 10 //VALUE Tunnel-Type DVS 11 //VALUE Tunnel-Type IP-IP 12 //VALUE Tunnel-Type VLAN 13 //VALUE User-Service Login-User 1 //VALUE User-Service Framed-User 2 //VALUE User-Service Callback-Login 3 //VALUE User-Service Callback-Framed 4 //VALUE User-Service Outbound 5 //VALUE User-Service Administrative 6 //VALUE User-Service NAS-Prompt 7 //VALUE User-Service Authenicate-Only 8 //VALUE User-Service Callback-NAS-Prompt 9 //VALUE User-Service Call-Check 10 //VALUE User-Service Callback-Administrative 11 //VALUE User-Service Voice 12 //VALUE User-Service Fax 13 //VALUE User-Service Modem-Relay 14 //VALUE User-Service IAPP-Register 15 //VALUE User-Service IAPP-AP-Check 16 //VALUE User-Service Call-Check-User 129 //VALUE Versanet-Termination-Cause Normal-Hangup-No-Error-Occurred 0 Versanet //VALUE Versanet-Termination-Cause Call-Waiting-Caused-Disconnect 3 Versanet //VALUE Versanet-Termination-Cause Physical-Carrier-Loss 4 Versanet //VALUE Versanet-Termination-Cause No-err-correction-at-other-end 5 Versanet //VALUE Versanet-Termination-Cause No-resp-to-feature-negotiation 6 Versanet //VALUE Versanet-Termination-Cause 1st-modem-async-only-2nd-sync 7 Versanet //VALUE Versanet-Termination-Cause No-framing-technique-in-common 8 Versanet //VALUE Versanet-Termination-Cause No-protocol-in-common 9 Versanet //VALUE Versanet-Termination-Cause Bad-resp-to-feature-negotiation 10 Versanet //VALUE Versanet-Termination-Cause No-sync-info-from-remote-modem 11 Versanet //VALUE Versanet-Termination-Cause Normal-Hangup-by-Remote-modem 12 Versanet //VALUE Versanet-Termination-Cause Retransmission-limit-reached 13 Versanet //VALUE Versanet-Termination-Cause Protocol-violation-occurred 14 Versanet //VALUE Versanet-Termination-Cause Lost-DTR 15 Versanet //VALUE Versanet-Termination-Cause Received-GSTN-cleardown 16 Versanet //VALUE Versanet-Termination-Cause Inactivity-timeout 17 Versanet //VALUE Versanet-Termination-Cause Speed-not-supported 18 Versanet //VALUE Versanet-Termination-Cause Long-space-disconnect 19 Versanet //VALUE Versanet-Termination-Cause Key-abort-disconnect 20 Versanet //VALUE Versanet-Termination-Cause Clears-previous-disc-reason 21 Versanet //VALUE Versanet-Termination-Cause No-connection-established 22 Versanet //VALUE Versanet-Termination-Cause Disconnect-after-three-retrains 23 Versanet // #endif radiusplugin/RadiusClass/RadiusServer.cpp000755 001750 001750 00000011351 11065476767 017352 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "RadiusServer.h" #include /** The constructer of the class. * @param char * name : Represents the name or the ip address. The default is 127.0.0.1. * @param char * secret : The sharedsecret in plaintext. * @param int authport : The UDP port for authentication, the default is 1812. * @param int acctport : The UDP port for accounting, the default is 1813. * @param int retry : How many times the client should try to send a packet if he doesn't get an answer. * @param int wait : The time (in seconds) to wait on a response of the radius server. */ RadiusServer::RadiusServer(string name, string secret, int authport, int acctport, int retry, int wait) { this->acctport=acctport; this->authport=authport; this->name=name; this->retry=retry; this->wait=wait; this->sharedsecret=secret; } /** The destructur of the class. * It does nothing. */ RadiusServer::~RadiusServer() { } /** The allocation operator. * @param const RadiusServer &s : A reference to a RadiusServer. */ RadiusServer &RadiusServer::operator=(const RadiusServer &s) { this->name=s.name; this->wait=s.wait; this->retry=s.retry; this->acctport=s.acctport; this->authport=s.authport; this->sharedsecret=s.sharedsecret; return (*this); } /** The setter method for the authport. * There is no correctness checking. *@param port The number of the UDP port. */ void RadiusServer::setAuthPort(short int port) { this->authport=port; } /** The getter method for the authport. * @return A integer of the authport. */ int RadiusServer::getAuthPort() { return (this->authport); } /** The setter method for the acctport. * There is no correctness checking. * @param port The number of the UDP port. */ void RadiusServer::setAcctPort(short int port) { this->acctport=port; } /** The getter method for the acctport. * @return A integer of the acctport. */ int RadiusServer::getAcctPort() { return (this->acctport); } /**The setter method for the server name. * There is no correctness checking. The name could be a name or an ip address. * @param name : The name or ip address of the radius server. */ void RadiusServer::setName(string name) { this->name=name; } /** The getter method for the server name. * @return A string with the server name. */ string RadiusServer::getName() { return (this->name); } /** The setter method for the retries. * Is the value less or equal 0 it ist set to 1. * @param retry The number of retries the client should try to send a radius packet to the server, if the doesn't get an answer. */ void RadiusServer::setRetry(int retry) { if (retry<=0) { retry=1; } this->retry=retry; } /** The getter method for the retry. * @return A integer of the retries. */ int RadiusServer::getRetry() { return (this->retry); } /** The setter method for the sharedsecret * @param secret The sharedsecret in plaintext. */ void RadiusServer::setSharedSecret(string secret) { this->sharedsecret=secret; } /** The getter method for the sharedsecret * @return A string with the plaintext shared secret. */ string RadiusServer::getSharedSecret(void) { return this->sharedsecret; } /** The getter method for the private member wait* * @return A interger of the time to wait for a resopnse. */ int RadiusServer::getWait(void) { return this->wait; } /** The setter method for the private member wait * @param w The seconds to wait for response of the server. If w is less or equal 0 it is set to 1. */ void RadiusServer::setWait(int w) { if (w>0) { this->wait=w; } else { this->wait=1; } } ostream& operator << (ostream& os, RadiusServer& server) { os << "\n\nRadiusServer:"; os << "\nName: " << server.name; os << "\nAuthentication-Port: " << server.authport; os << "\nAccounting-Port: " << server.acctport; os << "\nRetries: " << server.retry; os << "\nWait: " << server.wait; os << "\nSharedSecret: *******"; return os; } radiusplugin/RadiusClass/error.h000755 001750 001750 00000002706 10650426420 015512 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _ERROR_H_ #define _ERROR_H_ /** Error number definitions. These number are returned if * a error occurs. */ #define ALLOC_ERROR -1 #define SOCKET_ERROR -2 #define BIND_ERROR -3 #define NO_BUFFER_TO_UNSHAPE -4 #define UNKNOWN_HOST -5 #define POINTER_MUST_BE_NULL -6 #define BAD_LENGTH -7 #define PARSING_ERROR -8 #define BAD_FILE -9 #define TO_BIG_ATTRIBUTE_LENGTH -10 #define BAD_IP -11 #define NO_RESPONSE -12 #define TO_LONG_PASSWORD -13 #define SHAPE_ERROR -14 #define UNSHAPE_ERROR -15 #define NO_VALUE_IN_ATTRIBUTE -16 #define WRONG_AUTHENTICATOR_IN_RECV_PACKET -17 #endif //_ERROR_H_ radiusplugin/RadiusClass/exampleconfig000644 001750 001750 00000000443 10650426417 016753 0ustar00000000 000000 NAS-Identifier=NASServer Service-Type=5 Framed-Protocol=1 NAS-Port-Type=5 NAS-IP-Address=127.0.0.1 server { acctport=1813 authport=1812 name=127.0.0.1 retry=1 wait=1 sharedsecret=testpw } server { acctport=1813 authport=1812 name=192.168.2.2 retry=1 wait=1 sharedsecret=xxxx } radiusplugin/RadiusClass/README000755 001750 001750 00000002262 10650426420 015065 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program (see the file COPYING included with this * distribution); if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ ----------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------- DOCUMENTATION: -------------- Please generate documentation with doxygen. Output in: ./doc/html/index.html radiusplugin/RadiusClass/main.cpp000644 001750 001750 00000057714 11205263062 015644 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \mainpage RadiusClass * * * The RadiusClass is a library for RADIUS authentication * and accounting. * * \section Features * - Sending and receiving RADIUS packets. * - Generates password and authentication fields at sending automaticly, * you only need to set the plain text password of the user for ACCESS_REQUEST packets. * - optional password length * - timeouts for waiting on response packets * - sending retries if no response from server * - sending to optional number of servers * - one after the other, if a server isn't reachable * - the order is the same as defined in the configfile * - extract attributes from the response packet, e.g. FramedIp or FramedRoutes * - functions to convert values from the response packets for integers and ip address as string (see function parseResponsePacket()) * * * * \section Installation * - Requirements: gcrypt library * - Configure the configfile for the library or set the parameters otherwise (see ./exampleconfig). * - Comments not allowed in configfile at the moment! * - For testing compile files with: * g++ -Wall -o main main.cpp RadiusAttribute.cpp RadiusPacket.cpp RadiusConfig.cpp RadiusServer.cpp RadiusVendorSpecificAttribute.cpp -lgcrypt * - Integrate the library in your code (example implementation: main.cpp). * * \section TODO * - debug - class * - improve the parsing of the configfile (caseinsensitive, comments, ...), datatype string for config * - create a method which returns a representation of the buffer dependent on the type (enum, ipaddr, string, integer) * - get the NAS ip address automatically from the system * - improve the parsing of framed routes and netmask * - check response packets authenticator field from the radius server * - exceptionhandling with try and catch * - create a routing and ip class with correctness checking * - MAKEfile * \section Limts * Maximum characters for the parameters in the configfile: * - serviceType=1 * - framedProtocol=1 * - nasPortType=1 * - nasIdentifier=128 * - nasIpAddress=16 * * \section History * The RadiusClass was developed during my diploma thesis for the EWETEL GmbH (www.ewetel.net). * They main idea was to create a virtualized SSL-VPN (OpenVPN) with RADIUS support. * The virtualization was done by XEN.
* At this place I would like to thank the people from EWETEL GmbH and EWE AG (www.ewe.de) * who supported me with the required equipment and hardware * and helped me with all my questions. * * \section Memoryleaks * I testes the RadiusClass on memory leaks with valgrind. A output can be found in the file * valgrind. There are no leaks, but some blocks are still * reachable. This is no problem, it is a feature of the C++ STL. * See Chapter 4.2 at http://valgrind.org/docs/FAQ/ . * * \section Contact * Please report bugs and suggestions of improvement to me ralfluebben@gmx.de. */ #include "RadiusAttribute.h" #include "RadiusVendorSpecificAttribute.h" #include "RadiusPacket.h" #include "RadiusServer.h" #include "RadiusConfig.h" #include "radius.h" #include void parseResponsePacket(RadiusPacket *packet); /* Tested with freeradius and vendor specific attribute: !This is no official vendor number for OpenVPN! Configuration vendor specific attributes, example for OpenVPN iroute parameter: add in /etc/freeradius/dictionary following lines: VENDOR OpenVPN 111 ATTRIBUTE OpenVPN_iroute 1 string OpenVPN user configuration: user1 Auth-Type := Local, User-Password == "testing" Service-Type = Framed-User, Framed-Protocol = PPP, Framed-IP-Address = 10.8.0.20, Framed-IP-Netmask = 255.255.255.0, Framed-Routing = Broadcast-Listen, Framed-Compression = Van-Jacobsen-TCP-IP, Framed-Route += "192.168.101.0/26 10.8.0.1/32 1", Framed-Route += "192.168.111.0/24 10.8.0.1/32 1", Framed-Route += "192.168.112.0/24 10.8.0.1/32 1", Acct-Interim-Interval=7, OpenVPN_iroute="192.168.100.0 255.255.0.0" */ /** The RadiusClass is C++ library for RADIUS authentication and accounting. * Features: * - Sending and Receiving RADIUS packets. * - Generates password and authentication packet fields at sending, * you only need to set the plain text password for the user for ACCESS_REQUEST packets * - password length optional * - timeouts for waiting on response packets * - sending retries if no response from server * - sending to optional number of servers: * - the first server from the config file is taken * - config parameter: e.g. wait=5 : wait 5s on a response * - config parameter: e.g. retry=2 : retry sending the packet 2 times after timeout * - if the first server do not response -> take the next server from config file * - extract attributes from the response packet, e.g. FramedIp or FramedRoutes * - functions to convert values from the response packets for integers and ip address as string (see function parseResponsePacket()) **/ int main_test (void) { list * serverlist; list::iterator server; //create RadiusPacket: you can already specify the type RadiusPacket packet_access(ACCESS_REQUEST); //the packets for accounting (start,update,stop) RadiusPacket packet_accounting_start(ACCOUNTING_REQUEST); RadiusPacket packet_accounting_update(ACCOUNTING_REQUEST); RadiusPacket packet_accounting_stop(ACCOUNTING_REQUEST); //create RadiusAttributes: you can specify type and value. RadiusAttribute ra1(ATTRIB_User_Name,"user1"), ra2(ATTRIB_User_Password), ra3(ATTRIB_NAS_Port,55), ra4(ATTRIB_Calling_Station_Id,"127.0.0.1"), ra5(ATTRIB_NAS_Identifier), ra6(ATTRIB_NAS_IP_Address), ra7(ATTRIB_NAS_Port_Type), ra8(ATTRIB_Service_Type), ra9(ATTRIB_Framed_IP_Address), ra10(ATTRIB_Acct_Session_ID, 99), //for accounting packet type (start/update/stop) ra11(ATTRIB_Acct_Status_Type), ra12(ATTRIB_Framed_Protocol), //for accounting update and stop packets ra13(ATTRIB_Acct_Input_Octets, 99), ra14(ATTRIB_Acct_Output_Octets, 10), ra15(ATTRIB_Acct_Session_Time, 12345), ra16(ATTRIB_Vendor_Specific); RadiusVendorSpecificAttribute rvsa; //read in the config RadiusConfig config(string("./exampleconfig")); cout << "*** Sampleprogramm for the RadiusClass. ***\n"; cout << "---- Print Config ----\n"; cout << config; cout << "-----------------------\n"; // Send a ACCEPT-REQUEST-PACKET cout << "-----------------------------------------------------\n"; cout << "-------- Send a ACCESS-REQUEST-PACKET ---------------\n"; cout << "-----------------------------------------------------\n"; /*set password (the method setValue() detects which type * the attribut is from, and converts the value correct for * this type) */ ra2.setValue(string("testing")); if(packet_access.addRadiusAttribute(&ra1)) { cerr << getTime() << "RADIUS-CLASS: Fail to add attribute ATTRIB_User_Name.\n"; } if (packet_access.addRadiusAttribute(&ra2)) { cerr << getTime() << "RADIUS-CLASS: Fail to add attribute ATTRIB_User_Password.\n"; } if (packet_access.addRadiusAttribute(&ra3)) { cerr << getTime() << "RADIUS-CLASS: Fail to add attribute ATTRIB_NAS_Port.\n"; } if (packet_access.addRadiusAttribute(&ra4)) { cerr << getTime() << "RADIUS-CLASS: Fail to add attribute ATTRIB_Calling_Station_Id.\n"; } //get information from the config and add it to the packet if(strcmp(config.getNASIdentifier(),"")) { ra5.setValue(config.getNASIdentifier()); if (packet_access.addRadiusAttribute(&ra5)) { cerr << getTime() << "RADIUS-CLASS: Fail to add attribute ATTRIB_NAS_Identifier.\n"; } } if(strcmp(config.getNASIpAddress(),"")) { if(ra6.setValue(config.getNASIpAddress())!=0) { cerr << getTime() << "RADIUS-CLASS: Fail to set value ATTRIB_NAS_Ip_Address.\n"; } else if (packet_access.addRadiusAttribute(&ra6)) { cerr << getTime() << "RADIUS-CLASS: Fail to add attribute ATTRIB_NAS_Ip_Address.\n"; } } if(strcmp(config.getNASPortType(),"")) { ra7.setValue(config.getNASPortType()); if (packet_access.addRadiusAttribute(&ra7)) { cerr << getTime() << "RADIUS-CLASS: Fail to add attribute ATTRIB_NAS_Port_Type.\n"; } } if(strcmp(config.getServiceType(),"")) { ra8.setValue(config.getServiceType()); if (packet_access.addRadiusAttribute(&ra8)) { cerr << getTime() << "RADIUS-CLASS: Fail to add attribute ATTRIB_Service_Type.\n"; } } //example for sending vendor specific attribute rvsa.setId(123); rvsa.setType(1); rvsa.setValue("Vendor Attribute"); //integers can be set directly //rvsa.setValue(1981); Octet * tmp_rvsa=new Octet[rvsa.getLength()+4]; rvsa.getShapedAttribute(tmp_rvsa); ra16.setValue((char *)tmp_rvsa); packet_access.addRadiusAttribute(&ra16); delete [] tmp_rvsa; //get the server list serverlist=config.getRadiusServer(); //check if there are servers try { if(serverlist->empty()) { throw(string("RADIUS-CLASS: No servers defined!")); } } catch(string) { cerr<< "No servers!"; //stop the programm if there are no server(s) in config return 0; } //set server to the first server server=serverlist->begin(); //send the packet to the first server from the list if (packet_access.radiusSend(server)<0) { cerr << getTime() << "RADIUS-CLASS: Packet was not sent.\n"; } //receive the packet, if the server doesn't response send the packet to the next server in list. if (packet_access.radiusReceive(serverlist)==0) { //is it a accept? if(packet_access.getCode()==ACCESS_ACCEPT) { /*Parse the attributes for framedip, framedroutes and acctinteriminterval. This is only an example, so the function has no return values, the values are printed at stdout.*/ parseResponsePacket(&packet_access); } //If the radius server denied the access or sends a ACCESS_CHALLENGE-packet. else { cerr << getTime() << "RADIUS-CLASS: Get ACCESS_REJECT or ACCESS_CHALLENGE-Packet.->ACCESS-DENIED.\n"; } } else { cerr << getTime() << "RADIUS-CLASS: Got no or bad response from radius server.\n"; } // Send a ACCOUNTING-REQUEST-PACKET, Status-Type:Start cout << "-----------------------------------------------------\n"; cout << "-------- Send a ACCOUNTING-REQUEST-PACKET -----------\n"; cout << "-----------------Status-Type: Start------------------\n"; cout << "-----------------------------------------------------\n"; //add the attributes to the packet if(packet_accounting_start.addRadiusAttribute(&ra1)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Name.\n"; } if (packet_accounting_start.addRadiusAttribute(&ra3)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port.\n"; } if (packet_accounting_start.addRadiusAttribute(&ra4)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Calling_Station_Id.\n"; } if (packet_accounting_start.addRadiusAttribute(&ra10)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Session_Id.\n"; } //set status type: start = 1 (see RADIUS RFC) ra11.setValue(string("1")); if (packet_accounting_start.addRadiusAttribute(&ra11)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Status_Type.\n"; } //get information from the config and add the attributes to the packet if(strcmp(config.getNASIdentifier(),"")) { ra5.setValue(config.getNASIdentifier()); if (packet_accounting_start.addRadiusAttribute(&ra5)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Identifier.\n"; } } if(strcmp(config.getNASIpAddress(),"")) { if(ra6.setValue(config.getNASIpAddress())!=0) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to set value ATTRIB_NAS_Ip_Address.\n"; } if (packet_accounting_start.addRadiusAttribute(&ra6)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Ip_Address.\n"; } } if(strcmp(config.getNASPortType(),"")) { ra7.setValue(config.getNASPortType()); if (packet_accounting_start.addRadiusAttribute(&ra7)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port_Type.\n"; } } if(strcmp(config.getServiceType(),"")) { ra8.setValue(config.getServiceType()); if (packet_accounting_start.addRadiusAttribute(&ra8)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Service_Type.\n"; } } if(strcmp(config.getFramedProtocol(),"")) { ra12.setValue(config.getFramedProtocol()); if (packet_accounting_start.addRadiusAttribute(&ra12)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_FramedProtocol.\n"; } } ra9.setValue(string("111.222.111.111")); if (packet_accounting_start.addRadiusAttribute(&ra9)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } //send the packet_accounting_start if (packet_accounting_start.radiusSend(server)<0) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Packet was not sent.\n"; } //receive the response if (packet_accounting_start.radiusReceive(serverlist)>=0) { //is is a accounting resopnse ? if(packet_accounting_start.getCode()==ACCOUNTING_RESPONSE) { cerr << getTime() << "RADIUS-CLASS: Get ACCOUNTING_RESPONSE-Packet.\n"; } } else { cerr << getTime() << "RADIUS-CLASS: Got no or bad response from radius server.\n"; } // Send a ACCOUNTING-REQUEST-PACKET, Status-Type:Update cout << "-----------------------------------------------------\n"; cout << "-------- Send a ACCOUNTING-REQUEST-PACKET -----------\n"; cout << "-----------------Status-Type: Update-----------------\n"; cout << "-----------------------------------------------------\n"; //add the attributes to the packet if(packet_accounting_update.addRadiusAttribute(&ra1)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Name.\n"; } if (packet_accounting_update.addRadiusAttribute(&ra3)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port.\n"; } if (packet_accounting_update.addRadiusAttribute(&ra4)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Calling_Station_Id.\n"; } if (packet_accounting_update.addRadiusAttribute(&ra10)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Session_Id.\n"; } //set status type: update = 3(see RADIUS RFC) ra11.setValue(string("3")); if (packet_accounting_update.addRadiusAttribute(&ra11)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Status_Type.\n"; } if (packet_accounting_update.addRadiusAttribute(&ra13)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Input_Octets.\n"; } if (packet_accounting_update.addRadiusAttribute(&ra14)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Output_Octets.\n"; } if (packet_accounting_update.addRadiusAttribute(&ra14)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_Time.\n"; } //get information from the config and add the attributes to the packet if(strcmp(config.getNASIdentifier(),"")) { ra5.setValue(config.getNASIdentifier()); if (packet_accounting_update.addRadiusAttribute(&ra5)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Identifier.\n"; } } if(strcmp(config.getNASIpAddress(),"")) { if(ra6.setValue(config.getNASIpAddress())!=0) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to set value ATTRIB_NAS_Ip_Address.\n"; } if (packet_accounting_update.addRadiusAttribute(&ra6)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Ip_Address.\n"; } } if(strcmp(config.getNASPortType(),"")) { ra7.setValue(config.getNASPortType()); if (packet_accounting_update.addRadiusAttribute(&ra7)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port_Type.\n"; } } if(strcmp(config.getServiceType(),"")) { ra8.setValue(config.getServiceType()); if (packet_accounting_update.addRadiusAttribute(&ra8)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Service_Type.\n"; } } if(strcmp(config.getFramedProtocol(),"")) { ra12.setValue(config.getFramedProtocol()); if (packet_accounting_update.addRadiusAttribute(&ra12)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_FramedProtocol.\n"; } } ra9.setValue(string("111.222.111.111")); if (packet_accounting_update.addRadiusAttribute(&ra9)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } //send the packet_accounting_update if (packet_accounting_update.radiusSend(server)<0) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Packet was not sent.\n"; } //receive the response if (packet_accounting_update.radiusReceive(serverlist)>=0) { //is is a accounting resopnse ? if(packet_accounting_update.getCode()==ACCOUNTING_RESPONSE) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Get ACCOUNTING_RESPONSE-Packet.\n"; } } else { cerr << getTime() << "RADIUS-CLASS: Got no or bad response from radius server.\n"; } // Send a ACCOUNTING-REQUEST-PACKET, Status-Type:Stop cout << "-----------------------------------------------------\n"; cout << "-------- Send a ACCOUNTING-REQUEST-PACKET -----------\n"; cout << "-----------------Status-Type: Stop-------------------\n"; cout << "-----------------------------------------------------\n"; //add the attributes to the packet if(packet_accounting_stop.addRadiusAttribute(&ra1)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_User_Name.\n"; } if (packet_accounting_stop.addRadiusAttribute(&ra3)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port.\n"; } if (packet_accounting_stop.addRadiusAttribute(&ra4)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Calling_Station_Id.\n"; } if (packet_accounting_stop.addRadiusAttribute(&ra10)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Session_Id.\n"; } //set status type: update = 2(see RADIUS RFC) ra11.setValue(string("2")); if (packet_accounting_stop.addRadiusAttribute(&ra11)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Status_Type.\n"; } if (packet_accounting_stop.addRadiusAttribute(&ra13)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Input_Octets.\n"; } if (packet_accounting_stop.addRadiusAttribute(&ra14)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Output_Octets.\n"; } if (packet_accounting_stop.addRadiusAttribute(&ra14)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_Time.\n"; } //get information from the config and add the attributes to the packet if(strcmp(config.getNASIdentifier(),"")) { ra5.setValue(config.getNASIdentifier()); if (packet_accounting_stop.addRadiusAttribute(&ra5)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Identifier.\n"; } } if(strcmp(config.getNASIpAddress(),"")) { if(ra6.setValue(config.getNASIpAddress())!=0) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to set value ATTRIB_NAS_Ip_Address.\n"; } if (packet_accounting_stop.addRadiusAttribute(&ra6)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Ip_Address.\n"; } } if(strcmp(config.getNASPortType(),"")) { ra7.setValue(config.getNASPortType()); if (packet_accounting_stop.addRadiusAttribute(&ra7)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_NAS_Port_Type.\n"; } } if(strcmp(config.getServiceType(),"")) { ra8.setValue(config.getServiceType()); if (packet_accounting_stop.addRadiusAttribute(&ra8)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Service_Type.\n"; } } if(strcmp(config.getFramedProtocol(),"")) { ra12.setValue(config.getFramedProtocol()); if (packet_accounting_stop.addRadiusAttribute(&ra12)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_FramedProtocol.\n"; } } ra9.setValue(string("111.222.111.111")); if (packet_accounting_stop.addRadiusAttribute(&ra9)) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Fail to add attribute ATTRIB_Acct_Session_ID.\n"; } //send the packet_accounting_stop if (packet_accounting_stop.radiusSend(server)<0) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Packet was not sent.\n"; } //receive the response if (packet_accounting_stop.radiusReceive(serverlist)>=0) { //is is a accounting resopnse ? if(packet_accounting_stop.getCode()==ACCOUNTING_RESPONSE) { cerr << getTime() << "RADIUS-CLASS: BACKGROUND-ACCT: Get ACCOUNTING_RESPONSE-Packet.\n"; } } else { cerr << getTime() << "RADIUS-CLASS: Got no or bad response from radius server.\n"; } cout << "\n---- End ----"; return (0); } void parseResponsePacket(RadiusPacket *packet) { cout << "\n ---- Parse Response Packet ----"; pair ::iterator,multimap::iterator> range; multimap::iterator iter1, iter2; range=packet->findAttributes(22); iter1=range.first; iter2=range.second; string froutes; string ip; int acct_interval; RadiusVendorSpecificAttribute vsa; while (iter1!=iter2) { froutes.append((char *) iter1->second.getValue(),iter1->second.getLength()-2); froutes.append(";"); iter1++; } cout << "\nFramed Routs: " << froutes; range=packet->findAttributes(ATTRIB_Framed_IP_Address); iter1=range.first; iter2=range.second; if (iter1!=iter2) { ip=iter1->second.ipFromBuf(); } cout << "\nFramed IP: " << ip; range=packet->findAttributes(85); iter1=range.first; iter2=range.second; if (iter1!=iter2) { acct_interval=iter1->second.intFromBuf(); } else { cerr << getTime() <<"RADIUS-CLASS: No attributes Acct Interim Interval or bad length.\n"; } cout << "\nAcct-Interim-Interval: " << acct_interval; range=packet->findAttributes(26); iter1=range.first; iter2=range.second; if (iter1!=iter2) { while(iter1!=iter2) { vsa.decodeRecvAttribute(iter1->second.getValue()); if (vsa.getId() == 111 && vsa.getType()==1) { cout << "\nVendorSpecificAttribute OpenVPN IRoute: " << vsa.stringFromBuf() << " \n"; iter1++; } } } else { cout << "RADIUS-CLASS: No vendor specific attributes.\n"; } } radiusplugin/RadiusClass/RadiusConfig.h000755 001750 001750 00000005074 11126365764 016753 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _CONFIGPARSER_H_ #define _CONFIGPARSER_H_ #include #include #include #include #include "RadiusServer.h" #include"RadiusServer.h" #include "error.h" #include #include using std::list; using namespace std; /**This class represents the configurations attributes which * can set in the configuration file and methods for the attributes. */ class RadiusConfig { private: list server; /*** getRadiusServer(void); void setServiceType(char *); char * getServiceType(void); void setFramedProtocol(char *); char * getFramedProtocol(void); void setNASPortType(char *); char * getNASPortType(void); void setNASIdentifier(char *); char * getNASIdentifier(void); char * getNASIpAddress(void); void setNASIpAddress(char * ); friend ostream& operator << (ostream& os, RadiusConfig& config); }; #endif //_CONFIGPARSER_H_ radiusplugin/RadiusClass/RadiusVendorSpecificAttribute.cpp000755 001750 001750 00000016207 11126365764 022670 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "RadiusVendorSpecificAttribute.h" #include #include "error.h" #include #include #include /** The constructor sets the type,id and length to 0 and the value to NULL.*/ RadiusVendorSpecificAttribute::RadiusVendorSpecificAttribute(void) { memset(this->id, 0, 4); this->type=0; this->length=0; this->value=NULL; } /** The destructor of the class. * It frees the allocated memory for the value, if the pointer is not NULL. */ RadiusVendorSpecificAttribute::~RadiusVendorSpecificAttribute(void) { if (this->value) { delete [] this->value; } } /** Creates a dump of an attribute. */ void RadiusVendorSpecificAttribute::dumpRadiusAttrib(void) { int i; fprintf(stdout,"\tid\t\t:\t%d%d%d%d\t|",this->id[0],this->id[1],this->id[2],this->id[3]); fprintf(stdout,"\ttype\t\t:\t%d\t|",this->type); fprintf(stdout,"\tlength\t:\t%d\t|",this->getLength()); fprintf(stdout,"\tvalue\t:\t ->"); for(i=0;i<((this->getLength())-6);i++) fputc(this->value[i],stdout); fprintf(stdout,"<-\n"); } /** The getter method for the length of the attribute * @return The length as an integer. */ int RadiusVendorSpecificAttribute::getLength(void) { return (this->length); } /** The getter method for the length of the attribute * @return The length as a pointer. */ Octet * RadiusVendorSpecificAttribute::getLength_Octet(void) { return (&this->length); } /** The setter method for the length of the attribut. * Normally it calculated automatically. * @param len The length as datatype unsigned char (=Octet). */ void RadiusVendorSpecificAttribute::setLength(Octet len) { this->length=len; } /** The getter method for the id of the attribute. * @return An integer with the id. */ int RadiusVendorSpecificAttribute::getId(void) { return ntohl(*(int*)this->id); } /** The getter method for the id of the attribute. * @return An pointer to an Octet value. (still in network byte order). */ Octet * RadiusVendorSpecificAttribute::getId_Octet(void) { return (this->id); } /** The setter method for the id of the attribute. * @param id The vendor id as integer. */ void RadiusVendorSpecificAttribute::setId(int id) { int tmp_id=htonl(id); memcpy(this->id,&tmp_id,4); } /** The getter method for the type of the attribute. * @return An integer with the type. */ int RadiusVendorSpecificAttribute::getType(void) { return (this->type); } /** The getter method for the type of the attribute. * @return A pointer to the value. */ Octet * RadiusVendorSpecificAttribute::getType_Octet(void) { return (&this->type); } /** The setter method for the type of the attribute. * @param type The type as Octet. */ void RadiusVendorSpecificAttribute::setType(Octet type) { this->type=type; } /** The getter method for the value. * @return The value as an Octet.*/ Octet * RadiusVendorSpecificAttribute::getValue(void) { return (this->value); } /** Decodes a vendor specific attribute from a buffer. * @param value A pointer to the a buffer which keeps a vendor specific attribute. * @return An integer which indicates errors, 0 if everthing is ok, * else a number defined in the error.h. */ int RadiusVendorSpecificAttribute::decodeRecvAttribute(Octet * v) { memcpy(this->id, v, 4); this->type=v[4]; this->length=v[5]; if(!(this->value=new Octet[int(this->length)-2])) { return ALLOC_ERROR; } memcpy(this->value, v+6, (int(this->length)-2)); return 0; } /** Transform a attribute value to an integer, this makes only sense * if the datatype is an integer. This dependents on the definition * in the radius RFC or can be locked up in the file radius.h of this * source code. * @return The transformed integer. */ int RadiusVendorSpecificAttribute::intFromBuf(void) { return (ntohl(*(int*)this->value)); } /**The overloading of the assignment operator.*/ RadiusVendorSpecificAttribute & RadiusVendorSpecificAttribute::operator=(const RadiusVendorSpecificAttribute &ra) { memcpy(this->id, ra.id, 4); this->value=new Octet[ra.length-2]; this->type=ra.type; this->length=ra.length; memcpy(this->value,ra.value,ra.length-2); return *this; } /**The copy constructor.*/ RadiusVendorSpecificAttribute::RadiusVendorSpecificAttribute(const RadiusVendorSpecificAttribute &ra) { this->value=new Octet[ra.length-2]; memcpy(this->id, ra.id, 4); this->type=ra.type; this->length=ra.length; memcpy(this->value,ra.value,ra.length-2); } /**The method sets the value and the length. * @param value A string. * @return An integer. 0 if everything is ok, else !=0. */ int RadiusVendorSpecificAttribute::setValue(const char * value) { int length=strlen(value); if(!(this->value=new Octet[length])) { return ALLOC_ERROR; } this->length=length+2; memcpy(this->value,value,length); return 0; } /**The method sets the value and the length. * @param value An integer. * @return An integer. 0 if everything is ok, else !=0. */ int RadiusVendorSpecificAttribute::setValue(int value) { int tmp_value=htonl(value); if(!(this->value=new Octet[4])) { return ALLOC_ERROR; } this->length=6; memcpy(this->value,&tmp_value,4); return 0; } /** The method converts the value into an ip. * The attribute must have the right datatype IPADDRESS. * @return The ip address as a string. */ string RadiusVendorSpecificAttribute::ipFromBuf(void) { int num,i; char ip2[4],ip3[16]; memset(ip3,0,16); for (i=0;i<(this->length-2);i++) { num=(int)this->value[i]; if(i==0) { sprintf(ip3,"%i",num); strcat(ip3,"."); } else if (i<3) { sprintf(ip2,"%i",num); strcat(ip3,ip2); strcat(ip3,"."); } else { sprintf(ip2,"%i",num); strcat(ip3,ip2); } } return string(ip3); } /** The method converts the value into a strung. * @return The value as a string. */ string RadiusVendorSpecificAttribute::stringFromBuf(void) { char * tmp_str = new char[this->length-1]; memcpy(tmp_str, this->value, this->length-2); tmp_str[this->length-2]=0; return string(tmp_str); } /** The method copies id, type, length an value in * an array Octet * rvsa for sending. * @param rvsa A pointer to an array for whole attribute, it must be have the right length. */ void RadiusVendorSpecificAttribute::getShapedAttribute(Octet * rvsa) { memcpy(rvsa,this->id,4); memcpy(rvsa+4,&(this->type),1); memcpy(rvsa+5,&(this->length),1); memcpy(rvsa+6, this->value,this->length-2); } radiusplugin/RadiusClass/doxygen.conf000644 001750 001750 00000141721 10652715173 016542 0ustar00000000 000000 # Doxyfile 1.4.2 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = RadiusClass # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 2.0b # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = ./doc/ # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = NO # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources # only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. SHOW_DIRECTORIES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from the # version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the progam writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = "./" # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm FILE_PATTERNS = *.c *.cpp *.c++ *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = YES # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_PREDEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that a graph may be further truncated if the graph's # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, which results in a white background. # Warning: Depending on the platform used, enabling this option may lead to # badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO radiusplugin/RadiusClass/utilities/000755 001750 001750 00000000000 11360356527 016224 5ustar00000000 000000 radiusplugin/RadiusClass/utilities/vsa.h000644 001750 001750 00000610016 10650426423 017164 0ustar00000000 000000 /* File was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ #ifndef _VSA_H_ #define _VSA_H_ #define VENDOR_3COM 8741 //VENDOR 3com 8741 #define VENDOR_ACC 5 //VENDOR Acc 5 #define VENDOR_ALCATEL 3041 //VENDOR Alcatel 3041 #define VENDOR_ALTEON 1872 //VENDOR Alteon 1872 #define VENDOR_ALTIGA 3076 //VENDOR Altiga 3076 #define VENDOR_APTIS 2637 //VENDOR Aptis 2637 #define VENDOR_ASCEND 529 //VENDOR Ascend 529 #define VENDOR_BAY_NETWORKS 1584 //VENDOR Bay-Networks 1584 #define VENDOR_BINTEC 272 //VENDOR BinTec 272 #define VENDOR_CABLETRON 52 //VENDOR Cabletron 52 #define VENDOR_CISCO 9 //VENDOR Cisco 9 #define VENDOR_CISCO_BBSM 5263 //VENDOR Cisco-BBSM 5263 #define VENDOR_CISCO_VPN5000 255 //VENDOR Cisco-VPN5000 255 #define VENDOR_COLUBRIS 8744 //VENDOR Colubris 8744 #define VENDOR_ERX 4874 //VENDOR ERX 4874 #define VENDOR_EXTREME 1916 //VENDOR Extreme 1916 #define VENDOR_FOUNDRY 1991 //VENDOR Foundry 1991 #define VENDOR_ITK 1195 //VENDOR ITK 1195 #define VENDOR_JUNIPER 2636 //VENDOR Juniper 2636 #define VENDOR_KARLNET 762 //VENDOR KarlNet 762 #define VENDOR_LIVINGSTON 307 //VENDOR Livingston 307 #define VENDOR_MICROSOFT 311 //VENDOR Microsoft 311 #define VENDOR_NETSCREEN 3224 //VENDOR Netscreen 3224 #define VENDOR_NOMADIX 3309 //VENDOR Nomadix 3309 #define VENDOR_QUINTUM 6618 //VENDOR Quintum 6618 #define VENDOR_REDBACK 2352 //VENDOR Redback 2352 #define VENDOR_REDCREEK 1958 //VENDOR RedCreek 1958 #define VENDOR_SHASTA 3199 //VENDOR Shasta 3199 #define VENDOR_SHIVA 166 //VENDOR Shiva 166 #define VENDOR_SPRINGTIDE 3551 //VENDOR SpringTide 3551 #define VENDOR_TELEBIT 117 //VENDOR Telebit 117 #define VENDOR_USR 429 //VENDOR USR 429 #define VENDOR_VERSANET 2180 //VENDOR Versanet 2180 #define VENDOR_WISPR 14122 //VENDOR WISPr 14122 #define VENDOR_XEDIA 838 //VENDOR Xedia 838 // //ATTRIBUTE User-Name 1 string //ATTRIBUTE Password 2 string //ATTRIBUTE Challenge-Response 3 string //ATTRIBUTE NAS-Identifier 4 ipaddr //ATTRIBUTE NAS-Port 5 integer //ATTRIBUTE User-Service 6 integer //ATTRIBUTE Framed-Protocol 7 integer //ATTRIBUTE Framed-Address 8 ipaddr //ATTRIBUTE Framed-Netmask 9 ipaddr //ATTRIBUTE Framed-Routing 10 integer //ATTRIBUTE Framed-Filter 11 string //ATTRIBUTE Framed-MTU 12 integer //ATTRIBUTE Framed-Compression 13 integer //ATTRIBUTE Login-Host 14 ipaddr //ATTRIBUTE Login-Service 15 integer //ATTRIBUTE Login-TCP-Port 16 integer //ATTRIBUTE Change-Password 17 string //ATTRIBUTE Reply-Message 18 string //ATTRIBUTE Callback-Number 19 string //ATTRIBUTE Callback-Name 20 string //ATTRIBUTE Expiration 21 date //ATTRIBUTE Framed-Route 22 string //ATTRIBUTE Framed-IPX-Network 23 integer //ATTRIBUTE State 24 string //ATTRIBUTE Class 25 string //ATTRIBUTE Vendor-Specific 26 string //ATTRIBUTE Session-Timeout 27 integer //ATTRIBUTE Idle-Timeout 28 integer //ATTRIBUTE Termination-Action 29 integer //ATTRIBUTE NAS-Port-DNIS 30 string //ATTRIBUTE Caller-Id 31 string //ATTRIBUTE NAS-Identifier 32 string //ATTRIBUTE Proxy-State 33 string //ATTRIBUTE Login-LAT-Service 34 string //ATTRIBUTE Login-LAT-Node 35 string //ATTRIBUTE Login-LAT-Group 36 string //ATTRIBUTE Framed-AppleTalk-Link 37 integer //ATTRIBUTE Framed-AppleTalk-Network 38 integer //ATTRIBUTE Framed-AppleTalk-Zone 39 string //ATTRIBUTE Acct-Status-Type 40 integer //ATTRIBUTE Acct-Delay-Time 41 integer //ATTRIBUTE Acct-Input-Octets 42 integer //ATTRIBUTE Acct-Output-Octets 43 integer //ATTRIBUTE Acct-Session-Id 44 string //ATTRIBUTE Acct-Authentic 45 integer //ATTRIBUTE Acct-Session-Time 46 integer //ATTRIBUTE Acct-Input-Packets 47 integer //ATTRIBUTE Acct-Output-Packets 48 integer //ATTRIBUTE Acct-Terminate-Cause 49 integer //ATTRIBUTE Acct-Multi-Session-ID 50 string //ATTRIBUTE Acct-Link-Count 51 integer //ATTRIBUTE Acct-Input-Gigawords 52 integer //ATTRIBUTE Acct-Output-Gigawords 53 integer //ATTRIBUTE Event-Time 55 date //ATTRIBUTE CHAP-Challenge 60 string //ATTRIBUTE NAS-Port-Type 61 integer //ATTRIBUTE Port-Limit 62 integer //ATTRIBUTE Login-LAT-Port 63 string //ATTRIBUTE Tunnel-Type 64 tag_integer //ATTRIBUTE Tunnel-Medium-Type 65 tag_integer //ATTRIBUTE Tunnel-Client-Endpoint 66 tag_string //ATTRIBUTE Tunnel-Server-Endpoirt 67 tag_string //ATTRIBUTE Tunnel-Connection 68 string //ATTRIBUTE Tunnel-Password 69 tag_string //ATTRIBUTE ARAP-Password 70 string //ATTRIBUTE ARAP-Features 71 string //ATTRIBUTE ARAP-Zone-Access 72 integer //ATTRIBUTE ARAP-Security 73 integer //ATTRIBUTE ARAP-Security-Data 74 string //ATTRIBUTE Password-Retry 75 integer //ATTRIBUTE Prompt 76 integer //ATTRIBUTE Connect-Info 77 string //ATTRIBUTE Configuration-Token 78 string //ATTRIBUTE EAP-Message 79 string //ATTRIBUTE Signature 80 string //ATTRIBUTE Tunnel-Private-Group-ID 81 tag_string //ATTRIBUTE Tunnel-Assignment-ID 82 tag_string //ATTRIBUTE Tunnel-Preference 83 tag_integer //ATTRIBUTE ARAP-Challenge-Response 84 string //ATTRIBUTE Acct-Interim-Interval 85 string //ATTRIBUTE Acct-Tunnel-Packets-Lost 86 integer //ATTRIBUTE NAS-Port-Id 87 string //ATTRIBUTE Framed-Pool 88 string //ATTRIBUTE Ascend-Filter 90 string //ATTRIBUTE Ascend-Telnet-Profile 91 string //ATTRIBUTE NAS-IPv6-Address 95 ipaddr6 //ATTRIBUTE Login-IPv6-Host 98 ipaddr6 //ATTRIBUTE Framed-IPv6-Route 99 string //ATTRIBUTE Framed-IPv6-Pool 100 string //ATTRIBUTE X-Ascend-FCP-Parameter 119 string //ATTRIBUTE Ascend-Modem-PortNo 120 integer //ATTRIBUTE Ascend-Modem-SlotNo 121 integer //ATTRIBUTE Ascend-Modem-ShelfNo 122 integer //ATTRIBUTE X-Ascend-Call-Attempt-Limit 123 integer //ATTRIBUTE X-Ascend-Call-Block-Duration 124 integer //ATTRIBUTE X-Ascend-Maximum-Call-Duration 125 integer //ATTRIBUTE X-Ascend-Temporary-Rtes 126 integer //ATTRIBUTE X-Ascend-Tunneling-Protocol 127 integer //ATTRIBUTE Ascend-Shared-Profile-Enable 128 integer //ATTRIBUTE X-Ascend-Primary-Home-Agent 129 string //ATTRIBUTE X-Ascend-Secondary-Home-Agent 130 string //ATTRIBUTE X-Ascend-Dialout-Allowed 131 integer //ATTRIBUTE X-Ascend-Client-Gateway 132 ipaddr //ATTRIBUTE Ascend-BACP-Enable 133 integer //ATTRIBUTE X-Ascend-DHCP-Maximum-Leases 134 integer //ATTRIBUTE X-Ascend-Client-Primary-DNS 135 ipaddr //ATTRIBUTE X-Ascend-Client-Secondary-DNS 136 ipaddr //ATTRIBUTE X-Ascend-Client-Assign-DNS 137 integer //ATTRIBUTE X-Ascend-User-Acct-Type 138 integer //ATTRIBUTE X-Ascend-User-Acct-Host 139 ipaddr //ATTRIBUTE X-Ascend-User-Acct-Port 140 integer //ATTRIBUTE X-Ascend-User-Acct-Key 141 string //ATTRIBUTE X-Ascend-User-Acct-Base 142 integer //ATTRIBUTE X-Ascend-User-Acct-Time 143 integer //ATTRIBUTE X-Ascend-Assign-IP-Client 144 ipaddr //ATTRIBUTE X-Ascend-Assign-IP-Server 145 ipaddr //ATTRIBUTE X-Ascend-Assign-IP-Global-Pool 146 string //ATTRIBUTE X-Ascend-DHCP-Reply 147 integer //ATTRIBUTE X-Ascend-DHCP-Pool-Number 148 integer //ATTRIBUTE X-Ascend-Expect-Callback 149 integer //ATTRIBUTE X-Ascend-Event-Type 150 integer //ATTRIBUTE X-Ascend-Session-Svr-Key 151 string //ATTRIBUTE X-Ascend-Multicast-Rate-Limit 152 integer //ATTRIBUTE X-Ascend-IF-Netmask 153 ipaddr //ATTRIBUTE X-Ascend-Remote-Addr 154 ipaddr //ATTRIBUTE X-Ascend-Multicast-Client 155 integer //ATTRIBUTE X-Ascend-FR-Circuit-Name 156 string //ATTRIBUTE X-Ascend-FR-LinkUp 157 integer //ATTRIBUTE X-Ascend-FR-Nailed-Grp 158 integer //ATTRIBUTE X-Ascend-FR-Type 159 integer //ATTRIBUTE X-Ascend-FR-Link-Mgt 160 integer //ATTRIBUTE X-Ascend-FR-N391 161 integer //ATTRIBUTE X-Ascend-FR-DCE-N392 162 integer //ATTRIBUTE X-Ascend-FR-DTE-N392 163 integer //ATTRIBUTE X-Ascend-FR-DCE-N393 164 integer //ATTRIBUTE X-Ascend-FR-DTE-N393 165 integer //ATTRIBUTE X-Ascend-FR-T391 166 integer //ATTRIBUTE X-Ascend-FR-T392 167 integer //ATTRIBUTE X-Ascend-Bridge-Address 168 string //ATTRIBUTE X-Ascend-TS-Idle-Limit 169 integer //ATTRIBUTE X-Ascend-TS-Idle-Mode 170 integer //ATTRIBUTE X-Ascend-DBA-Monitor 171 integer //ATTRIBUTE Ascend-Base-Channel-Count 172 integer //ATTRIBUTE X-Ascend-Minimum-Channels 173 integer //ATTRIBUTE X-Ascend-IPX-Route 174 string //ATTRIBUTE X-Ascend-FT1-Caller 175 integer //ATTRIBUTE Ascend-Backup 176 string //ATTRIBUTE X-Ascend-Call-Type 177 integer //ATTRIBUTE X-Ascend-Group 178 string //ATTRIBUTE X-Ascend-FR-DLCI 179 integer //ATTRIBUTE X-Ascend-FR-Profile-Name 180 string //ATTRIBUTE X-Ascend-Ara-PW 181 string //ATTRIBUTE X-Ascend-IPX-Node-Addr 182 string //ATTRIBUTE X-Ascend-Home-Agent-IP-Addr 183 ipaddr //ATTRIBUTE X-Ascend-Home-Agent-Password 184 string //ATTRIBUTE X-Ascend-Home-Network-Name 185 string //ATTRIBUTE X-Ascend-Home-Agent-UDP-Port 186 integer //ATTRIBUTE Ascend-Multilink-ID 187 integer //ATTRIBUTE Ascend-Num-In-Multilink 188 integer //ATTRIBUTE Ascend-First-Dest 189 ipaddr //ATTRIBUTE Ascend-Pre-Input-Octets 190 integer //ATTRIBUTE Ascend-Pre-Output-Octets 191 integer //ATTRIBUTE Ascend-Pre-Input-Packets 192 integer //ATTRIBUTE Ascend-Pre-Output-Packets 193 integer //ATTRIBUTE Ascend-Maximum-Time 194 integer //ATTRIBUTE Ascend-Disconnect-Cause 195 integer //ATTRIBUTE Ascend-Connect-Progress 196 integer //ATTRIBUTE Ascend-Data-Rate 197 integer //ATTRIBUTE Ascend-PreSession-Time 198 integer //ATTRIBUTE Ascend-Token-Idle 199 integer //ATTRIBUTE Ascend-Token-Immediate 200 integer //ATTRIBUTE Ascend-Require-Auth 201 integer //ATTRIBUTE Ascend-Number-Sessions 202 string //ATTRIBUTE Ascend-Authen-Alias 203 string //ATTRIBUTE Ascend-Token-Expiry 204 integer //ATTRIBUTE Ascend-Menu-Selector 205 string //ATTRIBUTE Ascend-Menu-Item 206 string //ATTRIBUTE Ascend-PW-Warntime 207 integer //ATTRIBUTE Ascend-PW-Lifetime 208 integer //ATTRIBUTE Ascend-IP-Direct 209 ipaddr //ATTRIBUTE Ascend-PPP-VJ-Slot-Comp 210 integer //ATTRIBUTE Ascend-PPP-VJ-1172 211 integer //ATTRIBUTE Ascend-PPP-Async-Map 212 integer //ATTRIBUTE Ascend-Third-Prompt 213 string //ATTRIBUTE Ascend-Send-Secret 214 string //ATTRIBUTE Ascend-Receive-Secret 215 string //ATTRIBUTE Ascend-IPX-Peer-Mode 216 integer //ATTRIBUTE Ascend-IP-Pool-Definition 217 string //ATTRIBUTE Ascend-Assign-IP-Pool 218 integer //ATTRIBUTE Ascend-FR-Direct 219 integer //ATTRIBUTE Ascend-FR-Direct-Profile 220 string //ATTRIBUTE Ascend-FR-Direct-DLCI 221 integer //ATTRIBUTE Ascend-Handle-IPX 222 integer //ATTRIBUTE Ascend-Netware-timeout 223 integer //ATTRIBUTE Ascend-IPX-Alias 224 integer //ATTRIBUTE Ascend-Metric 225 integer //ATTRIBUTE Ascend-PRI-Number-Type 226 integer //ATTRIBUTE Ascend-Dial-Number 227 string //ATTRIBUTE Ascend-Route-IP 228 integer //ATTRIBUTE Ascend-Route-IPX 229 integer //ATTRIBUTE Ascend-Bridge 230 integer //ATTRIBUTE Ascend-Send-Auth 231 integer //ATTRIBUTE Ascend-Send-Passwd 232 string //ATTRIBUTE Ascend-Link-Compression 233 integer //ATTRIBUTE Ascend-Target-Util 234 integer //ATTRIBUTE Ascend-Maximum-Channels 235 integer //ATTRIBUTE Ascend-Inc-Channel-Count 236 integer //ATTRIBUTE Ascend-Dec-Channel-Count 237 integer //ATTRIBUTE Ascend-Seconds-Of-History 238 integer //ATTRIBUTE Ascend-History-Weigh-Type 239 integer //ATTRIBUTE Ascend-Add-Seconds 240 integer //ATTRIBUTE Ascend-Remove-Seconds 241 integer //ATTRIBUTE Ascend-Idle-Limit 244 integer //ATTRIBUTE Ascend-Preempt-Limit 245 integer //ATTRIBUTE Ascend-Callback 246 integer //ATTRIBUTE Ascend-Data-Svc 247 integer //ATTRIBUTE Ascend-Force-56 248 integer //ATTRIBUTE Ascend-Billing-Number 249 string //ATTRIBUTE Ascend-Call-By-Call 250 integer //ATTRIBUTE Ascend-Transit-Number 251 string //ATTRIBUTE Ascend-Host-Info 252 string //ATTRIBUTE Ascend-PPP-Address 253 ipaddr //ATTRIBUTE Ascend-MPP-Idle-Percent 254 integer //ATTRIBUTE Ascend-Xmit-Rate 255 integer #define ATTRIBUTE_ACC_REASON_CODE 1 //ATTRIBUTE Acc-Reason-Code 1 integer Acc #define ATTRIBUTE_ACC_CCP_OPTION 2 //ATTRIBUTE Acc-Ccp-Option 2 integer Acc #define ATTRIBUTE_ACC_INPUT_ERRORS 3 //ATTRIBUTE Acc-Input-Errors 3 integer Acc #define ATTRIBUTE_ACC_OUTPUT_ERRORS 4 //ATTRIBUTE Acc-Output-Errors 4 integer Acc #define ATTRIBUTE_ACC_ACCESS_PARTITION 5 //ATTRIBUTE Acc-Access-Partition 5 string Acc #define ATTRIBUTE_ACC_CUSTOMER_ID 6 //ATTRIBUTE Acc-Customer-Id 6 string Acc #define ATTRIBUTE_ACC_IP_GATEWAY_PRI 7 //ATTRIBUTE Acc-Ip-Gateway-Pri 7 ipaddr Acc #define ATTRIBUTE_ACC_IP_GATEWAY_SEC 8 //ATTRIBUTE Acc-Ip-Gateway-Sec 8 ipaddr Acc #define ATTRIBUTE_ACC_ROUTE_POLICY 9 //ATTRIBUTE Acc-Route-Policy 9 integer Acc #define ATTRIBUTE_ACC_ML_MLX_ADMIN_STATE 10 //ATTRIBUTE Acc-ML-MLX-Admin-State 10 integer Acc #define ATTRIBUTE_ACC_ML_CALL_THRESHOLD 11 //ATTRIBUTE Acc-ML-Call-Threshold 11 integer Acc #define ATTRIBUTE_ACC_ML_CLEAR_THRESHOLD 12 //ATTRIBUTE Acc-ML-Clear-Threshold 12 integer Acc #define ATTRIBUTE_ACC_ML_DAMPING_FACTOR 13 //ATTRIBUTE Acc-ML-Damping-Factor 13 integer Acc #define ATTRIBUTE_ACC_TUNNEL_SECRET 14 //ATTRIBUTE Acc-Tunnel-Secret 14 string Acc #define ATTRIBUTE_ACC_CLEARING_CAUSE 15 //ATTRIBUTE Acc-Clearing-Cause 15 integer Acc #define ATTRIBUTE_ACC_CLEARING_LOCATION 16 //ATTRIBUTE Acc-Clearing-Location 16 integer Acc #define ATTRIBUTE_ACC_SERVICE_PROFILE 17 //ATTRIBUTE Acc-Service-Profile 17 string Acc #define ATTRIBUTE_ACC_REQUEST_TYPE 18 //ATTRIBUTE Acc-Request-Type 18 integer Acc #define ATTRIBUTE_ACC_BRIDGING_SUPPORT 19 //ATTRIBUTE Acc-Bridging-Support 19 integer Acc #define ATTRIBUTE_ACC_APSM_OVERSUBSCRIBED 20 //ATTRIBUTE Acc-Apsm-Oversubscribed 20 integer Acc #define ATTRIBUTE_ACC_ACCT_ON_OFF_REASON 21 //ATTRIBUTE Acc-Acct-On-Off-Reason 21 integer Acc #define ATTRIBUTE_ACC_TUNNEL_PORT 22 //ATTRIBUTE Acc-Tunnel-Port 22 integer Acc #define ATTRIBUTE_ACC_DNS_SERVER_PRI 23 //ATTRIBUTE Acc-Dns-Server-Pri 23 ipaddr Acc #define ATTRIBUTE_ACC_DNS_SERVER_SEC 24 //ATTRIBUTE Acc-Dns-Server-Sec 24 ipaddr Acc #define ATTRIBUTE_ACC_NBNS_SERVER_PRI 25 //ATTRIBUTE Acc-Nbns-Server-Pri 25 ipaddr Acc #define ATTRIBUTE_ACC_NBNS_SERVER_SEC 26 //ATTRIBUTE Acc-Nbns-Server-Sec 26 ipaddr Acc #define ATTRIBUTE_ACC_DIAL_PORT_INDEX 27 //ATTRIBUTE Acc-Dial-Port-Index 27 integer Acc #define ATTRIBUTE_ACC_IP_COMPRESSION 28 //ATTRIBUTE Acc-Ip-Compression 28 integer Acc #define ATTRIBUTE_ACC_IPX_COMPRESSION 29 //ATTRIBUTE Acc-Ipx-Compression 29 integer Acc #define ATTRIBUTE_ACC_CONNECT_TX_SPEED 30 //ATTRIBUTE Acc-Connect-Tx-Speed 30 integer Acc #define ATTRIBUTE_ACC_CONNECT_RX_SPEED 31 //ATTRIBUTE Acc-Connect-Rx-Speed 31 integer Acc #define ATTRIBUTE_ACC_MODEM_MODULATION_TYPE 32 //ATTRIBUTE Acc-Modem-Modulation-Type 32 string Acc #define ATTRIBUTE_ACC_MODEM_ERROR_PROTOCOL 33 //ATTRIBUTE Acc-Modem-Error-Protocol 33 string Acc #define ATTRIBUTE_ACC_CALLBACK_DELAY 34 //ATTRIBUTE Acc-Callback-Delay 34 integer Acc #define ATTRIBUTE_ACC_CALLBACK_NUM_VALID 35 //ATTRIBUTE Acc-Callback-Num-Valid 35 string Acc #define ATTRIBUTE_ACC_CALLBACK_MODE 36 //ATTRIBUTE Acc-Callback-Mode 36 integer Acc #define ATTRIBUTE_ACC_CALLBACK_CBCP_TYPE 37 //ATTRIBUTE Acc-Callback-CBCP-Type 37 integer Acc #define ATTRIBUTE_ACC_DIALOUT_AUTH_MODE 38 //ATTRIBUTE Acc-Dialout-Auth-Mode 38 integer Acc #define ATTRIBUTE_ACC_DIALOUT_AUTH_PASSWORD 39 //ATTRIBUTE Acc-Dialout-Auth-Password 39 string Acc #define ATTRIBUTE_ACC_DIALOUT_AUTH_USERNAME 40 //ATTRIBUTE Acc-Dialout-Auth-Username 40 string Acc #define ATTRIBUTE_ACC_ACCESS_COMMUNITY 42 //ATTRIBUTE Acc-Access-Community 42 integer Acc #define ATTRIBUTE_ACC_VPSM_REJECT_CAUSE 43 //ATTRIBUTE Acc-Vpsm-Reject-Cause 43 integer Acc #define ATTRIBUTE_ACC_ACE_TOKEN 44 //ATTRIBUTE Acc-Ace-Token 44 string Acc #define ATTRIBUTE_ACC_ACE_TOKEN_TTL 45 //ATTRIBUTE Acc-Ace-Token-Ttl 45 integer Acc #define ATTRIBUTE_ACC_IP_POOL_NAME 46 //ATTRIBUTE Acc-Ip-Pool-Name 46 string Acc #define ATTRIBUTE_ACC_IGMP_ADMIN_STATE 47 //ATTRIBUTE Acc-Igmp-Admin-State 47 integer Acc #define ATTRIBUTE_ACC_IGMP_VERSION 48 //ATTRIBUTE Acc-Igmp-Version 48 integer Acc #define ATTRIBUTE_CISCO_AVPAIR 1 //ATTRIBUTE Cisco-AVPair 1 string Cisco #define ATTRIBUTE_CISCO_NAS_PORT 2 //ATTRIBUTE Cisco-NAS-Port 2 string Cisco #define ATTRIBUTE_H323_REMOTE_ADDRESS 23 //ATTRIBUTE h323-remote-address 23 string Cisco #define ATTRIBUTE_H323_CONF_ID 24 //ATTRIBUTE h323-conf-id 24 string Cisco #define ATTRIBUTE_H323_SETUP_TIME 25 //ATTRIBUTE h323-setup-time 25 string Cisco #define ATTRIBUTE_H323_CALL_ORIGIN 26 //ATTRIBUTE h323-call-origin 26 string Cisco #define ATTRIBUTE_H323_CALL_TYPE 27 //ATTRIBUTE h323-call-type 27 string Cisco #define ATTRIBUTE_H323_CONNECT_TIME 28 //ATTRIBUTE h323-connect-time 28 string Cisco #define ATTRIBUTE_H323_DISCONNECT_TIME 29 //ATTRIBUTE h323-disconnect-time 29 string Cisco #define ATTRIBUTE_H323_DISCONNECT_CAUSE 30 //ATTRIBUTE h323-disconnect-cause 30 string Cisco #define ATTRIBUTE_H323_VOICE_QUALITY 31 //ATTRIBUTE h323-voice-quality 31 string Cisco #define ATTRIBUTE_H323_GW_ID 33 //ATTRIBUTE h323-gw-id 33 string Cisco #define ATTRIBUTE_H323_INCOMING_CONF_ID 35 //ATTRIBUTE h323-incoming-conf-id 35 string Cisco #define ATTRIBUTE_H323_CREDIT_AMOUNT 101 //ATTRIBUTE h323-credit-amount 101 string Cisco #define ATTRIBUTE_H323_CREDIT_TIME 102 //ATTRIBUTE h323-credit-time 102 string Cisco #define ATTRIBUTE_H323_RETURN_CODE 103 //ATTRIBUTE h323-return-code 103 string Cisco #define ATTRIBUTE_H323_PROMPT_ID 104 //ATTRIBUTE h323-prompt-id 104 string Cisco #define ATTRIBUTE_H323_TIME_AND_DAY 105 //ATTRIBUTE h323-time-and-day 105 string Cisco #define ATTRIBUTE_H323_REDIRECT_NUMBER 106 //ATTRIBUTE h323-redirect-number 106 string Cisco #define ATTRIBUTE_H323_PREFERRED_LANG 107 //ATTRIBUTE h323-preferred-lang 107 string Cisco #define ATTRIBUTE_H323_REDIRECT_IP_ADDRESS 108 //ATTRIBUTE h323-redirect-ip-address 108 string Cisco #define ATTRIBUTE_H323_BILLING_MODEL 109 //ATTRIBUTE h323-billing-model 109 string Cisco #define ATTRIBUTE_H323_CURRENCY 110 //ATTRIBUTE h323-currency 110 string Cisco #define ATTRIBUTE_CISCO_MULTILINK_ID 187 //ATTRIBUTE Cisco-Multilink-ID 187 integer Cisco #define ATTRIBUTE_CISCO_NUM_IN_MULTILINK 188 //ATTRIBUTE Cisco-Num-In-Multilink 188 integer Cisco #define ATTRIBUTE_CISCO_PRE_INPUT_OCTETS 190 //ATTRIBUTE Cisco-Pre-Input-Octets 190 integer Cisco #define ATTRIBUTE_CISCO_PRE_OUTPUT_OCTETS 191 //ATTRIBUTE Cisco-Pre-Output-Octets 191 integer Cisco #define ATTRIBUTE_CISCO_PRE_INPUT_PACKETS 192 //ATTRIBUTE Cisco-Pre-Input-Packets 192 integer Cisco #define ATTRIBUTE_CISCO_PRE_OUTPUT_PACKETS 193 //ATTRIBUTE Cisco-Pre-Output-Packets 193 integer Cisco #define ATTRIBUTE_CISCO_MAXIMUM_TIME 194 //ATTRIBUTE Cisco-Maximum-Time 194 integer Cisco #define ATTRIBUTE_CISCO_DISCONNECT_CAUSE 195 //ATTRIBUTE Cisco-Disconnect-Cause 195 integer Cisco #define ATTRIBUTE_CISCO_DATA_RATE 197 //ATTRIBUTE Cisco-Data-Rate 197 integer Cisco #define ATTRIBUTE_CISCO_PRESESSION_TIME 198 //ATTRIBUTE Cisco-PreSession-Time 198 integer Cisco #define ATTRIBUTE_CISCO_PW_LIFETIME 208 //ATTRIBUTE Cisco-PW-Lifetime 208 integer Cisco #define ATTRIBUTE_CISCO_IP_DIRECT 209 //ATTRIBUTE Cisco-IP-Direct 209 integer Cisco #define ATTRIBUTE_CISCO_PPP_VJ_SLOT_COMP 210 //ATTRIBUTE Cisco-PPP-VJ-Slot-Comp 210 integer Cisco #define ATTRIBUTE_CISCO_PPP_ASYNC_MAP 212 //ATTRIBUTE Cisco-PPP-Async-Map 212 integer Cisco #define ATTRIBUTE_CISCO_IP_POOL_DEFINITION 217 //ATTRIBUTE Cisco-IP-Pool-Definition 217 integer Cisco #define ATTRIBUTE_CISCO_ASSIGN_IP_POOL 218 //ATTRIBUTE Cisco-Assign-IP-Pool 218 integer Cisco #define ATTRIBUTE_CISCO_ROUTE_IP 228 //ATTRIBUTE Cisco-Route-IP 228 integer Cisco #define ATTRIBUTE_CISCO_LINK_COMPRESSION 233 //ATTRIBUTE Cisco-Link-Compression 233 integer Cisco #define ATTRIBUTE_CISCO_TARGET_UTIL 234 //ATTRIBUTE Cisco-Target-Util 234 integer Cisco #define ATTRIBUTE_CISCO_MAXIMUM_CHANNELS 235 //ATTRIBUTE Cisco-Maximum-Channels 235 integer Cisco #define ATTRIBUTE_CISCO_DATA_FILTER 242 //ATTRIBUTE Cisco-Data-Filter 242 integer Cisco #define ATTRIBUTE_CISCO_CALL_FILTER 243 //ATTRIBUTE Cisco-Call-Filter 243 integer Cisco #define ATTRIBUTE_CISCO_IDLE_LIMIT 244 //ATTRIBUTE Cisco-Idle-Limit 244 integer Cisco #define ATTRIBUTE_CISCO_ACCOUNT_INFO 250 //ATTRIBUTE Cisco-Account-Info 250 string Cisco #define ATTRIBUTE_CISCO_SERVICE_INFO 251 //ATTRIBUTE Cisco-Service-Info 251 string Cisco #define ATTRIBUTE_CISCO_COMMAND_CODE 252 //ATTRIBUTE Cisco-Command-Code 252 string Cisco #define ATTRIBUTE_CISCO_CONTROL_INFO 253 //ATTRIBUTE Cisco-Control-Info 253 string Cisco #define ATTRIBUTE_CISCO_XMIT_RATE 255 //ATTRIBUTE Cisco-Xmit-Rate 255 integer Cisco #define ATTRIBUTE_CABLETRON_PROTOCOL_ENABLE 201 //ATTRIBUTE Cabletron-Protocol-Enable 201 integer Cabletron #define ATTRIBUTE_CABLETRON_PROTOCOL_CALLABLE 202 //ATTRIBUTE Cabletron-Protocol-Callable 202 integer Cabletron #define ATTRIBUTE_TELEBIT_LOGIN_COMMAND 1 //ATTRIBUTE Telebit-Login-Command 1 string Telebit #define ATTRIBUTE_TELEBIT_PORT_NAME 2 //ATTRIBUTE Telebit-Port-Name 2 string Telebit #define ATTRIBUTE_TELEBIT_ACTIVATE_COMMAND 3 //ATTRIBUTE Telebit-Activate-Command 3 string Telebit #define ATTRIBUTE_TELEBIT_ACCOUNTING_INFO 4 //ATTRIBUTE Telebit-Accounting-Info 4 string Telebit #define ATTRIBUTE_SHIVA_USER_ATTRIBUTES 1 //ATTRIBUTE Shiva-User-Attributes 1 string Shiva #define ATTRIBUTE_SHIVA_CALLED_NUMBER 90 //ATTRIBUTE Shiva-Called-Number 90 string Shiva #define ATTRIBUTE_SHIVA_CALLING_NUMBER 91 //ATTRIBUTE Shiva-Calling-Number 91 string Shiva #define ATTRIBUTE_SHIVA_CUSTOMER_ID 92 //ATTRIBUTE Shiva-Customer-Id 92 string Shiva #define ATTRIBUTE_SHIVA_TYPE_OF_SERVICE 93 //ATTRIBUTE Shiva-Type-Of-Service 93 integer Shiva #define ATTRIBUTE_SHIVA_LINK_SPEED 94 //ATTRIBUTE Shiva-Link-Speed 94 integer Shiva #define ATTRIBUTE_SHIVA_LINKS_IN_BUNDLE 95 //ATTRIBUTE Shiva-Links-In-Bundle 95 integer Shiva #define ATTRIBUTE_SHIVA_COMPRESSION_TYPE 96 //ATTRIBUTE Shiva-Compression-Type 96 integer Shiva #define ATTRIBUTE_SHIVA_LINK_PROTOCOL 97 //ATTRIBUTE Shiva-Link-Protocol 97 integer Shiva #define ATTRIBUTE_SHIVA_NETWORK_PROTOCOLS 98 //ATTRIBUTE Shiva-Network-Protocols 98 integer Shiva #define ATTRIBUTE_SHIVA_SESSION_ID 99 //ATTRIBUTE Shiva-Session-Id 99 integer Shiva #define ATTRIBUTE_SHIVA_DISCONNECT_REASON 100 //ATTRIBUTE Shiva-Disconnect-Reason 100 integer Shiva #define ATTRIBUTE_SHIVA_ACCT_SERV_SWITCH 101 //ATTRIBUTE Shiva-Acct-Serv-Switch 101 ipaddr Shiva #define ATTRIBUTE_SHIVA_EVENT_FLAGS 102 //ATTRIBUTE Shiva-Event-Flags 102 integer Shiva #define ATTRIBUTE_SHIVA_FUNCTION 103 //ATTRIBUTE Shiva-Function 103 integer Shiva #define ATTRIBUTE_SHIVA_CONNECT_REASON 104 //ATTRIBUTE Shiva-Connect-Reason 104 integer Shiva #define ATTRIBUTE_CVPN5000_TUNNEL_THROUGHPUT 1 //ATTRIBUTE CVPN5000-Tunnel-Throughput 1 integer Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_CLIENT_ASSIGNED_IP 2 //ATTRIBUTE CVPN5000-Client-Assigned-IP 2 string Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_CLIENT_REAL_IP 3 //ATTRIBUTE CVPN5000-Client-Real-IP 3 string Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_VPN_GROUPINFO 4 //ATTRIBUTE CVPN5000-VPN-GroupInfo 4 string Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_VPN_PASSWORD 5 //ATTRIBUTE CVPN5000-VPN-Password 5 string Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_ECHO 6 //ATTRIBUTE CVPN5000-Echo 6 integer Cisco-VPN5000 #define ATTRIBUTE_CVPN5000_CLIENT_ASSIGNED_IPX 7 //ATTRIBUTE CVPN5000-Client-Assigned-IPX 7 integer Cisco-VPN5000 #define ATTRIBUTE_BINTEC_BIBOPPPTABLE 224 //ATTRIBUTE BinTec-biboPPPTable 224 string BinTec #define ATTRIBUTE_BINTEC_BIBODIALTABLE 225 //ATTRIBUTE BinTec-biboDialTable 225 string BinTec #define ATTRIBUTE_BINTEC_IPEXTIFTABLE 226 //ATTRIBUTE BinTec-ipExtIfTable 226 string BinTec #define ATTRIBUTE_BINTEC_IPROUTETABLE 227 //ATTRIBUTE BinTec-ipRouteTable 227 string BinTec #define ATTRIBUTE_BINTEC_IPEXTRTTABLE 228 //ATTRIBUTE BinTec-ipExtRtTable 228 string BinTec #define ATTRIBUTE_BINTEC_IPNATPRESETTABLE 229 //ATTRIBUTE BinTec-ipNatPresetTable 229 string BinTec #define ATTRIBUTE_BINTEC_IPXCIRCTABLE 230 //ATTRIBUTE BinTec-ipxCircTable 230 string BinTec #define ATTRIBUTE_BINTEC_RIPCIRCTABLE 231 //ATTRIBUTE BinTec-ripCircTable 231 string BinTec #define ATTRIBUTE_BINTEC_SAPCIRCTABLE 232 //ATTRIBUTE BinTec-sapCircTable 232 string BinTec #define ATTRIBUTE_BINTEC_IPXSTATICROUTETABLE 233 //ATTRIBUTE BinTec-ipxStaticRouteTable 233 string BinTec #define ATTRIBUTE_BINTEC_IPXSTATICSERVTABLE 234 //ATTRIBUTE BinTec-ipxStaticServTable 234 string BinTec #define ATTRIBUTE_BINTEC_OSPFIFTABLE 235 //ATTRIBUTE BinTec-ospfIfTable 235 string BinTec #define ATTRIBUTE_BINTEC_PPPEXTIFTABLE 236 //ATTRIBUTE BinTec-pppExtIfTable 236 string BinTec #define ATTRIBUTE_BINTEC_IPFILTERTABLE 237 //ATTRIBUTE BinTec-ipFilterTable 237 string BinTec #define ATTRIBUTE_BINTEC_IPQOSTABLE 238 //ATTRIBUTE BinTec-ipQoSTable 238 string BinTec #define ATTRIBUTE_BINTEC_QOSIFTABLE 239 //ATTRIBUTE BinTec-qosIfTable 239 string BinTec #define ATTRIBUTE_BINTEC_QOSPOLICYTABLE 240 //ATTRIBUTE BinTec-qosPolicyTable 240 string BinTec #define ATTRIBUTE_LE_TERMINATE_DETAIL 2 //ATTRIBUTE LE-Terminate-Detail 2 string Livingston #define ATTRIBUTE_LE_ADVICE_OF_CHARGE 3 //ATTRIBUTE LE-Advice-of-Charge 3 string Livingston #define ATTRIBUTE_LE_CONNECT_DETAIL 4 //ATTRIBUTE LE-Connect-Detail 4 string Livingston #define ATTRIBUTE_LE_IP_POOL 6 //ATTRIBUTE LE-IP-Pool 6 string Livingston #define ATTRIBUTE_LE_IP_GATEWAY 7 //ATTRIBUTE LE-IP-Gateway 7 ipaddr Livingston #define ATTRIBUTE_LE_MODEM_INFO 8 //ATTRIBUTE LE-Modem-Info 8 string Livingston #define ATTRIBUTE_LE_IPSEC_LOG_OPTIONS 9 //ATTRIBUTE LE-IPSec-Log-Options 9 integer Livingston #define ATTRIBUTE_LE_IPSEC_DENY_ACTION 10 //ATTRIBUTE LE-IPSec-Deny-Action 10 integer Livingston #define ATTRIBUTE_LE_IPSEC_ACTIVE_PROFILE 11 //ATTRIBUTE LE-IPSec-Active-Profile 11 string Livingston #define ATTRIBUTE_LE_IPSEC_OUTSOURCE_PROFILE 12 //ATTRIBUTE LE-IPSec-Outsource-Profile 12 string Livingston #define ATTRIBUTE_LE_IPSEC_PASSIVE_PROFILE 13 //ATTRIBUTE LE-IPSec-Passive-Profile 13 string Livingston #define ATTRIBUTE_LE_NAT_TCP_SESSION_TIMEOUT 14 //ATTRIBUTE LE-NAT-TCP-Session-Timeout 14 integer Livingston #define ATTRIBUTE_LE_NAT_OTHER_SESSION_TIMEOUT 15 //ATTRIBUTE LE-NAT-Other-Session-Timeout 15 integer Livingston #define ATTRIBUTE_LE_NAT_LOG_OPTIONS 16 //ATTRIBUTE LE-NAT-Log-Options 16 integer Livingston #define ATTRIBUTE_LE_NAT_SESS_DIR_FAIL_ACTION 17 //ATTRIBUTE LE-NAT-Sess-Dir-Fail-Action 17 integer Livingston #define ATTRIBUTE_LE_NAT_INMAP 18 //ATTRIBUTE LE-NAT-Inmap 18 string Livingston #define ATTRIBUTE_LE_NAT_OUTMAP 19 //ATTRIBUTE LE-NAT-Outmap 19 string Livingston #define ATTRIBUTE_LE_NAT_OUTSOURCE_INMAP 20 //ATTRIBUTE LE-NAT-Outsource-Inmap 20 string Livingston #define ATTRIBUTE_LE_NAT_OUTSOURCE_OUTMAP 21 //ATTRIBUTE LE-NAT-Outsource-Outmap 21 string Livingston #define ATTRIBUTE_LE_ADMIN_GROUP 22 //ATTRIBUTE LE-Admin-Group 22 string Livingston #define ATTRIBUTE_LE_MULTICAST_CLIENT 23 //ATTRIBUTE LE-Multicast-Client 23 integer Livingston #define ATTRIBUTE_MS_CHAP_RESPONSE 1 //ATTRIBUTE MS-CHAP-Response 1 string Microsoft #define ATTRIBUTE_MS_CHAP_ERROR 2 //ATTRIBUTE MS-CHAP-Error 2 string Microsoft #define ATTRIBUTE_MS_CHAP_CPW_1 3 //ATTRIBUTE MS-CHAP-CPW-1 3 string Microsoft #define ATTRIBUTE_MS_CHAP_CPW_2 4 //ATTRIBUTE MS-CHAP-CPW-2 4 string Microsoft #define ATTRIBUTE_MS_CHAP_LM_ENC_PW 5 //ATTRIBUTE MS-CHAP-LM-Enc-PW 5 string Microsoft #define ATTRIBUTE_MS_CHAP_NT_ENC_PW 6 //ATTRIBUTE MS-CHAP-NT-Enc-PW 6 string Microsoft #define ATTRIBUTE_MS_MPPE_ENCRYPTION_POLICY 7 //ATTRIBUTE MS-MPPE-Encryption-Policy 7 string Microsoft #define ATTRIBUTE_MS_MPPE_ENCRYPTION_TYPE 8 //ATTRIBUTE MS-MPPE-Encryption-Type 8 string Microsoft #define ATTRIBUTE_MS_RAS_VENDOR 9 //ATTRIBUTE MS-RAS-Vendor 9 integer Microsoft #define ATTRIBUTE_MS_CHAP_DOMAIN 10 //ATTRIBUTE MS-CHAP-Domain 10 string Microsoft #define ATTRIBUTE_MS_CHAP_CHALLENGE 11 //ATTRIBUTE MS-CHAP-Challenge 11 string Microsoft #define ATTRIBUTE_MS_CHAP_MPPE_KEYS 12 //ATTRIBUTE MS-CHAP-MPPE-Keys 12 string Microsoft #define ATTRIBUTE_MS_BAP_USAGE 13 //ATTRIBUTE MS-BAP-Usage 13 integer Microsoft #define ATTRIBUTE_MS_LINK_UTILIZATION_THRESHOLD 14 //ATTRIBUTE MS-Link-Utilization-Threshold 14 integer Microsoft #define ATTRIBUTE_MS_LINK_DROP_TIME_LIMIT 15 //ATTRIBUTE MS-Link-Drop-Time-Limit 15 integer Microsoft #define ATTRIBUTE_MS_MPPE_SEND_KEY 16 //ATTRIBUTE MS-MPPE-Send-Key 16 string Microsoft #define ATTRIBUTE_MS_MPPE_RECV_KEY 17 //ATTRIBUTE MS-MPPE-Recv-Key 17 string Microsoft #define ATTRIBUTE_MS_RAS_VERSION 18 //ATTRIBUTE MS-RAS-Version 18 string Microsoft #define ATTRIBUTE_MS_OLD_ARAP_PASSWORD 19 //ATTRIBUTE MS-Old-ARAP-Password 19 string Microsoft #define ATTRIBUTE_MS_NEW_ARAP_PASSWORD 20 //ATTRIBUTE MS-New-ARAP-Password 20 string Microsoft #define ATTRIBUTE_MS_ARAP_PW_CHANGE_REASON 21 //ATTRIBUTE MS-ARAP-PW-Change-Reason 21 integer Microsoft #define ATTRIBUTE_MS_FILTER 22 //ATTRIBUTE MS-Filter 22 string Microsoft #define ATTRIBUTE_MS_ACCT_AUTH_TYPE 23 //ATTRIBUTE MS-Acct-Auth-Type 23 integer Microsoft #define ATTRIBUTE_MS_ACCT_EAP_TYPE 24 //ATTRIBUTE MS-Acct-EAP-Type 24 integer Microsoft #define ATTRIBUTE_MS_CHAP2_RESPONSE 25 //ATTRIBUTE MS-CHAP2-Response 25 string Microsoft #define ATTRIBUTE_MS_CHAP2_SUCCESS 26 //ATTRIBUTE MS-CHAP2-Success 26 string Microsoft #define ATTRIBUTE_MS_CHAP2_CPW 27 //ATTRIBUTE MS-CHAP2-CPW 27 string Microsoft #define ATTRIBUTE_MS_PRIMARY_DNS_SERVER 28 //ATTRIBUTE MS-Primary-DNS-Server 28 ipaddr Microsoft #define ATTRIBUTE_MS_SECONDARY_DNS_SERVER 29 //ATTRIBUTE MS-Secondary-DNS-Server 29 ipaddr Microsoft #define ATTRIBUTE_MS_PRIMARY_NBNS_SERVER 30 //ATTRIBUTE MS-Primary-NBNS-Server 30 ipaddr Microsoft #define ATTRIBUTE_MS_SECONDARY_NBNS_SERVER 31 //ATTRIBUTE MS-Secondary-NBNS-Server 31 ipaddr Microsoft #define ATTRIBUTE_DTE_DATA_IDLE_TIMOUT 72 //ATTRIBUTE DTE-Data-Idle-Timout 72 integer USR #define ATTRIBUTE_DEFAULT_DTE_DATA_RATE 94 //ATTRIBUTE Default-DTE-Data-Rate 94 integer USR #define ATTRIBUTE_LAST_NUMBER_DIALED_OUT 102 //ATTRIBUTE Last-Number-Dialed-Out 102 string USR #define ATTRIBUTE_SYNC_ASYNC_MODE 103 //ATTRIBUTE Sync-Async-Mode 103 integer USR #define ATTRIBUTE_ORIGINATE_ANSWER_MODE 104 //ATTRIBUTE Originate-Answer-Mode 104 integer USR #define ATTRIBUTE_FAILURE_TO_CONNECT_REASON 105 //ATTRIBUTE Failure-to-Connect-Reason 105 integer USR #define ATTRIBUTE_INITIAL_TX_LINK_DATA_RATE 106 //ATTRIBUTE Initial-Tx-Link-Data-Rate 106 integer USR #define ATTRIBUTE_FINAL_TX_LINK_DATA_RATE 107 //ATTRIBUTE Final-Tx-Link-Data-Rate 107 integer USR #define ATTRIBUTE_MODULATION_TYPE 108 //ATTRIBUTE Modulation-Type 108 integer USR #define ATTRIBUTE_EQUALIZATION_TYPE 111 //ATTRIBUTE Equalization-Type 111 integer USR #define ATTRIBUTE_FALLBACK_ENABLED 112 //ATTRIBUTE Fallback-Enabled 112 integer USR #define ATTRIBUTE_CHARACTERS_SENT 113 //ATTRIBUTE Characters-Sent 113 integer USR #define ATTRIBUTE_CHARACTERS_RECEIVED 114 //ATTRIBUTE Characters-Received 114 integer USR #define ATTRIBUTE_BLOCKS_SENT 117 //ATTRIBUTE Blocks-Sent 117 integer USR #define ATTRIBUTE_BLOCKS_RECEIVED 118 //ATTRIBUTE Blocks-Received 118 integer USR #define ATTRIBUTE_BLOCKS_RESENT 119 //ATTRIBUTE Blocks-Resent 119 integer USR #define ATTRIBUTE_RETRAINS_REQUESTED 120 //ATTRIBUTE Retrains-Requested 120 integer USR #define ATTRIBUTE_RETRAINS_GRANTED 121 //ATTRIBUTE Retrains-Granted 121 integer USR #define ATTRIBUTE_LINE_REVERSALS 122 //ATTRIBUTE Line-Reversals 122 integer USR #define ATTRIBUTE_NUMBER_OF_CHARACTERS_LOST 123 //ATTRIBUTE Number-Of-Characters-Lost 123 integer USR #define ATTRIBUTE_BACK_CHANNEL_DATA_RATE 124 //ATTRIBUTE Back-Channel-Data-Rate 124 integer USR #define ATTRIBUTE_NUMBER_OF_BLERS 125 //ATTRIBUTE Number-of-Blers 125 integer USR #define ATTRIBUTE_NUMBER_OF_LINK_TIMEOUTS 126 //ATTRIBUTE Number-of-Link-Timeouts 126 integer USR #define ATTRIBUTE_NUMBER_OF_FALLBACKS 127 //ATTRIBUTE Number-of-Fallbacks 127 integer USR #define ATTRIBUTE_NUMBER_OF_UPSHIFTS 128 //ATTRIBUTE Number-of-Upshifts 128 integer USR #define ATTRIBUTE_NUMBER_OF_LINK_NAKS 129 //ATTRIBUTE Number-of-Link-NAKs 129 integer USR #define ATTRIBUTE_SIMPLIFIED_MNP_LEVELS 153 //ATTRIBUTE Simplified-MNP-Levels 153 integer USR #define ATTRIBUTE_CONNECT_TERM_REASON 155 //ATTRIBUTE Connect-Term-Reason 155 integer USR #define ATTRIBUTE_DTR_FALSE_TIMEOUT 190 //ATTRIBUTE DTR-False-Timeout 190 integer USR #define ATTRIBUTE_FALLBACK_LIMIT 191 //ATTRIBUTE Fallback-Limit 191 integer USR #define ATTRIBUTE_BLOCK_ERROR_COUNT_LIMIT 192 //ATTRIBUTE Block-Error-Count-Limit 192 integer USR #define ATTRIBUTE_SIMPLIFIED_V42BIS_USAGE 199 //ATTRIBUTE Simplified-V42bis-Usage 199 integer USR #define ATTRIBUTE_DTR_TRUE_TIMEOUT 218 //ATTRIBUTE DTR-True-Timeout 218 integer USR #define ATTRIBUTE_LAST_NUMBER_DIALED_IN_DNIS 232 //ATTRIBUTE Last-Number-Dialed-In-DNIS 232 string USR #define ATTRIBUTE_LAST_CALLERS_NUMBER_ANI 233 //ATTRIBUTE Last-Callers-Number-ANI 233 string USR #define ATTRIBUTE_CDMA_CALL_REFERENCE_NUMBER 387 //ATTRIBUTE CDMA-Call-Reference-Number 387 integer USR #define ATTRIBUTE_MBI_CT_PRI_CARD_SLOT 388 //ATTRIBUTE Mbi_Ct_PRI_Card_Slot 388 integer USR #define ATTRIBUTE_MBI_CT_TDM_TIME_SLOT 389 //ATTRIBUTE Mbi_Ct_TDM_Time_Slot 389 integer USR #define ATTRIBUTE_MBI_CT_PRI_CARD_SPAN_LINE 390 //ATTRIBUTE Mbi_Ct_PRI_Card_Span_Line 390 integer USR #define ATTRIBUTE_MBI_CT_BCHANNEL_USED 391 //ATTRIBUTE Mbi_Ct_BChannel_Used 391 integer USR #define ATTRIBUTE_RMMIE_STATUS 461 //ATTRIBUTE RMMIE-Status 461 integer USR #define ATTRIBUTE_RMMIE_NUM_OF_UPDATES 462 //ATTRIBUTE RMMIE-Num-Of-Updates 462 integer USR #define ATTRIBUTE_RMMIE_MANUFACTURER_ID 479 //ATTRIBUTE RMMIE-Manufacturer-ID 479 integer USR #define ATTRIBUTE_RMMIE_PRODUCT_CODE 480 //ATTRIBUTE RMMIE-Product-Code 480 string USR #define ATTRIBUTE_RMMIE_SERIAL_NUMBER 481 //ATTRIBUTE RMMIE-Serial-Number 481 string USR #define ATTRIBUTE_RMMIE_FIRMWARE_VERSION 482 //ATTRIBUTE RMMIE-Firmware-Version 482 string USR #define ATTRIBUTE_RMMIE_FIRMWARE_BUILD_DATE 483 //ATTRIBUTE RMMIE-Firmware-Build-Date 483 string USR #define ATTRIBUTE_IWF_IP_ADDRESS 1012 //ATTRIBUTE IWF-IP-Address 1012 ipaddr USR #define ATTRIBUTE_MOBILE_IP_ADDRESS 2190 //ATTRIBUTE Mobile-IP-Address 2190 ipaddr USR #define ATTRIBUTE_CALLING_PARTY_NUMBER 2191 //ATTRIBUTE Calling-Party-Number 2191 string USR #define ATTRIBUTE_CALLED_PARTY_NUMBER 2192 //ATTRIBUTE Called-Party-Number 2192 string USR #define ATTRIBUTE_CALL_TYPE 2193 //ATTRIBUTE Call-Type 2193 integer USR #define ATTRIBUTE_ESN 2194 //ATTRIBUTE ESN 2194 string USR #define ATTRIBUTE_IWF_CALL_IDENTIFIER 2195 //ATTRIBUTE IWF-Call-Identifier 2195 integer USR #define ATTRIBUTE_IMSI 2196 //ATTRIBUTE IMSI 2196 string USR #define ATTRIBUTE_SERVICE_OPTION 2197 //ATTRIBUTE Service-Option 2197 integer USR #define ATTRIBUTE_DISCONNECT_CAUSE_INDICATOR 2198 //ATTRIBUTE Disconnect-Cause-Indicator 2198 integer USR #define ATTRIBUTE_MOBILE_NUMBYTES_TXED 2199 //ATTRIBUTE Mobile-NumBytes-Txed 2199 integer USR #define ATTRIBUTE_MOBILE_NUMBYTES_RXED 2200 //ATTRIBUTE Mobile-NumBytes-Rxed 2200 integer USR #define ATTRIBUTE_NUM_FAX_PAGES_PROCESSED 2201 //ATTRIBUTE Num-Fax-Pages-Processed 2201 integer USR #define ATTRIBUTE_COMPRESSION_TYPE 2202 //ATTRIBUTE Compression-Type 2202 integer USR #define ATTRIBUTE_CALL_ERROR_CODE 2203 //ATTRIBUTE Call-Error-Code 2203 integer USR #define ATTRIBUTE_MODEM_SETUP_TIME 2204 //ATTRIBUTE Modem-Setup-Time 2204 integer USR #define ATTRIBUTE_CALL_CONNECTING_TIME 2205 //ATTRIBUTE Call-Connecting-Time 2205 integer USR #define ATTRIBUTE_CONNECT_TIME 2206 //ATTRIBUTE Connect-Time 2206 integer USR #define ATTRIBUTE_RMMIE_LAST_UPDATE_TIME 2304 //ATTRIBUTE RMMIE-Last-Update-Time 2304 integer USR #define ATTRIBUTE_RMMIE_LAST_UPDATE_EVENT 2305 //ATTRIBUTE RMMIE-Last-Update-Event 2305 integer USR #define ATTRIBUTE_RMMIE_RCV_TOT_PWRLVL 2306 //ATTRIBUTE RMMIE-Rcv-Tot-PwrLvl 2306 integer USR #define ATTRIBUTE_RMMIE_RCV_PWRLVL_3300HZ 2307 //ATTRIBUTE RMMIE-Rcv-PwrLvl-3300Hz 2307 integer USR #define ATTRIBUTE_RMMIE_RCV_PWRLVL_3750HZ 2308 //ATTRIBUTE RMMIE-Rcv-PwrLvl-3750Hz 2308 integer USR #define ATTRIBUTE_RMMIE_PWRLVL_NEARECHO_CANC 2309 //ATTRIBUTE RMMIE-PwrLvl-NearEcho-Canc 2309 integer USR #define ATTRIBUTE_RMMIE_PWRLVL_FARECHO_CANC 2310 //ATTRIBUTE RMMIE-PwrLvl-FarEcho-Canc 2310 integer USR #define ATTRIBUTE_RMMIE_PWRLVL_NOISE_LVL 2311 //ATTRIBUTE RMMIE-PwrLvl-Noise-Lvl 2311 integer USR #define ATTRIBUTE_RMMIE_PWRLVL_XMIT_LVL 2312 //ATTRIBUTE RMMIE-PwrLvl-Xmit-Lvl 2312 integer USR #define ATTRIBUTE_RMMIE_X2_STATUS 2313 //ATTRIBUTE RMMIE-x2-Status 2313 integer USR #define ATTRIBUTE_RMMIE_PLANNED_DISCONNECT 2314 //ATTRIBUTE RMMIE-Planned-Disconnect 2314 integer USR #define ATTRIBUTE_INITIAL_MODULATION_TYPE 2339 //ATTRIBUTE Initial-Modulation-Type 2339 integer USR #define ATTRIBUTE_PW_USR_IFILTER_IP 36864 //ATTRIBUTE PW_USR_IFilter_IP 36864 string USR #define ATTRIBUTE_PW_USR_IFILTER_IPX 36865 //ATTRIBUTE PW_USR_IFilter_IPX 36865 string USR #define ATTRIBUTE_SAP_FILTER_IN 36866 //ATTRIBUTE SAP-Filter-In 36866 string USR #define ATTRIBUTE_PW_USR_OFILTER_IP 36867 //ATTRIBUTE PW_USR_OFilter_IP 36867 string USR #define ATTRIBUTE_PW_USR_OFILTER_IPX 36868 //ATTRIBUTE PW_USR_OFilter_IPX 36868 string USR #define ATTRIBUTE_PW_USR_OFILTER_SAP 36869 //ATTRIBUTE PW_USR_OFilter_SAP 36869 string USR #define ATTRIBUTE_PW_VPN_ID 36870 //ATTRIBUTE PW_VPN_ID 36870 string USR #define ATTRIBUTE_PW_VPN_NAME 36871 //ATTRIBUTE PW_VPN_Name 36871 string USR #define ATTRIBUTE_PW_VPN_NEIGHBOR 36872 //ATTRIBUTE PW_VPN_Neighbor 36872 string USR #define ATTRIBUTE_PW_FRAMED_ROUTING_V2 36873 //ATTRIBUTE PW_Framed_Routing_V2 36873 string USR #define ATTRIBUTE_PW_VPN_GATEWAY 36874 //ATTRIBUTE PW_VPN_Gateway 36874 string USR #define ATTRIBUTE_PW_TUNNEL_AUTHENTICATION 36875 //ATTRIBUTE PW_Tunnel_Authentication 36875 string USR #define ATTRIBUTE_PW_INDEX 36876 //ATTRIBUTE PW_Index 36876 string USR #define ATTRIBUTE_PW_CUTOFF 36877 //ATTRIBUTE PW_Cutoff 36877 string USR #define ATTRIBUTE_PW_PACKET 36878 //ATTRIBUTE PW_Packet 36878 string USR #define ATTRIBUTE_PRIMARY_DNS_SERVER 36879 //ATTRIBUTE Primary_DNS_Server 36879 ipaddr USR #define ATTRIBUTE_SECONDARY_DNS_SERVER 36880 //ATTRIBUTE Secondary_DNS_Server 36880 ipaddr USR #define ATTRIBUTE_PRIMARY_NBNS_SERVER 36881 //ATTRIBUTE Primary_NBNS_Server 36881 ipaddr USR #define ATTRIBUTE_SECONDARY_NBNS_SERVER 36882 //ATTRIBUTE Secondary_NBNS_Server 36882 ipaddr USR #define ATTRIBUTE_SYSLOG_TAP 36883 //ATTRIBUTE Syslog-Tap 36883 integer USR #define ATTRIBUTE_MIC 36884 //ATTRIBUTE MIC 36884 string USR #define ATTRIBUTE_LOG_FILTER_PACKETS 36887 //ATTRIBUTE Log-Filter-Packets 36887 string USR #define ATTRIBUTE_CHASSIS_CALL_SLOT 36889 //ATTRIBUTE Chassis-Call-Slot 36889 integer USR #define ATTRIBUTE_CHASSIS_CALL_SPAN 36890 //ATTRIBUTE Chassis-Call-Span 36890 integer USR #define ATTRIBUTE_CHASSIS_CALL_CHANNEL 36891 //ATTRIBUTE Chassis-Call-Channel 36891 integer USR #define ATTRIBUTE_KEYPRESS_TIMEOUT 36892 //ATTRIBUTE Keypress-Timeout 36892 integer USR #define ATTRIBUTE_UNAUTHENTICATED_TIME 36893 //ATTRIBUTE Unauthenticated-Time 36893 integer USR #define ATTRIBUTE_VPN_ENCRYPTER 36894 //ATTRIBUTE VPN-Encrypter 36894 integer USR #define ATTRIBUTE_VPN_GW_LOCATION_ID 36895 //ATTRIBUTE VPN-GW-Location-Id 36895 string USR #define ATTRIBUTE_RE_CHAP_TIMEOUT 36896 //ATTRIBUTE Re-Chap-Timeout 36896 integer USR #define ATTRIBUTE_CCP_ALGORITHM 36897 //ATTRIBUTE CCP-Algorithm 36897 integer USR #define ATTRIBUTE_ACCM_TYPE 36898 //ATTRIBUTE ACCM-Type 36898 integer USR #define ATTRIBUTE_CONNECT_SPEED 36899 //ATTRIBUTE Connect-Speed 36899 integer USR #define ATTRIBUTE_FRAMED_IP_ADDRESS_POOL_NAME 36900 //ATTRIBUTE Framed_IP_Address_Pool_Name 36900 string USR #define ATTRIBUTE_MP_EDO 36901 //ATTRIBUTE MP-EDO 36901 string USR #define ATTRIBUTE_LOCAL_FRAMED_IP_ADDR 36902 //ATTRIBUTE Local-Framed-IP-Addr 36902 ipaddr USR #define ATTRIBUTE_FRAMED_IPX_ROUTE 36903 //ATTRIBUTE Framed-IPX-Route 36903 ipaddr USR #define ATTRIBUTE_MPIP_TUNNEL_ORIGINATOR 36904 //ATTRIBUTE MPIP-Tunnel-Originator 36904 ipaddr USR #define ATTRIBUTE_BEARER_CAPABILITIES 38912 //ATTRIBUTE Bearer-Capabilities 38912 integer USR #define ATTRIBUTE_SPEED_OF_CONNECTION 38913 //ATTRIBUTE Speed-Of-Connection 38913 integer USR #define ATTRIBUTE_MAX_CHANNELS 38914 //ATTRIBUTE Max-Channels 38914 integer USR #define ATTRIBUTE_CHANNEL_EXPANSION 38915 //ATTRIBUTE Channel-Expansion 38915 integer USR #define ATTRIBUTE_CHANNEL_DECREMENT 38916 //ATTRIBUTE Channel-Decrement 38916 integer USR #define ATTRIBUTE_EXPANSION_ALGORITHM 38917 //ATTRIBUTE Expansion-Algorithm 38917 integer USR #define ATTRIBUTE_COMPRESSION_ALGORITHM 38918 //ATTRIBUTE Compression-Algorithm 38918 integer USR #define ATTRIBUTE_RECEIVE_ACC_MAP 38919 //ATTRIBUTE Receive-Acc-Map 38919 integer USR #define ATTRIBUTE_TRANSMIT_ACC_MAP 38920 //ATTRIBUTE Transmit-Acc-Map 38920 integer USR #define ATTRIBUTE_COMPRESSION_RESET_MODE 38922 //ATTRIBUTE Compression-Reset-Mode 38922 integer USR #define ATTRIBUTE_MIN_COMPRESSION_SIZE 38923 //ATTRIBUTE Min-Compression-Size 38923 integer USR #define ATTRIBUTE_IP 38924 //ATTRIBUTE IP 38924 integer USR #define ATTRIBUTE_IPX 38925 //ATTRIBUTE IPX 38925 integer USR #define ATTRIBUTE_FILTER_ZONES 38926 //ATTRIBUTE Filter-Zones 38926 integer USR #define ATTRIBUTE_APPLETALK 38927 //ATTRIBUTE Appletalk 38927 integer USR #define ATTRIBUTE_BRIDGING 38928 //ATTRIBUTE Bridging 38928 integer USR #define ATTRIBUTE_SPOOFING 38929 //ATTRIBUTE Spoofing 38929 integer USR #define ATTRIBUTE_HOST_TYPE 38930 //ATTRIBUTE Host-Type 38930 integer USR #define ATTRIBUTE_SEND_NAME 38931 //ATTRIBUTE Send-Name 38931 string USR #define ATTRIBUTE_SEND_PASSWORD 38932 //ATTRIBUTE Send-Password 38932 string USR #define ATTRIBUTE_START_TIME 38933 //ATTRIBUTE Start-Time 38933 integer USR #define ATTRIBUTE_END_TIME 38934 //ATTRIBUTE End-Time 38934 integer USR #define ATTRIBUTE_SEND_SCRIPT1 38935 //ATTRIBUTE Send-Script1 38935 string USR #define ATTRIBUTE_REPLY_SCRIPT1 38936 //ATTRIBUTE Reply-Script1 38936 string USR #define ATTRIBUTE_SEND_SCRIPT2 38937 //ATTRIBUTE Send-Script2 38937 string USR #define ATTRIBUTE_REPLY_SCRIPT2 38938 //ATTRIBUTE Reply-Script2 38938 string USR #define ATTRIBUTE_SEND_SCRIPT3 38939 //ATTRIBUTE Send-Script3 38939 string USR #define ATTRIBUTE_REPLY_SCRIPT3 38940 //ATTRIBUTE Reply-Script3 38940 string USR #define ATTRIBUTE_SEND_SCRIPT4 38941 //ATTRIBUTE Send-Script4 38941 string USR #define ATTRIBUTE_REPLY_SCRIPT4 38942 //ATTRIBUTE Reply-Script4 38942 string USR #define ATTRIBUTE_SEND_SCRIPT5 38943 //ATTRIBUTE Send-Script5 38943 string USR #define ATTRIBUTE_REPLY_SCRIPT5 38944 //ATTRIBUTE Reply-Script5 38944 string USR #define ATTRIBUTE_SEND_SCRIPT6 38945 //ATTRIBUTE Send-Script6 38945 string USR #define ATTRIBUTE_REPLY_SCRIPT6 38946 //ATTRIBUTE Reply-Script6 38946 string USR #define ATTRIBUTE_TERMINAL_TYPE 38947 //ATTRIBUTE Terminal-Type 38947 string USR #define ATTRIBUTE_APPLETALK_NETWORK_RANGE 38948 //ATTRIBUTE Appletalk-Network-Range 38948 integer USR #define ATTRIBUTE_LOCAL_IP_ADDRESS 38949 //ATTRIBUTE Local-IP-Address 38949 string USR #define ATTRIBUTE_ROUTING_PROTOCOL 38950 //ATTRIBUTE Routing-Protocol 38950 integer USR #define ATTRIBUTE_MODEM_GROUP 38951 //ATTRIBUTE Modem-Group 38951 integer USR #define ATTRIBUTE_IPX_ROUTING 38952 //ATTRIBUTE IPX-Routing 38952 integer USR #define ATTRIBUTE_IPX_WAN 38953 //ATTRIBUTE IPX-WAN 38953 integer USR #define ATTRIBUTE_IP_RIP_POLICIES 38954 //ATTRIBUTE IP-RIP-Policies 38954 integer USR #define ATTRIBUTE_IP_RIP_SIMPLE_AUTH_PASSWORD 38955 //ATTRIBUTE IP-RIP-Simple-Auth-Password 38955 string USR #define ATTRIBUTE_IP_RIP_INPUT_FILTER 38956 //ATTRIBUTE IP-RIP-Input-Filter 38956 string USR #define ATTRIBUTE_IP_CALL_INPUT_FILTER 38957 //ATTRIBUTE IP-Call-Input-Filter 38957 string USR #define ATTRIBUTE_IPX_RIP_INPUT_FILTER 38958 //ATTRIBUTE IPX-RIP-Input-Filter 38958 string USR #define ATTRIBUTE_MP_MRRU 38959 //ATTRIBUTE MP-MRRU 38959 integer USR #define ATTRIBUTE_IPX_CALL_INPUT_FILTER 38960 //ATTRIBUTE IPX-Call-Input-Filter 38960 string USR #define ATTRIBUTE_AT_INPUT_FILTER 38961 //ATTRIBUTE AT-Input-Filter 38961 string USR #define ATTRIBUTE_AT_RTMP_INPUT_FILTER 38962 //ATTRIBUTE AT-RTMP-Input-Filter 38962 string USR #define ATTRIBUTE_AT_ZIP_INPUT_FILTER 38963 //ATTRIBUTE AT-Zip-Input-Filter 38963 string USR #define ATTRIBUTE_AT_CALL_INPUT_FILTER 38964 //ATTRIBUTE AT-Call-Input-Filter 38964 string USR #define ATTRIBUTE_ET_BRIDGE_INPUT_FILTER 38965 //ATTRIBUTE ET-Bridge-Input-Filter 38965 string USR #define ATTRIBUTE_IP_RIP_OUTPUT_FILTER 38966 //ATTRIBUTE IP-RIP-Output-Filter 38966 string USR #define ATTRIBUTE_IP_CALL_OUTPUT_FILTER 38967 //ATTRIBUTE IP-Call-Output-Filter 38967 string USR #define ATTRIBUTE_IPX_RIP_OUTPUT_FILTER 38968 //ATTRIBUTE IPX-RIP-Output-Filter 38968 string USR #define ATTRIBUTE_IPX_CALL_OUTPUT_FILTER 38969 //ATTRIBUTE IPX-Call-Output-Filter 38969 string USR #define ATTRIBUTE_AT_OUTPUT_FILTER 38970 //ATTRIBUTE AT-Output-Filter 38970 string USR #define ATTRIBUTE_AT_RTMP_OUTPUT_FILTER 38971 //ATTRIBUTE AT-RTMP-Output-Filter 38971 string USR #define ATTRIBUTE_AT_ZIP_OUTPUT_FILTER 38972 //ATTRIBUTE AT-Zip-Output-Filter 38972 string USR #define ATTRIBUTE_AT_CALL_OUTPUT_FILTER 38973 //ATTRIBUTE AT-Call-Output-Filter 38973 string USR #define ATTRIBUTE_ET_BRIDGE_OUTPUT_FILTER 38974 //ATTRIBUTE ET-Bridge-Output-Filter 38974 string USR #define ATTRIBUTE_ET_BRIDGE_CALL_OUTPUT_FILTE 38975 //ATTRIBUTE ET-Bridge-Call-Output-Filte 38975 string USR #define ATTRIBUTE_IP_DEFAULT_ROUTE_OPTION 38976 //ATTRIBUTE IP-Default-Route-Option 38976 integer USR #define ATTRIBUTE_MP_EDO_HIPER 38977 //ATTRIBUTE MP-EDO-HIPER 38977 string USR #define ATTRIBUTE_MODEM_TRAINING_TIME 38978 //ATTRIBUTE Modem-Training-Time 38978 integer USR #define ATTRIBUTE_INTERFACE_INDEX 38979 //ATTRIBUTE Interface-Index 38979 integer USR #define ATTRIBUTE_TUNNEL_SECURITY 38980 //ATTRIBUTE Tunnel-Security 38980 integer USR #define ATTRIBUTE_PORT_TAP 38981 //ATTRIBUTE Port-Tap 38981 integer USR #define ATTRIBUTE_PORT_TAP_FORMAT 38982 //ATTRIBUTE Port-Tap-Format 38982 integer USR #define ATTRIBUTE_PORT_TAP_OUTPUT 38983 //ATTRIBUTE Port-Tap-Output 38983 integer USR #define ATTRIBUTE_PORT_TAP_FACILITY 38984 //ATTRIBUTE Port-Tap-Facility 38984 integer USR #define ATTRIBUTE_PORT_TAP_PRIORITY 38985 //ATTRIBUTE Port-Tap-Priority 38985 integer USR #define ATTRIBUTE_PORT_TAP_ADDRESS 38986 //ATTRIBUTE Port-Tap-Address 38986 ipaddr USR #define ATTRIBUTE_MOBILEIP_HOME_AGENT_ADDRESS 38987 //ATTRIBUTE MobileIP-Home-Agent-Address 38987 ipaddr USR #define ATTRIBUTE_TUNNELED_MLPP 38988 //ATTRIBUTE Tunneled-MLPP 38988 integer USR #define ATTRIBUTE_MULTICAST_PROXY 38989 //ATTRIBUTE Multicast-Proxy 38989 integer USR #define ATTRIBUTE_MULTICAST_RECEIVE 38990 //ATTRIBUTE Multicast-Receive 38990 integer USR #define ATTRIBUTE_MULTICAST_FORWARDING 38992 //ATTRIBUTE Multicast-Forwarding 38992 integer USR #define ATTRIBUTE_IGMP_QUERY_INTERVAL 38993 //ATTRIBUTE IGMP-Query-Interval 38993 integer USR #define ATTRIBUTE_IGMP_MAXIMUM_RESPONSE_TIME 38994 //ATTRIBUTE IGMP-Maximum-Response-Time 38994 integer USR #define ATTRIBUTE_IGMP_ROBUSTNESS 38995 //ATTRIBUTE IGMP-Robustness 38995 integer USR #define ATTRIBUTE_IGMP_VERSION 38996 //ATTRIBUTE IGMP-Version 38996 integer USR #define ATTRIBUTE_IGMP_ROUTING 38997 //ATTRIBUTE IGMP-Routing 38997 integer USR #define ATTRIBUTE_VTS_SESSION_KEY 38998 //ATTRIBUTE VTS-Session-Key 38998 string USR #define ATTRIBUTE_ORIG_NAS_TYPE 38999 //ATTRIBUTE Orig-NAS-Type 38999 string USR #define ATTRIBUTE_CALL_ARRIVAL_TIME 39000 //ATTRIBUTE Call-Arrival-Time 39000 integer USR #define ATTRIBUTE_CALL_END_TIME 39001 //ATTRIBUTE Call-End-Time 39001 integer USR #define ATTRIBUTE_RAD_MULTICAST_ROUTING_TTL 39008 //ATTRIBUTE Rad-Multicast-Routing-Ttl 39008 integer USR #define ATTRIBUTE_RAD_MULTICAST_ROUTING_RTLIM 39009 //ATTRIBUTE Rad-Multicast-Routing-RtLim 39009 integer USR #define ATTRIBUTE_RAD_MULTICAST_ROUTING_PROTO 39010 //ATTRIBUTE Rad-Multicast-Routing-Proto 39010 integer USR #define ATTRIBUTE_RAD_MULTICAST_ROUTING_BOUND 39011 //ATTRIBUTE Rad-Multicast-Routing-Bound 39011 string USR #define ATTRIBUTE_RAD_DVMRP_METRIC 39012 //ATTRIBUTE Rad-Dvmrp-Metric 39012 integer USR #define ATTRIBUTE_CHAT_SCRIPT_NAME 39013 //ATTRIBUTE Chat-Script-Name 39013 string USR #define ATTRIBUTE_CHAT_SCRIPT_RULES 39014 //ATTRIBUTE Chat-Script-Rules 39014 string USR #define ATTRIBUTE_RAD_LOCATION_TYPE 39015 //ATTRIBUTE Rad-Location-Type 39015 integer USR #define ATTRIBUTE_TUNNEL_SWITCH_ENDPOINT 39016 //ATTRIBUTE Tunnel-Switch-Endpoint 39016 string USR #define ATTRIBUTE_OSPF_ADDRESSLESS_INDEX 39017 //ATTRIBUTE OSPF-Addressless-Index 39017 integer USR #define ATTRIBUTE_CALLBACK_TYPE 39018 //ATTRIBUTE Callback-Type 39018 integer USR #define ATTRIBUTE_TUNNEL_AUTH_HOSTNAME 39019 //ATTRIBUTE Tunnel-Auth-Hostname 39019 string USR #define ATTRIBUTE_ACCT_REASON_CODE 39020 //ATTRIBUTE Acct-Reason-Code 39020 integer USR #define ATTRIBUTE_IP_SAA_FILTER 39024 //ATTRIBUTE IP-SAA-Filter 39024 integer USR #define ATTRIBUTE_DNIS_REAUTHENTICATION 39029 //ATTRIBUTE DNIS-ReAuthentication 39029 integer USR #define ATTRIBUTE_SUPPORTS_TAGS 39049 //ATTRIBUTE Supports-Tags 39049 integer USR #define ATTRIBUTE_HARC_DISCONNECT_CODE 39051 //ATTRIBUTE HARC-Disconnect-Code 39051 integer USR #define ATTRIBUTE_IDS0_CALL_TYPE 48719 //ATTRIBUTE IDS0-Call-Type 48719 integer USR #define ATTRIBUTE_CALL_TERMINATE_IN_GMT 48720 //ATTRIBUTE Call-Terminate-in-GMT 48720 date USR #define ATTRIBUTE_CALL_CONNECT_IN_GMT 48721 //ATTRIBUTE Call-Connect-in-GMT 48721 date USR #define ATTRIBUTE_CALL_ARRIVAL_IN_GMT 48722 //ATTRIBUTE Call-Arrival-in-GMT 48722 date USR #define ATTRIBUTE_CHANNEL_CONNECTED_TO 48733 //ATTRIBUTE Channel-Connected-To 48733 integer USR #define ATTRIBUTE_SLOT_CONNECTED_TO 48734 //ATTRIBUTE Slot-Connected-To 48734 integer USR #define ATTRIBUTE_DEVICE_CONNECTED_TO 48735 //ATTRIBUTE Device-Connected-To 48735 integer USR #define ATTRIBUTE_NFAS_ID 48736 //ATTRIBUTE NFAS-ID 48736 integer USR #define ATTRIBUTE_Q931_CALL_REFERENCE_VALUE 48737 //ATTRIBUTE Q931-Call-Reference-Value 48737 integer USR #define ATTRIBUTE_CALL_EVENT_CODE 48738 //ATTRIBUTE Call-Event-Code 48738 integer USR #define ATTRIBUTE_DS0 48739 //ATTRIBUTE DS0 48739 integer USR #define ATTRIBUTE_DS0S 48740 //ATTRIBUTE DS0s 48740 string USR #define ATTRIBUTE_GATEWAY_IP_ADDRESS 48742 //ATTRIBUTE Gateway-IP-Address 48742 ipaddr USR #define ATTRIBUTE_PHYSICAL_STATE 48759 //ATTRIBUTE Physical-State 48759 integer USR #define ATTRIBUTE_CALL_REFERENCE_NUMBER 48765 //ATTRIBUTE Call-Reference-Number 48765 integer USR #define ATTRIBUTE_CHASSIS_TEMP_THRESHOLD 48772 //ATTRIBUTE Chassis-Temp-Threshold 48772 integer USR #define ATTRIBUTE_CARD_TYPE 48773 //ATTRIBUTE Card-Type 48773 integer USR #define ATTRIBUTE_SECURITY_LOGIN_LIMIT 48862 //ATTRIBUTE Security-Login-Limit 48862 integer USR #define ATTRIBUTE_SECURITY_RESP_LIMIT 48890 //ATTRIBUTE Security-Resp-Limit 48890 integer USR #define ATTRIBUTE_PACKET_BUS_SESSION 48916 //ATTRIBUTE Packet-Bus-Session 48916 integer USR #define ATTRIBUTE_DTE_RING_NO_ANSWER_LIMIT 48919 //ATTRIBUTE DTE-Ring-No-Answer-Limit 48919 integer USR #define ATTRIBUTE_FINAL_RX_LINK_DATA_RATE 48940 //ATTRIBUTE Final-Rx-Link-Data-Rate 48940 integer USR #define ATTRIBUTE_INITIAL_RX_LINK_DATA_RATE 48941 //ATTRIBUTE Initial-Rx-Link-Data-Rate 48941 integer USR #define ATTRIBUTE_EVENT_DATE_TIME 48943 //ATTRIBUTE Event-Date-Time 48943 date USR #define ATTRIBUTE_CHASSIS_TEMPERATURE 48945 //ATTRIBUTE Chassis-Temperature 48945 integer USR #define ATTRIBUTE_ACTUAL_VOLTAGE 48946 //ATTRIBUTE Actual-Voltage 48946 integer USR #define ATTRIBUTE_EXPECTED_VOLTAGE 48947 //ATTRIBUTE Expected-Voltage 48947 integer USR #define ATTRIBUTE_POWER_SUPPLY_NUMBER 48948 //ATTRIBUTE Power-Supply-Number 48948 integer USR #define ATTRIBUTE_CHANNEL 48952 //ATTRIBUTE Channel 48952 integer USR #define ATTRIBUTE_CHASSIS_SLOT 48953 //ATTRIBUTE Chassis-Slot 48953 integer USR #define ATTRIBUTE_EVENT_ID 49086 //ATTRIBUTE Event-Id 49086 integer USR #define ATTRIBUTE_NUMBER_OF_RINGS_LIMIT 49126 //ATTRIBUTE Number-of-Rings-Limit 49126 integer USR #define ATTRIBUTE_CONNECT_TIME_LIMIT 49127 //ATTRIBUTE Connect-Time-Limit 49127 integer USR #define ATTRIBUTE_CALL_END_DATE_TIME 49142 //ATTRIBUTE Call-End-Date-Time 49142 date USR #define ATTRIBUTE_CALL_START_DATE_TIME 49143 //ATTRIBUTE Call-Start-Date-Time 49143 date USR #define ATTRIBUTE_SERVER_TIME 61440 //ATTRIBUTE Server-Time 61440 date USR #define ATTRIBUTE_REQUEST_TYPE 61441 //ATTRIBUTE Request-Type 61441 integer USR #define ATTRIBUTE_NAS_TYPE 61442 //ATTRIBUTE NAS-Type 61442 integer USR #define ATTRIBUTE_AUTH_MODE 61443 //ATTRIBUTE Auth-Mode 61443 integer USR #define ATTRIBUTE_ASCEND_MAX_SHARED_USERS 2 //ATTRIBUTE Ascend-Max-Shared-Users 2 integer Ascend #define ATTRIBUTE_ASCEND_UU_INFO 7 //ATTRIBUTE Ascend-UU-Info 7 string Ascend #define ATTRIBUTE_ASCEND_CIR_TIMER 9 //ATTRIBUTE Ascend-CIR-Timer 9 integer Ascend #define ATTRIBUTE_ASCEND_FR_08_MODE 10 //ATTRIBUTE Ascend-FR-08-Mode 10 integer Ascend #define ATTRIBUTE_ASCEND_DESTINATION_NAS_PORT 11 //ATTRIBUTE Ascend-Destination-Nas-Port 11 integer Ascend #define ATTRIBUTE_ASCEND_FR_SVC_ADDR 12 //ATTRIBUTE Ascend-FR-SVC-Addr 12 string Ascend #define ATTRIBUTE_ASCEND_NAS_PORT_FORMAT 13 //ATTRIBUTE Ascend-NAS-Port-Format 13 integer Ascend #define ATTRIBUTE_ASCEND_ATM_FAULT_MANAGEMENT 14 //ATTRIBUTE Ascend-ATM-Fault-Management 14 integer Ascend #define ATTRIBUTE_ASCEND_ATM_LOOPBACK_CELL_LOSS 15 //ATTRIBUTE Ascend-ATM-Loopback-Cell-Loss 15 integer Ascend #define ATTRIBUTE_ASCEND_CKT_TYPE 16 //ATTRIBUTE Ascend-Ckt-Type 16 integer Ascend #define ATTRIBUTE_ASCEND_SVC_ENABLED 17 //ATTRIBUTE Ascend-SVC-Enabled 17 integer Ascend #define ATTRIBUTE_ASCEND_SESSION_TYPE 18 //ATTRIBUTE Ascend-Session-Type 18 integer Ascend #define ATTRIBUTE_ASCEND_H323_GATEKEEPER 19 //ATTRIBUTE Ascend-H323-Gatekeeper 19 ipaddr Ascend #define ATTRIBUTE_ASCEND_GLOBAL_CALL_ID 20 //ATTRIBUTE Ascend-Global-Call-Id 20 string Ascend #define ATTRIBUTE_ASCEND_H323_CONFERENCE_ID 21 //ATTRIBUTE Ascend-H323-Conference-Id 21 integer Ascend #define ATTRIBUTE_ASCEND_H323_FEGW_ADDRESS 22 //ATTRIBUTE Ascend-H323-Fegw-Address 22 ipaddr Ascend #define ATTRIBUTE_ASCEND_H323_DIALED_TIME 23 //ATTRIBUTE Ascend-H323-Dialed-Time 23 integer Ascend #define ATTRIBUTE_ASCEND_DIALED_NUMBER 24 //ATTRIBUTE Ascend-Dialed-Number 24 string Ascend #define ATTRIBUTE_ASCEND_INTER_ARRIVAL_JITTER 25 //ATTRIBUTE Ascend-Inter-Arrival-Jitter 25 integer Ascend #define ATTRIBUTE_ASCEND_DROPPED_OCTETS 26 //ATTRIBUTE Ascend-Dropped-Octets 26 integer Ascend #define ATTRIBUTE_ASCEND_DROPPED_PACKETS 27 //ATTRIBUTE Ascend-Dropped-Packets 27 integer Ascend #define ATTRIBUTE_ASCEND_AUTH_DELAY 28 //ATTRIBUTE Ascend-Auth-Delay 28 integer Ascend #define ATTRIBUTE_ASCEND_X25_PAD_X3_PROFILE 29 //ATTRIBUTE Ascend-X25-Pad-X3-Profile 29 integer Ascend #define ATTRIBUTE_ASCEND_X25_PAD_X3_PARAMETERS 30 //ATTRIBUTE Ascend-X25-Pad-X3-Parameters 30 string Ascend #define ATTRIBUTE_ASCEND_TUNNEL_VROUTER_NAME 31 //ATTRIBUTE Ascend-Tunnel-VRouter-Name 31 string Ascend #define ATTRIBUTE_ASCEND_X25_REVERSE_CHARGING 32 //ATTRIBUTE Ascend-X25-Reverse-Charging 32 integer Ascend #define ATTRIBUTE_ASCEND_X25_NUI_PROMPT 33 //ATTRIBUTE Ascend-X25-Nui-Prompt 33 string Ascend #define ATTRIBUTE_ASCEND_X25_NUI_PASSWORD_PROMPT 34 //ATTRIBUTE Ascend-X25-Nui-Password-Prompt 34 string Ascend #define ATTRIBUTE_ASCEND_X25_CUG 35 //ATTRIBUTE Ascend-X25-Cug 35 string Ascend #define ATTRIBUTE_ASCEND_X25_PAD_ALIAS_1 36 //ATTRIBUTE Ascend-X25-Pad-Alias-1 36 string Ascend #define ATTRIBUTE_ASCEND_X25_PAD_ALIAS_2 37 //ATTRIBUTE Ascend-X25-Pad-Alias-2 37 string Ascend #define ATTRIBUTE_ASCEND_X25_PAD_ALIAS_3 38 //ATTRIBUTE Ascend-X25-Pad-Alias-3 38 string Ascend #define ATTRIBUTE_ASCEND_X25_X121_ADDRESS 39 //ATTRIBUTE Ascend-X25-X121-Address 39 string Ascend #define ATTRIBUTE_ASCEND_X25_NUI 40 //ATTRIBUTE Ascend-X25-Nui 40 string Ascend #define ATTRIBUTE_ASCEND_X25_RPOA 41 //ATTRIBUTE Ascend-X25-Rpoa 41 string Ascend #define ATTRIBUTE_ASCEND_X25_PAD_PROMPT 42 //ATTRIBUTE Ascend-X25-Pad-Prompt 42 string Ascend #define ATTRIBUTE_ASCEND_X25_PAD_BANNER 43 //ATTRIBUTE Ascend-X25-Pad-Banner 43 string Ascend #define ATTRIBUTE_ASCEND_X25_PROFILE_NAME 44 //ATTRIBUTE Ascend-X25-Profile-Name 44 string Ascend #define ATTRIBUTE_ASCEND_RECV_NAME 45 //ATTRIBUTE Ascend-Recv-Name 45 string Ascend #define ATTRIBUTE_ASCEND_BI_DIRECTIONAL_AUTH 46 //ATTRIBUTE Ascend-Bi-Directional-Auth 46 integer Ascend #define ATTRIBUTE_ASCEND_MTU 47 //ATTRIBUTE Ascend-MTU 47 integer Ascend #define ATTRIBUTE_ASCEND_CALL_DIRECTION 48 //ATTRIBUTE Ascend-Call-Direction 48 integer Ascend #define ATTRIBUTE_ASCEND_SERVICE_TYPE 49 //ATTRIBUTE Ascend-Service-Type 49 integer Ascend #define ATTRIBUTE_ASCEND_FILTER_REQUIRED 50 //ATTRIBUTE Ascend-Filter-Required 50 integer Ascend #define ATTRIBUTE_ASCEND_TRAFFIC_SHAPER 51 //ATTRIBUTE Ascend-Traffic-Shaper 51 integer Ascend #define ATTRIBUTE_ASCEND_ACCESS_INTERCEPT_LEA 52 //ATTRIBUTE Ascend-Access-Intercept-LEA 52 string Ascend #define ATTRIBUTE_ASCEND_ACCESS_INTERCEPT_LOG 53 //ATTRIBUTE Ascend-Access-Intercept-Log 53 string Ascend #define ATTRIBUTE_ASCEND_PRIVATE_ROUTE_TABLE_ID 54 //ATTRIBUTE Ascend-Private-Route-Table-ID 54 string Ascend #define ATTRIBUTE_ASCEND_PRIVATE_ROUTE_REQUIRED 55 //ATTRIBUTE Ascend-Private-Route-Required 55 integer Ascend #define ATTRIBUTE_ASCEND_CACHE_REFRESH 56 //ATTRIBUTE Ascend-Cache-Refresh 56 integer Ascend #define ATTRIBUTE_ASCEND_CACHE_TIME 57 //ATTRIBUTE Ascend-Cache-Time 57 integer Ascend #define ATTRIBUTE_ASCEND_EGRESS_ENABLED 58 //ATTRIBUTE Ascend-Egress-Enabled 58 integer Ascend #define ATTRIBUTE_ASCEND_QOS_UPSTREAM 59 //ATTRIBUTE Ascend-QOS-Upstream 59 string Ascend #define ATTRIBUTE_ASCEND_QOS_DOWNSTREAM 60 //ATTRIBUTE Ascend-QOS-Downstream 60 string Ascend #define ATTRIBUTE_ASCEND_ATM_CONNECT_VPI 61 //ATTRIBUTE Ascend-ATM-Connect-Vpi 61 integer Ascend #define ATTRIBUTE_ASCEND_ATM_CONNECT_VCI 62 //ATTRIBUTE Ascend-ATM-Connect-Vci 62 integer Ascend #define ATTRIBUTE_ASCEND_ATM_CONNECT_GROUP 63 //ATTRIBUTE Ascend-ATM-Connect-Group 63 integer Ascend #define ATTRIBUTE_ASCEND_ATM_GROUP 64 //ATTRIBUTE Ascend-ATM-Group 64 integer Ascend #define ATTRIBUTE_ASCEND_IPX_HEADER_COMPRESSION 65 //ATTRIBUTE Ascend-IPX-Header-Compression 65 integer Ascend #define ATTRIBUTE_ASCEND_CALLING_ID_TYPE_OF_NUM 66 //ATTRIBUTE Ascend-Calling-Id-Type-Of-Num 66 integer Ascend #define ATTRIBUTE_ASCEND_CALLING_ID_NUMBER_PLAN 67 //ATTRIBUTE Ascend-Calling-Id-Number-Plan 67 integer Ascend #define ATTRIBUTE_ASCEND_CALLING_ID_PRESENTATN 68 //ATTRIBUTE Ascend-Calling-Id-Presentatn 68 integer Ascend #define ATTRIBUTE_ASCEND_CALLING_ID_SCREENING 69 //ATTRIBUTE Ascend-Calling-Id-Screening 69 integer Ascend #define ATTRIBUTE_ASCEND_BIR_ENABLE 70 //ATTRIBUTE Ascend-BIR-Enable 70 integer Ascend #define ATTRIBUTE_ASCEND_BIR_PROXY 71 //ATTRIBUTE Ascend-BIR-Proxy 71 integer Ascend #define ATTRIBUTE_ASCEND_BIR_BRIDGE_GROUP 72 //ATTRIBUTE Ascend-BIR-Bridge-Group 72 integer Ascend #define ATTRIBUTE_ASCEND_IPSEC_PROFILE 73 //ATTRIBUTE Ascend-IPSEC-Profile 73 string Ascend #define ATTRIBUTE_ASCEND_PPPOE_ENABLE 74 //ATTRIBUTE Ascend-PPPoE-Enable 74 integer Ascend #define ATTRIBUTE_ASCEND_BRIDGE_NON_PPPOE 75 //ATTRIBUTE Ascend-Bridge-Non-PPPoE 75 integer Ascend #define ATTRIBUTE_ASCEND_ATM_DIRECT 76 //ATTRIBUTE Ascend-ATM-Direct 76 integer Ascend #define ATTRIBUTE_ASCEND_ATM_DIRECT_PROFILE 77 //ATTRIBUTE Ascend-ATM-Direct-Profile 77 string Ascend #define ATTRIBUTE_ASCEND_CLIENT_PRIMARY_WINS 78 //ATTRIBUTE Ascend-Client-Primary-WINS 78 ipaddr Ascend #define ATTRIBUTE_ASCEND_CLIENT_SECONDARY_WINS 79 //ATTRIBUTE Ascend-Client-Secondary-WINS 79 ipaddr Ascend #define ATTRIBUTE_ASCEND_CLIENT_ASSIGN_WINS 80 //ATTRIBUTE Ascend-Client-Assign-WINS 80 integer Ascend #define ATTRIBUTE_ASCEND_AUTH_TYPE 81 //ATTRIBUTE Ascend-Auth-Type 81 integer Ascend #define ATTRIBUTE_ASCEND_PORT_REDIR_PROTOCOL 82 //ATTRIBUTE Ascend-Port-Redir-Protocol 82 integer Ascend #define ATTRIBUTE_ASCEND_PORT_REDIR_PORTNUM 83 //ATTRIBUTE Ascend-Port-Redir-Portnum 83 integer Ascend #define ATTRIBUTE_ASCEND_PORT_REDIR_SERVER 84 //ATTRIBUTE Ascend-Port-Redir-Server 84 ipaddr Ascend #define ATTRIBUTE_ASCEND_IP_POOL_CHAINING 85 //ATTRIBUTE Ascend-IP-Pool-Chaining 85 integer Ascend #define ATTRIBUTE_ASCEND_OWNER_IP_ADDR 86 //ATTRIBUTE Ascend-Owner-IP-Addr 86 ipaddr Ascend #define ATTRIBUTE_ASCEND_IP_TOS 87 //ATTRIBUTE Ascend-IP-TOS 87 integer Ascend #define ATTRIBUTE_ASCEND_IP_TOS_PRECEDENCE 88 //ATTRIBUTE Ascend-IP-TOS-Precedence 88 integer Ascend #define ATTRIBUTE_ASCEND_IP_TOS_APPLY_TO 89 //ATTRIBUTE Ascend-IP-TOS-Apply-To 89 integer Ascend #define ATTRIBUTE_ASCEND_FILTER 90 //ATTRIBUTE Ascend-Filter 90 string Ascend #define ATTRIBUTE_ASCEND_TELNET_PROFILE 91 //ATTRIBUTE Ascend-Telnet-Profile 91 string Ascend #define ATTRIBUTE_ASCEND_DSL_RATE_TYPE 92 //ATTRIBUTE Ascend-Dsl-Rate-Type 92 integer Ascend #define ATTRIBUTE_ASCEND_REDIRECT_NUMBER 93 //ATTRIBUTE Ascend-Redirect-Number 93 string Ascend #define ATTRIBUTE_ASCEND_ATM_VPI 94 //ATTRIBUTE Ascend-ATM-Vpi 94 integer Ascend #define ATTRIBUTE_ASCEND_ATM_VCI 95 //ATTRIBUTE Ascend-ATM-Vci 95 integer Ascend #define ATTRIBUTE_ASCEND_SOURCE_IP_CHECK 96 //ATTRIBUTE Ascend-Source-IP-Check 96 integer Ascend #define ATTRIBUTE_ASCEND_DSL_RATE_MODE 97 //ATTRIBUTE Ascend-Dsl-Rate-Mode 97 integer Ascend #define ATTRIBUTE_ASCEND_DSL_UPSTREAM_LIMIT 98 //ATTRIBUTE Ascend-Dsl-Upstream-Limit 98 integer Ascend #define ATTRIBUTE_ASCEND_DSL_DOWNSTREAM_LIMIT 99 //ATTRIBUTE Ascend-Dsl-Downstream-Limit 99 integer Ascend #define ATTRIBUTE_ASCEND_DSL_CIR_RECV_LIMIT 100 //ATTRIBUTE Ascend-Dsl-CIR-Recv-Limit 100 integer Ascend #define ATTRIBUTE_ASCEND_DSL_CIR_XMIT_LIMIT 101 //ATTRIBUTE Ascend-Dsl-CIR-Xmit-Limit 101 integer Ascend #define ATTRIBUTE_ASCEND_VROUTER_NAME 102 //ATTRIBUTE Ascend-VRouter-Name 102 string Ascend #define ATTRIBUTE_ASCEND_SOURCE_AUTH 103 //ATTRIBUTE Ascend-Source-Auth 103 string Ascend #define ATTRIBUTE_ASCEND_PRIVATE_ROUTE 104 //ATTRIBUTE Ascend-Private-Route 104 string Ascend #define ATTRIBUTE_ASCEND_NUMBERING_PLAN_ID 105 //ATTRIBUTE Ascend-Numbering-Plan-ID 105 integer Ascend #define ATTRIBUTE_ASCEND_FR_LINK_STATUS_DLCI 106 //ATTRIBUTE Ascend-FR-Link-Status-DLCI 106 integer Ascend #define ATTRIBUTE_ASCEND_CALLING_SUBADDRESS 107 //ATTRIBUTE Ascend-Calling-Subaddress 107 string Ascend #define ATTRIBUTE_ASCEND_CALLBACK_DELAY 108 //ATTRIBUTE Ascend-Callback-Delay 108 integer Ascend #define ATTRIBUTE_ASCEND_ENDPOINT_DISC 109 //ATTRIBUTE Ascend-Endpoint-Disc 109 string Ascend #define ATTRIBUTE_ASCEND_REMOTE_FW 110 //ATTRIBUTE Ascend-Remote-FW 110 string Ascend #define ATTRIBUTE_ASCEND_MULTICAST_GLEAVE_DELAY 111 //ATTRIBUTE Ascend-Multicast-GLeave-Delay 111 integer Ascend #define ATTRIBUTE_ASCEND_CBCP_ENABLE 112 //ATTRIBUTE Ascend-CBCP-Enable 112 integer Ascend #define ATTRIBUTE_ASCEND_CBCP_MODE 113 //ATTRIBUTE Ascend-CBCP-Mode 113 integer Ascend #define ATTRIBUTE_ASCEND_CBCP_DELAY 114 //ATTRIBUTE Ascend-CBCP-Delay 114 integer Ascend #define ATTRIBUTE_ASCEND_CBCP_TRUNK_GROUP 115 //ATTRIBUTE Ascend-CBCP-Trunk-Group 115 integer Ascend #define ATTRIBUTE_ASCEND_APPLETALK_ROUTE 116 //ATTRIBUTE Ascend-Appletalk-Route 116 string Ascend #define ATTRIBUTE_ASCEND_APPLETALK_PEER_MODE 117 //ATTRIBUTE Ascend-Appletalk-Peer-Mode 117 integer Ascend #define ATTRIBUTE_ASCEND_ROUTE_APPLETALK 118 //ATTRIBUTE Ascend-Route-Appletalk 118 integer Ascend #define ATTRIBUTE_ASCEND_FCP_PARAMETER 119 //ATTRIBUTE Ascend-FCP-Parameter 119 string Ascend #define ATTRIBUTE_ASCEND_MODEM_PORTNO 120 //ATTRIBUTE Ascend-Modem-PortNo 120 integer Ascend #define ATTRIBUTE_ASCEND_MODEM_SLOTNO 121 //ATTRIBUTE Ascend-Modem-SlotNo 121 integer Ascend #define ATTRIBUTE_ASCEND_MODEM_SHELFNO 122 //ATTRIBUTE Ascend-Modem-ShelfNo 122 integer Ascend #define ATTRIBUTE_ASCEND_CALL_ATTEMPT_LIMIT 123 //ATTRIBUTE Ascend-Call-Attempt-Limit 123 integer Ascend #define ATTRIBUTE_ASCEND_CALL_BLOCK_DURATION 124 //ATTRIBUTE Ascend-Call-Block-Duration 124 integer Ascend #define ATTRIBUTE_ASCEND_MAXIMUM_CALL_DURATION 125 //ATTRIBUTE Ascend-Maximum-Call-Duration 125 integer Ascend #define ATTRIBUTE_ASCEND_TEMPORARY_RTES 126 //ATTRIBUTE Ascend-Temporary-Rtes 126 integer Ascend #define ATTRIBUTE_ASCEND_TUNNELING_PROTOCOL 127 //ATTRIBUTE Ascend-Tunneling-Protocol 127 integer Ascend #define ATTRIBUTE_ASCEND_SHARED_PROFILE_ENABLE 128 //ATTRIBUTE Ascend-Shared-Profile-Enable 128 integer Ascend #define ATTRIBUTE_ASCEND_PRIMARY_HOME_AGENT 129 //ATTRIBUTE Ascend-Primary-Home-Agent 129 string Ascend #define ATTRIBUTE_ASCEND_SECONDARY_HOME_AGENT 130 //ATTRIBUTE Ascend-Secondary-Home-Agent 130 string Ascend #define ATTRIBUTE_ASCEND_DIALOUT_ALLOWED 131 //ATTRIBUTE Ascend-Dialout-Allowed 131 integer Ascend #define ATTRIBUTE_ASCEND_CLIENT_GATEWAY 132 //ATTRIBUTE Ascend-Client-Gateway 132 ipaddr Ascend #define ATTRIBUTE_ASCEND_BACP_ENABLE 133 //ATTRIBUTE Ascend-BACP-Enable 133 integer Ascend #define ATTRIBUTE_ASCEND_DHCP_MAXIMUM_LEASES 134 //ATTRIBUTE Ascend-DHCP-Maximum-Leases 134 integer Ascend #define ATTRIBUTE_ASCEND_CLIENT_PRIMARY_DNS 135 //ATTRIBUTE Ascend-Client-Primary-DNS 135 ipaddr Ascend #define ATTRIBUTE_ASCEND_CLIENT_SECONDARY_DNS 136 //ATTRIBUTE Ascend-Client-Secondary-DNS 136 ipaddr Ascend #define ATTRIBUTE_ASCEND_CLIENT_ASSIGN_DNS 137 //ATTRIBUTE Ascend-Client-Assign-DNS 137 integer Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_TYPE 138 //ATTRIBUTE Ascend-User-Acct-Type 138 integer Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_HOST 139 //ATTRIBUTE Ascend-User-Acct-Host 139 ipaddr Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_PORT 140 //ATTRIBUTE Ascend-User-Acct-Port 140 integer Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_KEY 141 //ATTRIBUTE Ascend-User-Acct-Key 141 string Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_BASE 142 //ATTRIBUTE Ascend-User-Acct-Base 142 integer Ascend #define ATTRIBUTE_ASCEND_USER_ACCT_TIME 143 //ATTRIBUTE Ascend-User-Acct-Time 143 integer Ascend #define ATTRIBUTE_ASCEND_ASSIGN_IP_CLIENT 144 //ATTRIBUTE Ascend-Assign-IP-Client 144 ipaddr Ascend #define ATTRIBUTE_ASCEND_ASSIGN_IP_SERVER 145 //ATTRIBUTE Ascend-Assign-IP-Server 145 ipaddr Ascend #define ATTRIBUTE_ASCEND_ASSIGN_IP_GLOBAL_POOL 146 //ATTRIBUTE Ascend-Assign-IP-Global-Pool 146 string Ascend #define ATTRIBUTE_ASCEND_DHCP_REPLY 147 //ATTRIBUTE Ascend-DHCP-Reply 147 integer Ascend #define ATTRIBUTE_ASCEND_DHCP_POOL_NUMBER 148 //ATTRIBUTE Ascend-DHCP-Pool-Number 148 integer Ascend #define ATTRIBUTE_ASCEND_EXPECT_CALLBACK 149 //ATTRIBUTE Ascend-Expect-Callback 149 integer Ascend #define ATTRIBUTE_ASCEND_EVENT_TYPE 150 //ATTRIBUTE Ascend-Event-Type 150 integer Ascend #define ATTRIBUTE_ASCEND_SESSION_SVR_KEY 151 //ATTRIBUTE Ascend-Session-Svr-Key 151 string Ascend #define ATTRIBUTE_ASCEND_MULTICAST_RATE_LIMIT 152 //ATTRIBUTE Ascend-Multicast-Rate-Limit 152 integer Ascend #define ATTRIBUTE_ASCEND_IF_NETMASK 153 //ATTRIBUTE Ascend-IF-Netmask 153 ipaddr Ascend #define ATTRIBUTE_ASCEND_REMOTE_ADDR 154 //ATTRIBUTE Ascend-Remote-Addr 154 ipaddr Ascend #define ATTRIBUTE_ASCEND_MULTICAST_CLIENT 155 //ATTRIBUTE Ascend-Multicast-Client 155 integer Ascend #define ATTRIBUTE_ASCEND_FR_CIRCUIT_NAME 156 //ATTRIBUTE Ascend-FR-Circuit-Name 156 string Ascend #define ATTRIBUTE_ASCEND_FR_LINKUP 157 //ATTRIBUTE Ascend-FR-LinkUp 157 integer Ascend #define ATTRIBUTE_ASCEND_FR_NAILED_GRP 158 //ATTRIBUTE Ascend-FR-Nailed-Grp 158 integer Ascend #define ATTRIBUTE_ASCEND_FR_TYPE 159 //ATTRIBUTE Ascend-FR-Type 159 integer Ascend #define ATTRIBUTE_ASCEND_FR_LINK_MGT 160 //ATTRIBUTE Ascend-FR-Link-Mgt 160 integer Ascend #define ATTRIBUTE_ASCEND_FR_N391 161 //ATTRIBUTE Ascend-FR-N391 161 integer Ascend #define ATTRIBUTE_ASCEND_FR_DCE_N392 162 //ATTRIBUTE Ascend-FR-DCE-N392 162 integer Ascend #define ATTRIBUTE_ASCEND_FR_DTE_N392 163 //ATTRIBUTE Ascend-FR-DTE-N392 163 integer Ascend #define ATTRIBUTE_ASCEND_FR_DCE_N393 164 //ATTRIBUTE Ascend-FR-DCE-N393 164 integer Ascend #define ATTRIBUTE_ASCEND_FR_DTE_N393 165 //ATTRIBUTE Ascend-FR-DTE-N393 165 integer Ascend #define ATTRIBUTE_ASCEND_FR_T391 166 //ATTRIBUTE Ascend-FR-T391 166 integer Ascend #define ATTRIBUTE_ASCEND_FR_T392 167 //ATTRIBUTE Ascend-FR-T392 167 integer Ascend #define ATTRIBUTE_ASCEND_BRIDGE_ADDRESS 168 //ATTRIBUTE Ascend-Bridge-Address 168 string Ascend #define ATTRIBUTE_ASCEND_TS_IDLE_LIMIT 169 //ATTRIBUTE Ascend-TS-Idle-Limit 169 integer Ascend #define ATTRIBUTE_ASCEND_TS_IDLE_MODE 170 //ATTRIBUTE Ascend-TS-Idle-Mode 170 integer Ascend #define ATTRIBUTE_ASCEND_DBA_MONITOR 171 //ATTRIBUTE Ascend-DBA-Monitor 171 integer Ascend #define ATTRIBUTE_ASCEND_BASE_CHANNEL_COUNT 172 //ATTRIBUTE Ascend-Base-Channel-Count 172 integer Ascend #define ATTRIBUTE_ASCEND_MINIMUM_CHANNELS 173 //ATTRIBUTE Ascend-Minimum-Channels 173 integer Ascend #define ATTRIBUTE_ASCEND_IPX_ROUTE 174 //ATTRIBUTE Ascend-IPX-Route 174 string Ascend #define ATTRIBUTE_ASCEND_FT1_CALLER 175 //ATTRIBUTE Ascend-FT1-Caller 175 integer Ascend #define ATTRIBUTE_ASCEND_BACKUP 176 //ATTRIBUTE Ascend-Backup 176 string Ascend #define ATTRIBUTE_ASCEND_CALL_TYPE 177 //ATTRIBUTE Ascend-Call-Type 177 integer Ascend #define ATTRIBUTE_ASCEND_GROUP 178 //ATTRIBUTE Ascend-Group 178 string Ascend #define ATTRIBUTE_ASCEND_FR_DLCI 179 //ATTRIBUTE Ascend-FR-DLCI 179 integer Ascend #define ATTRIBUTE_ASCEND_FR_PROFILE_NAME 180 //ATTRIBUTE Ascend-FR-Profile-Name 180 string Ascend #define ATTRIBUTE_ASCEND_ARA_PW 181 //ATTRIBUTE Ascend-Ara-PW 181 string Ascend #define ATTRIBUTE_ASCEND_IPX_NODE_ADDR 182 //ATTRIBUTE Ascend-IPX-Node-Addr 182 string Ascend #define ATTRIBUTE_ASCEND_HOME_AGENT_IP_ADDR 183 //ATTRIBUTE Ascend-Home-Agent-IP-Addr 183 ipaddr Ascend #define ATTRIBUTE_ASCEND_HOME_AGENT_PASSWORD 184 //ATTRIBUTE Ascend-Home-Agent-Password 184 string Ascend #define ATTRIBUTE_ASCEND_HOME_NETWORK_NAME 185 //ATTRIBUTE Ascend-Home-Network-Name 185 string Ascend #define ATTRIBUTE_ASCEND_HOME_AGENT_UDP_PORT 186 //ATTRIBUTE Ascend-Home-Agent-UDP-Port 186 integer Ascend #define ATTRIBUTE_ASCEND_MULTILINK_ID 187 //ATTRIBUTE Ascend-Multilink-ID 187 integer Ascend #define ATTRIBUTE_ASCEND_NUM_IN_MULTILINK 188 //ATTRIBUTE Ascend-Num-In-Multilink 188 integer Ascend #define ATTRIBUTE_ASCEND_FIRST_DEST 189 //ATTRIBUTE Ascend-First-Dest 189 ipaddr Ascend #define ATTRIBUTE_ASCEND_PRE_INPUT_OCTETS 190 //ATTRIBUTE Ascend-Pre-Input-Octets 190 integer Ascend #define ATTRIBUTE_ASCEND_PRE_OUTPUT_OCTETS 191 //ATTRIBUTE Ascend-Pre-Output-Octets 191 integer Ascend #define ATTRIBUTE_ASCEND_PRE_INPUT_PACKETS 192 //ATTRIBUTE Ascend-Pre-Input-Packets 192 integer Ascend #define ATTRIBUTE_ASCEND_PRE_OUTPUT_PACKETS 193 //ATTRIBUTE Ascend-Pre-Output-Packets 193 integer Ascend #define ATTRIBUTE_ASCEND_MAXIMUM_TIME 194 //ATTRIBUTE Ascend-Maximum-Time 194 integer Ascend #define ATTRIBUTE_ASCEND_DISCONNECT_CAUSE 195 //ATTRIBUTE Ascend-Disconnect-Cause 195 integer Ascend #define ATTRIBUTE_ASCEND_CONNECT_PROGRESS 196 //ATTRIBUTE Ascend-Connect-Progress 196 integer Ascend #define ATTRIBUTE_ASCEND_DATA_RATE 197 //ATTRIBUTE Ascend-Data-Rate 197 integer Ascend #define ATTRIBUTE_ASCEND_PRESESSION_TIME 198 //ATTRIBUTE Ascend-PreSession-Time 198 integer Ascend #define ATTRIBUTE_ASCEND_TOKEN_IDLE 199 //ATTRIBUTE Ascend-Token-Idle 199 integer Ascend #define ATTRIBUTE_ASCEND_TOKEN_IMMEDIATE 200 //ATTRIBUTE Ascend-Token-Immediate 200 integer Ascend #define ATTRIBUTE_ASCEND_REQUIRE_AUTH 201 //ATTRIBUTE Ascend-Require-Auth 201 integer Ascend #define ATTRIBUTE_ASCEND_NUMBER_SESSIONS 202 //ATTRIBUTE Ascend-Number-Sessions 202 string Ascend #define ATTRIBUTE_ASCEND_AUTHEN_ALIAS 203 //ATTRIBUTE Ascend-Authen-Alias 203 string Ascend #define ATTRIBUTE_ASCEND_TOKEN_EXPIRY 204 //ATTRIBUTE Ascend-Token-Expiry 204 integer Ascend #define ATTRIBUTE_ASCEND_MENU_SELECTOR 205 //ATTRIBUTE Ascend-Menu-Selector 205 string Ascend #define ATTRIBUTE_ASCEND_MENU_ITEM 206 //ATTRIBUTE Ascend-Menu-Item 206 string Ascend #define ATTRIBUTE_ASCEND_PW_WARNTIME 207 //ATTRIBUTE Ascend-PW-Warntime 207 integer Ascend #define ATTRIBUTE_ASCEND_PW_LIFETIME 208 //ATTRIBUTE Ascend-PW-Lifetime 208 integer Ascend #define ATTRIBUTE_ASCEND_IP_DIRECT 209 //ATTRIBUTE Ascend-IP-Direct 209 ipaddr Ascend #define ATTRIBUTE_ASCEND_PPP_VJ_SLOT_COMP 210 //ATTRIBUTE Ascend-PPP-VJ-Slot-Comp 210 integer Ascend #define ATTRIBUTE_ASCEND_PPP_VJ_1172 211 //ATTRIBUTE Ascend-PPP-VJ-1172 211 integer Ascend #define ATTRIBUTE_ASCEND_PPP_ASYNC_MAP 212 //ATTRIBUTE Ascend-PPP-Async-Map 212 integer Ascend #define ATTRIBUTE_ASCEND_THIRD_PROMPT 213 //ATTRIBUTE Ascend-Third-Prompt 213 string Ascend #define ATTRIBUTE_ASCEND_SEND_SECRET 214 //ATTRIBUTE Ascend-Send-Secret 214 string Ascend #define ATTRIBUTE_ASCEND_RECEIVE_SECRET 215 //ATTRIBUTE Ascend-Receive-Secret 215 string Ascend #define ATTRIBUTE_ASCEND_IPX_PEER_MODE 216 //ATTRIBUTE Ascend-IPX-Peer-Mode 216 integer Ascend #define ATTRIBUTE_ASCEND_IP_POOL_DEFINITION 217 //ATTRIBUTE Ascend-IP-Pool-Definition 217 string Ascend #define ATTRIBUTE_ASCEND_ASSIGN_IP_POOL 218 //ATTRIBUTE Ascend-Assign-IP-Pool 218 integer Ascend #define ATTRIBUTE_ASCEND_FR_DIRECT 219 //ATTRIBUTE Ascend-FR-Direct 219 integer Ascend #define ATTRIBUTE_ASCEND_FR_DIRECT_PROFILE 220 //ATTRIBUTE Ascend-FR-Direct-Profile 220 string Ascend #define ATTRIBUTE_ASCEND_FR_DIRECT_DLCI 221 //ATTRIBUTE Ascend-FR-Direct-DLCI 221 integer Ascend #define ATTRIBUTE_ASCEND_HANDLE_IPX 222 //ATTRIBUTE Ascend-Handle-IPX 222 integer Ascend #define ATTRIBUTE_ASCEND_NETWARE_TIMEOUT 223 //ATTRIBUTE Ascend-Netware-timeout 223 integer Ascend #define ATTRIBUTE_ASCEND_IPX_ALIAS 224 //ATTRIBUTE Ascend-IPX-Alias 224 integer Ascend #define ATTRIBUTE_ASCEND_METRIC 225 //ATTRIBUTE Ascend-Metric 225 integer Ascend #define ATTRIBUTE_ASCEND_PRI_NUMBER_TYPE 226 //ATTRIBUTE Ascend-PRI-Number-Type 226 integer Ascend #define ATTRIBUTE_ASCEND_DIAL_NUMBER 227 //ATTRIBUTE Ascend-Dial-Number 227 string Ascend #define ATTRIBUTE_ASCEND_ROUTE_IP 228 //ATTRIBUTE Ascend-Route-IP 228 integer Ascend #define ATTRIBUTE_ASCEND_ROUTE_IPX 229 //ATTRIBUTE Ascend-Route-IPX 229 integer Ascend #define ATTRIBUTE_ASCEND_BRIDGE 230 //ATTRIBUTE Ascend-Bridge 230 integer Ascend #define ATTRIBUTE_ASCEND_SEND_AUTH 231 //ATTRIBUTE Ascend-Send-Auth 231 integer Ascend #define ATTRIBUTE_ASCEND_SEND_PASSWD 232 //ATTRIBUTE Ascend-Send-Passwd 232 string Ascend #define ATTRIBUTE_ASCEND_LINK_COMPRESSION 233 //ATTRIBUTE Ascend-Link-Compression 233 integer Ascend #define ATTRIBUTE_ASCEND_TARGET_UTIL 234 //ATTRIBUTE Ascend-Target-Util 234 integer Ascend #define ATTRIBUTE_ASCEND_MAXIMUM_CHANNELS 235 //ATTRIBUTE Ascend-Maximum-Channels 235 integer Ascend #define ATTRIBUTE_ASCEND_INC_CHANNEL_COUNT 236 //ATTRIBUTE Ascend-Inc-Channel-Count 236 integer Ascend #define ATTRIBUTE_ASCEND_DEC_CHANNEL_COUNT 237 //ATTRIBUTE Ascend-Dec-Channel-Count 237 integer Ascend #define ATTRIBUTE_ASCEND_SECONDS_OF_HISTORY 238 //ATTRIBUTE Ascend-Seconds-Of-History 238 integer Ascend #define ATTRIBUTE_ASCEND_HISTORY_WEIGH_TYPE 239 //ATTRIBUTE Ascend-History-Weigh-Type 239 integer Ascend #define ATTRIBUTE_ASCEND_ADD_SECONDS 240 //ATTRIBUTE Ascend-Add-Seconds 240 integer Ascend #define ATTRIBUTE_ASCEND_REMOVE_SECONDS 241 //ATTRIBUTE Ascend-Remove-Seconds 241 integer Ascend #define ATTRIBUTE_ASCEND_IDLE_LIMIT 244 //ATTRIBUTE Ascend-Idle-Limit 244 integer Ascend #define ATTRIBUTE_ASCEND_PREEMPT_LIMIT 245 //ATTRIBUTE Ascend-Preempt-Limit 245 integer Ascend #define ATTRIBUTE_ASCEND_CALLBACK 246 //ATTRIBUTE Ascend-Callback 246 integer Ascend #define ATTRIBUTE_ASCEND_DATA_SVC 247 //ATTRIBUTE Ascend-Data-Svc 247 integer Ascend #define ATTRIBUTE_ASCEND_FORCE_56 248 //ATTRIBUTE Ascend-Force-56 248 integer Ascend #define ATTRIBUTE_ASCEND_BILLING_NUMBER 249 //ATTRIBUTE Ascend-Billing-Number 249 string Ascend #define ATTRIBUTE_ASCEND_CALL_BY_CALL 250 //ATTRIBUTE Ascend-Call-By-Call 250 integer Ascend #define ATTRIBUTE_ASCEND_TRANSIT_NUMBER 251 //ATTRIBUTE Ascend-Transit-Number 251 string Ascend #define ATTRIBUTE_ASCEND_HOST_INFO 252 //ATTRIBUTE Ascend-Host-Info 252 string Ascend #define ATTRIBUTE_ASCEND_PPP_ADDRESS 253 //ATTRIBUTE Ascend-PPP-Address 253 ipaddr Ascend #define ATTRIBUTE_ASCEND_MPP_IDLE_PERCENT 254 //ATTRIBUTE Ascend-MPP-Idle-Percent 254 integer Ascend #define ATTRIBUTE_ASCEND_XMIT_RATE 255 //ATTRIBUTE Ascend-Xmit-Rate 255 integer Ascend #define ATTRIBUTE_KARLNET_TURBOCELL_NAME 151 //ATTRIBUTE KarlNet-TurboCell-Name 151 string KarlNet #define ATTRIBUTE_KARLNET_TURBOCELL_TXRATE 152 //ATTRIBUTE KarlNet-TurboCell-TxRate 152 integer KarlNet #define ATTRIBUTE_KARLNET_TURBOCELL_OPSTATE 153 //ATTRIBUTE KarlNet-TurboCell-OpState 153 integer KarlNet #define ATTRIBUTE_KARLNET_TURBOCELL_OPMODE 154 //ATTRIBUTE KarlNet-TurboCell-OpMode 154 integer KarlNet #define ATTRIBUTE_XEDIA_DNS_SERVER 1 //ATTRIBUTE Xedia-DNS-Server 1 ipaddr Xedia #define ATTRIBUTE_XEDIA_NETBIOS_SERVER 2 //ATTRIBUTE Xedia-NetBios-Server 2 ipaddr Xedia #define ATTRIBUTE_XEDIA_ADDRESS_POOL 3 //ATTRIBUTE Xedia-Address-Pool 3 string Xedia #define ATTRIBUTE_XEDIA_PPP_ECHO_INTERVAL 4 //ATTRIBUTE Xedia-PPP-Echo-Interval 4 integer Xedia #define ATTRIBUTE_XEDIA_SSH_PRIVILEGES 5 //ATTRIBUTE Xedia-SSH-Privileges 5 integer Xedia #define ATTRIBUTE_XEDIA_CLIENT_ACCESS_NETWORK 6 //ATTRIBUTE Xedia-Client-Access-Network 6 string Xedia #define ATTRIBUTE_ITK_AUTH_SERV_IP 100 //ATTRIBUTE ITK-Auth-Serv-IP 100 ipaddr ITK #define ATTRIBUTE_ITK_AUTH_SERV_PROT 101 //ATTRIBUTE ITK-Auth-Serv-Prot 101 integer ITK #define ATTRIBUTE_ITK_PROVIDER_ID 102 //ATTRIBUTE ITK-Provider-Id 102 integer ITK #define ATTRIBUTE_ITK_USERGROUP 103 //ATTRIBUTE ITK-Usergroup 103 integer ITK #define ATTRIBUTE_ITK_BANNER 104 //ATTRIBUTE ITK-Banner 104 string ITK #define ATTRIBUTE_ITK_USERNAME_PROMPT 105 //ATTRIBUTE ITK-Username-Prompt 105 string ITK #define ATTRIBUTE_ITK_PASSWORD_PROMPT 106 //ATTRIBUTE ITK-Password-Prompt 106 string ITK #define ATTRIBUTE_ITK_WELCOME_MESSAGE 107 //ATTRIBUTE ITK-Welcome-Message 107 string ITK #define ATTRIBUTE_ITK_PROMPT 108 //ATTRIBUTE ITK-Prompt 108 string ITK #define ATTRIBUTE_ITK_IP_POOL 109 //ATTRIBUTE ITK-IP-Pool 109 integer ITK #define ATTRIBUTE_ITK_TUNNEL_IP 110 //ATTRIBUTE ITK-Tunnel-IP 110 ipaddr ITK #define ATTRIBUTE_ITK_TUNNEL_PROT 111 //ATTRIBUTE ITK-Tunnel-Prot 111 integer ITK #define ATTRIBUTE_ITK_ACCT_SERV_IP 112 //ATTRIBUTE ITK-Acct-Serv-IP 112 ipaddr ITK #define ATTRIBUTE_ITK_ACCT_SERV_PROT 113 //ATTRIBUTE ITK-Acct-Serv-Prot 113 integer ITK #define ATTRIBUTE_ITK_FILTER_RULE 114 //ATTRIBUTE ITK-Filter-Rule 114 string ITK #define ATTRIBUTE_ITK_CHANNEL_BINDING 115 //ATTRIBUTE ITK-Channel-Binding 115 integer ITK #define ATTRIBUTE_ITK_START_DELAY 116 //ATTRIBUTE ITK-Start-Delay 116 integer ITK #define ATTRIBUTE_ITK_NAS_NAME 117 //ATTRIBUTE ITK-NAS-Name 117 string ITK #define ATTRIBUTE_ITK_ISDN_PROT 118 //ATTRIBUTE ITK-ISDN-Prot 118 integer ITK #define ATTRIBUTE_ITK_PPP_AUTH_TYPE 119 //ATTRIBUTE ITK-PPP-Auth-Type 119 integer ITK #define ATTRIBUTE_ITK_DIALOUT_TYPE 120 //ATTRIBUTE ITK-Dialout-Type 120 integer ITK #define ATTRIBUTE_ITK_FTP_AUTH_IP 121 //ATTRIBUTE ITK-Ftp-Auth-IP 121 ipaddr ITK #define ATTRIBUTE_ITK_USERS_DEFAULT_ENTRY 122 //ATTRIBUTE ITK-Users-Default-Entry 122 string ITK #define ATTRIBUTE_ITK_USERS_DEFAULT_PW 123 //ATTRIBUTE ITK-Users-Default-Pw 123 string ITK #define ATTRIBUTE_ITK_AUTH_REQ_TYPE 124 //ATTRIBUTE ITK-Auth-Req-Type 124 string ITK #define ATTRIBUTE_ITK_MODEM_POOL_ID 125 //ATTRIBUTE ITK-Modem-Pool-Id 125 integer ITK #define ATTRIBUTE_ITK_MODEM_INIT_STRING 126 //ATTRIBUTE ITK-Modem-Init-String 126 string ITK #define ATTRIBUTE_ITK_PPP_CLIENT_SERVER_MODE 127 //ATTRIBUTE ITK-PPP-Client-Server-Mode 127 integer ITK #define ATTRIBUTE_ITK_PPP_COMPRESSION_PROT 128 //ATTRIBUTE ITK-PPP-Compression-Prot 128 string ITK #define ATTRIBUTE_ITK_USERNAME 129 //ATTRIBUTE ITK-Username 129 string ITK #define ATTRIBUTE_ITK_DEST_NO 130 //ATTRIBUTE ITK-Dest-No 130 string ITK #define ATTRIBUTE_ITK_DDI 131 //ATTRIBUTE ITK-DDI 131 string ITK #define ATTRIBUTE_ANNEX_FILTER 28 //ATTRIBUTE Annex-Filter 28 string Bay-Networks #define ATTRIBUTE_ANNEX_CLI_COMMAND 29 //ATTRIBUTE Annex-CLI-Command 29 string Bay-Networks #define ATTRIBUTE_ANNEX_CLI_FILTER 30 //ATTRIBUTE Annex-CLI-Filter 30 string Bay-Networks #define ATTRIBUTE_ANNEX_HOST_RESTRICT 31 //ATTRIBUTE Annex-Host-Restrict 31 string Bay-Networks #define ATTRIBUTE_ANNEX_HOST_ALLOW 32 //ATTRIBUTE Annex-Host-Allow 32 string Bay-Networks #define ATTRIBUTE_ANNEX_PRODUCT_NAME 33 //ATTRIBUTE Annex-Product-Name 33 string Bay-Networks #define ATTRIBUTE_ANNEX_SW_VERSION 34 //ATTRIBUTE Annex-SW-Version 34 string Bay-Networks #define ATTRIBUTE_ANNEX_LOCAL_IP_ADDRESS 35 //ATTRIBUTE Annex-Local-IP-Address 35 ipaddr Bay-Networks #define ATTRIBUTE_ANNEX_CALLBACK_PORTLIST 36 //ATTRIBUTE Annex-Callback-Portlist 36 integer Bay-Networks #define ATTRIBUTE_ANNEX_SEC_PROFILE_INDEX 37 //ATTRIBUTE Annex-Sec-Profile-Index 37 integer Bay-Networks #define ATTRIBUTE_ANNEX_TUNNEL_AUTHEN_TYPE 38 //ATTRIBUTE Annex-Tunnel-Authen-Type 38 integer Bay-Networks #define ATTRIBUTE_ANNEX_TUNNEL_AUTHEN_MODE 39 //ATTRIBUTE Annex-Tunnel-Authen-Mode 39 integer Bay-Networks #define ATTRIBUTE_ANNEX_AUTHEN_SERVERS 40 //ATTRIBUTE Annex-Authen-Servers 40 string Bay-Networks #define ATTRIBUTE_ANNEX_ACCT_SERVERS 41 //ATTRIBUTE Annex-Acct-Servers 41 string Bay-Networks #define ATTRIBUTE_ANNEX_USER_SERVER_LOCATION 42 //ATTRIBUTE Annex-User-Server-Location 42 integer Bay-Networks #define ATTRIBUTE_ANNEX_LOCAL_USERNAME 43 //ATTRIBUTE Annex-Local-Username 43 string Bay-Networks #define ATTRIBUTE_ANNEX_SYSTEM_DISC_REASON 44 //ATTRIBUTE Annex-System-Disc-Reason 44 integer Bay-Networks #define ATTRIBUTE_ANNEX_MODEM_DISC_REASON 45 //ATTRIBUTE Annex-Modem-Disc-Reason 45 integer Bay-Networks #define ATTRIBUTE_ANNEX_DISCONNECT_REASON 46 //ATTRIBUTE Annex-Disconnect-Reason 46 integer Bay-Networks #define ATTRIBUTE_ANNEX_ADDR_RESOLUTION_PROTOCOL 47 //ATTRIBUTE Annex-Addr-Resolution-Protocol 47 integer Bay-Networks #define ATTRIBUTE_ANNEX_ADDR_RESOLUTION_SERVERS 48 //ATTRIBUTE Annex-Addr-Resolution-Servers 48 string Bay-Networks #define ATTRIBUTE_ANNEX_DOMAIN_NAME 49 //ATTRIBUTE Annex-Domain-Name 49 string Bay-Networks #define ATTRIBUTE_ANNEX_TRANSMIT_SPEED 50 //ATTRIBUTE Annex-Transmit-Speed 50 integer Bay-Networks #define ATTRIBUTE_ANNEX_RECEIVE_SPEED 51 //ATTRIBUTE Annex-Receive-Speed 51 integer Bay-Networks #define ATTRIBUTE_ANNEX_INPUT_FILTER 52 //ATTRIBUTE Annex-Input-Filter 52 string Bay-Networks #define ATTRIBUTE_ANNEX_OUTPUT_FILTER 53 //ATTRIBUTE Annex-Output-Filter 53 string Bay-Networks #define ATTRIBUTE_ANNEX_PRIMARY_DNS_SERVER 54 //ATTRIBUTE Annex-Primary-DNS-Server 54 ipaddr Bay-Networks #define ATTRIBUTE_ANNEX_SECONDARY_DNS_SERVER 55 //ATTRIBUTE Annex-Secondary-DNS-Server 55 ipaddr Bay-Networks #define ATTRIBUTE_ANNEX_PRIMARY_NBNS_SERVER 56 //ATTRIBUTE Annex-Primary-NBNS-Server 56 ipaddr Bay-Networks #define ATTRIBUTE_ANNEX_SECONDARY_NBNS_SERVER 57 //ATTRIBUTE Annex-Secondary-NBNS-Server 57 ipaddr Bay-Networks #define ATTRIBUTE_ANNEX_SYSLOG_TAP 58 //ATTRIBUTE Annex-Syslog-Tap 58 integer Bay-Networks #define ATTRIBUTE_ANNEX_KEYPRESS_TIMEOUT 59 //ATTRIBUTE Annex-Keypress-Timeout 59 integer Bay-Networks #define ATTRIBUTE_ANNEX_UNAUTHENTICATED_TIME 60 //ATTRIBUTE Annex-Unauthenticated-Time 60 integer Bay-Networks #define ATTRIBUTE_ANNEX_RE_CHAP_TIMEOUT 61 //ATTRIBUTE Annex-Re-CHAP-Timeout 61 integer Bay-Networks #define ATTRIBUTE_ANNEX_MRRU 62 //ATTRIBUTE Annex-MRRU 62 integer Bay-Networks #define ATTRIBUTE_ANNEX_EDO 63 //ATTRIBUTE Annex-EDO 63 string Bay-Networks #define ATTRIBUTE_ANNEX_PPP_TRACE_LEVEL 64 //ATTRIBUTE Annex-PPP-Trace-Level 64 integer Bay-Networks #define ATTRIBUTE_ANNEX_PRE_INPUT_OCTETS 65 //ATTRIBUTE Annex-Pre-Input-Octets 65 integer Bay-Networks #define ATTRIBUTE_ANNEX_PRE_OUTPUT_OCTETS 66 //ATTRIBUTE Annex-Pre-Output-Octets 66 integer Bay-Networks #define ATTRIBUTE_ANNEX_PRE_INPUT_PACKETS 67 //ATTRIBUTE Annex-Pre-Input-Packets 67 integer Bay-Networks #define ATTRIBUTE_ANNEX_PRE_OUTPUT_PACKETS 68 //ATTRIBUTE Annex-Pre-Output-Packets 68 integer Bay-Networks #define ATTRIBUTE_ANNEX_CONNECT_PROGRESS 69 //ATTRIBUTE Annex-Connect-Progress 69 integer Bay-Networks #define ATTRIBUTE_ANNEX_MULTICAST_RATE_LIMIT 73 //ATTRIBUTE Annex-Multicast-Rate-Limit 73 integer Bay-Networks #define ATTRIBUTE_ANNEX_MAXIMUM_CALL_DURATION 74 //ATTRIBUTE Annex-Maximum-Call-Duration 74 integer Bay-Networks #define ATTRIBUTE_ANNEX_MULTILINK_ID 75 //ATTRIBUTE Annex-Multilink-Id 75 integer Bay-Networks #define ATTRIBUTE_ANNEX_NUM_IN_MULTILINK 76 //ATTRIBUTE Annex-Num-In-Multilink 76 integer Bay-Networks #define ATTRIBUTE_ANNEX_LOGICAL_CHANNEL_NUMBER 81 //ATTRIBUTE Annex-Logical-Channel-Number 81 integer Bay-Networks #define ATTRIBUTE_ANNEX_WAN_NUMBER 82 //ATTRIBUTE Annex-Wan-Number 82 integer Bay-Networks #define ATTRIBUTE_ANNEX_PORT 83 //ATTRIBUTE Annex-Port 83 integer Bay-Networks #define ATTRIBUTE_ANNEX_POOL_ID 85 //ATTRIBUTE Annex-Pool-Id 85 integer Bay-Networks #define ATTRIBUTE_ANNEX_COMPRESSION_PROTOCOL 86 //ATTRIBUTE Annex-Compression-Protocol 86 string Bay-Networks #define ATTRIBUTE_ANNEX_TRANSMITTED_PACKETS 87 //ATTRIBUTE Annex-Transmitted-Packets 87 integer Bay-Networks #define ATTRIBUTE_ANNEX_RETRANSMITTED_PACKETS 88 //ATTRIBUTE Annex-Retransmitted-Packets 88 integer Bay-Networks #define ATTRIBUTE_ANNEX_SIGNAL_TO_NOISE_RATIO 89 //ATTRIBUTE Annex-Signal-to-Noise-Ratio 89 integer Bay-Networks #define ATTRIBUTE_ANNEX_RETRAIN_REQUESTS_SENT 90 //ATTRIBUTE Annex-Retrain-Requests-Sent 90 integer Bay-Networks #define ATTRIBUTE_ANNEX_RETRAIN_REQUESTS_RCVD 91 //ATTRIBUTE Annex-Retrain-Requests-Rcvd 91 integer Bay-Networks #define ATTRIBUTE_ANNEX_RATE_RENEG_REQ_SENT 92 //ATTRIBUTE Annex-Rate-Reneg-Req-Sent 92 integer Bay-Networks #define ATTRIBUTE_ANNEX_RATE_RENEG_REQ_RCVD 93 //ATTRIBUTE Annex-Rate-Reneg-Req-Rcvd 93 integer Bay-Networks #define ATTRIBUTE_ANNEX_BEGIN_RECEIVE_LINE_LEVEL 94 //ATTRIBUTE Annex-Begin-Receive-Line-Level 94 integer Bay-Networks #define ATTRIBUTE_ANNEX_END_RECEIVE_LINE_LEVEL 95 //ATTRIBUTE Annex-End-Receive-Line-Level 95 integer Bay-Networks #define ATTRIBUTE_ANNEX_BEGIN_MODULATION 96 //ATTRIBUTE Annex-Begin-Modulation 96 string Bay-Networks #define ATTRIBUTE_ANNEX_ERROR_CORRECTION_PROT 97 //ATTRIBUTE Annex-Error-Correction-Prot 97 string Bay-Networks #define ATTRIBUTE_ANNEX_END_MODULATION 98 //ATTRIBUTE Annex-End-Modulation 98 string Bay-Networks #define ATTRIBUTE_ANNEX_USER_LEVEL 100 //ATTRIBUTE Annex-User-Level 100 integer Bay-Networks #define ATTRIBUTE_ANNEX_AUDIT_LEVEL 101 //ATTRIBUTE Annex-Audit-Level 101 integer Bay-Networks #define ATTRIBUTE_ALTEON_SERVICE_TYPE 26 //ATTRIBUTE Alteon-Service-Type 26 integer Alteon #define ATTRIBUTE_EXTREME_NETLOGIN_VLAN 203 //ATTRIBUTE Extreme-Netlogin-Vlan 203 string Extreme #define ATTRIBUTE_EXTREME_NETLOGIN_URL 204 //ATTRIBUTE Extreme-Netlogin-Url 204 string Extreme #define ATTRIBUTE_EXTREME_NETLOGIN_URL_DESC 205 //ATTRIBUTE Extreme-Netlogin-Url-Desc 205 string Extreme #define ATTRIBUTE_REDCREEK_TUNNELED_IP_ADDR 5 //ATTRIBUTE RedCreek-Tunneled-IP-Addr 5 ipaddr RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_IP_NETMASK 6 //ATTRIBUTE RedCreek-Tunneled-IP-Netmask 6 ipaddr RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_GATEWAY 7 //ATTRIBUTE RedCreek-Tunneled-Gateway 7 ipaddr RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_DNS_SERVER 8 //ATTRIBUTE RedCreek-Tunneled-DNS-Server 8 string RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_WINS_SERVER1 9 //ATTRIBUTE RedCreek-Tunneled-WINS-Server1 9 string RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_WINS_SERVER2 10 //ATTRIBUTE RedCreek-Tunneled-WINS-Server2 10 string RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_HOSTNAME 11 //ATTRIBUTE RedCreek-Tunneled-HostName 11 string RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_DOMAINNAME 12 //ATTRIBUTE RedCreek-Tunneled-DomainName 12 string RedCreek #define ATTRIBUTE_REDCREEK_TUNNELED_SEARCH_LIST 13 //ATTRIBUTE RedCreek-Tunneled-Search-List 13 string RedCreek #define ATTRIBUTE_FOUNDRY_PRIVILEGE_LEVEL 1 //ATTRIBUTE Foundry-Privilege-Level 1 integer Foundry #define ATTRIBUTE_FOUNDRY_COMMAND_STRING 2 //ATTRIBUTE Foundry-Command-String 2 string Foundry #define ATTRIBUTE_FOUNDRY_COMMAND_EXCEPTION_FLAG 3 //ATTRIBUTE Foundry-Command-Exception-Flag 3 integer Foundry #define ATTRIBUTE_VERSANET_TERMINATION_CAUSE 1 //ATTRIBUTE Versanet-Termination-Cause 1 integer Versanet #define ATTRIBUTE_CLIENT_DNS_PRI 1 //ATTRIBUTE Client-DNS-Pri 1 ipaddr Redback #define ATTRIBUTE_CLIENT_DNS_SEC 2 //ATTRIBUTE Client-DNS-Sec 2 ipaddr Redback #define ATTRIBUTE_DHCP_MAX_LEASES 3 //ATTRIBUTE DHCP-Max-Leases 3 integer Redback #define ATTRIBUTE_CONTEXT_NAME 4 //ATTRIBUTE Context-Name 4 string Redback #define ATTRIBUTE_BRIDGE_GROUP 5 //ATTRIBUTE Bridge-Group 5 string Redback #define ATTRIBUTE_BG_AGING_TIME 6 //ATTRIBUTE BG-Aging-Time 6 string Redback #define ATTRIBUTE_BG_PATH_COST 7 //ATTRIBUTE BG-Path-Cost 7 string Redback #define ATTRIBUTE_BG_SPAN_DIS 8 //ATTRIBUTE BG-Span-Dis 8 string Redback #define ATTRIBUTE_BG_TRANS_BPDU 9 //ATTRIBUTE BG-Trans-BPDU 9 string Redback #define ATTRIBUTE_RATE_LIMIT_RATE 10 //ATTRIBUTE Rate-Limit-Rate 10 integer Redback #define ATTRIBUTE_RATE_LIMIT_BURST 11 //ATTRIBUTE Rate-Limit-Burst 11 integer Redback #define ATTRIBUTE_POLICE_RATE 12 //ATTRIBUTE Police-Rate 12 integer Redback #define ATTRIBUTE_POLICE_BURST 13 //ATTRIBUTE Police-Burst 13 integer Redback #define ATTRIBUTE_SOURCE_VALIDATION 14 //ATTRIBUTE Source-Validation 14 integer Redback #define ATTRIBUTE_TUNNEL_DOMAIN 15 //ATTRIBUTE Tunnel-Domain 15 integer Redback #define ATTRIBUTE_TUNNEL_LOCAL_NAME 16 //ATTRIBUTE Tunnel-Local-Name 16 string Redback #define ATTRIBUTE_TUNNEL_REMOTE_NAME 17 //ATTRIBUTE Tunnel-Remote-Name 17 string Redback #define ATTRIBUTE_TUNNEL_FUNCTION 18 //ATTRIBUTE Tunnel-Function 18 integer Redback #define ATTRIBUTE_TUNNEL_MAX_SESSIONS 21 //ATTRIBUTE Tunnel-Max-Sessions 21 integer Redback #define ATTRIBUTE_TUNNEL_MAX_TUNNELS 22 //ATTRIBUTE Tunnel-Max-Tunnels 22 integer Redback #define ATTRIBUTE_TUNNEL_SESSION_AUTH 23 //ATTRIBUTE Tunnel-Session-Auth 23 integer Redback #define ATTRIBUTE_TUNNEL_WINDOW 24 //ATTRIBUTE Tunnel-Window 24 integer Redback #define ATTRIBUTE_TUNNEL_RETRANSMIT 25 //ATTRIBUTE Tunnel-Retransmit 25 integer Redback #define ATTRIBUTE_TUNNEL_CMD_TIMEOUT 26 //ATTRIBUTE Tunnel-Cmd-Timeout 26 integer Redback #define ATTRIBUTE_PPPOE_URL 27 //ATTRIBUTE PPPOE-URL 27 string Redback #define ATTRIBUTE_PPPOE_MOTM 28 //ATTRIBUTE PPPOE-MOTM 28 string Redback #define ATTRIBUTE_TUNNEL_GROUP 29 //ATTRIBUTE Tunnel-Group 29 integer Redback #define ATTRIBUTE_TUNNEL_CONTEXT 30 //ATTRIBUTE Tunnel-Context 30 string Redback #define ATTRIBUTE_TUNNEL_ALGORITHM 31 //ATTRIBUTE Tunnel-Algorithm 31 integer Redback #define ATTRIBUTE_TUNNEL_DEADTIME 32 //ATTRIBUTE Tunnel-Deadtime 32 integer Redback #define ATTRIBUTE_MCAST_SEND 33 //ATTRIBUTE Mcast-Send 33 integer Redback #define ATTRIBUTE_MCAST_RECEIVE 34 //ATTRIBUTE Mcast-Receive 34 integer Redback #define ATTRIBUTE_MCAST_MAXGROUPS 35 //ATTRIBUTE Mcast-MaxGroups 35 integer Redback #define ATTRIBUTE_IP_ADDRESS_POOL_NAME 36 //ATTRIBUTE Ip-Address-Pool-Name 36 string Redback #define ATTRIBUTE_TUNNEL_DNIS 37 //ATTRIBUTE Tunnel-DNIS 37 integer Redback #define ATTRIBUTE_MEDIUM_TYPE 38 //ATTRIBUTE Medium-Type 38 integer Redback #define ATTRIBUTE_PVC_ENCAPSULATION_TYPE 39 //ATTRIBUTE PVC-Encapsulation-Type 39 integer Redback #define ATTRIBUTE_PVC_PROFILE_NAME 40 //ATTRIBUTE PVC-Profile-Name 40 string Redback #define ATTRIBUTE_PVC_CIRCUIT_PADDING 41 //ATTRIBUTE PVC-Circuit-Padding 41 integer Redback #define ATTRIBUTE_BIND_TYPE 42 //ATTRIBUTE Bind-Type 42 integer Redback #define ATTRIBUTE_BIND_AUTH_PROTOCOL 43 //ATTRIBUTE Bind-Auth-Protocol 43 integer Redback #define ATTRIBUTE_BIND_AUTH_MAX_SESSIONS 44 //ATTRIBUTE Bind-Auth-Max-Sessions 44 integer Redback #define ATTRIBUTE_BIND_BYPASS_BYPASS 45 //ATTRIBUTE Bind-Bypass-Bypass 45 string Redback #define ATTRIBUTE_BIND_AUTH_CONTEXT 46 //ATTRIBUTE Bind-Auth-Context 46 string Redback #define ATTRIBUTE_BIND_AUTH_SERVICE_GRP 47 //ATTRIBUTE Bind-Auth-Service-Grp 47 string Redback #define ATTRIBUTE_BIND_BYPASS_CONTEXT 48 //ATTRIBUTE Bind-Bypass-Context 48 string Redback #define ATTRIBUTE_BIND_INT_CONTEXT 49 //ATTRIBUTE Bind-Int-Context 49 string Redback #define ATTRIBUTE_BIND_TUN_CONTEXT 50 //ATTRIBUTE Bind-Tun-Context 50 string Redback #define ATTRIBUTE_BIND_SES_CONTEXT 51 //ATTRIBUTE Bind-Ses-Context 51 string Redback #define ATTRIBUTE_BIND_DOT1Q_SLOT 52 //ATTRIBUTE Bind-Dot1q-Slot 52 integer Redback #define ATTRIBUTE_BIND_DOT1Q_PORT 53 //ATTRIBUTE Bind-Dot1q-Port 53 integer Redback #define ATTRIBUTE_BIND_DOT1Q_VLAN_TAG_ID 54 //ATTRIBUTE Bind-Dot1q-Vlan-Tag-Id 54 integer Redback #define ATTRIBUTE_BIND_INT_INTERFACE_NAME 55 //ATTRIBUTE Bind-Int-Interface-Name 55 string Redback #define ATTRIBUTE_BIND_L2TP_TUNNEL_NAME 56 //ATTRIBUTE Bind-L2TP-Tunnel-Name 56 string Redback #define ATTRIBUTE_BIND_L2TP_FLOW_CONTROL 57 //ATTRIBUTE Bind-L2TP-Flow-Control 57 integer Redback #define ATTRIBUTE_BIND_SUB_USER_AT_CONTEXT 58 //ATTRIBUTE Bind-Sub-User-At-Context 58 string Redback #define ATTRIBUTE_BIND_SUB_PASSWORD 59 //ATTRIBUTE Bind-Sub-Password 59 string Redback #define ATTRIBUTE_IP_HOST_ADDR 60 //ATTRIBUTE Ip-Host-Addr 60 string Redback #define ATTRIBUTE_IP_TOS_FIELD 61 //ATTRIBUTE IP-TOS-Field 61 integer Redback #define ATTRIBUTE_NAS_REAL_PORT 62 //ATTRIBUTE NAS-Real-Port 62 integer Redback #define ATTRIBUTE_TUNNEL_SESSION_AUTH_CTX 63 //ATTRIBUTE Tunnel-Session-Auth-Ctx 63 string Redback #define ATTRIBUTE_TUNNEL_SESSION_AUTH_SERVICE_GRP 64 //ATTRIBUTE Tunnel-Session-Auth-Service-Grp 64 string Redback #define ATTRIBUTE_TUNNEL_RATE_LIMIT_RATE 65 //ATTRIBUTE Tunnel-Rate-Limit-Rate 65 integer Redback #define ATTRIBUTE_TUNNEL_RATE_LIMIT_BURST 66 //ATTRIBUTE Tunnel-Rate-Limit-Burst 66 integer Redback #define ATTRIBUTE_TUNNEL_POLICE_RATE 67 //ATTRIBUTE Tunnel-Police-Rate 67 integer Redback #define ATTRIBUTE_TUNNEL_POLICE_BURST 68 //ATTRIBUTE Tunnel-Police-Burst 68 integer Redback #define ATTRIBUTE_TUNNEL_L2F_SECOND_PASSWORD 69 //ATTRIBUTE Tunnel-L2F-Second-Password 69 string Redback #define ATTRIBUTE_ACCT_INPUT_OCTETS_64 128 //ATTRIBUTE Acct-Input-Octets-64 128 string Redback #define ATTRIBUTE_ACCT_OUTPUT_OCTETS_64 129 //ATTRIBUTE Acct-Output-Octets-64 129 string Redback #define ATTRIBUTE_ACCT_INPUT_PACKETS_64 130 //ATTRIBUTE Acct-Input-Packets-64 130 string Redback #define ATTRIBUTE_ACCT_OUTPUT_PACKETS_64 131 //ATTRIBUTE Acct-Output-Packets-64 131 string Redback #define ATTRIBUTE_ASSIGNED_IP_ADDRESS 132 //ATTRIBUTE Assigned-IP-Address 132 ipaddr Redback #define ATTRIBUTE_ACCT_MCAST_IN_OCTETS 133 //ATTRIBUTE Acct-Mcast-In-Octets 133 integer Redback #define ATTRIBUTE_ACCT_MCAST_OUT_OCTETS 134 //ATTRIBUTE Acct-Mcast-Out-Octets 134 integer Redback #define ATTRIBUTE_ACCT_MCAST_IN_PACKETS 135 //ATTRIBUTE Acct-Mcast-In-Packets 135 integer Redback #define ATTRIBUTE_ACCT_MCAST_OUT_PACKETS 136 //ATTRIBUTE Acct-Mcast-Out-Packets 136 integer Redback #define ATTRIBUTE_LAC_PORT 137 //ATTRIBUTE LAC-Port 137 integer Redback #define ATTRIBUTE_LAC_REAL_PORT 138 //ATTRIBUTE LAC-Real-Port 138 integer Redback #define ATTRIBUTE_LAC_PORT_TYPE 139 //ATTRIBUTE LAC-Port-Type 139 integer Redback #define ATTRIBUTE_LAC_REAL_PORT_TYPE 140 //ATTRIBUTE LAC-Real-Port-Type 140 integer Redback #define ATTRIBUTE_ACCT_DYN_AC_ENT 141 //ATTRIBUTE Acct-Dyn-Ac-Ent 141 string Redback #define ATTRIBUTE_SESSION_ERROR_CODE 142 //ATTRIBUTE Session-Error-Code 142 integer Redback #define ATTRIBUTE_SESSION_ERROR_MSG 143 //ATTRIBUTE Session-Error-Msg 143 string Redback #define ATTRIBUTE_JUNIPER_LOCAL_USER_NAME 1 //ATTRIBUTE Juniper-Local-User-Name 1 string Juniper #define ATTRIBUTE_JUNIPER_ALLOW_COMMANDS 2 //ATTRIBUTE Juniper-Allow-Commands 2 string Juniper #define ATTRIBUTE_JUNIPER_DENY_COMMANDS 3 //ATTRIBUTE Juniper-Deny-Commands 3 string Juniper #define ATTRIBUTE_JUNIPER_ALLOW_CONFIGURATION 4 //ATTRIBUTE Juniper-Allow-Configuration 4 string Juniper #define ATTRIBUTE_JUNIPER_DENY_CONFIGURATION 5 //ATTRIBUTE Juniper-Deny-Configuration 5 string Juniper #define ATTRIBUTE_CVX_IDENTIFICATION 1 //ATTRIBUTE CVX-Identification 1 string Aptis #define ATTRIBUTE_CVX_VPOP_ID 2 //ATTRIBUTE CVX-VPOP-ID 2 integer Aptis #define ATTRIBUTE_CVX_SS7_SESSION_ID_TYPE 3 //ATTRIBUTE CVX-SS7-Session-ID-Type 3 integer Aptis #define ATTRIBUTE_CVX_RADIUS_REDIRECT 4 //ATTRIBUTE CVX-Radius-Redirect 4 integer Aptis #define ATTRIBUTE_CVX_IPSVC_AZNLVL 5 //ATTRIBUTE CVX-IPSVC-AZNLVL 5 integer Aptis #define ATTRIBUTE_CVX_IPSVC_MASK 6 //ATTRIBUTE CVX-IPSVC-Mask 6 integer Aptis #define ATTRIBUTE_CVX_MULTILINK_MATCH_INFO 7 //ATTRIBUTE CVX-Multilink-Match-Info 7 integer Aptis #define ATTRIBUTE_CVX_MULTILINK_GROUP_NUMBER 8 //ATTRIBUTE CVX-Multilink-Group-Number 8 integer Aptis #define ATTRIBUTE_CVX_PPP_LOG_MASK 9 //ATTRIBUTE CVX-PPP-Log-Mask 9 integer Aptis #define ATTRIBUTE_CVX_MODEM_BEGIN_MODULATION 10 //ATTRIBUTE CVX-Modem-Begin-Modulation 10 string Aptis #define ATTRIBUTE_CVX_MODEM_END_MODULATION 11 //ATTRIBUTE CVX-Modem-End-Modulation 11 string Aptis #define ATTRIBUTE_CVX_MODEM_ERROR_CORRECTION 12 //ATTRIBUTE CVX-Modem-Error-Correction 12 string Aptis #define ATTRIBUTE_CVX_MODEM_DATA_COMPRESSION 13 //ATTRIBUTE CVX-Modem-Data-Compression 13 string Aptis #define ATTRIBUTE_CVX_MODEM_TX_PACKETS 14 //ATTRIBUTE CVX-Modem-Tx-Packets 14 integer Aptis #define ATTRIBUTE_CVX_MODEM_RETX_PACKETS 15 //ATTRIBUTE CVX-Modem-ReTx-Packets 15 integer Aptis #define ATTRIBUTE_CVX_MODEM_SNR 16 //ATTRIBUTE CVX-Modem-SNR 16 integer Aptis #define ATTRIBUTE_CVX_MODEM_LOCAL_RETRAINS 17 //ATTRIBUTE CVX-Modem-Local-Retrains 17 integer Aptis #define ATTRIBUTE_CVX_MODEM_REMOTE_RETRAINS 18 //ATTRIBUTE CVX-Modem-Remote-Retrains 18 integer Aptis #define ATTRIBUTE_CVX_MODEM_LOCAL_RATE_NEGS 19 //ATTRIBUTE CVX-Modem-Local-Rate-Negs 19 integer Aptis #define ATTRIBUTE_CVX_MODEM_REMOTE_RATE_NEGS 20 //ATTRIBUTE CVX-Modem-Remote-Rate-Negs 20 integer Aptis #define ATTRIBUTE_CVX_MODEM_BEGIN_RECV_LINE_LVL 21 //ATTRIBUTE CVX-Modem-Begin-Recv-Line-Lvl 21 integer Aptis #define ATTRIBUTE_CVX_MODEM_END_RECV_LINE_LVL 22 //ATTRIBUTE CVX-Modem-End-Recv-Line-Lvl 22 integer Aptis #define ATTRIBUTE_CVX_PRIMARY_DNS 135 //ATTRIBUTE CVX-Primary-DNS 135 ipaddr Aptis #define ATTRIBUTE_CVX_SECONDARY_DNS 136 //ATTRIBUTE CVX-Secondary-DNS 136 ipaddr Aptis #define ATTRIBUTE_CVX_CLIENT_ASSIGN_DNS 137 //ATTRIBUTE CVX-Client-Assign-DNS 137 integer Aptis #define ATTRIBUTE_CVX_MULTICAST_RATE_LIMIT 152 //ATTRIBUTE CVX-Multicast-Rate-Limit 152 integer Aptis #define ATTRIBUTE_CVX_MULTICAST_CLIENT 155 //ATTRIBUTE CVX-Multicast-Client 155 integer Aptis #define ATTRIBUTE_CVX_DISCONNECT_CAUSE 195 //ATTRIBUTE CVX-Disconnect-Cause 195 integer Aptis #define ATTRIBUTE_CVX_DATA_RATE 197 //ATTRIBUTE CVX-Data-Rate 197 integer Aptis #define ATTRIBUTE_CVX_PRESESSION_TIME 198 //ATTRIBUTE CVX-PreSession-Time 198 integer Aptis #define ATTRIBUTE_CVX_ASSIGN_IP_POOL 218 //ATTRIBUTE CVX-Assign-IP-Pool 218 integer Aptis #define ATTRIBUTE_CVX_MAXIMUM_CHANNELS 235 //ATTRIBUTE CVX-Maximum-Channels 235 integer Aptis #define ATTRIBUTE_CVX_DATA_FILTER 242 //ATTRIBUTE CVX-Data-Filter 242 string Aptis #define ATTRIBUTE_CVX_IDLE_LIMIT 244 //ATTRIBUTE CVX-Idle-Limit 244 integer Aptis #define ATTRIBUTE_CVX_PPP_ADDRESS 253 //ATTRIBUTE CVX-PPP-Address 253 ipaddr Aptis #define ATTRIBUTE_CVX_XMIT_RATE 255 //ATTRIBUTE CVX-Xmit-Rate 255 integer Aptis #define ATTRIBUTE_AAT_CLIENT_PRIMARY_DNS 5 //ATTRIBUTE AAT-Client-Primary-DNS 5 ipaddr Alcatel #define ATTRIBUTE_AAT_CLIENT_PRIMARY_WINS_NBNS 6 //ATTRIBUTE AAT-Client-Primary-WINS-NBNS 6 ipaddr Alcatel #define ATTRIBUTE_AAT_CLIENT_SECONDARY_WINS_NBNS 7 //ATTRIBUTE AAT-Client-Secondary-WINS-NBNS 7 ipaddr Alcatel #define ATTRIBUTE_AAT_CLIENT_SECONDARY_DNS 8 //ATTRIBUTE AAT-Client-Secondary-DNS 8 ipaddr Alcatel #define ATTRIBUTE_AAT_PPP_ADDRESS 9 //ATTRIBUTE AAT-PPP-Address 9 ipaddr Alcatel #define ATTRIBUTE_AAT_ATM_DIRECT 21 //ATTRIBUTE AAT-ATM-Direct 21 string Alcatel #define ATTRIBUTE_AAT_IP_TOS 22 //ATTRIBUTE AAT-IP-TOS 22 integer Alcatel #define ATTRIBUTE_AAT_IP_TOS_PRECEDENCE 23 //ATTRIBUTE AAT-IP-TOS-Precedence 23 integer Alcatel #define ATTRIBUTE_AAT_IP_TOS_APPLY_TO 24 //ATTRIBUTE AAT-IP-TOS-Apply-To 24 integer Alcatel #define ATTRIBUTE_AAT_MCAST_CLIENT 27 //ATTRIBUTE AAT-MCast-Client 27 integer Alcatel #define ATTRIBUTE_AAT_VROUTER_NAME 61 //ATTRIBUTE AAT-Vrouter-Name 61 string Alcatel #define ATTRIBUTE_AAT_REQUIRE_AUTH 62 //ATTRIBUTE AAT-Require-Auth 62 integer Alcatel #define ATTRIBUTE_AAT_IP_POOL_DEFINITION 63 //ATTRIBUTE AAT-IP-Pool-Definition 63 string Alcatel #define ATTRIBUTE_AAT_ASSIGN_IP_POOL 64 //ATTRIBUTE AAT-Assign-IP-Pool 64 integer Alcatel #define ATTRIBUTE_AAT_DATA_FILTER 65 //ATTRIBUTE AAT-Data-Filter 65 string Alcatel #define ATTRIBUTE_AAT_SOURCE_IP_CHECK 66 //ATTRIBUTE AAT-Source-IP-Check 66 integer Alcatel #define ATTRIBUTE_AAT_ATM_VPI 128 //ATTRIBUTE AAT-ATM-VPI 128 integer Alcatel #define ATTRIBUTE_AAT_ATM_VCI 129 //ATTRIBUTE AAT-ATM-VCI 129 integer Alcatel #define ATTRIBUTE_AAT_INPUT_OCTETS_DIFF 130 //ATTRIBUTE AAT-Input-Octets-Diff 130 integer Alcatel #define ATTRIBUTE_AAT_OUTPUT_OCTETS_DIFF 131 //ATTRIBUTE AAT-Output-Octets-Diff 131 integer Alcatel #define ATTRIBUTE_AAT_USER_MAC_ADDRESS 132 //ATTRIBUTE AAT-User-MAC-Address 132 string Alcatel #define ATTRIBUTE_AAT_ATM_TRAFFIC_PROFILE 133 //ATTRIBUTE AAT-ATM-Traffic-Profile 133 string Alcatel #define ATTRIBUTE_CVPN3000_ACCESS_HOURS 1 //ATTRIBUTE CVPN3000-Access-Hours 1 string Altiga #define ATTRIBUTE_CVPN3000_SIMULTANEOUS_LOGINS 2 //ATTRIBUTE CVPN3000-Simultaneous-Logins 2 integer Altiga #define ATTRIBUTE_ALTIGA_MIN_PASSWORD_LENGTH_G 3 //ATTRIBUTE Altiga-Min-Password-Length-G 3 integer Altiga #define ATTRIBUTE_ALTIGA_ALLOW_ALPHA_ONLY_PASSWORDS_G 4 //ATTRIBUTE Altiga-Allow-Alpha-Only-Passwords-G 4 integer Altiga #define ATTRIBUTE_ALTIGA_PRIMARY_DNS_G 5 //ATTRIBUTE Altiga-Primary-DNS-G 5 ipaddr Altiga #define ATTRIBUTE_ALTIGA_SECONDARY_DNS_G 6 //ATTRIBUTE Altiga-Secondary-DNS-G 6 ipaddr Altiga #define ATTRIBUTE_ALTIGA_PRIMARY_WINS_G 7 //ATTRIBUTE Altiga-Primary-WINS-G 7 ipaddr Altiga #define ATTRIBUTE_ALTIGA_SECONDARY_WINS_G 8 //ATTRIBUTE Altiga-Secondary-WINS-G 8 ipaddr Altiga #define ATTRIBUTE_CVPN3000_SECONDARY_WINS 9 //ATTRIBUTE CVPN3000-Secondary-WINS 9 ipaddr Altiga #define ATTRIBUTE_CVPN3000_TUNNELING_PROTOCOLS 11 //ATTRIBUTE CVPN3000-Tunneling-Protocols 11 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_SEC_ASSOCIATION 12 //ATTRIBUTE CVPN3000-IPSec-Sec-Association 12 string Altiga #define ATTRIBUTE_ALTIGA_IPSEC_AUTHENTICATION_G 13 //ATTRIBUTE Altiga-IPSec-Authentication-G 13 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_BANNER_G 15 //ATTRIBUTE Altiga-IPSec-Banner-G 15 string Altiga #define ATTRIBUTE_CVPN3000_IPSEC_ALLOW_PASSWD_STORE 16 //ATTRIBUTE CVPN3000-IPSec-Allow-Passwd-Store 16 integer Altiga #define ATTRIBUTE_CVPN3000_USE_CLIENT_ADDRESS 17 //ATTRIBUTE CVPN3000-Use-Client-Address 17 integer Altiga #define ATTRIBUTE_ALTIGA_PPTP_ENCRYPTION_G 20 //ATTRIBUTE Altiga-PPTP-Encryption-G 20 integer Altiga #define ATTRIBUTE_ALTIGA_L2TP_ENCRYPTION_G 21 //ATTRIBUTE Altiga-L2TP-Encryption-G 21 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_L2L_KEEPALIVES_G 25 //ATTRIBUTE Altiga-IPSec-L2L-Keepalives-G 25 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_SPLIT_TUNNEL_LIST_G 27 //ATTRIBUTE Altiga-IPSec-Split-Tunnel-List-G 27 string Altiga #define ATTRIBUTE_ALTIGA_IPSEC_DEFAULT_DOMAIN_G 28 //ATTRIBUTE Altiga-IPSec-Default-Domain-G 28 string Altiga #define ATTRIBUTE_ALTIGA_IPSEC_SECONDARY_DOMAINS_G 29 //ATTRIBUTE Altiga-IPSec-Secondary-Domains-G 29 string Altiga #define ATTRIBUTE_ALTIGA_IPSEC_TUNNEL_TYPE_G 30 //ATTRIBUTE Altiga-IPSec-Tunnel-Type-G 30 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_MODE_CONFIG_G 31 //ATTRIBUTE Altiga-IPSec-Mode-Config-G 31 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_USER_GROUP_LOCK_G 33 //ATTRIBUTE Altiga-IPSec-User-Group-Lock-G 33 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_OVER_NAT_G 34 //ATTRIBUTE Altiga-IPSec-Over-NAT-G 34 integer Altiga #define ATTRIBUTE_ALTIGA_IPSEC_OVER_NAT_PORT_NUM_G 35 //ATTRIBUTE Altiga-IPSec-Over-NAT-Port-Num-G 35 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_BANNER2 36 //ATTRIBUTE CVPN3000-IPSec-Banner2 36 string Altiga #define ATTRIBUTE_CVPN3000_PPTP_MPPC_COMPRESSION 37 //ATTRIBUTE CVPN3000-PPTP-MPPC-Compression 37 integer Altiga #define ATTRIBUTE_CVPN3000_L2TP_MPPC_COMPRESSION 38 //ATTRIBUTE CVPN3000-L2TP-MPPC-Compression 38 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_IP_COMPRESSION 39 //ATTRIBUTE CVPN3000-IPSec-IP-Compression 39 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_IKE_PEER_ID_CHECK 40 //ATTRIBUTE CVPN3000-IPSec-IKE-Peer-ID-Check 40 integer Altiga #define ATTRIBUTE_CVPN3000_IKE_KEEP_ALIVES 41 //ATTRIBUTE CVPN3000-IKE-Keep-Alives 41 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_AUTH_ON_REKEY 42 //ATTRIBUTE CVPN3000-IPSec-Auth-On-Rekey 42 integer Altiga #define ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_VENDOR_CODE 45 //ATTRIBUTE CVPN3000-Reqrd-Client-Fw-Vendor-Code 45 integer Altiga #define ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_PRODUCT_CODE 46 //ATTRIBUTE CVPN3000-Reqrd-Client-Fw-Product-Code 46 integer Altiga #define ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_DESCRIPTION 47 //ATTRIBUTE CVPN3000-Reqrd-Client-Fw-Description 47 string Altiga #define ATTRIBUTE_CVPN3000_REQUIRE_HW_CLIENT_AUTH 48 //ATTRIBUTE CVPN3000-Require-HW-Client-Auth 48 integer Altiga #define ATTRIBUTE_CVPN3000_REQUIRE_INDIVIDUAL_USER_AUTH 49 //ATTRIBUTE CVPN3000-Require-Individual-User-Auth 49 integer Altiga #define ATTRIBUTE_CVPN3000_AUTHD_USER_IDLE_TIMEOUT 50 //ATTRIBUTE CVPN3000-Authd-User-Idle-Timeout 50 integer Altiga #define ATTRIBUTE_CVPN3000_CISCO_IP_PHONE_BYPASS 51 //ATTRIBUTE CVPN3000-Cisco-IP-Phone-Bypass 51 integer Altiga #define ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_NAME 52 //ATTRIBUTE CVPN3000-User-Auth-Server-Name 52 string Altiga #define ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_PORT 53 //ATTRIBUTE CVPN3000-User-Auth-Server-Port 53 integer Altiga #define ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_SECRET 54 //ATTRIBUTE CVPN3000-User-Auth-Server-Secret 54 string Altiga #define ATTRIBUTE_CVPN3000_IPSEC_SPLIT_TUNNELING_POLICY 55 //ATTRIBUTE CVPN3000-IPSec-Split-Tunneling-Policy 55 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_REQRD_CLIENT_FW_CAP 56 //ATTRIBUTE CVPN3000-IPSec-Reqrd-Client-Fw-Cap 56 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_CLIENT_FW_FILTER_NAME 57 //ATTRIBUTE CVPN3000-IPSec-Client-Fw-Filter-Name 57 string Altiga #define ATTRIBUTE_CVPN3000_IPSEC_CLIENT_FW_FILTER_OPT 58 //ATTRIBUTE CVPN3000-IPSec-Client-Fw-Filter-Opt 58 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_BACKUP_SERVERS 59 //ATTRIBUTE CVPN3000-IPSec-Backup-Servers 59 integer Altiga #define ATTRIBUTE_CVPN3000_IPSEC_BACKUP_SERVER_LIST 60 //ATTRIBUTE CVPN3000-IPSec-Backup-Server-List 60 string Altiga #define ATTRIBUTE_CVPN3000_MS_CLIENT_ICPT_DHCP_CONF_MSG 62 //ATTRIBUTE CVPN3000-MS-Client-Icpt-DHCP-Conf-Msg 62 integer Altiga #define ATTRIBUTE_CVPN3000_MS_CLIENT_SUBNET_MASK 63 //ATTRIBUTE CVPN3000-MS-Client-Subnet-Mask 63 ipaddr Altiga #define ATTRIBUTE_CVPN3000_ALLOW_NETWORK_EXTENSION_MODE 64 //ATTRIBUTE CVPN3000-Allow-Network-Extension-Mode 64 integer Altiga #define ATTRIBUTE_CVPN3000_STRIP_REALM 135 //ATTRIBUTE CVPN3000-Strip-Realm 135 integer Altiga #define ATTRIBUTE_SHASTA_USER_PRIVILEGE 1 //ATTRIBUTE Shasta-User-Privilege 1 integer Shasta #define ATTRIBUTE_SHASTA_SERVICE_PROFILE 2 //ATTRIBUTE Shasta-Service-Profile 2 string Shasta #define ATTRIBUTE_SHASTA_VPN_NAME 3 //ATTRIBUTE Shasta-VPN-Name 3 string Shasta #define ATTRIBUTE_NS_ADMIN_PRIVILEGE 1 //ATTRIBUTE NS-Admin-Privilege 1 integer Netscreen #define ATTRIBUTE_NS_VSYS_NAME 2 //ATTRIBUTE NS-VSYS-Name 2 string Netscreen #define ATTRIBUTE_NS_USER_GROUP 3 //ATTRIBUTE NS-User-Group 3 string Netscreen #define ATTRIBUTE_NS_PRIMARY_DNS 4 //ATTRIBUTE NS-Primary-DNS 4 ipaddr Netscreen #define ATTRIBUTE_NS_SECONDARY_DNS 5 //ATTRIBUTE NS-Secondary-DNS 5 ipaddr Netscreen #define ATTRIBUTE_NS_PRIMARY_WINS 6 //ATTRIBUTE NS-Primary-WINS 6 ipaddr Netscreen #define ATTRIBUTE_NS_SECONDARY_WINS 7 //ATTRIBUTE NS-Secondary-WINS 7 ipaddr Netscreen #define ATTRIBUTE_NOMADIX_BW_UP 1 //ATTRIBUTE Nomadix-Bw-Up 1 integer Nomadix #define ATTRIBUTE_NOMADIX_BW_DOWN 2 //ATTRIBUTE Nomadix-Bw-Down 2 integer Nomadix #define ATTRIBUTE_NOMADIX_URL_REDIRECTION 3 //ATTRIBUTE Nomadix-URL-Redirection 3 string Nomadix #define ATTRIBUTE_NOMADIX_IP_UPSELL 4 //ATTRIBUTE Nomadix-IP-Upsell 4 integer Nomadix #define ATTRIBUTE_NOMADIX_EXPIRATION 5 //ATTRIBUTE Nomadix-Expiration 5 string Nomadix #define ATTRIBUTE_NOMADIX_SUBNET 6 //ATTRIBUTE Nomadix-Subnet 6 string Nomadix #define ATTRIBUTE_NOMADIX_MAXBYTESUP 7 //ATTRIBUTE Nomadix-MaxBytesUp 7 integer Nomadix #define ATTRIBUTE_NOMADIX_MAXBYTESDOWN 8 //ATTRIBUTE Nomadix-MaxBytesDown 8 integer Nomadix #define ATTRIBUTE_NOMADIX_ENDOFSESSION 9 //ATTRIBUTE Nomadix-EndofSession 9 integer Nomadix #define ATTRIBUTE_NOMADIX_LOGOFF_URL 10 //ATTRIBUTE Nomadix-Logoff-URL 10 string Nomadix #define ATTRIBUTE_ST_ACCT_VC_CONNECTION_ID 1 //ATTRIBUTE ST-Acct-VC-Connection-Id 1 string SpringTide #define ATTRIBUTE_ST_SERVICE_NAME 2 //ATTRIBUTE ST-Service-Name 2 string SpringTide #define ATTRIBUTE_ST_SERVICE_DOMAIN 3 //ATTRIBUTE ST-Service-Domain 3 integer SpringTide #define ATTRIBUTE_ST_POLICY_NAME 4 //ATTRIBUTE ST-Policy-Name 4 string SpringTide #define ATTRIBUTE_ST_PRIMARY_DNS_SERVER 5 //ATTRIBUTE ST-Primary-DNS-Server 5 ipaddr SpringTide #define ATTRIBUTE_ST_SECONDARY_DNS_SERVER 6 //ATTRIBUTE ST-Secondary-DNS-Server 6 ipaddr SpringTide #define ATTRIBUTE_ST_PRIMARY_NBNS_SERVER 7 //ATTRIBUTE ST-Primary-NBNS-Server 7 ipaddr SpringTide #define ATTRIBUTE_ST_SECONDARY_NBNS_SERVER 8 //ATTRIBUTE ST-Secondary-NBNS-Server 8 ipaddr SpringTide #define ATTRIBUTE_ERX_VIRTUAL_ROUTER_NAME 1 //ATTRIBUTE ERX-Virtual-Router-Name 1 string ERX #define ATTRIBUTE_ERX_ADDRESS_POOL_NAME 2 //ATTRIBUTE ERX-Address-Pool-Name 2 string ERX #define ATTRIBUTE_ERX_LOCAL_LOOPBACK_INTERFACE 3 //ATTRIBUTE ERX-Local-Loopback-Interface 3 string ERX #define ATTRIBUTE_ERX_PRIMARY_DNS 4 //ATTRIBUTE ERX-Primary-Dns 4 ipaddr ERX #define ATTRIBUTE_ERX_PRIMARY_WINS 5 //ATTRIBUTE ERX-Primary-Wins 5 ipaddr ERX #define ATTRIBUTE_ERX_SECONDARY_DNS 6 //ATTRIBUTE ERX-Secondary-Dns 6 ipaddr ERX #define ATTRIBUTE_ERX_SECONDARY_WINS 7 //ATTRIBUTE ERX-Secondary-Wins 7 ipaddr ERX #define ATTRIBUTE_ERX_TUNNEL_VIRTUAL_ROUTER 8 //ATTRIBUTE ERX-Tunnel-Virtual-Router 8 string ERX #define ATTRIBUTE_ERX_TUNNEL_PASSWORD 9 //ATTRIBUTE ERX-Tunnel-Password 9 string ERX #define ATTRIBUTE_ERX_INGRESS_POLICY_NAME 10 //ATTRIBUTE ERX-Ingress-Policy-Name 10 string ERX #define ATTRIBUTE_ERX_EGRESS_POLICY_NAME 11 //ATTRIBUTE ERX-Egress-Policy-Name 11 string ERX #define ATTRIBUTE_ERX_INGRESS_STATISTICS 12 //ATTRIBUTE ERX-Ingress-Statistics 12 string ERX #define ATTRIBUTE_ERX_EGRESS_STATISTICS 13 //ATTRIBUTE ERX-Egress-Statistics 13 string ERX #define ATTRIBUTE_ERX_ATM_SERVICE_CATEGORY 14 //ATTRIBUTE ERX-Atm-Service-Category 14 integer ERX #define ATTRIBUTE_ERX_ATM_PCR 15 //ATTRIBUTE ERX-Atm-PCR 15 integer ERX #define ATTRIBUTE_ERX_ATM_SCR 16 //ATTRIBUTE ERX-Atm-SCR 16 integer ERX #define ATTRIBUTE_ERX_ATM_MBS 17 //ATTRIBUTE ERX-Atm-MBS 17 integer ERX #define ATTRIBUTE_ERX_CLI_INITIAL_ACCESS_LEVEL 18 //ATTRIBUTE ERX-Cli-Initial-Access-Level 18 string ERX #define ATTRIBUTE_ERX_CLI_ALLOW_ALL_VR_ACCESS 19 //ATTRIBUTE ERX-Cli-Allow-All-VR-Access 19 integer ERX #define ATTRIBUTE_ERX_ALTERNATE_CLI_ACCESS_LEVEL 20 //ATTRIBUTE ERX-Alternate-Cli-Access-Level 20 string ERX #define ATTRIBUTE_ERX_ALTERNATE_CLI_VROUTER_NAME 21 //ATTRIBUTE ERX-Alternate-Cli-Vrouter-Name 21 string ERX #define ATTRIBUTE_ERX_SA_VALIDATE 22 //ATTRIBUTE ERX-Sa-Validate 22 integer ERX #define ATTRIBUTE_ERX_IGMP_ENABLE 23 //ATTRIBUTE ERX-Igmp-Enable 23 integer ERX #define ATTRIBUTE_ERX_PPPOE_DESCRIPTION 24 //ATTRIBUTE ERX-Pppoe-Description 24 string ERX #define ATTRIBUTE_ERX_REDIRECT_VR_NAME 25 //ATTRIBUTE ERX-Redirect-VR-Name 25 string ERX #define ATTRIBUTE_ERX_QOS_PROFILE_NAME 26 //ATTRIBUTE ERX-Qos-Profile-Name 26 string ERX #define ATTRIBUTE_ERX_PPPOE_MAX_SESSIONS 27 //ATTRIBUTE ERX-Pppoe-Max-Sessions 27 integer ERX #define ATTRIBUTE_ERX_PPPOE_URL 28 //ATTRIBUTE ERX-Pppoe-Url 28 string ERX #define ATTRIBUTE_ERX_QOS_PROFILE_INTERFACE_TYPE 29 //ATTRIBUTE ERX-Qos-Profile-Interface-Type 29 integer ERX #define ATTRIBUTE_ERX_TUNNEL_NAS_PORT_METHOD 30 //ATTRIBUTE ERX-Tunnel-Nas-Port-Method 30 integer ERX #define ATTRIBUTE_ERX_SERVICE_BUNDLE 31 //ATTRIBUTE ERX-Service-Bundle 31 string ERX #define ATTRIBUTE_ERX_TUNNEL_TOS 32 //ATTRIBUTE ERX-Tunnel-Tos 32 integer ERX #define ATTRIBUTE_ERX_TUNNEL_MAXIMUM_SESSIONS 33 //ATTRIBUTE ERX-Tunnel-Maximum-Sessions 33 integer ERX #define ATTRIBUTE_ERX_FRAMED_IP_ROUTE_TAG 34 //ATTRIBUTE ERX-Framed-Ip-Route-Tag 34 string ERX #define ATTRIBUTE_ERX_INPUT_GIGAPKTS 42 //ATTRIBUTE ERX-Input-Gigapkts 42 integer ERX #define ATTRIBUTE_ERX_OUTPUT_GIGAPKTS 43 //ATTRIBUTE ERX-Output-Gigapkts 43 integer ERX #define ATTRIBUTE_CBBSM_BANDWIDTH 1 //ATTRIBUTE CBBSM-Bandwidth 1 integer Cisco-BBSM #define ATTRIBUTE_QUINTUM_AVPAIR 1 //ATTRIBUTE Quintum-AVPair 1 string Quintum #define ATTRIBUTE_QUINTUM_NAS_PORT 2 //ATTRIBUTE Quintum-NAS-Port 2 string Quintum #define ATTRIBUTE_QUINTUM_H323_REMOTE_ADDRESS 23 //ATTRIBUTE Quintum-h323-remote-address 23 string Quintum #define ATTRIBUTE_QUINTUM_H323_CONF_ID 24 //ATTRIBUTE Quintum-h323-conf-id 24 string Quintum #define ATTRIBUTE_QUINTUM_H323_SETUP_TIME 25 //ATTRIBUTE Quintum-h323-setup-time 25 string Quintum #define ATTRIBUTE_QUINTUM_H323_CALL_ORIGIN 26 //ATTRIBUTE Quintum-h323-call-origin 26 string Quintum #define ATTRIBUTE_QUINTUM_H323_CALL_TYPE 27 //ATTRIBUTE Quintum-h323-call-type 27 string Quintum #define ATTRIBUTE_QUINTUM_H323_CONNECT_TIME 28 //ATTRIBUTE Quintum-h323-connect-time 28 string Quintum #define ATTRIBUTE_QUINTUM_H323_DISCONNECT_TIME 29 //ATTRIBUTE Quintum-h323-disconnect-time 29 string Quintum #define ATTRIBUTE_QUINTUM_H323_DISCONNECT_CAUSE 30 //ATTRIBUTE Quintum-h323-disconnect-cause 30 string Quintum #define ATTRIBUTE_QUINTUM_H323_VOICE_QUALITY 31 //ATTRIBUTE Quintum-h323-voice-quality 31 string Quintum #define ATTRIBUTE_QUINTUM_H323_GW_ID 33 //ATTRIBUTE Quintum-h323-gw-id 33 string Quintum #define ATTRIBUTE_QUINTUM_H323_INCOMING_CONF_ID 35 //ATTRIBUTE Quintum-h323-incoming-conf-id 35 string Quintum #define ATTRIBUTE_QUINTUM_H323_CREDIT_AMOUNT 101 //ATTRIBUTE Quintum-h323-credit-amount 101 string Quintum #define ATTRIBUTE_QUINTUM_H323_CREDIT_TIME 102 //ATTRIBUTE Quintum-h323-credit-time 102 string Quintum #define ATTRIBUTE_QUINTUM_H323_RETURN_CODE 103 //ATTRIBUTE Quintum-h323-return-code 103 string Quintum #define ATTRIBUTE_QUINTUM_H323_PROMPT_ID 104 //ATTRIBUTE Quintum-h323-prompt-id 104 string Quintum #define ATTRIBUTE_QUINTUM_H323_TIME_AND_DAY 105 //ATTRIBUTE Quintum-h323-time-and-day 105 string Quintum #define ATTRIBUTE_QUINTUM_H323_REDIRECT_NUMBER 106 //ATTRIBUTE Quintum-h323-redirect-number 106 string Quintum #define ATTRIBUTE_QUINTUM_H323_PREFERRED_LANG 107 //ATTRIBUTE Quintum-h323-preferred-lang 107 string Quintum #define ATTRIBUTE_QUINTUM_H323_REDIRECT_IP_ADDRESS 108 //ATTRIBUTE Quintum-h323-redirect-ip-address 108 string Quintum #define ATTRIBUTE_QUINTUM_H323_BILLING_MODEL 109 //ATTRIBUTE Quintum-h323-billing-model 109 string Quintum #define ATTRIBUTE_QUINTUM_H323_CURRENCY_TYPE 110 //ATTRIBUTE Quintum-h323-currency-type 110 string Quintum #define ATTRIBUTE_SS3_FIREWALL_USER_PRIVILEGE 1 //ATTRIBUTE SS3-Firewall-User-Privilege 1 integer 3com #define ATTRIBUTE_COLUBRIS_AVPAIR 0 //ATTRIBUTE Colubris-AVPair 0 string Colubris #define ATTRIBUTE_WISPR_LOCATION_ID 1 //ATTRIBUTE WISPr-Location-ID 1 string WISPr #define ATTRIBUTE_WISPR_LOCATION_NAME 2 //ATTRIBUTE WISPr-Location-Name 2 string WISPr #define ATTRIBUTE_WISPR_LOGOFF_URL 3 //ATTRIBUTE WISPr-Logoff-URL 3 string WISPr #define ATTRIBUTE_WISPR_REDIRECTION_URL 4 //ATTRIBUTE WISPr-Redirection-URL 4 string WISPr #define ATTRIBUTE_WISPR_BANDWIDTH_MIN_UP 5 //ATTRIBUTE WISPr-Bandwidth-Min-Up 5 integer WISPr #define ATTRIBUTE_WISPR_BANDWIDTH_MIN_DOWN 6 //ATTRIBUTE WISPr-Bandwidth-Min-Down 6 integer WISPr #define ATTRIBUTE_WISPR_BANDWIDTH_MAX_UP 7 //ATTRIBUTE WISPr-Bandwidth-Max-Up 7 integer WISPr #define ATTRIBUTE_WISPR_BANDWIDTH_MAX_DOWN 8 //ATTRIBUTE WISPr-Bandwidth-Max-Down 8 integer WISPr #define ATTRIBUTE_WISPR_SESSION_TERMINATE_TIME 9 //ATTRIBUTE WISPr-Session-Terminate-Time 9 string WISPr #define ATTRIBUTE_WISPR_SESSION_TERMINATE_END_OF_DAY 10 //ATTRIBUTE WISPr-Session-Terminate-End-Of-Day 10 string WISPr #define ATTRIBUTE_WISPR_BILLING_CLASS_OF_SERVICE 11 //ATTRIBUTE WISPr-Billing-Class-Of-Service 11 string WISPr // //VALUE AAT-IP-TOS IP-TOS-Normal 0 Alcatel //VALUE AAT-IP-TOS IP-TOS-Disabled 1 Alcatel //VALUE AAT-IP-TOS IP-TOS-Cost 2 Alcatel //VALUE AAT-IP-TOS IP-TOS-Reliability 4 Alcatel //VALUE AAT-IP-TOS IP-TOS-Throughput 8 Alcatel //VALUE AAT-IP-TOS IP-TOS-Latency 16 Alcatel //VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Incoming 1024 Alcatel //VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Outgoing 2048 Alcatel //VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Both 3072 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Normal 0 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-One 32 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Two 64 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Three 96 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Four 128 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Five 160 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Six 192 Alcatel //VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Seven 224 Alcatel //VALUE AAT-MCast-Client Multicast-No 0 Alcatel //VALUE AAT-MCast-Client Multicast-Yes 1 Alcatel //VALUE AAT-Require-Auth Not-Require-Auth 0 Alcatel //VALUE AAT-Require-Auth Require-Auth 1 Alcatel //VALUE AAT-Source-IP-Check Source-IP-Check-No 0 Alcatel //VALUE AAT-Source-IP-Check Source-IP-Check-Yes 1 Alcatel //VALUE Acc-Access-Community PUBLIC 1 Acc //VALUE Acc-Access-Community NETMAN 2 Acc //VALUE Acc-Acct-On-Off-Reason NAS-Reset 0 Acc //VALUE Acc-Acct-On-Off-Reason NAS-Reload 1 Acc //VALUE Acc-Acct-On-Off-Reason Configuration-Reset 2 Acc //VALUE Acc-Acct-On-Off-Reason Configuration-Reload 3 Acc //VALUE Acc-Acct-On-Off-Reason Enabled 4 Acc //VALUE Acc-Acct-On-Off-Reason Disabled 5 Acc //VALUE Acc-Apsm-Oversubscribed False 1 Acc //VALUE Acc-Apsm-Oversubscribed True 2 Acc //VALUE Acc-Bridging-Support Disabled 1 Acc //VALUE Acc-Bridging-Support Enabled 2 Acc //VALUE Acc-Callback-CBCP-Type CBCP-None 1 Acc //VALUE Acc-Callback-CBCP-Type CBCP-User-Specified 2 Acc //VALUE Acc-Callback-CBCP-Type CBCP-Pre-Specified 3 Acc //VALUE Acc-Callback-Mode User-Auth 0 Acc //VALUE Acc-Callback-Mode User-Specified-E-164 3 Acc //VALUE Acc-Callback-Mode CBCP-Callback 6 Acc //VALUE Acc-Callback-Mode CLI-Callback 7 Acc //VALUE Acc-Ccp-Option Disabled 1 Acc //VALUE Acc-Ccp-Option Enabled 2 Acc //VALUE Acc-Clearing-Cause Cause-unspecified 0 Acc //VALUE Acc-Clearing-Cause Unassigned-number 1 Acc //VALUE Acc-Clearing-Cause No-route-to-transit-network 2 Acc //VALUE Acc-Clearing-Cause No-route-to-destination 3 Acc //VALUE Acc-Clearing-Cause Channel-unacceptable 6 Acc //VALUE Acc-Clearing-Cause Call-awarded-being-delivered 7 Acc //VALUE Acc-Clearing-Cause Normal-clearing 16 Acc //VALUE Acc-Clearing-Cause User-busy 17 Acc //VALUE Acc-Clearing-Cause No-user-responding 18 Acc //VALUE Acc-Clearing-Cause User-alerted-no-answer 19 Acc //VALUE Acc-Clearing-Cause Call-rejected 21 Acc //VALUE Acc-Clearing-Cause Number-changed 22 Acc //VALUE Acc-Clearing-Cause Non-selected-user-clearing 26 Acc //VALUE Acc-Clearing-Cause Destination-out-of-order 27 Acc //VALUE Acc-Clearing-Cause Invalid-or-incomplete-number 28 Acc //VALUE Acc-Clearing-Cause Facility-rejected 29 Acc //VALUE Acc-Clearing-Cause Response-to-status-inquiry 30 Acc //VALUE Acc-Clearing-Cause Normal-unspecified-cause 31 Acc //VALUE Acc-Clearing-Cause No-circuit-or-channel-available 34 Acc //VALUE Acc-Clearing-Cause Network-out-of-order 38 Acc //VALUE Acc-Clearing-Cause Temporary-failure 41 Acc //VALUE Acc-Clearing-Cause Switching-equipment-congestion 42 Acc //VALUE Acc-Clearing-Cause Access-information-discarded 43 Acc //VALUE Acc-Clearing-Cause Circuit-or-channel-unavailable 44 Acc //VALUE Acc-Clearing-Cause Circuit-or-channed-preempted 45 Acc //VALUE Acc-Clearing-Cause Resources-unavailable 47 Acc //VALUE Acc-Clearing-Cause Quality-of-service-unavailable 49 Acc //VALUE Acc-Clearing-Cause Facility-not-subscribed 50 Acc //VALUE Acc-Clearing-Cause Outgoing-calls-barred 52 Acc //VALUE Acc-Clearing-Cause Incoming-calls-barred 54 Acc //VALUE Acc-Clearing-Cause Bearer-capability-unauthorized 57 Acc //VALUE Acc-Clearing-Cause Bearer-capability-not-available 58 Acc //VALUE Acc-Clearing-Cause Service-not-available 63 Acc //VALUE Acc-Clearing-Cause Bearer-capablity-not-implmented 65 Acc //VALUE Acc-Clearing-Cause Channel-type-not-implemented 66 Acc //VALUE Acc-Clearing-Cause Facility-not-implemented 69 Acc //VALUE Acc-Clearing-Cause Restrcted-digtal-infrmtion-only 70 Acc //VALUE Acc-Clearing-Cause Service-not-implemented 79 Acc //VALUE Acc-Clearing-Cause Invalid-call-reference 81 Acc //VALUE Acc-Clearing-Cause Identified-channel-doesnt-exist 82 Acc //VALUE Acc-Clearing-Cause Call-identify-in-use 84 Acc //VALUE Acc-Clearing-Cause No-call-suspended 85 Acc //VALUE Acc-Clearing-Cause Suspended-call-cleared 86 Acc //VALUE Acc-Clearing-Cause Incompatible-destination 88 Acc //VALUE Acc-Clearing-Cause Invalid-transit-network-selctin 91 Acc //VALUE Acc-Clearing-Cause Invalid-message 95 Acc //VALUE Acc-Clearing-Cause Mandtory-infrmtion-elment-miss 96 Acc //VALUE Acc-Clearing-Cause Message-not-implemented 97 Acc //VALUE Acc-Clearing-Cause Inopportune-message 98 Acc //VALUE Acc-Clearing-Cause Infrmtion-elemnt-not-implmented 99 Acc //VALUE Acc-Clearing-Cause Invlid-infrmtion-element-contnt 100 Acc //VALUE Acc-Clearing-Cause Message-incompatible-with-state 101 Acc //VALUE Acc-Clearing-Cause Recovery-on-timer-expiration 102 Acc //VALUE Acc-Clearing-Cause Mndtry-infrmtion-elmnt-lngt-err 103 Acc //VALUE Acc-Clearing-Cause Protocol-error 111 Acc //VALUE Acc-Clearing-Cause Interworking 127 Acc //VALUE Acc-Clearing-Location Local-or-remote-user 0 Acc //VALUE Acc-Clearing-Location Prvte-ntwork-serving-local-user 1 Acc //VALUE Acc-Clearing-Location Pblic-ntwork-serving-local-user 2 Acc //VALUE Acc-Clearing-Location Transit-network 3 Acc //VALUE Acc-Clearing-Location Prvte-ntwork-serv-remote-user 4 Acc //VALUE Acc-Clearing-Location Pblic-ntwork-serv-remote-user 5 Acc //VALUE Acc-Clearing-Location International-network 6 Acc //VALUE Acc-Clearing-Location Beyond-interworking-point 10 Acc //VALUE Acc-Dialout-Auth-Mode PAP 1 Acc //VALUE Acc-Dialout-Auth-Mode CHAP 2 Acc //VALUE Acc-Dialout-Auth-Mode CHAP-PAP 3 Acc //VALUE Acc-Dialout-Auth-Mode NONE 4 Acc //VALUE Acc-Igmp-Admin-State Enabled 1 Acc //VALUE Acc-Igmp-Admin-State Disabled 2 Acc //VALUE Acc-Igmp-Version V1 1 Acc //VALUE Acc-Igmp-Version V2 2 Acc //VALUE Acc-Ip-Compression Disabled 1 Acc //VALUE Acc-Ip-Compression Enabled 2 Acc //VALUE Acc-Ipx-Compression Disabled 1 Acc //VALUE Acc-Ipx-Compression Enabled 2 Acc //VALUE Acc-ML-MLX-Admin-State Enabled 1 Acc //VALUE Acc-ML-MLX-Admin-State Disabled 2 Acc //VALUE Acc-Reason-Code No-reason-No-Failure 0 Acc //VALUE Acc-Reason-Code Resource-shortage 1 Acc //VALUE Acc-Reason-Code Session-already-open 2 Acc //VALUE Acc-Reason-Code Too-many-RADIUS-users 3 Acc //VALUE Acc-Reason-Code No-authentification-server 4 Acc //VALUE Acc-Reason-Code No-authentification-response 5 Acc //VALUE Acc-Reason-Code No-accounting-server 6 Acc //VALUE Acc-Reason-Code No-accounting-response 7 Acc //VALUE Acc-Reason-Code Access-Denied 8 Acc //VALUE Acc-Reason-Code Temporary-buffer-shortage 9 Acc //VALUE Acc-Reason-Code Protocol-error 10 Acc //VALUE Acc-Reason-Code Invalid-attribute 11 Acc //VALUE Acc-Reason-Code Invalid-service-type 12 Acc //VALUE Acc-Reason-Code Invalid-framed-protocol 13 Acc //VALUE Acc-Reason-Code Invalid-attribute-value 14 Acc //VALUE Acc-Reason-Code Invalid-user-information 15 Acc //VALUE Acc-Reason-Code Invalid-IP-address 16 Acc //VALUE Acc-Reason-Code Invalid-integer-syntax 17 Acc //VALUE Acc-Reason-Code Invalid-NAS-port 18 Acc //VALUE Acc-Reason-Code Requested-by-user 19 Acc //VALUE Acc-Reason-Code Network-disconnect 20 Acc //VALUE Acc-Reason-Code Service-interruption 21 Acc //VALUE Acc-Reason-Code Physical-port-error 22 Acc //VALUE Acc-Reason-Code Idle-timeout 23 Acc //VALUE Acc-Reason-Code Session-timeout 24 Acc //VALUE Acc-Reason-Code Administrative-reset 25 Acc //VALUE Acc-Reason-Code NAS-reload-or-reset 26 Acc //VALUE Acc-Reason-Code NAS-error 27 Acc //VALUE Acc-Reason-Code NAS-request 28 Acc //VALUE Acc-Reason-Code Undefined-reason-given 29 Acc //VALUE Acc-Reason-Code Conflicting-attributes 30 Acc //VALUE Acc-Reason-Code Port-limit-exceeded 31 Acc //VALUE Acc-Reason-Code Facility-not-available 32 Acc //VALUE Acc-Reason-Code Internal-config-error 33 Acc //VALUE Acc-Reason-Code Bad-route-specification 34 Acc //VALUE Acc-Reason-Code Access-Partition-bind-failure 35 Acc //VALUE Acc-Reason-Code Security-violation 36 Acc //VALUE Acc-Reason-Code Request-type-conflict 37 Acc //VALUE Acc-Reason-Code Configuration-disallowed 38 Acc //VALUE Acc-Reason-Code Missing-attribute 39 Acc //VALUE Acc-Reason-Code Invalid-request 40 Acc //VALUE Acc-Reason-Code Missing-parameter 41 Acc //VALUE Acc-Reason-Code Invalid-parameter 42 Acc //VALUE Acc-Reason-Code Call-cleared-with-cause 43 Acc //VALUE Acc-Reason-Code Inopportune-config-request 44 Acc //VALUE Acc-Reason-Code Invalid-config-parameter 45 Acc //VALUE Acc-Reason-Code Missing-config-parameter 46 Acc //VALUE Acc-Reason-Code Incompatible-service-profile 47 Acc //VALUE Acc-Reason-Code Administrative-reset 48 Acc //VALUE Acc-Reason-Code Administrative-reload 49 Acc //VALUE Acc-Reason-Code Port-unneeded 50 Acc //VALUE Acc-Reason-Code Port-preempted 51 Acc //VALUE Acc-Reason-Code Port-suspended 52 Acc //VALUE Acc-Reason-Code Service-unavailable 53 Acc //VALUE Acc-Reason-Code Callback 54 Acc //VALUE Acc-Reason-Code User-error 55 Acc //VALUE Acc-Reason-Code Host-request 56 Acc //VALUE Acc-Request-Type Ring-Indication 1 Acc //VALUE Acc-Request-Type Dial-Request 2 Acc //VALUE Acc-Request-Type User-Authentification 3 Acc //VALUE Acc-Request-Type Tunnel-Authentification 4 Acc //VALUE Acc-Route-Policy Funnel 1 Acc //VALUE Acc-Route-Policy Direct 2 Acc //VALUE Acc-Vpsm-Reject-Cause No-Access-Partition 1 Acc //VALUE Acc-Vpsm-Reject-Cause Access-Partition-Disabled 2 Acc //VALUE Acc-Vpsm-Reject-Cause Partition-Portlimit-Exceeded 3 Acc //VALUE Acc-Vpsm-Reject-Cause License-Portlimit-Exceeded 4 Acc //VALUE Acc-Vpsm-Reject-Cause Home-Server-Down 5 Acc //VALUE Acc-Vpsm-Reject-Cause Rejected-By-Home-Server 6 Acc //VALUE Acc-Vpsm-Reject-Cause NAS-Administratively-Disabled 7 Acc //VALUE Acct-Authentic None 0 //VALUE Acct-Authentic RADIUS 1 //VALUE Acct-Authentic Local 2 //VALUE Acct-Authentic Remote 3 //VALUE Acct-Authentic Diameter 4 //VALUE Acct-Status-Type Annex-User-Reject 0 //VALUE Acct-Status-Type Start 1 //VALUE Acct-Status-Type Stop 2 //VALUE Acct-Status-Type Alive 3 //VALUE Acct-Status-Type Modem-Start 4 //VALUE Acct-Status-Type Modem-Stop 5 //VALUE Acct-Status-Type Cancel 6 //VALUE Acct-Status-Type Accounting-On 7 //VALUE Acct-Status-Type Accounting-Off 8 //VALUE Acct-Status-Type Tunnel-Start 9 //VALUE Acct-Status-Type Tunnel-Stop 10 //VALUE Acct-Status-Type Tunnel-Reject 11 //VALUE Acct-Status-Type Tunnel-Link-Start 12 //VALUE Acct-Status-Type Tunnel-Link-Stop 13 //VALUE Acct-Status-Type Tunnel-Link-Reject 14 //VALUE Acct-Status-Type Failed 15 //VALUE Acct-Terminate-Cause User-Request 1 //VALUE Acct-Terminate-Cause Lost-Carrier 2 //VALUE Acct-Terminate-Cause Lost-Service 3 //VALUE Acct-Terminate-Cause Idle-Timeout 4 //VALUE Acct-Terminate-Cause Session-Timeout 5 //VALUE Acct-Terminate-Cause Admin-Reset 6 //VALUE Acct-Terminate-Cause Admin-Reboot 7 //VALUE Acct-Terminate-Cause Port-Error 8 //VALUE Acct-Terminate-Cause NAS-Error 9 //VALUE Acct-Terminate-Cause NAS-Request 10 //VALUE Acct-Terminate-Cause NAS-Reboot 11 //VALUE Acct-Terminate-Cause Port-Unneeded 12 //VALUE Acct-Terminate-Cause Port-Preempted 13 //VALUE Acct-Terminate-Cause Port-Suspended 14 //VALUE Acct-Terminate-Cause Service-Unavailable 15 //VALUE Acct-Terminate-Cause Callback 16 //VALUE Acct-Terminate-Cause User-Error 17 //VALUE Acct-Terminate-Cause Host-Request 18 //VALUE Acct-Terminate-Cause Supplicant-Restart 19 //VALUE Acct-Terminate-Cause Reauth-Failure 20 //VALUE Acct-Terminate-Cause Port-Reinit 21 //VALUE Acct-Terminate-Cause Port-Disabled 22 //VALUE Alteon-Service-Type Alteon-L4admin 250 Alteon //VALUE Alteon-Service-Type Alteon-Slbadmin 251 Alteon //VALUE Alteon-Service-Type Alteon-Oper 252 Alteon //VALUE Alteon-Service-Type Alteon-L4oper 253 Alteon //VALUE Alteon-Service-Type Alteon-Slboper 254 Alteon //VALUE Alteon-Service-Type Alteon-User 255 Alteon //VALUE Altiga-Allow-Alpha-Only-Passwords-G Disallow 0 Altiga //VALUE Altiga-Allow-Alpha-Only-Passwords-G Allow 1 Altiga //VALUE Altiga-IPSec-Authentication-G None 0 Altiga //VALUE Altiga-IPSec-Authentication-G RADIUS 1 Altiga //VALUE Altiga-IPSec-Authentication-G LDAP 2 Altiga //VALUE Altiga-IPSec-Authentication-G NTDomain 3 Altiga //VALUE Altiga-IPSec-Authentication-G SDI 4 Altiga //VALUE Altiga-IPSec-Authentication-G Internal 5 Altiga //VALUE Altiga-IPSec-L2L-Keepalives-G OFF 0 Altiga //VALUE Altiga-IPSec-L2L-Keepalives-G ON 1 Altiga //VALUE Altiga-IPSec-Mode-Config-G OFF 0 Altiga //VALUE Altiga-IPSec-Mode-Config-G ON 1 Altiga //VALUE Altiga-IPSec-Over-NAT-G OFF 0 Altiga //VALUE Altiga-IPSec-Over-NAT-G ON 1 Altiga //VALUE Altiga-IPSec-Tunnel-Type-G LAN-to-LAN 1 Altiga //VALUE Altiga-IPSec-Tunnel-Type-G Remote-Access 2 Altiga //VALUE Altiga-IPSec-User-Group-Lock-G OFF 0 Altiga //VALUE Altiga-IPSec-User-Group-Lock-G ON 1 Altiga //VALUE Altiga-L2TP-Encryption-G 40bit 2 Altiga //VALUE Altiga-L2TP-Encryption-G 40-Encryption-Req 3 Altiga //VALUE Altiga-L2TP-Encryption-G 128 4 Altiga //VALUE Altiga-L2TP-Encryption-G 128-Encryption-Req 5 Altiga //VALUE Altiga-L2TP-Encryption-G 40-or-128 6 Altiga //VALUE Altiga-L2TP-Encryption-G 40-or-128-Encry-Req 7 Altiga //VALUE Altiga-L2TP-Encryption-G 40-Stateless-Req 10 Altiga //VALUE Altiga-L2TP-Encryption-G 128-Stateless-Req 12 Altiga //VALUE Altiga-PPTP-Encryption-G 40bit 2 Altiga //VALUE Altiga-PPTP-Encryption-G 40-Encryption-Req 3 Altiga //VALUE Altiga-PPTP-Encryption-G 128 4 Altiga //VALUE Altiga-PPTP-Encryption-G 128-Encryption-Req 5 Altiga //VALUE Altiga-PPTP-Encryption-G 40-or-128 6 Altiga //VALUE Altiga-PPTP-Encryption-G 40-or-128-Encry-Req 7 Altiga //VALUE Altiga-PPTP-Encryption-G 40-Stateless-Req 10 Altiga //VALUE Altiga-PPTP-Encryption-G 128-Stateless-Req 12 Altiga //VALUE Annex-Addr-Resolution-Protocol none 0 Bay-Networks //VALUE Annex-Addr-Resolution-Protocol DHCP 1 Bay-Networks //VALUE Annex-Audit-Level Manager 2 Bay-Networks //VALUE Annex-Audit-Level User 4 Bay-Networks //VALUE Annex-Audit-Level Operator 8 Bay-Networks //VALUE Annex-Modem-Disc-Reason Unknown 0 Bay-Networks //VALUE Annex-Modem-Disc-Reason Local-disconnect 1 Bay-Networks //VALUE Annex-Modem-Disc-Reason CD-Timer-Expired 2 Bay-Networks //VALUE Annex-Modem-Disc-Reason Remote-protocol-disc 4 Bay-Networks //VALUE Annex-Modem-Disc-Reason Clear-down 5 Bay-Networks //VALUE Annex-Modem-Disc-Reason Long-Space-disconnect 6 Bay-Networks //VALUE Annex-Modem-Disc-Reason Carrier-Lost 7 Bay-Networks //VALUE Annex-Modem-Disc-Reason Modem-Retrain-Timeout 8 Bay-Networks //VALUE Annex-System-Disc-Reason Unknown 0 Bay-Networks //VALUE Annex-System-Disc-Reason Line-disconnected 1 Bay-Networks //VALUE Annex-System-Disc-Reason Dial-failed 2 Bay-Networks //VALUE Annex-System-Disc-Reason WAN-manager-error 3 Bay-Networks //VALUE Annex-System-Disc-Reason Disconnect-reset 4 Bay-Networks //VALUE Annex-System-Disc-Reason Error-from-adm_notify 5 Bay-Networks //VALUE Annex-System-Disc-Reason Modem-down-adm_notify 6 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-protocol-disconnect 7 Bay-Networks //VALUE Annex-System-Disc-Reason Inactivity-timer 8 Bay-Networks //VALUE Annex-System-Disc-Reason CLI-Hangup-command 9 Bay-Networks //VALUE Annex-System-Disc-Reason CLI-last-job 10 Bay-Networks //VALUE Annex-System-Disc-Reason Session-timeout 11 Bay-Networks //VALUE Annex-System-Disc-Reason Slave-termination 12 Bay-Networks //VALUE Annex-System-Disc-Reason Abnormal-termination 13 Bay-Networks //VALUE Annex-System-Disc-Reason DCD-wait-failed 14 Bay-Networks //VALUE Annex-System-Disc-Reason CLI-inactivity 15 Bay-Networks //VALUE Annex-System-Disc-Reason Admin-port-reset 16 Bay-Networks //VALUE Annex-System-Disc-Reason CLI-auth-failed 17 Bay-Networks //VALUE Annex-System-Disc-Reason Slave-auth-failed 18 Bay-Networks //VALUE Annex-System-Disc-Reason PAP-auth-failed 19 Bay-Networks //VALUE Annex-System-Disc-Reason CHAP-auth-failed 20 Bay-Networks //VALUE Annex-System-Disc-Reason Local-modem-reset 21 Bay-Networks //VALUE Annex-System-Disc-Reason Modem-dead 22 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-LCP-failure 23 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-IPCP-failure 24 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-IPXCP-failure 25 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-ATCP-failure 26 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-CCP-failure 27 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-MP-failure 28 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-IPCP-timeout 29 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-IPXCP-timeout 30 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-ATCP-timeout 31 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-CCP-timeout 32 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-MP-timeout 33 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-init-failure 34 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Unknown 35 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Dialback-failed 36 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Address-In-Use 37 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-No-device 38 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Modem-hangup-rcvd 39 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Hangup-rcvd 40 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Termination-rcvd 41 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Kill-rcvd 42 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Time-rcvd 43 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-No-memory 44 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Connection-Abort 45 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-VPN-LCP-failure 46 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-VPN-Auth-failure 47 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-MP-invalid-port 48 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-Invalid-device 49 Bay-Networks //VALUE Annex-System-Disc-Reason PPP-MMP-bundle-failure 50 Bay-Networks //VALUE Annex-System-Disc-Reason DVS-Registration-failure 51 Bay-Networks //VALUE Annex-System-Disc-Reason DVS-Home-agent-dereg 52 Bay-Networks //VALUE Annex-System-Disc-Reason DVS-Tunnel-no-renew 53 Bay-Networks //VALUE Annex-System-Disc-Reason DVS-Tunnel-expired 54 Bay-Networks //VALUE Annex-Tunnel-Authen-Mode none 0 Bay-Networks //VALUE Annex-Tunnel-Authen-Mode prefix-suffix 1 Bay-Networks //VALUE Annex-Tunnel-Authen-Type none 0 Bay-Networks //VALUE Annex-Tunnel-Authen-Type kmd5-128 1 Bay-Networks //VALUE Annex-User-Level Manager 2 Bay-Networks //VALUE Annex-User-Level User 4 Bay-Networks //VALUE Annex-User-Level Operator 8 Bay-Networks //VALUE Annex-User-Server-Location local 1 Bay-Networks //VALUE Annex-User-Server-Location remote 2 Bay-Networks //VALUE ARAP-Zone-Access Default-Zone 1 //VALUE ARAP-Zone-Access Inclusive-Filter 2 //VALUE ARAP-Zone-Access Exclusive-Filter 3 //VALUE Ascend-Appletalk-Peer-Mode Appletalk-Peer-Router 0 Ascend //VALUE Ascend-Appletalk-Peer-Mode Appletalk-Peer-Dialin 1 Ascend //VALUE Ascend-ATM-Direct ATM-Direct-No 0 Ascend //VALUE Ascend-ATM-Direct ATM-Direct-Yes 1 Ascend //VALUE Ascend-ATM-Fault-Management VC-No-Loopback 0 Ascend //VALUE Ascend-ATM-Fault-Management VC-Segment-Loopback 1 Ascend //VALUE Ascend-ATM-Fault-Management VC-End-To-End-Loopback 2 Ascend //VALUE Ascend-Auth-Type Auth-None 0 Ascend //VALUE Ascend-Auth-Type Auth-Default 1 Ascend //VALUE Ascend-Auth-Type Auth-Any 2 Ascend //VALUE Ascend-Auth-Type Auth-PAP 3 Ascend //VALUE Ascend-Auth-Type Auth-CHAP 4 Ascend //VALUE Ascend-Auth-Type Auth-MS-CHAP 5 Ascend //VALUE Ascend-BACP-Enable BACP-No 0 //VALUE Ascend-BACP-Enable BACP-No 0 Ascend //VALUE Ascend-BACP-Enable BACP-Yes 1 Ascend //VALUE Ascend-BACP-Enable BACP-Yes 1 //VALUE Ascend-Bi-Directional-Auth Bi-Directional-Auth-None 0 Ascend //VALUE Ascend-Bi-Directional-Auth Bi-Directional-Auth-Allowed 1 Ascend //VALUE Ascend-Bi-Directional-Auth Bi-Directional-Auth-Required 2 Ascend //VALUE Ascend-BIR-Enable BIR-Enable-No 0 Ascend //VALUE Ascend-BIR-Enable BIR-Enable-Yes 1 Ascend //VALUE Ascend-BIR-Proxy BIR-Proxy-No 0 Ascend //VALUE Ascend-BIR-Proxy BIR-Proxy-Yes 1 Ascend //VALUE Ascend-Bridge Bridge-No 0 Ascend //VALUE Ascend-Bridge Bridge-No 0 //VALUE Ascend-Bridge Bridge-Yes 1 //VALUE Ascend-Bridge Bridge-Yes 1 Ascend //VALUE Ascend-Bridge-Non-PPPoE Bridge-Non-PPPoE-No 0 Ascend //VALUE Ascend-Bridge-Non-PPPoE Bridge-Non-PPPoE-Yes 1 Ascend //VALUE Ascend-Cache-Refresh Refresh-No 0 Ascend //VALUE Ascend-Cache-Refresh Refresh-Yes 1 Ascend //VALUE Ascend-Call-Direction Ascend-Call-Direction-Incoming 0 Ascend //VALUE Ascend-Call-Direction Ascend-Call-Direction-Outgoing 1 Ascend //VALUE Ascend-Call-Type Switched 0 Ascend //VALUE Ascend-Call-Type Nailed 1 Ascend //VALUE Ascend-Call-Type MegaMax 7 Ascend //VALUE Ascend-Callback Callback-No 0 Ascend //VALUE Ascend-Callback Callback-No 0 //VALUE Ascend-Callback Callback-Yes 1 //VALUE Ascend-Callback Callback-Yes 1 Ascend //VALUE Ascend-Calling-Id-Number-Plan Unknown 0 Ascend //VALUE Ascend-Calling-Id-Number-Plan ISDN-Telephony 1 Ascend //VALUE Ascend-Calling-Id-Number-Plan Data 3 Ascend //VALUE Ascend-Calling-Id-Number-Plan Telex 4 Ascend //VALUE Ascend-Calling-Id-Number-Plan National 8 Ascend //VALUE Ascend-Calling-Id-Number-Plan Private 9 Ascend //VALUE Ascend-Calling-Id-Presentatn Allowed 0 Ascend //VALUE Ascend-Calling-Id-Presentatn Restricted 1 Ascend //VALUE Ascend-Calling-Id-Presentatn Number-Not-Available 2 Ascend //VALUE Ascend-Calling-Id-Screening User-Not-Screened 0 Ascend //VALUE Ascend-Calling-Id-Screening User-Provided-Passed 1 Ascend //VALUE Ascend-Calling-Id-Screening User-Provided-Failed 2 Ascend //VALUE Ascend-Calling-Id-Screening Network-Provided 3 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num Unknown 0 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num International-Number 1 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num National-Number 2 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num Network-Specific 3 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num Subscriber-Number 4 Ascend //VALUE Ascend-Calling-Id-Type-Of-Num Abbreviated-Number 6 Ascend //VALUE Ascend-CBCP-Enable CBCP-Not-Enabled 0 Ascend //VALUE Ascend-CBCP-Enable CBCP-Enabled 1 Ascend //VALUE Ascend-CBCP-Mode CBCP-No-Callback 1 Ascend //VALUE Ascend-CBCP-Mode CBCP-User-Callback 2 Ascend //VALUE Ascend-CBCP-Mode CBCP-Profile-Callback 3 Ascend //VALUE Ascend-CBCP-Mode CBCP-Any-Or-No 7 Ascend //VALUE Ascend-CBCP-Mode CBCP-Off 8 Ascend //VALUE Ascend-Ckt-Type Ascend-PVC 0 Ascend //VALUE Ascend-Ckt-Type Ascend-SVC 1 Ascend //VALUE Ascend-Client-Assign-DNS DNS-Assign-No 0 Ascend //VALUE Ascend-Client-Assign-DNS DNS-Assign-Yes 1 Ascend //VALUE Ascend-Client-Assign-WINS WINS-Assign-No 0 Ascend //VALUE Ascend-Client-Assign-WINS WINS-Assign-Yes 1 Ascend //VALUE Ascend-Connect-Progress No-Progress 0 Ascend //VALUE Ascend-Connect-Progress Call-Up 10 Ascend //VALUE Ascend-Connect-Progress Modem-Up 30 Ascend //VALUE Ascend-Connect-Progress Modem-Awaiting-DCD 31 Ascend //VALUE Ascend-Connect-Progress Modem-Awaiting-Codes 32 Ascend //VALUE Ascend-Connect-Progress TermSrv-Started 40 Ascend //VALUE Ascend-Connect-Progress TermSrv-Raw-TCP-Started 41 Ascend //VALUE Ascend-Connect-Progress TermSrv-Telnet-Started 42 Ascend //VALUE Ascend-Connect-Progress TermSrv-Raw-TCP-Connected 43 Ascend //VALUE Ascend-Connect-Progress TermSrv-Telnet-Connected 44 Ascend //VALUE Ascend-Connect-Progress TermSrv-Rlogin-Started 45 Ascend //VALUE Ascend-Connect-Progress TermSrv-Rlogin-Connected 46 Ascend //VALUE Ascend-Connect-Progress Modem-Outdial-Call-Up 50 Ascend //VALUE Ascend-Connect-Progress LAN-Session-Up 60 Ascend //VALUE Ascend-Connect-Progress LCP-Opening 61 Ascend //VALUE Ascend-Connect-Progress CCP-Opening 62 Ascend //VALUE Ascend-Connect-Progress IPNCP-Opening 63 Ascend //VALUE Ascend-Connect-Progress BNCP-Opening 64 Ascend //VALUE Ascend-Connect-Progress LCP-Opened 65 Ascend //VALUE Ascend-Connect-Progress CCP-Opened 66 Ascend //VALUE Ascend-Connect-Progress IPNCP-Opened 67 Ascend //VALUE Ascend-Connect-Progress BNCP-Opened 68 Ascend //VALUE Ascend-Connect-Progress LCP-State-Initial 69 Ascend //VALUE Ascend-Connect-Progress LCP-State-Starting 70 Ascend //VALUE Ascend-Connect-Progress LCP-State-Closed 71 Ascend //VALUE Ascend-Connect-Progress LCP-State-Stopped 72 Ascend //VALUE Ascend-Connect-Progress LCP-State-Closing 73 Ascend //VALUE Ascend-Connect-Progress LCP-State-Stopping 74 Ascend //VALUE Ascend-Connect-Progress LCP-State-Request-Sent 75 Ascend //VALUE Ascend-Connect-Progress LCP-State-Ack-Received 76 Ascend //VALUE Ascend-Connect-Progress LCP-State-Ack-Sent 77 Ascend //VALUE Ascend-Connect-Progress IPXNCP-Opened 80 Ascend //VALUE Ascend-Connect-Progress ATNCP-Opened 81 Ascend //VALUE Ascend-Connect-Progress BACP-Opening 82 Ascend //VALUE Ascend-Connect-Progress BACP-Opened 83 Ascend //VALUE Ascend-Connect-Progress V110-Up 90 Ascend //VALUE Ascend-Connect-Progress V110-State-Opened 91 Ascend //VALUE Ascend-Connect-Progress V110-State-Carrier 92 Ascend //VALUE Ascend-Connect-Progress V110-State-Reset 93 Ascend //VALUE Ascend-Connect-Progress V110-State-Closed 94 Ascend //VALUE Ascend-Data-Svc Switched-Voice-Bearer 0 //VALUE Ascend-Data-Svc Switched-Voice-Bearer 0 Ascend //VALUE Ascend-Data-Svc Switched-56KR 1 Ascend //VALUE Ascend-Data-Svc Switched-56KR 1 //VALUE Ascend-Data-Svc Switched-64K 2 //VALUE Ascend-Data-Svc Switched-64K 2 Ascend //VALUE Ascend-Data-Svc Switched-64KR 3 Ascend //VALUE Ascend-Data-Svc Switched-64KR 3 //VALUE Ascend-Data-Svc Switched-56K 4 //VALUE Ascend-Data-Svc Switched-56K 4 Ascend //VALUE Ascend-Data-Svc Switched-384KR 5 Ascend //VALUE Ascend-Data-Svc Switched-384KR 5 //VALUE Ascend-Data-Svc Switched-384K 6 //VALUE Ascend-Data-Svc Switched-384K 6 Ascend //VALUE Ascend-Data-Svc Switched-1536K 7 Ascend //VALUE Ascend-Data-Svc Switched-1536K 7 //VALUE Ascend-Data-Svc Switched-1536KR 8 //VALUE Ascend-Data-Svc Switched-1536KR 8 Ascend //VALUE Ascend-Data-Svc Switched-128K 9 Ascend //VALUE Ascend-Data-Svc Switched-128K 9 //VALUE Ascend-Data-Svc Switched-192K 10 //VALUE Ascend-Data-Svc Switched-192K 10 Ascend //VALUE Ascend-Data-Svc Switched-256K 11 Ascend //VALUE Ascend-Data-Svc Switched-256K 11 //VALUE Ascend-Data-Svc Switched-320K 12 //VALUE Ascend-Data-Svc Switched-320K 12 Ascend //VALUE Ascend-Data-Svc Switched-384K-MR 13 Ascend //VALUE Ascend-Data-Svc Switched-384K-MR 13 //VALUE Ascend-Data-Svc Switched-448K 14 //VALUE Ascend-Data-Svc Switched-448K 14 Ascend //VALUE Ascend-Data-Svc Switched-512K 15 Ascend //VALUE Ascend-Data-Svc Switched-512K 15 //VALUE Ascend-Data-Svc Switched-576K 16 //VALUE Ascend-Data-Svc Switched-576K 16 Ascend //VALUE Ascend-Data-Svc Switched-640K 17 Ascend //VALUE Ascend-Data-Svc Switched-640K 17 //VALUE Ascend-Data-Svc Switched-704K 18 //VALUE Ascend-Data-Svc Switched-704K 18 Ascend //VALUE Ascend-Data-Svc Switched-768K 19 Ascend //VALUE Ascend-Data-Svc Switched-768K 19 //VALUE Ascend-Data-Svc Switched-832K 20 //VALUE Ascend-Data-Svc Switched-832K 20 Ascend //VALUE Ascend-Data-Svc Switched-896K 21 Ascend //VALUE Ascend-Data-Svc Switched-896K 21 //VALUE Ascend-Data-Svc Switched-960K 22 //VALUE Ascend-Data-Svc Switched-960K 22 Ascend //VALUE Ascend-Data-Svc Switched-1024K 23 Ascend //VALUE Ascend-Data-Svc Switched-1024K 23 //VALUE Ascend-Data-Svc Switched-1088K 24 //VALUE Ascend-Data-Svc Switched-1088K 24 Ascend //VALUE Ascend-Data-Svc Switched-1152K 25 Ascend //VALUE Ascend-Data-Svc Switched-1152K 25 //VALUE Ascend-Data-Svc Switched-1216K 26 //VALUE Ascend-Data-Svc Switched-1216K 26 Ascend //VALUE Ascend-Data-Svc Switched-1280K 27 Ascend //VALUE Ascend-Data-Svc Switched-1280K 27 //VALUE Ascend-Data-Svc Switched-1344K 28 //VALUE Ascend-Data-Svc Switched-1344K 28 Ascend //VALUE Ascend-Data-Svc Switched-1408K 29 Ascend //VALUE Ascend-Data-Svc Switched-1408K 29 //VALUE Ascend-Data-Svc Switched-1472K 30 //VALUE Ascend-Data-Svc Switched-1472K 30 Ascend //VALUE Ascend-Data-Svc Switched-1600K 31 Ascend //VALUE Ascend-Data-Svc Switched-1600K 31 //VALUE Ascend-Data-Svc Switched-1664K 32 //VALUE Ascend-Data-Svc Switched-1664K 32 Ascend //VALUE Ascend-Data-Svc Switched-1728K 33 Ascend //VALUE Ascend-Data-Svc Switched-1728K 33 //VALUE Ascend-Data-Svc Switched-1792K 34 //VALUE Ascend-Data-Svc Switched-1792K 34 Ascend //VALUE Ascend-Data-Svc Switched-1856K 35 Ascend //VALUE Ascend-Data-Svc Switched-1856K 35 //VALUE Ascend-Data-Svc Switched-1920K 36 //VALUE Ascend-Data-Svc Switched-1920K 36 Ascend //VALUE Ascend-Data-Svc Switched-inherited 37 Ascend //VALUE Ascend-Data-Svc Switched-restricted-bearer-x30 38 Ascend //VALUE Ascend-Data-Svc Switched-clear-bearer-v110 39 Ascend //VALUE Ascend-Data-Svc Switched-restricted-64-x30 40 Ascend //VALUE Ascend-Data-Svc Switched-clear-56-v110 41 Ascend //VALUE Ascend-Data-Svc Switched-modem 42 Ascend //VALUE Ascend-Data-Svc Switched-atmodem 43 Ascend //VALUE Ascend-Data-Svc Switched-V110-24-56 45 Ascend //VALUE Ascend-Data-Svc Switched-V110-48-56 46 Ascend //VALUE Ascend-Data-Svc Switched-V110-96-56 47 Ascend //VALUE Ascend-Data-Svc Switched-V110-192-56 48 Ascend //VALUE Ascend-Data-Svc Switched-V110-384-56 49 Ascend //VALUE Ascend-Data-Svc Switched-V110-24-56R 50 Ascend //VALUE Ascend-Data-Svc Switched-V110-48-56R 51 Ascend //VALUE Ascend-Data-Svc Switched-V110-96-56R 52 Ascend //VALUE Ascend-Data-Svc Switched-V110-192-56R 53 Ascend //VALUE Ascend-Data-Svc Switched-V110-384-56R 54 Ascend //VALUE Ascend-Data-Svc Switched-V110-24-64 55 Ascend //VALUE Ascend-Data-Svc Switched-V110-48-64 56 Ascend //VALUE Ascend-Data-Svc Switched-V110-96-64 57 Ascend //VALUE Ascend-Data-Svc Switched-V110-192-64 58 Ascend //VALUE Ascend-Data-Svc Switched-V110-384-64 59 Ascend //VALUE Ascend-Data-Svc Switched-V110-24-64R 60 Ascend //VALUE Ascend-Data-Svc Switched-V110-48-64R 61 Ascend //VALUE Ascend-Data-Svc Switched-V110-96-64R 62 Ascend //VALUE Ascend-Data-Svc Switched-V110-192-64R 63 Ascend //VALUE Ascend-Data-Svc Switched-V110-384-64R 64 Ascend //VALUE Ascend-Data-Svc Switched-Pots 68 Ascend //VALUE Ascend-Data-Svc Switched-ATM 69 Ascend //VALUE Ascend-Data-Svc Switched-FR 70 Ascend //VALUE Ascend-DBA-Monitor DBA-Transmit 0 Ascend //VALUE Ascend-DBA-Monitor DBA-Transmit-Recv 1 Ascend //VALUE Ascend-DBA-Monitor DBA-None 2 Ascend //VALUE Ascend-DHCP-Reply DHCP-Reply-No 0 Ascend //VALUE Ascend-DHCP-Reply DHCP-Reply-Yes 1 Ascend //VALUE Ascend-Dialout-Allowed Dialout-Not-Allowed 0 Ascend //VALUE Ascend-Dialout-Allowed Dialout-Allowed 1 Ascend //VALUE Ascend-Disconnect-Cause No-Reason 0 Ascend //VALUE Ascend-Disconnect-Cause Not-Applicable 1 Ascend //VALUE Ascend-Disconnect-Cause Unknown 2 Ascend //VALUE Ascend-Disconnect-Cause Call-Disconnected 3 Ascend //VALUE Ascend-Disconnect-Cause CLID-Authentication-Failed 4 Ascend //VALUE Ascend-Disconnect-Cause CLID-RADIUS-Timeout 5 Ascend //VALUE Ascend-Disconnect-Cause Modem-No-DCD 10 Ascend //VALUE Ascend-Disconnect-Cause DCD-Detected-Then-Inactive 11 Ascend //VALUE Ascend-Disconnect-Cause Modem-Invalid-Result-Codes 12 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-User-Quit 20 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Idle-Timeout 21 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Exit-Telnet 22 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-No-IPaddr 23 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Exit-Raw-TCP 24 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Exit-Login-Failed 25 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Exit-Raw-TCP-Disabled 26 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-CTRL-C-In-Login 27 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Destroyed 28 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-User-Closed-VCon 29 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-VCon-Destroyed 30 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Exit-Rlogin 31 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Bad-Rlogin-Option 32 Ascend //VALUE Ascend-Disconnect-Cause TermSrv-Not-Enough-Resources 33 Ascend //VALUE Ascend-Disconnect-Cause MPP-No-NULL-Msg-Timeout 35 Ascend //VALUE Ascend-Disconnect-Cause PPP-LCP-Timeout 40 Ascend //VALUE Ascend-Disconnect-Cause PPP-LCP-Negotion-Failed 41 Ascend //VALUE Ascend-Disconnect-Cause PPP-PAP-Auth-Failed 42 Ascend //VALUE Ascend-Disconnect-Cause PPP-CHAP-Auth-Failed 43 Ascend //VALUE Ascend-Disconnect-Cause PPP-Rmt-Auth-Failed 44 Ascend //VALUE Ascend-Disconnect-Cause PPP-Rcv-Terminate-Req 45 Ascend //VALUE Ascend-Disconnect-Cause PPP-Rcv-Close-Event 46 Ascend //VALUE Ascend-Disconnect-Cause PPP-No-NCPs-Open 47 Ascend //VALUE Ascend-Disconnect-Cause PPP-MP-Bundle-Unknown 48 Ascend //VALUE Ascend-Disconnect-Cause PPP-LCP-Close-MP-Add-Fail 49 Ascend //VALUE Ascend-Disconnect-Cause Session-Table-Full 50 Ascend //VALUE Ascend-Disconnect-Cause Out-Of-Resources 51 Ascend //VALUE Ascend-Disconnect-Cause Invalid-IP-Address 52 Ascend //VALUE Ascend-Disconnect-Cause Hostname-Resolution-Failed 53 Ascend //VALUE Ascend-Disconnect-Cause Bad-Or-Missing-Port-Number 54 Ascend //VALUE Ascend-Disconnect-Cause Host-Reset 60 Ascend //VALUE Ascend-Disconnect-Cause Connection-Refused 61 Ascend //VALUE Ascend-Disconnect-Cause Connection-Timeout 62 Ascend //VALUE Ascend-Disconnect-Cause Connection-Closed 63 Ascend //VALUE Ascend-Disconnect-Cause Network-Unreachable 64 Ascend //VALUE Ascend-Disconnect-Cause Host-Unreachable 65 Ascend //VALUE Ascend-Disconnect-Cause Network-Unreachable-Admin 66 Ascend //VALUE Ascend-Disconnect-Cause Host-Unreachable-Admin 67 Ascend //VALUE Ascend-Disconnect-Cause Port-Unreachable 68 Ascend //VALUE Ascend-Disconnect-Cause Session-Timeout 100 Ascend //VALUE Ascend-Disconnect-Cause Invalid-Incoming-User 101 Ascend //VALUE Ascend-Disconnect-Cause Disconnect-Due-To-Callback 102 Ascend //VALUE Ascend-Disconnect-Cause Proto-Disabled-Or-Unsupported 120 Ascend //VALUE Ascend-Disconnect-Cause Disconnect-Req-By-RADIUS 150 Ascend //VALUE Ascend-Disconnect-Cause Disconnect-Req-By-Local-Admin 151 Ascend //VALUE Ascend-Disconnect-Cause V110-Timeout-Sync-Retry-Exceed 160 Ascend //VALUE Ascend-Disconnect-Cause PPP-Auth-Timeout-Exceeded 170 Ascend //VALUE Ascend-Disconnect-Cause User-Executed-Do-Hangup 180 Ascend //VALUE Ascend-Disconnect-Cause Remote-End-Hung-Up 185 Ascend //VALUE Ascend-Disconnect-Cause Resource-Has-Been-Quiesced 190 Ascend //VALUE Ascend-Disconnect-Cause Max-Call-Duration-Reached 195 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-7168000 0 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-6272000 1 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-5120000 2 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-4480000 3 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-3200000 4 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-2688000 5 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-2560000 6 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-2240000 7 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-1920000 8 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-1600000 9 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-1280000 10 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-960000 11 Ascend //VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-640000 12 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-auto 100 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-9504000 101 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-8960000 102 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-8000000 103 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-7168000 104 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-6272000 105 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-5120000 106 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-4480000 107 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-3200000 108 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-2688000 109 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-2560000 110 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-2240000 111 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-1920000 112 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-1600000 113 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-1280000 114 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-960000 115 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-768000 116 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-640000 117 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-512000 118 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-384000 119 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-256000 120 Ascend //VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-128000 121 Ascend //VALUE Ascend-Dsl-Rate-Mode Rate-Mode-AutoBaud 1 Ascend //VALUE Ascend-Dsl-Rate-Mode Rate-Mode-Single 2 Ascend //VALUE Ascend-Dsl-Rate-Type Rate-Type-Disabled 0 Ascend //VALUE Ascend-Dsl-Rate-Type Rate-Type-Sdsl 1 Ascend //VALUE Ascend-Dsl-Rate-Type Rate-Type-AdslCap 2 Ascend //VALUE Ascend-Dsl-Rate-Type Rate-Type-AdslDmtCell 3 Ascend //VALUE Ascend-Dsl-Rate-Type Rate-Type-AdslDmt 4 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-144000 0 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-272000 1 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-400000 2 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-528000 3 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-784000 4 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-1168000 5 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-1552000 6 Ascend //VALUE Ascend-Dsl-Upstream-Limit sdsl-2320000 7 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-1088000 50 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-952000 51 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-816000 52 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-680000 53 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-544000 54 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-408000 55 Ascend //VALUE Ascend-Dsl-Upstream-Limit adslcap-up-272000 56 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-auto 150 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-1088000 151 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-928000 152 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-896000 153 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-800000 154 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-768000 155 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-640000 156 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-512000 157 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-384000 158 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-256000 159 Ascend //VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-128000 160 Ascend //VALUE Ascend-Event-Type Ascend-ColdStart 1 Ascend //VALUE Ascend-Event-Type Ascend-Session-Event 2 Ascend //VALUE Ascend-Expect-Callback Expect-Callback-No 0 Ascend //VALUE Ascend-Expect-Callback Expect-Callback-Yes 1 Ascend //VALUE Ascend-Filter-Required Required-No 0 Ascend //VALUE Ascend-Filter-Required Required-Yes 1 Ascend //VALUE Ascend-Force-56 Force-56-No 0 //VALUE Ascend-Force-56 Force-56-No 0 Ascend //VALUE Ascend-Force-56 Force-56-Yes 1 Ascend //VALUE Ascend-Force-56 Force-56-Yes 1 //VALUE Ascend-FR-Direct FR-Direct-No 0 //VALUE Ascend-FR-Direct FR-Direct-No 0 Ascend //VALUE Ascend-FR-Direct FR-Direct-Yes 1 Ascend //VALUE Ascend-FR-Direct FR-Direct-Yes 1 //VALUE Ascend-FR-Link-Mgt Ascend-FR-No-Link-Mgt 0 Ascend //VALUE Ascend-FR-Link-Mgt Ascend-FR-T1-617D 1 Ascend //VALUE Ascend-FR-Link-Mgt Ascend-FR-Q-933A 2 Ascend //VALUE Ascend-FR-LinkUp Ascend-LinkUp-Default 0 Ascend //VALUE Ascend-FR-LinkUp Ascend-LinkUp-AlwaysUp 1 Ascend //VALUE Ascend-FR-Type Ascend-FR-DTE 0 Ascend //VALUE Ascend-FR-Type Ascend-FR-DCE 1 Ascend //VALUE Ascend-FR-Type Ascend-FR-NNI 2 Ascend //VALUE Ascend-FT1-Caller FT1-No 0 Ascend //VALUE Ascend-FT1-Caller FT1-Yes 1 Ascend //VALUE Ascend-Handle-IPX Handle-IPX-None 0 //VALUE Ascend-Handle-IPX Handle-IPX-None 0 Ascend //VALUE Ascend-Handle-IPX Handle-IPX-Client 1 Ascend //VALUE Ascend-Handle-IPX Handle-IPX-Client 1 //VALUE Ascend-Handle-IPX Handle-IPX-Server 2 //VALUE Ascend-Handle-IPX Handle-IPX-Server 2 Ascend //VALUE Ascend-History-Weigh-Type History-Constant 0 //VALUE Ascend-History-Weigh-Type History-Constant 0 Ascend //VALUE Ascend-History-Weigh-Type History-Linear 1 Ascend //VALUE Ascend-History-Weigh-Type History-Linear 1 //VALUE Ascend-History-Weigh-Type History-Quadratic 2 //VALUE Ascend-History-Weigh-Type History-Quadratic 2 Ascend //VALUE Ascend-IP-Pool-Chaining IP-Pool-Chaining-No 0 Ascend //VALUE Ascend-IP-Pool-Chaining IP-Pool-Chaining-Yes 1 Ascend //VALUE Ascend-IP-TOS IP-TOS-Normal 0 Ascend //VALUE Ascend-IP-TOS IP-TOS-Disabled 1 Ascend //VALUE Ascend-IP-TOS IP-TOS-Cost 2 Ascend //VALUE Ascend-IP-TOS IP-TOS-Reliability 4 Ascend //VALUE Ascend-IP-TOS IP-TOS-Throughput 8 Ascend //VALUE Ascend-IP-TOS IP-TOS-Latency 16 Ascend //VALUE Ascend-IP-TOS-Apply-To IP-TOS-Apply-To-Incoming 1024 Ascend //VALUE Ascend-IP-TOS-Apply-To IP-TOS-Apply-To-Outgoing 2048 Ascend //VALUE Ascend-IP-TOS-Apply-To IP-TOS-Apply-To-Both 3072 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Normal 0 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-One 32 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Two 64 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Three 96 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Four 128 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Five 160 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Six 192 Ascend //VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Seven 224 Ascend //VALUE Ascend-IPX-Header-Compression IPX-Header-Compression-No 0 Ascend //VALUE Ascend-IPX-Header-Compression IPX-Header-Compression-Yes 1 Ascend //VALUE Ascend-IPX-Peer-Mode IPX-Peer-Router 0 //VALUE Ascend-IPX-Peer-Mode IPX-Peer-Router 0 Ascend //VALUE Ascend-IPX-Peer-Mode IPX-Peer-Dialin 1 Ascend //VALUE Ascend-IPX-Peer-Mode IPX-Peer-Dialin 1 //VALUE Ascend-Link-Compression Link-Comp-None 0 //VALUE Ascend-Link-Compression Link-Comp-None 0 Ascend //VALUE Ascend-Link-Compression Link-Comp-Stac 1 Ascend //VALUE Ascend-Link-Compression Link-Comp-Stac 1 //VALUE Ascend-Link-Compression Link-Comp-Stac-Draft-9 2 Ascend //VALUE Ascend-Link-Compression Link-Comp-MS-Stac 3 Ascend //VALUE Ascend-Multicast-Client Multicast-No 0 Ascend //VALUE Ascend-Multicast-Client Multicast-Yes 1 Ascend //VALUE Ascend-NAS-Port-Format Unknown 0 Ascend //VALUE Ascend-NAS-Port-Format 2_4_6_4 1 Ascend //VALUE Ascend-NAS-Port-Format 2_4_5_5 2 Ascend //VALUE Ascend-NAS-Port-Format 1_2_2 3 Ascend //VALUE Ascend-Numbering-Plan-ID Unknown-Numbering-Plan 0 Ascend //VALUE Ascend-Numbering-Plan-ID ISDN-Numbering-Plan 1 Ascend //VALUE Ascend-Numbering-Plan-ID Private-Numbering-Plan 9 Ascend //VALUE Ascend-Port-Redir-Protocol Ascend-Proto-TCP 6 Ascend //VALUE Ascend-Port-Redir-Protocol Ascend-Proto-UDP 17 Ascend //VALUE Ascend-PPP-VJ-1172 PPP-VJ-1172 1 //VALUE Ascend-PPP-VJ-1172 PPP-VJ-1172 1 Ascend //VALUE Ascend-PPP-VJ-Slot-Comp VJ-Slot-Comp-No 1 //VALUE Ascend-PPP-VJ-Slot-Comp VJ-Slot-Comp-No 1 Ascend //VALUE Ascend-PPPoE-Enable PPPoE-No 0 Ascend //VALUE Ascend-PPPoE-Enable PPPoE-Yes 1 Ascend //VALUE Ascend-PRI-Number-Type Unknown-Number 0 //VALUE Ascend-PRI-Number-Type Unknown-Number 0 Ascend //VALUE Ascend-PRI-Number-Type Intl-Number 1 Ascend //VALUE Ascend-PRI-Number-Type Intl-Number 1 //VALUE Ascend-PRI-Number-Type National-Number 2 //VALUE Ascend-PRI-Number-Type National-Number 2 Ascend //VALUE Ascend-PRI-Number-Type Net-Specific-Number 3 Ascend //VALUE Ascend-PRI-Number-Type Local-Number 4 Ascend //VALUE Ascend-PRI-Number-Type Local-Number 4 //VALUE Ascend-PRI-Number-Type Abbrev-Number 5 //VALUE Ascend-PRI-Number-Type Abbrev-Number 5 Ascend //VALUE Ascend-PRI-Number-Type Abbrev-Number 6 Ascend //VALUE Ascend-Private-Route-Required Required-No 0 Ascend //VALUE Ascend-Private-Route-Required Required-Yes 1 Ascend //VALUE Ascend-PW-Lifetime Lifetime-In-Days 0 //VALUE Ascend-PW-Lifetime Lifetime-In-Days 0 Ascend //VALUE Ascend-PW-Warntime Days-Of-Warning 0 //VALUE Ascend-PW-Warntime Days-Of-Warning 0 Ascend //VALUE Ascend-Require-Auth Not-Require-Auth 0 Ascend //VALUE Ascend-Require-Auth Not-Require-Auth 0 //VALUE Ascend-Require-Auth Require-Auth 1 //VALUE Ascend-Require-Auth Require-Auth 1 Ascend //VALUE Ascend-Route-Appletalk Route-Appletalk-No 0 Ascend //VALUE Ascend-Route-Appletalk Route-Appletalk-Yes 1 Ascend //VALUE Ascend-Route-IP Route-IP-No 0 //VALUE Ascend-Route-IP Route-IP-No 0 Ascend //VALUE Ascend-Route-IP Route-IP-Yes 1 Ascend //VALUE Ascend-Route-IP Route-IP-Yes 1 //VALUE Ascend-Route-IPX Route-IPX-No 0 //VALUE Ascend-Route-IPX Route-IPX-No 0 Ascend //VALUE Ascend-Route-IPX Route-IPX-Yes 1 Ascend //VALUE Ascend-Route-IPX Route-IPX-Yes 1 //VALUE Ascend-Send-Auth Send-Auth-None 0 //VALUE Ascend-Send-Auth Send-Auth-None 0 Ascend //VALUE Ascend-Send-Auth Send-Auth-PAP 1 Ascend //VALUE Ascend-Send-Auth Send-Auth-PAP 1 //VALUE Ascend-Send-Auth Send-Auth-CHAP 2 //VALUE Ascend-Send-Auth Send-Auth-CHAP 2 Ascend //VALUE Ascend-Send-Auth Send-Auth-MS-CHAP 3 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-NotUsed 0 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-None 1 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-Other 2 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-PPP 3 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-Slip 4 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-MPP 5 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-X25 6 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-Combinet 7 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-FR 8 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-EuRaw 9 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-EuUi 10 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-Telnet 11 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-TelnetBin 12 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-RawTcp 13 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-TermServer 14 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-MP 15 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-VirtualConn 16 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-X25DChan 17 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-PseuTunPPP 18 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-IpFax 19 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-ATM 20 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-HdlcNrm 21 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-VoIp 22 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-Visa2 23 Ascend //VALUE Ascend-Service-Type Ascend-Service-Type-NetToNet 25 Ascend //VALUE Ascend-Session-Type Ascend-Session-Unused 0 Ascend //VALUE Ascend-Session-Type Ascend-Session-Unknown 1 Ascend //VALUE Ascend-Session-Type Ascend-Session-G711-Ulaw 2 Ascend //VALUE Ascend-Session-Type Ascend-Session-G711-Alaw 3 Ascend //VALUE Ascend-Session-Type Ascend-Session-G723 4 Ascend //VALUE Ascend-Session-Type Ascend-Session-G729 5 Ascend //VALUE Ascend-Session-Type Ascend-Session-G723-64KPS 6 Ascend //VALUE Ascend-Session-Type Ascend-Session-G728 7 Ascend //VALUE Ascend-Session-Type Ascend-Session-RT24 8 Ascend //VALUE Ascend-Shared-Profile-Enable Shared-Profile-No 0 //VALUE Ascend-Shared-Profile-Enable Shared-Profile-No 0 Ascend //VALUE Ascend-Shared-Profile-Enable Shared-Profile-Yes 1 Ascend //VALUE Ascend-Shared-Profile-Enable Shared-Profile-Yes 1 //VALUE Ascend-Source-IP-Check Source-IP-Check-No 0 Ascend //VALUE Ascend-Source-IP-Check Source-IP-Check-Yes 1 Ascend //VALUE Ascend-SVC-Enabled Ascend-SVC-Enabled-No 0 Ascend //VALUE Ascend-SVC-Enabled Ascend-SVC-Enabled-Yes 1 Ascend //VALUE Ascend-Temporary-Rtes Temp-Rtes-No 0 Ascend //VALUE Ascend-Temporary-Rtes Temp-Rtes-Yes 1 Ascend //VALUE Ascend-Token-Immediate Tok-Imm-No 0 Ascend //VALUE Ascend-Token-Immediate Tok-Imm-No 0 //VALUE Ascend-Token-Immediate Tok-Imm-Yes 1 //VALUE Ascend-Token-Immediate Tok-Imm-Yes 1 Ascend //VALUE Ascend-TS-Idle-Mode TS-Idle-None 0 Ascend //VALUE Ascend-TS-Idle-Mode TS-Idle-Input 1 Ascend //VALUE Ascend-TS-Idle-Mode TS-Idle-Input-Output 2 Ascend //VALUE Ascend-Tunneling-Protocol ATMP-Tunnel 0 Ascend //VALUE Ascend-Tunneling-Protocol VTP-Tunnel 1 Ascend //VALUE Ascend-User-Acct-Base Base-10 0 Ascend //VALUE Ascend-User-Acct-Base Base-16 1 Ascend //VALUE Ascend-User-Acct-Type Ascend-User-Acct-None 0 Ascend //VALUE Ascend-User-Acct-Type Ascend-User-Acct-User 1 Ascend //VALUE Ascend-User-Acct-Type Ascend-User-Acct-User-Default 2 Ascend //VALUE Ascend-X25-Pad-X3-Profile CRT 0 Ascend //VALUE Ascend-X25-Pad-X3-Profile INFONET 1 Ascend //VALUE Ascend-X25-Pad-X3-Profile DEFAULT 2 Ascend //VALUE Ascend-X25-Pad-X3-Profile SCEN 3 Ascend //VALUE Ascend-X25-Pad-X3-Profile CC_SSP 4 Ascend //VALUE Ascend-X25-Pad-X3-Profile CC_TSP 5 Ascend //VALUE Ascend-X25-Pad-X3-Profile HARDCOPY 6 Ascend //VALUE Ascend-X25-Pad-X3-Profile HDX 7 Ascend //VALUE Ascend-X25-Pad-X3-Profile SHARK 8 Ascend //VALUE Ascend-X25-Pad-X3-Profile POS 9 Ascend //VALUE Ascend-X25-Pad-X3-Profile NULL 10 Ascend //VALUE Ascend-X25-Pad-X3-Profile CUSTOM 11 Ascend //VALUE Ascend-X25-Reverse-Charging Reverse-Charging-No 0 Ascend //VALUE Ascend-X25-Reverse-Charging Reverse-Charging-Yes 1 Ascend //VALUE Bind-Auth-Protocol AAA-PPP-PAP 1 Redback //VALUE Bind-Auth-Protocol AAA-PPP-CHAP 2 Redback //VALUE Bind-Auth-Protocol AAA-PPP-CHAP-WAIT 3 Redback //VALUE Bind-Auth-Protocol AAA-PPP-CHAP-PAP 4 Redback //VALUE Bind-Auth-Protocol AAA-PPP-CHAP-WAIT-PAP 5 Redback //VALUE Bind-Type AAA-AUTH-BIND 1 Redback //VALUE Bind-Type AAA-BYPASS-BIND 2 Redback //VALUE Bind-Type AAA-INTERFACE-BIND 3 Redback //VALUE Bind-Type AAA-SUBSCRIBE-BIND 4 Redback //VALUE Bind-Type AAA-TUNNEL-BIND 5 Redback //VALUE Bind-Type AAA-SESSION-BIND 6 Redback //VALUE Bind-Type AAA-Q8021-BIND 7 Redback //VALUE Bind-Type AAA-MULTI-BIND 8 Redback //VALUE Cabletron-Protocol-Callable IP-Callable 1 Cabletron //VALUE Cabletron-Protocol-Callable Bridge-Callable 2 Cabletron //VALUE Cabletron-Protocol-Callable IP-BR-Callable 3 Cabletron //VALUE Cabletron-Protocol-Callable BR-IPX-Callable 6 Cabletron //VALUE Cabletron-Protocol-Callable IP-BR-IPX-Callable 7 Cabletron //VALUE Cabletron-Protocol-Enable IP-Enable 1 Cabletron //VALUE Cabletron-Protocol-Enable Bridge-Enable 2 Cabletron //VALUE Cabletron-Protocol-Enable IP-BR-Enable 3 Cabletron //VALUE Cabletron-Protocol-Enable BR-IPX-Enable 6 Cabletron //VALUE Cabletron-Protocol-Enable IP-BR-IPX-Enable 7 Cabletron //VALUE Cisco-Disconnect-Cause Unknown 2 Cisco //VALUE Cisco-Disconnect-Cause CLID-Authentication-Failure 4 Cisco //VALUE Cisco-Disconnect-Cause No-Carrier 10 Cisco //VALUE Cisco-Disconnect-Cause Lost-Carrier 11 Cisco //VALUE Cisco-Disconnect-Cause No-Detected-Result-Codes 12 Cisco //VALUE Cisco-Disconnect-Cause User-Ends-Session 20 Cisco //VALUE Cisco-Disconnect-Cause Idle-Timeout 21 Cisco //VALUE Cisco-Disconnect-Cause Exit-Telnet-Session 22 Cisco //VALUE Cisco-Disconnect-Cause No-Remote-IP-Addr 23 Cisco //VALUE Cisco-Disconnect-Cause Exit-Raw-TCP 24 Cisco //VALUE Cisco-Disconnect-Cause Password-Fail 25 Cisco //VALUE Cisco-Disconnect-Cause Raw-TCP-Disabled 26 Cisco //VALUE Cisco-Disconnect-Cause Control-C-Detected 27 Cisco //VALUE Cisco-Disconnect-Cause EXEC-Program-Destroyed 28 Cisco //VALUE Cisco-Disconnect-Cause Timeout-PPP-LCP 40 Cisco //VALUE Cisco-Disconnect-Cause Failed-PPP-LCP-Negotiation 41 Cisco //VALUE Cisco-Disconnect-Cause Failed-PPP-PAP-Auth-Fail 42 Cisco //VALUE Cisco-Disconnect-Cause Failed-PPP-CHAP-Auth 43 Cisco //VALUE Cisco-Disconnect-Cause Failed-PPP-Remote-Auth 44 Cisco //VALUE Cisco-Disconnect-Cause PPP-Remote-Terminate 45 Cisco //VALUE Cisco-Disconnect-Cause PPP-Closed-Event 46 Cisco //VALUE Cisco-Disconnect-Cause Session-Timeout 100 Cisco //VALUE Cisco-Disconnect-Cause Session-Failed-Security 101 Cisco //VALUE Cisco-Disconnect-Cause Session-End-Callback 102 Cisco //VALUE Cisco-Disconnect-Cause Invalid-Protocol 120 Cisco //VALUE ERX-Atm-Service-Category UBR 1 ERX //VALUE ERX-Atm-Service-Category UBRPCR 2 ERX //VALUE ERX-Atm-Service-Category nrtVBR 3 ERX //VALUE ERX-Atm-Service-Category CBR 4 ERX //VALUE ERX-Egress-Statistics disable 0 ERX //VALUE ERX-Egress-Statistics enable 1 ERX //VALUE ERX-Igmp-Enable disable 0 ERX //VALUE ERX-Igmp-Enable enable 1 ERX //VALUE ERX-Ingress-Statistics disable 0 ERX //VALUE ERX-Ingress-Statistics enable 1 ERX //VALUE ERX-Qos-Profile-Interface-Type IP 1 ERX //VALUE ERX-Qos-Profile-Interface-Type ATM 2 ERX //VALUE ERX-Qos-Profile-Interface-Type HDLC 3 ERX //VALUE ERX-Qos-Profile-Interface-Type ETHERNET 4 ERX //VALUE ERX-Qos-Profile-Interface-Type SERVER-PORT 5 ERX //VALUE ERX-Qos-Profile-Interface-Type ATM-1483 6 ERX //VALUE ERX-Qos-Profile-Interface-Type FRAME-RELAY 7 ERX //VALUE ERX-Qos-Profile-Interface-Type MPLS-MINOR 8 ERX //VALUE ERX-Qos-Profile-Interface-Type CBF 9 ERX //VALUE ERX-Qos-Profile-Interface-Type IP-TUNNEL 10 ERX //VALUE ERX-Qos-Profile-Interface-Type VLAN-SUB 11 ERX //VALUE ERX-Qos-Profile-Interface-Type PPPOE-SUB 12 ERX //VALUE ERX-Sa-Validate disable 0 ERX //VALUE ERX-Sa-Validate enable 1 ERX //VALUE ERX-Tunnel-Nas-Port-Method None 0 ERX //VALUE ERX-Tunnel-Nas-Port-Method CISCO-CLID 1 ERX //VALUE Framed-Compression None 0 //VALUE Framed-Compression Van-Jacobsen-TCP-IP 1 //VALUE Framed-Compression IPX-Header-Compression 2 //VALUE Framed-Protocol PPP 1 //VALUE Framed-Protocol SLIP 2 //VALUE Framed-Protocol ARA 3 //VALUE Framed-Protocol Gandalf 4 //VALUE Framed-Protocol Xylogics 5 //VALUE Framed-Protocol GPRS-PDP-Context 7 //VALUE Framed-Protocol PPTP 9 //VALUE Framed-Protocol ARA 255 //VALUE Framed-Protocol MPP 256 //VALUE Framed-Protocol EURAW 257 //VALUE Framed-Protocol EUUI 258 //VALUE Framed-Protocol X25 259 //VALUE Framed-Protocol COMB 260 //VALUE Framed-Protocol FR 261 //VALUE Framed-Protocol MP 262 //VALUE Framed-Protocol FR-CIR 263 //VALUE Framed-Protocol X25 17825794 //VALUE Framed-Protocol X25-PPP 17825795 //VALUE Framed-Protocol IP-LAPB 17825796 //VALUE Framed-Protocol IP-HDLC 17825798 //VALUE Framed-Protocol MPR-LAPB 17825799 //VALUE Framed-Protocol MPR-HDLC 17825800 //VALUE Framed-Protocol FRAME-RELAY 17825801 //VALUE Framed-Protocol X31-BCHAN 17825802 //VALUE Framed-Protocol X75-PPP 17825803 //VALUE Framed-Protocol X75BTX-PPP 17825804 //VALUE Framed-Protocol X25-NOSIG 17825805 //VALUE Framed-Protocol X25-PPP-OPT 17825806 //VALUE Framed-Routing None 0 //VALUE Framed-Routing Broadcast 1 //VALUE Framed-Routing Listen 2 //VALUE Framed-Routing Broadcast-Listen 3 //VALUE KarlNet-TurboCell-OpMode Peer-to-Peer 0 KarlNet //VALUE KarlNet-TurboCell-OpMode Base 1 KarlNet //VALUE KarlNet-TurboCell-OpMode Base-Polling 2 KarlNet //VALUE KarlNet-TurboCell-OpMode Satellite-NT 3 KarlNet //VALUE KarlNet-TurboCell-OpState Up 0 KarlNet //VALUE KarlNet-TurboCell-OpState Down 1 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-Local 0 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-MaxSpeed 8 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-64k 16 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-128k 24 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-256k 32 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-512k 40 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-1Mbps 48 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-T1 56 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-2T1 64 KarlNet //VALUE KarlNet-TurboCell-TxRate TxRate-3T1 72 KarlNet //VALUE LAC-Port-Type NAS-PORT-TYPE-10BT 40 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-100BT 41 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-DS3-FR 42 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-DS3-ATM 43 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-OC3 44 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-HSSI 45 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-EIA530 46 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-T1 47 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-CHAN-T3 48 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-DS1-FR 49 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-E3-ATM 50 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-IMA-ATM 51 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-DS3-ATM-2 52 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-OC3-ATM-2 53 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-1000BSX 54 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-E1-FR 55 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-E1-ATM 56 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-E3-FR 57 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-OC3-POS 58 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-OC12-POS 59 Redback //VALUE LAC-Port-Type NAS-PORT-TYPE-PPPOE 60 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-10BT 40 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-100BT 41 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS3-FR 42 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS3-ATM 43 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC3 44 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-HSSI 45 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-EIA530 46 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-T1 47 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-CHAN-T3 48 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS1-FR 49 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E3-ATM 50 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-IMA-ATM 51 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS3-ATM-2 52 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC3-ATM-2 53 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-1000BSX 54 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E1-FR 55 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E1-ATM 56 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E3-FR 57 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC3-POS 58 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC12-POS 59 Redback //VALUE LAC-Real-Port-Type NAS-PORT-TYPE-PPPOE 60 Redback //VALUE LE-IPSec-Deny-Action Drop 1 Livingston //VALUE LE-IPSec-Deny-Action ICMP-Reject 2 Livingston //VALUE LE-IPSec-Deny-Action Pass-Through 3 Livingston //VALUE LE-IPSec-Log-Options SA-Success-On 1 Livingston //VALUE LE-IPSec-Log-Options SA-Failure-On 2 Livingston //VALUE LE-IPSec-Log-Options Console-On 3 Livingston //VALUE LE-IPSec-Log-Options Syslog-On 4 Livingston //VALUE LE-IPSec-Log-Options SA-Success-Off 5 Livingston //VALUE LE-IPSec-Log-Options SA-Failure-Off 6 Livingston //VALUE LE-IPSec-Log-Options Console-Off 7 Livingston //VALUE LE-IPSec-Log-Options Syslog-Off 8 Livingston //VALUE LE-Multicast-Client On 1 Livingston //VALUE LE-NAT-Log-Options Session-Success-On 1 Livingston //VALUE LE-NAT-Log-Options Session-Failure-On 2 Livingston //VALUE LE-NAT-Log-Options Console-On 3 Livingston //VALUE LE-NAT-Log-Options Syslog-On 4 Livingston //VALUE LE-NAT-Log-Options Success-Off 5 Livingston //VALUE LE-NAT-Log-Options Failure-Off 6 Livingston //VALUE LE-NAT-Log-Options Console-Off 7 Livingston //VALUE LE-NAT-Log-Options Syslog-Off 8 Livingston //VALUE LE-NAT-Sess-Dir-Fail-Action Drop 1 Livingston //VALUE LE-NAT-Sess-Dir-Fail-Action ICMP-Reject 2 Livingston //VALUE LE-NAT-Sess-Dir-Fail-Action Pass-Through 3 Livingston //VALUE Login-Service Telnet 0 //VALUE Login-Service Rlogin 1 //VALUE Login-Service TCP-Clear 2 //VALUE Login-Service PortMaster 3 //VALUE Login-Service LAT 4 //VALUE Login-Service X25-PAD 5 //VALUE Login-Service X25-T3POS 6 //VALUE Login-Service TCP-Clear-Quiet 7 //VALUE Mcast-Receive NO-RECEIVE 1 Redback //VALUE Mcast-Receive RECEIVE 2 Redback //VALUE Mcast-Send NO-SEND 1 Redback //VALUE Mcast-Send SEND 2 Redback //VALUE Mcast-Send UNSOLICITED-SEND 3 Redback //VALUE MS-Acct-Auth-Type PAP 1 Microsoft //VALUE MS-Acct-Auth-Type CHAP 2 Microsoft //VALUE MS-Acct-Auth-Type MS-CHAP-1 3 Microsoft //VALUE MS-Acct-Auth-Type MS-CHAP-2 4 Microsoft //VALUE MS-Acct-Auth-Type EAP 5 Microsoft //VALUE MS-Acct-EAP-Type MD5 4 Microsoft //VALUE MS-Acct-EAP-Type OTP 5 Microsoft //VALUE MS-Acct-EAP-Type Generic-Token-Card 6 Microsoft //VALUE MS-Acct-EAP-Type TLS 13 Microsoft //VALUE MS-ARAP-PW-Change-Reason Just-Change-Password 1 Microsoft //VALUE MS-ARAP-PW-Change-Reason Expired-Password 2 Microsoft //VALUE MS-ARAP-PW-Change-Reason Admin-Requires-Password-Change 3 Microsoft //VALUE MS-ARAP-PW-Change-Reason Password-Too-Short 4 Microsoft //VALUE MS-BAP-Usage Not-Allowed 0 Microsoft //VALUE MS-BAP-Usage Allowed 1 Microsoft //VALUE MS-BAP-Usage Required 2 Microsoft //VALUE NAS-Port-Type Async 0 //VALUE NAS-Port-Type Sync 1 //VALUE NAS-Port-Type ISDN 2 //VALUE NAS-Port-Type ISDN-V120 3 //VALUE NAS-Port-Type ISDN-V110 4 //VALUE NAS-Port-Type Virtual 5 //VALUE NAS-Port-Type PAIFS 6 //VALUE NAS-Port-Type HDLC-Clear-Channel 7 //VALUE NAS-Port-Type X25 8 //VALUE NAS-Port-Type X75 9 //VALUE NAS-Port-Type SDSL 11 //VALUE NAS-Port-Type ADSL-CAP 12 //VALUE NAS-Port-Type ADSL-DMT 13 //VALUE NAS-Port-Type IDSL 14 //VALUE NAS-Port-Type Ethernet 15 //VALUE NAS-Port-Type xDSL 16 //VALUE NAS-Port-Type Cable 17 //VALUE NAS-Port-Type Wireless-Other 18 //VALUE NAS-Port-Type Token-Ring 20 //VALUE NAS-Port-Type FDDI 21 //VALUE NAS-Port-Type Wireless-CDMA2000 22 //VALUE NAS-Port-Type Wireless-UMTS 23 //VALUE NAS-Port-Type Wireless-1X-EV 24 //VALUE NAS-Port-Type IAPP 25 //VALUE NS-Admin-Privilege Root-Admin 1 Netscreen //VALUE NS-Admin-Privilege All-VSYS-Root-Admin 2 Netscreen //VALUE NS-Admin-Privilege VSYS-Admin 3 Netscreen //VALUE NS-Admin-Privilege Read-Only-Admin 4 Netscreen //VALUE NS-Admin-Privilege Read-Only-VSYS-Admin 5 Netscreen //VALUE Prompt No-Echo 1 //VALUE Prompt Echo 2 //VALUE PVC-Circuit-Padding AAA-CIRCUIT-PADDING 1 Redback //VALUE PVC-Circuit-Padding AAA-CIRCUIT-NO-PADDING 2 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-RAW 1 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-ROUTE1483 2 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-AUTO1483 3 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-MULTI 4 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-BRIDGE1483 5 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP 6 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-SERIAL 7 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-NLPID 8 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-AUTO 9 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPPOE 10 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-L2TP 11 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-LLC 12 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-AUTO1490 13 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-MULTI 14 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-BRIDGE1490 15 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-PPP 16 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-PPP-AUTO 17 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-PPPOE 18 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-ROUTE1490 19 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-L2TP 20 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-L2TP-VC-MUXED 21 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ETH 22 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ETH-PPPOE 23 Redback //VALUE PVC-Encapsulation-Type AAA-ENCAPS-ETH-MULTI 24 Redback //VALUE Shasta-User-Privilege User 1 Shasta //VALUE Shasta-User-Privilege Super-User 2 Shasta //VALUE Shasta-User-Privilege SSuper-User 3 Shasta //VALUE Shiva-Connect-Reason Remote 1 Shiva //VALUE Shiva-Connect-Reason Dialback 2 Shiva //VALUE Shiva-Connect-Reason Virtual-Connection 3 Shiva //VALUE Shiva-Connect-Reason Bandwidth-On-Demand 4 Shiva //VALUE Shiva-Disconnect-Reason Remote 1 Shiva //VALUE Shiva-Disconnect-Reason Error 2 Shiva //VALUE Shiva-Disconnect-Reason Idle-Timeout 3 Shiva //VALUE Shiva-Disconnect-Reason Session-Timeout 4 Shiva //VALUE Shiva-Disconnect-Reason Admin-Disconnect 5 Shiva //VALUE Shiva-Disconnect-Reason Dialback 6 Shiva //VALUE Shiva-Disconnect-Reason Virtual-Connection 7 Shiva //VALUE Shiva-Disconnect-Reason Bandwidth-On-Demand 8 Shiva //VALUE Shiva-Disconnect-Reason Failed-Authentication 9 Shiva //VALUE Shiva-Disconnect-Reason Preempted 10 Shiva //VALUE Shiva-Disconnect-Reason Blocked 11 Shiva //VALUE Shiva-Disconnect-Reason Tariff-Management 12 Shiva //VALUE Shiva-Disconnect-Reason Backup 13 Shiva //VALUE Shiva-Function Unknown 0 Shiva //VALUE Shiva-Function Dialin 1 Shiva //VALUE Shiva-Function Dialout 2 Shiva //VALUE Shiva-Function Lan-To-Lan 3 Shiva //VALUE Shiva-Link-Protocol HDLC 1 Shiva //VALUE Shiva-Link-Protocol ARAV1 2 Shiva //VALUE Shiva-Link-Protocol ARAV2 3 Shiva //VALUE Shiva-Link-Protocol SHELL 4 Shiva //VALUE Shiva-Link-Protocol AALAP 5 Shiva //VALUE Shiva-Link-Protocol SLIP 6 Shiva //VALUE Shiva-Type-Of-Service Analog 1 Shiva //VALUE Shiva-Type-Of-Service Digitized-Analog 2 Shiva //VALUE Shiva-Type-Of-Service Digital 3 Shiva //VALUE Shiva-Type-Of-Service Digital-V110 4 Shiva //VALUE Shiva-Type-Of-Service Digital-V120 5 Shiva //VALUE Shiva-Type-Of-Service Digital-Leased-Line 6 Shiva //VALUE SS3-Firewall-User-Privilege Remote-Access 1 3com //VALUE SS3-Firewall-User-Privilege Bypass-Filters 2 3com //VALUE SS3-Firewall-User-Privilege VPN-Client-Access 3 3com //VALUE SS3-Firewall-User-Privilege Access-To-VPN 4 3com //VALUE SS3-Firewall-User-Privilege Limited-Management 5 3com //VALUE SS3-Firewall-User-Privilege L2TP-Client-Access 6 3com //VALUE Termination-Action Default 0 //VALUE Termination-Action RADIUS-Request 1 //VALUE Tunnel-DNIS DNIS 1 Redback //VALUE Tunnel-DNIS DNIS-Only 2 Redback //VALUE Tunnel-Function LAC-Only 1 Redback //VALUE Tunnel-Function LNS-Only 2 Redback //VALUE Tunnel-Function LAC-LNS 3 Redback //VALUE Tunnel-Medium-Type IP 1 //VALUE Tunnel-Medium-Type IP6 2 //VALUE Tunnel-Medium-Type NSAP 3 //VALUE Tunnel-Medium-Type HDLC 4 //VALUE Tunnel-Medium-Type BBN 5 //VALUE Tunnel-Medium-Type IEEE-802 6 //VALUE Tunnel-Medium-Type E-163 7 //VALUE Tunnel-Medium-Type E-164 8 //VALUE Tunnel-Medium-Type F-69 9 //VALUE Tunnel-Medium-Type X-121 10 //VALUE Tunnel-Medium-Type IPX 11 //VALUE Tunnel-Medium-Type Appletalk 12 //VALUE Tunnel-Medium-Type Decnet4 13 //VALUE Tunnel-Medium-Type Vines 14 //VALUE Tunnel-Medium-Type E-164-NSAP 15 //VALUE Tunnel-Type PPTP 1 //VALUE Tunnel-Type L2F 2 //VALUE Tunnel-Type L2TP 3 //VALUE Tunnel-Type ATMP 4 //VALUE Tunnel-Type VTP 5 //VALUE Tunnel-Type AH 6 //VALUE Tunnel-Type IP-IP-Encap 7 //VALUE Tunnel-Type MIN-IP-IP 8 //VALUE Tunnel-Type ESP 9 //VALUE Tunnel-Type PPTP 10 //VALUE Tunnel-Type DVS 11 //VALUE Tunnel-Type IP-IP 12 //VALUE Tunnel-Type VLAN 13 //VALUE User-Service Login-User 1 //VALUE User-Service Framed-User 2 //VALUE User-Service Callback-Login 3 //VALUE User-Service Callback-Framed 4 //VALUE User-Service Outbound 5 //VALUE User-Service Administrative 6 //VALUE User-Service NAS-Prompt 7 //VALUE User-Service Authenicate-Only 8 //VALUE User-Service Callback-NAS-Prompt 9 //VALUE User-Service Call-Check 10 //VALUE User-Service Callback-Administrative 11 //VALUE User-Service Voice 12 //VALUE User-Service Fax 13 //VALUE User-Service Modem-Relay 14 //VALUE User-Service IAPP-Register 15 //VALUE User-Service IAPP-AP-Check 16 //VALUE User-Service Call-Check-User 129 //VALUE Versanet-Termination-Cause Normal-Hangup-No-Error-Occurred 0 Versanet //VALUE Versanet-Termination-Cause Call-Waiting-Caused-Disconnect 3 Versanet //VALUE Versanet-Termination-Cause Physical-Carrier-Loss 4 Versanet //VALUE Versanet-Termination-Cause No-err-correction-at-other-end 5 Versanet //VALUE Versanet-Termination-Cause No-resp-to-feature-negotiation 6 Versanet //VALUE Versanet-Termination-Cause 1st-modem-async-only-2nd-sync 7 Versanet //VALUE Versanet-Termination-Cause No-framing-technique-in-common 8 Versanet //VALUE Versanet-Termination-Cause No-protocol-in-common 9 Versanet //VALUE Versanet-Termination-Cause Bad-resp-to-feature-negotiation 10 Versanet //VALUE Versanet-Termination-Cause No-sync-info-from-remote-modem 11 Versanet //VALUE Versanet-Termination-Cause Normal-Hangup-by-Remote-modem 12 Versanet //VALUE Versanet-Termination-Cause Retransmission-limit-reached 13 Versanet //VALUE Versanet-Termination-Cause Protocol-violation-occurred 14 Versanet //VALUE Versanet-Termination-Cause Lost-DTR 15 Versanet //VALUE Versanet-Termination-Cause Received-GSTN-cleardown 16 Versanet //VALUE Versanet-Termination-Cause Inactivity-timeout 17 Versanet //VALUE Versanet-Termination-Cause Speed-not-supported 18 Versanet //VALUE Versanet-Termination-Cause Long-space-disconnect 19 Versanet //VALUE Versanet-Termination-Cause Key-abort-disconnect 20 Versanet //VALUE Versanet-Termination-Cause Clears-previous-disc-reason 21 Versanet //VALUE Versanet-Termination-Cause No-connection-established 22 Versanet //VALUE Versanet-Termination-Cause Disconnect-after-three-retrains 23 Versanet // #endif radiusplugin/RadiusClass/utilities/vsahelper.pl000755 001750 001750 00000011643 11126365764 020565 0ustar00000000 000000 #!/usr/bin/perl -w use strict; open(FILE, "; close(FILE); my @newlines; my @newlines_ipaddr; my @newlines_string; my @newlines_date; my @newlines_integer; my @newlines_other; my @vendors; my @attributes; my $first_integer=1; my $first_ipaddr=1; my $first_string=1; my $first_date=1; my $i=0; foreach(@lines) { my $j=0; my $str=$_; $str=~ tr/\t/ /; $str=~ s/ {2,}/ /g; $str=~ s/-/_/g; my @values=split(/ /,$str); my $line=''; my $line2=''; if ($values[0] eq 'VENDOR') { $values[1]=~ tr/\n//; $values[0]=~ tr/\n//; $values[2]=~ tr/\n//; $line="#define \t VENDOR_".uc($values[1])." \t".$values[2]; $vendors[$i]={'id' => $values[2], 'name' => $values[1], 'define' => "VENDOR_".uc($values[1])}; $i++; } elsif (($values[0] eq 'ATTRIBUTE') && defined($values[4]) && ($values[4] ne '') ) { $attributes[$j]={id => $values[2], name => $values[1], define => "ATTRIBUTE_".uc($values[1]), type =>$values[3] }; my $k=0; $values[4]=~ s/\s//g; $values[4]=~ tr/ //; $vendors[$k]{'name'}=~ s/\s//g; $vendors[$k]{'name'}=~ tr/ //; if($values[4] ne '') { while (($vendors[$k]{'name'} ne $values[4]) && defined($vendors[$k]{'name'})) { $k++; } $line="#define \t ATTRIBUTE_".uc($values[1])." \t".$values[2]; if ($values[3] eq 'integer') { if($first_integer eq 1) { $first_integer=0; $line2= "(id == ".$vendors[$k]{'define'} ." && type == ATTRIBUTE_".uc($values[1]).")\n"; } else { $line2= "|| (id == ".$vendors[$k]{'define'} ." && type == ATTRIBUTE_".uc($values[1]).")\n"; } push(@newlines_integer,$line2); } elsif($values[3] eq 'date') { if($first_date eq 1) { $first_date=0; $line2= "(id == ".$vendors[$k]{'define'} ." && type == ATTRIBUTE_".uc($values[1]).")\n"; } else { $line2= "|| (id == ".$vendors[$k]{'define'} ." && type == ATTRIBUTE_".uc($values[1]).")\n"; } push(@newlines_date,$line2); } elsif($values[3] eq 'string') { if($first_string eq 1) { $first_string=0; $line2= "(id == ".$vendors[$k]{'define'} ." && type == ATTRIBUTE_".uc($values[1]).")\n"; } else { $line2= "|| (id == ".$vendors[$k]{'define'} ." && type == ATTRIBUTE_".uc($values[1]).")\n"; } push(@newlines_string,$line2); } elsif($values[3] eq 'ipaddr') { if($first_ipaddr eq 1) { $first_ipaddr=0; $line2= "(id == ".$vendors[$k]{'define'} ." && type == ATTRIBUTE_".uc($values[1]).")\n"; } else { $line2= "|| (id == ".$vendors[$k]{'define'} ." && type == ATTRIBUTE_".uc($values[1]).")\n"; } push(@newlines_ipaddr,$line2); } else { $line2= "NOT SUPPORTED DATATYPE : $values[3] : id == ".$vendors[$k]{'define'} ."&& type == ATTRIBUTE_".uc($values[1])."\n"; push(@newlines_other,$line2); } } } else { # other lines are added as comment } $line.=" \t//".$_; push(@newlines,$line); } open(FILE2, ">./vsa.h") || die "File could not be opened."; print FILE2 qq|/* File was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ |; print FILE2 "#ifndef _VSA_H_ \n"; print FILE2 "#define _VSA_H_ \n"; print FILE2 @newlines; print FILE2 "#endif \n"; close(FILE2); open(FILE3, ">./vsa_if_statements.txt") || die "File could not be opened."; print FILE3 qq|/* File was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ |; print FILE3 qq|/* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ |; print FILE3 qq|if ( |; print FILE3 @newlines_integer; print FILE3 qq|) { sprintf(buffer, "%d", vsa->intFromBuf()); return string(buffer); } |; print FILE3 qq|/* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ |; print FILE3 qq|else if ( |; print FILE3 @newlines_date; print FILE3 qq|) { sprintf(buffer, "%d", vsa->intFromBuf()); return string(buffer); } |; print FILE3 qq|/* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ |; print FILE3 qq|else if ( |; print FILE3 @newlines_string; print FILE3 qq|) { return vsa->stringFromBuf(); } |; print FILE3 qq|/* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ |; print FILE3 qq|else if ( |; print FILE3 @newlines_ipaddr; print FILE3 qq|) { return vsa->ipFromBuf(); }|; print FILE3 qq| else { cerr << "Vendor Specific Attribute (Id: " << vsa->getId() << " Type: " << vsa->getType() << " not implemented, treated as string."; return vsa->stringFromBuf(); } |; print FILE3 qq|/* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ |; print FILE3 @newlines_other; close(FILE3); exit(0);radiusplugin/RadiusClass/utilities/vsa_if_statements.txt000644 001750 001750 00000223574 11126365764 022523 0ustar00000000 000000 /* File was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ /* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ if ( (id == VENDOR_ACC && type == ATTRIBUTE_ACC_REASON_CODE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CCP_OPTION) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_INPUT_ERRORS) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_OUTPUT_ERRORS) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ROUTE_POLICY) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ML_MLX_ADMIN_STATE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ML_CALL_THRESHOLD) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ML_CLEAR_THRESHOLD) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ML_DAMPING_FACTOR) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CLEARING_CAUSE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CLEARING_LOCATION) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_REQUEST_TYPE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_BRIDGING_SUPPORT) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_APSM_OVERSUBSCRIBED) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ACCT_ON_OFF_REASON) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_TUNNEL_PORT) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DIAL_PORT_INDEX) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IP_COMPRESSION) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IPX_COMPRESSION) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CONNECT_TX_SPEED) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CONNECT_RX_SPEED) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CALLBACK_DELAY) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CALLBACK_MODE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CALLBACK_CBCP_TYPE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DIALOUT_AUTH_MODE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ACCESS_COMMUNITY) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_VPSM_REJECT_CAUSE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ACE_TOKEN_TTL) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IGMP_ADMIN_STATE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IGMP_VERSION) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_MULTILINK_ID) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_NUM_IN_MULTILINK) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PRE_INPUT_OCTETS) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PRE_OUTPUT_OCTETS) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PRE_INPUT_PACKETS) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PRE_OUTPUT_PACKETS) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_MAXIMUM_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_DISCONNECT_CAUSE) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_DATA_RATE) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PRESESSION_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PW_LIFETIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_IP_DIRECT) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PPP_VJ_SLOT_COMP) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_PPP_ASYNC_MAP) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_IP_POOL_DEFINITION) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_ASSIGN_IP_POOL) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_ROUTE_IP) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_LINK_COMPRESSION) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_TARGET_UTIL) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_MAXIMUM_CHANNELS) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_DATA_FILTER) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_CALL_FILTER) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_IDLE_LIMIT) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_XMIT_RATE) || (id == VENDOR_CABLETRON && type == ATTRIBUTE_CABLETRON_PROTOCOL_ENABLE) || (id == VENDOR_CABLETRON && type == ATTRIBUTE_CABLETRON_PROTOCOL_CALLABLE) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_TYPE_OF_SERVICE) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_LINK_SPEED) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_LINKS_IN_BUNDLE) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_COMPRESSION_TYPE) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_LINK_PROTOCOL) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_NETWORK_PROTOCOLS) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_SESSION_ID) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_DISCONNECT_REASON) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_EVENT_FLAGS) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_FUNCTION) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_CONNECT_REASON) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_TUNNEL_THROUGHPUT) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_ECHO) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_CLIENT_ASSIGNED_IPX) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IPSEC_LOG_OPTIONS) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IPSEC_DENY_ACTION) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_TCP_SESSION_TIMEOUT) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_OTHER_SESSION_TIMEOUT) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_LOG_OPTIONS) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_SESS_DIR_FAIL_ACTION) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_MULTICAST_CLIENT) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_RAS_VENDOR) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_BAP_USAGE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_LINK_UTILIZATION_THRESHOLD) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_LINK_DROP_TIME_LIMIT) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_ARAP_PW_CHANGE_REASON) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_ACCT_AUTH_TYPE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_ACCT_EAP_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_DTE_DATA_IDLE_TIMOUT) || (id == VENDOR_USR && type == ATTRIBUTE_DEFAULT_DTE_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_SYNC_ASYNC_MODE) || (id == VENDOR_USR && type == ATTRIBUTE_ORIGINATE_ANSWER_MODE) || (id == VENDOR_USR && type == ATTRIBUTE_FAILURE_TO_CONNECT_REASON) || (id == VENDOR_USR && type == ATTRIBUTE_INITIAL_TX_LINK_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_FINAL_TX_LINK_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_MODULATION_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_EQUALIZATION_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_FALLBACK_ENABLED) || (id == VENDOR_USR && type == ATTRIBUTE_CHARACTERS_SENT) || (id == VENDOR_USR && type == ATTRIBUTE_CHARACTERS_RECEIVED) || (id == VENDOR_USR && type == ATTRIBUTE_BLOCKS_SENT) || (id == VENDOR_USR && type == ATTRIBUTE_BLOCKS_RECEIVED) || (id == VENDOR_USR && type == ATTRIBUTE_BLOCKS_RESENT) || (id == VENDOR_USR && type == ATTRIBUTE_RETRAINS_REQUESTED) || (id == VENDOR_USR && type == ATTRIBUTE_RETRAINS_GRANTED) || (id == VENDOR_USR && type == ATTRIBUTE_LINE_REVERSALS) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_CHARACTERS_LOST) || (id == VENDOR_USR && type == ATTRIBUTE_BACK_CHANNEL_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_BLERS) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_LINK_TIMEOUTS) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_FALLBACKS) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_UPSHIFTS) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_LINK_NAKS) || (id == VENDOR_USR && type == ATTRIBUTE_SIMPLIFIED_MNP_LEVELS) || (id == VENDOR_USR && type == ATTRIBUTE_CONNECT_TERM_REASON) || (id == VENDOR_USR && type == ATTRIBUTE_DTR_FALSE_TIMEOUT) || (id == VENDOR_USR && type == ATTRIBUTE_FALLBACK_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_BLOCK_ERROR_COUNT_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_SIMPLIFIED_V42BIS_USAGE) || (id == VENDOR_USR && type == ATTRIBUTE_DTR_TRUE_TIMEOUT) || (id == VENDOR_USR && type == ATTRIBUTE_CDMA_CALL_REFERENCE_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_MBI_CT_PRI_CARD_SLOT) || (id == VENDOR_USR && type == ATTRIBUTE_MBI_CT_TDM_TIME_SLOT) || (id == VENDOR_USR && type == ATTRIBUTE_MBI_CT_PRI_CARD_SPAN_LINE) || (id == VENDOR_USR && type == ATTRIBUTE_MBI_CT_BCHANNEL_USED) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_STATUS) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_NUM_OF_UPDATES) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_MANUFACTURER_ID) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_IWF_CALL_IDENTIFIER) || (id == VENDOR_USR && type == ATTRIBUTE_SERVICE_OPTION) || (id == VENDOR_USR && type == ATTRIBUTE_DISCONNECT_CAUSE_INDICATOR) || (id == VENDOR_USR && type == ATTRIBUTE_MOBILE_NUMBYTES_TXED) || (id == VENDOR_USR && type == ATTRIBUTE_MOBILE_NUMBYTES_RXED) || (id == VENDOR_USR && type == ATTRIBUTE_NUM_FAX_PAGES_PROCESSED) || (id == VENDOR_USR && type == ATTRIBUTE_COMPRESSION_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_ERROR_CODE) || (id == VENDOR_USR && type == ATTRIBUTE_MODEM_SETUP_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_CONNECTING_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_CONNECT_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_LAST_UPDATE_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_LAST_UPDATE_EVENT) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_RCV_TOT_PWRLVL) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_RCV_PWRLVL_3300HZ) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_RCV_PWRLVL_3750HZ) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PWRLVL_NEARECHO_CANC) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PWRLVL_FARECHO_CANC) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PWRLVL_NOISE_LVL) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PWRLVL_XMIT_LVL) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_X2_STATUS) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PLANNED_DISCONNECT) || (id == VENDOR_USR && type == ATTRIBUTE_INITIAL_MODULATION_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_SYSLOG_TAP) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_CALL_SLOT) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_CALL_SPAN) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_CALL_CHANNEL) || (id == VENDOR_USR && type == ATTRIBUTE_KEYPRESS_TIMEOUT) || (id == VENDOR_USR && type == ATTRIBUTE_UNAUTHENTICATED_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_VPN_ENCRYPTER) || (id == VENDOR_USR && type == ATTRIBUTE_RE_CHAP_TIMEOUT) || (id == VENDOR_USR && type == ATTRIBUTE_CCP_ALGORITHM) || (id == VENDOR_USR && type == ATTRIBUTE_ACCM_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_CONNECT_SPEED) || (id == VENDOR_USR && type == ATTRIBUTE_BEARER_CAPABILITIES) || (id == VENDOR_USR && type == ATTRIBUTE_SPEED_OF_CONNECTION) || (id == VENDOR_USR && type == ATTRIBUTE_MAX_CHANNELS) || (id == VENDOR_USR && type == ATTRIBUTE_CHANNEL_EXPANSION) || (id == VENDOR_USR && type == ATTRIBUTE_CHANNEL_DECREMENT) || (id == VENDOR_USR && type == ATTRIBUTE_EXPANSION_ALGORITHM) || (id == VENDOR_USR && type == ATTRIBUTE_COMPRESSION_ALGORITHM) || (id == VENDOR_USR && type == ATTRIBUTE_RECEIVE_ACC_MAP) || (id == VENDOR_USR && type == ATTRIBUTE_TRANSMIT_ACC_MAP) || (id == VENDOR_USR && type == ATTRIBUTE_COMPRESSION_RESET_MODE) || (id == VENDOR_USR && type == ATTRIBUTE_MIN_COMPRESSION_SIZE) || (id == VENDOR_USR && type == ATTRIBUTE_IP) || (id == VENDOR_USR && type == ATTRIBUTE_IPX) || (id == VENDOR_USR && type == ATTRIBUTE_FILTER_ZONES) || (id == VENDOR_USR && type == ATTRIBUTE_APPLETALK) || (id == VENDOR_USR && type == ATTRIBUTE_BRIDGING) || (id == VENDOR_USR && type == ATTRIBUTE_SPOOFING) || (id == VENDOR_USR && type == ATTRIBUTE_HOST_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_START_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_END_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_APPLETALK_NETWORK_RANGE) || (id == VENDOR_USR && type == ATTRIBUTE_ROUTING_PROTOCOL) || (id == VENDOR_USR && type == ATTRIBUTE_MODEM_GROUP) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_ROUTING) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_WAN) || (id == VENDOR_USR && type == ATTRIBUTE_IP_RIP_POLICIES) || (id == VENDOR_USR && type == ATTRIBUTE_MP_MRRU) || (id == VENDOR_USR && type == ATTRIBUTE_IP_DEFAULT_ROUTE_OPTION) || (id == VENDOR_USR && type == ATTRIBUTE_MODEM_TRAINING_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_INTERFACE_INDEX) || (id == VENDOR_USR && type == ATTRIBUTE_TUNNEL_SECURITY) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP_FORMAT) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP_OUTPUT) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP_FACILITY) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP_PRIORITY) || (id == VENDOR_USR && type == ATTRIBUTE_TUNNELED_MLPP) || (id == VENDOR_USR && type == ATTRIBUTE_MULTICAST_PROXY) || (id == VENDOR_USR && type == ATTRIBUTE_MULTICAST_RECEIVE) || (id == VENDOR_USR && type == ATTRIBUTE_MULTICAST_FORWARDING) || (id == VENDOR_USR && type == ATTRIBUTE_IGMP_QUERY_INTERVAL) || (id == VENDOR_USR && type == ATTRIBUTE_IGMP_MAXIMUM_RESPONSE_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_IGMP_ROBUSTNESS) || (id == VENDOR_USR && type == ATTRIBUTE_IGMP_VERSION) || (id == VENDOR_USR && type == ATTRIBUTE_IGMP_ROUTING) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_ARRIVAL_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_END_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_MULTICAST_ROUTING_TTL) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_MULTICAST_ROUTING_RTLIM) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_MULTICAST_ROUTING_PROTO) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_DVMRP_METRIC) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_LOCATION_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_OSPF_ADDRESSLESS_INDEX) || (id == VENDOR_USR && type == ATTRIBUTE_CALLBACK_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_ACCT_REASON_CODE) || (id == VENDOR_USR && type == ATTRIBUTE_IP_SAA_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_DNIS_REAUTHENTICATION) || (id == VENDOR_USR && type == ATTRIBUTE_SUPPORTS_TAGS) || (id == VENDOR_USR && type == ATTRIBUTE_HARC_DISCONNECT_CODE) || (id == VENDOR_USR && type == ATTRIBUTE_IDS0_CALL_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_CHANNEL_CONNECTED_TO) || (id == VENDOR_USR && type == ATTRIBUTE_SLOT_CONNECTED_TO) || (id == VENDOR_USR && type == ATTRIBUTE_DEVICE_CONNECTED_TO) || (id == VENDOR_USR && type == ATTRIBUTE_NFAS_ID) || (id == VENDOR_USR && type == ATTRIBUTE_Q931_CALL_REFERENCE_VALUE) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_EVENT_CODE) || (id == VENDOR_USR && type == ATTRIBUTE_DS0) || (id == VENDOR_USR && type == ATTRIBUTE_PHYSICAL_STATE) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_REFERENCE_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_TEMP_THRESHOLD) || (id == VENDOR_USR && type == ATTRIBUTE_CARD_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_SECURITY_LOGIN_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_SECURITY_RESP_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_PACKET_BUS_SESSION) || (id == VENDOR_USR && type == ATTRIBUTE_DTE_RING_NO_ANSWER_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_FINAL_RX_LINK_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_INITIAL_RX_LINK_DATA_RATE) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_TEMPERATURE) || (id == VENDOR_USR && type == ATTRIBUTE_ACTUAL_VOLTAGE) || (id == VENDOR_USR && type == ATTRIBUTE_EXPECTED_VOLTAGE) || (id == VENDOR_USR && type == ATTRIBUTE_POWER_SUPPLY_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_CHANNEL) || (id == VENDOR_USR && type == ATTRIBUTE_CHASSIS_SLOT) || (id == VENDOR_USR && type == ATTRIBUTE_EVENT_ID) || (id == VENDOR_USR && type == ATTRIBUTE_NUMBER_OF_RINGS_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_CONNECT_TIME_LIMIT) || (id == VENDOR_USR && type == ATTRIBUTE_REQUEST_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_NAS_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_AUTH_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MAX_SHARED_USERS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CIR_TIMER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_08_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DESTINATION_NAS_PORT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_NAS_PORT_FORMAT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_FAULT_MANAGEMENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_LOOPBACK_CELL_LOSS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CKT_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SVC_ENABLED) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SESSION_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_H323_CONFERENCE_ID) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_H323_DIALED_TIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_INTER_ARRIVAL_JITTER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DROPPED_OCTETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DROPPED_PACKETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_AUTH_DELAY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_X3_PROFILE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_REVERSE_CHARGING) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BI_DIRECTIONAL_AUTH) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MTU) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALL_DIRECTION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SERVICE_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FILTER_REQUIRED) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TRAFFIC_SHAPER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRIVATE_ROUTE_REQUIRED) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CACHE_REFRESH) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CACHE_TIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_EGRESS_ENABLED) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_CONNECT_VPI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_CONNECT_VCI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_CONNECT_GROUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_GROUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPX_HEADER_COMPRESSION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLING_ID_TYPE_OF_NUM) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLING_ID_NUMBER_PLAN) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLING_ID_PRESENTATN) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLING_ID_SCREENING) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BIR_ENABLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BIR_PROXY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BIR_BRIDGE_GROUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PPPOE_ENABLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BRIDGE_NON_PPPOE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_DIRECT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_ASSIGN_WINS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_AUTH_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PORT_REDIR_PROTOCOL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PORT_REDIR_PORTNUM) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_POOL_CHAINING) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_TOS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_TOS_PRECEDENCE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_TOS_APPLY_TO) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_RATE_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_VPI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_VCI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SOURCE_IP_CHECK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_RATE_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_UPSTREAM_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_DOWNSTREAM_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_CIR_RECV_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DSL_CIR_XMIT_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_NUMBERING_PLAN_ID) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_LINK_STATUS_DLCI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLBACK_DELAY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MULTICAST_GLEAVE_DELAY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CBCP_ENABLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CBCP_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CBCP_DELAY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CBCP_TRUNK_GROUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_APPLETALK_PEER_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ROUTE_APPLETALK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MODEM_PORTNO) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MODEM_SLOTNO) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MODEM_SHELFNO) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALL_ATTEMPT_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALL_BLOCK_DURATION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MAXIMUM_CALL_DURATION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TEMPORARY_RTES) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TUNNELING_PROTOCOL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SHARED_PROFILE_ENABLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DIALOUT_ALLOWED) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BACP_ENABLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DHCP_MAXIMUM_LEASES) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_ASSIGN_DNS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_PORT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_BASE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_TIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DHCP_REPLY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DHCP_POOL_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_EXPECT_CALLBACK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_EVENT_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MULTICAST_RATE_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MULTICAST_CLIENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_LINKUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_NAILED_GRP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_LINK_MGT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_N391) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DCE_N392) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DTE_N392) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DCE_N393) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DTE_N393) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_T391) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_T392) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TS_IDLE_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TS_IDLE_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DBA_MONITOR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BASE_CHANNEL_COUNT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MINIMUM_CHANNELS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FT1_CALLER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALL_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DLCI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HOME_AGENT_UDP_PORT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MULTILINK_ID) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_NUM_IN_MULTILINK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRE_INPUT_OCTETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRE_OUTPUT_OCTETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRE_INPUT_PACKETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRE_OUTPUT_PACKETS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MAXIMUM_TIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DISCONNECT_CAUSE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CONNECT_PROGRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DATA_RATE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRESESSION_TIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TOKEN_IDLE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TOKEN_IMMEDIATE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_REQUIRE_AUTH) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TOKEN_EXPIRY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PW_WARNTIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PW_LIFETIME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PPP_VJ_SLOT_COMP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PPP_VJ_1172) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PPP_ASYNC_MAP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPX_PEER_MODE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ASSIGN_IP_POOL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DIRECT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DIRECT_DLCI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HANDLE_IPX) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_NETWARE_TIMEOUT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPX_ALIAS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_METRIC) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRI_NUMBER_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ROUTE_IP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ROUTE_IPX) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BRIDGE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SEND_AUTH) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_LINK_COMPRESSION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TARGET_UTIL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MAXIMUM_CHANNELS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_INC_CHANNEL_COUNT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DEC_CHANNEL_COUNT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SECONDS_OF_HISTORY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HISTORY_WEIGH_TYPE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ADD_SECONDS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_REMOVE_SECONDS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IDLE_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PREEMPT_LIMIT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLBACK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DATA_SVC) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FORCE_56) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALL_BY_CALL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MPP_IDLE_PERCENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_XMIT_RATE) || (id == VENDOR_KARLNET && type == ATTRIBUTE_KARLNET_TURBOCELL_TXRATE) || (id == VENDOR_KARLNET && type == ATTRIBUTE_KARLNET_TURBOCELL_OPSTATE) || (id == VENDOR_KARLNET && type == ATTRIBUTE_KARLNET_TURBOCELL_OPMODE) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_PPP_ECHO_INTERVAL) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_SSH_PRIVILEGES) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_AUTH_SERV_PROT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PROVIDER_ID) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_USERGROUP) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_IP_POOL) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_TUNNEL_PROT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_ACCT_SERV_PROT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_CHANNEL_BINDING) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_START_DELAY) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_ISDN_PROT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PPP_AUTH_TYPE) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_DIALOUT_TYPE) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_MODEM_POOL_ID) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PPP_CLIENT_SERVER_MODE) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_CALLBACK_PORTLIST) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SEC_PROFILE_INDEX) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_TUNNEL_AUTHEN_TYPE) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_TUNNEL_AUTHEN_MODE) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_USER_SERVER_LOCATION) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SYSTEM_DISC_REASON) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_MODEM_DISC_REASON) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_DISCONNECT_REASON) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_ADDR_RESOLUTION_PROTOCOL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_TRANSMIT_SPEED) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RECEIVE_SPEED) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SYSLOG_TAP) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_KEYPRESS_TIMEOUT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_UNAUTHENTICATED_TIME) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RE_CHAP_TIMEOUT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_MRRU) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PPP_TRACE_LEVEL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRE_INPUT_OCTETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRE_OUTPUT_OCTETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRE_INPUT_PACKETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRE_OUTPUT_PACKETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_CONNECT_PROGRESS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_MULTICAST_RATE_LIMIT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_MAXIMUM_CALL_DURATION) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_MULTILINK_ID) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_NUM_IN_MULTILINK) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_LOGICAL_CHANNEL_NUMBER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_WAN_NUMBER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PORT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_POOL_ID) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_TRANSMITTED_PACKETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RETRANSMITTED_PACKETS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SIGNAL_TO_NOISE_RATIO) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RETRAIN_REQUESTS_SENT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RETRAIN_REQUESTS_RCVD) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RATE_RENEG_REQ_SENT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_RATE_RENEG_REQ_RCVD) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_BEGIN_RECEIVE_LINE_LEVEL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_END_RECEIVE_LINE_LEVEL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_USER_LEVEL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_AUDIT_LEVEL) || (id == VENDOR_ALTEON && type == ATTRIBUTE_ALTEON_SERVICE_TYPE) || (id == VENDOR_FOUNDRY && type == ATTRIBUTE_FOUNDRY_PRIVILEGE_LEVEL) || (id == VENDOR_FOUNDRY && type == ATTRIBUTE_FOUNDRY_COMMAND_EXCEPTION_FLAG) || (id == VENDOR_VERSANET && type == ATTRIBUTE_VERSANET_TERMINATION_CAUSE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_DHCP_MAX_LEASES) || (id == VENDOR_REDBACK && type == ATTRIBUTE_RATE_LIMIT_RATE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_RATE_LIMIT_BURST) || (id == VENDOR_REDBACK && type == ATTRIBUTE_POLICE_RATE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_POLICE_BURST) || (id == VENDOR_REDBACK && type == ATTRIBUTE_SOURCE_VALIDATION) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_DOMAIN) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_FUNCTION) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_MAX_SESSIONS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_MAX_TUNNELS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_SESSION_AUTH) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_WINDOW) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_RETRANSMIT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_CMD_TIMEOUT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_GROUP) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_ALGORITHM) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_DEADTIME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_MCAST_SEND) || (id == VENDOR_REDBACK && type == ATTRIBUTE_MCAST_RECEIVE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_MCAST_MAXGROUPS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_DNIS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_MEDIUM_TYPE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_PVC_ENCAPSULATION_TYPE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_PVC_CIRCUIT_PADDING) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_TYPE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_AUTH_PROTOCOL) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_AUTH_MAX_SESSIONS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_DOT1Q_SLOT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_DOT1Q_PORT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_DOT1Q_VLAN_TAG_ID) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_L2TP_FLOW_CONTROL) || (id == VENDOR_REDBACK && type == ATTRIBUTE_IP_TOS_FIELD) || (id == VENDOR_REDBACK && type == ATTRIBUTE_NAS_REAL_PORT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_RATE_LIMIT_RATE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_RATE_LIMIT_BURST) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_POLICE_RATE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_POLICE_BURST) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_MCAST_IN_OCTETS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_MCAST_OUT_OCTETS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_MCAST_IN_PACKETS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_MCAST_OUT_PACKETS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_LAC_PORT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_LAC_REAL_PORT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_LAC_PORT_TYPE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_LAC_REAL_PORT_TYPE) || (id == VENDOR_REDBACK && type == ATTRIBUTE_SESSION_ERROR_CODE) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_VPOP_ID) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_SS7_SESSION_ID_TYPE) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_RADIUS_REDIRECT) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_IPSVC_AZNLVL) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_IPSVC_MASK) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MULTILINK_MATCH_INFO) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MULTILINK_GROUP_NUMBER) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_PPP_LOG_MASK) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_TX_PACKETS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_RETX_PACKETS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_SNR) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_LOCAL_RETRAINS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_REMOTE_RETRAINS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_LOCAL_RATE_NEGS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_REMOTE_RATE_NEGS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_BEGIN_RECV_LINE_LVL) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_END_RECV_LINE_LVL) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_CLIENT_ASSIGN_DNS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MULTICAST_RATE_LIMIT) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MULTICAST_CLIENT) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_DISCONNECT_CAUSE) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_DATA_RATE) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_PRESESSION_TIME) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_ASSIGN_IP_POOL) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MAXIMUM_CHANNELS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_IDLE_LIMIT) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_XMIT_RATE) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_IP_TOS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_IP_TOS_PRECEDENCE) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_IP_TOS_APPLY_TO) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_MCAST_CLIENT) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_REQUIRE_AUTH) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_ASSIGN_IP_POOL) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_SOURCE_IP_CHECK) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_ATM_VPI) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_ATM_VCI) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_INPUT_OCTETS_DIFF) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_OUTPUT_OCTETS_DIFF) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_SIMULTANEOUS_LOGINS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_MIN_PASSWORD_LENGTH_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_ALLOW_ALPHA_ONLY_PASSWORDS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_TUNNELING_PROTOCOLS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_AUTHENTICATION_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_ALLOW_PASSWD_STORE) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_USE_CLIENT_ADDRESS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_PPTP_ENCRYPTION_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_L2TP_ENCRYPTION_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_L2L_KEEPALIVES_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_TUNNEL_TYPE_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_MODE_CONFIG_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_USER_GROUP_LOCK_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_OVER_NAT_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_OVER_NAT_PORT_NUM_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_PPTP_MPPC_COMPRESSION) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_L2TP_MPPC_COMPRESSION) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_IP_COMPRESSION) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_IKE_PEER_ID_CHECK) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IKE_KEEP_ALIVES) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_AUTH_ON_REKEY) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_VENDOR_CODE) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_PRODUCT_CODE) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_REQUIRE_HW_CLIENT_AUTH) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_REQUIRE_INDIVIDUAL_USER_AUTH) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_AUTHD_USER_IDLE_TIMEOUT) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_CISCO_IP_PHONE_BYPASS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_PORT) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_SPLIT_TUNNELING_POLICY) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_REQRD_CLIENT_FW_CAP) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_CLIENT_FW_FILTER_OPT) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_BACKUP_SERVERS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_MS_CLIENT_ICPT_DHCP_CONF_MSG) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_ALLOW_NETWORK_EXTENSION_MODE) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_STRIP_REALM) || (id == VENDOR_SHASTA && type == ATTRIBUTE_SHASTA_USER_PRIVILEGE) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_ADMIN_PRIVILEGE) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_BW_UP) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_BW_DOWN) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_IP_UPSELL) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_MAXBYTESUP) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_MAXBYTESDOWN) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_ENDOFSESSION) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_SERVICE_DOMAIN) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ATM_SERVICE_CATEGORY) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ATM_PCR) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ATM_SCR) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ATM_MBS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_CLI_ALLOW_ALL_VR_ACCESS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_SA_VALIDATE) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_IGMP_ENABLE) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_PPPOE_MAX_SESSIONS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_QOS_PROFILE_INTERFACE_TYPE) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_TUNNEL_NAS_PORT_METHOD) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_TUNNEL_TOS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_TUNNEL_MAXIMUM_SESSIONS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_INPUT_GIGAPKTS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_OUTPUT_GIGAPKTS) || (id == VENDOR_CISCO_BBSM && type == ATTRIBUTE_CBBSM_BANDWIDTH) || (id == VENDOR_3COM && type == ATTRIBUTE_SS3_FIREWALL_USER_PRIVILEGE) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_BANDWIDTH_MIN_UP) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_BANDWIDTH_MIN_DOWN) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_BANDWIDTH_MAX_UP) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_BANDWIDTH_MAX_DOWN) ) { sprintf(buffer, "%d", vsa->intFromBuf()); return string(buffer); } /* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ else if ( (id == VENDOR_USR && type == ATTRIBUTE_CALL_TERMINATE_IN_GMT) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_CONNECT_IN_GMT) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_ARRIVAL_IN_GMT) || (id == VENDOR_USR && type == ATTRIBUTE_EVENT_DATE_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_END_DATE_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_CALL_START_DATE_TIME) || (id == VENDOR_USR && type == ATTRIBUTE_SERVER_TIME) ) { sprintf(buffer, "%d", vsa->intFromBuf()); return string(buffer); } /* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ else if ( (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ACCESS_PARTITION) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CUSTOMER_ID) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_TUNNEL_SECRET) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_SERVICE_PROFILE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_MODEM_MODULATION_TYPE) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_MODEM_ERROR_PROTOCOL) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_CALLBACK_NUM_VALID) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DIALOUT_AUTH_PASSWORD) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DIALOUT_AUTH_USERNAME) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_ACE_TOKEN) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IP_POOL_NAME) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_AVPAIR) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_NAS_PORT) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_REMOTE_ADDRESS) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CONF_ID) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_SETUP_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CALL_ORIGIN) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CALL_TYPE) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CONNECT_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_DISCONNECT_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_DISCONNECT_CAUSE) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_VOICE_QUALITY) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_GW_ID) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_INCOMING_CONF_ID) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CREDIT_AMOUNT) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CREDIT_TIME) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_RETURN_CODE) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_PROMPT_ID) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_TIME_AND_DAY) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_REDIRECT_NUMBER) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_PREFERRED_LANG) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_REDIRECT_IP_ADDRESS) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_BILLING_MODEL) || (id == VENDOR_CISCO && type == ATTRIBUTE_H323_CURRENCY) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_ACCOUNT_INFO) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_SERVICE_INFO) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_COMMAND_CODE) || (id == VENDOR_CISCO && type == ATTRIBUTE_CISCO_CONTROL_INFO) || (id == VENDOR_TELEBIT && type == ATTRIBUTE_TELEBIT_LOGIN_COMMAND) || (id == VENDOR_TELEBIT && type == ATTRIBUTE_TELEBIT_PORT_NAME) || (id == VENDOR_TELEBIT && type == ATTRIBUTE_TELEBIT_ACTIVATE_COMMAND) || (id == VENDOR_TELEBIT && type == ATTRIBUTE_TELEBIT_ACCOUNTING_INFO) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_USER_ATTRIBUTES) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_CALLED_NUMBER) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_CALLING_NUMBER) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_CUSTOMER_ID) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_CLIENT_ASSIGNED_IP) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_CLIENT_REAL_IP) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_VPN_GROUPINFO) || (id == VENDOR_CISCO_VPN5000 && type == ATTRIBUTE_CVPN5000_VPN_PASSWORD) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_BIBOPPPTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_BIBODIALTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPEXTIFTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPROUTETABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPEXTRTTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPNATPRESETTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPXCIRCTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_RIPCIRCTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_SAPCIRCTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPXSTATICROUTETABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPXSTATICSERVTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_OSPFIFTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_PPPEXTIFTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPFILTERTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_IPQOSTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_QOSIFTABLE) || (id == VENDOR_BINTEC && type == ATTRIBUTE_BINTEC_QOSPOLICYTABLE) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_TERMINATE_DETAIL) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_ADVICE_OF_CHARGE) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_CONNECT_DETAIL) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IP_POOL) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_MODEM_INFO) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IPSEC_ACTIVE_PROFILE) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IPSEC_OUTSOURCE_PROFILE) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IPSEC_PASSIVE_PROFILE) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_INMAP) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_OUTMAP) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_OUTSOURCE_INMAP) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_NAT_OUTSOURCE_OUTMAP) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_ADMIN_GROUP) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_RESPONSE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_ERROR) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_CPW_1) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_CPW_2) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_LM_ENC_PW) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_NT_ENC_PW) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_MPPE_ENCRYPTION_POLICY) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_MPPE_ENCRYPTION_TYPE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_DOMAIN) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_CHALLENGE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP_MPPE_KEYS) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_MPPE_SEND_KEY) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_MPPE_RECV_KEY) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_RAS_VERSION) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_OLD_ARAP_PASSWORD) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_NEW_ARAP_PASSWORD) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_FILTER) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP2_RESPONSE) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP2_SUCCESS) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_CHAP2_CPW) || (id == VENDOR_USR && type == ATTRIBUTE_LAST_NUMBER_DIALED_OUT) || (id == VENDOR_USR && type == ATTRIBUTE_LAST_NUMBER_DIALED_IN_DNIS) || (id == VENDOR_USR && type == ATTRIBUTE_LAST_CALLERS_NUMBER_ANI) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_PRODUCT_CODE) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_SERIAL_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_FIRMWARE_VERSION) || (id == VENDOR_USR && type == ATTRIBUTE_RMMIE_FIRMWARE_BUILD_DATE) || (id == VENDOR_USR && type == ATTRIBUTE_CALLING_PARTY_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_CALLED_PARTY_NUMBER) || (id == VENDOR_USR && type == ATTRIBUTE_ESN) || (id == VENDOR_USR && type == ATTRIBUTE_IMSI) || (id == VENDOR_USR && type == ATTRIBUTE_PW_USR_IFILTER_IP) || (id == VENDOR_USR && type == ATTRIBUTE_PW_USR_IFILTER_IPX) || (id == VENDOR_USR && type == ATTRIBUTE_SAP_FILTER_IN) || (id == VENDOR_USR && type == ATTRIBUTE_PW_USR_OFILTER_IP) || (id == VENDOR_USR && type == ATTRIBUTE_PW_USR_OFILTER_IPX) || (id == VENDOR_USR && type == ATTRIBUTE_PW_USR_OFILTER_SAP) || (id == VENDOR_USR && type == ATTRIBUTE_PW_VPN_ID) || (id == VENDOR_USR && type == ATTRIBUTE_PW_VPN_NAME) || (id == VENDOR_USR && type == ATTRIBUTE_PW_VPN_NEIGHBOR) || (id == VENDOR_USR && type == ATTRIBUTE_PW_FRAMED_ROUTING_V2) || (id == VENDOR_USR && type == ATTRIBUTE_PW_VPN_GATEWAY) || (id == VENDOR_USR && type == ATTRIBUTE_PW_TUNNEL_AUTHENTICATION) || (id == VENDOR_USR && type == ATTRIBUTE_PW_INDEX) || (id == VENDOR_USR && type == ATTRIBUTE_PW_CUTOFF) || (id == VENDOR_USR && type == ATTRIBUTE_PW_PACKET) || (id == VENDOR_USR && type == ATTRIBUTE_MIC) || (id == VENDOR_USR && type == ATTRIBUTE_LOG_FILTER_PACKETS) || (id == VENDOR_USR && type == ATTRIBUTE_VPN_GW_LOCATION_ID) || (id == VENDOR_USR && type == ATTRIBUTE_FRAMED_IP_ADDRESS_POOL_NAME) || (id == VENDOR_USR && type == ATTRIBUTE_MP_EDO) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_NAME) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_PASSWORD) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT1) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT1) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT2) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT2) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT3) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT3) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT4) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT4) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT5) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT5) || (id == VENDOR_USR && type == ATTRIBUTE_SEND_SCRIPT6) || (id == VENDOR_USR && type == ATTRIBUTE_REPLY_SCRIPT6) || (id == VENDOR_USR && type == ATTRIBUTE_TERMINAL_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_LOCAL_IP_ADDRESS) || (id == VENDOR_USR && type == ATTRIBUTE_IP_RIP_SIMPLE_AUTH_PASSWORD) || (id == VENDOR_USR && type == ATTRIBUTE_IP_RIP_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IP_CALL_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_RIP_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_CALL_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_RTMP_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_ZIP_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_CALL_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_ET_BRIDGE_INPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IP_RIP_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IP_CALL_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_RIP_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_IPX_CALL_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_RTMP_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_ZIP_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_AT_CALL_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_ET_BRIDGE_OUTPUT_FILTER) || (id == VENDOR_USR && type == ATTRIBUTE_ET_BRIDGE_CALL_OUTPUT_FILTE) || (id == VENDOR_USR && type == ATTRIBUTE_MP_EDO_HIPER) || (id == VENDOR_USR && type == ATTRIBUTE_VTS_SESSION_KEY) || (id == VENDOR_USR && type == ATTRIBUTE_ORIG_NAS_TYPE) || (id == VENDOR_USR && type == ATTRIBUTE_RAD_MULTICAST_ROUTING_BOUND) || (id == VENDOR_USR && type == ATTRIBUTE_CHAT_SCRIPT_NAME) || (id == VENDOR_USR && type == ATTRIBUTE_CHAT_SCRIPT_RULES) || (id == VENDOR_USR && type == ATTRIBUTE_TUNNEL_SWITCH_ENDPOINT) || (id == VENDOR_USR && type == ATTRIBUTE_TUNNEL_AUTH_HOSTNAME) || (id == VENDOR_USR && type == ATTRIBUTE_DS0S) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_UU_INFO) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_SVC_ADDR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_GLOBAL_CALL_ID) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DIALED_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_X3_PARAMETERS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TUNNEL_VROUTER_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_NUI_PROMPT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_NUI_PASSWORD_PROMPT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_CUG) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_ALIAS_1) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_ALIAS_2) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_ALIAS_3) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_X121_ADDRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_NUI) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_RPOA) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_PROMPT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PAD_BANNER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_X25_PROFILE_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_RECV_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ACCESS_INTERCEPT_LEA) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ACCESS_INTERCEPT_LOG) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRIVATE_ROUTE_TABLE_ID) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_QOS_UPSTREAM) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_QOS_DOWNSTREAM) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPSEC_PROFILE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ATM_DIRECT_PROFILE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FILTER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TELNET_PROFILE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_REDIRECT_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_VROUTER_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SOURCE_AUTH) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRIVATE_ROUTE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CALLING_SUBADDRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ENDPOINT_DISC) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_REMOTE_FW) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_APPLETALK_ROUTE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FCP_PARAMETER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PRIMARY_HOME_AGENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SECONDARY_HOME_AGENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_KEY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ASSIGN_IP_GLOBAL_POOL) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SESSION_SVR_KEY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_CIRCUIT_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BRIDGE_ADDRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPX_ROUTE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BACKUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_GROUP) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_PROFILE_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ARA_PW) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IPX_NODE_ADDR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HOME_AGENT_PASSWORD) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HOME_NETWORK_NAME) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_NUMBER_SESSIONS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_AUTHEN_ALIAS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MENU_SELECTOR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_MENU_ITEM) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_THIRD_PROMPT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SEND_SECRET) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_RECEIVE_SECRET) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_POOL_DEFINITION) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FR_DIRECT_PROFILE) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_DIAL_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_SEND_PASSWD) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_BILLING_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_TRANSIT_NUMBER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HOST_INFO) || (id == VENDOR_KARLNET && type == ATTRIBUTE_KARLNET_TURBOCELL_NAME) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_ADDRESS_POOL) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_CLIENT_ACCESS_NETWORK) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_BANNER) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_USERNAME_PROMPT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PASSWORD_PROMPT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_WELCOME_MESSAGE) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PROMPT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_FILTER_RULE) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_NAS_NAME) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_USERS_DEFAULT_ENTRY) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_USERS_DEFAULT_PW) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_AUTH_REQ_TYPE) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_MODEM_INIT_STRING) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_PPP_COMPRESSION_PROT) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_USERNAME) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_DEST_NO) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_DDI) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_FILTER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_CLI_COMMAND) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_CLI_FILTER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_HOST_RESTRICT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_HOST_ALLOW) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRODUCT_NAME) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SW_VERSION) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_AUTHEN_SERVERS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_ACCT_SERVERS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_LOCAL_USERNAME) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_ADDR_RESOLUTION_SERVERS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_DOMAIN_NAME) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_INPUT_FILTER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_OUTPUT_FILTER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_EDO) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_COMPRESSION_PROTOCOL) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_BEGIN_MODULATION) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_ERROR_CORRECTION_PROT) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_END_MODULATION) || (id == VENDOR_EXTREME && type == ATTRIBUTE_EXTREME_NETLOGIN_VLAN) || (id == VENDOR_EXTREME && type == ATTRIBUTE_EXTREME_NETLOGIN_URL) || (id == VENDOR_EXTREME && type == ATTRIBUTE_EXTREME_NETLOGIN_URL_DESC) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_DNS_SERVER) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_WINS_SERVER1) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_WINS_SERVER2) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_HOSTNAME) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_DOMAINNAME) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_SEARCH_LIST) || (id == VENDOR_FOUNDRY && type == ATTRIBUTE_FOUNDRY_COMMAND_STRING) || (id == VENDOR_REDBACK && type == ATTRIBUTE_CONTEXT_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BRIDGE_GROUP) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BG_AGING_TIME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BG_PATH_COST) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BG_SPAN_DIS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BG_TRANS_BPDU) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_LOCAL_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_REMOTE_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_PPPOE_URL) || (id == VENDOR_REDBACK && type == ATTRIBUTE_PPPOE_MOTM) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_IP_ADDRESS_POOL_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_PVC_PROFILE_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_BYPASS_BYPASS) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_AUTH_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_AUTH_SERVICE_GRP) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_BYPASS_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_INT_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_TUN_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_SES_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_INT_INTERFACE_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_L2TP_TUNNEL_NAME) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_SUB_USER_AT_CONTEXT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_BIND_SUB_PASSWORD) || (id == VENDOR_REDBACK && type == ATTRIBUTE_IP_HOST_ADDR) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_SESSION_AUTH_CTX) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_SESSION_AUTH_SERVICE_GRP) || (id == VENDOR_REDBACK && type == ATTRIBUTE_TUNNEL_L2F_SECOND_PASSWORD) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_INPUT_OCTETS_64) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_OUTPUT_OCTETS_64) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_INPUT_PACKETS_64) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_OUTPUT_PACKETS_64) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ACCT_DYN_AC_ENT) || (id == VENDOR_REDBACK && type == ATTRIBUTE_SESSION_ERROR_MSG) || (id == VENDOR_JUNIPER && type == ATTRIBUTE_JUNIPER_LOCAL_USER_NAME) || (id == VENDOR_JUNIPER && type == ATTRIBUTE_JUNIPER_ALLOW_COMMANDS) || (id == VENDOR_JUNIPER && type == ATTRIBUTE_JUNIPER_DENY_COMMANDS) || (id == VENDOR_JUNIPER && type == ATTRIBUTE_JUNIPER_ALLOW_CONFIGURATION) || (id == VENDOR_JUNIPER && type == ATTRIBUTE_JUNIPER_DENY_CONFIGURATION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_IDENTIFICATION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_BEGIN_MODULATION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_END_MODULATION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_ERROR_CORRECTION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_MODEM_DATA_COMPRESSION) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_DATA_FILTER) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_ATM_DIRECT) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_VROUTER_NAME) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_IP_POOL_DEFINITION) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_DATA_FILTER) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_USER_MAC_ADDRESS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_ATM_TRAFFIC_PROFILE) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_ACCESS_HOURS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_SEC_ASSOCIATION) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_BANNER_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_SPLIT_TUNNEL_LIST_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_DEFAULT_DOMAIN_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_IPSEC_SECONDARY_DOMAINS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_BANNER2) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_REQRD_CLIENT_FW_DESCRIPTION) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_NAME) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_USER_AUTH_SERVER_SECRET) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_CLIENT_FW_FILTER_NAME) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_IPSEC_BACKUP_SERVER_LIST) || (id == VENDOR_SHASTA && type == ATTRIBUTE_SHASTA_SERVICE_PROFILE) || (id == VENDOR_SHASTA && type == ATTRIBUTE_SHASTA_VPN_NAME) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_VSYS_NAME) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_USER_GROUP) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_URL_REDIRECTION) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_EXPIRATION) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_SUBNET) || (id == VENDOR_NOMADIX && type == ATTRIBUTE_NOMADIX_LOGOFF_URL) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_ACCT_VC_CONNECTION_ID) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_SERVICE_NAME) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_POLICY_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_VIRTUAL_ROUTER_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ADDRESS_POOL_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_LOCAL_LOOPBACK_INTERFACE) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_TUNNEL_VIRTUAL_ROUTER) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_TUNNEL_PASSWORD) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_INGRESS_POLICY_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_EGRESS_POLICY_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_INGRESS_STATISTICS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_EGRESS_STATISTICS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_CLI_INITIAL_ACCESS_LEVEL) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ALTERNATE_CLI_ACCESS_LEVEL) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_ALTERNATE_CLI_VROUTER_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_PPPOE_DESCRIPTION) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_REDIRECT_VR_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_QOS_PROFILE_NAME) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_PPPOE_URL) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_SERVICE_BUNDLE) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_FRAMED_IP_ROUTE_TAG) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_AVPAIR) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_NAS_PORT) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_REMOTE_ADDRESS) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CONF_ID) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_SETUP_TIME) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CALL_ORIGIN) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CALL_TYPE) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CONNECT_TIME) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_DISCONNECT_TIME) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_DISCONNECT_CAUSE) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_VOICE_QUALITY) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_GW_ID) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_INCOMING_CONF_ID) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CREDIT_AMOUNT) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CREDIT_TIME) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_RETURN_CODE) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_PROMPT_ID) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_TIME_AND_DAY) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_REDIRECT_NUMBER) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_PREFERRED_LANG) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_REDIRECT_IP_ADDRESS) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_BILLING_MODEL) || (id == VENDOR_QUINTUM && type == ATTRIBUTE_QUINTUM_H323_CURRENCY_TYPE) || (id == VENDOR_COLUBRIS && type == ATTRIBUTE_COLUBRIS_AVPAIR) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_LOCATION_ID) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_LOCATION_NAME) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_LOGOFF_URL) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_REDIRECTION_URL) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_SESSION_TERMINATE_TIME) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_SESSION_TERMINATE_END_OF_DAY) || (id == VENDOR_WISPR && type == ATTRIBUTE_WISPR_BILLING_CLASS_OF_SERVICE) ) { return vsa->stringFromBuf(); } /* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ else if ( (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IP_GATEWAY_PRI) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_IP_GATEWAY_SEC) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DNS_SERVER_PRI) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_DNS_SERVER_SEC) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_NBNS_SERVER_PRI) || (id == VENDOR_ACC && type == ATTRIBUTE_ACC_NBNS_SERVER_SEC) || (id == VENDOR_SHIVA && type == ATTRIBUTE_SHIVA_ACCT_SERV_SWITCH) || (id == VENDOR_LIVINGSTON && type == ATTRIBUTE_LE_IP_GATEWAY) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_PRIMARY_DNS_SERVER) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_SECONDARY_DNS_SERVER) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_PRIMARY_NBNS_SERVER) || (id == VENDOR_MICROSOFT && type == ATTRIBUTE_MS_SECONDARY_NBNS_SERVER) || (id == VENDOR_USR && type == ATTRIBUTE_IWF_IP_ADDRESS) || (id == VENDOR_USR && type == ATTRIBUTE_MOBILE_IP_ADDRESS) || (id == VENDOR_USR && type == ATTRIBUTE_PRIMARY_DNS_SERVER) || (id == VENDOR_USR && type == ATTRIBUTE_SECONDARY_DNS_SERVER) || (id == VENDOR_USR && type == ATTRIBUTE_PRIMARY_NBNS_SERVER) || (id == VENDOR_USR && type == ATTRIBUTE_SECONDARY_NBNS_SERVER) || (id == VENDOR_USR && type == ATTRIBUTE_LOCAL_FRAMED_IP_ADDR) || (id == VENDOR_USR && type == ATTRIBUTE_FRAMED_IPX_ROUTE) || (id == VENDOR_USR && type == ATTRIBUTE_MPIP_TUNNEL_ORIGINATOR) || (id == VENDOR_USR && type == ATTRIBUTE_PORT_TAP_ADDRESS) || (id == VENDOR_USR && type == ATTRIBUTE_MOBILEIP_HOME_AGENT_ADDRESS) || (id == VENDOR_USR && type == ATTRIBUTE_GATEWAY_IP_ADDRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_H323_GATEKEEPER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_H323_FEGW_ADDRESS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_PRIMARY_WINS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_SECONDARY_WINS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PORT_REDIR_SERVER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_OWNER_IP_ADDR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_GATEWAY) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_PRIMARY_DNS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_CLIENT_SECONDARY_DNS) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_USER_ACCT_HOST) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ASSIGN_IP_CLIENT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_ASSIGN_IP_SERVER) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IF_NETMASK) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_REMOTE_ADDR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_HOME_AGENT_IP_ADDR) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_FIRST_DEST) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_IP_DIRECT) || (id == VENDOR_ASCEND && type == ATTRIBUTE_ASCEND_PPP_ADDRESS) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_DNS_SERVER) || (id == VENDOR_XEDIA && type == ATTRIBUTE_XEDIA_NETBIOS_SERVER) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_AUTH_SERV_IP) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_TUNNEL_IP) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_ACCT_SERV_IP) || (id == VENDOR_ITK && type == ATTRIBUTE_ITK_FTP_AUTH_IP) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_LOCAL_IP_ADDRESS) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRIMARY_DNS_SERVER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SECONDARY_DNS_SERVER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_PRIMARY_NBNS_SERVER) || (id == VENDOR_BAY_NETWORKS && type == ATTRIBUTE_ANNEX_SECONDARY_NBNS_SERVER) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_IP_ADDR) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_IP_NETMASK) || (id == VENDOR_REDCREEK && type == ATTRIBUTE_REDCREEK_TUNNELED_GATEWAY) || (id == VENDOR_REDBACK && type == ATTRIBUTE_CLIENT_DNS_PRI) || (id == VENDOR_REDBACK && type == ATTRIBUTE_CLIENT_DNS_SEC) || (id == VENDOR_REDBACK && type == ATTRIBUTE_ASSIGNED_IP_ADDRESS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_PRIMARY_DNS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_SECONDARY_DNS) || (id == VENDOR_APTIS && type == ATTRIBUTE_CVX_PPP_ADDRESS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_CLIENT_PRIMARY_DNS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_CLIENT_PRIMARY_WINS_NBNS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_CLIENT_SECONDARY_WINS_NBNS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_CLIENT_SECONDARY_DNS) || (id == VENDOR_ALCATEL && type == ATTRIBUTE_AAT_PPP_ADDRESS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_PRIMARY_DNS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_SECONDARY_DNS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_PRIMARY_WINS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_ALTIGA_SECONDARY_WINS_G) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_SECONDARY_WINS) || (id == VENDOR_ALTIGA && type == ATTRIBUTE_CVPN3000_MS_CLIENT_SUBNET_MASK) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_PRIMARY_DNS) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_SECONDARY_DNS) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_PRIMARY_WINS) || (id == VENDOR_NETSCREEN && type == ATTRIBUTE_NS_SECONDARY_WINS) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_PRIMARY_DNS_SERVER) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_SECONDARY_DNS_SERVER) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_PRIMARY_NBNS_SERVER) || (id == VENDOR_SPRINGTIDE && type == ATTRIBUTE_ST_SECONDARY_NBNS_SERVER) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_PRIMARY_DNS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_PRIMARY_WINS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_SECONDARY_DNS) || (id == VENDOR_ERX && type == ATTRIBUTE_ERX_SECONDARY_WINS) ) { return vsa->ipFromBuf(); } else { cerr << "Vendor Specific Attribute (Id: " << vsa->getId() << " Type: " << vsa->getType() << " not implemented, treated as string."; return vsa->stringFromBuf(); } /* IF-statement was generated from dictionary file of freeradius 1.0.2 with vsahelper.pl */ radiusplugin/RadiusClass/utilities/dictionary000644 001750 001750 00000411700 10650426423 020311 0ustar00000000 000000 VENDOR 3com 8741 VENDOR Acc 5 VENDOR Alcatel 3041 VENDOR Alteon 1872 VENDOR Altiga 3076 VENDOR Aptis 2637 VENDOR Ascend 529 VENDOR Bay-Networks 1584 VENDOR BinTec 272 VENDOR Cabletron 52 VENDOR Cisco 9 VENDOR Cisco-BBSM 5263 VENDOR Cisco-VPN5000 255 VENDOR Colubris 8744 VENDOR ERX 4874 VENDOR Extreme 1916 VENDOR Foundry 1991 VENDOR ITK 1195 VENDOR Juniper 2636 VENDOR KarlNet 762 VENDOR Livingston 307 VENDOR Microsoft 311 VENDOR Netscreen 3224 VENDOR Nomadix 3309 VENDOR Quintum 6618 VENDOR Redback 2352 VENDOR RedCreek 1958 VENDOR Shasta 3199 VENDOR Shiva 166 VENDOR SpringTide 3551 VENDOR Telebit 117 VENDOR USR 429 VENDOR Versanet 2180 VENDOR WISPr 14122 VENDOR Xedia 838 ATTRIBUTE User-Name 1 string ATTRIBUTE Password 2 string ATTRIBUTE Challenge-Response 3 string ATTRIBUTE NAS-Identifier 4 ipaddr ATTRIBUTE NAS-Port 5 integer ATTRIBUTE User-Service 6 integer ATTRIBUTE Framed-Protocol 7 integer ATTRIBUTE Framed-Address 8 ipaddr ATTRIBUTE Framed-Netmask 9 ipaddr ATTRIBUTE Framed-Routing 10 integer ATTRIBUTE Framed-Filter 11 string ATTRIBUTE Framed-MTU 12 integer ATTRIBUTE Framed-Compression 13 integer ATTRIBUTE Login-Host 14 ipaddr ATTRIBUTE Login-Service 15 integer ATTRIBUTE Login-TCP-Port 16 integer ATTRIBUTE Change-Password 17 string ATTRIBUTE Reply-Message 18 string ATTRIBUTE Callback-Number 19 string ATTRIBUTE Callback-Name 20 string ATTRIBUTE Expiration 21 date ATTRIBUTE Framed-Route 22 string ATTRIBUTE Framed-IPX-Network 23 integer ATTRIBUTE State 24 string ATTRIBUTE Class 25 string ATTRIBUTE Vendor-Specific 26 string ATTRIBUTE Session-Timeout 27 integer ATTRIBUTE Idle-Timeout 28 integer ATTRIBUTE Termination-Action 29 integer ATTRIBUTE NAS-Port-DNIS 30 string ATTRIBUTE Caller-Id 31 string ATTRIBUTE NAS-Identifier 32 string ATTRIBUTE Proxy-State 33 string ATTRIBUTE Login-LAT-Service 34 string ATTRIBUTE Login-LAT-Node 35 string ATTRIBUTE Login-LAT-Group 36 string ATTRIBUTE Framed-AppleTalk-Link 37 integer ATTRIBUTE Framed-AppleTalk-Network 38 integer ATTRIBUTE Framed-AppleTalk-Zone 39 string ATTRIBUTE Acct-Status-Type 40 integer ATTRIBUTE Acct-Delay-Time 41 integer ATTRIBUTE Acct-Input-Octets 42 integer ATTRIBUTE Acct-Output-Octets 43 integer ATTRIBUTE Acct-Session-Id 44 string ATTRIBUTE Acct-Authentic 45 integer ATTRIBUTE Acct-Session-Time 46 integer ATTRIBUTE Acct-Input-Packets 47 integer ATTRIBUTE Acct-Output-Packets 48 integer ATTRIBUTE Acct-Terminate-Cause 49 integer ATTRIBUTE Acct-Multi-Session-ID 50 string ATTRIBUTE Acct-Link-Count 51 integer ATTRIBUTE Acct-Input-Gigawords 52 integer ATTRIBUTE Acct-Output-Gigawords 53 integer ATTRIBUTE Event-Time 55 date ATTRIBUTE CHAP-Challenge 60 string ATTRIBUTE NAS-Port-Type 61 integer ATTRIBUTE Port-Limit 62 integer ATTRIBUTE Login-LAT-Port 63 string ATTRIBUTE Tunnel-Type 64 tag_integer ATTRIBUTE Tunnel-Medium-Type 65 tag_integer ATTRIBUTE Tunnel-Client-Endpoint 66 tag_string ATTRIBUTE Tunnel-Server-Endpoirt 67 tag_string ATTRIBUTE Tunnel-Connection 68 string ATTRIBUTE Tunnel-Password 69 tag_string ATTRIBUTE ARAP-Password 70 string ATTRIBUTE ARAP-Features 71 string ATTRIBUTE ARAP-Zone-Access 72 integer ATTRIBUTE ARAP-Security 73 integer ATTRIBUTE ARAP-Security-Data 74 string ATTRIBUTE Password-Retry 75 integer ATTRIBUTE Prompt 76 integer ATTRIBUTE Connect-Info 77 string ATTRIBUTE Configuration-Token 78 string ATTRIBUTE EAP-Message 79 string ATTRIBUTE Signature 80 string ATTRIBUTE Tunnel-Private-Group-ID 81 tag_string ATTRIBUTE Tunnel-Assignment-ID 82 tag_string ATTRIBUTE Tunnel-Preference 83 tag_integer ATTRIBUTE ARAP-Challenge-Response 84 string ATTRIBUTE Acct-Interim-Interval 85 string ATTRIBUTE Acct-Tunnel-Packets-Lost 86 integer ATTRIBUTE NAS-Port-Id 87 string ATTRIBUTE Framed-Pool 88 string ATTRIBUTE Ascend-Filter 90 string ATTRIBUTE Ascend-Telnet-Profile 91 string ATTRIBUTE NAS-IPv6-Address 95 ipaddr6 ATTRIBUTE Login-IPv6-Host 98 ipaddr6 ATTRIBUTE Framed-IPv6-Route 99 string ATTRIBUTE Framed-IPv6-Pool 100 string ATTRIBUTE X-Ascend-FCP-Parameter 119 string ATTRIBUTE Ascend-Modem-PortNo 120 integer ATTRIBUTE Ascend-Modem-SlotNo 121 integer ATTRIBUTE Ascend-Modem-ShelfNo 122 integer ATTRIBUTE X-Ascend-Call-Attempt-Limit 123 integer ATTRIBUTE X-Ascend-Call-Block-Duration 124 integer ATTRIBUTE X-Ascend-Maximum-Call-Duration 125 integer ATTRIBUTE X-Ascend-Temporary-Rtes 126 integer ATTRIBUTE X-Ascend-Tunneling-Protocol 127 integer ATTRIBUTE Ascend-Shared-Profile-Enable 128 integer ATTRIBUTE X-Ascend-Primary-Home-Agent 129 string ATTRIBUTE X-Ascend-Secondary-Home-Agent 130 string ATTRIBUTE X-Ascend-Dialout-Allowed 131 integer ATTRIBUTE X-Ascend-Client-Gateway 132 ipaddr ATTRIBUTE Ascend-BACP-Enable 133 integer ATTRIBUTE X-Ascend-DHCP-Maximum-Leases 134 integer ATTRIBUTE X-Ascend-Client-Primary-DNS 135 ipaddr ATTRIBUTE X-Ascend-Client-Secondary-DNS 136 ipaddr ATTRIBUTE X-Ascend-Client-Assign-DNS 137 integer ATTRIBUTE X-Ascend-User-Acct-Type 138 integer ATTRIBUTE X-Ascend-User-Acct-Host 139 ipaddr ATTRIBUTE X-Ascend-User-Acct-Port 140 integer ATTRIBUTE X-Ascend-User-Acct-Key 141 string ATTRIBUTE X-Ascend-User-Acct-Base 142 integer ATTRIBUTE X-Ascend-User-Acct-Time 143 integer ATTRIBUTE X-Ascend-Assign-IP-Client 144 ipaddr ATTRIBUTE X-Ascend-Assign-IP-Server 145 ipaddr ATTRIBUTE X-Ascend-Assign-IP-Global-Pool 146 string ATTRIBUTE X-Ascend-DHCP-Reply 147 integer ATTRIBUTE X-Ascend-DHCP-Pool-Number 148 integer ATTRIBUTE X-Ascend-Expect-Callback 149 integer ATTRIBUTE X-Ascend-Event-Type 150 integer ATTRIBUTE X-Ascend-Session-Svr-Key 151 string ATTRIBUTE X-Ascend-Multicast-Rate-Limit 152 integer ATTRIBUTE X-Ascend-IF-Netmask 153 ipaddr ATTRIBUTE X-Ascend-Remote-Addr 154 ipaddr ATTRIBUTE X-Ascend-Multicast-Client 155 integer ATTRIBUTE X-Ascend-FR-Circuit-Name 156 string ATTRIBUTE X-Ascend-FR-LinkUp 157 integer ATTRIBUTE X-Ascend-FR-Nailed-Grp 158 integer ATTRIBUTE X-Ascend-FR-Type 159 integer ATTRIBUTE X-Ascend-FR-Link-Mgt 160 integer ATTRIBUTE X-Ascend-FR-N391 161 integer ATTRIBUTE X-Ascend-FR-DCE-N392 162 integer ATTRIBUTE X-Ascend-FR-DTE-N392 163 integer ATTRIBUTE X-Ascend-FR-DCE-N393 164 integer ATTRIBUTE X-Ascend-FR-DTE-N393 165 integer ATTRIBUTE X-Ascend-FR-T391 166 integer ATTRIBUTE X-Ascend-FR-T392 167 integer ATTRIBUTE X-Ascend-Bridge-Address 168 string ATTRIBUTE X-Ascend-TS-Idle-Limit 169 integer ATTRIBUTE X-Ascend-TS-Idle-Mode 170 integer ATTRIBUTE X-Ascend-DBA-Monitor 171 integer ATTRIBUTE Ascend-Base-Channel-Count 172 integer ATTRIBUTE X-Ascend-Minimum-Channels 173 integer ATTRIBUTE X-Ascend-IPX-Route 174 string ATTRIBUTE X-Ascend-FT1-Caller 175 integer ATTRIBUTE Ascend-Backup 176 string ATTRIBUTE X-Ascend-Call-Type 177 integer ATTRIBUTE X-Ascend-Group 178 string ATTRIBUTE X-Ascend-FR-DLCI 179 integer ATTRIBUTE X-Ascend-FR-Profile-Name 180 string ATTRIBUTE X-Ascend-Ara-PW 181 string ATTRIBUTE X-Ascend-IPX-Node-Addr 182 string ATTRIBUTE X-Ascend-Home-Agent-IP-Addr 183 ipaddr ATTRIBUTE X-Ascend-Home-Agent-Password 184 string ATTRIBUTE X-Ascend-Home-Network-Name 185 string ATTRIBUTE X-Ascend-Home-Agent-UDP-Port 186 integer ATTRIBUTE Ascend-Multilink-ID 187 integer ATTRIBUTE Ascend-Num-In-Multilink 188 integer ATTRIBUTE Ascend-First-Dest 189 ipaddr ATTRIBUTE Ascend-Pre-Input-Octets 190 integer ATTRIBUTE Ascend-Pre-Output-Octets 191 integer ATTRIBUTE Ascend-Pre-Input-Packets 192 integer ATTRIBUTE Ascend-Pre-Output-Packets 193 integer ATTRIBUTE Ascend-Maximum-Time 194 integer ATTRIBUTE Ascend-Disconnect-Cause 195 integer ATTRIBUTE Ascend-Connect-Progress 196 integer ATTRIBUTE Ascend-Data-Rate 197 integer ATTRIBUTE Ascend-PreSession-Time 198 integer ATTRIBUTE Ascend-Token-Idle 199 integer ATTRIBUTE Ascend-Token-Immediate 200 integer ATTRIBUTE Ascend-Require-Auth 201 integer ATTRIBUTE Ascend-Number-Sessions 202 string ATTRIBUTE Ascend-Authen-Alias 203 string ATTRIBUTE Ascend-Token-Expiry 204 integer ATTRIBUTE Ascend-Menu-Selector 205 string ATTRIBUTE Ascend-Menu-Item 206 string ATTRIBUTE Ascend-PW-Warntime 207 integer ATTRIBUTE Ascend-PW-Lifetime 208 integer ATTRIBUTE Ascend-IP-Direct 209 ipaddr ATTRIBUTE Ascend-PPP-VJ-Slot-Comp 210 integer ATTRIBUTE Ascend-PPP-VJ-1172 211 integer ATTRIBUTE Ascend-PPP-Async-Map 212 integer ATTRIBUTE Ascend-Third-Prompt 213 string ATTRIBUTE Ascend-Send-Secret 214 string ATTRIBUTE Ascend-Receive-Secret 215 string ATTRIBUTE Ascend-IPX-Peer-Mode 216 integer ATTRIBUTE Ascend-IP-Pool-Definition 217 string ATTRIBUTE Ascend-Assign-IP-Pool 218 integer ATTRIBUTE Ascend-FR-Direct 219 integer ATTRIBUTE Ascend-FR-Direct-Profile 220 string ATTRIBUTE Ascend-FR-Direct-DLCI 221 integer ATTRIBUTE Ascend-Handle-IPX 222 integer ATTRIBUTE Ascend-Netware-timeout 223 integer ATTRIBUTE Ascend-IPX-Alias 224 integer ATTRIBUTE Ascend-Metric 225 integer ATTRIBUTE Ascend-PRI-Number-Type 226 integer ATTRIBUTE Ascend-Dial-Number 227 string ATTRIBUTE Ascend-Route-IP 228 integer ATTRIBUTE Ascend-Route-IPX 229 integer ATTRIBUTE Ascend-Bridge 230 integer ATTRIBUTE Ascend-Send-Auth 231 integer ATTRIBUTE Ascend-Send-Passwd 232 string ATTRIBUTE Ascend-Link-Compression 233 integer ATTRIBUTE Ascend-Target-Util 234 integer ATTRIBUTE Ascend-Maximum-Channels 235 integer ATTRIBUTE Ascend-Inc-Channel-Count 236 integer ATTRIBUTE Ascend-Dec-Channel-Count 237 integer ATTRIBUTE Ascend-Seconds-Of-History 238 integer ATTRIBUTE Ascend-History-Weigh-Type 239 integer ATTRIBUTE Ascend-Add-Seconds 240 integer ATTRIBUTE Ascend-Remove-Seconds 241 integer ATTRIBUTE Ascend-Idle-Limit 244 integer ATTRIBUTE Ascend-Preempt-Limit 245 integer ATTRIBUTE Ascend-Callback 246 integer ATTRIBUTE Ascend-Data-Svc 247 integer ATTRIBUTE Ascend-Force-56 248 integer ATTRIBUTE Ascend-Billing-Number 249 string ATTRIBUTE Ascend-Call-By-Call 250 integer ATTRIBUTE Ascend-Transit-Number 251 string ATTRIBUTE Ascend-Host-Info 252 string ATTRIBUTE Ascend-PPP-Address 253 ipaddr ATTRIBUTE Ascend-MPP-Idle-Percent 254 integer ATTRIBUTE Ascend-Xmit-Rate 255 integer ATTRIBUTE Acc-Reason-Code 1 integer Acc ATTRIBUTE Acc-Ccp-Option 2 integer Acc ATTRIBUTE Acc-Input-Errors 3 integer Acc ATTRIBUTE Acc-Output-Errors 4 integer Acc ATTRIBUTE Acc-Access-Partition 5 string Acc ATTRIBUTE Acc-Customer-Id 6 string Acc ATTRIBUTE Acc-Ip-Gateway-Pri 7 ipaddr Acc ATTRIBUTE Acc-Ip-Gateway-Sec 8 ipaddr Acc ATTRIBUTE Acc-Route-Policy 9 integer Acc ATTRIBUTE Acc-ML-MLX-Admin-State 10 integer Acc ATTRIBUTE Acc-ML-Call-Threshold 11 integer Acc ATTRIBUTE Acc-ML-Clear-Threshold 12 integer Acc ATTRIBUTE Acc-ML-Damping-Factor 13 integer Acc ATTRIBUTE Acc-Tunnel-Secret 14 string Acc ATTRIBUTE Acc-Clearing-Cause 15 integer Acc ATTRIBUTE Acc-Clearing-Location 16 integer Acc ATTRIBUTE Acc-Service-Profile 17 string Acc ATTRIBUTE Acc-Request-Type 18 integer Acc ATTRIBUTE Acc-Bridging-Support 19 integer Acc ATTRIBUTE Acc-Apsm-Oversubscribed 20 integer Acc ATTRIBUTE Acc-Acct-On-Off-Reason 21 integer Acc ATTRIBUTE Acc-Tunnel-Port 22 integer Acc ATTRIBUTE Acc-Dns-Server-Pri 23 ipaddr Acc ATTRIBUTE Acc-Dns-Server-Sec 24 ipaddr Acc ATTRIBUTE Acc-Nbns-Server-Pri 25 ipaddr Acc ATTRIBUTE Acc-Nbns-Server-Sec 26 ipaddr Acc ATTRIBUTE Acc-Dial-Port-Index 27 integer Acc ATTRIBUTE Acc-Ip-Compression 28 integer Acc ATTRIBUTE Acc-Ipx-Compression 29 integer Acc ATTRIBUTE Acc-Connect-Tx-Speed 30 integer Acc ATTRIBUTE Acc-Connect-Rx-Speed 31 integer Acc ATTRIBUTE Acc-Modem-Modulation-Type 32 string Acc ATTRIBUTE Acc-Modem-Error-Protocol 33 string Acc ATTRIBUTE Acc-Callback-Delay 34 integer Acc ATTRIBUTE Acc-Callback-Num-Valid 35 string Acc ATTRIBUTE Acc-Callback-Mode 36 integer Acc ATTRIBUTE Acc-Callback-CBCP-Type 37 integer Acc ATTRIBUTE Acc-Dialout-Auth-Mode 38 integer Acc ATTRIBUTE Acc-Dialout-Auth-Password 39 string Acc ATTRIBUTE Acc-Dialout-Auth-Username 40 string Acc ATTRIBUTE Acc-Access-Community 42 integer Acc ATTRIBUTE Acc-Vpsm-Reject-Cause 43 integer Acc ATTRIBUTE Acc-Ace-Token 44 string Acc ATTRIBUTE Acc-Ace-Token-Ttl 45 integer Acc ATTRIBUTE Acc-Ip-Pool-Name 46 string Acc ATTRIBUTE Acc-Igmp-Admin-State 47 integer Acc ATTRIBUTE Acc-Igmp-Version 48 integer Acc ATTRIBUTE Cisco-AVPair 1 string Cisco ATTRIBUTE Cisco-NAS-Port 2 string Cisco ATTRIBUTE h323-remote-address 23 string Cisco ATTRIBUTE h323-conf-id 24 string Cisco ATTRIBUTE h323-setup-time 25 string Cisco ATTRIBUTE h323-call-origin 26 string Cisco ATTRIBUTE h323-call-type 27 string Cisco ATTRIBUTE h323-connect-time 28 string Cisco ATTRIBUTE h323-disconnect-time 29 string Cisco ATTRIBUTE h323-disconnect-cause 30 string Cisco ATTRIBUTE h323-voice-quality 31 string Cisco ATTRIBUTE h323-gw-id 33 string Cisco ATTRIBUTE h323-incoming-conf-id 35 string Cisco ATTRIBUTE h323-credit-amount 101 string Cisco ATTRIBUTE h323-credit-time 102 string Cisco ATTRIBUTE h323-return-code 103 string Cisco ATTRIBUTE h323-prompt-id 104 string Cisco ATTRIBUTE h323-time-and-day 105 string Cisco ATTRIBUTE h323-redirect-number 106 string Cisco ATTRIBUTE h323-preferred-lang 107 string Cisco ATTRIBUTE h323-redirect-ip-address 108 string Cisco ATTRIBUTE h323-billing-model 109 string Cisco ATTRIBUTE h323-currency 110 string Cisco ATTRIBUTE Cisco-Multilink-ID 187 integer Cisco ATTRIBUTE Cisco-Num-In-Multilink 188 integer Cisco ATTRIBUTE Cisco-Pre-Input-Octets 190 integer Cisco ATTRIBUTE Cisco-Pre-Output-Octets 191 integer Cisco ATTRIBUTE Cisco-Pre-Input-Packets 192 integer Cisco ATTRIBUTE Cisco-Pre-Output-Packets 193 integer Cisco ATTRIBUTE Cisco-Maximum-Time 194 integer Cisco ATTRIBUTE Cisco-Disconnect-Cause 195 integer Cisco ATTRIBUTE Cisco-Data-Rate 197 integer Cisco ATTRIBUTE Cisco-PreSession-Time 198 integer Cisco ATTRIBUTE Cisco-PW-Lifetime 208 integer Cisco ATTRIBUTE Cisco-IP-Direct 209 integer Cisco ATTRIBUTE Cisco-PPP-VJ-Slot-Comp 210 integer Cisco ATTRIBUTE Cisco-PPP-Async-Map 212 integer Cisco ATTRIBUTE Cisco-IP-Pool-Definition 217 integer Cisco ATTRIBUTE Cisco-Assign-IP-Pool 218 integer Cisco ATTRIBUTE Cisco-Route-IP 228 integer Cisco ATTRIBUTE Cisco-Link-Compression 233 integer Cisco ATTRIBUTE Cisco-Target-Util 234 integer Cisco ATTRIBUTE Cisco-Maximum-Channels 235 integer Cisco ATTRIBUTE Cisco-Data-Filter 242 integer Cisco ATTRIBUTE Cisco-Call-Filter 243 integer Cisco ATTRIBUTE Cisco-Idle-Limit 244 integer Cisco ATTRIBUTE Cisco-Account-Info 250 string Cisco ATTRIBUTE Cisco-Service-Info 251 string Cisco ATTRIBUTE Cisco-Command-Code 252 string Cisco ATTRIBUTE Cisco-Control-Info 253 string Cisco ATTRIBUTE Cisco-Xmit-Rate 255 integer Cisco ATTRIBUTE Cabletron-Protocol-Enable 201 integer Cabletron ATTRIBUTE Cabletron-Protocol-Callable 202 integer Cabletron ATTRIBUTE Telebit-Login-Command 1 string Telebit ATTRIBUTE Telebit-Port-Name 2 string Telebit ATTRIBUTE Telebit-Activate-Command 3 string Telebit ATTRIBUTE Telebit-Accounting-Info 4 string Telebit ATTRIBUTE Shiva-User-Attributes 1 string Shiva ATTRIBUTE Shiva-Called-Number 90 string Shiva ATTRIBUTE Shiva-Calling-Number 91 string Shiva ATTRIBUTE Shiva-Customer-Id 92 string Shiva ATTRIBUTE Shiva-Type-Of-Service 93 integer Shiva ATTRIBUTE Shiva-Link-Speed 94 integer Shiva ATTRIBUTE Shiva-Links-In-Bundle 95 integer Shiva ATTRIBUTE Shiva-Compression-Type 96 integer Shiva ATTRIBUTE Shiva-Link-Protocol 97 integer Shiva ATTRIBUTE Shiva-Network-Protocols 98 integer Shiva ATTRIBUTE Shiva-Session-Id 99 integer Shiva ATTRIBUTE Shiva-Disconnect-Reason 100 integer Shiva ATTRIBUTE Shiva-Acct-Serv-Switch 101 ipaddr Shiva ATTRIBUTE Shiva-Event-Flags 102 integer Shiva ATTRIBUTE Shiva-Function 103 integer Shiva ATTRIBUTE Shiva-Connect-Reason 104 integer Shiva ATTRIBUTE CVPN5000-Tunnel-Throughput 1 integer Cisco-VPN5000 ATTRIBUTE CVPN5000-Client-Assigned-IP 2 string Cisco-VPN5000 ATTRIBUTE CVPN5000-Client-Real-IP 3 string Cisco-VPN5000 ATTRIBUTE CVPN5000-VPN-GroupInfo 4 string Cisco-VPN5000 ATTRIBUTE CVPN5000-VPN-Password 5 string Cisco-VPN5000 ATTRIBUTE CVPN5000-Echo 6 integer Cisco-VPN5000 ATTRIBUTE CVPN5000-Client-Assigned-IPX 7 integer Cisco-VPN5000 ATTRIBUTE BinTec-biboPPPTable 224 string BinTec ATTRIBUTE BinTec-biboDialTable 225 string BinTec ATTRIBUTE BinTec-ipExtIfTable 226 string BinTec ATTRIBUTE BinTec-ipRouteTable 227 string BinTec ATTRIBUTE BinTec-ipExtRtTable 228 string BinTec ATTRIBUTE BinTec-ipNatPresetTable 229 string BinTec ATTRIBUTE BinTec-ipxCircTable 230 string BinTec ATTRIBUTE BinTec-ripCircTable 231 string BinTec ATTRIBUTE BinTec-sapCircTable 232 string BinTec ATTRIBUTE BinTec-ipxStaticRouteTable 233 string BinTec ATTRIBUTE BinTec-ipxStaticServTable 234 string BinTec ATTRIBUTE BinTec-ospfIfTable 235 string BinTec ATTRIBUTE BinTec-pppExtIfTable 236 string BinTec ATTRIBUTE BinTec-ipFilterTable 237 string BinTec ATTRIBUTE BinTec-ipQoSTable 238 string BinTec ATTRIBUTE BinTec-qosIfTable 239 string BinTec ATTRIBUTE BinTec-qosPolicyTable 240 string BinTec ATTRIBUTE LE-Terminate-Detail 2 string Livingston ATTRIBUTE LE-Advice-of-Charge 3 string Livingston ATTRIBUTE LE-Connect-Detail 4 string Livingston ATTRIBUTE LE-IP-Pool 6 string Livingston ATTRIBUTE LE-IP-Gateway 7 ipaddr Livingston ATTRIBUTE LE-Modem-Info 8 string Livingston ATTRIBUTE LE-IPSec-Log-Options 9 integer Livingston ATTRIBUTE LE-IPSec-Deny-Action 10 integer Livingston ATTRIBUTE LE-IPSec-Active-Profile 11 string Livingston ATTRIBUTE LE-IPSec-Outsource-Profile 12 string Livingston ATTRIBUTE LE-IPSec-Passive-Profile 13 string Livingston ATTRIBUTE LE-NAT-TCP-Session-Timeout 14 integer Livingston ATTRIBUTE LE-NAT-Other-Session-Timeout 15 integer Livingston ATTRIBUTE LE-NAT-Log-Options 16 integer Livingston ATTRIBUTE LE-NAT-Sess-Dir-Fail-Action 17 integer Livingston ATTRIBUTE LE-NAT-Inmap 18 string Livingston ATTRIBUTE LE-NAT-Outmap 19 string Livingston ATTRIBUTE LE-NAT-Outsource-Inmap 20 string Livingston ATTRIBUTE LE-NAT-Outsource-Outmap 21 string Livingston ATTRIBUTE LE-Admin-Group 22 string Livingston ATTRIBUTE LE-Multicast-Client 23 integer Livingston ATTRIBUTE MS-CHAP-Response 1 string Microsoft ATTRIBUTE MS-CHAP-Error 2 string Microsoft ATTRIBUTE MS-CHAP-CPW-1 3 string Microsoft ATTRIBUTE MS-CHAP-CPW-2 4 string Microsoft ATTRIBUTE MS-CHAP-LM-Enc-PW 5 string Microsoft ATTRIBUTE MS-CHAP-NT-Enc-PW 6 string Microsoft ATTRIBUTE MS-MPPE-Encryption-Policy 7 string Microsoft ATTRIBUTE MS-MPPE-Encryption-Type 8 string Microsoft ATTRIBUTE MS-RAS-Vendor 9 integer Microsoft ATTRIBUTE MS-CHAP-Domain 10 string Microsoft ATTRIBUTE MS-CHAP-Challenge 11 string Microsoft ATTRIBUTE MS-CHAP-MPPE-Keys 12 string Microsoft ATTRIBUTE MS-BAP-Usage 13 integer Microsoft ATTRIBUTE MS-Link-Utilization-Threshold 14 integer Microsoft ATTRIBUTE MS-Link-Drop-Time-Limit 15 integer Microsoft ATTRIBUTE MS-MPPE-Send-Key 16 string Microsoft ATTRIBUTE MS-MPPE-Recv-Key 17 string Microsoft ATTRIBUTE MS-RAS-Version 18 string Microsoft ATTRIBUTE MS-Old-ARAP-Password 19 string Microsoft ATTRIBUTE MS-New-ARAP-Password 20 string Microsoft ATTRIBUTE MS-ARAP-PW-Change-Reason 21 integer Microsoft ATTRIBUTE MS-Filter 22 string Microsoft ATTRIBUTE MS-Acct-Auth-Type 23 integer Microsoft ATTRIBUTE MS-Acct-EAP-Type 24 integer Microsoft ATTRIBUTE MS-CHAP2-Response 25 string Microsoft ATTRIBUTE MS-CHAP2-Success 26 string Microsoft ATTRIBUTE MS-CHAP2-CPW 27 string Microsoft ATTRIBUTE MS-Primary-DNS-Server 28 ipaddr Microsoft ATTRIBUTE MS-Secondary-DNS-Server 29 ipaddr Microsoft ATTRIBUTE MS-Primary-NBNS-Server 30 ipaddr Microsoft ATTRIBUTE MS-Secondary-NBNS-Server 31 ipaddr Microsoft ATTRIBUTE DTE-Data-Idle-Timout 72 integer USR ATTRIBUTE Default-DTE-Data-Rate 94 integer USR ATTRIBUTE Last-Number-Dialed-Out 102 string USR ATTRIBUTE Sync-Async-Mode 103 integer USR ATTRIBUTE Originate-Answer-Mode 104 integer USR ATTRIBUTE Failure-to-Connect-Reason 105 integer USR ATTRIBUTE Initial-Tx-Link-Data-Rate 106 integer USR ATTRIBUTE Final-Tx-Link-Data-Rate 107 integer USR ATTRIBUTE Modulation-Type 108 integer USR ATTRIBUTE Equalization-Type 111 integer USR ATTRIBUTE Fallback-Enabled 112 integer USR ATTRIBUTE Characters-Sent 113 integer USR ATTRIBUTE Characters-Received 114 integer USR ATTRIBUTE Blocks-Sent 117 integer USR ATTRIBUTE Blocks-Received 118 integer USR ATTRIBUTE Blocks-Resent 119 integer USR ATTRIBUTE Retrains-Requested 120 integer USR ATTRIBUTE Retrains-Granted 121 integer USR ATTRIBUTE Line-Reversals 122 integer USR ATTRIBUTE Number-Of-Characters-Lost 123 integer USR ATTRIBUTE Back-Channel-Data-Rate 124 integer USR ATTRIBUTE Number-of-Blers 125 integer USR ATTRIBUTE Number-of-Link-Timeouts 126 integer USR ATTRIBUTE Number-of-Fallbacks 127 integer USR ATTRIBUTE Number-of-Upshifts 128 integer USR ATTRIBUTE Number-of-Link-NAKs 129 integer USR ATTRIBUTE Simplified-MNP-Levels 153 integer USR ATTRIBUTE Connect-Term-Reason 155 integer USR ATTRIBUTE DTR-False-Timeout 190 integer USR ATTRIBUTE Fallback-Limit 191 integer USR ATTRIBUTE Block-Error-Count-Limit 192 integer USR ATTRIBUTE Simplified-V42bis-Usage 199 integer USR ATTRIBUTE DTR-True-Timeout 218 integer USR ATTRIBUTE Last-Number-Dialed-In-DNIS 232 string USR ATTRIBUTE Last-Callers-Number-ANI 233 string USR ATTRIBUTE CDMA-Call-Reference-Number 387 integer USR ATTRIBUTE Mbi_Ct_PRI_Card_Slot 388 integer USR ATTRIBUTE Mbi_Ct_TDM_Time_Slot 389 integer USR ATTRIBUTE Mbi_Ct_PRI_Card_Span_Line 390 integer USR ATTRIBUTE Mbi_Ct_BChannel_Used 391 integer USR ATTRIBUTE RMMIE-Status 461 integer USR ATTRIBUTE RMMIE-Num-Of-Updates 462 integer USR ATTRIBUTE RMMIE-Manufacturer-ID 479 integer USR ATTRIBUTE RMMIE-Product-Code 480 string USR ATTRIBUTE RMMIE-Serial-Number 481 string USR ATTRIBUTE RMMIE-Firmware-Version 482 string USR ATTRIBUTE RMMIE-Firmware-Build-Date 483 string USR ATTRIBUTE IWF-IP-Address 1012 ipaddr USR ATTRIBUTE Mobile-IP-Address 2190 ipaddr USR ATTRIBUTE Calling-Party-Number 2191 string USR ATTRIBUTE Called-Party-Number 2192 string USR ATTRIBUTE Call-Type 2193 integer USR ATTRIBUTE ESN 2194 string USR ATTRIBUTE IWF-Call-Identifier 2195 integer USR ATTRIBUTE IMSI 2196 string USR ATTRIBUTE Service-Option 2197 integer USR ATTRIBUTE Disconnect-Cause-Indicator 2198 integer USR ATTRIBUTE Mobile-NumBytes-Txed 2199 integer USR ATTRIBUTE Mobile-NumBytes-Rxed 2200 integer USR ATTRIBUTE Num-Fax-Pages-Processed 2201 integer USR ATTRIBUTE Compression-Type 2202 integer USR ATTRIBUTE Call-Error-Code 2203 integer USR ATTRIBUTE Modem-Setup-Time 2204 integer USR ATTRIBUTE Call-Connecting-Time 2205 integer USR ATTRIBUTE Connect-Time 2206 integer USR ATTRIBUTE RMMIE-Last-Update-Time 2304 integer USR ATTRIBUTE RMMIE-Last-Update-Event 2305 integer USR ATTRIBUTE RMMIE-Rcv-Tot-PwrLvl 2306 integer USR ATTRIBUTE RMMIE-Rcv-PwrLvl-3300Hz 2307 integer USR ATTRIBUTE RMMIE-Rcv-PwrLvl-3750Hz 2308 integer USR ATTRIBUTE RMMIE-PwrLvl-NearEcho-Canc 2309 integer USR ATTRIBUTE RMMIE-PwrLvl-FarEcho-Canc 2310 integer USR ATTRIBUTE RMMIE-PwrLvl-Noise-Lvl 2311 integer USR ATTRIBUTE RMMIE-PwrLvl-Xmit-Lvl 2312 integer USR ATTRIBUTE RMMIE-x2-Status 2313 integer USR ATTRIBUTE RMMIE-Planned-Disconnect 2314 integer USR ATTRIBUTE Initial-Modulation-Type 2339 integer USR ATTRIBUTE PW_USR_IFilter_IP 36864 string USR ATTRIBUTE PW_USR_IFilter_IPX 36865 string USR ATTRIBUTE SAP-Filter-In 36866 string USR ATTRIBUTE PW_USR_OFilter_IP 36867 string USR ATTRIBUTE PW_USR_OFilter_IPX 36868 string USR ATTRIBUTE PW_USR_OFilter_SAP 36869 string USR ATTRIBUTE PW_VPN_ID 36870 string USR ATTRIBUTE PW_VPN_Name 36871 string USR ATTRIBUTE PW_VPN_Neighbor 36872 string USR ATTRIBUTE PW_Framed_Routing_V2 36873 string USR ATTRIBUTE PW_VPN_Gateway 36874 string USR ATTRIBUTE PW_Tunnel_Authentication 36875 string USR ATTRIBUTE PW_Index 36876 string USR ATTRIBUTE PW_Cutoff 36877 string USR ATTRIBUTE PW_Packet 36878 string USR ATTRIBUTE Primary_DNS_Server 36879 ipaddr USR ATTRIBUTE Secondary_DNS_Server 36880 ipaddr USR ATTRIBUTE Primary_NBNS_Server 36881 ipaddr USR ATTRIBUTE Secondary_NBNS_Server 36882 ipaddr USR ATTRIBUTE Syslog-Tap 36883 integer USR ATTRIBUTE MIC 36884 string USR ATTRIBUTE Log-Filter-Packets 36887 string USR ATTRIBUTE Chassis-Call-Slot 36889 integer USR ATTRIBUTE Chassis-Call-Span 36890 integer USR ATTRIBUTE Chassis-Call-Channel 36891 integer USR ATTRIBUTE Keypress-Timeout 36892 integer USR ATTRIBUTE Unauthenticated-Time 36893 integer USR ATTRIBUTE VPN-Encrypter 36894 integer USR ATTRIBUTE VPN-GW-Location-Id 36895 string USR ATTRIBUTE Re-Chap-Timeout 36896 integer USR ATTRIBUTE CCP-Algorithm 36897 integer USR ATTRIBUTE ACCM-Type 36898 integer USR ATTRIBUTE Connect-Speed 36899 integer USR ATTRIBUTE Framed_IP_Address_Pool_Name 36900 string USR ATTRIBUTE MP-EDO 36901 string USR ATTRIBUTE Local-Framed-IP-Addr 36902 ipaddr USR ATTRIBUTE Framed-IPX-Route 36903 ipaddr USR ATTRIBUTE MPIP-Tunnel-Originator 36904 ipaddr USR ATTRIBUTE Bearer-Capabilities 38912 integer USR ATTRIBUTE Speed-Of-Connection 38913 integer USR ATTRIBUTE Max-Channels 38914 integer USR ATTRIBUTE Channel-Expansion 38915 integer USR ATTRIBUTE Channel-Decrement 38916 integer USR ATTRIBUTE Expansion-Algorithm 38917 integer USR ATTRIBUTE Compression-Algorithm 38918 integer USR ATTRIBUTE Receive-Acc-Map 38919 integer USR ATTRIBUTE Transmit-Acc-Map 38920 integer USR ATTRIBUTE Compression-Reset-Mode 38922 integer USR ATTRIBUTE Min-Compression-Size 38923 integer USR ATTRIBUTE IP 38924 integer USR ATTRIBUTE IPX 38925 integer USR ATTRIBUTE Filter-Zones 38926 integer USR ATTRIBUTE Appletalk 38927 integer USR ATTRIBUTE Bridging 38928 integer USR ATTRIBUTE Spoofing 38929 integer USR ATTRIBUTE Host-Type 38930 integer USR ATTRIBUTE Send-Name 38931 string USR ATTRIBUTE Send-Password 38932 string USR ATTRIBUTE Start-Time 38933 integer USR ATTRIBUTE End-Time 38934 integer USR ATTRIBUTE Send-Script1 38935 string USR ATTRIBUTE Reply-Script1 38936 string USR ATTRIBUTE Send-Script2 38937 string USR ATTRIBUTE Reply-Script2 38938 string USR ATTRIBUTE Send-Script3 38939 string USR ATTRIBUTE Reply-Script3 38940 string USR ATTRIBUTE Send-Script4 38941 string USR ATTRIBUTE Reply-Script4 38942 string USR ATTRIBUTE Send-Script5 38943 string USR ATTRIBUTE Reply-Script5 38944 string USR ATTRIBUTE Send-Script6 38945 string USR ATTRIBUTE Reply-Script6 38946 string USR ATTRIBUTE Terminal-Type 38947 string USR ATTRIBUTE Appletalk-Network-Range 38948 integer USR ATTRIBUTE Local-IP-Address 38949 string USR ATTRIBUTE Routing-Protocol 38950 integer USR ATTRIBUTE Modem-Group 38951 integer USR ATTRIBUTE IPX-Routing 38952 integer USR ATTRIBUTE IPX-WAN 38953 integer USR ATTRIBUTE IP-RIP-Policies 38954 integer USR ATTRIBUTE IP-RIP-Simple-Auth-Password 38955 string USR ATTRIBUTE IP-RIP-Input-Filter 38956 string USR ATTRIBUTE IP-Call-Input-Filter 38957 string USR ATTRIBUTE IPX-RIP-Input-Filter 38958 string USR ATTRIBUTE MP-MRRU 38959 integer USR ATTRIBUTE IPX-Call-Input-Filter 38960 string USR ATTRIBUTE AT-Input-Filter 38961 string USR ATTRIBUTE AT-RTMP-Input-Filter 38962 string USR ATTRIBUTE AT-Zip-Input-Filter 38963 string USR ATTRIBUTE AT-Call-Input-Filter 38964 string USR ATTRIBUTE ET-Bridge-Input-Filter 38965 string USR ATTRIBUTE IP-RIP-Output-Filter 38966 string USR ATTRIBUTE IP-Call-Output-Filter 38967 string USR ATTRIBUTE IPX-RIP-Output-Filter 38968 string USR ATTRIBUTE IPX-Call-Output-Filter 38969 string USR ATTRIBUTE AT-Output-Filter 38970 string USR ATTRIBUTE AT-RTMP-Output-Filter 38971 string USR ATTRIBUTE AT-Zip-Output-Filter 38972 string USR ATTRIBUTE AT-Call-Output-Filter 38973 string USR ATTRIBUTE ET-Bridge-Output-Filter 38974 string USR ATTRIBUTE ET-Bridge-Call-Output-Filte 38975 string USR ATTRIBUTE IP-Default-Route-Option 38976 integer USR ATTRIBUTE MP-EDO-HIPER 38977 string USR ATTRIBUTE Modem-Training-Time 38978 integer USR ATTRIBUTE Interface-Index 38979 integer USR ATTRIBUTE Tunnel-Security 38980 integer USR ATTRIBUTE Port-Tap 38981 integer USR ATTRIBUTE Port-Tap-Format 38982 integer USR ATTRIBUTE Port-Tap-Output 38983 integer USR ATTRIBUTE Port-Tap-Facility 38984 integer USR ATTRIBUTE Port-Tap-Priority 38985 integer USR ATTRIBUTE Port-Tap-Address 38986 ipaddr USR ATTRIBUTE MobileIP-Home-Agent-Address 38987 ipaddr USR ATTRIBUTE Tunneled-MLPP 38988 integer USR ATTRIBUTE Multicast-Proxy 38989 integer USR ATTRIBUTE Multicast-Receive 38990 integer USR ATTRIBUTE Multicast-Forwarding 38992 integer USR ATTRIBUTE IGMP-Query-Interval 38993 integer USR ATTRIBUTE IGMP-Maximum-Response-Time 38994 integer USR ATTRIBUTE IGMP-Robustness 38995 integer USR ATTRIBUTE IGMP-Version 38996 integer USR ATTRIBUTE IGMP-Routing 38997 integer USR ATTRIBUTE VTS-Session-Key 38998 string USR ATTRIBUTE Orig-NAS-Type 38999 string USR ATTRIBUTE Call-Arrival-Time 39000 integer USR ATTRIBUTE Call-End-Time 39001 integer USR ATTRIBUTE Rad-Multicast-Routing-Ttl 39008 integer USR ATTRIBUTE Rad-Multicast-Routing-RtLim 39009 integer USR ATTRIBUTE Rad-Multicast-Routing-Proto 39010 integer USR ATTRIBUTE Rad-Multicast-Routing-Bound 39011 string USR ATTRIBUTE Rad-Dvmrp-Metric 39012 integer USR ATTRIBUTE Chat-Script-Name 39013 string USR ATTRIBUTE Chat-Script-Rules 39014 string USR ATTRIBUTE Rad-Location-Type 39015 integer USR ATTRIBUTE Tunnel-Switch-Endpoint 39016 string USR ATTRIBUTE OSPF-Addressless-Index 39017 integer USR ATTRIBUTE Callback-Type 39018 integer USR ATTRIBUTE Tunnel-Auth-Hostname 39019 string USR ATTRIBUTE Acct-Reason-Code 39020 integer USR ATTRIBUTE IP-SAA-Filter 39024 integer USR ATTRIBUTE DNIS-ReAuthentication 39029 integer USR ATTRIBUTE Supports-Tags 39049 integer USR ATTRIBUTE HARC-Disconnect-Code 39051 integer USR ATTRIBUTE IDS0-Call-Type 48719 integer USR ATTRIBUTE Call-Terminate-in-GMT 48720 date USR ATTRIBUTE Call-Connect-in-GMT 48721 date USR ATTRIBUTE Call-Arrival-in-GMT 48722 date USR ATTRIBUTE Channel-Connected-To 48733 integer USR ATTRIBUTE Slot-Connected-To 48734 integer USR ATTRIBUTE Device-Connected-To 48735 integer USR ATTRIBUTE NFAS-ID 48736 integer USR ATTRIBUTE Q931-Call-Reference-Value 48737 integer USR ATTRIBUTE Call-Event-Code 48738 integer USR ATTRIBUTE DS0 48739 integer USR ATTRIBUTE DS0s 48740 string USR ATTRIBUTE Gateway-IP-Address 48742 ipaddr USR ATTRIBUTE Physical-State 48759 integer USR ATTRIBUTE Call-Reference-Number 48765 integer USR ATTRIBUTE Chassis-Temp-Threshold 48772 integer USR ATTRIBUTE Card-Type 48773 integer USR ATTRIBUTE Security-Login-Limit 48862 integer USR ATTRIBUTE Security-Resp-Limit 48890 integer USR ATTRIBUTE Packet-Bus-Session 48916 integer USR ATTRIBUTE DTE-Ring-No-Answer-Limit 48919 integer USR ATTRIBUTE Final-Rx-Link-Data-Rate 48940 integer USR ATTRIBUTE Initial-Rx-Link-Data-Rate 48941 integer USR ATTRIBUTE Event-Date-Time 48943 date USR ATTRIBUTE Chassis-Temperature 48945 integer USR ATTRIBUTE Actual-Voltage 48946 integer USR ATTRIBUTE Expected-Voltage 48947 integer USR ATTRIBUTE Power-Supply-Number 48948 integer USR ATTRIBUTE Channel 48952 integer USR ATTRIBUTE Chassis-Slot 48953 integer USR ATTRIBUTE Event-Id 49086 integer USR ATTRIBUTE Number-of-Rings-Limit 49126 integer USR ATTRIBUTE Connect-Time-Limit 49127 integer USR ATTRIBUTE Call-End-Date-Time 49142 date USR ATTRIBUTE Call-Start-Date-Time 49143 date USR ATTRIBUTE Server-Time 61440 date USR ATTRIBUTE Request-Type 61441 integer USR ATTRIBUTE NAS-Type 61442 integer USR ATTRIBUTE Auth-Mode 61443 integer USR ATTRIBUTE Ascend-Max-Shared-Users 2 integer Ascend ATTRIBUTE Ascend-UU-Info 7 string Ascend ATTRIBUTE Ascend-CIR-Timer 9 integer Ascend ATTRIBUTE Ascend-FR-08-Mode 10 integer Ascend ATTRIBUTE Ascend-Destination-Nas-Port 11 integer Ascend ATTRIBUTE Ascend-FR-SVC-Addr 12 string Ascend ATTRIBUTE Ascend-NAS-Port-Format 13 integer Ascend ATTRIBUTE Ascend-ATM-Fault-Management 14 integer Ascend ATTRIBUTE Ascend-ATM-Loopback-Cell-Loss 15 integer Ascend ATTRIBUTE Ascend-Ckt-Type 16 integer Ascend ATTRIBUTE Ascend-SVC-Enabled 17 integer Ascend ATTRIBUTE Ascend-Session-Type 18 integer Ascend ATTRIBUTE Ascend-H323-Gatekeeper 19 ipaddr Ascend ATTRIBUTE Ascend-Global-Call-Id 20 string Ascend ATTRIBUTE Ascend-H323-Conference-Id 21 integer Ascend ATTRIBUTE Ascend-H323-Fegw-Address 22 ipaddr Ascend ATTRIBUTE Ascend-H323-Dialed-Time 23 integer Ascend ATTRIBUTE Ascend-Dialed-Number 24 string Ascend ATTRIBUTE Ascend-Inter-Arrival-Jitter 25 integer Ascend ATTRIBUTE Ascend-Dropped-Octets 26 integer Ascend ATTRIBUTE Ascend-Dropped-Packets 27 integer Ascend ATTRIBUTE Ascend-Auth-Delay 28 integer Ascend ATTRIBUTE Ascend-X25-Pad-X3-Profile 29 integer Ascend ATTRIBUTE Ascend-X25-Pad-X3-Parameters 30 string Ascend ATTRIBUTE Ascend-Tunnel-VRouter-Name 31 string Ascend ATTRIBUTE Ascend-X25-Reverse-Charging 32 integer Ascend ATTRIBUTE Ascend-X25-Nui-Prompt 33 string Ascend ATTRIBUTE Ascend-X25-Nui-Password-Prompt 34 string Ascend ATTRIBUTE Ascend-X25-Cug 35 string Ascend ATTRIBUTE Ascend-X25-Pad-Alias-1 36 string Ascend ATTRIBUTE Ascend-X25-Pad-Alias-2 37 string Ascend ATTRIBUTE Ascend-X25-Pad-Alias-3 38 string Ascend ATTRIBUTE Ascend-X25-X121-Address 39 string Ascend ATTRIBUTE Ascend-X25-Nui 40 string Ascend ATTRIBUTE Ascend-X25-Rpoa 41 string Ascend ATTRIBUTE Ascend-X25-Pad-Prompt 42 string Ascend ATTRIBUTE Ascend-X25-Pad-Banner 43 string Ascend ATTRIBUTE Ascend-X25-Profile-Name 44 string Ascend ATTRIBUTE Ascend-Recv-Name 45 string Ascend ATTRIBUTE Ascend-Bi-Directional-Auth 46 integer Ascend ATTRIBUTE Ascend-MTU 47 integer Ascend ATTRIBUTE Ascend-Call-Direction 48 integer Ascend ATTRIBUTE Ascend-Service-Type 49 integer Ascend ATTRIBUTE Ascend-Filter-Required 50 integer Ascend ATTRIBUTE Ascend-Traffic-Shaper 51 integer Ascend ATTRIBUTE Ascend-Access-Intercept-LEA 52 string Ascend ATTRIBUTE Ascend-Access-Intercept-Log 53 string Ascend ATTRIBUTE Ascend-Private-Route-Table-ID 54 string Ascend ATTRIBUTE Ascend-Private-Route-Required 55 integer Ascend ATTRIBUTE Ascend-Cache-Refresh 56 integer Ascend ATTRIBUTE Ascend-Cache-Time 57 integer Ascend ATTRIBUTE Ascend-Egress-Enabled 58 integer Ascend ATTRIBUTE Ascend-QOS-Upstream 59 string Ascend ATTRIBUTE Ascend-QOS-Downstream 60 string Ascend ATTRIBUTE Ascend-ATM-Connect-Vpi 61 integer Ascend ATTRIBUTE Ascend-ATM-Connect-Vci 62 integer Ascend ATTRIBUTE Ascend-ATM-Connect-Group 63 integer Ascend ATTRIBUTE Ascend-ATM-Group 64 integer Ascend ATTRIBUTE Ascend-IPX-Header-Compression 65 integer Ascend ATTRIBUTE Ascend-Calling-Id-Type-Of-Num 66 integer Ascend ATTRIBUTE Ascend-Calling-Id-Number-Plan 67 integer Ascend ATTRIBUTE Ascend-Calling-Id-Presentatn 68 integer Ascend ATTRIBUTE Ascend-Calling-Id-Screening 69 integer Ascend ATTRIBUTE Ascend-BIR-Enable 70 integer Ascend ATTRIBUTE Ascend-BIR-Proxy 71 integer Ascend ATTRIBUTE Ascend-BIR-Bridge-Group 72 integer Ascend ATTRIBUTE Ascend-IPSEC-Profile 73 string Ascend ATTRIBUTE Ascend-PPPoE-Enable 74 integer Ascend ATTRIBUTE Ascend-Bridge-Non-PPPoE 75 integer Ascend ATTRIBUTE Ascend-ATM-Direct 76 integer Ascend ATTRIBUTE Ascend-ATM-Direct-Profile 77 string Ascend ATTRIBUTE Ascend-Client-Primary-WINS 78 ipaddr Ascend ATTRIBUTE Ascend-Client-Secondary-WINS 79 ipaddr Ascend ATTRIBUTE Ascend-Client-Assign-WINS 80 integer Ascend ATTRIBUTE Ascend-Auth-Type 81 integer Ascend ATTRIBUTE Ascend-Port-Redir-Protocol 82 integer Ascend ATTRIBUTE Ascend-Port-Redir-Portnum 83 integer Ascend ATTRIBUTE Ascend-Port-Redir-Server 84 ipaddr Ascend ATTRIBUTE Ascend-IP-Pool-Chaining 85 integer Ascend ATTRIBUTE Ascend-Owner-IP-Addr 86 ipaddr Ascend ATTRIBUTE Ascend-IP-TOS 87 integer Ascend ATTRIBUTE Ascend-IP-TOS-Precedence 88 integer Ascend ATTRIBUTE Ascend-IP-TOS-Apply-To 89 integer Ascend ATTRIBUTE Ascend-Filter 90 string Ascend ATTRIBUTE Ascend-Telnet-Profile 91 string Ascend ATTRIBUTE Ascend-Dsl-Rate-Type 92 integer Ascend ATTRIBUTE Ascend-Redirect-Number 93 string Ascend ATTRIBUTE Ascend-ATM-Vpi 94 integer Ascend ATTRIBUTE Ascend-ATM-Vci 95 integer Ascend ATTRIBUTE Ascend-Source-IP-Check 96 integer Ascend ATTRIBUTE Ascend-Dsl-Rate-Mode 97 integer Ascend ATTRIBUTE Ascend-Dsl-Upstream-Limit 98 integer Ascend ATTRIBUTE Ascend-Dsl-Downstream-Limit 99 integer Ascend ATTRIBUTE Ascend-Dsl-CIR-Recv-Limit 100 integer Ascend ATTRIBUTE Ascend-Dsl-CIR-Xmit-Limit 101 integer Ascend ATTRIBUTE Ascend-VRouter-Name 102 string Ascend ATTRIBUTE Ascend-Source-Auth 103 string Ascend ATTRIBUTE Ascend-Private-Route 104 string Ascend ATTRIBUTE Ascend-Numbering-Plan-ID 105 integer Ascend ATTRIBUTE Ascend-FR-Link-Status-DLCI 106 integer Ascend ATTRIBUTE Ascend-Calling-Subaddress 107 string Ascend ATTRIBUTE Ascend-Callback-Delay 108 integer Ascend ATTRIBUTE Ascend-Endpoint-Disc 109 string Ascend ATTRIBUTE Ascend-Remote-FW 110 string Ascend ATTRIBUTE Ascend-Multicast-GLeave-Delay 111 integer Ascend ATTRIBUTE Ascend-CBCP-Enable 112 integer Ascend ATTRIBUTE Ascend-CBCP-Mode 113 integer Ascend ATTRIBUTE Ascend-CBCP-Delay 114 integer Ascend ATTRIBUTE Ascend-CBCP-Trunk-Group 115 integer Ascend ATTRIBUTE Ascend-Appletalk-Route 116 string Ascend ATTRIBUTE Ascend-Appletalk-Peer-Mode 117 integer Ascend ATTRIBUTE Ascend-Route-Appletalk 118 integer Ascend ATTRIBUTE Ascend-FCP-Parameter 119 string Ascend ATTRIBUTE Ascend-Modem-PortNo 120 integer Ascend ATTRIBUTE Ascend-Modem-SlotNo 121 integer Ascend ATTRIBUTE Ascend-Modem-ShelfNo 122 integer Ascend ATTRIBUTE Ascend-Call-Attempt-Limit 123 integer Ascend ATTRIBUTE Ascend-Call-Block-Duration 124 integer Ascend ATTRIBUTE Ascend-Maximum-Call-Duration 125 integer Ascend ATTRIBUTE Ascend-Temporary-Rtes 126 integer Ascend ATTRIBUTE Ascend-Tunneling-Protocol 127 integer Ascend ATTRIBUTE Ascend-Shared-Profile-Enable 128 integer Ascend ATTRIBUTE Ascend-Primary-Home-Agent 129 string Ascend ATTRIBUTE Ascend-Secondary-Home-Agent 130 string Ascend ATTRIBUTE Ascend-Dialout-Allowed 131 integer Ascend ATTRIBUTE Ascend-Client-Gateway 132 ipaddr Ascend ATTRIBUTE Ascend-BACP-Enable 133 integer Ascend ATTRIBUTE Ascend-DHCP-Maximum-Leases 134 integer Ascend ATTRIBUTE Ascend-Client-Primary-DNS 135 ipaddr Ascend ATTRIBUTE Ascend-Client-Secondary-DNS 136 ipaddr Ascend ATTRIBUTE Ascend-Client-Assign-DNS 137 integer Ascend ATTRIBUTE Ascend-User-Acct-Type 138 integer Ascend ATTRIBUTE Ascend-User-Acct-Host 139 ipaddr Ascend ATTRIBUTE Ascend-User-Acct-Port 140 integer Ascend ATTRIBUTE Ascend-User-Acct-Key 141 string Ascend ATTRIBUTE Ascend-User-Acct-Base 142 integer Ascend ATTRIBUTE Ascend-User-Acct-Time 143 integer Ascend ATTRIBUTE Ascend-Assign-IP-Client 144 ipaddr Ascend ATTRIBUTE Ascend-Assign-IP-Server 145 ipaddr Ascend ATTRIBUTE Ascend-Assign-IP-Global-Pool 146 string Ascend ATTRIBUTE Ascend-DHCP-Reply 147 integer Ascend ATTRIBUTE Ascend-DHCP-Pool-Number 148 integer Ascend ATTRIBUTE Ascend-Expect-Callback 149 integer Ascend ATTRIBUTE Ascend-Event-Type 150 integer Ascend ATTRIBUTE Ascend-Session-Svr-Key 151 string Ascend ATTRIBUTE Ascend-Multicast-Rate-Limit 152 integer Ascend ATTRIBUTE Ascend-IF-Netmask 153 ipaddr Ascend ATTRIBUTE Ascend-Remote-Addr 154 ipaddr Ascend ATTRIBUTE Ascend-Multicast-Client 155 integer Ascend ATTRIBUTE Ascend-FR-Circuit-Name 156 string Ascend ATTRIBUTE Ascend-FR-LinkUp 157 integer Ascend ATTRIBUTE Ascend-FR-Nailed-Grp 158 integer Ascend ATTRIBUTE Ascend-FR-Type 159 integer Ascend ATTRIBUTE Ascend-FR-Link-Mgt 160 integer Ascend ATTRIBUTE Ascend-FR-N391 161 integer Ascend ATTRIBUTE Ascend-FR-DCE-N392 162 integer Ascend ATTRIBUTE Ascend-FR-DTE-N392 163 integer Ascend ATTRIBUTE Ascend-FR-DCE-N393 164 integer Ascend ATTRIBUTE Ascend-FR-DTE-N393 165 integer Ascend ATTRIBUTE Ascend-FR-T391 166 integer Ascend ATTRIBUTE Ascend-FR-T392 167 integer Ascend ATTRIBUTE Ascend-Bridge-Address 168 string Ascend ATTRIBUTE Ascend-TS-Idle-Limit 169 integer Ascend ATTRIBUTE Ascend-TS-Idle-Mode 170 integer Ascend ATTRIBUTE Ascend-DBA-Monitor 171 integer Ascend ATTRIBUTE Ascend-Base-Channel-Count 172 integer Ascend ATTRIBUTE Ascend-Minimum-Channels 173 integer Ascend ATTRIBUTE Ascend-IPX-Route 174 string Ascend ATTRIBUTE Ascend-FT1-Caller 175 integer Ascend ATTRIBUTE Ascend-Backup 176 string Ascend ATTRIBUTE Ascend-Call-Type 177 integer Ascend ATTRIBUTE Ascend-Group 178 string Ascend ATTRIBUTE Ascend-FR-DLCI 179 integer Ascend ATTRIBUTE Ascend-FR-Profile-Name 180 string Ascend ATTRIBUTE Ascend-Ara-PW 181 string Ascend ATTRIBUTE Ascend-IPX-Node-Addr 182 string Ascend ATTRIBUTE Ascend-Home-Agent-IP-Addr 183 ipaddr Ascend ATTRIBUTE Ascend-Home-Agent-Password 184 string Ascend ATTRIBUTE Ascend-Home-Network-Name 185 string Ascend ATTRIBUTE Ascend-Home-Agent-UDP-Port 186 integer Ascend ATTRIBUTE Ascend-Multilink-ID 187 integer Ascend ATTRIBUTE Ascend-Num-In-Multilink 188 integer Ascend ATTRIBUTE Ascend-First-Dest 189 ipaddr Ascend ATTRIBUTE Ascend-Pre-Input-Octets 190 integer Ascend ATTRIBUTE Ascend-Pre-Output-Octets 191 integer Ascend ATTRIBUTE Ascend-Pre-Input-Packets 192 integer Ascend ATTRIBUTE Ascend-Pre-Output-Packets 193 integer Ascend ATTRIBUTE Ascend-Maximum-Time 194 integer Ascend ATTRIBUTE Ascend-Disconnect-Cause 195 integer Ascend ATTRIBUTE Ascend-Connect-Progress 196 integer Ascend ATTRIBUTE Ascend-Data-Rate 197 integer Ascend ATTRIBUTE Ascend-PreSession-Time 198 integer Ascend ATTRIBUTE Ascend-Token-Idle 199 integer Ascend ATTRIBUTE Ascend-Token-Immediate 200 integer Ascend ATTRIBUTE Ascend-Require-Auth 201 integer Ascend ATTRIBUTE Ascend-Number-Sessions 202 string Ascend ATTRIBUTE Ascend-Authen-Alias 203 string Ascend ATTRIBUTE Ascend-Token-Expiry 204 integer Ascend ATTRIBUTE Ascend-Menu-Selector 205 string Ascend ATTRIBUTE Ascend-Menu-Item 206 string Ascend ATTRIBUTE Ascend-PW-Warntime 207 integer Ascend ATTRIBUTE Ascend-PW-Lifetime 208 integer Ascend ATTRIBUTE Ascend-IP-Direct 209 ipaddr Ascend ATTRIBUTE Ascend-PPP-VJ-Slot-Comp 210 integer Ascend ATTRIBUTE Ascend-PPP-VJ-1172 211 integer Ascend ATTRIBUTE Ascend-PPP-Async-Map 212 integer Ascend ATTRIBUTE Ascend-Third-Prompt 213 string Ascend ATTRIBUTE Ascend-Send-Secret 214 string Ascend ATTRIBUTE Ascend-Receive-Secret 215 string Ascend ATTRIBUTE Ascend-IPX-Peer-Mode 216 integer Ascend ATTRIBUTE Ascend-IP-Pool-Definition 217 string Ascend ATTRIBUTE Ascend-Assign-IP-Pool 218 integer Ascend ATTRIBUTE Ascend-FR-Direct 219 integer Ascend ATTRIBUTE Ascend-FR-Direct-Profile 220 string Ascend ATTRIBUTE Ascend-FR-Direct-DLCI 221 integer Ascend ATTRIBUTE Ascend-Handle-IPX 222 integer Ascend ATTRIBUTE Ascend-Netware-timeout 223 integer Ascend ATTRIBUTE Ascend-IPX-Alias 224 integer Ascend ATTRIBUTE Ascend-Metric 225 integer Ascend ATTRIBUTE Ascend-PRI-Number-Type 226 integer Ascend ATTRIBUTE Ascend-Dial-Number 227 string Ascend ATTRIBUTE Ascend-Route-IP 228 integer Ascend ATTRIBUTE Ascend-Route-IPX 229 integer Ascend ATTRIBUTE Ascend-Bridge 230 integer Ascend ATTRIBUTE Ascend-Send-Auth 231 integer Ascend ATTRIBUTE Ascend-Send-Passwd 232 string Ascend ATTRIBUTE Ascend-Link-Compression 233 integer Ascend ATTRIBUTE Ascend-Target-Util 234 integer Ascend ATTRIBUTE Ascend-Maximum-Channels 235 integer Ascend ATTRIBUTE Ascend-Inc-Channel-Count 236 integer Ascend ATTRIBUTE Ascend-Dec-Channel-Count 237 integer Ascend ATTRIBUTE Ascend-Seconds-Of-History 238 integer Ascend ATTRIBUTE Ascend-History-Weigh-Type 239 integer Ascend ATTRIBUTE Ascend-Add-Seconds 240 integer Ascend ATTRIBUTE Ascend-Remove-Seconds 241 integer Ascend ATTRIBUTE Ascend-Idle-Limit 244 integer Ascend ATTRIBUTE Ascend-Preempt-Limit 245 integer Ascend ATTRIBUTE Ascend-Callback 246 integer Ascend ATTRIBUTE Ascend-Data-Svc 247 integer Ascend ATTRIBUTE Ascend-Force-56 248 integer Ascend ATTRIBUTE Ascend-Billing-Number 249 string Ascend ATTRIBUTE Ascend-Call-By-Call 250 integer Ascend ATTRIBUTE Ascend-Transit-Number 251 string Ascend ATTRIBUTE Ascend-Host-Info 252 string Ascend ATTRIBUTE Ascend-PPP-Address 253 ipaddr Ascend ATTRIBUTE Ascend-MPP-Idle-Percent 254 integer Ascend ATTRIBUTE Ascend-Xmit-Rate 255 integer Ascend ATTRIBUTE KarlNet-TurboCell-Name 151 string KarlNet ATTRIBUTE KarlNet-TurboCell-TxRate 152 integer KarlNet ATTRIBUTE KarlNet-TurboCell-OpState 153 integer KarlNet ATTRIBUTE KarlNet-TurboCell-OpMode 154 integer KarlNet ATTRIBUTE Xedia-DNS-Server 1 ipaddr Xedia ATTRIBUTE Xedia-NetBios-Server 2 ipaddr Xedia ATTRIBUTE Xedia-Address-Pool 3 string Xedia ATTRIBUTE Xedia-PPP-Echo-Interval 4 integer Xedia ATTRIBUTE Xedia-SSH-Privileges 5 integer Xedia ATTRIBUTE Xedia-Client-Access-Network 6 string Xedia ATTRIBUTE ITK-Auth-Serv-IP 100 ipaddr ITK ATTRIBUTE ITK-Auth-Serv-Prot 101 integer ITK ATTRIBUTE ITK-Provider-Id 102 integer ITK ATTRIBUTE ITK-Usergroup 103 integer ITK ATTRIBUTE ITK-Banner 104 string ITK ATTRIBUTE ITK-Username-Prompt 105 string ITK ATTRIBUTE ITK-Password-Prompt 106 string ITK ATTRIBUTE ITK-Welcome-Message 107 string ITK ATTRIBUTE ITK-Prompt 108 string ITK ATTRIBUTE ITK-IP-Pool 109 integer ITK ATTRIBUTE ITK-Tunnel-IP 110 ipaddr ITK ATTRIBUTE ITK-Tunnel-Prot 111 integer ITK ATTRIBUTE ITK-Acct-Serv-IP 112 ipaddr ITK ATTRIBUTE ITK-Acct-Serv-Prot 113 integer ITK ATTRIBUTE ITK-Filter-Rule 114 string ITK ATTRIBUTE ITK-Channel-Binding 115 integer ITK ATTRIBUTE ITK-Start-Delay 116 integer ITK ATTRIBUTE ITK-NAS-Name 117 string ITK ATTRIBUTE ITK-ISDN-Prot 118 integer ITK ATTRIBUTE ITK-PPP-Auth-Type 119 integer ITK ATTRIBUTE ITK-Dialout-Type 120 integer ITK ATTRIBUTE ITK-Ftp-Auth-IP 121 ipaddr ITK ATTRIBUTE ITK-Users-Default-Entry 122 string ITK ATTRIBUTE ITK-Users-Default-Pw 123 string ITK ATTRIBUTE ITK-Auth-Req-Type 124 string ITK ATTRIBUTE ITK-Modem-Pool-Id 125 integer ITK ATTRIBUTE ITK-Modem-Init-String 126 string ITK ATTRIBUTE ITK-PPP-Client-Server-Mode 127 integer ITK ATTRIBUTE ITK-PPP-Compression-Prot 128 string ITK ATTRIBUTE ITK-Username 129 string ITK ATTRIBUTE ITK-Dest-No 130 string ITK ATTRIBUTE ITK-DDI 131 string ITK ATTRIBUTE Annex-Filter 28 string Bay-Networks ATTRIBUTE Annex-CLI-Command 29 string Bay-Networks ATTRIBUTE Annex-CLI-Filter 30 string Bay-Networks ATTRIBUTE Annex-Host-Restrict 31 string Bay-Networks ATTRIBUTE Annex-Host-Allow 32 string Bay-Networks ATTRIBUTE Annex-Product-Name 33 string Bay-Networks ATTRIBUTE Annex-SW-Version 34 string Bay-Networks ATTRIBUTE Annex-Local-IP-Address 35 ipaddr Bay-Networks ATTRIBUTE Annex-Callback-Portlist 36 integer Bay-Networks ATTRIBUTE Annex-Sec-Profile-Index 37 integer Bay-Networks ATTRIBUTE Annex-Tunnel-Authen-Type 38 integer Bay-Networks ATTRIBUTE Annex-Tunnel-Authen-Mode 39 integer Bay-Networks ATTRIBUTE Annex-Authen-Servers 40 string Bay-Networks ATTRIBUTE Annex-Acct-Servers 41 string Bay-Networks ATTRIBUTE Annex-User-Server-Location 42 integer Bay-Networks ATTRIBUTE Annex-Local-Username 43 string Bay-Networks ATTRIBUTE Annex-System-Disc-Reason 44 integer Bay-Networks ATTRIBUTE Annex-Modem-Disc-Reason 45 integer Bay-Networks ATTRIBUTE Annex-Disconnect-Reason 46 integer Bay-Networks ATTRIBUTE Annex-Addr-Resolution-Protocol 47 integer Bay-Networks ATTRIBUTE Annex-Addr-Resolution-Servers 48 string Bay-Networks ATTRIBUTE Annex-Domain-Name 49 string Bay-Networks ATTRIBUTE Annex-Transmit-Speed 50 integer Bay-Networks ATTRIBUTE Annex-Receive-Speed 51 integer Bay-Networks ATTRIBUTE Annex-Input-Filter 52 string Bay-Networks ATTRIBUTE Annex-Output-Filter 53 string Bay-Networks ATTRIBUTE Annex-Primary-DNS-Server 54 ipaddr Bay-Networks ATTRIBUTE Annex-Secondary-DNS-Server 55 ipaddr Bay-Networks ATTRIBUTE Annex-Primary-NBNS-Server 56 ipaddr Bay-Networks ATTRIBUTE Annex-Secondary-NBNS-Server 57 ipaddr Bay-Networks ATTRIBUTE Annex-Syslog-Tap 58 integer Bay-Networks ATTRIBUTE Annex-Keypress-Timeout 59 integer Bay-Networks ATTRIBUTE Annex-Unauthenticated-Time 60 integer Bay-Networks ATTRIBUTE Annex-Re-CHAP-Timeout 61 integer Bay-Networks ATTRIBUTE Annex-MRRU 62 integer Bay-Networks ATTRIBUTE Annex-EDO 63 string Bay-Networks ATTRIBUTE Annex-PPP-Trace-Level 64 integer Bay-Networks ATTRIBUTE Annex-Pre-Input-Octets 65 integer Bay-Networks ATTRIBUTE Annex-Pre-Output-Octets 66 integer Bay-Networks ATTRIBUTE Annex-Pre-Input-Packets 67 integer Bay-Networks ATTRIBUTE Annex-Pre-Output-Packets 68 integer Bay-Networks ATTRIBUTE Annex-Connect-Progress 69 integer Bay-Networks ATTRIBUTE Annex-Multicast-Rate-Limit 73 integer Bay-Networks ATTRIBUTE Annex-Maximum-Call-Duration 74 integer Bay-Networks ATTRIBUTE Annex-Multilink-Id 75 integer Bay-Networks ATTRIBUTE Annex-Num-In-Multilink 76 integer Bay-Networks ATTRIBUTE Annex-Logical-Channel-Number 81 integer Bay-Networks ATTRIBUTE Annex-Wan-Number 82 integer Bay-Networks ATTRIBUTE Annex-Port 83 integer Bay-Networks ATTRIBUTE Annex-Pool-Id 85 integer Bay-Networks ATTRIBUTE Annex-Compression-Protocol 86 string Bay-Networks ATTRIBUTE Annex-Transmitted-Packets 87 integer Bay-Networks ATTRIBUTE Annex-Retransmitted-Packets 88 integer Bay-Networks ATTRIBUTE Annex-Signal-to-Noise-Ratio 89 integer Bay-Networks ATTRIBUTE Annex-Retrain-Requests-Sent 90 integer Bay-Networks ATTRIBUTE Annex-Retrain-Requests-Rcvd 91 integer Bay-Networks ATTRIBUTE Annex-Rate-Reneg-Req-Sent 92 integer Bay-Networks ATTRIBUTE Annex-Rate-Reneg-Req-Rcvd 93 integer Bay-Networks ATTRIBUTE Annex-Begin-Receive-Line-Level 94 integer Bay-Networks ATTRIBUTE Annex-End-Receive-Line-Level 95 integer Bay-Networks ATTRIBUTE Annex-Begin-Modulation 96 string Bay-Networks ATTRIBUTE Annex-Error-Correction-Prot 97 string Bay-Networks ATTRIBUTE Annex-End-Modulation 98 string Bay-Networks ATTRIBUTE Annex-User-Level 100 integer Bay-Networks ATTRIBUTE Annex-Audit-Level 101 integer Bay-Networks ATTRIBUTE Alteon-Service-Type 26 integer Alteon ATTRIBUTE Extreme-Netlogin-Vlan 203 string Extreme ATTRIBUTE Extreme-Netlogin-Url 204 string Extreme ATTRIBUTE Extreme-Netlogin-Url-Desc 205 string Extreme ATTRIBUTE RedCreek-Tunneled-IP-Addr 5 ipaddr RedCreek ATTRIBUTE RedCreek-Tunneled-IP-Netmask 6 ipaddr RedCreek ATTRIBUTE RedCreek-Tunneled-Gateway 7 ipaddr RedCreek ATTRIBUTE RedCreek-Tunneled-DNS-Server 8 string RedCreek ATTRIBUTE RedCreek-Tunneled-WINS-Server1 9 string RedCreek ATTRIBUTE RedCreek-Tunneled-WINS-Server2 10 string RedCreek ATTRIBUTE RedCreek-Tunneled-HostName 11 string RedCreek ATTRIBUTE RedCreek-Tunneled-DomainName 12 string RedCreek ATTRIBUTE RedCreek-Tunneled-Search-List 13 string RedCreek ATTRIBUTE Foundry-Privilege-Level 1 integer Foundry ATTRIBUTE Foundry-Command-String 2 string Foundry ATTRIBUTE Foundry-Command-Exception-Flag 3 integer Foundry ATTRIBUTE Versanet-Termination-Cause 1 integer Versanet ATTRIBUTE Client-DNS-Pri 1 ipaddr Redback ATTRIBUTE Client-DNS-Sec 2 ipaddr Redback ATTRIBUTE DHCP-Max-Leases 3 integer Redback ATTRIBUTE Context-Name 4 string Redback ATTRIBUTE Bridge-Group 5 string Redback ATTRIBUTE BG-Aging-Time 6 string Redback ATTRIBUTE BG-Path-Cost 7 string Redback ATTRIBUTE BG-Span-Dis 8 string Redback ATTRIBUTE BG-Trans-BPDU 9 string Redback ATTRIBUTE Rate-Limit-Rate 10 integer Redback ATTRIBUTE Rate-Limit-Burst 11 integer Redback ATTRIBUTE Police-Rate 12 integer Redback ATTRIBUTE Police-Burst 13 integer Redback ATTRIBUTE Source-Validation 14 integer Redback ATTRIBUTE Tunnel-Domain 15 integer Redback ATTRIBUTE Tunnel-Local-Name 16 string Redback ATTRIBUTE Tunnel-Remote-Name 17 string Redback ATTRIBUTE Tunnel-Function 18 integer Redback ATTRIBUTE Tunnel-Max-Sessions 21 integer Redback ATTRIBUTE Tunnel-Max-Tunnels 22 integer Redback ATTRIBUTE Tunnel-Session-Auth 23 integer Redback ATTRIBUTE Tunnel-Window 24 integer Redback ATTRIBUTE Tunnel-Retransmit 25 integer Redback ATTRIBUTE Tunnel-Cmd-Timeout 26 integer Redback ATTRIBUTE PPPOE-URL 27 string Redback ATTRIBUTE PPPOE-MOTM 28 string Redback ATTRIBUTE Tunnel-Group 29 integer Redback ATTRIBUTE Tunnel-Context 30 string Redback ATTRIBUTE Tunnel-Algorithm 31 integer Redback ATTRIBUTE Tunnel-Deadtime 32 integer Redback ATTRIBUTE Mcast-Send 33 integer Redback ATTRIBUTE Mcast-Receive 34 integer Redback ATTRIBUTE Mcast-MaxGroups 35 integer Redback ATTRIBUTE Ip-Address-Pool-Name 36 string Redback ATTRIBUTE Tunnel-DNIS 37 integer Redback ATTRIBUTE Medium-Type 38 integer Redback ATTRIBUTE PVC-Encapsulation-Type 39 integer Redback ATTRIBUTE PVC-Profile-Name 40 string Redback ATTRIBUTE PVC-Circuit-Padding 41 integer Redback ATTRIBUTE Bind-Type 42 integer Redback ATTRIBUTE Bind-Auth-Protocol 43 integer Redback ATTRIBUTE Bind-Auth-Max-Sessions 44 integer Redback ATTRIBUTE Bind-Bypass-Bypass 45 string Redback ATTRIBUTE Bind-Auth-Context 46 string Redback ATTRIBUTE Bind-Auth-Service-Grp 47 string Redback ATTRIBUTE Bind-Bypass-Context 48 string Redback ATTRIBUTE Bind-Int-Context 49 string Redback ATTRIBUTE Bind-Tun-Context 50 string Redback ATTRIBUTE Bind-Ses-Context 51 string Redback ATTRIBUTE Bind-Dot1q-Slot 52 integer Redback ATTRIBUTE Bind-Dot1q-Port 53 integer Redback ATTRIBUTE Bind-Dot1q-Vlan-Tag-Id 54 integer Redback ATTRIBUTE Bind-Int-Interface-Name 55 string Redback ATTRIBUTE Bind-L2TP-Tunnel-Name 56 string Redback ATTRIBUTE Bind-L2TP-Flow-Control 57 integer Redback ATTRIBUTE Bind-Sub-User-At-Context 58 string Redback ATTRIBUTE Bind-Sub-Password 59 string Redback ATTRIBUTE Ip-Host-Addr 60 string Redback ATTRIBUTE IP-TOS-Field 61 integer Redback ATTRIBUTE NAS-Real-Port 62 integer Redback ATTRIBUTE Tunnel-Session-Auth-Ctx 63 string Redback ATTRIBUTE Tunnel-Session-Auth-Service-Grp 64 string Redback ATTRIBUTE Tunnel-Rate-Limit-Rate 65 integer Redback ATTRIBUTE Tunnel-Rate-Limit-Burst 66 integer Redback ATTRIBUTE Tunnel-Police-Rate 67 integer Redback ATTRIBUTE Tunnel-Police-Burst 68 integer Redback ATTRIBUTE Tunnel-L2F-Second-Password 69 string Redback ATTRIBUTE Acct-Input-Octets-64 128 string Redback ATTRIBUTE Acct-Output-Octets-64 129 string Redback ATTRIBUTE Acct-Input-Packets-64 130 string Redback ATTRIBUTE Acct-Output-Packets-64 131 string Redback ATTRIBUTE Assigned-IP-Address 132 ipaddr Redback ATTRIBUTE Acct-Mcast-In-Octets 133 integer Redback ATTRIBUTE Acct-Mcast-Out-Octets 134 integer Redback ATTRIBUTE Acct-Mcast-In-Packets 135 integer Redback ATTRIBUTE Acct-Mcast-Out-Packets 136 integer Redback ATTRIBUTE LAC-Port 137 integer Redback ATTRIBUTE LAC-Real-Port 138 integer Redback ATTRIBUTE LAC-Port-Type 139 integer Redback ATTRIBUTE LAC-Real-Port-Type 140 integer Redback ATTRIBUTE Acct-Dyn-Ac-Ent 141 string Redback ATTRIBUTE Session-Error-Code 142 integer Redback ATTRIBUTE Session-Error-Msg 143 string Redback ATTRIBUTE Juniper-Local-User-Name 1 string Juniper ATTRIBUTE Juniper-Allow-Commands 2 string Juniper ATTRIBUTE Juniper-Deny-Commands 3 string Juniper ATTRIBUTE Juniper-Allow-Configuration 4 string Juniper ATTRIBUTE Juniper-Deny-Configuration 5 string Juniper ATTRIBUTE CVX-Identification 1 string Aptis ATTRIBUTE CVX-VPOP-ID 2 integer Aptis ATTRIBUTE CVX-SS7-Session-ID-Type 3 integer Aptis ATTRIBUTE CVX-Radius-Redirect 4 integer Aptis ATTRIBUTE CVX-IPSVC-AZNLVL 5 integer Aptis ATTRIBUTE CVX-IPSVC-Mask 6 integer Aptis ATTRIBUTE CVX-Multilink-Match-Info 7 integer Aptis ATTRIBUTE CVX-Multilink-Group-Number 8 integer Aptis ATTRIBUTE CVX-PPP-Log-Mask 9 integer Aptis ATTRIBUTE CVX-Modem-Begin-Modulation 10 string Aptis ATTRIBUTE CVX-Modem-End-Modulation 11 string Aptis ATTRIBUTE CVX-Modem-Error-Correction 12 string Aptis ATTRIBUTE CVX-Modem-Data-Compression 13 string Aptis ATTRIBUTE CVX-Modem-Tx-Packets 14 integer Aptis ATTRIBUTE CVX-Modem-ReTx-Packets 15 integer Aptis ATTRIBUTE CVX-Modem-SNR 16 integer Aptis ATTRIBUTE CVX-Modem-Local-Retrains 17 integer Aptis ATTRIBUTE CVX-Modem-Remote-Retrains 18 integer Aptis ATTRIBUTE CVX-Modem-Local-Rate-Negs 19 integer Aptis ATTRIBUTE CVX-Modem-Remote-Rate-Negs 20 integer Aptis ATTRIBUTE CVX-Modem-Begin-Recv-Line-Lvl 21 integer Aptis ATTRIBUTE CVX-Modem-End-Recv-Line-Lvl 22 integer Aptis ATTRIBUTE CVX-Primary-DNS 135 ipaddr Aptis ATTRIBUTE CVX-Secondary-DNS 136 ipaddr Aptis ATTRIBUTE CVX-Client-Assign-DNS 137 integer Aptis ATTRIBUTE CVX-Multicast-Rate-Limit 152 integer Aptis ATTRIBUTE CVX-Multicast-Client 155 integer Aptis ATTRIBUTE CVX-Disconnect-Cause 195 integer Aptis ATTRIBUTE CVX-Data-Rate 197 integer Aptis ATTRIBUTE CVX-PreSession-Time 198 integer Aptis ATTRIBUTE CVX-Assign-IP-Pool 218 integer Aptis ATTRIBUTE CVX-Maximum-Channels 235 integer Aptis ATTRIBUTE CVX-Data-Filter 242 string Aptis ATTRIBUTE CVX-Idle-Limit 244 integer Aptis ATTRIBUTE CVX-PPP-Address 253 ipaddr Aptis ATTRIBUTE CVX-Xmit-Rate 255 integer Aptis ATTRIBUTE AAT-Client-Primary-DNS 5 ipaddr Alcatel ATTRIBUTE AAT-Client-Primary-WINS-NBNS 6 ipaddr Alcatel ATTRIBUTE AAT-Client-Secondary-WINS-NBNS 7 ipaddr Alcatel ATTRIBUTE AAT-Client-Secondary-DNS 8 ipaddr Alcatel ATTRIBUTE AAT-PPP-Address 9 ipaddr Alcatel ATTRIBUTE AAT-ATM-Direct 21 string Alcatel ATTRIBUTE AAT-IP-TOS 22 integer Alcatel ATTRIBUTE AAT-IP-TOS-Precedence 23 integer Alcatel ATTRIBUTE AAT-IP-TOS-Apply-To 24 integer Alcatel ATTRIBUTE AAT-MCast-Client 27 integer Alcatel ATTRIBUTE AAT-Vrouter-Name 61 string Alcatel ATTRIBUTE AAT-Require-Auth 62 integer Alcatel ATTRIBUTE AAT-IP-Pool-Definition 63 string Alcatel ATTRIBUTE AAT-Assign-IP-Pool 64 integer Alcatel ATTRIBUTE AAT-Data-Filter 65 string Alcatel ATTRIBUTE AAT-Source-IP-Check 66 integer Alcatel ATTRIBUTE AAT-ATM-VPI 128 integer Alcatel ATTRIBUTE AAT-ATM-VCI 129 integer Alcatel ATTRIBUTE AAT-Input-Octets-Diff 130 integer Alcatel ATTRIBUTE AAT-Output-Octets-Diff 131 integer Alcatel ATTRIBUTE AAT-User-MAC-Address 132 string Alcatel ATTRIBUTE AAT-ATM-Traffic-Profile 133 string Alcatel ATTRIBUTE CVPN3000-Access-Hours 1 string Altiga ATTRIBUTE CVPN3000-Simultaneous-Logins 2 integer Altiga ATTRIBUTE Altiga-Min-Password-Length-G 3 integer Altiga ATTRIBUTE Altiga-Allow-Alpha-Only-Passwords-G 4 integer Altiga ATTRIBUTE Altiga-Primary-DNS-G 5 ipaddr Altiga ATTRIBUTE Altiga-Secondary-DNS-G 6 ipaddr Altiga ATTRIBUTE Altiga-Primary-WINS-G 7 ipaddr Altiga ATTRIBUTE Altiga-Secondary-WINS-G 8 ipaddr Altiga ATTRIBUTE CVPN3000-Secondary-WINS 9 ipaddr Altiga ATTRIBUTE CVPN3000-Tunneling-Protocols 11 integer Altiga ATTRIBUTE CVPN3000-IPSec-Sec-Association 12 string Altiga ATTRIBUTE Altiga-IPSec-Authentication-G 13 integer Altiga ATTRIBUTE Altiga-IPSec-Banner-G 15 string Altiga ATTRIBUTE CVPN3000-IPSec-Allow-Passwd-Store 16 integer Altiga ATTRIBUTE CVPN3000-Use-Client-Address 17 integer Altiga ATTRIBUTE Altiga-PPTP-Encryption-G 20 integer Altiga ATTRIBUTE Altiga-L2TP-Encryption-G 21 integer Altiga ATTRIBUTE Altiga-IPSec-L2L-Keepalives-G 25 integer Altiga ATTRIBUTE Altiga-IPSec-Split-Tunnel-List-G 27 string Altiga ATTRIBUTE Altiga-IPSec-Default-Domain-G 28 string Altiga ATTRIBUTE Altiga-IPSec-Secondary-Domains-G 29 string Altiga ATTRIBUTE Altiga-IPSec-Tunnel-Type-G 30 integer Altiga ATTRIBUTE Altiga-IPSec-Mode-Config-G 31 integer Altiga ATTRIBUTE Altiga-IPSec-User-Group-Lock-G 33 integer Altiga ATTRIBUTE Altiga-IPSec-Over-NAT-G 34 integer Altiga ATTRIBUTE Altiga-IPSec-Over-NAT-Port-Num-G 35 integer Altiga ATTRIBUTE CVPN3000-IPSec-Banner2 36 string Altiga ATTRIBUTE CVPN3000-PPTP-MPPC-Compression 37 integer Altiga ATTRIBUTE CVPN3000-L2TP-MPPC-Compression 38 integer Altiga ATTRIBUTE CVPN3000-IPSec-IP-Compression 39 integer Altiga ATTRIBUTE CVPN3000-IPSec-IKE-Peer-ID-Check 40 integer Altiga ATTRIBUTE CVPN3000-IKE-Keep-Alives 41 integer Altiga ATTRIBUTE CVPN3000-IPSec-Auth-On-Rekey 42 integer Altiga ATTRIBUTE CVPN3000-Reqrd-Client-Fw-Vendor-Code 45 integer Altiga ATTRIBUTE CVPN3000-Reqrd-Client-Fw-Product-Code 46 integer Altiga ATTRIBUTE CVPN3000-Reqrd-Client-Fw-Description 47 string Altiga ATTRIBUTE CVPN3000-Require-HW-Client-Auth 48 integer Altiga ATTRIBUTE CVPN3000-Require-Individual-User-Auth 49 integer Altiga ATTRIBUTE CVPN3000-Authd-User-Idle-Timeout 50 integer Altiga ATTRIBUTE CVPN3000-Cisco-IP-Phone-Bypass 51 integer Altiga ATTRIBUTE CVPN3000-User-Auth-Server-Name 52 string Altiga ATTRIBUTE CVPN3000-User-Auth-Server-Port 53 integer Altiga ATTRIBUTE CVPN3000-User-Auth-Server-Secret 54 string Altiga ATTRIBUTE CVPN3000-IPSec-Split-Tunneling-Policy 55 integer Altiga ATTRIBUTE CVPN3000-IPSec-Reqrd-Client-Fw-Cap 56 integer Altiga ATTRIBUTE CVPN3000-IPSec-Client-Fw-Filter-Name 57 string Altiga ATTRIBUTE CVPN3000-IPSec-Client-Fw-Filter-Opt 58 integer Altiga ATTRIBUTE CVPN3000-IPSec-Backup-Servers 59 integer Altiga ATTRIBUTE CVPN3000-IPSec-Backup-Server-List 60 string Altiga ATTRIBUTE CVPN3000-MS-Client-Icpt-DHCP-Conf-Msg 62 integer Altiga ATTRIBUTE CVPN3000-MS-Client-Subnet-Mask 63 ipaddr Altiga ATTRIBUTE CVPN3000-Allow-Network-Extension-Mode 64 integer Altiga ATTRIBUTE CVPN3000-Strip-Realm 135 integer Altiga ATTRIBUTE Shasta-User-Privilege 1 integer Shasta ATTRIBUTE Shasta-Service-Profile 2 string Shasta ATTRIBUTE Shasta-VPN-Name 3 string Shasta ATTRIBUTE NS-Admin-Privilege 1 integer Netscreen ATTRIBUTE NS-VSYS-Name 2 string Netscreen ATTRIBUTE NS-User-Group 3 string Netscreen ATTRIBUTE NS-Primary-DNS 4 ipaddr Netscreen ATTRIBUTE NS-Secondary-DNS 5 ipaddr Netscreen ATTRIBUTE NS-Primary-WINS 6 ipaddr Netscreen ATTRIBUTE NS-Secondary-WINS 7 ipaddr Netscreen ATTRIBUTE Nomadix-Bw-Up 1 integer Nomadix ATTRIBUTE Nomadix-Bw-Down 2 integer Nomadix ATTRIBUTE Nomadix-URL-Redirection 3 string Nomadix ATTRIBUTE Nomadix-IP-Upsell 4 integer Nomadix ATTRIBUTE Nomadix-Expiration 5 string Nomadix ATTRIBUTE Nomadix-Subnet 6 string Nomadix ATTRIBUTE Nomadix-MaxBytesUp 7 integer Nomadix ATTRIBUTE Nomadix-MaxBytesDown 8 integer Nomadix ATTRIBUTE Nomadix-EndofSession 9 integer Nomadix ATTRIBUTE Nomadix-Logoff-URL 10 string Nomadix ATTRIBUTE ST-Acct-VC-Connection-Id 1 string SpringTide ATTRIBUTE ST-Service-Name 2 string SpringTide ATTRIBUTE ST-Service-Domain 3 integer SpringTide ATTRIBUTE ST-Policy-Name 4 string SpringTide ATTRIBUTE ST-Primary-DNS-Server 5 ipaddr SpringTide ATTRIBUTE ST-Secondary-DNS-Server 6 ipaddr SpringTide ATTRIBUTE ST-Primary-NBNS-Server 7 ipaddr SpringTide ATTRIBUTE ST-Secondary-NBNS-Server 8 ipaddr SpringTide ATTRIBUTE ERX-Virtual-Router-Name 1 string ERX ATTRIBUTE ERX-Address-Pool-Name 2 string ERX ATTRIBUTE ERX-Local-Loopback-Interface 3 string ERX ATTRIBUTE ERX-Primary-Dns 4 ipaddr ERX ATTRIBUTE ERX-Primary-Wins 5 ipaddr ERX ATTRIBUTE ERX-Secondary-Dns 6 ipaddr ERX ATTRIBUTE ERX-Secondary-Wins 7 ipaddr ERX ATTRIBUTE ERX-Tunnel-Virtual-Router 8 string ERX ATTRIBUTE ERX-Tunnel-Password 9 string ERX ATTRIBUTE ERX-Ingress-Policy-Name 10 string ERX ATTRIBUTE ERX-Egress-Policy-Name 11 string ERX ATTRIBUTE ERX-Ingress-Statistics 12 string ERX ATTRIBUTE ERX-Egress-Statistics 13 string ERX ATTRIBUTE ERX-Atm-Service-Category 14 integer ERX ATTRIBUTE ERX-Atm-PCR 15 integer ERX ATTRIBUTE ERX-Atm-SCR 16 integer ERX ATTRIBUTE ERX-Atm-MBS 17 integer ERX ATTRIBUTE ERX-Cli-Initial-Access-Level 18 string ERX ATTRIBUTE ERX-Cli-Allow-All-VR-Access 19 integer ERX ATTRIBUTE ERX-Alternate-Cli-Access-Level 20 string ERX ATTRIBUTE ERX-Alternate-Cli-Vrouter-Name 21 string ERX ATTRIBUTE ERX-Sa-Validate 22 integer ERX ATTRIBUTE ERX-Igmp-Enable 23 integer ERX ATTRIBUTE ERX-Pppoe-Description 24 string ERX ATTRIBUTE ERX-Redirect-VR-Name 25 string ERX ATTRIBUTE ERX-Qos-Profile-Name 26 string ERX ATTRIBUTE ERX-Pppoe-Max-Sessions 27 integer ERX ATTRIBUTE ERX-Pppoe-Url 28 string ERX ATTRIBUTE ERX-Qos-Profile-Interface-Type 29 integer ERX ATTRIBUTE ERX-Tunnel-Nas-Port-Method 30 integer ERX ATTRIBUTE ERX-Service-Bundle 31 string ERX ATTRIBUTE ERX-Tunnel-Tos 32 integer ERX ATTRIBUTE ERX-Tunnel-Maximum-Sessions 33 integer ERX ATTRIBUTE ERX-Framed-Ip-Route-Tag 34 string ERX ATTRIBUTE ERX-Input-Gigapkts 42 integer ERX ATTRIBUTE ERX-Output-Gigapkts 43 integer ERX ATTRIBUTE CBBSM-Bandwidth 1 integer Cisco-BBSM ATTRIBUTE Quintum-AVPair 1 string Quintum ATTRIBUTE Quintum-NAS-Port 2 string Quintum ATTRIBUTE Quintum-h323-remote-address 23 string Quintum ATTRIBUTE Quintum-h323-conf-id 24 string Quintum ATTRIBUTE Quintum-h323-setup-time 25 string Quintum ATTRIBUTE Quintum-h323-call-origin 26 string Quintum ATTRIBUTE Quintum-h323-call-type 27 string Quintum ATTRIBUTE Quintum-h323-connect-time 28 string Quintum ATTRIBUTE Quintum-h323-disconnect-time 29 string Quintum ATTRIBUTE Quintum-h323-disconnect-cause 30 string Quintum ATTRIBUTE Quintum-h323-voice-quality 31 string Quintum ATTRIBUTE Quintum-h323-gw-id 33 string Quintum ATTRIBUTE Quintum-h323-incoming-conf-id 35 string Quintum ATTRIBUTE Quintum-h323-credit-amount 101 string Quintum ATTRIBUTE Quintum-h323-credit-time 102 string Quintum ATTRIBUTE Quintum-h323-return-code 103 string Quintum ATTRIBUTE Quintum-h323-prompt-id 104 string Quintum ATTRIBUTE Quintum-h323-time-and-day 105 string Quintum ATTRIBUTE Quintum-h323-redirect-number 106 string Quintum ATTRIBUTE Quintum-h323-preferred-lang 107 string Quintum ATTRIBUTE Quintum-h323-redirect-ip-address 108 string Quintum ATTRIBUTE Quintum-h323-billing-model 109 string Quintum ATTRIBUTE Quintum-h323-currency-type 110 string Quintum ATTRIBUTE SS3-Firewall-User-Privilege 1 integer 3com ATTRIBUTE Colubris-AVPair 0 string Colubris ATTRIBUTE WISPr-Location-ID 1 string WISPr ATTRIBUTE WISPr-Location-Name 2 string WISPr ATTRIBUTE WISPr-Logoff-URL 3 string WISPr ATTRIBUTE WISPr-Redirection-URL 4 string WISPr ATTRIBUTE WISPr-Bandwidth-Min-Up 5 integer WISPr ATTRIBUTE WISPr-Bandwidth-Min-Down 6 integer WISPr ATTRIBUTE WISPr-Bandwidth-Max-Up 7 integer WISPr ATTRIBUTE WISPr-Bandwidth-Max-Down 8 integer WISPr ATTRIBUTE WISPr-Session-Terminate-Time 9 string WISPr ATTRIBUTE WISPr-Session-Terminate-End-Of-Day 10 string WISPr ATTRIBUTE WISPr-Billing-Class-Of-Service 11 string WISPr VALUE AAT-IP-TOS IP-TOS-Normal 0 Alcatel VALUE AAT-IP-TOS IP-TOS-Disabled 1 Alcatel VALUE AAT-IP-TOS IP-TOS-Cost 2 Alcatel VALUE AAT-IP-TOS IP-TOS-Reliability 4 Alcatel VALUE AAT-IP-TOS IP-TOS-Throughput 8 Alcatel VALUE AAT-IP-TOS IP-TOS-Latency 16 Alcatel VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Incoming 1024 Alcatel VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Outgoing 2048 Alcatel VALUE AAT-IP-TOS-Apply-To IP-TOS-Apply-To-Both 3072 Alcatel VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Normal 0 Alcatel VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-One 32 Alcatel VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Two 64 Alcatel VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Three 96 Alcatel VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Four 128 Alcatel VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Five 160 Alcatel VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Six 192 Alcatel VALUE AAT-IP-TOS-Precedence IP-TOS-Precedence-Pri-Seven 224 Alcatel VALUE AAT-MCast-Client Multicast-No 0 Alcatel VALUE AAT-MCast-Client Multicast-Yes 1 Alcatel VALUE AAT-Require-Auth Not-Require-Auth 0 Alcatel VALUE AAT-Require-Auth Require-Auth 1 Alcatel VALUE AAT-Source-IP-Check Source-IP-Check-No 0 Alcatel VALUE AAT-Source-IP-Check Source-IP-Check-Yes 1 Alcatel VALUE Acc-Access-Community PUBLIC 1 Acc VALUE Acc-Access-Community NETMAN 2 Acc VALUE Acc-Acct-On-Off-Reason NAS-Reset 0 Acc VALUE Acc-Acct-On-Off-Reason NAS-Reload 1 Acc VALUE Acc-Acct-On-Off-Reason Configuration-Reset 2 Acc VALUE Acc-Acct-On-Off-Reason Configuration-Reload 3 Acc VALUE Acc-Acct-On-Off-Reason Enabled 4 Acc VALUE Acc-Acct-On-Off-Reason Disabled 5 Acc VALUE Acc-Apsm-Oversubscribed False 1 Acc VALUE Acc-Apsm-Oversubscribed True 2 Acc VALUE Acc-Bridging-Support Disabled 1 Acc VALUE Acc-Bridging-Support Enabled 2 Acc VALUE Acc-Callback-CBCP-Type CBCP-None 1 Acc VALUE Acc-Callback-CBCP-Type CBCP-User-Specified 2 Acc VALUE Acc-Callback-CBCP-Type CBCP-Pre-Specified 3 Acc VALUE Acc-Callback-Mode User-Auth 0 Acc VALUE Acc-Callback-Mode User-Specified-E-164 3 Acc VALUE Acc-Callback-Mode CBCP-Callback 6 Acc VALUE Acc-Callback-Mode CLI-Callback 7 Acc VALUE Acc-Ccp-Option Disabled 1 Acc VALUE Acc-Ccp-Option Enabled 2 Acc VALUE Acc-Clearing-Cause Cause-unspecified 0 Acc VALUE Acc-Clearing-Cause Unassigned-number 1 Acc VALUE Acc-Clearing-Cause No-route-to-transit-network 2 Acc VALUE Acc-Clearing-Cause No-route-to-destination 3 Acc VALUE Acc-Clearing-Cause Channel-unacceptable 6 Acc VALUE Acc-Clearing-Cause Call-awarded-being-delivered 7 Acc VALUE Acc-Clearing-Cause Normal-clearing 16 Acc VALUE Acc-Clearing-Cause User-busy 17 Acc VALUE Acc-Clearing-Cause No-user-responding 18 Acc VALUE Acc-Clearing-Cause User-alerted-no-answer 19 Acc VALUE Acc-Clearing-Cause Call-rejected 21 Acc VALUE Acc-Clearing-Cause Number-changed 22 Acc VALUE Acc-Clearing-Cause Non-selected-user-clearing 26 Acc VALUE Acc-Clearing-Cause Destination-out-of-order 27 Acc VALUE Acc-Clearing-Cause Invalid-or-incomplete-number 28 Acc VALUE Acc-Clearing-Cause Facility-rejected 29 Acc VALUE Acc-Clearing-Cause Response-to-status-inquiry 30 Acc VALUE Acc-Clearing-Cause Normal-unspecified-cause 31 Acc VALUE Acc-Clearing-Cause No-circuit-or-channel-available 34 Acc VALUE Acc-Clearing-Cause Network-out-of-order 38 Acc VALUE Acc-Clearing-Cause Temporary-failure 41 Acc VALUE Acc-Clearing-Cause Switching-equipment-congestion 42 Acc VALUE Acc-Clearing-Cause Access-information-discarded 43 Acc VALUE Acc-Clearing-Cause Circuit-or-channel-unavailable 44 Acc VALUE Acc-Clearing-Cause Circuit-or-channed-preempted 45 Acc VALUE Acc-Clearing-Cause Resources-unavailable 47 Acc VALUE Acc-Clearing-Cause Quality-of-service-unavailable 49 Acc VALUE Acc-Clearing-Cause Facility-not-subscribed 50 Acc VALUE Acc-Clearing-Cause Outgoing-calls-barred 52 Acc VALUE Acc-Clearing-Cause Incoming-calls-barred 54 Acc VALUE Acc-Clearing-Cause Bearer-capability-unauthorized 57 Acc VALUE Acc-Clearing-Cause Bearer-capability-not-available 58 Acc VALUE Acc-Clearing-Cause Service-not-available 63 Acc VALUE Acc-Clearing-Cause Bearer-capablity-not-implmented 65 Acc VALUE Acc-Clearing-Cause Channel-type-not-implemented 66 Acc VALUE Acc-Clearing-Cause Facility-not-implemented 69 Acc VALUE Acc-Clearing-Cause Restrcted-digtal-infrmtion-only 70 Acc VALUE Acc-Clearing-Cause Service-not-implemented 79 Acc VALUE Acc-Clearing-Cause Invalid-call-reference 81 Acc VALUE Acc-Clearing-Cause Identified-channel-doesnt-exist 82 Acc VALUE Acc-Clearing-Cause Call-identify-in-use 84 Acc VALUE Acc-Clearing-Cause No-call-suspended 85 Acc VALUE Acc-Clearing-Cause Suspended-call-cleared 86 Acc VALUE Acc-Clearing-Cause Incompatible-destination 88 Acc VALUE Acc-Clearing-Cause Invalid-transit-network-selctin 91 Acc VALUE Acc-Clearing-Cause Invalid-message 95 Acc VALUE Acc-Clearing-Cause Mandtory-infrmtion-elment-miss 96 Acc VALUE Acc-Clearing-Cause Message-not-implemented 97 Acc VALUE Acc-Clearing-Cause Inopportune-message 98 Acc VALUE Acc-Clearing-Cause Infrmtion-elemnt-not-implmented 99 Acc VALUE Acc-Clearing-Cause Invlid-infrmtion-element-contnt 100 Acc VALUE Acc-Clearing-Cause Message-incompatible-with-state 101 Acc VALUE Acc-Clearing-Cause Recovery-on-timer-expiration 102 Acc VALUE Acc-Clearing-Cause Mndtry-infrmtion-elmnt-lngt-err 103 Acc VALUE Acc-Clearing-Cause Protocol-error 111 Acc VALUE Acc-Clearing-Cause Interworking 127 Acc VALUE Acc-Clearing-Location Local-or-remote-user 0 Acc VALUE Acc-Clearing-Location Prvte-ntwork-serving-local-user 1 Acc VALUE Acc-Clearing-Location Pblic-ntwork-serving-local-user 2 Acc VALUE Acc-Clearing-Location Transit-network 3 Acc VALUE Acc-Clearing-Location Prvte-ntwork-serv-remote-user 4 Acc VALUE Acc-Clearing-Location Pblic-ntwork-serv-remote-user 5 Acc VALUE Acc-Clearing-Location International-network 6 Acc VALUE Acc-Clearing-Location Beyond-interworking-point 10 Acc VALUE Acc-Dialout-Auth-Mode PAP 1 Acc VALUE Acc-Dialout-Auth-Mode CHAP 2 Acc VALUE Acc-Dialout-Auth-Mode CHAP-PAP 3 Acc VALUE Acc-Dialout-Auth-Mode NONE 4 Acc VALUE Acc-Igmp-Admin-State Enabled 1 Acc VALUE Acc-Igmp-Admin-State Disabled 2 Acc VALUE Acc-Igmp-Version V1 1 Acc VALUE Acc-Igmp-Version V2 2 Acc VALUE Acc-Ip-Compression Disabled 1 Acc VALUE Acc-Ip-Compression Enabled 2 Acc VALUE Acc-Ipx-Compression Disabled 1 Acc VALUE Acc-Ipx-Compression Enabled 2 Acc VALUE Acc-ML-MLX-Admin-State Enabled 1 Acc VALUE Acc-ML-MLX-Admin-State Disabled 2 Acc VALUE Acc-Reason-Code No-reason-No-Failure 0 Acc VALUE Acc-Reason-Code Resource-shortage 1 Acc VALUE Acc-Reason-Code Session-already-open 2 Acc VALUE Acc-Reason-Code Too-many-RADIUS-users 3 Acc VALUE Acc-Reason-Code No-authentification-server 4 Acc VALUE Acc-Reason-Code No-authentification-response 5 Acc VALUE Acc-Reason-Code No-accounting-server 6 Acc VALUE Acc-Reason-Code No-accounting-response 7 Acc VALUE Acc-Reason-Code Access-Denied 8 Acc VALUE Acc-Reason-Code Temporary-buffer-shortage 9 Acc VALUE Acc-Reason-Code Protocol-error 10 Acc VALUE Acc-Reason-Code Invalid-attribute 11 Acc VALUE Acc-Reason-Code Invalid-service-type 12 Acc VALUE Acc-Reason-Code Invalid-framed-protocol 13 Acc VALUE Acc-Reason-Code Invalid-attribute-value 14 Acc VALUE Acc-Reason-Code Invalid-user-information 15 Acc VALUE Acc-Reason-Code Invalid-IP-address 16 Acc VALUE Acc-Reason-Code Invalid-integer-syntax 17 Acc VALUE Acc-Reason-Code Invalid-NAS-port 18 Acc VALUE Acc-Reason-Code Requested-by-user 19 Acc VALUE Acc-Reason-Code Network-disconnect 20 Acc VALUE Acc-Reason-Code Service-interruption 21 Acc VALUE Acc-Reason-Code Physical-port-error 22 Acc VALUE Acc-Reason-Code Idle-timeout 23 Acc VALUE Acc-Reason-Code Session-timeout 24 Acc VALUE Acc-Reason-Code Administrative-reset 25 Acc VALUE Acc-Reason-Code NAS-reload-or-reset 26 Acc VALUE Acc-Reason-Code NAS-error 27 Acc VALUE Acc-Reason-Code NAS-request 28 Acc VALUE Acc-Reason-Code Undefined-reason-given 29 Acc VALUE Acc-Reason-Code Conflicting-attributes 30 Acc VALUE Acc-Reason-Code Port-limit-exceeded 31 Acc VALUE Acc-Reason-Code Facility-not-available 32 Acc VALUE Acc-Reason-Code Internal-config-error 33 Acc VALUE Acc-Reason-Code Bad-route-specification 34 Acc VALUE Acc-Reason-Code Access-Partition-bind-failure 35 Acc VALUE Acc-Reason-Code Security-violation 36 Acc VALUE Acc-Reason-Code Request-type-conflict 37 Acc VALUE Acc-Reason-Code Configuration-disallowed 38 Acc VALUE Acc-Reason-Code Missing-attribute 39 Acc VALUE Acc-Reason-Code Invalid-request 40 Acc VALUE Acc-Reason-Code Missing-parameter 41 Acc VALUE Acc-Reason-Code Invalid-parameter 42 Acc VALUE Acc-Reason-Code Call-cleared-with-cause 43 Acc VALUE Acc-Reason-Code Inopportune-config-request 44 Acc VALUE Acc-Reason-Code Invalid-config-parameter 45 Acc VALUE Acc-Reason-Code Missing-config-parameter 46 Acc VALUE Acc-Reason-Code Incompatible-service-profile 47 Acc VALUE Acc-Reason-Code Administrative-reset 48 Acc VALUE Acc-Reason-Code Administrative-reload 49 Acc VALUE Acc-Reason-Code Port-unneeded 50 Acc VALUE Acc-Reason-Code Port-preempted 51 Acc VALUE Acc-Reason-Code Port-suspended 52 Acc VALUE Acc-Reason-Code Service-unavailable 53 Acc VALUE Acc-Reason-Code Callback 54 Acc VALUE Acc-Reason-Code User-error 55 Acc VALUE Acc-Reason-Code Host-request 56 Acc VALUE Acc-Request-Type Ring-Indication 1 Acc VALUE Acc-Request-Type Dial-Request 2 Acc VALUE Acc-Request-Type User-Authentification 3 Acc VALUE Acc-Request-Type Tunnel-Authentification 4 Acc VALUE Acc-Route-Policy Funnel 1 Acc VALUE Acc-Route-Policy Direct 2 Acc VALUE Acc-Vpsm-Reject-Cause No-Access-Partition 1 Acc VALUE Acc-Vpsm-Reject-Cause Access-Partition-Disabled 2 Acc VALUE Acc-Vpsm-Reject-Cause Partition-Portlimit-Exceeded 3 Acc VALUE Acc-Vpsm-Reject-Cause License-Portlimit-Exceeded 4 Acc VALUE Acc-Vpsm-Reject-Cause Home-Server-Down 5 Acc VALUE Acc-Vpsm-Reject-Cause Rejected-By-Home-Server 6 Acc VALUE Acc-Vpsm-Reject-Cause NAS-Administratively-Disabled 7 Acc VALUE Acct-Authentic None 0 VALUE Acct-Authentic RADIUS 1 VALUE Acct-Authentic Local 2 VALUE Acct-Authentic Remote 3 VALUE Acct-Authentic Diameter 4 VALUE Acct-Status-Type Annex-User-Reject 0 VALUE Acct-Status-Type Start 1 VALUE Acct-Status-Type Stop 2 VALUE Acct-Status-Type Alive 3 VALUE Acct-Status-Type Modem-Start 4 VALUE Acct-Status-Type Modem-Stop 5 VALUE Acct-Status-Type Cancel 6 VALUE Acct-Status-Type Accounting-On 7 VALUE Acct-Status-Type Accounting-Off 8 VALUE Acct-Status-Type Tunnel-Start 9 VALUE Acct-Status-Type Tunnel-Stop 10 VALUE Acct-Status-Type Tunnel-Reject 11 VALUE Acct-Status-Type Tunnel-Link-Start 12 VALUE Acct-Status-Type Tunnel-Link-Stop 13 VALUE Acct-Status-Type Tunnel-Link-Reject 14 VALUE Acct-Status-Type Failed 15 VALUE Acct-Terminate-Cause User-Request 1 VALUE Acct-Terminate-Cause Lost-Carrier 2 VALUE Acct-Terminate-Cause Lost-Service 3 VALUE Acct-Terminate-Cause Idle-Timeout 4 VALUE Acct-Terminate-Cause Session-Timeout 5 VALUE Acct-Terminate-Cause Admin-Reset 6 VALUE Acct-Terminate-Cause Admin-Reboot 7 VALUE Acct-Terminate-Cause Port-Error 8 VALUE Acct-Terminate-Cause NAS-Error 9 VALUE Acct-Terminate-Cause NAS-Request 10 VALUE Acct-Terminate-Cause NAS-Reboot 11 VALUE Acct-Terminate-Cause Port-Unneeded 12 VALUE Acct-Terminate-Cause Port-Preempted 13 VALUE Acct-Terminate-Cause Port-Suspended 14 VALUE Acct-Terminate-Cause Service-Unavailable 15 VALUE Acct-Terminate-Cause Callback 16 VALUE Acct-Terminate-Cause User-Error 17 VALUE Acct-Terminate-Cause Host-Request 18 VALUE Acct-Terminate-Cause Supplicant-Restart 19 VALUE Acct-Terminate-Cause Reauth-Failure 20 VALUE Acct-Terminate-Cause Port-Reinit 21 VALUE Acct-Terminate-Cause Port-Disabled 22 VALUE Alteon-Service-Type Alteon-L4admin 250 Alteon VALUE Alteon-Service-Type Alteon-Slbadmin 251 Alteon VALUE Alteon-Service-Type Alteon-Oper 252 Alteon VALUE Alteon-Service-Type Alteon-L4oper 253 Alteon VALUE Alteon-Service-Type Alteon-Slboper 254 Alteon VALUE Alteon-Service-Type Alteon-User 255 Alteon VALUE Altiga-Allow-Alpha-Only-Passwords-G Disallow 0 Altiga VALUE Altiga-Allow-Alpha-Only-Passwords-G Allow 1 Altiga VALUE Altiga-IPSec-Authentication-G None 0 Altiga VALUE Altiga-IPSec-Authentication-G RADIUS 1 Altiga VALUE Altiga-IPSec-Authentication-G LDAP 2 Altiga VALUE Altiga-IPSec-Authentication-G NTDomain 3 Altiga VALUE Altiga-IPSec-Authentication-G SDI 4 Altiga VALUE Altiga-IPSec-Authentication-G Internal 5 Altiga VALUE Altiga-IPSec-L2L-Keepalives-G OFF 0 Altiga VALUE Altiga-IPSec-L2L-Keepalives-G ON 1 Altiga VALUE Altiga-IPSec-Mode-Config-G OFF 0 Altiga VALUE Altiga-IPSec-Mode-Config-G ON 1 Altiga VALUE Altiga-IPSec-Over-NAT-G OFF 0 Altiga VALUE Altiga-IPSec-Over-NAT-G ON 1 Altiga VALUE Altiga-IPSec-Tunnel-Type-G LAN-to-LAN 1 Altiga VALUE Altiga-IPSec-Tunnel-Type-G Remote-Access 2 Altiga VALUE Altiga-IPSec-User-Group-Lock-G OFF 0 Altiga VALUE Altiga-IPSec-User-Group-Lock-G ON 1 Altiga VALUE Altiga-L2TP-Encryption-G 40bit 2 Altiga VALUE Altiga-L2TP-Encryption-G 40-Encryption-Req 3 Altiga VALUE Altiga-L2TP-Encryption-G 128 4 Altiga VALUE Altiga-L2TP-Encryption-G 128-Encryption-Req 5 Altiga VALUE Altiga-L2TP-Encryption-G 40-or-128 6 Altiga VALUE Altiga-L2TP-Encryption-G 40-or-128-Encry-Req 7 Altiga VALUE Altiga-L2TP-Encryption-G 40-Stateless-Req 10 Altiga VALUE Altiga-L2TP-Encryption-G 128-Stateless-Req 12 Altiga VALUE Altiga-PPTP-Encryption-G 40bit 2 Altiga VALUE Altiga-PPTP-Encryption-G 40-Encryption-Req 3 Altiga VALUE Altiga-PPTP-Encryption-G 128 4 Altiga VALUE Altiga-PPTP-Encryption-G 128-Encryption-Req 5 Altiga VALUE Altiga-PPTP-Encryption-G 40-or-128 6 Altiga VALUE Altiga-PPTP-Encryption-G 40-or-128-Encry-Req 7 Altiga VALUE Altiga-PPTP-Encryption-G 40-Stateless-Req 10 Altiga VALUE Altiga-PPTP-Encryption-G 128-Stateless-Req 12 Altiga VALUE Annex-Addr-Resolution-Protocol none 0 Bay-Networks VALUE Annex-Addr-Resolution-Protocol DHCP 1 Bay-Networks VALUE Annex-Audit-Level Manager 2 Bay-Networks VALUE Annex-Audit-Level User 4 Bay-Networks VALUE Annex-Audit-Level Operator 8 Bay-Networks VALUE Annex-Modem-Disc-Reason Unknown 0 Bay-Networks VALUE Annex-Modem-Disc-Reason Local-disconnect 1 Bay-Networks VALUE Annex-Modem-Disc-Reason CD-Timer-Expired 2 Bay-Networks VALUE Annex-Modem-Disc-Reason Remote-protocol-disc 4 Bay-Networks VALUE Annex-Modem-Disc-Reason Clear-down 5 Bay-Networks VALUE Annex-Modem-Disc-Reason Long-Space-disconnect 6 Bay-Networks VALUE Annex-Modem-Disc-Reason Carrier-Lost 7 Bay-Networks VALUE Annex-Modem-Disc-Reason Modem-Retrain-Timeout 8 Bay-Networks VALUE Annex-System-Disc-Reason Unknown 0 Bay-Networks VALUE Annex-System-Disc-Reason Line-disconnected 1 Bay-Networks VALUE Annex-System-Disc-Reason Dial-failed 2 Bay-Networks VALUE Annex-System-Disc-Reason WAN-manager-error 3 Bay-Networks VALUE Annex-System-Disc-Reason Disconnect-reset 4 Bay-Networks VALUE Annex-System-Disc-Reason Error-from-adm_notify 5 Bay-Networks VALUE Annex-System-Disc-Reason Modem-down-adm_notify 6 Bay-Networks VALUE Annex-System-Disc-Reason PPP-protocol-disconnect 7 Bay-Networks VALUE Annex-System-Disc-Reason Inactivity-timer 8 Bay-Networks VALUE Annex-System-Disc-Reason CLI-Hangup-command 9 Bay-Networks VALUE Annex-System-Disc-Reason CLI-last-job 10 Bay-Networks VALUE Annex-System-Disc-Reason Session-timeout 11 Bay-Networks VALUE Annex-System-Disc-Reason Slave-termination 12 Bay-Networks VALUE Annex-System-Disc-Reason Abnormal-termination 13 Bay-Networks VALUE Annex-System-Disc-Reason DCD-wait-failed 14 Bay-Networks VALUE Annex-System-Disc-Reason CLI-inactivity 15 Bay-Networks VALUE Annex-System-Disc-Reason Admin-port-reset 16 Bay-Networks VALUE Annex-System-Disc-Reason CLI-auth-failed 17 Bay-Networks VALUE Annex-System-Disc-Reason Slave-auth-failed 18 Bay-Networks VALUE Annex-System-Disc-Reason PAP-auth-failed 19 Bay-Networks VALUE Annex-System-Disc-Reason CHAP-auth-failed 20 Bay-Networks VALUE Annex-System-Disc-Reason Local-modem-reset 21 Bay-Networks VALUE Annex-System-Disc-Reason Modem-dead 22 Bay-Networks VALUE Annex-System-Disc-Reason PPP-LCP-failure 23 Bay-Networks VALUE Annex-System-Disc-Reason PPP-IPCP-failure 24 Bay-Networks VALUE Annex-System-Disc-Reason PPP-IPXCP-failure 25 Bay-Networks VALUE Annex-System-Disc-Reason PPP-ATCP-failure 26 Bay-Networks VALUE Annex-System-Disc-Reason PPP-CCP-failure 27 Bay-Networks VALUE Annex-System-Disc-Reason PPP-MP-failure 28 Bay-Networks VALUE Annex-System-Disc-Reason PPP-IPCP-timeout 29 Bay-Networks VALUE Annex-System-Disc-Reason PPP-IPXCP-timeout 30 Bay-Networks VALUE Annex-System-Disc-Reason PPP-ATCP-timeout 31 Bay-Networks VALUE Annex-System-Disc-Reason PPP-CCP-timeout 32 Bay-Networks VALUE Annex-System-Disc-Reason PPP-MP-timeout 33 Bay-Networks VALUE Annex-System-Disc-Reason PPP-init-failure 34 Bay-Networks VALUE Annex-System-Disc-Reason PPP-Unknown 35 Bay-Networks VALUE Annex-System-Disc-Reason PPP-Dialback-failed 36 Bay-Networks VALUE Annex-System-Disc-Reason PPP-Address-In-Use 37 Bay-Networks VALUE Annex-System-Disc-Reason PPP-No-device 38 Bay-Networks VALUE Annex-System-Disc-Reason PPP-Modem-hangup-rcvd 39 Bay-Networks VALUE Annex-System-Disc-Reason PPP-Hangup-rcvd 40 Bay-Networks VALUE Annex-System-Disc-Reason PPP-Termination-rcvd 41 Bay-Networks VALUE Annex-System-Disc-Reason PPP-Kill-rcvd 42 Bay-Networks VALUE Annex-System-Disc-Reason PPP-Time-rcvd 43 Bay-Networks VALUE Annex-System-Disc-Reason PPP-No-memory 44 Bay-Networks VALUE Annex-System-Disc-Reason PPP-Connection-Abort 45 Bay-Networks VALUE Annex-System-Disc-Reason PPP-VPN-LCP-failure 46 Bay-Networks VALUE Annex-System-Disc-Reason PPP-VPN-Auth-failure 47 Bay-Networks VALUE Annex-System-Disc-Reason PPP-MP-invalid-port 48 Bay-Networks VALUE Annex-System-Disc-Reason PPP-Invalid-device 49 Bay-Networks VALUE Annex-System-Disc-Reason PPP-MMP-bundle-failure 50 Bay-Networks VALUE Annex-System-Disc-Reason DVS-Registration-failure 51 Bay-Networks VALUE Annex-System-Disc-Reason DVS-Home-agent-dereg 52 Bay-Networks VALUE Annex-System-Disc-Reason DVS-Tunnel-no-renew 53 Bay-Networks VALUE Annex-System-Disc-Reason DVS-Tunnel-expired 54 Bay-Networks VALUE Annex-Tunnel-Authen-Mode none 0 Bay-Networks VALUE Annex-Tunnel-Authen-Mode prefix-suffix 1 Bay-Networks VALUE Annex-Tunnel-Authen-Type none 0 Bay-Networks VALUE Annex-Tunnel-Authen-Type kmd5-128 1 Bay-Networks VALUE Annex-User-Level Manager 2 Bay-Networks VALUE Annex-User-Level User 4 Bay-Networks VALUE Annex-User-Level Operator 8 Bay-Networks VALUE Annex-User-Server-Location local 1 Bay-Networks VALUE Annex-User-Server-Location remote 2 Bay-Networks VALUE ARAP-Zone-Access Default-Zone 1 VALUE ARAP-Zone-Access Inclusive-Filter 2 VALUE ARAP-Zone-Access Exclusive-Filter 3 VALUE Ascend-Appletalk-Peer-Mode Appletalk-Peer-Router 0 Ascend VALUE Ascend-Appletalk-Peer-Mode Appletalk-Peer-Dialin 1 Ascend VALUE Ascend-ATM-Direct ATM-Direct-No 0 Ascend VALUE Ascend-ATM-Direct ATM-Direct-Yes 1 Ascend VALUE Ascend-ATM-Fault-Management VC-No-Loopback 0 Ascend VALUE Ascend-ATM-Fault-Management VC-Segment-Loopback 1 Ascend VALUE Ascend-ATM-Fault-Management VC-End-To-End-Loopback 2 Ascend VALUE Ascend-Auth-Type Auth-None 0 Ascend VALUE Ascend-Auth-Type Auth-Default 1 Ascend VALUE Ascend-Auth-Type Auth-Any 2 Ascend VALUE Ascend-Auth-Type Auth-PAP 3 Ascend VALUE Ascend-Auth-Type Auth-CHAP 4 Ascend VALUE Ascend-Auth-Type Auth-MS-CHAP 5 Ascend VALUE Ascend-BACP-Enable BACP-No 0 VALUE Ascend-BACP-Enable BACP-No 0 Ascend VALUE Ascend-BACP-Enable BACP-Yes 1 Ascend VALUE Ascend-BACP-Enable BACP-Yes 1 VALUE Ascend-Bi-Directional-Auth Bi-Directional-Auth-None 0 Ascend VALUE Ascend-Bi-Directional-Auth Bi-Directional-Auth-Allowed 1 Ascend VALUE Ascend-Bi-Directional-Auth Bi-Directional-Auth-Required 2 Ascend VALUE Ascend-BIR-Enable BIR-Enable-No 0 Ascend VALUE Ascend-BIR-Enable BIR-Enable-Yes 1 Ascend VALUE Ascend-BIR-Proxy BIR-Proxy-No 0 Ascend VALUE Ascend-BIR-Proxy BIR-Proxy-Yes 1 Ascend VALUE Ascend-Bridge Bridge-No 0 Ascend VALUE Ascend-Bridge Bridge-No 0 VALUE Ascend-Bridge Bridge-Yes 1 VALUE Ascend-Bridge Bridge-Yes 1 Ascend VALUE Ascend-Bridge-Non-PPPoE Bridge-Non-PPPoE-No 0 Ascend VALUE Ascend-Bridge-Non-PPPoE Bridge-Non-PPPoE-Yes 1 Ascend VALUE Ascend-Cache-Refresh Refresh-No 0 Ascend VALUE Ascend-Cache-Refresh Refresh-Yes 1 Ascend VALUE Ascend-Call-Direction Ascend-Call-Direction-Incoming 0 Ascend VALUE Ascend-Call-Direction Ascend-Call-Direction-Outgoing 1 Ascend VALUE Ascend-Call-Type Switched 0 Ascend VALUE Ascend-Call-Type Nailed 1 Ascend VALUE Ascend-Call-Type MegaMax 7 Ascend VALUE Ascend-Callback Callback-No 0 Ascend VALUE Ascend-Callback Callback-No 0 VALUE Ascend-Callback Callback-Yes 1 VALUE Ascend-Callback Callback-Yes 1 Ascend VALUE Ascend-Calling-Id-Number-Plan Unknown 0 Ascend VALUE Ascend-Calling-Id-Number-Plan ISDN-Telephony 1 Ascend VALUE Ascend-Calling-Id-Number-Plan Data 3 Ascend VALUE Ascend-Calling-Id-Number-Plan Telex 4 Ascend VALUE Ascend-Calling-Id-Number-Plan National 8 Ascend VALUE Ascend-Calling-Id-Number-Plan Private 9 Ascend VALUE Ascend-Calling-Id-Presentatn Allowed 0 Ascend VALUE Ascend-Calling-Id-Presentatn Restricted 1 Ascend VALUE Ascend-Calling-Id-Presentatn Number-Not-Available 2 Ascend VALUE Ascend-Calling-Id-Screening User-Not-Screened 0 Ascend VALUE Ascend-Calling-Id-Screening User-Provided-Passed 1 Ascend VALUE Ascend-Calling-Id-Screening User-Provided-Failed 2 Ascend VALUE Ascend-Calling-Id-Screening Network-Provided 3 Ascend VALUE Ascend-Calling-Id-Type-Of-Num Unknown 0 Ascend VALUE Ascend-Calling-Id-Type-Of-Num International-Number 1 Ascend VALUE Ascend-Calling-Id-Type-Of-Num National-Number 2 Ascend VALUE Ascend-Calling-Id-Type-Of-Num Network-Specific 3 Ascend VALUE Ascend-Calling-Id-Type-Of-Num Subscriber-Number 4 Ascend VALUE Ascend-Calling-Id-Type-Of-Num Abbreviated-Number 6 Ascend VALUE Ascend-CBCP-Enable CBCP-Not-Enabled 0 Ascend VALUE Ascend-CBCP-Enable CBCP-Enabled 1 Ascend VALUE Ascend-CBCP-Mode CBCP-No-Callback 1 Ascend VALUE Ascend-CBCP-Mode CBCP-User-Callback 2 Ascend VALUE Ascend-CBCP-Mode CBCP-Profile-Callback 3 Ascend VALUE Ascend-CBCP-Mode CBCP-Any-Or-No 7 Ascend VALUE Ascend-CBCP-Mode CBCP-Off 8 Ascend VALUE Ascend-Ckt-Type Ascend-PVC 0 Ascend VALUE Ascend-Ckt-Type Ascend-SVC 1 Ascend VALUE Ascend-Client-Assign-DNS DNS-Assign-No 0 Ascend VALUE Ascend-Client-Assign-DNS DNS-Assign-Yes 1 Ascend VALUE Ascend-Client-Assign-WINS WINS-Assign-No 0 Ascend VALUE Ascend-Client-Assign-WINS WINS-Assign-Yes 1 Ascend VALUE Ascend-Connect-Progress No-Progress 0 Ascend VALUE Ascend-Connect-Progress Call-Up 10 Ascend VALUE Ascend-Connect-Progress Modem-Up 30 Ascend VALUE Ascend-Connect-Progress Modem-Awaiting-DCD 31 Ascend VALUE Ascend-Connect-Progress Modem-Awaiting-Codes 32 Ascend VALUE Ascend-Connect-Progress TermSrv-Started 40 Ascend VALUE Ascend-Connect-Progress TermSrv-Raw-TCP-Started 41 Ascend VALUE Ascend-Connect-Progress TermSrv-Telnet-Started 42 Ascend VALUE Ascend-Connect-Progress TermSrv-Raw-TCP-Connected 43 Ascend VALUE Ascend-Connect-Progress TermSrv-Telnet-Connected 44 Ascend VALUE Ascend-Connect-Progress TermSrv-Rlogin-Started 45 Ascend VALUE Ascend-Connect-Progress TermSrv-Rlogin-Connected 46 Ascend VALUE Ascend-Connect-Progress Modem-Outdial-Call-Up 50 Ascend VALUE Ascend-Connect-Progress LAN-Session-Up 60 Ascend VALUE Ascend-Connect-Progress LCP-Opening 61 Ascend VALUE Ascend-Connect-Progress CCP-Opening 62 Ascend VALUE Ascend-Connect-Progress IPNCP-Opening 63 Ascend VALUE Ascend-Connect-Progress BNCP-Opening 64 Ascend VALUE Ascend-Connect-Progress LCP-Opened 65 Ascend VALUE Ascend-Connect-Progress CCP-Opened 66 Ascend VALUE Ascend-Connect-Progress IPNCP-Opened 67 Ascend VALUE Ascend-Connect-Progress BNCP-Opened 68 Ascend VALUE Ascend-Connect-Progress LCP-State-Initial 69 Ascend VALUE Ascend-Connect-Progress LCP-State-Starting 70 Ascend VALUE Ascend-Connect-Progress LCP-State-Closed 71 Ascend VALUE Ascend-Connect-Progress LCP-State-Stopped 72 Ascend VALUE Ascend-Connect-Progress LCP-State-Closing 73 Ascend VALUE Ascend-Connect-Progress LCP-State-Stopping 74 Ascend VALUE Ascend-Connect-Progress LCP-State-Request-Sent 75 Ascend VALUE Ascend-Connect-Progress LCP-State-Ack-Received 76 Ascend VALUE Ascend-Connect-Progress LCP-State-Ack-Sent 77 Ascend VALUE Ascend-Connect-Progress IPXNCP-Opened 80 Ascend VALUE Ascend-Connect-Progress ATNCP-Opened 81 Ascend VALUE Ascend-Connect-Progress BACP-Opening 82 Ascend VALUE Ascend-Connect-Progress BACP-Opened 83 Ascend VALUE Ascend-Connect-Progress V110-Up 90 Ascend VALUE Ascend-Connect-Progress V110-State-Opened 91 Ascend VALUE Ascend-Connect-Progress V110-State-Carrier 92 Ascend VALUE Ascend-Connect-Progress V110-State-Reset 93 Ascend VALUE Ascend-Connect-Progress V110-State-Closed 94 Ascend VALUE Ascend-Data-Svc Switched-Voice-Bearer 0 VALUE Ascend-Data-Svc Switched-Voice-Bearer 0 Ascend VALUE Ascend-Data-Svc Switched-56KR 1 Ascend VALUE Ascend-Data-Svc Switched-56KR 1 VALUE Ascend-Data-Svc Switched-64K 2 VALUE Ascend-Data-Svc Switched-64K 2 Ascend VALUE Ascend-Data-Svc Switched-64KR 3 Ascend VALUE Ascend-Data-Svc Switched-64KR 3 VALUE Ascend-Data-Svc Switched-56K 4 VALUE Ascend-Data-Svc Switched-56K 4 Ascend VALUE Ascend-Data-Svc Switched-384KR 5 Ascend VALUE Ascend-Data-Svc Switched-384KR 5 VALUE Ascend-Data-Svc Switched-384K 6 VALUE Ascend-Data-Svc Switched-384K 6 Ascend VALUE Ascend-Data-Svc Switched-1536K 7 Ascend VALUE Ascend-Data-Svc Switched-1536K 7 VALUE Ascend-Data-Svc Switched-1536KR 8 VALUE Ascend-Data-Svc Switched-1536KR 8 Ascend VALUE Ascend-Data-Svc Switched-128K 9 Ascend VALUE Ascend-Data-Svc Switched-128K 9 VALUE Ascend-Data-Svc Switched-192K 10 VALUE Ascend-Data-Svc Switched-192K 10 Ascend VALUE Ascend-Data-Svc Switched-256K 11 Ascend VALUE Ascend-Data-Svc Switched-256K 11 VALUE Ascend-Data-Svc Switched-320K 12 VALUE Ascend-Data-Svc Switched-320K 12 Ascend VALUE Ascend-Data-Svc Switched-384K-MR 13 Ascend VALUE Ascend-Data-Svc Switched-384K-MR 13 VALUE Ascend-Data-Svc Switched-448K 14 VALUE Ascend-Data-Svc Switched-448K 14 Ascend VALUE Ascend-Data-Svc Switched-512K 15 Ascend VALUE Ascend-Data-Svc Switched-512K 15 VALUE Ascend-Data-Svc Switched-576K 16 VALUE Ascend-Data-Svc Switched-576K 16 Ascend VALUE Ascend-Data-Svc Switched-640K 17 Ascend VALUE Ascend-Data-Svc Switched-640K 17 VALUE Ascend-Data-Svc Switched-704K 18 VALUE Ascend-Data-Svc Switched-704K 18 Ascend VALUE Ascend-Data-Svc Switched-768K 19 Ascend VALUE Ascend-Data-Svc Switched-768K 19 VALUE Ascend-Data-Svc Switched-832K 20 VALUE Ascend-Data-Svc Switched-832K 20 Ascend VALUE Ascend-Data-Svc Switched-896K 21 Ascend VALUE Ascend-Data-Svc Switched-896K 21 VALUE Ascend-Data-Svc Switched-960K 22 VALUE Ascend-Data-Svc Switched-960K 22 Ascend VALUE Ascend-Data-Svc Switched-1024K 23 Ascend VALUE Ascend-Data-Svc Switched-1024K 23 VALUE Ascend-Data-Svc Switched-1088K 24 VALUE Ascend-Data-Svc Switched-1088K 24 Ascend VALUE Ascend-Data-Svc Switched-1152K 25 Ascend VALUE Ascend-Data-Svc Switched-1152K 25 VALUE Ascend-Data-Svc Switched-1216K 26 VALUE Ascend-Data-Svc Switched-1216K 26 Ascend VALUE Ascend-Data-Svc Switched-1280K 27 Ascend VALUE Ascend-Data-Svc Switched-1280K 27 VALUE Ascend-Data-Svc Switched-1344K 28 VALUE Ascend-Data-Svc Switched-1344K 28 Ascend VALUE Ascend-Data-Svc Switched-1408K 29 Ascend VALUE Ascend-Data-Svc Switched-1408K 29 VALUE Ascend-Data-Svc Switched-1472K 30 VALUE Ascend-Data-Svc Switched-1472K 30 Ascend VALUE Ascend-Data-Svc Switched-1600K 31 Ascend VALUE Ascend-Data-Svc Switched-1600K 31 VALUE Ascend-Data-Svc Switched-1664K 32 VALUE Ascend-Data-Svc Switched-1664K 32 Ascend VALUE Ascend-Data-Svc Switched-1728K 33 Ascend VALUE Ascend-Data-Svc Switched-1728K 33 VALUE Ascend-Data-Svc Switched-1792K 34 VALUE Ascend-Data-Svc Switched-1792K 34 Ascend VALUE Ascend-Data-Svc Switched-1856K 35 Ascend VALUE Ascend-Data-Svc Switched-1856K 35 VALUE Ascend-Data-Svc Switched-1920K 36 VALUE Ascend-Data-Svc Switched-1920K 36 Ascend VALUE Ascend-Data-Svc Switched-inherited 37 Ascend VALUE Ascend-Data-Svc Switched-restricted-bearer-x30 38 Ascend VALUE Ascend-Data-Svc Switched-clear-bearer-v110 39 Ascend VALUE Ascend-Data-Svc Switched-restricted-64-x30 40 Ascend VALUE Ascend-Data-Svc Switched-clear-56-v110 41 Ascend VALUE Ascend-Data-Svc Switched-modem 42 Ascend VALUE Ascend-Data-Svc Switched-atmodem 43 Ascend VALUE Ascend-Data-Svc Switched-V110-24-56 45 Ascend VALUE Ascend-Data-Svc Switched-V110-48-56 46 Ascend VALUE Ascend-Data-Svc Switched-V110-96-56 47 Ascend VALUE Ascend-Data-Svc Switched-V110-192-56 48 Ascend VALUE Ascend-Data-Svc Switched-V110-384-56 49 Ascend VALUE Ascend-Data-Svc Switched-V110-24-56R 50 Ascend VALUE Ascend-Data-Svc Switched-V110-48-56R 51 Ascend VALUE Ascend-Data-Svc Switched-V110-96-56R 52 Ascend VALUE Ascend-Data-Svc Switched-V110-192-56R 53 Ascend VALUE Ascend-Data-Svc Switched-V110-384-56R 54 Ascend VALUE Ascend-Data-Svc Switched-V110-24-64 55 Ascend VALUE Ascend-Data-Svc Switched-V110-48-64 56 Ascend VALUE Ascend-Data-Svc Switched-V110-96-64 57 Ascend VALUE Ascend-Data-Svc Switched-V110-192-64 58 Ascend VALUE Ascend-Data-Svc Switched-V110-384-64 59 Ascend VALUE Ascend-Data-Svc Switched-V110-24-64R 60 Ascend VALUE Ascend-Data-Svc Switched-V110-48-64R 61 Ascend VALUE Ascend-Data-Svc Switched-V110-96-64R 62 Ascend VALUE Ascend-Data-Svc Switched-V110-192-64R 63 Ascend VALUE Ascend-Data-Svc Switched-V110-384-64R 64 Ascend VALUE Ascend-Data-Svc Switched-Pots 68 Ascend VALUE Ascend-Data-Svc Switched-ATM 69 Ascend VALUE Ascend-Data-Svc Switched-FR 70 Ascend VALUE Ascend-DBA-Monitor DBA-Transmit 0 Ascend VALUE Ascend-DBA-Monitor DBA-Transmit-Recv 1 Ascend VALUE Ascend-DBA-Monitor DBA-None 2 Ascend VALUE Ascend-DHCP-Reply DHCP-Reply-No 0 Ascend VALUE Ascend-DHCP-Reply DHCP-Reply-Yes 1 Ascend VALUE Ascend-Dialout-Allowed Dialout-Not-Allowed 0 Ascend VALUE Ascend-Dialout-Allowed Dialout-Allowed 1 Ascend VALUE Ascend-Disconnect-Cause No-Reason 0 Ascend VALUE Ascend-Disconnect-Cause Not-Applicable 1 Ascend VALUE Ascend-Disconnect-Cause Unknown 2 Ascend VALUE Ascend-Disconnect-Cause Call-Disconnected 3 Ascend VALUE Ascend-Disconnect-Cause CLID-Authentication-Failed 4 Ascend VALUE Ascend-Disconnect-Cause CLID-RADIUS-Timeout 5 Ascend VALUE Ascend-Disconnect-Cause Modem-No-DCD 10 Ascend VALUE Ascend-Disconnect-Cause DCD-Detected-Then-Inactive 11 Ascend VALUE Ascend-Disconnect-Cause Modem-Invalid-Result-Codes 12 Ascend VALUE Ascend-Disconnect-Cause TermSrv-User-Quit 20 Ascend VALUE Ascend-Disconnect-Cause TermSrv-Idle-Timeout 21 Ascend VALUE Ascend-Disconnect-Cause TermSrv-Exit-Telnet 22 Ascend VALUE Ascend-Disconnect-Cause TermSrv-No-IPaddr 23 Ascend VALUE Ascend-Disconnect-Cause TermSrv-Exit-Raw-TCP 24 Ascend VALUE Ascend-Disconnect-Cause TermSrv-Exit-Login-Failed 25 Ascend VALUE Ascend-Disconnect-Cause TermSrv-Exit-Raw-TCP-Disabled 26 Ascend VALUE Ascend-Disconnect-Cause TermSrv-CTRL-C-In-Login 27 Ascend VALUE Ascend-Disconnect-Cause TermSrv-Destroyed 28 Ascend VALUE Ascend-Disconnect-Cause TermSrv-User-Closed-VCon 29 Ascend VALUE Ascend-Disconnect-Cause TermSrv-VCon-Destroyed 30 Ascend VALUE Ascend-Disconnect-Cause TermSrv-Exit-Rlogin 31 Ascend VALUE Ascend-Disconnect-Cause TermSrv-Bad-Rlogin-Option 32 Ascend VALUE Ascend-Disconnect-Cause TermSrv-Not-Enough-Resources 33 Ascend VALUE Ascend-Disconnect-Cause MPP-No-NULL-Msg-Timeout 35 Ascend VALUE Ascend-Disconnect-Cause PPP-LCP-Timeout 40 Ascend VALUE Ascend-Disconnect-Cause PPP-LCP-Negotion-Failed 41 Ascend VALUE Ascend-Disconnect-Cause PPP-PAP-Auth-Failed 42 Ascend VALUE Ascend-Disconnect-Cause PPP-CHAP-Auth-Failed 43 Ascend VALUE Ascend-Disconnect-Cause PPP-Rmt-Auth-Failed 44 Ascend VALUE Ascend-Disconnect-Cause PPP-Rcv-Terminate-Req 45 Ascend VALUE Ascend-Disconnect-Cause PPP-Rcv-Close-Event 46 Ascend VALUE Ascend-Disconnect-Cause PPP-No-NCPs-Open 47 Ascend VALUE Ascend-Disconnect-Cause PPP-MP-Bundle-Unknown 48 Ascend VALUE Ascend-Disconnect-Cause PPP-LCP-Close-MP-Add-Fail 49 Ascend VALUE Ascend-Disconnect-Cause Session-Table-Full 50 Ascend VALUE Ascend-Disconnect-Cause Out-Of-Resources 51 Ascend VALUE Ascend-Disconnect-Cause Invalid-IP-Address 52 Ascend VALUE Ascend-Disconnect-Cause Hostname-Resolution-Failed 53 Ascend VALUE Ascend-Disconnect-Cause Bad-Or-Missing-Port-Number 54 Ascend VALUE Ascend-Disconnect-Cause Host-Reset 60 Ascend VALUE Ascend-Disconnect-Cause Connection-Refused 61 Ascend VALUE Ascend-Disconnect-Cause Connection-Timeout 62 Ascend VALUE Ascend-Disconnect-Cause Connection-Closed 63 Ascend VALUE Ascend-Disconnect-Cause Network-Unreachable 64 Ascend VALUE Ascend-Disconnect-Cause Host-Unreachable 65 Ascend VALUE Ascend-Disconnect-Cause Network-Unreachable-Admin 66 Ascend VALUE Ascend-Disconnect-Cause Host-Unreachable-Admin 67 Ascend VALUE Ascend-Disconnect-Cause Port-Unreachable 68 Ascend VALUE Ascend-Disconnect-Cause Session-Timeout 100 Ascend VALUE Ascend-Disconnect-Cause Invalid-Incoming-User 101 Ascend VALUE Ascend-Disconnect-Cause Disconnect-Due-To-Callback 102 Ascend VALUE Ascend-Disconnect-Cause Proto-Disabled-Or-Unsupported 120 Ascend VALUE Ascend-Disconnect-Cause Disconnect-Req-By-RADIUS 150 Ascend VALUE Ascend-Disconnect-Cause Disconnect-Req-By-Local-Admin 151 Ascend VALUE Ascend-Disconnect-Cause V110-Timeout-Sync-Retry-Exceed 160 Ascend VALUE Ascend-Disconnect-Cause PPP-Auth-Timeout-Exceeded 170 Ascend VALUE Ascend-Disconnect-Cause User-Executed-Do-Hangup 180 Ascend VALUE Ascend-Disconnect-Cause Remote-End-Hung-Up 185 Ascend VALUE Ascend-Disconnect-Cause Resource-Has-Been-Quiesced 190 Ascend VALUE Ascend-Disconnect-Cause Max-Call-Duration-Reached 195 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-7168000 0 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-6272000 1 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-5120000 2 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-4480000 3 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-3200000 4 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-2688000 5 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-2560000 6 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-2240000 7 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-1920000 8 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-1600000 9 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-1280000 10 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-960000 11 Ascend VALUE Ascend-Dsl-Downstream-Limit adslcap-dn-640000 12 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-auto 100 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-9504000 101 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-8960000 102 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-8000000 103 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-7168000 104 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-6272000 105 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-5120000 106 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-4480000 107 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-3200000 108 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-2688000 109 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-2560000 110 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-2240000 111 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-1920000 112 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-1600000 113 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-1280000 114 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-960000 115 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-768000 116 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-640000 117 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-512000 118 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-384000 119 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-256000 120 Ascend VALUE Ascend-Dsl-Downstream-Limit adsldmt-dn-128000 121 Ascend VALUE Ascend-Dsl-Rate-Mode Rate-Mode-AutoBaud 1 Ascend VALUE Ascend-Dsl-Rate-Mode Rate-Mode-Single 2 Ascend VALUE Ascend-Dsl-Rate-Type Rate-Type-Disabled 0 Ascend VALUE Ascend-Dsl-Rate-Type Rate-Type-Sdsl 1 Ascend VALUE Ascend-Dsl-Rate-Type Rate-Type-AdslCap 2 Ascend VALUE Ascend-Dsl-Rate-Type Rate-Type-AdslDmtCell 3 Ascend VALUE Ascend-Dsl-Rate-Type Rate-Type-AdslDmt 4 Ascend VALUE Ascend-Dsl-Upstream-Limit sdsl-144000 0 Ascend VALUE Ascend-Dsl-Upstream-Limit sdsl-272000 1 Ascend VALUE Ascend-Dsl-Upstream-Limit sdsl-400000 2 Ascend VALUE Ascend-Dsl-Upstream-Limit sdsl-528000 3 Ascend VALUE Ascend-Dsl-Upstream-Limit sdsl-784000 4 Ascend VALUE Ascend-Dsl-Upstream-Limit sdsl-1168000 5 Ascend VALUE Ascend-Dsl-Upstream-Limit sdsl-1552000 6 Ascend VALUE Ascend-Dsl-Upstream-Limit sdsl-2320000 7 Ascend VALUE Ascend-Dsl-Upstream-Limit adslcap-up-1088000 50 Ascend VALUE Ascend-Dsl-Upstream-Limit adslcap-up-952000 51 Ascend VALUE Ascend-Dsl-Upstream-Limit adslcap-up-816000 52 Ascend VALUE Ascend-Dsl-Upstream-Limit adslcap-up-680000 53 Ascend VALUE Ascend-Dsl-Upstream-Limit adslcap-up-544000 54 Ascend VALUE Ascend-Dsl-Upstream-Limit adslcap-up-408000 55 Ascend VALUE Ascend-Dsl-Upstream-Limit adslcap-up-272000 56 Ascend VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-auto 150 Ascend VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-1088000 151 Ascend VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-928000 152 Ascend VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-896000 153 Ascend VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-800000 154 Ascend VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-768000 155 Ascend VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-640000 156 Ascend VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-512000 157 Ascend VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-384000 158 Ascend VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-256000 159 Ascend VALUE Ascend-Dsl-Upstream-Limit adsldmt-up-128000 160 Ascend VALUE Ascend-Event-Type Ascend-ColdStart 1 Ascend VALUE Ascend-Event-Type Ascend-Session-Event 2 Ascend VALUE Ascend-Expect-Callback Expect-Callback-No 0 Ascend VALUE Ascend-Expect-Callback Expect-Callback-Yes 1 Ascend VALUE Ascend-Filter-Required Required-No 0 Ascend VALUE Ascend-Filter-Required Required-Yes 1 Ascend VALUE Ascend-Force-56 Force-56-No 0 VALUE Ascend-Force-56 Force-56-No 0 Ascend VALUE Ascend-Force-56 Force-56-Yes 1 Ascend VALUE Ascend-Force-56 Force-56-Yes 1 VALUE Ascend-FR-Direct FR-Direct-No 0 VALUE Ascend-FR-Direct FR-Direct-No 0 Ascend VALUE Ascend-FR-Direct FR-Direct-Yes 1 Ascend VALUE Ascend-FR-Direct FR-Direct-Yes 1 VALUE Ascend-FR-Link-Mgt Ascend-FR-No-Link-Mgt 0 Ascend VALUE Ascend-FR-Link-Mgt Ascend-FR-T1-617D 1 Ascend VALUE Ascend-FR-Link-Mgt Ascend-FR-Q-933A 2 Ascend VALUE Ascend-FR-LinkUp Ascend-LinkUp-Default 0 Ascend VALUE Ascend-FR-LinkUp Ascend-LinkUp-AlwaysUp 1 Ascend VALUE Ascend-FR-Type Ascend-FR-DTE 0 Ascend VALUE Ascend-FR-Type Ascend-FR-DCE 1 Ascend VALUE Ascend-FR-Type Ascend-FR-NNI 2 Ascend VALUE Ascend-FT1-Caller FT1-No 0 Ascend VALUE Ascend-FT1-Caller FT1-Yes 1 Ascend VALUE Ascend-Handle-IPX Handle-IPX-None 0 VALUE Ascend-Handle-IPX Handle-IPX-None 0 Ascend VALUE Ascend-Handle-IPX Handle-IPX-Client 1 Ascend VALUE Ascend-Handle-IPX Handle-IPX-Client 1 VALUE Ascend-Handle-IPX Handle-IPX-Server 2 VALUE Ascend-Handle-IPX Handle-IPX-Server 2 Ascend VALUE Ascend-History-Weigh-Type History-Constant 0 VALUE Ascend-History-Weigh-Type History-Constant 0 Ascend VALUE Ascend-History-Weigh-Type History-Linear 1 Ascend VALUE Ascend-History-Weigh-Type History-Linear 1 VALUE Ascend-History-Weigh-Type History-Quadratic 2 VALUE Ascend-History-Weigh-Type History-Quadratic 2 Ascend VALUE Ascend-IP-Pool-Chaining IP-Pool-Chaining-No 0 Ascend VALUE Ascend-IP-Pool-Chaining IP-Pool-Chaining-Yes 1 Ascend VALUE Ascend-IP-TOS IP-TOS-Normal 0 Ascend VALUE Ascend-IP-TOS IP-TOS-Disabled 1 Ascend VALUE Ascend-IP-TOS IP-TOS-Cost 2 Ascend VALUE Ascend-IP-TOS IP-TOS-Reliability 4 Ascend VALUE Ascend-IP-TOS IP-TOS-Throughput 8 Ascend VALUE Ascend-IP-TOS IP-TOS-Latency 16 Ascend VALUE Ascend-IP-TOS-Apply-To IP-TOS-Apply-To-Incoming 1024 Ascend VALUE Ascend-IP-TOS-Apply-To IP-TOS-Apply-To-Outgoing 2048 Ascend VALUE Ascend-IP-TOS-Apply-To IP-TOS-Apply-To-Both 3072 Ascend VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Normal 0 Ascend VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-One 32 Ascend VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Two 64 Ascend VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Three 96 Ascend VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Four 128 Ascend VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Five 160 Ascend VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Six 192 Ascend VALUE Ascend-IP-TOS-Precedence IP-TOS-Precedence-Pri-Seven 224 Ascend VALUE Ascend-IPX-Header-Compression IPX-Header-Compression-No 0 Ascend VALUE Ascend-IPX-Header-Compression IPX-Header-Compression-Yes 1 Ascend VALUE Ascend-IPX-Peer-Mode IPX-Peer-Router 0 VALUE Ascend-IPX-Peer-Mode IPX-Peer-Router 0 Ascend VALUE Ascend-IPX-Peer-Mode IPX-Peer-Dialin 1 Ascend VALUE Ascend-IPX-Peer-Mode IPX-Peer-Dialin 1 VALUE Ascend-Link-Compression Link-Comp-None 0 VALUE Ascend-Link-Compression Link-Comp-None 0 Ascend VALUE Ascend-Link-Compression Link-Comp-Stac 1 Ascend VALUE Ascend-Link-Compression Link-Comp-Stac 1 VALUE Ascend-Link-Compression Link-Comp-Stac-Draft-9 2 Ascend VALUE Ascend-Link-Compression Link-Comp-MS-Stac 3 Ascend VALUE Ascend-Multicast-Client Multicast-No 0 Ascend VALUE Ascend-Multicast-Client Multicast-Yes 1 Ascend VALUE Ascend-NAS-Port-Format Unknown 0 Ascend VALUE Ascend-NAS-Port-Format 2_4_6_4 1 Ascend VALUE Ascend-NAS-Port-Format 2_4_5_5 2 Ascend VALUE Ascend-NAS-Port-Format 1_2_2 3 Ascend VALUE Ascend-Numbering-Plan-ID Unknown-Numbering-Plan 0 Ascend VALUE Ascend-Numbering-Plan-ID ISDN-Numbering-Plan 1 Ascend VALUE Ascend-Numbering-Plan-ID Private-Numbering-Plan 9 Ascend VALUE Ascend-Port-Redir-Protocol Ascend-Proto-TCP 6 Ascend VALUE Ascend-Port-Redir-Protocol Ascend-Proto-UDP 17 Ascend VALUE Ascend-PPP-VJ-1172 PPP-VJ-1172 1 VALUE Ascend-PPP-VJ-1172 PPP-VJ-1172 1 Ascend VALUE Ascend-PPP-VJ-Slot-Comp VJ-Slot-Comp-No 1 VALUE Ascend-PPP-VJ-Slot-Comp VJ-Slot-Comp-No 1 Ascend VALUE Ascend-PPPoE-Enable PPPoE-No 0 Ascend VALUE Ascend-PPPoE-Enable PPPoE-Yes 1 Ascend VALUE Ascend-PRI-Number-Type Unknown-Number 0 VALUE Ascend-PRI-Number-Type Unknown-Number 0 Ascend VALUE Ascend-PRI-Number-Type Intl-Number 1 Ascend VALUE Ascend-PRI-Number-Type Intl-Number 1 VALUE Ascend-PRI-Number-Type National-Number 2 VALUE Ascend-PRI-Number-Type National-Number 2 Ascend VALUE Ascend-PRI-Number-Type Net-Specific-Number 3 Ascend VALUE Ascend-PRI-Number-Type Local-Number 4 Ascend VALUE Ascend-PRI-Number-Type Local-Number 4 VALUE Ascend-PRI-Number-Type Abbrev-Number 5 VALUE Ascend-PRI-Number-Type Abbrev-Number 5 Ascend VALUE Ascend-PRI-Number-Type Abbrev-Number 6 Ascend VALUE Ascend-Private-Route-Required Required-No 0 Ascend VALUE Ascend-Private-Route-Required Required-Yes 1 Ascend VALUE Ascend-PW-Lifetime Lifetime-In-Days 0 VALUE Ascend-PW-Lifetime Lifetime-In-Days 0 Ascend VALUE Ascend-PW-Warntime Days-Of-Warning 0 VALUE Ascend-PW-Warntime Days-Of-Warning 0 Ascend VALUE Ascend-Require-Auth Not-Require-Auth 0 Ascend VALUE Ascend-Require-Auth Not-Require-Auth 0 VALUE Ascend-Require-Auth Require-Auth 1 VALUE Ascend-Require-Auth Require-Auth 1 Ascend VALUE Ascend-Route-Appletalk Route-Appletalk-No 0 Ascend VALUE Ascend-Route-Appletalk Route-Appletalk-Yes 1 Ascend VALUE Ascend-Route-IP Route-IP-No 0 VALUE Ascend-Route-IP Route-IP-No 0 Ascend VALUE Ascend-Route-IP Route-IP-Yes 1 Ascend VALUE Ascend-Route-IP Route-IP-Yes 1 VALUE Ascend-Route-IPX Route-IPX-No 0 VALUE Ascend-Route-IPX Route-IPX-No 0 Ascend VALUE Ascend-Route-IPX Route-IPX-Yes 1 Ascend VALUE Ascend-Route-IPX Route-IPX-Yes 1 VALUE Ascend-Send-Auth Send-Auth-None 0 VALUE Ascend-Send-Auth Send-Auth-None 0 Ascend VALUE Ascend-Send-Auth Send-Auth-PAP 1 Ascend VALUE Ascend-Send-Auth Send-Auth-PAP 1 VALUE Ascend-Send-Auth Send-Auth-CHAP 2 VALUE Ascend-Send-Auth Send-Auth-CHAP 2 Ascend VALUE Ascend-Send-Auth Send-Auth-MS-CHAP 3 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-NotUsed 0 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-None 1 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-Other 2 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-PPP 3 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-Slip 4 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-MPP 5 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-X25 6 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-Combinet 7 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-FR 8 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-EuRaw 9 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-EuUi 10 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-Telnet 11 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-TelnetBin 12 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-RawTcp 13 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-TermServer 14 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-MP 15 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-VirtualConn 16 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-X25DChan 17 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-PseuTunPPP 18 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-IpFax 19 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-ATM 20 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-HdlcNrm 21 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-VoIp 22 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-Visa2 23 Ascend VALUE Ascend-Service-Type Ascend-Service-Type-NetToNet 25 Ascend VALUE Ascend-Session-Type Ascend-Session-Unused 0 Ascend VALUE Ascend-Session-Type Ascend-Session-Unknown 1 Ascend VALUE Ascend-Session-Type Ascend-Session-G711-Ulaw 2 Ascend VALUE Ascend-Session-Type Ascend-Session-G711-Alaw 3 Ascend VALUE Ascend-Session-Type Ascend-Session-G723 4 Ascend VALUE Ascend-Session-Type Ascend-Session-G729 5 Ascend VALUE Ascend-Session-Type Ascend-Session-G723-64KPS 6 Ascend VALUE Ascend-Session-Type Ascend-Session-G728 7 Ascend VALUE Ascend-Session-Type Ascend-Session-RT24 8 Ascend VALUE Ascend-Shared-Profile-Enable Shared-Profile-No 0 VALUE Ascend-Shared-Profile-Enable Shared-Profile-No 0 Ascend VALUE Ascend-Shared-Profile-Enable Shared-Profile-Yes 1 Ascend VALUE Ascend-Shared-Profile-Enable Shared-Profile-Yes 1 VALUE Ascend-Source-IP-Check Source-IP-Check-No 0 Ascend VALUE Ascend-Source-IP-Check Source-IP-Check-Yes 1 Ascend VALUE Ascend-SVC-Enabled Ascend-SVC-Enabled-No 0 Ascend VALUE Ascend-SVC-Enabled Ascend-SVC-Enabled-Yes 1 Ascend VALUE Ascend-Temporary-Rtes Temp-Rtes-No 0 Ascend VALUE Ascend-Temporary-Rtes Temp-Rtes-Yes 1 Ascend VALUE Ascend-Token-Immediate Tok-Imm-No 0 Ascend VALUE Ascend-Token-Immediate Tok-Imm-No 0 VALUE Ascend-Token-Immediate Tok-Imm-Yes 1 VALUE Ascend-Token-Immediate Tok-Imm-Yes 1 Ascend VALUE Ascend-TS-Idle-Mode TS-Idle-None 0 Ascend VALUE Ascend-TS-Idle-Mode TS-Idle-Input 1 Ascend VALUE Ascend-TS-Idle-Mode TS-Idle-Input-Output 2 Ascend VALUE Ascend-Tunneling-Protocol ATMP-Tunnel 0 Ascend VALUE Ascend-Tunneling-Protocol VTP-Tunnel 1 Ascend VALUE Ascend-User-Acct-Base Base-10 0 Ascend VALUE Ascend-User-Acct-Base Base-16 1 Ascend VALUE Ascend-User-Acct-Type Ascend-User-Acct-None 0 Ascend VALUE Ascend-User-Acct-Type Ascend-User-Acct-User 1 Ascend VALUE Ascend-User-Acct-Type Ascend-User-Acct-User-Default 2 Ascend VALUE Ascend-X25-Pad-X3-Profile CRT 0 Ascend VALUE Ascend-X25-Pad-X3-Profile INFONET 1 Ascend VALUE Ascend-X25-Pad-X3-Profile DEFAULT 2 Ascend VALUE Ascend-X25-Pad-X3-Profile SCEN 3 Ascend VALUE Ascend-X25-Pad-X3-Profile CC_SSP 4 Ascend VALUE Ascend-X25-Pad-X3-Profile CC_TSP 5 Ascend VALUE Ascend-X25-Pad-X3-Profile HARDCOPY 6 Ascend VALUE Ascend-X25-Pad-X3-Profile HDX 7 Ascend VALUE Ascend-X25-Pad-X3-Profile SHARK 8 Ascend VALUE Ascend-X25-Pad-X3-Profile POS 9 Ascend VALUE Ascend-X25-Pad-X3-Profile NULL 10 Ascend VALUE Ascend-X25-Pad-X3-Profile CUSTOM 11 Ascend VALUE Ascend-X25-Reverse-Charging Reverse-Charging-No 0 Ascend VALUE Ascend-X25-Reverse-Charging Reverse-Charging-Yes 1 Ascend VALUE Bind-Auth-Protocol AAA-PPP-PAP 1 Redback VALUE Bind-Auth-Protocol AAA-PPP-CHAP 2 Redback VALUE Bind-Auth-Protocol AAA-PPP-CHAP-WAIT 3 Redback VALUE Bind-Auth-Protocol AAA-PPP-CHAP-PAP 4 Redback VALUE Bind-Auth-Protocol AAA-PPP-CHAP-WAIT-PAP 5 Redback VALUE Bind-Type AAA-AUTH-BIND 1 Redback VALUE Bind-Type AAA-BYPASS-BIND 2 Redback VALUE Bind-Type AAA-INTERFACE-BIND 3 Redback VALUE Bind-Type AAA-SUBSCRIBE-BIND 4 Redback VALUE Bind-Type AAA-TUNNEL-BIND 5 Redback VALUE Bind-Type AAA-SESSION-BIND 6 Redback VALUE Bind-Type AAA-Q8021-BIND 7 Redback VALUE Bind-Type AAA-MULTI-BIND 8 Redback VALUE Cabletron-Protocol-Callable IP-Callable 1 Cabletron VALUE Cabletron-Protocol-Callable Bridge-Callable 2 Cabletron VALUE Cabletron-Protocol-Callable IP-BR-Callable 3 Cabletron VALUE Cabletron-Protocol-Callable BR-IPX-Callable 6 Cabletron VALUE Cabletron-Protocol-Callable IP-BR-IPX-Callable 7 Cabletron VALUE Cabletron-Protocol-Enable IP-Enable 1 Cabletron VALUE Cabletron-Protocol-Enable Bridge-Enable 2 Cabletron VALUE Cabletron-Protocol-Enable IP-BR-Enable 3 Cabletron VALUE Cabletron-Protocol-Enable BR-IPX-Enable 6 Cabletron VALUE Cabletron-Protocol-Enable IP-BR-IPX-Enable 7 Cabletron VALUE Cisco-Disconnect-Cause Unknown 2 Cisco VALUE Cisco-Disconnect-Cause CLID-Authentication-Failure 4 Cisco VALUE Cisco-Disconnect-Cause No-Carrier 10 Cisco VALUE Cisco-Disconnect-Cause Lost-Carrier 11 Cisco VALUE Cisco-Disconnect-Cause No-Detected-Result-Codes 12 Cisco VALUE Cisco-Disconnect-Cause User-Ends-Session 20 Cisco VALUE Cisco-Disconnect-Cause Idle-Timeout 21 Cisco VALUE Cisco-Disconnect-Cause Exit-Telnet-Session 22 Cisco VALUE Cisco-Disconnect-Cause No-Remote-IP-Addr 23 Cisco VALUE Cisco-Disconnect-Cause Exit-Raw-TCP 24 Cisco VALUE Cisco-Disconnect-Cause Password-Fail 25 Cisco VALUE Cisco-Disconnect-Cause Raw-TCP-Disabled 26 Cisco VALUE Cisco-Disconnect-Cause Control-C-Detected 27 Cisco VALUE Cisco-Disconnect-Cause EXEC-Program-Destroyed 28 Cisco VALUE Cisco-Disconnect-Cause Timeout-PPP-LCP 40 Cisco VALUE Cisco-Disconnect-Cause Failed-PPP-LCP-Negotiation 41 Cisco VALUE Cisco-Disconnect-Cause Failed-PPP-PAP-Auth-Fail 42 Cisco VALUE Cisco-Disconnect-Cause Failed-PPP-CHAP-Auth 43 Cisco VALUE Cisco-Disconnect-Cause Failed-PPP-Remote-Auth 44 Cisco VALUE Cisco-Disconnect-Cause PPP-Remote-Terminate 45 Cisco VALUE Cisco-Disconnect-Cause PPP-Closed-Event 46 Cisco VALUE Cisco-Disconnect-Cause Session-Timeout 100 Cisco VALUE Cisco-Disconnect-Cause Session-Failed-Security 101 Cisco VALUE Cisco-Disconnect-Cause Session-End-Callback 102 Cisco VALUE Cisco-Disconnect-Cause Invalid-Protocol 120 Cisco VALUE ERX-Atm-Service-Category UBR 1 ERX VALUE ERX-Atm-Service-Category UBRPCR 2 ERX VALUE ERX-Atm-Service-Category nrtVBR 3 ERX VALUE ERX-Atm-Service-Category CBR 4 ERX VALUE ERX-Egress-Statistics disable 0 ERX VALUE ERX-Egress-Statistics enable 1 ERX VALUE ERX-Igmp-Enable disable 0 ERX VALUE ERX-Igmp-Enable enable 1 ERX VALUE ERX-Ingress-Statistics disable 0 ERX VALUE ERX-Ingress-Statistics enable 1 ERX VALUE ERX-Qos-Profile-Interface-Type IP 1 ERX VALUE ERX-Qos-Profile-Interface-Type ATM 2 ERX VALUE ERX-Qos-Profile-Interface-Type HDLC 3 ERX VALUE ERX-Qos-Profile-Interface-Type ETHERNET 4 ERX VALUE ERX-Qos-Profile-Interface-Type SERVER-PORT 5 ERX VALUE ERX-Qos-Profile-Interface-Type ATM-1483 6 ERX VALUE ERX-Qos-Profile-Interface-Type FRAME-RELAY 7 ERX VALUE ERX-Qos-Profile-Interface-Type MPLS-MINOR 8 ERX VALUE ERX-Qos-Profile-Interface-Type CBF 9 ERX VALUE ERX-Qos-Profile-Interface-Type IP-TUNNEL 10 ERX VALUE ERX-Qos-Profile-Interface-Type VLAN-SUB 11 ERX VALUE ERX-Qos-Profile-Interface-Type PPPOE-SUB 12 ERX VALUE ERX-Sa-Validate disable 0 ERX VALUE ERX-Sa-Validate enable 1 ERX VALUE ERX-Tunnel-Nas-Port-Method None 0 ERX VALUE ERX-Tunnel-Nas-Port-Method CISCO-CLID 1 ERX VALUE Framed-Compression None 0 VALUE Framed-Compression Van-Jacobsen-TCP-IP 1 VALUE Framed-Compression IPX-Header-Compression 2 VALUE Framed-Protocol PPP 1 VALUE Framed-Protocol SLIP 2 VALUE Framed-Protocol ARA 3 VALUE Framed-Protocol Gandalf 4 VALUE Framed-Protocol Xylogics 5 VALUE Framed-Protocol GPRS-PDP-Context 7 VALUE Framed-Protocol PPTP 9 VALUE Framed-Protocol ARA 255 VALUE Framed-Protocol MPP 256 VALUE Framed-Protocol EURAW 257 VALUE Framed-Protocol EUUI 258 VALUE Framed-Protocol X25 259 VALUE Framed-Protocol COMB 260 VALUE Framed-Protocol FR 261 VALUE Framed-Protocol MP 262 VALUE Framed-Protocol FR-CIR 263 VALUE Framed-Protocol X25 17825794 VALUE Framed-Protocol X25-PPP 17825795 VALUE Framed-Protocol IP-LAPB 17825796 VALUE Framed-Protocol IP-HDLC 17825798 VALUE Framed-Protocol MPR-LAPB 17825799 VALUE Framed-Protocol MPR-HDLC 17825800 VALUE Framed-Protocol FRAME-RELAY 17825801 VALUE Framed-Protocol X31-BCHAN 17825802 VALUE Framed-Protocol X75-PPP 17825803 VALUE Framed-Protocol X75BTX-PPP 17825804 VALUE Framed-Protocol X25-NOSIG 17825805 VALUE Framed-Protocol X25-PPP-OPT 17825806 VALUE Framed-Routing None 0 VALUE Framed-Routing Broadcast 1 VALUE Framed-Routing Listen 2 VALUE Framed-Routing Broadcast-Listen 3 VALUE KarlNet-TurboCell-OpMode Peer-to-Peer 0 KarlNet VALUE KarlNet-TurboCell-OpMode Base 1 KarlNet VALUE KarlNet-TurboCell-OpMode Base-Polling 2 KarlNet VALUE KarlNet-TurboCell-OpMode Satellite-NT 3 KarlNet VALUE KarlNet-TurboCell-OpState Up 0 KarlNet VALUE KarlNet-TurboCell-OpState Down 1 KarlNet VALUE KarlNet-TurboCell-TxRate TxRate-Local 0 KarlNet VALUE KarlNet-TurboCell-TxRate TxRate-MaxSpeed 8 KarlNet VALUE KarlNet-TurboCell-TxRate TxRate-64k 16 KarlNet VALUE KarlNet-TurboCell-TxRate TxRate-128k 24 KarlNet VALUE KarlNet-TurboCell-TxRate TxRate-256k 32 KarlNet VALUE KarlNet-TurboCell-TxRate TxRate-512k 40 KarlNet VALUE KarlNet-TurboCell-TxRate TxRate-1Mbps 48 KarlNet VALUE KarlNet-TurboCell-TxRate TxRate-T1 56 KarlNet VALUE KarlNet-TurboCell-TxRate TxRate-2T1 64 KarlNet VALUE KarlNet-TurboCell-TxRate TxRate-3T1 72 KarlNet VALUE LAC-Port-Type NAS-PORT-TYPE-10BT 40 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-100BT 41 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-DS3-FR 42 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-DS3-ATM 43 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-OC3 44 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-HSSI 45 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-EIA530 46 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-T1 47 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-CHAN-T3 48 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-DS1-FR 49 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-E3-ATM 50 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-IMA-ATM 51 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-DS3-ATM-2 52 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-OC3-ATM-2 53 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-1000BSX 54 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-E1-FR 55 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-E1-ATM 56 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-E3-FR 57 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-OC3-POS 58 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-OC12-POS 59 Redback VALUE LAC-Port-Type NAS-PORT-TYPE-PPPOE 60 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-10BT 40 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-100BT 41 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS3-FR 42 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS3-ATM 43 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC3 44 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-HSSI 45 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-EIA530 46 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-T1 47 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-CHAN-T3 48 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS1-FR 49 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E3-ATM 50 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-IMA-ATM 51 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-DS3-ATM-2 52 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC3-ATM-2 53 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-1000BSX 54 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E1-FR 55 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E1-ATM 56 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-E3-FR 57 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC3-POS 58 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-OC12-POS 59 Redback VALUE LAC-Real-Port-Type NAS-PORT-TYPE-PPPOE 60 Redback VALUE LE-IPSec-Deny-Action Drop 1 Livingston VALUE LE-IPSec-Deny-Action ICMP-Reject 2 Livingston VALUE LE-IPSec-Deny-Action Pass-Through 3 Livingston VALUE LE-IPSec-Log-Options SA-Success-On 1 Livingston VALUE LE-IPSec-Log-Options SA-Failure-On 2 Livingston VALUE LE-IPSec-Log-Options Console-On 3 Livingston VALUE LE-IPSec-Log-Options Syslog-On 4 Livingston VALUE LE-IPSec-Log-Options SA-Success-Off 5 Livingston VALUE LE-IPSec-Log-Options SA-Failure-Off 6 Livingston VALUE LE-IPSec-Log-Options Console-Off 7 Livingston VALUE LE-IPSec-Log-Options Syslog-Off 8 Livingston VALUE LE-Multicast-Client On 1 Livingston VALUE LE-NAT-Log-Options Session-Success-On 1 Livingston VALUE LE-NAT-Log-Options Session-Failure-On 2 Livingston VALUE LE-NAT-Log-Options Console-On 3 Livingston VALUE LE-NAT-Log-Options Syslog-On 4 Livingston VALUE LE-NAT-Log-Options Success-Off 5 Livingston VALUE LE-NAT-Log-Options Failure-Off 6 Livingston VALUE LE-NAT-Log-Options Console-Off 7 Livingston VALUE LE-NAT-Log-Options Syslog-Off 8 Livingston VALUE LE-NAT-Sess-Dir-Fail-Action Drop 1 Livingston VALUE LE-NAT-Sess-Dir-Fail-Action ICMP-Reject 2 Livingston VALUE LE-NAT-Sess-Dir-Fail-Action Pass-Through 3 Livingston VALUE Login-Service Telnet 0 VALUE Login-Service Rlogin 1 VALUE Login-Service TCP-Clear 2 VALUE Login-Service PortMaster 3 VALUE Login-Service LAT 4 VALUE Login-Service X25-PAD 5 VALUE Login-Service X25-T3POS 6 VALUE Login-Service TCP-Clear-Quiet 7 VALUE Mcast-Receive NO-RECEIVE 1 Redback VALUE Mcast-Receive RECEIVE 2 Redback VALUE Mcast-Send NO-SEND 1 Redback VALUE Mcast-Send SEND 2 Redback VALUE Mcast-Send UNSOLICITED-SEND 3 Redback VALUE MS-Acct-Auth-Type PAP 1 Microsoft VALUE MS-Acct-Auth-Type CHAP 2 Microsoft VALUE MS-Acct-Auth-Type MS-CHAP-1 3 Microsoft VALUE MS-Acct-Auth-Type MS-CHAP-2 4 Microsoft VALUE MS-Acct-Auth-Type EAP 5 Microsoft VALUE MS-Acct-EAP-Type MD5 4 Microsoft VALUE MS-Acct-EAP-Type OTP 5 Microsoft VALUE MS-Acct-EAP-Type Generic-Token-Card 6 Microsoft VALUE MS-Acct-EAP-Type TLS 13 Microsoft VALUE MS-ARAP-PW-Change-Reason Just-Change-Password 1 Microsoft VALUE MS-ARAP-PW-Change-Reason Expired-Password 2 Microsoft VALUE MS-ARAP-PW-Change-Reason Admin-Requires-Password-Change 3 Microsoft VALUE MS-ARAP-PW-Change-Reason Password-Too-Short 4 Microsoft VALUE MS-BAP-Usage Not-Allowed 0 Microsoft VALUE MS-BAP-Usage Allowed 1 Microsoft VALUE MS-BAP-Usage Required 2 Microsoft VALUE NAS-Port-Type Async 0 VALUE NAS-Port-Type Sync 1 VALUE NAS-Port-Type ISDN 2 VALUE NAS-Port-Type ISDN-V120 3 VALUE NAS-Port-Type ISDN-V110 4 VALUE NAS-Port-Type Virtual 5 VALUE NAS-Port-Type PAIFS 6 VALUE NAS-Port-Type HDLC-Clear-Channel 7 VALUE NAS-Port-Type X25 8 VALUE NAS-Port-Type X75 9 VALUE NAS-Port-Type SDSL 11 VALUE NAS-Port-Type ADSL-CAP 12 VALUE NAS-Port-Type ADSL-DMT 13 VALUE NAS-Port-Type IDSL 14 VALUE NAS-Port-Type Ethernet 15 VALUE NAS-Port-Type xDSL 16 VALUE NAS-Port-Type Cable 17 VALUE NAS-Port-Type Wireless-Other 18 VALUE NAS-Port-Type Token-Ring 20 VALUE NAS-Port-Type FDDI 21 VALUE NAS-Port-Type Wireless-CDMA2000 22 VALUE NAS-Port-Type Wireless-UMTS 23 VALUE NAS-Port-Type Wireless-1X-EV 24 VALUE NAS-Port-Type IAPP 25 VALUE NS-Admin-Privilege Root-Admin 1 Netscreen VALUE NS-Admin-Privilege All-VSYS-Root-Admin 2 Netscreen VALUE NS-Admin-Privilege VSYS-Admin 3 Netscreen VALUE NS-Admin-Privilege Read-Only-Admin 4 Netscreen VALUE NS-Admin-Privilege Read-Only-VSYS-Admin 5 Netscreen VALUE Prompt No-Echo 1 VALUE Prompt Echo 2 VALUE PVC-Circuit-Padding AAA-CIRCUIT-PADDING 1 Redback VALUE PVC-Circuit-Padding AAA-CIRCUIT-NO-PADDING 2 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-RAW 1 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-ROUTE1483 2 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-AUTO1483 3 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-MULTI 4 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-BRIDGE1483 5 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP 6 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-SERIAL 7 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-NLPID 8 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-AUTO 9 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPPOE 10 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-L2TP 11 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ATM-PPP-LLC 12 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-AUTO1490 13 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-MULTI 14 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-BRIDGE1490 15 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-PPP 16 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-PPP-AUTO 17 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-PPPOE 18 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-ROUTE1490 19 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-FRAME-L2TP 20 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-L2TP-VC-MUXED 21 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ETH 22 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ETH-PPPOE 23 Redback VALUE PVC-Encapsulation-Type AAA-ENCAPS-ETH-MULTI 24 Redback VALUE Shasta-User-Privilege User 1 Shasta VALUE Shasta-User-Privilege Super-User 2 Shasta VALUE Shasta-User-Privilege SSuper-User 3 Shasta VALUE Shiva-Connect-Reason Remote 1 Shiva VALUE Shiva-Connect-Reason Dialback 2 Shiva VALUE Shiva-Connect-Reason Virtual-Connection 3 Shiva VALUE Shiva-Connect-Reason Bandwidth-On-Demand 4 Shiva VALUE Shiva-Disconnect-Reason Remote 1 Shiva VALUE Shiva-Disconnect-Reason Error 2 Shiva VALUE Shiva-Disconnect-Reason Idle-Timeout 3 Shiva VALUE Shiva-Disconnect-Reason Session-Timeout 4 Shiva VALUE Shiva-Disconnect-Reason Admin-Disconnect 5 Shiva VALUE Shiva-Disconnect-Reason Dialback 6 Shiva VALUE Shiva-Disconnect-Reason Virtual-Connection 7 Shiva VALUE Shiva-Disconnect-Reason Bandwidth-On-Demand 8 Shiva VALUE Shiva-Disconnect-Reason Failed-Authentication 9 Shiva VALUE Shiva-Disconnect-Reason Preempted 10 Shiva VALUE Shiva-Disconnect-Reason Blocked 11 Shiva VALUE Shiva-Disconnect-Reason Tariff-Management 12 Shiva VALUE Shiva-Disconnect-Reason Backup 13 Shiva VALUE Shiva-Function Unknown 0 Shiva VALUE Shiva-Function Dialin 1 Shiva VALUE Shiva-Function Dialout 2 Shiva VALUE Shiva-Function Lan-To-Lan 3 Shiva VALUE Shiva-Link-Protocol HDLC 1 Shiva VALUE Shiva-Link-Protocol ARAV1 2 Shiva VALUE Shiva-Link-Protocol ARAV2 3 Shiva VALUE Shiva-Link-Protocol SHELL 4 Shiva VALUE Shiva-Link-Protocol AALAP 5 Shiva VALUE Shiva-Link-Protocol SLIP 6 Shiva VALUE Shiva-Type-Of-Service Analog 1 Shiva VALUE Shiva-Type-Of-Service Digitized-Analog 2 Shiva VALUE Shiva-Type-Of-Service Digital 3 Shiva VALUE Shiva-Type-Of-Service Digital-V110 4 Shiva VALUE Shiva-Type-Of-Service Digital-V120 5 Shiva VALUE Shiva-Type-Of-Service Digital-Leased-Line 6 Shiva VALUE SS3-Firewall-User-Privilege Remote-Access 1 3com VALUE SS3-Firewall-User-Privilege Bypass-Filters 2 3com VALUE SS3-Firewall-User-Privilege VPN-Client-Access 3 3com VALUE SS3-Firewall-User-Privilege Access-To-VPN 4 3com VALUE SS3-Firewall-User-Privilege Limited-Management 5 3com VALUE SS3-Firewall-User-Privilege L2TP-Client-Access 6 3com VALUE Termination-Action Default 0 VALUE Termination-Action RADIUS-Request 1 VALUE Tunnel-DNIS DNIS 1 Redback VALUE Tunnel-DNIS DNIS-Only 2 Redback VALUE Tunnel-Function LAC-Only 1 Redback VALUE Tunnel-Function LNS-Only 2 Redback VALUE Tunnel-Function LAC-LNS 3 Redback VALUE Tunnel-Medium-Type IP 1 VALUE Tunnel-Medium-Type IP6 2 VALUE Tunnel-Medium-Type NSAP 3 VALUE Tunnel-Medium-Type HDLC 4 VALUE Tunnel-Medium-Type BBN 5 VALUE Tunnel-Medium-Type IEEE-802 6 VALUE Tunnel-Medium-Type E-163 7 VALUE Tunnel-Medium-Type E-164 8 VALUE Tunnel-Medium-Type F-69 9 VALUE Tunnel-Medium-Type X-121 10 VALUE Tunnel-Medium-Type IPX 11 VALUE Tunnel-Medium-Type Appletalk 12 VALUE Tunnel-Medium-Type Decnet4 13 VALUE Tunnel-Medium-Type Vines 14 VALUE Tunnel-Medium-Type E-164-NSAP 15 VALUE Tunnel-Type PPTP 1 VALUE Tunnel-Type L2F 2 VALUE Tunnel-Type L2TP 3 VALUE Tunnel-Type ATMP 4 VALUE Tunnel-Type VTP 5 VALUE Tunnel-Type AH 6 VALUE Tunnel-Type IP-IP-Encap 7 VALUE Tunnel-Type MIN-IP-IP 8 VALUE Tunnel-Type ESP 9 VALUE Tunnel-Type PPTP 10 VALUE Tunnel-Type DVS 11 VALUE Tunnel-Type IP-IP 12 VALUE Tunnel-Type VLAN 13 VALUE User-Service Login-User 1 VALUE User-Service Framed-User 2 VALUE User-Service Callback-Login 3 VALUE User-Service Callback-Framed 4 VALUE User-Service Outbound 5 VALUE User-Service Administrative 6 VALUE User-Service NAS-Prompt 7 VALUE User-Service Authenicate-Only 8 VALUE User-Service Callback-NAS-Prompt 9 VALUE User-Service Call-Check 10 VALUE User-Service Callback-Administrative 11 VALUE User-Service Voice 12 VALUE User-Service Fax 13 VALUE User-Service Modem-Relay 14 VALUE User-Service IAPP-Register 15 VALUE User-Service IAPP-AP-Check 16 VALUE User-Service Call-Check-User 129 VALUE Versanet-Termination-Cause Normal-Hangup-No-Error-Occurred 0 Versanet VALUE Versanet-Termination-Cause Call-Waiting-Caused-Disconnect 3 Versanet VALUE Versanet-Termination-Cause Physical-Carrier-Loss 4 Versanet VALUE Versanet-Termination-Cause No-err-correction-at-other-end 5 Versanet VALUE Versanet-Termination-Cause No-resp-to-feature-negotiation 6 Versanet VALUE Versanet-Termination-Cause 1st-modem-async-only-2nd-sync 7 Versanet VALUE Versanet-Termination-Cause No-framing-technique-in-common 8 Versanet VALUE Versanet-Termination-Cause No-protocol-in-common 9 Versanet VALUE Versanet-Termination-Cause Bad-resp-to-feature-negotiation 10 Versanet VALUE Versanet-Termination-Cause No-sync-info-from-remote-modem 11 Versanet VALUE Versanet-Termination-Cause Normal-Hangup-by-Remote-modem 12 Versanet VALUE Versanet-Termination-Cause Retransmission-limit-reached 13 Versanet VALUE Versanet-Termination-Cause Protocol-violation-occurred 14 Versanet VALUE Versanet-Termination-Cause Lost-DTR 15 Versanet VALUE Versanet-Termination-Cause Received-GSTN-cleardown 16 Versanet VALUE Versanet-Termination-Cause Inactivity-timeout 17 Versanet VALUE Versanet-Termination-Cause Speed-not-supported 18 Versanet VALUE Versanet-Termination-Cause Long-space-disconnect 19 Versanet VALUE Versanet-Termination-Cause Key-abort-disconnect 20 Versanet VALUE Versanet-Termination-Cause Clears-previous-disc-reason 21 Versanet VALUE Versanet-Termination-Cause No-connection-established 22 Versanet VALUE Versanet-Termination-Cause Disconnect-after-three-retrains 23 Versanet radiusplugin/RadiusClass/RadiusVendorSpecificAttribute.h000755 001750 001750 00000004325 11126365764 022333 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _RADIUSVENDORSPECIFICATTRIB_H_ #define _RADIUSVENDORSPECIFICATTRIB_H_ #include #include "radius.h" #include using namespace std; /**This class represents a radius vendor specific attribute as defined in RFC 2865. */ class RadiusVendorSpecificAttribute { private: Octet id[4]; /**< The attribute length, of the value*/ Octet type; /**< The vendor specific attibute type.*/ Octet length; /**< The attribute length, of the value*/ Octet *value; /**< A pointer to the value*/ public: RadiusVendorSpecificAttribute(); ~RadiusVendorSpecificAttribute(void); RadiusVendorSpecificAttribute & operator=(const RadiusVendorSpecificAttribute &); RadiusVendorSpecificAttribute(const RadiusVendorSpecificAttribute &); int getLength(void); Octet * getLength_Octet(void); void setLength(Octet); int getId(void); Octet * getId_Octet(void); void setId(int); int getType(void); Octet * getType_Octet(void); void setType(Octet); Octet * getValue(void); int setValue(const char *); int setValue(int); int decodeRecvAttribute(Octet *); void getShapedAttribute(Octet *); int intFromBuf(void); string ipFromBuf(void); string stringFromBuf(void); void dumpRadiusAttrib(void); }; #endif //_RADIUSVENDORSPECIFICATTRIB_H_ radiusplugin/RadiusClass/radius.h000755 001750 001750 00000012573 10650426417 015661 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program (see the file COPYING included with this * distribution); if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _RADIUS_H_ #define _RADIUS_H_ #include #include #include #include #include #include #include #include #include #include #include #include /** The datatype for sending and receiving data to and from the network */ typedef unsigned char Octet; /** Some length definitions */ #define RADIUS_PACKET_AUTHENTICATOR_LEN 16 #define RADIUS_MAX_PACKET_LEN 4096 #define RADIUS_PACKET_IDENTIFIER_LEN 1 #define MD5_DIGEST_LENGTH 16 /** The radius packet codes */ #define ACCESS_REQUEST 1 #define ACCESS_ACCEPT 2 #define ACCESS_REJECT 3 #define ACCOUNTING_REQUEST 4 #define ACCOUNTING_RESPONSE 5 #define ACCESS_CHALLENGE 11 #define STATUS_SERVER 12 #define STATUS_CLIENT 13 #define RESERVED 255 /** The radius attribute types */ #define ATTRIB_User_Name 1 //string #define ATTRIB_User_Password 2 //string #define ATTRIB_CHAP_Password 3 //string #define ATTRIB_NAS_IP_Address 4 //ipaddr #define ATTRIB_NAS_Port 5 //integer #define ATTRIB_Service_Type 6 //enum #define ATTRIB_Framed_Protocol 7 //enum #define ATTRIB_Framed_IP_Address 8 //ipaddr #define ATTRIB_Framed_IP_Netmask 9 //ipaddr #define ATTRIB_Framed_Routing 10 //enum #define ATTRIB_Filter_Id 11 //string #define ATTRIB_Framed_MTU 12 //integer #define ATTRIB_Framed_Compression 13 //enum #define ATTRIB_Login_IP_Host 14 //ipaddr #define ATTRIB_Login_Service 15 //enum #define ATTRIB_Login_TCP_Port 16 //integer #define ATTRIB_Reply_Message 18 //string #define ATTRIB_Callback_Number 19 //string #define ATTRIB_Callback_Id 20 //string #define ATTRIB_Framed_Route 22 //string #define ATTRIB_Framed_IPX_Network 23 //integer #define ATTRIB_State 24 //string #define ATTRIB_Class 25 //string #define ATTRIB_Vendor_Specific 26 //string -> vendor #define ATTRIB_Session_Timeout 27 //integer #define ATTRIB_Idle_Timeout 28 //enum #define ATTRIB_Termination_Action 29 //enum #define ATTRIB_Called_Station_Id 30 //string #define ATTRIB_Calling_Station_Id 31 //string #define ATTRIB_NAS_Identifier 32 //string #define ATTRIB_Proxy_State 33 //string #define ATTRIB_Login_LAT_Service 34 //string #define ATTRIB_Login_LAT_Node 35 //string #define ATTRIB_Login_LAT_Group 36 //string #define ATTRIB_Framed_AppleTalk_Link 37 //integer #define ATTRIB_Framed_AppleTalk_Network 38 //integer #define ATTRIB_Framed_AppleTalk_Zone 39 //string #define ATTRIB_Acct_Status_Type 40 //enum #define ATTRIB_Acct_Delay 41 //integer #define ATTRIB_Acct_Input_Octets 42 //integer #define ATTRIB_Acct_Output_Octets 43 //integer #define ATTRIB_Acct_Session_ID 44 //string #define ATTRIB_Acct_Authentic 45 //enum #define ATTRIB_Acct_Session_Time 46 //integer #define ATTRIB_Acct_Input_Packets 47 //integer #define ATTRIB_Acct_Output_Packets 48 //integer #define ATTRIB_Acct_Terminate_Cause 49 //enum #define ATTRIB_Acct_Multi_Session_ID 50 //string #define ATTRIB_Acct_Link_Count 51 //interger #define ATTRIB_Acct_Input_Gigawords 52 //integer #define ATTRIB_Acct_Output_Gigawords 53 //integer #define ATTRIB_Event_Timestamp 55 //date #define ATTRIB_CHAP_Challenge 60 //string #define ATTRIB_NAS_Port_Type 61 //enum #define ATTRIB_Port_Limit 62 //interger #define ATTRIB_Login_LAT_Port 63 //enum #define ATTRIB_Acct_Tunnel_Connection 68 //string #define ATTRIB_ARAP_Password 70 // string #define ATTRIB_ARAP_Features 71 //string #define ATTRIB_ARAP_Zone_Access 72 //integer #define ATTRIB_ARAP_Security 73 //integer #define ATTRIB_ARAP_Security_Data 74 //string #define ATTRIB_Password_Retry 75 //integer #define ATTRIB_Prompt 76 //integer #define ATTRIB_Connect_Info 77 //string #define ATTRIB_Configuration_Token 78 //string #define ATTRIB_EAP_Message 79 //octets #define ATTRIB_Message_Authenticator 80 //octets #define ATTRIB_ARAP_Challenge_Response 84 //string # 10 octets #define ATTRIB_Acct_Interim_Interval 85 //integer #define ATTRIB_NAS_Port_Id 87 //string #define ATTRIB_Framed_Pool 88 //string #define ATTRIB_NAS_IPv6_Address 95 //ipv6addr #define ATTRIB_Framed_Interface_Id 96 //ifid #define ATTRIB_Framed_IPv6_Prefix 97 //octets # ipv6prefix #define ATTRIB_Login_IPv6_Host 98 //ipv6addr #define ATTRIB_Framed_IPv6_Route 99 //string #define ATTRIB_Framed_IPv6_Pool 100//string #define VALUE_Service_Type_Call_Check "10" #define VALUE_Service_Type_Framed_User "2" #endif //_RADIUS_H_ radiusplugin/RadiusClass/RadiusAttribute.cpp000755 001750 001750 00000036103 11331312332 020016 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "RadiusAttribute.h" #include #include "error.h" #include #include #include #define NEED_LIBGCRYPT_VERSION "1.2.0" GCRY_THREAD_OPTION_PTHREAD_IMPL; /** The constructor sets the type to 0 and the value to NULL.*/ RadiusAttribute::RadiusAttribute(void) { this->type=0; this->length=0; this->value=NULL; } /** The constructor creates an attribute. * The type and the value can be set. * @param Octet type : The type of the attribute. * @param char *value : A pointer to a value for the attribut. */ RadiusAttribute::RadiusAttribute(Octet ty, const char *value) { this->type=ty; this->value=NULL; //Only set the value if there is something in. if (value!=NULL) { this->setValue(value); } } /**The construcotr sets the type. The value is set to NULL. * @param Octet typ : The type of the attribute.*/ RadiusAttribute::RadiusAttribute(Octet typ) { this->type=typ; this->length=0; this->value=NULL; } /**The constructor sets the type and the value. * @param Octet typ : The type of the attribute. * @param string str : The value as a string. */ RadiusAttribute::RadiusAttribute(Octet typ, string str) { this->type=typ; this->value=NULL; this->setValue(str); } /** The constructor sets the type and the value. The type must * have the datatype integer as it is defined in the RFC of the * radius protocol. * @param Octet type : The type of the packet. * @param int value : The value as an integer. */ RadiusAttribute::RadiusAttribute(Octet typ, uint32_t value) { this->type=typ; this->value=NULL; this->setValue(value); } /** The destructor of the class. * It frees the allocated memory for the value, if the pointer is not NULL. */ RadiusAttribute::~RadiusAttribute(void) { if (this->value) { delete [] this->value; } } /** Creates a dump of an attribute. */ void RadiusAttribute::dumpRadiusAttrib(void) { int i; fprintf(stdout,"\ttype\t\t:\t%d\t|",this->type); fprintf(stdout,"\tlength\t:\t%d\t|",this->getLength()); fprintf(stdout,"\tvalue\t:\t'"); for(i=0;i<((this->getLength())-2);i++) fputc(this->value[i],stdout); fprintf(stdout,"'\n"); } /** The getter method for the length of the attribute * @return The length as an integer. */ int RadiusAttribute::getLength(void) { return (this->length); } Octet * RadiusAttribute::getLength_Octet(void) { return (&this->length); } /** The setter method for the length of the attribut. * Normally it calculated automatically. * @param len The length as datatype unsigned char (=Octet). */ void RadiusAttribute::setLength(Octet len) { this->length=len; } /** Creates a password buffer with MD5/xOR hashing for the * ATTRIB_User_Password. The password filed must be have a * length of 16 Octets or a multiple of 16 Octets. * If the password is longer than 16 characters, the XOR-hash is * build of the first 16 chars, than a new XOR-hash is build * over the first XOR-hash and the shared secret and so on. * It if defined in the radius RFC. * @param password The User password. * @param hpassword A char array for the hashed password. It must have the * same length as the password filed (=this->length-2). * @param sharedSecret The sharedsecret of the server. * @param authenticator String of the authenticator field. * @return A pointer to the hpassword array, so the function can * be used directly in a function/method. */ char * RadiusAttribute::makePasswordHash(const char *password,char * hpassword, const char *sharedSecret,const char *authenticator) { unsigned char digest[MD5_DIGEST_LENGTH]; //The digest. gcry_md_hd_t context; //the hash context int i,k,j,l, //Some counters. passwordlen; //The password length. memset(digest,0,MD5_DIGEST_LENGTH); //build the hash if (!gcry_control (GCRYCTL_ANY_INITIALIZATION_P)) { /* No other library has already initialized libgcrypt. */ gcry_control(GCRYCTL_SET_THREAD_CBS,&gcry_threads_pthread); if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) ) { cerr << "libgcrypt is too old (need " << NEED_LIBGCRYPT_VERSION << ", have " << gcry_check_version (NULL) << ")\n"; } /* Disable secure memory. */ gcry_control (GCRYCTL_DISABLE_SECMEM, 0); gcry_control (GCRYCTL_INITIALIZATION_FINISHED); } gcry_md_open(&context, GCRY_MD_MD5, 0); gcry_md_write(context, sharedSecret, strlen(sharedSecret)); gcry_md_write(context, authenticator, MD5_DIGEST_LENGTH); memcpy(digest, gcry_md_read(context, GCRY_MD_MD5), MD5_DIGEST_LENGTH); if (this->lengthlength-2; //get the length of the passwordfield //XOR the password and the digest //build the first xOR-hash for(i=0;i0) { //build the next hash memset(digest,0,MD5_DIGEST_LENGTH); //put the hash of the last XOR in the digest //build the hash if (!gcry_control (GCRYCTL_ANY_INITIALIZATION_P)) { /* No other library has already initialized libgcrypt. */ gcry_control(GCRYCTL_SET_THREAD_CBS,&gcry_threads_pthread); if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) ) { cerr << "libgcrypt is too old (need " << NEED_LIBGCRYPT_VERSION << ", have " << gcry_check_version (NULL) << ")\n"; } /* Disable secure memory. */ gcry_control (GCRYCTL_DISABLE_SECMEM, 0); gcry_control (GCRYCTL_INITIALIZATION_FINISHED); } gcry_md_open (&context, GCRY_MD_MD5, 0); gcry_md_write(context, sharedSecret, strlen(sharedSecret)); gcry_md_write(context, hpassword+(k*MD5_DIGEST_LENGTH), MD5_DIGEST_LENGTH); memcpy(digest, gcry_md_read(context, GCRY_MD_MD5), MD5_DIGEST_LENGTH); j=0; l=i+MD5_DIGEST_LENGTH; for(;itype); } Octet * RadiusAttribute::getType_Octet(void) { return (&this->type); } /** The setter method for the type of the attribute. * @param type The type as Octet. */ void RadiusAttribute::setType(Octet type) { this->type=type; } /** The getter method for the value. * @return The value as an Octet.*/ Octet * RadiusAttribute::getValue(void) { return (this->value); } /**Set the value of the attribute. The representation of the value * is changed, so it is ready to send over the network. * The changes depend on the datatype * IPADRESS, INTEGER, String. The datatype enum can be treated as an integer. * A special attribut is the User password, * the length must be 16 octets or a multipe of 16 Octets. * Here it is only copied to the * value. The datatypes ipv6addr,ifid, ipv6prefix, ipv6addr are treated as * strings. * @param value : A pointer to the value. * @return An integer which indicates errors, 0 if everthing is ok, * else a number defined in the error.h */ int RadiusAttribute::setValue(char *value) { char tmpStr[20]; //An array to convert the datatype. int i,j,q, //Some counter. passwordlen; //The passwordlength. //If the attribute has already an value, clear it. if (this->value!=NULL) { delete [] this->value; } switch(this->type) { //for data type IPADDRESS case ATTRIB_NAS_IP_Address: case ATTRIB_Framed_IP_Address: case ATTRIB_Framed_IP_Netmask: case ATTRIB_Login_IP_Host: //allocate memory if(!(this->value=new Octet[4])) { return ALLOC_ERROR; } //transform the number parted by the "." in network byte order i=0;j=0; while(value[i]!='.' && i<3) tmpStr[j++]=value[i++]; tmpStr[j]=0; if (value[i]!='.') { return BAD_IP; } this->value[0]=(unsigned char)atoi(tmpStr); j=0; i++; while(value[i]!='.' && i<7) tmpStr[j++]=value[i++]; tmpStr[j]=0; if (value[i]!='.') { return BAD_IP; } this->value[1]=(unsigned char)atoi(tmpStr); j=0;i++; while(value[i]!='.' && i<11) tmpStr[j++]=value[i++]; tmpStr[j]=0; if (value[i]!='.') { return BAD_IP; } this->value[2]=(unsigned char)atoi(tmpStr); j=0;i++; while(value[i] && i<15) tmpStr[j++]=value[i++]; tmpStr[j]=0; this->value[3]=(unsigned char)atoi(tmpStr); this->length=4; break; // User-Password case ATTRIB_User_Password: //the minimum length is 16 Octets if (strlen(value)<16) { if(!(this->value=new Octet [16])) { return ALLOC_ERROR; } memset(this->value,0,16); memcpy(this->value, value, strlen(value)); this->length=(Octet)16; } //find a multiple of 16 Octets where the password fits else { passwordlen=((strlen(value)-(strlen(value)%16))/16); //if it doesn't fit, get the next bigger array. if ((strlen(value)%16)!=0) { passwordlen++; } if(!(this->value=new Octet [passwordlen*16])) { return ALLOC_ERROR; } memset(this->value,0,(passwordlen*16)); memcpy(this->value, value, strlen(value)); this->length=(Octet)(passwordlen*16); } break; //for datatype integer/enum case ATTRIB_NAS_Port: case ATTRIB_Framed_MTU: case ATTRIB_Login_TCP_Port: case ATTRIB_Framed_IPX_Network: case ATTRIB_Session_Timeout: case ATTRIB_Framed_AppleTalk_Link: case ATTRIB_Framed_AppleTalk_Network: case ATTRIB_Acct_Delay: case ATTRIB_Acct_Input_Octets: case ATTRIB_Acct_Output_Octets: case ATTRIB_Acct_Session_Time: case ATTRIB_Acct_Input_Packets: case ATTRIB_Acct_Output_Packets: case ATTRIB_Acct_Link_Count: case ATTRIB_Port_Limit: case ATTRIB_Service_Type: case ATTRIB_Framed_Protocol: case ATTRIB_Framed_Routing: case ATTRIB_Framed_Compression: case ATTRIB_Login_Service: case ATTRIB_Idle_Timeout: case ATTRIB_Termination_Action: case ATTRIB_Acct_Status_Type: case ATTRIB_Acct_Authentic: case ATTRIB_Acct_Terminate_Cause: case ATTRIB_NAS_Port_Type: case ATTRIB_Login_LAT_Port: case ATTRIB_ARAP_Zone_Access: case ATTRIB_ARAP_Security: case ATTRIB_Password_Retry: case ATTRIB_Prompt: case ATTRIB_Acct_Interim_Interval: case ATTRIB_Acct_Input_Gigawords: case ATTRIB_Acct_Output_Gigawords: case ATTRIB_Event_Timestamp: if(!(this->value=new Octet [4])) { return ALLOC_ERROR; } //transform the integer in the right network byte order q=htonl(strtoul(value,NULL,10)); memcpy(this->value,&q,4); this->length=4; break; //Special case vender specific, at the moment it is treated as a string. case ATTRIB_Vendor_Specific: if(!(this->value=new Octet [int(value[5])+4])) { return ALLOC_ERROR; } memcpy(this->value, value, int(value[5])+4); this->length=int(value[5])+4; break; //String: They need only copied in a new char array. default: if(!(this->value=new Octet [strlen(value)])) { return ALLOC_ERROR; } memcpy(this->value, value, strlen(value)); this->length=strlen(value); } this->length+=sizeof(Octet)+sizeof(Octet); return 0; } /** Extract the value of an received attribute in the buffer to * the value field of an attribute. The order is still in network * order. If you want to get it maybe as a char or integer you * must to know which type it is. So you know the datatype and you * can convert it. But this done in another method. * @param value A pointer to the value which is copied to the value of the attribute. * @return An integer which indicates errors, 0 if everthing is ok, * else a number defined in the error.h. */ int RadiusAttribute::setRecvValue(char *value) { if(!(this->value=new Octet[this->length-2])) { return ALLOC_ERROR; } memcpy(this->value, value, (this->length-2)); return 0; } /** Transform a attribute value to an integer, this makes only sense * if the datatype is an integer. This dependents on the definition * in the radius RFC or can be locked up in the file radius.h of this * source code. * @return The transformed integer. */ int RadiusAttribute::intFromBuf(void) { return (ntohl(*(int*)this->value)); } /**The overloading of the assignment operator.*/ RadiusAttribute & RadiusAttribute::operator=(const RadiusAttribute &ra) { this->value=new Octet[ra.length-2]; this->type=ra.type; this->length=ra.length; memcpy(this->value,ra.value,ra.length-2); return *this; } /**The copy constructor.*/ RadiusAttribute::RadiusAttribute(const RadiusAttribute &ra) { this->value=new Octet[ra.length-2]; this->type=ra.type; this->length=ra.length; memcpy(this->value,ra.value,ra.length-2); } /**The method sets the value. Internal it converts the string * into a char array and calls setValue(char *). * @param s The value as a string. * @return An integer. 0 if everything is ok, else !=0. */ int RadiusAttribute::setValue(string s) { int ret; char * value=new char[s.size()+1]; memset (value,0,s.size()+1); strncpy(value,s.c_str(),s.size()); ret=setValue(value); delete [] value; return ret; } /** The method sets the value for an integer. The method * writes the integer in a string and calls the method * setValue(char *). * @param value The value as an integer. * @return An integer, 0 if everything is ok, else !=0. */ int RadiusAttribute::setValue(uint32_t value) { char num[11]; memset(num,0,11); sprintf(num,"%u",value); return setValue(num); } /** The method converts the value into an ip. * The attribute must have the right datatype IPADDRESS. * @return The ip address as a string. */ string RadiusAttribute::ipFromBuf(void) { int num,i; char ip2[4],ip3[16]; memset(ip3,0,16); for (i=0;i<(this->length-2);i++) { num=(int)this->value[i]; if(i==0) { sprintf(ip3,"%i",num); strcat(ip3,"."); } else if (i<3) { sprintf(ip2,"%i",num); strcat(ip3,ip2); strcat(ip3,"."); } else { sprintf(ip2,"%i",num); strcat(ip3,ip2); } } return string(ip3); } radiusplugin/RadiusClass/RadiusPacket.cpp000755 001750 001750 00000050077 11331312332 017270 0ustar00000000 000000 /* * RadiusClass -- An C++-Library for radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "RadiusPacket.h" #define NEED_LIBGCRYPT_VERSION "1.2.0" GCRY_THREAD_OPTION_PTHREAD_IMPL; using namespace std; /** The destructur frees the dynamic allocated memory of the buffers, * closes the socket and clears the attribute multimap. */ RadiusPacket::~RadiusPacket() { if (this->sendbuffer) { delete [] (this->sendbuffer); } if (this->recvbuffer) { delete [] (this->recvbuffer); } if (this->sock) { close (this->sock); } this->attribs.clear(); } /** The constructur sets the code and generate random numbers * for the identifier. The socket and the buffer length are set to 0, the pointer * to the buffers is set to NULL. The length is set to 20 Bytes, this is the length without * attributes. * @param code The code of the packet. */ RadiusPacket::RadiusPacket(Octet code) { this->code=code; this->getRandom(RADIUS_PACKET_IDENTIFIER_LEN,&(this->identifier)); memset(this->authenticator,0,16); memset(this->req_authenticator,0,16); this->length=sizeof(Octet)*(RADIUS_PACKET_AUTHENTICATOR_LEN+4); this->sendbuffer=NULL; this->sendbufferlen=0; this->recvbuffer=NULL; this->recvbufferlen=0; this->sock=0; } /** The constructur generates random numbers * for the identifier. The socket, the code and the buffer length are set to 0, the pointer * to the buffers is set to NULL. The length is set to 20 Bytes, this is the length without * attributes. */ RadiusPacket::RadiusPacket(void) { this->code=0; this->getRandom(RADIUS_PACKET_IDENTIFIER_LEN,&(this->identifier)); memset(this->authenticator,0,16); memset(this->req_authenticator,0,16); this->length=sizeof(Octet)*(RADIUS_PACKET_AUTHENTICATOR_LEN+4); this->sendbuffer=NULL; this->sendbufferlen=0; this->recvbuffer=NULL; this->recvbufferlen=0; this->sock=0; } /** Create a dump of the radius packet */ void RadiusPacket::dumpRadiusPacket(void) { fprintf(stdout,"\n-- RadiusPacket -----------------\n"); fprintf(stdout,"\tcode\t\t:\t%d\n",this->code); fprintf(stdout,"\tidentifier\t:\t%d\n",this->identifier); fprintf(stdout,"\tlength\t\t:\t%d\n",this->length); fprintf(stdout,"---------------------------------\n"); for (multimap::iterator it = attribs.begin(); it != attribs.end(); ++it) { it->second.dumpRadiusAttrib(); } fprintf(stdout,"---------------------------------\n"); } /** Returns the number of attributes in the given radiusPacket. * @return An integer with the number of the attributes. */ int RadiusPacket::getRadiusAttribNumber(void) { int i=0; for (multimap::iterator it = attribs.begin(); it != attribs.end(); it++) { i++; } return i; } /** Links a radiusAttrib structure to a radiusPacket. * @param ra The radius attribute to add. * @return Returns 0 if everything is ok, * NO_VALUE_IN_ATTRIBUTE if the attribut value length is 0. * Return -1 if attribute value length is 0. */ int RadiusPacket::addRadiusAttribute(RadiusAttribute *ra) { if (ra->getLength()<1) { cerr << "No value in the Attribute!\n"; return NO_VALUE_IN_ATTRIBUTE; } //insert the attribute in the list attribs.insert(pair((Octet)ra->getType(), *ra)); //add the length of the attribute to the the packet length this->length=this->length+ra->getLength(); return 0; } /** Formats a radiusPacket structure into a buffer that can be sent to a radius server via UDP. * The destination buffer is put into sendbuffer while its length is put into sendbufferlen. * @param sharedsecret The sharedsecret in plaintext. * @return Returns 0 if everything is ok, ALLOC_ERROR in case of error. */ int RadiusPacket::shapeRadiusPacket(const char * sharedsecret) { int i,j; Octet * value; char * hashedpassword ; //fill the authenticator with random data this->getRandom(RADIUS_PACKET_AUTHENTICATOR_LEN,this->authenticator); //free the buffer if it is not empty, for ex. if is send again if(this->sendbuffer!=NULL) { delete [] this->sendbuffer; } //allocate memory for the packet if(!(this->sendbuffer=new Octet [this->length])) { return (ALLOC_ERROR); } this->sendbufferlen=0; //add the code and increment the length sendbuffer[(this->sendbufferlen)++]=this->code; //add the identifier and increment the length sendbuffer[(this->sendbufferlen)++]=this->identifier; int nlength=htonl(this->length); //add the two octets for the length and increment the length twice sendbuffer[(this->sendbufferlen)++]=((char*)&(nlength))[2]; sendbuffer[(this->sendbufferlen)++]=((char*)&(nlength))[3]; //add the authenticator to the buffer for(i=0;isendbufferlen)++]=this->authenticator[i]; //add the attributes to the buffer for (multimap::iterator it = attribs.begin(); it != attribs.end(); it++) { //if the attribute is a password, build the hashedpassword if (it->second.getType()==ATTRIB_User_Password) { this->sendbuffer[(this->sendbufferlen)++]=it->second.getType(); this->sendbuffer[(this->sendbufferlen)++]=it->second.getLength(); if (it->second.getLength()-2<=16) { hashedpassword=new char[16]; it->second.makePasswordHash((char *)it->second.getValue(),hashedpassword,sharedsecret,this->getAuthenticator()); for(j=0;j<16;j++) this->sendbuffer[(this->sendbufferlen)++]=(Octet)hashedpassword[j]; } else { hashedpassword = new char [it->second.getLength()-2]; it->second.makePasswordHash((char *)it->second.getValue(), hashedpassword, sharedsecret, this->getAuthenticator()); for(j=0;j<(it->second.getLength()-2);j++) { this->sendbuffer[(this->sendbufferlen)++]=(Octet)hashedpassword[j]; } } delete [] hashedpassword; } //normal attributes else { this->sendbuffer[(this->sendbufferlen)++]=it->second.getType(); this->sendbuffer[(this->sendbufferlen)++]=it->second.getLength(); value=it->second.getValue(); for(j=0;j<(it->second.getLength()-2);j++) this->sendbuffer[(this->sendbufferlen)++]=value[j]; } } return 0; } /** Dumps a shaped RADIUS packet previously created with shapeRadiusPacket. */ void RadiusPacket::dumpShapedRadiusPacket(void) { int i,j,attr,attrLen; if(this->sendbuffer) { i=0; fprintf(stdout,"-- sendbuffer --"); fprintf(stdout,"-- shapedRadiusPacket - header --"); fprintf(stdout,"\n\tcode\t\t:\t%02x",(this->sendbuffer)[i++]); fprintf(stdout,"\n\tidentifier\t:\t%02x",(this->sendbuffer)[i++]); Octet length1=(this->recvbuffer)[i++]; Octet length2=(this->recvbuffer)[i++]; fprintf(stdout,"\n\tlength\t\t:\t%02x %02x",length1,length2); fprintf(stdout,"\n\tauthenticator\t:\t"); for(j=0;jsendbuffer)[i++]); attr=0; do { fprintf(stdout,"\n-- attribute %02x ------------",attr); fprintf(stdout,"\n\ttype\t\t:\t%02x",(this->sendbuffer[i++])); fprintf(stdout,"\n\tlength\t\t:\t%02x",attrLen=(this->sendbuffer)[i++]); fprintf(stdout,"\n\tvalue\t\t:\t"); for(j=0;jsendbuffer)[i++]); } while(i<(this->sendbufferlen)); fprintf(stdout,"\n---------------------------------\n"); } if(this->recvbuffer) { i=0; fprintf(stdout,"-- recvbuffer --"); fprintf(stdout,"-- shapedRadiusPacket - header --"); fprintf(stdout,"\n\tcode\t\t:\t%02x",(this->recvbuffer)[i++]); fprintf(stdout,"\n\tidentifier\t:\t%02x",(this->recvbuffer)[i++]); Octet length1=(this->recvbuffer)[i++]; Octet length2=(this->recvbuffer)[i++]; fprintf(stdout,"\n\tlength\t\t:\t%02x %02x",length1,length2); fprintf(stdout,"\n\tauthenticator\t:\t"); for(j=0;jrecvbuffer)[i++]); attr=0; do { fprintf(stdout,"\n-- attribute %02x ------------",attr); fprintf(stdout,"\n\ttype\t\t:\t%02x",(this->recvbuffer[i++])); fprintf(stdout,"\n\tlength\t\t:\t%02x",attrLen=(this->recvbuffer)[i++]); fprintf(stdout,"\n\tvalue\t\t:\t"); for(j=0;jrecvbuffer)[i++]); } while(i<(this->recvbufferlen)); fprintf(stdout,"\n---------------------------------\n"); } } /** Formats a UDP-received buffer radiusPacket structure * @return A error number. Returns 0 is everything is ok, NO_BUFFER_TO_UNSHAPE * or ALLOC_ERROR or TO_BIG_ATTRIBUTE_LENGTH in case of error. */ int RadiusPacket::unShapeRadiusPacket(void) { RadiusAttribute *ra; int pos,i; char *value; //if the buffer is empty if(!this->recvbuffer||this->recvbufferlen<=0) { return NO_BUFFER_TO_UNSHAPE; } // RADIUS packet header decoding this->code=this->recvbuffer[0]; //cerr << getTime() << "\n\nCODE: %s\n\n", this->code); this->identifier=this->recvbuffer[1]; memcpy(this->authenticator,recvbuffer+4,RADIUS_PACKET_AUTHENTICATOR_LEN); // RADIUS packet attributes decoding pos=20; while(posrecvbufferlen) { //for every turn create a new attribute if(!(ra=new RadiusAttribute)) { return ALLOC_ERROR; } ra->setType(recvbuffer[pos++]); ra->setLength(recvbuffer[pos++]); //the maximum attribute size can be //RADIUS_MAX_PACKET_LEN-20, 20: bytes of the //packet header. if(ra->getLength()>(RADIUS_MAX_PACKET_LEN-20)) { return TO_BIG_ATTRIBUTE_LENGTH; } else { value=new char [ra->getLength()-2]; for(i=0;i<(ra->getLength()-2);i++) { value[i]=recvbuffer[pos++]; } ra->setRecvValue(value); this->addRadiusAttribute(ra); this->length+=ra->getLength(); delete [] value; } //free the attribute, it was inserted in the list delete ra; } //set the right length this->length=this->recvbufferlen; return 0; } /** The method sends the packet to a radius server. * @param server A iterator to a server. * @return Returns the number of bytes successfully sent, * SOCKET_ERROR or UNKNOWN_HOST in case of error. */ int RadiusPacket::radiusSend(list::iterator server) { int socket2Radius; struct hostent *h; struct sockaddr_in cliAddr,remoteServAddr; //the packet is shaped here, the authenticator gets //a new random value and then the buffer must be shaped again //the password field depends on the authenticator field if(this->shapeRadiusPacket(server->getSharedSecret().c_str())!=0) { return SHAPE_ERROR; } //new Authenticator with hash over the //packet and the shared secret, if the packet is a ACCOUNTING_REQUEST if (this->code==ACCOUNTING_REQUEST) { this->calcacctdigest(server->getSharedSecret().c_str()); } //save the authenticator field for packet authentication on receiving a packet memcpy(this->authenticator, this->req_authenticator, 16); // Get server IP address (no check if input is IP address or DNS name if(!(h=gethostbyname(server->getName().c_str()))) { return UNKNOWN_HOST; } remoteServAddr.sin_family=h->h_addrtype; memcpy((char*)&(remoteServAddr.sin_addr.s_addr),h->h_addr_list[0],h->h_length); //set the port, they are differnt for accounting and authentication if (this->code==ACCOUNTING_REQUEST) { remoteServAddr.sin_port=htons(server->getAcctPort()); } else { remoteServAddr.sin_port=htons(server->getAuthPort()); } // Socket creation if((socket2Radius = socket(AF_INET, SOCK_DGRAM, 0))<0) { cerr << "Cannot open socket: "<< strerror(errno) <<"\n"; return SOCKET_ERROR; } // Bind any port cliAddr.sin_family=AF_INET; cliAddr.sin_addr.s_addr=htonl(INADDR_ANY); cliAddr.sin_port=htons(0); //Bind the socket port, if(bind(socket2Radius,(struct sockaddr*)&cliAddr,sizeof(struct sockaddr))<0) { cerr << "Cannot bind port: " << strerror(errno) << "\n"; socket2Radius=-1; return BIND_ERROR; } //safe the socket for receiving packets this->sock=socket2Radius; //sent the buffer return sendto(socket2Radius,this->sendbuffer,this->sendbufferlen,0,(struct sockaddr*)&remoteServAddr,sizeof(struct sockaddr)); } /** Receives a packet from a radius server, and copies it into recvbuffer. * If there is no response the packet is send again if the server->retry * is bigger than 0. 1 means the packet is send * one more time. If a packet is received the received data is write to the recvbuffer * and the length is written to recvbufferlen. * The attributes are cleared if a packet is received. * @param serverlist : A list of radius server. * @return Returns 0 if everything is ok, else ALLOC_ERROR, UNKNOWN_HOST, WRONG_AUTHENTICATOR_IN_RECV_PACKET or NO_RESPONSE in case of error. */ int RadiusPacket::radiusReceive(list *serverlist) { list::iterator server; int result, retries=1; //for the first try retries=1, because the first packet was send in radiusSend() socklen_t len; struct hostent *h; fd_set set; struct timeval tv; struct sockaddr_in remoteServAddr; int i_server=serverlist->size(),i=0; server=serverlist->begin(); while (igetName().c_str()))) { return UNKNOWN_HOST; } remoteServAddr.sin_family=h->h_addrtype; remoteServAddr.sin_port=htons(server->getAuthPort()); //retry the sending if there is no result while (retries<=server->getRetry()) { // wait for the specified time for a response tv.tv_sec = server->getWait(); tv.tv_usec = 0; FD_ZERO(&set); // clear out the set FD_SET(this->sock, &set); // wait only for the RADIUS UDP socket result = select(FD_SETSIZE, &set, NULL, NULL, &tv); if (result>0) { //clear the attributes attribs.clear(); //allocate enough space for the buffer (RFC says maximum 4096=RADIUS_MAX_PACKET_LEN Bytes) if(!(this->recvbuffer=new Octet[RADIUS_MAX_PACKET_LEN])) { return (ALLOC_ERROR); } //set the buffer to 0 memset(this->recvbuffer,0,RADIUS_MAX_PACKET_LEN); len=sizeof(struct sockaddr_in); this->recvbufferlen=recvfrom(this->sock,this->recvbuffer,RADIUS_MAX_PACKET_LEN,0,(struct sockaddr*)&remoteServAddr,&len); close(this->sock); this->sock=0; //unshape the packet if(this->unShapeRadiusPacket()!=0) { return UNSHAPE_ERROR; } if (this->authenticateReceivedPacket(server->getSharedSecret().c_str())!=0) { return WRONG_AUTHENTICATOR_IN_RECV_PACKET; } return 0; } else { close(this->sock); this->sock=0; //retry only if the retries are less than //the server retries if(retries <= server->getRetry()) { this->radiusSend(server); } } retries++; } server++; i++; //set the retries=0, for the new server retries=0; } return NO_RESPONSE; } /** Sets the authenticator field if the packet is * a accounting request. It is a MD5 hash over the whole packet * (the authenticator field itself is set to 0) and the shared * secret. * The authenticator is updated in the field this->authenticator * and in the serialized packet. * @param secret The shared secret of the server in plaintext. */ void RadiusPacket::calcacctdigest(const char *secret) { //Octet digest[MD5_DIGEST_LENGTH]; gcry_md_hd_t context; //Zero out the auth_vector in the received packet. //Then append the shared secret to the received packet, //and calculate the MD5 sum. This must be the same //as the original MD5 sum (packet->vector). memset((this->sendbuffer+4), 0, 16); //build the hash if (!gcry_control (GCRYCTL_ANY_INITIALIZATION_P)) { /* No other library has already initialized libgcrypt. */ gcry_control(GCRYCTL_SET_THREAD_CBS,&gcry_threads_pthread); if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) ) { cerr << "libgcrypt is too old (need " << NEED_LIBGCRYPT_VERSION << ", have " << gcry_check_version (NULL) << ")\n"; } /* Disable secure memory. */ gcry_control (GCRYCTL_DISABLE_SECMEM, 0); gcry_control (GCRYCTL_INITIALIZATION_FINISHED); } gcry_md_open (&context, GCRY_MD_MD5, 0); gcry_md_write(context, this->sendbuffer, this->length); gcry_md_write(context, secret, strlen(secret)); //copy the digest to the paket memcpy(this->sendbuffer+4, gcry_md_read(context, GCRY_MD_MD5), 16); memcpy(this->authenticator, this->sendbuffer+4, 16); gcry_md_close(context); } /** Returns a pointer to the authenticator field. * @return A pointer to the authenticator field. */ char * RadiusPacket::getAuthenticator(void) { return ((char *)this->authenticator); } /** The getter method of the packet code. * @return The code as an integer. */ int RadiusPacket::getCode(void) { return ((int)this->code); } /** Generates real random data with the device "/dev/random". * Windows doesn'h have this device!. The method generates * random data with the length len and copies it to the * field num. In the num field must be enough space! * @param len The length of the random data. * @param num A pointer to an array where the random data is written to. */ void RadiusPacket::getRandom(int len, Octet *num) { int fd = open("/dev/urandom",O_RDONLY); if (fd >= 0) { read(fd, num, len); } close(fd); } /**The method finds attributes with the given type in the packet and returns iterator pair. * This can be looped for the attributes. * @param type The attribute type to find. * @return A pair of the datatype pair::iterator,multimap::iterator> */ pair::iterator,multimap::iterator> RadiusPacket::findAttributes(int type) { pair::iterator,multimap::iterator> p; p=attribs.equal_range((Octet) type); return p; } /**The method checks the authenticator field from a received packet, * so the radius server is authenticated against the client. * @param secret The shared secret. * @return A an integer, 0 if the authenticator field is ok, else WRONG_AUTHENTICATOR_IN_RECV_PACKET. */ int RadiusPacket::authenticateReceivedPacket(const char *secret) { gcry_md_hd_t context; Octet * cpy_recvpacket; //make a copy of the received packet cpy_recvpacket=new Octet [this->recvbufferlen]; memcpy(cpy_recvpacket, this->recvbuffer, this->recvbufferlen); //copy the authenticator of the sent packet to the received packet memcpy(cpy_recvpacket+4, this->sendbuffer+4, 16); //bulid the hash of the copy //build the hash if (!gcry_control (GCRYCTL_ANY_INITIALIZATION_P)) { /* No other library has already initialized libgcrypt. */ gcry_control(GCRYCTL_SET_THREAD_CBS,&gcry_threads_pthread); if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) ) { cerr << "libgcrypt is too old (need " << NEED_LIBGCRYPT_VERSION << ", have " << gcry_check_version (NULL) << ")\n"; } /* Disable secure memory. */ gcry_control (GCRYCTL_DISABLE_SECMEM, 0); gcry_control (GCRYCTL_INITIALIZATION_FINISHED); } gcry_md_open (&context, GCRY_MD_MD5, 0); gcry_md_write(context, cpy_recvpacket, this->recvbufferlen); gcry_md_write(context, secret, strlen(secret)); delete[] cpy_recvpacket; //compare the received and the built authenticator if (memcmp(this->recvbuffer+4, gcry_md_read(context, GCRY_MD_MD5), 16)!=0) { gcry_md_close(context); return WRONG_AUTHENTICATOR_IN_RECV_PACKET; } else { gcry_md_close(context); return 0; } } radiusplugin/RadiusClass/Changelog000644 001750 001750 00000002567 10652723200 016022 0ustar00000000 000000 RadiusClass_v1.1: 18.04.06: Replace Openssl hash functions by libgcrypt functions (GPL compatibility) 07.05.06: checking of the authenticator field from received packets 28.07.06: add file.close() in RadiusConfig.parseConfigFile() 27.09.06: make RadiusPacket->shapePacket() machine indepedent 27.09.06: make RadiusAttribute->intFromBuf() machine indepent 27.09.06: make RadiusAttribute->setValue(char *) machine indepent 18.10.06: add support for sending/receiving vendor specific attributes with example Class: RadiusVendorSpecificAttribute, Example in main.cpp 30.10.06: add definitions for all vendor specific attributes defined in dictionary file of freeradius 1.0.2 - see vsa.h - vsa.h generated with vsahelper.pl script (script also generates file for if statements for determine datatype of an attribute) - vsahelper.pl is in subfolder utilities 26.11.06: add gcry_md_close() for md5 hashes 26.02.07: Change in RadiusPacket.radiusSend(), so the packet is also sent to the last RADIUS server in the list RadiusClass_v2.0: 15.04.07: Support for Vendor specific attributes. Comments now are now allowed in config file. Passwords and sharedsecrets are shown as ****** in the logs. RadiusClass_v2.0b: 21.07.07: Support for gigawords Improve parsing of config file.. Correct parsing of IPADDRESS in RadiusAttribute.cpp in setValue() for data type IPADDRESS radiusplugin/Exception.cpp000644 001750 001750 00000003736 11146035401 014432 0ustar00000000 000000 /* * radiusplugin -- An OpenVPN plugin for do radius authentication * and accounting. * * Copyright (C) 2005 EWE TEL GmbH/Ralf Luebben * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "Exception.h" /**The constructor of the class, it sets the exception number and if * the number is known the text for the number. * @param err The exception number. */ Exception::Exception(int err) { errnum = err; switch(err) { case Exception::SOCKETRECV: this->errtext="Receiving data from internal socket failed!"; break; case Exception::SOCKETSEND: this->errtext="Sending data via internal socket failed!"; case Exception::ALREADYAUTHENTICATED: this->errtext="The User is already authenticated. He could not insert in user map. The client connect will fail. In case of rekeying this note is ok."; } } /**The constructor sets the text of the Exception. * @param txt The exception text. */ Exception::Exception(string txt) { this->errnum=-1; this->errtext=txt; } /**The overloading of ostream for the exception class. */ ostream & operator <<(ostream& os, const Exception& e) { os <<"Error: " << e.errtext << "\n"; return os; } /**The method returns the exception number. * @return The exception number. */ int Exception::getErrnum(void) { return this->errnum; } radiusplugin/log.txt000644 001750 001750 00000000000 11144624162 013275 0ustar00000000 000000 radiusplugin/ToDo000644 001750 001750 00000001727 11146014027 012557 0ustar00000000 000000 TODO (general): ---------------- - integrate system dependent code for system call route ... - debug - class; - create a method which returns a representation of the buffer dependent on the type (enum, ipaddr, string, integer) - get the NAS ip address automatically from the system -> help: find the right interface which knows the route to the radius server! -> or create a /32-interface which is routed in the network, so it is always the same - improve the parsing of framed routes and netmask - set routes over a socket and not over system (route add -net ...) - set timeouts for the ipc socket send and receive methods - exceptionhandling with try and catch - create a routing and ip class with correctness checking - read config options from OpenVPN: - topology option - get to know if no certificates are used - check if preconditions are ok - different status file version - OpenBSD compatible - send commonname to RADIUS server - vsascript call also at authentication