[Asterisk-Users] [OT] [slightly] app lever vs driver level implementation...

Christopher L. Wade clwade at sparco.com
Wed Dec 1 13:03:30 MST 2004


I recently posted a message about an interesting dilemma which I could 
not figure out.  After doing a whole lot more digging I think I have 
figured out part of what is going on.

The parking app is implemented as an app, ie can be called from 
extensions.conf) but if you look really closely, it is also implemented 
in each channels driver (handler, whatever you want to call it) and 
those drivers intercept transfers to the parking extension.

The reason I mention this is...  The behavior of parking over a SIP 
channel versus parking through the Park app is completely different. 
This statement probably holds true for all of the channel drivers.  They 
each implement the same result, but a majority of the code [logic 
really] is duplicated between them and they behave just differently 
enough to make testing SIP->SIP pointless when the end result will be 
ZAP->SIP and/or SIP->ZAP.

I just think that in the perfect world [* is getting there] these types 
of features would be implemented at the app level, with only core 
functionality required for the feature to work on a given channel be 
implemented inside that channels driver.

If I'm missing something and this is actually the case right now, or I'm 
just completely ignorant as to why it is implemented the way it is, 
please enlighten this pitiful soul.

Thanks,
Chris

[forgive me if i've been posting incomplete thoughts lately, my various 
project deadlines have been getting to me, i'm mentally exhausted.]

-- 
Christopher L. Wade                     Unistar-Sparco Computers, Inc.
Senior Systems Administrator                            dba Sparco.com
Email: clwade at sparco.com                             7089 Ryburn Drive
Phone: (901) 872 2272 / (800) 840 8400            Millington, TN 38053
Fax:   (901) 872 8482                                              USA




More information about the asterisk-users mailing list