summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_dahdi.c7
-rw-r--r--channels/sig_analog.c21
2 files changed, 12 insertions, 16 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index eae6ceb96..3112bfaaa 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -286,13 +286,6 @@ static struct ast_jb_conf global_jbconf;
*/
/* #define ZHONE_HACK */
-/*! \note
- * Define if you want to check the hook state for an FXO (FXS signalled) interface
- * before dialing on it. Certain FXO interfaces always think they're out of
- * service with this method however.
- */
-/* #define DAHDI_CHECK_HOOKSTATE */
-
/*! \brief Typically, how many rings before we should send Caller*ID */
#define DEFAULT_CIDRINGS 1
diff --git a/channels/sig_analog.c b/channels/sig_analog.c
index 1e84e27b5..68677f561 100644
--- a/channels/sig_analog.c
+++ b/channels/sig_analog.c
@@ -42,6 +42,13 @@
#include "sig_analog.h"
+/*! \note
+ * Define if you want to check the hook state for an FXO (FXS signalled) interface
+ * before dialing on it. Certain FXO interfaces always think they're out of
+ * service with this method however.
+ */
+/* #define DAHDI_CHECK_HOOKSTATE */
+
#define POLARITY_IDLE 0
#define POLARITY_REV 1
#define MIN_MS_SINCE_FLASH ( (2000) ) /*!< 2000 ms */
@@ -684,23 +691,19 @@ int analog_available(struct analog_pvt *p)
/* If no owner definitely available */
if (!p->owner) {
- if (p->sig == ANALOG_SIG_FXSLS) {
- return 1;
- }
-
offhook = analog_is_off_hook(p);
- if ((p->sig == ANALOG_SIG_FXSKS) || (p->sig == ANALOG_SIG_FXSGS)) {
- /* When "onhook" that means no battery on the line, and thus
- it is out of service..., if it's on a TDM card... If it's a channel
- bank, there is no telling... */
+ /* TDM FXO card, "onhook" means out of service (no battery on the line) */
+ if ((p->sig == ANALOG_SIG_FXSLS) || (p->sig == ANALOG_SIG_FXSKS) || (p->sig == ANALOG_SIG_FXSGS)) {
+#ifdef DAHDI_CHECK_HOOKSTATE
if (offhook) {
return 1;
}
return 0;
+#endif
+ /* TDM FXS card, "offhook" means someone took the hook off so it's unavailable! */
} else if (offhook) {
ast_debug(1, "Channel %d off hook, can't use\n", p->channel);
- /* Not available when the other end is off hook */
return 0;
}
return 1;