From ab1be795cd2d2b36b5a3a2c6fbea034dffb396b7 Mon Sep 17 00:00:00 2001 From: moy Date: Tue, 16 Jun 2009 02:24:30 +0000 Subject: [PATCH] keep backwards compatible chan_dahdi with older openr2 versions by not using the new skip category feature unless supported git-svn-id: http://svn.digium.com/svn/asterisk/trunk@200799 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_dahdi.c | 8 ++++++++ configs/chan_dahdi.conf.sample | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index ee62405a2..3567aa9e9 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -583,7 +583,9 @@ struct dahdi_mfcr2_conf { int max_ani; int max_dnis; int get_ani_first:1; +#if defined(OR2_LIB_INTERFACE) && OR2_LIB_INTERFACE > 1 int skip_category_request:1; +#endif int call_files:1; int allow_collect_calls:1; int charge_calls:1; @@ -1419,7 +1421,9 @@ static struct dahdi_chan_conf dahdi_chan_conf_default(void) .max_ani = 10, .max_dnis = 4, .get_ani_first = -1, +#if defined(OR2_LIB_INTERFACE) && OR2_LIB_INTERFACE > 1 .skip_category_request = -1, +#endif .call_files = 0, .allow_collect_calls = 0, .charge_calls = 1, @@ -11082,7 +11086,9 @@ static int dahdi_r2_set_context(struct dahdi_mfcr2 *r2_link, const struct dahdi_ } openr2_context_set_log_level(r2_link->protocol_context, conf->mfcr2.loglevel); openr2_context_set_ani_first(r2_link->protocol_context, conf->mfcr2.get_ani_first); +#if defined(OR2_LIB_INTERFACE) && OR2_LIB_INTERFACE > 1 openr2_context_set_skip_category_request(r2_link->protocol_context, conf->mfcr2.skip_category_request); +#endif openr2_context_set_mf_threshold(r2_link->protocol_context, threshold); openr2_context_set_mf_back_timeout(r2_link->protocol_context, conf->mfcr2.mfback_timeout); openr2_context_set_metering_pulse_timeout(r2_link->protocol_context, conf->mfcr2.metering_pulse_timeout); @@ -16197,7 +16203,9 @@ static char *dahdi_show_channel(struct ast_cli_entry *e, int cmd, struct ast_cli ast_cli(a->fd, "MFC/R2 Max ANI: %d\n", openr2_context_get_max_ani(r2context)); ast_cli(a->fd, "MFC/R2 Max DNIS: %d\n", openr2_context_get_max_dnis(r2context)); ast_cli(a->fd, "MFC/R2 Get ANI First: %s\n", openr2_context_get_ani_first(r2context) ? "Yes" : "No"); +#if defined(OR2_LIB_INTERFACE) && OR2_LIB_INTERFACE > 1 ast_cli(a->fd, "MFC/R2 Skip Category Request: %s\n", openr2_context_get_skip_category_request(r2context) ? "Yes" : "No"); +#endif ast_cli(a->fd, "MFC/R2 Immediate Accept: %s\n", openr2_context_get_immediate_accept(r2context) ? "Yes" : "No"); ast_cli(a->fd, "MFC/R2 Accept on Offer: %s\n", tmp->mfcr2_accept_on_offer ? "Yes" : "No"); ast_cli(a->fd, "MFC/R2 Charge Calls: %s\n", tmp->mfcr2_charge_calls ? "Yes" : "No"); diff --git a/configs/chan_dahdi.conf.sample b/configs/chan_dahdi.conf.sample index c948dce3d..0ba5de516 100644 --- a/configs/chan_dahdi.conf.sample +++ b/configs/chan_dahdi.conf.sample @@ -1042,9 +1042,8 @@ pickupgroup=1 ; you can change this setting from the dialplan ; by setting the variable MFCR2_CATEGORY ; (remember to set _MFCR2_CATEGORY from originating channels) -; MFCR2_CATEGORY will also be a variable available -; on incoming calls set to the value received from -; the far end +; MFCR2_CATEGORY will also be a variable available in your context +; on incoming calls set to the value received from the far end ; mfcr2_category=national_subscriber ; Call logging is stored at the Asterisk @@ -1132,6 +1131,7 @@ pickupgroup=1 ; mfcr2_accept_on_offer=yes ; Skip request of calling party category and ANI +; you need openr2 >= 1.2.0 to use this feature ; mfcr2_skip_category=no ; WARNING: advanced users only! I really mean it