[asterisk-dev] [Code Review] dial by name in chan_dahdi

Tzafrir Cohen tzafrir.cohen at xorcom.com
Thu May 6 03:39:00 CDT 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/535/
-----------------------------------------------------------

(Updated 2010-05-06 03:38:59.970639)


Review request for Asterisk Developers.


Changes
-------

Adapt to changes in parsing of the dial string.


Summary
-------

Currently a name of a channel in chan_dahdi must (with some exception of trunk-groups syntax) rely on DAHDI channel numbers. Sadly channel numbers depend on the specific order of registration. Changing that seems to be quite difficult.

Thus we try to use the original ope-by-device-file (rather than indert open through /dev/dahdi/channel), and allow files to reside in subdirectories of /dev/dahdi .

Specifically, the file name must still be a number (to allow using the same ranges syntax). However it should be preceded with the string '<dirname>!' .

For instance we have: /dev/dahdi/work/1 and /dev/dahdi/work/2 that are symlinks to /dev/dahdi/9 and /dev/dahdi/10 (DAHDI channels 9 and 10), I can refer to them in chan_dahdi.conf as:

  channel => work!1
  channel => work!2

And likewise can dial through them using:

  Dial(DAHDI/work!1/123456)

See also the http://svn.asterisk.org/dahdi/linux/team/tzafrir/sysfs .


Current status: 

* Tested to basically work. 

TODO:
* Adapt better to Asterisk coding style.
* Use '!' in subdir (in chan_dahdi.conf) as well?
* Can the original path be exposed to the dialplan?
  The equivalent of:
  Set(DAHDI_CHAN=${CUT(-,${CHANNEL}))}


Diffs (updated)
-----

  /trunk/channels/chan_dahdi.c 260802 
  /trunk/configs/chan_dahdi.conf.sample 260802 

Diff: https://reviewboard.asterisk.org/r/535/diff


Testing
-------


Thanks,

Tzafrir




More information about the asterisk-dev mailing list