diff options
Diffstat (limited to 'doc/kppp/dialog-setup.docbook')
-rw-r--r-- | doc/kppp/dialog-setup.docbook | 765 |
1 files changed, 765 insertions, 0 deletions
diff --git a/doc/kppp/dialog-setup.docbook b/doc/kppp/dialog-setup.docbook new file mode 100644 index 00000000..ce76ac49 --- /dev/null +++ b/doc/kppp/dialog-setup.docbook @@ -0,0 +1,765 @@ +<chapter id="dialog-setup"> +<title>Setting up a connection with the dialogs</title> + +<para>Setting up a connection with the dialog based setup is not too much more +difficult than using the wizard.</para> + +<para>You can reach the setup dialog the same way you did the wizard. Start +&kppp; from your <guimenu>K</guimenu> menu, where you will find its entry in the +<guisubmenu>Internet</guisubmenu> as <guimenuitem>Internet +Dialer</guimenuitem>.</para> + +<para>The following dialog will appear:</para> + +<screenshot> +<screeninfo>The &kppp; dialer startup screen</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kppp-dialler-tab.png" format="PNG"/> +</imageobject> +<textobject><phrase>The &kppp; dialer startup screen</phrase> +</textobject> +<caption><para>The &kppp; dialer startup screen</para></caption> +</mediaobject> +</screenshot> + +<para>It will probably not have any entries to begin with, and that's what we're +about to do now.</para> + +<para>Click the <guibutton>Setup</guibutton> button to begin setting up a new +Internet connection.</para> + +<para>This time, choose <guilabel>Dialog setup</guilabel> and you'll see the +following Dialog appear:</para> + +<screenshot> +<screeninfo>The <guilabel>New Account</guilabel> Dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kppp-account-dial-tab.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The <guilabel>New Account</guilabel> Dialog</phrase> +</textobject> +<caption> +<para>The <guilabel>New Account</guilabel> Dialog</para> +</caption> +</mediaobject> +</screenshot> + +<!-- Make a screenshot of the actual new Account Dialog with no entries --> + +<para>The <guilabel>New Account</guilabel> dialog contains the following +sections:</para> + +<itemizedlist> +<listitem> +<para><link linkend="account-dial"><guilabel>Dial</guilabel></link></para> +</listitem> +<listitem> +<para><link linkend="account-ip"><guilabel>IP</guilabel></link></para> +</listitem> +<listitem> +<para><link linkend="account-gateway"><guilabel>Gateway</guilabel></link></para> +</listitem> +<listitem> +<para><link linkend="account-dns"><guilabel>DNS</guilabel></link></para> +</listitem> +<listitem> +<para><link linkend="account-login-script"><guilabel>Login +Script</guilabel></link></para> +</listitem> +<listitem> +<para><link linkend="account-execute"><guilabel>Execute</guilabel></link></para> +</listitem> +<listitem> +<para><link +linkend="account-accounting"><guilabel>Accounting</guilabel></link></para> +</listitem> +</itemizedlist> + +<para>You normally won't need to fill in all these, although each of them is +described in the following sections.</para> + +<sect1 id="account-dial"> +<title>The <guilabel>Dial</guilabel> tab</title> + +<screenshot> +<screeninfo>The Accounts <guilabel>Dial</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kppp-account-dial-tab.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The Accounts <guilabel>Dial</guilabel> tab</phrase> +</textobject> +<caption><para>The Accounts <guilabel>Dial</guilabel> tab</para> +</caption> +</mediaobject> +</screenshot> + +<para>The <guilabel>Dial</guilabel> tab has the following options:</para> + +<variablelist> +<varlistentry> +<term><guilabel>Connection Name:</guilabel></term> +<listitem> +<para>You must give the account a name. This can be anything you like, but if +you have more than one account, each name must be unique.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Phone Number:</guilabel></term> +<listitem> +<para>Specify the phone number to dial. You can use characters such as +<quote>-</quote> to make the number more legible. If you concatenate a series +of numbers separated by a colon (⪚ +<userinput>1111111:2222222:3333333</userinput>, &kppp; will try these numbers one +after the other whenever it receives a busy signal. You can use the +<guibutton>Add</guibutton> button to add another number, +<guibutton>Remove</guibutton> to remove a number from the list, and the +<guiicon>up</guiicon> and <guiicon>down</guiicon> arrows to change the order of +the list.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Authentication</guilabel></term> +<listitem> +<para>Choose the appropriate method of authentication that &kppp; should use to +log into the server. Check with your provider for more information. Use of +<acronym>PAP</acronym> and <acronym>CHAP</acronym> are described in the chapter +<xref linkend="chap-and-pap"/>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Store password</guilabel></term> +<listitem> +<para>Check this option if you want &kppp; to remember your password between +sessions.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guibutton>Customize pppd arguments...</guibutton></term> +<listitem> +<para>This will bring up the <application>pppd</application> arguments dialog. +You can use this dialog to add any desired options that you want &kppp; to hand +to <application>pppd</application>. See the <application>pppd</application> man +page for a list of available options, but unless you know exactly what you are +doing, you should probably restrain yourself from tinkering with these.</para> +</listitem> +</varlistentry> +</variablelist> + +</sect1> + +<sect1 id="account-ip"> +<title>The <guilabel>IP</guilabel> tab</title> + +<screenshot> +<screeninfo>The Accounts <guilabel>IP</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kppp-account-ip-tab.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The Accounts <guilabel>IP</guilabel> tab</phrase> +</textobject> +<caption><para>The Accounts <guilabel>IP</guilabel> tab</para> +</caption> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Dynamic IP Address</guilabel></term> +<listitem> +<para>Check this if your <acronym>ISP</acronym> uses dynamic +<acronym>IP</acronym> address assignment. In this case, your +<acronym>IP</acronym> address will change every time you establish a +connection.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Static IP Address</guilabel></term> +<listitem> +<para>Check this if your <acronym>ISP</acronym> has given you a static +<acronym>IP</acronym> address. In that case you will also need to fill in that +address in the <guilabel>IP Address</guilabel> box, and any <guilabel>Subnet +Mask</guilabel> if applicable. Ask your <acronym>ISP</acronym> if +unsure. Dynamically assigned addresses are used in the huge majority if +<acronym>ISP</acronym>'s and leaving this checked will in most cases be the +right choice.</para> +</listitem> +</varlistentry> +<varlistentry id="auto-configure-hostname"> +<term><guilabel>Auto-configure hostname from this IP</guilabel></term> +<listitem> +<para>Select this option if you want &kppp; to set the hostname and domain for +your machine after a successful <acronym>ppp</acronym> connection.</para> +<para>This is done by querying the defined Domain Name Server with the +<acronym>IP</acronym> assigned for the <acronym>ppp</acronym> link.</para> +<para>This option is useful for those stand-alone machines which want to use +protocols such as talk, which require the hostname to be the same as your +machine is known on the internet. It overrides the <guilabel>Domain +Name</guilabel> option in the <guilabel>DNS</guilabel> section, and the machine +defaults are restored to their original values when you close the +<acronym>ppp</acronym> connection.</para> +<para>This option is <emphasis>not</emphasis> useful if you just want to connect +to the internet and surf, check mail, or chat. It has the side-effect of +disallowing any new connections to your X server - in other words, you can't +open any more <acronym>GUI</acronym> programs.</para> +<para>Only turn this on if you are absolutely sure you need it.</para> +</listitem> +</varlistentry> +</variablelist> + +</sect1> + +<sect1 id="account-gateway"> +<title>The <guilabel>Gateway</guilabel> tab</title> + +<screenshot> +<screeninfo>The Accounts <guilabel>Gateway</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kppp-account-gateway-tab.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The Accounts <guilabel>Gateway</guilabel> tab</phrase> +</textobject> +<caption><para>The Accounts <guilabel>Gateway</guilabel> tab</para> +</caption> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Default Gateway</guilabel></term> +<listitem> +<para>Check this if you want <application>pppd</application> to use the default +Gateway for your machine. This is the default.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Static Gateway</guilabel></term> +<listitem> +<para>Check this if you want to specify the Gateway to be used in place of the +default.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Assign the Default Route to this Gateway</guilabel></term> +<listitem> +<para>You almost certainly will need this to be checked (the default).</para> +</listitem> +</varlistentry> +</variablelist> + +</sect1> + +<sect1 id="account-dns"> +<title>The <guilabel>DNS</guilabel> tab</title> + +<screenshot> +<screeninfo>The Accounts <guilabel>DNS</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kppp-account-dns-tab.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The Accounts <guilabel>DNS</guilabel> tab</phrase> +</textobject> +<caption><para>The Accounts <guilabel>DNS</guilabel> tab</para> +</caption> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Domain Name:</guilabel></term> +<listitem> +<para>Specify the domain name for your machine. As with <acronym>DNS</acronym> +addresses, it is restored to the original specified in +<filename>/etc/resolv.conf</filename> when the connection goes down. If it is +left blank, no changes are made to the domain name specified in +<filename>/etc/resolv.conf</filename></para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Configuration:</guilabel></term> +<listitem> +<para>Choose between <guilabel>Automatic</guilabel> (the <acronym>ISP</acronym> +will automatically issue you <acronym>DNS</acronym> server addresses when you +connect) and <guilabel>Manual</guilabel>. If you choose manual, the +<guilabel>DNS IP Address</guilabel> section is then enabled.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>DNS IP Address</guilabel></term> +<listitem> +<para>This section is only enabled if you chose <guilabel>Manual</guilabel> in +the previous option. Add the Domain Name Servers assigned to you by your +<acronym>ISP</acronym>. You must specify at least one Domain Name Server for +your <acronym>OS</acronym> to be able to resolve human readable +<acronym>IP</acronym> addresses such as +<systemitem>ftp.kde.org</systemitem>. The <acronym>DNS</acronym> server +addresses supplied must be in numeric form, ⪚ +<systemitem>128.231.231.233</systemitem>. These addresses will be added at +runtime to <filename>/etc/resolv.conf</filename>.</para> +<para>Choose the <guibutton>Add</guibutton> button to add each new +<acronym>DNS</acronym> server address to the list box below. Choose +<guibutton>Remove</guibutton> to remove an entry from the list.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Disable existing DNS Servers during Connection</guilabel></term> +<listitem> +<para>If you check this box, any <acronym>DNS</acronym> servers listed in +<filename>/etc/resolv.conf</filename> will be disabled while the connection +remains up.</para> +</listitem> +</varlistentry> +</variablelist> + +</sect1> + +<sect1 id="account-login-script"> +<title>The <guilabel>Login Script</guilabel> tab</title> + +<screenshot> +<screeninfo>The Accounts <guilabel>Login Script</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kppp-account-login-script-tab.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The Accounts <guilabel>Login Script</guilabel> tab</phrase> +</textobject> +<caption><para>The Accounts <guilabel>Login Script</guilabel> tab</para> +</caption> +</mediaobject> +</screenshot> + +<para>Use this dialog to compose a dial in script for your +<acronym>ISP</acronym> dialup connection. You can use the mini-terminal and the +information supplied by your <acronym>ISP</acronym> to find out what sequence of +actions needs to be executed.</para> + +<para>Choose an option from the drop down box on the left, and then add any +parameters for that action in the edit box on the right. Use +<guibutton>Add</guibutton> to add each entry to the <emphasis>bottom</emphasis> +of the script, which is displayed in the lower part of the dialog. Use +<guibutton>Insert</guibutton> to insert an entry anywhere in the script, and use +<guibutton>Remove</guibutton> to delete a line from the script.</para> + +<para>The options available are:</para> + +<variablelist> +<varlistentry> +<term><guilabel>Expect</guilabel></term> +<listitem> +<para>&kppp; will wait for the specified string to be received.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Send</guilabel></term> +<listitem> +<para>&kppp; will send the specified string.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Scan</guilabel></term> +<listitem> +<para>&kppp; will scan the input stream for the specified string, and will +store any character from the end of the string up to the next newline, in an +internal buffer. Trailing and leading whitespace will be stripped off.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Save</guilabel></term> +<listitem> +<para>Permanently store the previously scanned string in the specified register. +Currently the only valid register is <varname>password</varname>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Pause</guilabel></term> +<listitem> +<para>Pause for the specified number of seconds.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Hangup</guilabel></term> +<listitem> +<para>&kppp; will send the <command>hangup</command> to the modem.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Answer</guilabel></term> +<listitem> +<para>&kppp; will set the modem into answer mode.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Timeout</guilabel></term> +<listitem> +<para>Change the default timeout to the specified number of seconds dynamically +during the script. You can change the timeout several times during script +execution if necessary.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Prompt</guilabel></term> +<listitem> +<para>Prompt the &kppp; user to enter a string, given the specified string as a +hint. The user will see what is typed. If the specified string includes the +mark <userinput>##</userinput>, the mark will be replaced with the current +content of the internal scan buffer, as previously stored with the +<guilabel>scan</guilabel> command.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>PWPrompt</guilabel></term> +<listitem> +<para>Prompt the &kppp; user to enter a string, given the specified string as a +hint. An asterisk will be printed for each character the user types.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>ID</guilabel></term> +<listitem> +<para>If the <guilabel>Login ID</guilabel> field on &kppp;'s main dialog is filled in, +send that <acronym>ID</acronym>. If the <guilabel>Login ID</guilabel> field is not +filled in, prompt the &kppp; user to enter an <acronym>ID</acronym>, given the +specified string as a hint. The user will see what is typed. On a second pass, +such as in a loop on a second iteration, or during callback authentication, the +prompt will be displayed regardless of whether the <guilabel>Login ID</guilabel> field +is filled in.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Password</guilabel></term> +<listitem> +<para>If the <guilabel>Password</guilabel> field on &kppp;'s main dialog is +filled in, send that password. If the <guilabel>Password</guilabel> field is +not filled in, prompt the &kppp; user to enter a password, with the specified +string as a hint. An asterisk will be printed for each character typed. On a +second pass, such as in a loop on a second iteration, or during callback +authentication, the prompt will be displayed regardless of whether the +<guilabel>Password</guilabel> field is filled in.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>LoopStart</guilabel></term> +<listitem> +<para>&kppp; will wait for the specified string to be received. It will save +the string for use by <varname>LoopEnd</varname>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>LoopEnd</guilabel></term> +<listitem> +<para>&kppp; will wait for the specified string to be received to exit the loop. +If the string given by the corresponding <varname>LoopStart</varname> is +received first, it will trigger a jump to the line after +<varname>LoopStart</varname>, enabling repetition of username/password style +paired dialogs.</para> +</listitem> +</varlistentry> +</variablelist> + +<sect2> +<title>Example Scripts</title> + +<example> +<title>A simple example login script</title> +<para>Here is a simple example script I could use to connect to my +<acronym>ISP</acronym></para> + +<screen> + Expect ID: <lineannotation># wait for ID:</lineannotation> + Send myid <lineannotation># you have to substitute myid with your id</lineannotation> + Expect word: <lineannotation># wait for 'password'</lineannotation> + Send 4u3fjkl <lineannotation># send my password '4u3fjkl'</lineannotation> + Expect granted <lineannotation># My ISP send 'Permission granted' on login success.</lineannotation> + Send ppp <lineannotation># This starts a ppp connection for + # me on the ISP side.</lineannotation> +</screen> + +</example> + +<example> +<title>A login script that prompts for ID and password, and has loops.</title> + +<para>Here is a script for the same account with an <acronym>ID</acronym> and +password prompt. This script will prompt for <acronym>ID</acronym> and password +each time, no matter what is typed into the <guilabel>Login ID</guilabel> and +<guilabel>password</guilabel> fields on &kppp;'s main screen.</para> + +<para>This script also illustrates the use of the LoopStart/LoopEnd structure. +If something goes wrong during the login procedure, for example, I mistype the +password, my <acronym>ISP</acronym> will print an error message and restart the +id/password loop by issuing the string <computeroutput>ID:</computeroutput> +again. If the string <computeroutput>ID:</computeroutput> is caught before the +LoopEnd keyword was parsed, &kppp; will start the script again, from the line +after the LoopStart keyword.</para> + +<screen> + LoopStart ID: <lineannotation># wait for ID:</lineannotation> + Prompt Enter ID: <lineannotation># Prompt me for my ID and send it off.</lineannotation> + Expect word: <lineannotation># wait for 'password'</lineannotation> + PWPrompt Enter Password: <lineannotation># Prompt me for my password and send it off.</lineannotation> + LoopEnd granted <lineannotation># My ISP send 'Permission granted' on login success.</lineannotation> + Send ppp <lineannotation># This starts a ppp connection for me</lineannotation> +</screen> +</example> + +<example> +<title>Prompts for information not filled in on the main dialog.</title> + +<para>Here is the script that I actually use to connect to my +<acronym>ISP</acronym>. This script will prompt for <acronym>ID</acronym> and +password only if I haven't filled in the respective fields on &kppp;'s main +dialog.</para> + +<screen> + LoopStart ID: <lineannotation># wait for ID:</lineannotation> + ID Enter ID: <lineannotation># Prompt me for my ID and send it off.</lineannotation> + Expect word: <lineannotation># wait for 'password'</lineannotation> + Password Enter Password <lineannotation># Prompt me for my password and send it off.</lineannotation> + LoopEnd granted <lineannotation># My ISP send 'Permission granted' on login success.</lineannotation> + Send ppp <lineannotation># This starts a ppp connection for me</lineannotation> + <lineannotation># on the ISP side</lineannotation> +</screen> + +</example> + +<example> +<title>A script for an <acronym>ISP</acronym> using challenge/response +authentication.</title> + +<para>Here is a script that I use to connect to an <acronym>ISP</acronym> which +is using some sort of challenge/response authentication. Usually you got a +hardware token (a smart card with a display and calculator like keypad) from the +<acronym>ISP</acronym>. You have to know a password to use the token. After +dialing in your <acronym>ISP</acronym> displays your challenge. You have to +type in the challenge to your token and get a dynamic password as a +response. Then you have to enter that password.</para> + +<screen> + LoopStart ID: <lineannotation># wait for ID:</lineannotation> + ID Enter ID: <lineannotation># Prompt me for my ID and send it off.</lineannotation> + Scan Challenge: <lineannotation># Scan for 'Challenge' and store everything behind up to the next newline.</lineannotation> + Expect Password: <lineannotation># wait for 'password'</lineannotation> + Prompt Your token is ## - Enter Password # Prompt me for my password and send it off. + LoopEnd granted <lineannotation># My ISP sends 'Permission granted' on login success.</lineannotation> + Send ppp <lineannotation># This starts a ppp connection for me + # on the ISP side</lineannotation> +</screen> +</example> + +<example> +<title>Using Scan and Save in scripts</title> + +<para>The following log shows the login procedure of a fictitious +<acronym>ISP</acronym> that provides a new password on each login. The new +password has to be verified and recorded for the next session. </para> + +<screen> University of Lummerland + + Login:mylogin + Password: + The password for your next session is: YLeLfkZb + Please record and enter it for verification. + Verification:YLeLfkZb + + 1 = telnet + 2 = SLIP + 3 = PPP + + Your choice: +</screen> + +<para>&kppp; can be used to this cumbersome task for you, eliminating the risk +of losing that little sheet of paper that holds your current password at the +same time. The key part of the following script is the combination of Scan/Save +keywords.</para> + +<screen> +7 Expect Login: <lineannotation># wait for login prompt</lineannotation> + ID <lineannotation># send ID</lineannotation> + Expect Password: <lineannotation># wait for password prompt</lineannotation> + Password <lineannotation># send password</lineannotation> + Scan is: <lineannotation># wait for '... next session is:' and + # scan the preceding password</lineannotation> + Save password <lineannotation># save the new password for next login</lineannotation> + Expect Verification: <lineannotation># wait for 'Verification:'</lineannotation> + Password <lineannotation># send new password</lineannotation> + Expect choice: <lineannotation># wait for a prompt that let's you choose</lineannotation> + <lineannotation># between different options (telnet, SLIP, PPP)</lineannotation> + Send 3 <lineannotation># choose option 3, i.e. PPP</lineannotation> +</screen> +</example> + +</sect2> + +</sect1> + +<sect1 id="account-execute"> +<title>The <guilabel>Execute</guilabel> tab</title> + +<screenshot> +<screeninfo>The Accounts <guilabel>Execute</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kppp-account-execute-tab.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The Accounts <guilabel>Execute</guilabel> tab</phrase> +</textobject> +<caption><para>The Accounts <guilabel>Execute</guilabel> tab</para> +</caption> +</mediaobject> +</screenshot> + +<para>Here you can select commands to run at certain stages of the connection. +These commands are run with your real user id, so you cannot run any commands +here requiring root permissions, unless you are of course dialled in as root (a +bad thing to do for many reasons!)</para> + +<para>Make sure to supply the whole path to the program, otherwise &kppp; may +not be able to find it.</para> + +<para>You can add commands to be run at four distinct times during the +connection process:</para> + +<variablelist> +<varlistentry> +<term><guilabel>Before Connect</guilabel></term> +<listitem> +<para>Run this command before the dialing is initiated, so it is already +running when you connect to your <acronym>ISP</acronym>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Upon Connect</guilabel></term> +<listitem> +<para>Run this command only after a successful connection is +made.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Before disconnect</guilabel></term> +<listitem> +<para>Run this command while still connected, before hanging up the +modem.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Upon disconnect</guilabel></term> +<listitem> +<para>Run this command after the connection has been closed.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>You might for example want to run <application>leafnode</application> as +soon as you have connected, or check your mail. You might want to make sure any +mail in your queue is sent, before you close your connection down. You might +want a <quote>clean-up</quote> script to tidy up logs and clear your cache after +you have disconnected.</para> + +</sect1> + +<sect1 id="account-accounting"> +<title>The <guilabel>Accounting</guilabel> tab</title> + +<screenshot> +<screeninfo>The Accounts <guilabel>Accounting</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kppp-account-accounting-tab.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The Accounts <guilabel>Accounting</guilabel> tab</phrase> +</textobject> +<caption><para>The Accounts <guilabel>Accounting</guilabel> tab</para> +</caption> +</mediaobject> +</screenshot> + +<para>Check the <guilabel>Enable Accounting</guilabel> box to enable or disable +telephone cost accounting for this account.</para> + +<para>Select from the list the applicable rule for your telecoms +provider.</para> + +<para>If you can't find one, you can write one yourself by copying the supplied +template, which you will find in an <link +linkend="appendix-accounting-template">appendix</link>.</para> + +<para>The final option on this page is <guilabel>Volume Accounting</guilabel>, +described below.</para> + +<sect2> +<title>Volume Accounting</title> + +<sect3> +<title>What is volume accounting?</title> + +<para>Basically, it means to count the number of bytes transmitted to and from +the Internet. &kppp; can count incoming bytes, outgoing bytes, or both. It's +up to you what you want (or must) use.</para> + +</sect3> + +<sect3> +<title>Why should I use volume accounting?</title> + +<para>Many Internet Service Providers bill their customers based on the number +of bytes transferred. Even more commonly, <acronym>ISP</acronym>'s offer a flat +rate up to some arbitrary transfer limit, and then charge more for every +megabyte above this limit. &kppp; shows you your current volume and can help +you keep your bills to the minimum. Of course, even if you're not billed based +on volume, you can turn on volume accounting just to satisfy your own +curiosity.</para> + +</sect3> + +<sect3> +<title>What type of volume accounting should I select?</title> + +<para>That depends mainly on your provider. Many of them only count how many +megabytes you download from the Internet,and ignore how much you send. In that +case you should choose <guilabel>Bytes In</guilabel>. If you have to pay for +both, you should choose <guilabel>Bytes In and Out</guilabel>. <guilabel>Bytes +Out</guilabel> is really only here for completeness, as we're not aware of any +providers using it as a billing basis. It might be useful to those of you +running a web or &FTP; server at home though.</para> + +</sect3> + +<sect3> +<title>Drawbacks</title> + +<para>Unfortunately, there is a drawback on volume accounting. &kppp; will only +count the number of bytes, regardless of their origin. Many providers set their +limit only for Internet access, and not for data on their own network. Some +providers set different limits for data that is on their own network, in the +same country, and coming from overseas. So, if you're doing not much +websurfing, and getting most of your pages from your <acronym>ISP</acronym>'s +own proxy cache, then your provider is probably not charging you for that data. +&kppp; will not know these <acronym>IP</acronym> packets are coming from the +proxy, and so it will count them. So if you this situation applies to you, or, +as another example, your provider uses a caching news server such as +<application>nntpcached</application>, then the volume reported by &kppp; may be +higher than the amount you are going to be billed for. On the bright side, at +least &kppp; will never underestimate your bills.</para> + +</sect3> + +</sect2> + +</sect1> + +</chapter> |