First you have to decide on how you want to dial out. You will have to use whatever your counterpart requires. These are your main options:
Have a look on section dod on how to configure dial on demand - and on the dangers attached to it.
For more advanced dialout features see question dialout_advanced.
Also you may have a look at section remote when you try to connect to a special remote ISDN device.
auto
"?
The new ISDN drivers in 2.0.36 defaults to manual dialmode, not autodial. This is done to prevent unexpected (and unnoticed) dialouts. (See the big section about those and their dangers: dod). To enable autodial for a given interface e.g. ippp0, use
isdnctrl dialmode ippp0 auto
The meaning of the values for dialmode is:
means that you (or the system) cannot make any connection (neither incoming nor outgoing connections are possible). Use this if you want to be sure that no connections will be made.
means that the interface is in auto-dial mode, and will attempt to make a connection whenever a network data packet needs the interface's link. Note that this can cause unexpected dialouts, and lead to a high phone bill! Some daemons or other pc's that use this interface can cause this. Incoming connections are also possible.
(DEFAULT) is a dial mode created to prevent the unexpected dialouts. In this mode, the interface will never make any connections on its own. You must explicitly initiate a connection with:
isdnctrl dial ippp0
isdnctrl hangup ippp0
huptimeout
may still end the connection
automatically! To ensure that you have to hang up manually, you have to switch
this off:
isdnctrl huptimeout ippp0 0
To allow a normal user to initiate a dialout, have a look at question dialout_permission.
Check out these special dialout features:
ISDN usage depends on the permissions to the devices /dev/ttyI*
and
/dev/cui*
. You have several choices to selectively allow users to do
ISDN transactions.
/etc/group
, and do:
chgrp isdn /dev/ttyI* /dev/cui* chmod o-rw /dev/ttyI* /dev/cui*
ipppd
and isdnctrl
to 'isdn'.
Then all users not in the group 'isdn' have no reading or writing
privileges for the ISDN ttys. Those allowed to use ISDN have to be
explicitly added to the group 'isdn'./etc/su1.priv
. Add these lines if they (or similar ones) are not yet
there, to allow users XXXX and YYYY to initiate dialups/hangups:
# log all dialouts in syslog syslog all define PPPUSER XXXX YYYY alias dial /sbin/isdnctrl dial ippp0 alias hangup /sbin/isdnctrl hangup ippp0 ask never allow PPPUSER prefix dial allow PPPUSER prefix hangup
ln -s /usr/bin/su1 /usr/local/bin/dial ln -s /usr/bin/su1 /usr/local/bin/hangup
dial
, and hangup with
hangup
.There are several possibilities to configure dialout.
isdnctrl mapping
to configure the
correct MSNs (see item 'dialout on one specific card').isdnctrl bind
(not pppbind) command to specify which channel should be used.
Please use this command after all other configuration with isdnctrl has
been done! Check with isdnctrl list
that the binding actually works.isdnctrl mappping
functionality.
Just map MSNs on the letters 0 to 9, like this:
isdnctrl mapping <carddriver1> 111,222,333,, isdnctrl mapping <carddriver2> 999,888,,777
isdnctrl mapping
functionality.
isdnctrl mapping <carddriver1> 111,222,333,-, isdnctrl mapping <carddriver2> 999,888,-,777
HiSax has an undocumented feature for this. Add 'P1' in front of the dialout phone number for the first B channel, or 'P2' for the second B channel, like this:
isdnctrl addphone <device> out P1<your_out_number>
Create a script called ip-up
. It will be called by the ipppd
whenever the connection is established with several parameters.
The ip address is passed in as the fourth parameter (access it as $4
).
You are probably using the name server in 'forward' mode, and your ISP works with dynamic ip addresses. The initial UDP query will be lost since it carries the wrong source address. Unfortunately, bind will wait a whole minute before retransmitting the query again if you have only one forwarder.
As a workaround, you can enter 4 times the same forwarder in named.conf to adjust retransmission timing (in 'forward' mode, bind retransmits its queries after the following period of time: 60 seconds divided by the number of nameservers given in the section "forwarders" of named.conf).
forwarders { 10.0.0.40; 10.0.0.40; 10.0.0.40; 10.0.0.40; }
Another option are the programs ip_resend
and ip_resend_wakeup
which you can find on:
http://www.baty.hanse.de/ip_resend/