[asterisk-dev] chan_cellphone - Asterisk architecture question / discussion

David Bowerman david.bowerman at gmail.com
Wed Feb 7 16:18:26 MST 2007


Hi all,

Ive been working on chan_cellphone, which seems to be getting some
traction in the user community.

At the moment I'm getting lots of requests to support 'cell phone
brand x'. These are mainly phones that dont quite conform to the
bluetooth handsfree spec in some way, and most are easily supported by
adding some test in the code to cater for its specific quirk.

The effect this is having on the driver, is that its 'polluting' the
code with specific tests for phones. While this is not a major
problem, most users only have 1 or 2 models of phone, and dont need
the other types. There would be some small performance impact in
continually testing for specific models of phone.

My thoughts about a solution to this are to abstract the 'hardware'
interface to the phone out of the actual channel driver, so that the
user would use chan_cellphone + modules to support they phones they
want.

Asterisk <-> chan_cellphone <-> phone_module <-> bluetooth <-> cellphone

This is obviously not kernel stuff like zaptel.ko is to chan_zap,
because currently chan_cellphone uses the kernel bluetooth subsystem.

My question is, if I were to go down this track, how would you want
the abstraction module to be built in terms of the Asterisk
architecture?. Its not an app, and not a chan, so a res maybe ?

Asterisk <-> chan_cellphone <-> res_nokia | res_sony | res_xxx <->
bluetooth <->hardware

Any thoughts?

regards

Dave Bowerman


More information about the asterisk-dev mailing list