[prev in list] [next in list] [prev in thread] [next in thread]
List: asterisk-dev
Subject: [asterisk-dev] [Code Review] dial by name: use device names in
From: "Tzafrir Cohen" <tzafrir.cohen () xorcom ! com>
Date: 2010-05-31 0:41:48
Message-ID: 20100531004148.23573.30610 () hotblack ! digium ! com
[Download RAW message or body]
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/677/
-----------------------------------------------------------
Review request for Asterisk Developers.
Summary
-------
As part of the work to avoid relying on the order of hardware registration with \
DAHDI, we wish to avoid including explicit channel and span names in system.conf \
(/etc/dahdi/system.conf).
Elsewhere in the "sysfs" branhces (Linux-specific, and not included in this review \
request) we generate the following device files automatically for each channel:
/dev/dahdi/spans/<span-num>/<chan-num>
(<chan-num> is the numbering inside the span, rather than global numbering). We also \
generate symlinks under
/dev/dahdi/span-name to spans. Those may either be arbitrary "aliases" or generated \
by the location/label and port number. Thus do not depend on the specific load order.
Those changes are quite Linux-specific. However the changes we have for system.conf \
and dahdi_cfg.c are not. They basically allow that the user (if indeed wishes to use \
the new format) has a way of generating those permanent file locations.
Thus we wish to avoid using channel numbers and span numbers in system.conf. Instead \
we use relative paths under /dev/dahdi , with '/' replaced with '!' (this is done \
because we want to use the same string in Astrisk. And using '/' as part of an \
Asterisk channel name is not a good idea).
* Channels are identified by the minor number of the target of the file.
- Their name must also be a number (not necesserily the same as their minor \
number).
* Spans are identified as the filename of the target of the symlink.
* '-' for a range of channels and ',' for a list of channels work as before, but only \
after the last '!'.
Another goal we wish to achieve is to allow starting DAHDI even if one of the devices \
is not present. For that reason we add the option '-k' - Keep going even if a certain \
channel is missing (as long as we use paths and not numbers). The point is that if \
you set your configuration properly, you don't depend on the order of probing and \
hence there won't be a potential problem of confusing different channels.
Example partial system.conf:
span=span-names!QA-12(00),1,0,ccs,hdb3,crc4
bchan=span-names!QA-12(00)!1-15,17-31
dchan=span-names!QA-12(00)!16
echocanceller=mg2,span-names!QA-12(00)!1-15,17-31
span=span-names!QA-12(01),0,0,ccs,hdb3,crc4
bchan=span-names!QA-12(01)!1-15,17-31
dchan=span-names!QA-12(01)!16
echocanceller=mg2,span-names!QA-12(01)!1-15,17-31
In the above examples, 'QA-12(00)' is the name of the span of the first port of the \
device called 'QA-12' and QA-12(01) is its second port.
See also:
http://svn.asterisk.org/dahdi/linux/team/tzafrir/sysfs
http://svn.asterisk.org/dahdi/tools/team/tzafrir/sysfs
https://reviewboard.asterisk.org/r/535
TODO:
* Dynamic spans: how do they fit in? Having them destroyed on each dahdi_cfg run will \
cause problems.
* Fix handling of 'channel' / 'channels' (Radio hardware). Should be simple, but I \
have no hardware to test with.
* Better documentation.
Diffs
-----
/tools/trunk/dahdi_cfg.c 8711
Diff: https://reviewboard.asterisk.org/r/677/diff
Testing
-------
Thanks,
Tzafrir
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic