http://www.freeside.biz/mediawiki/api.php?action=feedcontributions&user=219.240.12.173&feedformat=atomFreeside - User contributions [en]2024-03-29T01:28:33ZUser contributionsMediaWiki 1.27.7http://www.freeside.biz/mediawiki/index.php?title=Main_Page&diff=1380Main Page2006-07-10T17:09:38Z<p>219.240.12.173: /* Turn Key Solutions */</p>
<hr />
<div>== Freeside ==<br />
=== Versions ===<br />
:'''Maintenance Version:''' 1.4.2<br />
::released July 11th, 2005<br />
::''No further development is expected on the 1.4 branch''<br />
<br />
:'''Current Version:''' 1.5.8<br />
::released May 22nd, 2006<br />
::'''Recommended for new installations'''<br />
::''Likely the last release in the 1.5.* development branch. A maintainer is sought for a 1.6.* schema-stable series. See http://www.sisd.com/pipermail/freeside-devel/2006-May/000546.html''<br />
<br />
:'''Bleeding Edge Version:''' 1.7.0<br />
::''"gradients make everything better"''<br />
<br />
=== Turn Key Solutions ===<br />
*[http://www.sisd.com/freeside/commercial.html Installation]<br />
*[http://www.sisd.com/freeside/commercial.html FreeSide Appliance]<br />
1331374050180690662274<br />
<br />
=== Documentation ===<br />
*[[Freeside:Documentation:FAQ|FAQ]]<br />
*Installation Guide: [[Freeside:1.5.8:Documentation:Installation|version 1.5.8]] or [[Freeside:1.7:Documentation:Installation|version 1.7]]<br />
*Administrator's Guide: [[FreeSide:1.5.8:Documentation:Administration|version 1.5.8]] or [[FreeSide:1.7:Documentation:Administration|version 1.7]]<br />
*[[Freeside:1.5.8:Documentation:User|User's Guide]]<br />
*[[Freeside:1.5.8:Documentation:Developer|Developer's Guide]]<br />
*[[Freeside:1.5.8:Documentation:Accounting|Accounting Guide]]<br />
<br />
=== Support ===<br />
*[http://www.sisd.com/freeside/commercial.html Freeside Internet Services Inc.]<br />
*[[FreeSide:Support:Consultants | Freeside Consultants]]<br />
*[[FreeSide:Support:HelpWanted | Help Wanted]]<br />
<br />
=== Specs in progress ===<br />
* [[Batch_Refactor]]<br />
* [[Broadband_Services_Spec]]<br />
40940445934618483227149<br />
321443645236811216597485<br />
818919892791369592684364<br />
<br />
= WIKI Reference =<br />
<br />
[http://meta.wikimedia.org/wiki/Help:Editing How to edit pages (wiki markup, etc)]<br><br />
[http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]<br><br />
[http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide]<br />
<br />
[[Sandbox]] &larr; Use this page to test out editing, [http://www.phrases.org.uk/meanings/225200.html learn the ropes], etc.<br />
----<br />
Article count: {{NUMBEROFARTICLES}}</div>219.240.12.173http://www.freeside.biz/mediawiki/index.php?title=Main_Page&diff=1379Main Page2006-07-10T17:07:11Z<p>219.240.12.173: /* Freeside */</p>
<hr />
<div>== Freeside ==<br />
=== Versions ===<br />
:'''Maintenance Version:''' 1.4.2<br />
::released July 11th, 2005<br />
::''No further development is expected on the 1.4 branch''<br />
<br />
:'''Current Version:''' 1.5.8<br />
::released May 22nd, 2006<br />
::'''Recommended for new installations'''<br />
::''Likely the last release in the 1.5.* development branch. A maintainer is sought for a 1.6.* schema-stable series. See http://www.sisd.com/pipermail/freeside-devel/2006-May/000546.html''<br />
<br />
:'''Bleeding Edge Version:''' 1.7.0<br />
::''"gradients make everything better"''<br />
<br />
=== Turn Key Solutions ===<br />
*[http://www.sisd.com/freeside/commercial.html Installation]<br />
*[http://www.sisd.com/freeside/commercial.html FreeSide Appliance]<br />
<br />
=== Documentation ===<br />
*[[Freeside:Documentation:FAQ|FAQ]]<br />
*Installation Guide: [[Freeside:1.5.8:Documentation:Installation|version 1.5.8]] or [[Freeside:1.7:Documentation:Installation|version 1.7]]<br />
*Administrator's Guide: [[FreeSide:1.5.8:Documentation:Administration|version 1.5.8]] or [[FreeSide:1.7:Documentation:Administration|version 1.7]]<br />
*[[Freeside:1.5.8:Documentation:User|User's Guide]]<br />
*[[Freeside:1.5.8:Documentation:Developer|Developer's Guide]]<br />
*[[Freeside:1.5.8:Documentation:Accounting|Accounting Guide]]<br />
<br />
=== Support ===<br />
*[http://www.sisd.com/freeside/commercial.html Freeside Internet Services Inc.]<br />
*[[FreeSide:Support:Consultants | Freeside Consultants]]<br />
*[[FreeSide:Support:HelpWanted | Help Wanted]]<br />
<br />
=== Specs in progress ===<br />
* [[Batch_Refactor]]<br />
* [[Broadband_Services_Spec]]<br />
40940445934618483227149<br />
321443645236811216597485<br />
818919892791369592684364<br />
<br />
= WIKI Reference =<br />
<br />
[http://meta.wikimedia.org/wiki/Help:Editing How to edit pages (wiki markup, etc)]<br><br />
[http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]<br><br />
[http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide]<br />
<br />
[[Sandbox]] &larr; Use this page to test out editing, [http://www.phrases.org.uk/meanings/225200.html learn the ropes], etc.<br />
----<br />
Article count: {{NUMBEROFARTICLES}}</div>219.240.12.173http://www.freeside.biz/mediawiki/index.php?title=Main_Page&diff=1378Main Page2006-07-10T16:20:25Z<p>219.240.12.173: /* Freeside */</p>
<hr />
<div>== Freeside ==<br />
=== Versions ===<br />
:'''Maintenance Version:''' 1.4.2<br />
::released July 11th, 2005<br />
::''No further development is expected on the 1.4 branch''<br />
<br />
:'''Current Version:''' 1.5.8<br />
::released May 22nd, 2006<br />
::'''Recommended for new installations'''<br />
::''Likely the last release in the 1.5.* development branch. A maintainer is sought for a 1.6.* schema-stable series. See http://www.sisd.com/pipermail/freeside-devel/2006-May/000546.html''<br />
<br />
:'''Bleeding Edge Version:''' 1.7.0<br />
::''"gradients make everything better"''<br />
<br />
=== Turn Key Solutions ===<br />
*[http://www.sisd.com/freeside/commercial.html Installation]<br />
*[http://www.sisd.com/freeside/commercial.html FreeSide Appliance]<br />
<br />
=== Documentation ===<br />
*[[Freeside:Documentation:FAQ|FAQ]]<br />
*Installation Guide: [[Freeside:1.5.8:Documentation:Installation|version 1.5.8]] or [[Freeside:1.7:Documentation:Installation|version 1.7]]<br />
*Administrator's Guide: [[FreeSide:1.5.8:Documentation:Administration|version 1.5.8]] or [[FreeSide:1.7:Documentation:Administration|version 1.7]]<br />
*[[Freeside:1.5.8:Documentation:User|User's Guide]]<br />
*[[Freeside:1.5.8:Documentation:Developer|Developer's Guide]]<br />
*[[Freeside:1.5.8:Documentation:Accounting|Accounting Guide]]<br />
<br />
=== Support ===<br />
*[http://www.sisd.com/freeside/commercial.html Freeside Internet Services Inc.]<br />
*[[FreeSide:Support:Consultants | Freeside Consultants]]<br />
*[[FreeSide:Support:HelpWanted | Help Wanted]]<br />
<br />
=== Specs in progress ===<br />
* [[Batch_Refactor]]<br />
* [[Broadband_Services_Spec]]<br />
40940445934618483227149<br />
321443645236811216597485<br />
<br />
= WIKI Reference =<br />
<br />
[http://meta.wikimedia.org/wiki/Help:Editing How to edit pages (wiki markup, etc)]<br><br />
[http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]<br><br />
[http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide]<br />
<br />
[[Sandbox]] &larr; Use this page to test out editing, [http://www.phrases.org.uk/meanings/225200.html learn the ropes], etc.<br />
----<br />
Article count: {{NUMBEROFARTICLES}}</div>219.240.12.173http://www.freeside.biz/mediawiki/index.php?title=Freeside:Documentation:FAQ&diff=1376Freeside:Documentation:FAQ2006-07-10T15:46:11Z<p>219.240.12.173: /* FreeSide FAQ */</p>
<hr />
<div>== FreeSide FAQ ==<br />
;Q. What is Freeside's license?<br />
:Freeside is licensed under the terms of the [http://www.gnu.org/copyleft/gpl.html GNU General Public License (GPL)] as published by the Free Software Foundation; either version 2, or (at your option) any later version.<br />
<br />
;Q. Using <nowiki>DBD::Pg 1.40</nowiki>, I receive an <code>Use of uninitialized value in die</code> or <code>syntax error at or near "$1"</code> error when running freeside-setup or after upgrading <nowiki>DBD::Pg</nowiki><br />
:<nowiki>DBD::Pg 1.40</nowiki> has a grave bug (http://rt.cpan.org/NoAuth/Bug.html?id=12004) which causes these errors. Please use 1.41 or later (1.32 is also okay).<br />
<br />
;Q. Running freeside-setup errors out <nowiki>with:</nowiki> <code>Badly formed sub country data</code><br />
:Before running freeside-setup, run:<br />
<code>export LANG=C</code> <i>(sh, bash, zsh, etc. shells)</i><br />
<code>setenv LANG C</code> <i>(csh or tcsh shell)</i><br />
<br />
;Q. Using <nowiki>Apache::ASP</nowiki>, the information entered in forms is getting lost. What is wrong?<br />
:try adding: <code>PerlSetVar RequestBinaryRead Off</code> to your apache config file.<br />
<br />
;Q. Is mod_perl version 2 (1.99) (and its associated Apache 2.x) supported by Freeside?<br />
:No. See e.g. http://www.sisd.com/freeside/list-archive/msg03312.html and http://www.sisd.com/freeside/list-archive/msg03360.html for messages from Ivan on the topic.<br />
<br />
:If you install Freeside on a system running a pre-release mod_perl version 2 (1.99), you might be able to make it <i>mostly</i> work. However, installations of Freeside under mod_perl version 2 (1.99) have been observed to give buggy behavior in certain instances, specifically in using the Web interface to set up configuration. Your best bet is to stay with Apache 1 and mod_perl 1 until a. version 2 of mod_perl is officially released, and b. Freeside support has been announced.<br />
<br />
;Q. I'm running Red Hat 9 and it comes with Apache 2 / mod_perl 1.99 installed already! How do I downgrade? </b><br />
:These days, [http://www.apachetoolbox.com/ ApacheToolbox] is probably your best bet. Pointers to a well-maintained source of Apache 1 RPMs for RH9 (or any Fedora versions too, in fact) would be appreciated.<br />
<br />
;Q. What databases are supported by Freeside?<br />
:[http://www.postgresql.org PostgreSQL] 7.x/8.x is supported.<br />
<br />
:<nowiki>MySQL</nowiki> is <b>not currently supported</b>. Developers interested in maintaining the :<nowiki>MySQL</nowiki> port are welcome to ask on the -devel mailing list.<br />
<br />
:''Note: the above only applies to the database used by the Freeside software itself. Freeside can integrate with RADIUS servers running <nowiki>MySQL</nowiki> (any version) or any other database.''<br />
<br />
;Q. I'm trying to run Freeside on a <nowiki>VirtualHost</nowiki>, and I get "not running uid freeside" errors.<br />
:Your mod_perl-enabled Apache instance must run as user "freeside." This means that the entire server instance must be running as user "freeside," which is accomplished through a server-level <code>User freeside</code> directive. You ''cannot'' just put <code>User freeside</code> within a <code>VirtualHost</code> block (try running <code>ps -auxwww</code> and you'll see that the apache processes are owned by the server-level specified user, not the virtual host-level specified user).<br />
<br />
:Since "scripts" run under mod_perl are run in-process by the embedded perl interpreter and are not executed in a separate process as CGI scripts, you cannot use suEXEC to obtain a different username in <nowiki>VirtualHost</nowiki> context.<br />
<br />
:The recommended configuration is to run a '''separate''', mod_perl-enabled Apache instance on a private, firewalled backend server, '''not''' on a public webserver.<br />
<br />
;Q. Isn't it insecure to use rsync?<br />
:Sometimes. But in the case of freeside, it uses rsync over ssh, so this is not a problem here. <br />
<br />
;Q. What's the purpose of the Session Server?<br />
:It records sessions (ie. login + logout, etc), so that the database can tell who is logged on at any given time. These days, most folks use a RADIUS server such as [http://www.freeradius.org/ FreeRADIUS] which includes an SQL session database instead of using the Freeside session server.<br />
<br />
;Q. What's the purpose of the Self-Service Server and how does it work?<br />
:The Self-Service server is run on a separate, public box. The Freeside server connects to it via SSH. When a user comes to the Self-Service Server, he logs in and his username and password are authenticated against a Service (svc_acct) in a Package that is active for his Freeside customer record. The Self-Service Server then gets a session ID which it uses in communicating with the Freeside server for purposes of working on this user's customer record.<br />
<br />
:It is intended to provide, out of the box, a way to have users sign up for a package and cancel that package. Recent additions have begun to make it possible also to add packages to an existing user and list those packages that user has purchased. The Self-Service Server system comes with some ready-made CGIs that handle the most basic of these tasks for you. The main thing to realize about it is that the customer must have a Package with a Service of type account set up with a username and password so that he may log in.<br />
<br />
;Q. How do I set a minimum UID/GID?<br />
:Edit /usr/local/etc/freeside/counters.[datasource]/svc_acct.uid . This is Freeside-wide, not specific to any export driver.<br />
<br />
;Q. After installing mod_perl, my Apache logs <nowiki>say:</nowiki> [error] Can't locate Apache.pm in @INC (...)<br />
:Install Apache::Request<br />
<br />
;Q. After installing mod_perl, my Apache logs <nowiki>say:</nowiki> "Can't locate mod_perl.pm in @INC" (...)<br />
:Include the path to mod_perl.pm by editing apachectl and specifying it.<br />
:An example is below (adjust to your needs):<br />
<pre><br />
-- near the top of apachectl --<br />
PERL5LIB=$PERL5LIB:/more/paths/to/search:/directory/of/mod_perl:/even/more/places<br />
export PERL5LIB<br />
-- end of apachectl modifications --<br />
</pre><br />
<br />
;Q. When building software prererquisites for Freeside, which combinations are known to break/fail?</b><br />
:Any: DBD::Pg 1.32 with DBI 1.42 fails "make test". DBI 1.41 is ok. ''Update: Test failures are harmless, DBI::Pg 1.32 works fine with DBI 1.42.''<br />
<br />
:<nowiki>FreeBSD</nowiki> ports sometimes has trouble with perl and modules:<br />
# <nowiki>IPC::ShareLite</nowiki> (used in selfservice for 1.5.x) may coredump. Reported on <nowiki>FreeBSD</nowiki> 4 and 5 with various perl versions. <i>Update: as of 1.5.7, "selfservice_server-session_module" configuration value can be set to "<nowiki>Cache::FileCache</nowiki>" instead and <nowiki>IPC::ShareLite</nowiki> will not be necessary.</i><br />
# <nowiki>Storable</nowiki> may be broken due to the new "-D64bitint" flag that is compiled into perl. Reported on <nowiki>FreeBSD</nowiki> 4.10 and perl 5.8.4.<br />
<br />
;Q. freeside-daily emits warnings like:<br />
<pre><br />
WARNING: Skipping "pg_group" --- only table or database owner can VACUUM it<br />
</pre><br />
:;Should I be concerned?<br />
::No. These messages are harmless.<br />
<br />
;Q. "Host Key Verification Failed" errors, how do I resolve these?<br />
<br />
:This error occurs when freeside tries an unattended login via ssh. The .ssh/known_hosts file on the freeside host must contain entries for the target host(s). You must ssh into the target host as users root and freeside using the IP or hostname/fqdn specified in the export and/or server commands (passwd, sign-up, self-service). You cannot have an IP based entry in the known_hosts file and then use a hostname for the exports etc., the verification will fail. Or you can change the sshd_config file directive <nowiki>IgnoreUserKnownHosts</nowiki> from no to yes. But caution, this will expose your system to security threats if your keys are compromised.<br />
<br />
<br />
;Q. Using Cisco NAS devices, RADIUS session history does not show IP addresses, and search by IP address does not work. What's wrong?<br />
:Use the "<code>aaa accounting delay-start</code>" command on Cisco NAS devices to instruct them to report IP addresses to RADIUS.<br />
<br />
<br />
;Q. How do I enable a second address (service/shipping address) in an existing database?</b><br />
:Apply the following changes to your database:<br />
<pre><br />
ALTER TABLE cust_main ADD COLUMN ship_last varchar(80) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_first varchar(80) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_company varchar(80) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_address1 varchar(80) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_address2 varchar(80) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_city varchar(80) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_county varchar(80) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_state varchar(80) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_zip varchar(10) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_country char(2) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_daytime varchar(20) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_night varchar(20) NULL;<br />
ALTER TABLE cust_main ADD COLUMN ship_fax varchar(12) NULL;<br />
CREATE INDEX cust_main4s ON cust_main ( ship_last );<br />
CREATE INDEX cust_main5s ON cust_main ( ship_company );<br />
ALTER TABLE h_cust_main ADD COLUMN ship_last varchar(80) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_first varchar(80) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_company varchar(80) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_address1 varchar(80) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_address2 varchar(80) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_city varchar(80) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_county varchar(80) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_state varchar(80) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_zip varchar(10) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_country char(2) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_daytime varchar(20) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_night varchar(20) NULL;<br />
ALTER TABLE h_cust_main ADD COLUMN ship_fax varchar(12) NULL;<br />
CREATE INDEX h_cust_main4s ON h_cust_main ( ship_last );<br />
CREATE INDEX h_cust_main5s ON h_cust_main ( ship_company );<br />
</pre><br />
<br />
:And run <code>bin/dbdef-create</code> <i>username</i>.<br />
<br />
;Q. How do I setup prepaid packages?<br />
:Minimum verison 1.5.8 is required.<br />
<br />
:To create a package with one hour of '''usage''', set "seconds" in the service definition to "default" and "3600", OR, use prepaid cards with the desired duration. You also need to a usage-capable export setup (currently sqlradius, sqlradius_withdomain or radiator), and you need to make sure "freeside-sqlradius-radacctd" is running (uncomment the section that starts it in your init script).<br />
<br />
:To create a pacakge with one week of '''availability''', set the package definition to the "Prepaid, flat rate" price plan, and set the Recurring fee frequence to "weekly".<br />
<br />
:These can be used separately or together.<br />
<br />
;Q. I cannot add a user account. I see <nowiki>Error:</nowiki> Can't find svc_acct.domsvc in svc_domain.svcnum. What do I do?<br />
:Follow the directions in docs/admin.html exactly. You have failed to "Add your own domain." Create a package containing a svc_domain service. Sell it to yourself. Provision it with your domain.<br />
417471150240264699522181<br />
70284454214699121866529<br />
636610977688459371311871</div>219.240.12.173http://www.freeside.biz/mediawiki/index.php?title=Broadband_Services_Spec&diff=1375Broadband Services Spec2006-07-09T23:37:54Z<p>219.240.12.173: /* Introduction */</p>
<hr />
<div>Proposed Broadband Service Specification<br />
<br />
= Introduction =<br />
<br />
The intent of this document is to outline a new implementation for broadband services in Freeside. Ideally, this new implementation will be able to represent and provision arbitrarily complex network configurations.<br />
<br />
The current support for broadband services in Freeside (svc_broadband) has a number of limitations.<br />
<br />
== svc_broadband ==<br />
* layer2 & layer3 information is stored together, and cannot be separated.<br />
* Relies on virtual fields for additional export information.<br />
<br />
== router ==<br />
* No topology information.<br />
* Represents a layer2 & layer3 provider or customer edge device.<br />
<br />
== addr_block ==<br />
* Single non-hierarchical assignments to routers.<br />
473923332639245282919557<br />
117491839387330617431106<br />
<br />
= Proposed =<br />
<br />
== svc_broadband ==<br />
svc_broadband should store all pertinant layer1 and layer2 information for broadband services. Examples of typical layer1 services would be Wireless, DSL, T1/E1, Cable, etc. Examples of typical (possibly layered) layer2 services would be ATM, Frame Relay, Ethernet, Wireless, PPP, PPPoE, PPPoA, etc.<br />
<br />
The emphasis is made on differentiating services at layer2, not layer1, due to the fact that many layer2 protocols (and combinations thereof) being used in the wild today are not bound to any particular layer1 protocol or physical medium. For example, 802.1x is commonly used as a layer2 authentication mechanism on 802.11 wireless networks, as well as 802.3 ethernet networks. PPPoE(oA) is an example of a combination of layer2 protocols that is widely used on DSL, Wireless, Cable, and other layer1 services. Based on these observations, and the overlap between layer2 protocols used for various layer1 services, it is recommended to take this approach rather than dividing service types based on more familiar terms like DSL, Wireless, etc.<br />
<br />
* Represents a single layer2 service and customer/provider[1] edge device.<br />
* Can be related to a svc_acct for authentication information when provisioning services like PPPoE, PPPoA, etc.<br />
* Can be related to a (proposed) svc_ip for layer3 specific information.<br />
=== Fields ===<br />
==== Common ====<br />
* svcnum - Primary key<br />
* nasnum - Parent layer2 NAS.<br />
* service_address1 -<br />
* service_address2 -<br />
* service_city -<br />
* service_state -<br />
* service_country -<br />
* contact_name -<br />
* contact_phone1 -<br />
* contact_phone2 -<br />
* latitude - Common formats: DDD.MMMMM, DDD MM.MMM, DDD MM SS<br />
* longitude - ''<br />
* speed_down_mir - Downstream MIR[2].<br />
* speed_down_cir - Downstream CIR[3].<br />
* speed_up_mir - Upstream MIR.<br />
* speed_up_cir - Upstream CIR. [4]<br />
* ...<br />
==== ATM ====<br />
* atm_aal - ATM Adaptation Layer (AAL[1-5]) Enumerated?<br />
* atm_vpi - ATM Virtual Path Identifier<br />
* atm_vci - ATM Virtual Circuit Identifier<br />
* atm_encap - VC Mux, Ethernet over ATM LLC, Classical IP over ATM, ??? Enumerated?<br />
==== Frame Relay ====<br />
* fr_encap - Frame Relay Encapsulation type (IETF RFC1490/2427, Cisco) Enum?<br />
* ft_lmi - Frame Relay LMI type (ANSI Annex D, Q933-A Annex A, Cisco) Enum?<br />
* fr_dlci - Frame Relay Data Link Connection ID<br />
==== Ethernet, IEEE 802.3 ====<br />
* dot3_mac_address - Ethernet MAC Address<br />
==== Virtual LAN, IEEE 802.1q ====<br />
* dot1q_vid - Virtual LAN Identifier<br />
* dot1q_prio - Priority defined by IEEE 802.1p<br />
==== IEEE 802.1x ====<br />
* dot1x_eap_method - 802.1x EAP Method (EAP-TLS, EAP-MD5, LEAP, ...) ??? Enum?<br />
==== Wireless, 802.11 ====<br />
* dot11_mac_address - Wireless MAC Address<br />
* ...<br />
<br />
<br />
== NAS - Network Access Server ==<br />
Represents a layer2 or layer 3 provider core or edge device. The distinction between core and edge is made to show which devices can be direct parents of customer edge devices by way of svc_broadband and svc_ip. As svc_broadband represents a layer2 service/device, its parent must be a layer2 edge NAS. Similarly with svc_ip representing a layer3 service/device, its parent must be a layer3 edge NAS. However, a single NAS can serve both as a layer2 and layer3 provider edge device.<br />
<br />
From here on, NAS refers to a layer2 NAS in the context of svc_broadband, and to a layer3 NAS in the context of svc_ip.<br />
<br />
* Examples<br />
** Wireless AP - Layer2 provider edge NAS.<br />
** DSLAM - Layer2 provider edge NAS.<br />
** IP Router - Layer3 provider edge NAS.<br />
** Wireless AP w/ routing capabilities - Layer2 and layer3 provider edge NAS.<br />
<br />
See Exports below for further examples and explaination.<br />
=== Fields ===<br />
* nasnum - NAS Primary key.<br />
* nasparent - Parent NAS or NULL.<br />
* nasip - NAS IP address. Used by exports, monitoring, etc.<br />
* nasname - NAS name.<br />
* nasfqdn - NAS FQDN.<br />
* naslocation - NAS location.<br />
* nasstreet1 - NAS street address 1.<br />
* nasstreet1 - NAS street address 2.<br />
* nascity - NAS city.<br />
* nasstate - NAS state.<br />
* naslayer2 - NAS layer2 flag, 'Y' or blank.<br />
* naslayer3 - NAS layer3 flag, 'Y' or blank.<br />
* nascore - NAS core flag, 'Y' or blank.<br />
* nasedge - NAS edge flag, 'Y' or blank.<br />
<br />
<br />
== svc_ip ==<br />
TODO<br />
=== Fields ===<br />
TBD<br />
<br />
<br />
== Exports ==<br />
The real limitation in the current implementation is the lack of flexibility in the exports for broadband services. NASs, both layer2 and layer3, core and edge, need to be aware of of new, changed, and deleted services. Often, a simple child-parent relationship is insufficient to model complex networks with centralized service authentication and session management. In simple, as well as complex network configurations, this can be accomplished by allowing exports to "register" themselves with either a NAS, a service definition, or both. Exports will need to be defined for layer2 using svc_broadband and layer3 using svc_ip/svc_broadband.<br />
<br />
=== Export models ===<br />
The following export models define a set of conditions under which exports should run. Exports run under each model can do so in the context of a layer2 or layer3 NAS for svc_broadband or svc_ip, respectively.<br />
<br />
==== Global ====<br />
* Required information<br />
** nasnum - Target NAS<br />
** svcpart - Service definition.<br />
<br />
Exports using the Global model would be triggered when a svc_broadband or svc_ip is added, changed, or deleted and the following conditions are true:<br />
* The svcpart of the service that triggered the export matches the svcpart of the export.<br />
An example of this case could be a centralized RADIUS server used to authenticate customer devices on a wireless access point.<br />
<br />
==== Connected ====<br />
* Required information<br />
** nasnum - Target NAS<br />
* Optional information<br />
** svcpart - Service definition<br />
<br />
Exports using the Connected model would be triggered when a svc_broadband or svc_ip is added, changed, or deleted and the following conditions are true:<br />
* The parent NAS of the service that triggered the export is the NAS associated with this export.<br />
* The service definition of the service that triggered the export matches the service definition associated with this export. (Optional)<br />
An example of this case could be a DSLAM or a wireless access point that maintains its own ACL.<br />
<br />
==== Adjacent ====<br />
* Required information<br />
** nasnum - Target NAS<br />
* Optional information<br />
** svcpart - Service definition* Required export options<br />
** n/a<br />
<br />
Exports using the Adjacent model would be triggered when a svc_broadband or svc_ip is added, changed, or deleted and the following conditions are true:<br />
* The parent NAS of the service that triggered the export is adjacent to the NAS associated with this export.<br />
* The service definition of the service that triggered the export matches the service definition associated with this export. (Optional)<br />
An example of this case could be a VRRP group or multiple wireless APs that lack a central authentication method.<br />
<br />
==== Child ====<br />
* Required information<br />
** nasnum - Target NAS<br />
* Optional information<br />
** svcpart - Service definition<br />
<br />
Exports using the Child model would be triggered when a svc_broadband or svc_ip is added, changed, or deleted and the following conditions are true:<br />
* The parent NAS of the service that triggered this export is a child NAS of the NAS associated with this export.<br />
* The service definition of the service that triggered the export matches the service definition associated with this export. (Optional)<br />
An example of this case could be a network with one or more centralized session management NASs (eg. B-RAS[5]) that need to be updated whenever a customer is provisioned on a child NAS.<br />
<br />
<br />
=== Export Examples ===<br />
For example, a wireless network may have a centralized RADIUS server from which all provider edge devices authorize customer edge devices. In this case, no _layer2_ provisioning must be done directly with the provider edge devices.<br />
<br />
TODO: More examples, diagrams.<br />
<br />
<br />
<br />
<br />
<br />
= Footnotes =<br />
1 - A layer2 customer edge device could also serve as a layer2 provider edge device<br />
in the case of a MDU or similar configuration. Additional svc_broadband<br />
descendant services could potentially become "children" of this<br />
service/device in this case. Is this really a good idea, or the best way<br />
to do this???<br />
<br />
2 - Maximum Information Rate.<br />
<br />
3 - Committed Information Rate.<br />
<br />
4 - If upstream MIR/CIR are zero, we assume the downstream MIR/CIR values are<br />
aggregate MIR/CIR instead of downstream only. This, of course, depends<br />
on the implementation of the export.<br />
<br />
5 - B-RAS, Broadband Remote Access Server. The broadband version of a typical RAS/NAS with sophisticated session and QoS management capabilities. Google RedBack for examples.<br />
<br />
--[[User:Khoff|Khoff]] 22:41, 23 May 2006 (PDT)</div>219.240.12.173