diff --git a/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c b/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c index 8ddc42c963..b8871cf70c 100644 --- a/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c +++ b/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c @@ -114,42 +114,60 @@ static FIO_CHANNEL_REQUEST_FUNCTION(isdn_channel_request) return FTDM_FAIL; } -#ifdef WIN32 -/** - * \brief Logs a libpri error - * \param s Error string - */ -static void s_pri_error(char *s) -#else -/** - * \brief Logs a libpri error - * \param pri libpri structure (unused) - * \param s Error string - */ -static void s_pri_error(struct pri *pri, char *s) -#endif -{ - ftdm_log(FTDM_LOG_ERROR, "%s", s); -} -#ifdef WIN32 +#ifdef PRI_NEW_SET_API /** * \brief Logs a libpri message - * \param s Message string - */ -static void s_pri_message(char *s) -#else -/** - * \brief Logs a libpri message - * \param pri libpri structure (unused) - * \param s Message string + * \param pri libpri structure + * \param s Message string */ static void s_pri_message(struct pri *pri, char *s) -#endif +{ + struct lpwrap_pri *spri = pri_get_userdata(pri); + + if (spri && spri->dchan) { + ftdm_log_chan(spri->dchan, FTDM_LOG_DEBUG, "%s", s); + } else { + ftdm_log(FTDM_LOG_DEBUG, "%s", s); + } +} + +/** + * \brief Logs a libpri error + * \param pri libpri structure + * \param s Error string + */ +static void s_pri_error(struct pri *pri, char *s) +{ + struct lpwrap_pri *spri = pri_get_userdata(pri); + + if (spri && spri->dchan) { + ftdm_log_chan(spri->dchan, FTDM_LOG_ERROR, "%s", s); + } else { + ftdm_log(FTDM_LOG_ERROR, "%s", s); + } +} +#else /* !PRI_NEW_SET_API */ +/** + * \brief Logs a libpri message + * \param s Message string + */ +static void s_pri_message(char *s) { ftdm_log(FTDM_LOG_DEBUG, "%s", s); } +/** + * \brief Logs a libpri error + * \param s Error string + */ +static void s_pri_error(char *s) +{ + ftdm_log(FTDM_LOG_ERROR, "%s", s); +} +#endif + + #define PRI_DEBUG_Q921_ALL (PRI_DEBUG_Q921_RAW | PRI_DEBUG_Q921_DUMP | PRI_DEBUG_Q921_STATE) #define PRI_DEBUG_Q931_ALL (PRI_DEBUG_Q931_DUMP | PRI_DEBUG_Q931_STATE | PRI_DEBUG_Q931_ANOMALY)