URL
https://opencores.org/ocsvn/test_project/test_project/trunk
Subversion Repositories test_project
[/] [test_project/] [trunk/] [linux_sd_driver/] [Documentation/] [isdn/] [README.diversion] - Rev 62
Compare with Previous | Blame | View Log
The isdn diversion services are a supporting module working together withthe isdn4linux and the HiSax module for passive cards.Active cards, TAs and cards using a own or other driver than the HiSaxmodule need to be adapted to the HL<->LL interface described in a separatedocument. The diversion services may be used with all cards supported bythe HiSax driver.The diversion kernel interface and controlling tool divertctrl were writtenby Werner Cornelius (werner@isdn4linux.de or werner@titro.de) under theGNU General Public License.This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe 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 ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.Table of contents=================1. Features of the i4l diversion services(Or what can the i4l diversion services do for me)2. Required hard- and software3. Compiling, installing and loading/unloading the moduleTracing calling and diversion information4. Tracing calling and diversion information5. Format of the divert device ASCII output1. Features of the i4l diversion services(Or what can the i4l diversion services do for me)The i4l diversion services offers call forwarding and logging normallyonly supported by isdn phones. Incoming calls may be divertedunconditionally (CFU), when not reachable (CFNR) or on busy condition(CFB).The diversions may be invoked statically in the providers exchangeas normally done by isdn phones. In this case all incoming callswith a special (or all) service identifiers are forwarded if theforwarding reason is met. Activated static services may also beinterrogated (queried).The i4l diversion services additionally offers a dynamic version ofcall forwarding which is not preprogrammed inside the providers exchangebut dynamically activated by i4l.In this case all incoming calls are checked by rules that may becompared to the mechanism of ipfwadm or ipchains. If a given rule matchesthe checking process is finished and the rule matching will be appliedto the call.The rules include primary and secondary service identifiers, callednumber and subaddress, callers number and subaddress and whether the rulematches to all filtered calls or only those when all B-channel resourcesare exhausted.Actions that may be invoked by a rule are ignore, proceed, reject,direct divert or delayed divert of a call.All incoming calls matching a rule except the ignore rule a reported andlogged as ASCII via the proc filesystem (/proc/net/isdn/divert). If proceedis selected the call will be held in a proceeding state (without ringing)for a certain amount of time to let an external program or client decidehow to handle the call.2. Required hard- and softwareFor using the i4l diversion services the isdn line must be of a EURO/DSS1type. Additionally the i4l services only work together with the HiSaxdriver for passive isdn cards. All HiSax supported cards may be used forthe diversion purposes.The static diversion services require the provider having static servicesCFU, CFNR, CFB activated on an MSN-line. The static services may not beused on a point-to-point connection. Further the static services are onlyavailable in some countries (for example germany). Countries requiring thekeypad protocol for activating static diversions (like the netherlands) arenot supported but may use the tty devices for this purpose.The dynamic diversion services may be used in all countries if the providerenables the feature CF (call forwarding). This should work on both MSN- andpoint-to-point lines.To add and delete rules the additional divertctrl program is needed. Thisprogram is part of the isdn4kutils package.3. Compiling, installing and loading/unloading the moduleTracing calling and diversion informationTo compile the i4l code with diversion support you need to say yes to theDSS1 diversion services when selecting the i4l options in the kernelconfig (menuconfig or config).After having properly activated a make modules and make modules_install allrequired modules will be correctly installed in the needed modules dirs.As the diversion services are currently not included in the scripts of moststandard distributions you will have to add a "insmod dss1_divert" afterhaving loaded the global isdn module.The module can be loaded without any command line parameters.If the module is actually loaded and active may be checked with a"cat /proc/modules" or "ls /proc/net/isdn/divert". The divert file isdynamically created by the diversion module and removed when the module isunloaded.4. Tracing calling and diversion informationYou also may put a "cat /proc/net/isdn/divert" in the background with theoutput redirected to a file. Then all actions of the module are logged.The divert file in the proc system may be opened more than once, so inconjunction with inetd and a small remote client on other machines insideyour network incoming calls and reactions by the module may be shown onevery listening machine.If a call is reported as proceeding an external program or client mayspecify during a certain amount of time (normally 4 to 10 seconds) whatto do with that call.To unload the module all open files to the device in the proc system mustbe closed. Otherwise the module (and isdn.o) may not be unloaded.5. Format of the divert device ASCII outputTo be done later
