[asterisk-dev] [asterisk-commits] mattf: trunk r150640 - in /trunk: channels/ configs/
Tzafrir Cohen
tzafrir.cohen at xorcom.com
Mon Oct 20 14:13:33 CDT 2008
On Mon, Oct 20, 2008 at 12:23:18PM -0500, Matthew Fredrickson wrote:
> Matthew Fredrickson wrote:
> > Kevin P. Fleming wrote:
> >> SVN commits to the Asterisk project wrote:
> >>
> >>> +#ifdef PRI_SET_CHAN_MAPPING_LOGICAL
> >>> + pri_set_chan_mapping_logical(pri->dchans[i], pri->qsigchannelmapping == DAHDI_CHAN_MAPPING_LOGICAL);
> >>> +#endif
> >> Please use a configure script check to determine whether this
> >> functionality is available or not, rather than adding more #define
> >> statements to libpri.h. This should also be done for the
> >> discardremotehold feature.
> >>
> >>> #ifdef HAVE_PRI_INBANDDISCONNECT
> >>> + } else if (!strcasecmp(v->name, "qsigchannelmapping")) {
> >>> + if (!strcasecmp(v->value, "logical")) {
> >>> + confp->pri.qsigchannelmapping = DAHDI_CHAN_MAPPING_LOGICAL;
> >>> + } else if (!strcasecmp(v->value, "physical")) {
> >>> + confp->pri.qsigchannelmapping = DAHDI_CHAN_MAPPING_PHYSICAL;
> >>> + } else {
> >>> + confp->pri.qsigchannelmapping = DAHDI_CHAN_MAPPING_PHYSICAL;
> >>> + }
> >>> + } else if (!strcasecmp(v->name, "discardremoteholdretrieval")) {
> >>> + confp->pri.discardremoteholdretrieval = ast_true(v->value);
> >> This code does not belong inside the HAVE_PRI_INBANDDISCONNECT
> >> condition. Also, please report an error with LOG_ERROR if the value
> >> supplied for qsigchannelmapping is invalid.
> >
> > As long as we're backing these checks out, it would also make sense to
> > remove the old HAVE_PRI_INBANDDISCONNECT check as well...
>
> Sorry, I think I misunderstood your thoughts. We can certainly add
> additional checks for the new API calls, but (and I'm seeking some
> outside thoughts here), perhaps it might be interesting to think about
> mandating a minimum version of libpri here (1.4.x) for trunk/1.6.x
> version of Asterisk (whatever this version of trunk turns into).
>
> The reason I ask is that some of these changes are going to require not
> just #if's but also doing the #else as well (since there's a new API to
> replace an old one). To keep spaghettification to a minimum, it would
> be nice to not have to do this. We could also get rid of a number of
> other #if HAVE_ and #ifdef PRI_... statements as well by requiring the
> minimum version number, leaving only the #if HAVE_ to whatever is the
> most recent API addition to libpri. Any thoughts?
This is a build time test. But at run time the libpri in question might
not have the function in question.
--
Tzafrir Cohen
icq#16849755 jabber:tzafrir.cohen at xorcom.com
+972-50-7952406 mailto:tzafrir.cohen at xorcom.com
http://www.xorcom.com iax:guest at local.xorcom.com/tzafrir
More information about the asterisk-dev
mailing list