wanpipe-3.2.3.tgz

This commit is contained in:
Harald Welte 2021-12-29 18:14:45 +01:00
parent d814cbc161
commit 19bdb88fbc
39 changed files with 562 additions and 301 deletions

View File

@ -7,6 +7,13 @@ Author: Nenad Corbic <ncorbic@sangoma.com>
Copyright (c) 1995-2008 Sangoma Technologies Inc.
------------------------------------------------------------------------------
* Thu Jan 24 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.2.1
========================================================================
- Fixed a compile bug that occured on some kernels due to inlining.
- Updates Setup script
* Thu Jan 18 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.2
========================================================================

164
Setup
View File

@ -539,13 +539,19 @@ prepare()
missing_packages=$missing_packages"libtermcap-devel "
fi
echo -n "Checking for yacc..."
eval "type yacc 2> /dev/null > /dev/null"
echo -n "Checking for bison..."
eval "type bison 2> /dev/null > /dev/null"
if [ $? -eq 0 ]; then
echo "OK"
else
echo "Failed!"
missing_packages=$missing_packages"yacc "
echo -n "Checking for yacc..."
eval "type yacc 2> /dev/null > /dev/null"
if [ $? -eq 0 ]; then
echo "OK"
else
echo "Failed!"
missing_packages=$missing_packages"bison "
fi
fi
echo
@ -1274,7 +1280,7 @@ There are two configuration files associated with WANPIPE.
- defines interfaces, hardware and protocol information.
- this file can be created using the 'wancfg' GUI
utility or manually based on sample files located
in /etc/wanpipe/samples.
in $WAN_CONF_DIR/samples.
Please read the WanpipeInstallation.(pdf/txt) manual for further
information.
@ -1297,7 +1303,7 @@ function get_conf_dir ()
#banner
if test -z $NONINTERACTIVE; then
echo -e "\nPlease specify a desired location for ${DISTR_NAME} configuration files."
echo -e "\n\t(Press Enter for Default: /etc/wanpipe)\n"
echo -e "\n\t(Press Enter for Default: $WAN_CONF_DIR)\n"
echo -n "<specify path:>"
read response
@ -1333,17 +1339,17 @@ function get_bin_dir ()
#banner
if test -z $NONINTERACTIVE; then
echo -e "\nPlease specify a location for WANPIPE binary, firmware files."
echo -e "\n\t(Press Enter for Default: /etc/wanpipe/firmware)\n"
echo -e "\n\t(Press Enter for Default: $WAN_CONF_DIR/firmware)\n"
echo -n "<specify path:>"
read response
if [ $response ]; then
WAN_FIRMWARE_DIR=$response
else
WAN_FIRMWARE_DIR=/etc/wanpipe/firmware
WAN_FIRMWARE_DIR=$WAN_CONF_DIR/firmware
fi
else
WAN_FIRMWARE_DIR=/etc/wanpipe/firmware
WAN_FIRMWARE_DIR=$WAN_CONF_DIR/firmware
fi
if [ ! -d $WAN_FIRMWARE_DIR ]; then
@ -1354,7 +1360,7 @@ function get_bin_dir ()
echo -e "\nERROR: Directory $WAN_FIRMWARE_DIR not found !\n"
getyn "Would you like to try again?"
if [ $? -ne 0 ]; then
WAN_FIRMWARE_DIR=/etc/wanpipe/firmware
WAN_FIRMWARE_DIR=$WAN_CONF_DIR/firmware
else
get_bin_dir
fi
@ -1367,7 +1373,7 @@ function get_intr_dir ()
local response=no
local response1
WAN_INTR_DIR=/etc/wanpipe/interfaces
WAN_INTR_DIR=$WAN_CONF_DIR/interfaces
if [ ! -d $WAN_INTR_DIR ]; then
\mkdir -p $WAN_INTR_DIR
@ -1403,7 +1409,7 @@ function get_intr_dir ()
echo -n "<specify path:>"
read response1
WAN_INTR_DIR=/etc/wanpipe/interfaces
WAN_INTR_DIR=$WAN_CONF_DIR/interfaces
if [ $response1 ]; then
WAN_INTR_DIR=$response1
@ -1417,7 +1423,7 @@ function get_intr_dir ()
echo -e "\nERROR: Directory $WAN_INTR_DIR not found !\n"
getyn "Would you like to try again?"
if [ $? -ne 0 ]; then
WAN_INTR_DIR=/etc/wanpipe/interfaces
WAN_INTR_DIR=$WAN_CONF_DIR/interfaces
else
get_intr_dir
fi
@ -1439,7 +1445,7 @@ create_mataconf()
elif [ -d /var/adm wanpipe1]; then
LOG_FILE=/var/adm/$PROD
else
LOG_FILE=/etc/wanpipe/$PROD.log
LOG_FILE=$WAN_CONF_DIR/$PROD.log
fi
# Select directory for the lock file.
@ -1450,20 +1456,20 @@ create_mataconf()
LOCK_FILE=/var/lock/$PROD
LOCK_DIR=/var/lock
else
LOCK_FILE=/etc/wanpipe/$PROD.lck
LOCK_DIR=/etc/wanpipe
LOCK_FILE=$WAN_CONF_DIR/$PROD.lck
LOCK_DIR=$WAN_CONF_DIR
fi
if [ -f $ROOT/etc/wanpipe/wanrouter.rc ]; then
. /etc/wanpipe/wanrouter.rc
if [ -f $ROOT$WAN_CONF_DIR/wanrouter.rc ]; then
. $ROOT$WAN_CONF_DIR/wanrouter.rc
fi
if [ "$WAN_DEVICES" = "" ]; then
WAN_DEVICES="wanpipe1"
else
echo
echo "Wanpipe META config file found in /etc/wanpipe directory"
echo "Wanpipe META config file found in $WAN_CONF_DIR directory"
echo
echo "Wanpipe startup sequence: $WAN_DEVICES"
echo
@ -1521,7 +1527,7 @@ create_mataconf()
# router.rc WAN router meta-configuration file.
#
# This file defines variables used by the router shell scripts
# and should be located in /etc/wanpipe directory. These are:
# and should be located in $WAN_CONF_DIR directory. These are:
#
# ROUTER_BOOT = Boot flag (YES/NO).
# WAN_CONF_DIR = Where to put wanpipe config files.
@ -1552,13 +1558,13 @@ ENDOFTEXT
echo "WAN_LOCK_DIR=$LOCK_DIR" >> $META_CONF
echo "WAN_IP_FORWARD=$ENABLE_IP_FWD" >> $META_CONF
echo "NEW_IF_TYPE=$NEW_IF_TYPE" >> $META_CONF
echo "WAN_LIB_DIR=/etc/wanpipe/lib" >> $META_CONF
echo "WAN_ADSL_LIST=/etc/wanpipe/wan_adsl.list" >> $META_CONF
echo "WAN_LIB_DIR=$WAN_CONF_DIR/lib" >> $META_CONF
echo "WAN_ADSL_LIST=$WAN_CONF_DIR/wan_adsl.list" >> $META_CONF
echo "WAN_ANNEXG_LOAD=$ANNEXG_LOAD" >> $META_CONF
echo "WAN_SCTP_LOAD=$SCTP_LOAD" >> $META_CONF
echo "WAN_LIP_LOAD=$LIP_LOAD" >> $META_CONF
echo "WAN_DYN_WANCONFIG=NO" >> $META_CONF
echo "WAN_SCRIPTS_DIR=/etc/wanpipe/scripts" >> $META_CONF
echo "WAN_SCRIPTS_DIR=$WAN_CONF_DIR/scripts" >> $META_CONF
echo "WAN_FIRMWARE_DIR=$WAN_FIRMWARE_DIR" >> $META_CONF
echo "WAN_DEVICES_REV_STOP_ORDER=YES" >> $META_CONF
echo "WAN_DEVICES=\"$WAN_DEVICES\"" >> $META_CONF
@ -1756,11 +1762,11 @@ remove()
#FIXME: Find a better way of doing this
if [ "$PKG_NAME" != "wanpipe-lite" ]; then
if [ -d /etc/wanpipe ]; then
rm -rf /etc/wanpipe
if [ -d $WAN_CONF_DIR ]; then
rm -rf $WAN_CONF_DIR
fi
else
IFCFG_LIST=`ls /etc/wanpipe/ifcfg-* 2>/dev/null`
IFCFG_LIST=`ls $WAN_CONF_DIR/ifcfg-* 2>/dev/null`
for ifcfg in $IFCFG_LIST; do
[ -f "$ifcfg" ] && rm -f $ifcfg
done
@ -1845,7 +1851,7 @@ WANPIPE utilities are used to:
4) debug line, protocol and driver problems.
(/usr/sbin/wanpipemon)
5) aid in WANPIPE API development
(/etc/wanpipe/api)
($WAN_CONF_DIR/api)
Refer to the WanpipeInstallation.(pdf/txt) for more information.
@ -4468,12 +4474,17 @@ function install_all ()
echo "Installing ${DISTR_NAME} Utilities in $ROOT/usr/sbin"
if [ ! -e $WAN_CONF_DIR ]; then
\mkdir -p $WAN_CONF_DIR
\mkdir -p $WAN_CONF_DIR/util
fi
cd $PROD_HOME/util
make install WAN_VIRTUAL=$ROOT > /dev/null 2> /dev/null
if [ "$PKG_NAME" = "wanpipe-lite" ]; then
cd $PROD_HOME
\cp -rf samples $ROOT/etc/wanpipe
\cp -rf samples $ROOT$WAN_CONF_DIR
install -D -m 755 $PROD_HOME/scripts/wanlite $ROOT/usr/sbin/wanlite
pause
return 0
@ -4484,20 +4495,20 @@ function install_all ()
cd $PROD_HOME/util/misc
make install WAN_VIRTUAL=$ROOT > /dev/null 2> /dev/null
echo "Installing wanrouter.rc in $ROOT/etc/wanpipe"
echo "Installing wanrouter.rc in $ROOT$WAN_CONF_DIR"
cd $PROD_HOME
install -D -m 644 wanrouter.rc $ROOT/etc/wanpipe/wanrouter.rc
install -D -m 644 wanrouter.rc $ROOT$WAN_CONF_DIR/wanrouter.rc
echo "Installing wanpipe libraries in $ROOT/etc/wanpipe"
echo "Installing wanpipe libraries in $ROOT$WAN_CONF_DIR"
\mkdir -p $ROOT/etc/wanpipe/lib/
\cp -f $PROD_HOME/util/wancfg_legacy/lib/* $ROOT/etc/wanpipe/lib/
\mkdir -p $ROOT$WAN_CONF_DIR/lib/
\cp -f $PROD_HOME/util/wancfg_legacy/lib/* $ROOT$WAN_CONF_DIR/lib/
echo "Installing firmware in $ROOT/etc/wanpipe/firmware"
\cp -rf firmware $ROOT/etc/wanpipe/
echo "Installing firmware in $ROOT$WAN_CONF_DIR/firmware"
\cp -rf firmware $ROOT$WAN_CONF_DIR/
if [ ! -f $ROOT/etc/wanpipe/interfaces ]; then
\mkdir -p $ROOT/etc/wanpipe/interfaces
if [ ! -f $ROOT$WAN_CONF_DIR/interfaces ]; then
\mkdir -p $ROOT$WAN_CONF_DIR/interfaces
fi
echo "Installing documentation in $ROOT/usr/share/doc/wanpipe"
@ -4507,25 +4518,37 @@ function install_all ()
\cp -f doc/* $ROOT/usr/share/doc/wanpipe
\cp -f README* $ROOT/usr/share/doc/wanpipe
echo "Installing sample api code in $ROOT/etc/wanpipe/api"
\cp -rf api $ROOT/etc/wanpipe
\cp -rf samples $ROOT/etc/wanpipe
\cp -rf util/wanec_apilib /etc/wanpipe/api
echo "Installing sample api code in $ROOT$WAN_CONF_DIR/api"
\cp -rf api $ROOT$WAN_CONF_DIR
\cp -rf samples $ROOT$WAN_CONF_DIR
if [ ! -d $ROOT/etc/wanpipe/scripts ]; then
\mkdir -p $ROOT/etc/wanpipe/scripts
echo "Installing AFT Firmware update utility in $ROOT$WAN_CONF_DIR/util"
\cp -rf util/wanec_apilib/ $ROOT$WAN_CONF_DIR/util
\cp -rf util/wan_aftup/ $ROOT$WAN_CONF_DIR/util
cd firmware
if [ -e wan_aftup ]; then
\rm -f wan_aftup 2> /dev/null
fi
\ln -s ../util/wan_aftup wan_aftup
cd $PROD_HOME
if [ ! -d $ROOT$WAN_CONF_DIR/scripts ]; then
\mkdir -p $ROOT$WAN_CONF_DIR/scripts
fi
echo "Installing driver headers in $ROOT/etc/wanpipe/api/include/linux"
if [ ! -d $ROOT/etc/wanpipe/api/include/linux ]; then
\mkdir -p $ROOT/etc/wanpipe/api/include/linux
echo "Installing driver headers in $ROOT$WAN_CONF_DIR/api/include/linux"
if [ ! -d $ROOT$WAN_CONF_DIR/api/include/linux ]; then
\mkdir -p $ROOT$WAN_CONF_DIR/api/include/linux
fi
cd $PROD_HOME
if [ -d wan_ec ]; then
cp -rf wan_ec $ROOT/etc/wanpipe
cp -rf wan_ec $ROOT$WAN_CONF_DIR
echo "Installing Hardware Echo Cancel Utilites"
cd util/wanec_client
make install WAN_VIRTUAL=$ROOT > /dev/null 2> /dev/null
@ -4540,11 +4563,11 @@ function install_all ()
cd $PROD_HOME
if [ ! -f $ROOT/etc/wanpipe/api/include/linux/ ]; then
\mkdir -p $ROOT/etc/wanpipe/api/include/linux/
if [ ! -f $ROOT$WAN_CONF_DIR/api/include/linux/ ]; then
\mkdir -p $ROOT$WAN_CONF_DIR/api/include/linux/
fi
\cp -f $DRIVER_UPDATE_DIR/include/*.* $ROOT/etc/wanpipe/api/include/linux/
\cp -f $DRIVER_UPDATE_DIR/include/*.* $ROOT$WAN_CONF_DIR/api/include/linux/
pause
return 0
@ -4568,7 +4591,7 @@ function uninstall_all ()
cd $PROD_HOME
rm -f $ROOT/usr/sbin/wp_pppconfig
rm -rf $ROOT/usr/doc/wanpipe
rm -rf $ROOT/etc/wanpipe
rm -rf $ROOT/$WAN_CONF_DIR
pause
return 0
@ -5872,8 +5895,14 @@ ENDOFTEXT
if [ -f $ZAPTEL_INSTALL_DIR/zaptel-base.c ]; then
eval "grep hdlc_hard_xmit $ZAPTEL_INSTALL_DIR/zaptel-base.c > /dev/null 2> /dev/null"
if [ $? -eq 0 ] ; then
echo
echo "Native Zaptel HW HDLC Support Detected - No patch required"
echo "Zaptel source unmodified"
echo "Zaptel source unmodified, no zaptel re-compilation needed!"
echo
pause
echo
echo
TDM_DCHAN="(DCHAN)"
PROTOCOL_DEFINES="$PROTOCOL_DEFINES -DCONFIG_PRODUCT_WANPIPE_TDM_VOICE_DCHAN -DCONFIG_PRODUCT_WANPIPE_TDM_VOICE_DCHAN_ZAPTEL "
@ -6004,6 +6033,7 @@ ENDOFTEXT
fi
fi
tdmv_check_zaptel_udev
echo
fi
fi
PROT_MATCH=YES
@ -6162,29 +6192,6 @@ function detect_rpm_build_utility()
fi
}
function compile_aft_firmware_util()
{
lhome=`pwd`
\cp -f $PROD_HOME/util/wan_aftup $PROD_HOME/rpmbuild/etc/wanpipe/firmware/ -r
cd $PROD_HOME/rpmbuild/etc/wanpipe/firmware/wan_aftup
echo "Compiling firmware update utilities..."
eval "make wan_aftup" >/dev/null 2>/dev/null
if [ ! $? -eq 0 ]; then
echo "failed"
exit
else
echo "done"
fi
\rm -f *.c
\rm -f *.o
\rm -f *.h
\rm -f Makefile
cd $lhome
}
function usage()
{
if [ "$PKG_NAME" != "wanpipe-lite" ]; then
@ -6321,10 +6328,10 @@ KERNEL_UNAME=`uname -r`
PKG_NAME=wanpipe
DISTR_NAME="WANPIPE"
PROD=wanrouter
PROD_VER=3.2.2
PROD_VER=3.2.3
PROD_HOME=`pwd`
WAN_CONF_DIR=/etc/wanpipe
META_CONF=$WAN_CONF_DIR/$PROD.rc
WAN_CONF_DIR=/etc/wanpipe
META_CONF=$PROD_HOME/$PROD.rc
WAN_INTR_DIR=$PROD_HOME/interfaces
PROD_CONF=$WAN_CONF_DIR/wanpipe1.conf
PROD_PATCH=$PROD_HOME/patches
@ -6956,7 +6963,6 @@ you know what you are doing :)
fi
if [ "$setup_cmd" = "buildrpm" ]; then
compile_aft_firmware_util
detect_rpm_build_utility

View File

@ -1,5 +1,5 @@
Package: wanpipe
Version: 3.2.2-0
Version: 3.2.3-0
Section: networking
Priority: optional
Architecture: all

1
firmware/wan_aftup Symbolic link
View File

@ -0,0 +1 @@
../util/wan_aftup

View File

@ -84,7 +84,7 @@ typedef struct adsl_private_area
unsigned char remote_eth_addr[6];
unsigned long router_start_time;
unsigned long router_up_time;
unsigned int trace_timeout;
unsigned long trace_timeout;
#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
struct ifmedia media; /* media information */
#endif
@ -95,7 +95,7 @@ typedef struct adsl_trace_info
{
unsigned long tracing_enabled;
wan_skb_queue_t trace_queue;
unsigned int trace_timeout;
unsigned long trace_timeout;
unsigned int max_trace_queue;
} adsl_trace_info_t;

View File

@ -1418,7 +1418,7 @@ static __inline void wan_skb_copyback(void* skb, int off, int len, caddr_t cp)
struct sk_buff* sk = (struct sk_buff*)skb;
unsigned char* data = NULL;
if (off == wan_skb_len(skb)){
if (len > wan_skb_tailroom(sk)){
if (wan_skb_tail_pointer(sk) + len > wan_skb_end_pointer(sk)){
DEBUG_EVENT("wan_skb_copyback: Internal Error (off=%d,len=%d,skb_len=%d)!\n",
off, len, wan_skb_len(skb));
return;
@ -1459,7 +1459,7 @@ static __inline int wan_skb_copyback_user(void* skb, int off, int len, caddr_t c
struct sk_buff* sk = (struct sk_buff*)skb;
unsigned char* data = NULL;
if (off == wan_skb_len(skb)){
if (len > wan_skb_tailroom(sk)) {
if (wan_skb_tail_pointer(sk) + len > wan_skb_end_pointer(sk)){
DEBUG_EVENT("wan_skb_copyback_user: Internal Error (off=%d,len=%d,skb_len=%d)!\n",
off, len, wan_skb_len(skb));
return -EINVAL;

View File

@ -33,6 +33,7 @@
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
#define wan_skb_reset_mac_header(skb) skb_reset_mac_header(skb)
#define wan_skb_reset_network_header(skb) skb_reset_network_header(skb)
#define wan_skb_end_pointer(skb) skb_end_pointer(skb)
#define wan_skb_tail_pointer(skb) skb_tail_pointer(skb)
#define wan_skb_reset_tail_pointer(skb) skb_reset_tail_pointer(skb)
#define wan_skb_set_tail_pointer(skb,offset) skb_set_tail_pointer(skb,offset)
@ -40,6 +41,7 @@
#define wan_skb_reset_mac_header(skb) ((skb)->mac.raw = (skb)->data)
#define wan_skb_reset_network_header(skb) ((skb)->nh.raw = (skb)->data)
#define wan_skb_tail_pointer(skb) ((skb)->tail)
#define wan_skb_end_pointer(skb) ((skb)->end)
#define wan_skb_reset_tail_pointer(skb) ((skb)->tail = (skb)->data)
#define wan_skb_set_tail_pointer(skb,offset) ((skb)->tail = ((skb)->data + offset))
#endif

View File

@ -6,7 +6,7 @@
#define WANPIPE_COMPANY "Sangoma Technologies Inc"
/********** LINUX **********/
#define WANPIPE_VERSION "3.2.2"
#define WANPIPE_VERSION "3.2.3"
#define WANPIPE_SUB_VERSION "0"
#define WANPIPE_VERSION_BETA 0
#define WANPIPE_LITE_VERSION "1.1.1"

View File

@ -1,2 +1,2 @@
/root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/wanec.ko
/root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/wanec_iface.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/wanec_cmd.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/wanec_utils.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/wanec_dev.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/apilib/bt/octapi_bt0.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/apilib/largmath/octapi_largmath.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/apilib/llman/octapi_llman.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_events.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.o /root/development/3.2/wanpipe-3.2.2/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_user.o
/root/3.2/wanpipe/patches/kdrivers/wanec/wanec.ko
/root/3.2/wanpipe/patches/kdrivers/wanec/wanec_iface.o /root/3.2/wanpipe/patches/kdrivers/wanec/wanec_cmd.o /root/3.2/wanpipe/patches/kdrivers/wanec/wanec_utils.o /root/3.2/wanpipe/patches/kdrivers/wanec/wanec_dev.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/apilib/bt/octapi_bt0.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/apilib/largmath/octapi_largmath.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/apilib/llman/octapi_llman.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_events.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.o /root/3.2/wanpipe/patches/kdrivers/wanec/oct6100_api/octdeviceapi/oct6100api/oct6100_api/oct6100_user.o

View File

@ -1,6 +1,6 @@
%define WANPIPE_VER wanpipe-modules
%define name %{WANPIPE_VER}
%define version 3.2.2
%define version 3.2.3
%define release 0
%define serial 1
%define MODULES_DIR /lib/modules
@ -50,6 +50,13 @@ echo "Wanpipe Modules located in %{MODULES_DIR}/%{KVERSION}"
%changelog
* Thu Jan 24 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.2.1
========================================================================
- Fixed a compile bug that occured on some kernels due to inlining.
- Updates Setup script
* Thu Jan 18 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.2
========================================================================

View File

@ -1,7 +1,7 @@
%define KERNEL_VERSION %{?kern_ver}
%define WANPIPE_VER wanpipe-util
%define name %{WANPIPE_VER}
%define version 3.2.2
%define version 3.2.3
%define release 0
%define serial 1
%define ETC_DIR /etc
@ -246,6 +246,13 @@ install_init;
%changelog
* Thu Jan 24 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.2.1
========================================================================
- Fixed a compile bug that occured on some kernels due to inlining.
- Updates Setup script
* Thu Jan 18 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.2
========================================================================

View File

@ -1,7 +1,7 @@
%define KERNEL_VERSION %{?kern_ver}
%define WANPIPE_VER wanpipe
%define name %{WANPIPE_VER}
%define version 3.2.2
%define version 3.2.3
%define release 0
%define serial 1
%define UTILS_DIR /usr/sbin
@ -254,6 +254,13 @@ install_init;
%changelog
* Thu Jan 24 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.2.1
========================================================================
- Fixed a compile bug that occured on some kernels due to inlining.
- Updates Setup script
* Thu Jan 18 2008 Nenad Corbic <ncorbic@sangoma.com> - Stable - 3.2.2
========================================================================

View File

@ -2106,7 +2106,7 @@ WANPIPE_IS_RUNNING=/var/run/wanpipe_is_running
RUGGEDCOM=No
if [ $OSYSTEM = "Linux" ]; then
ROUTER_VERSION=3.2.2
ROUTER_VERSION=3.2.3
IFCONFIG_LIST=ifconfig
MODULE_STAT=lsmod
WAN_DRIVERS="wanpipe"

View File

@ -1,7 +1,7 @@
K 25
svn:wc:ra_dav:version-url
V 34
/svn/sangoma_mgd/!svn/ver/58/trunk
/svn/sangoma_mgd/!svn/ver/59/trunk
END
sigboost.h
K 25
@ -9,11 +9,11 @@ svn:wc:ra_dav:version-url
V 45
/svn/sangoma_mgd/!svn/ver/36/trunk/sigboost.h
END
switch_buffer.h
sound.raw
K 25
svn:wc:ra_dav:version-url
V 49
/svn/sangoma_mgd/!svn/ver/1/trunk/switch_buffer.h
V 43
/svn/sangoma_mgd/!svn/ver/1/trunk/sound.raw
END
sangoma_mgd.conf.sample
K 25
@ -21,11 +21,11 @@ svn:wc:ra_dav:version-url
V 58
/svn/sangoma_mgd/!svn/ver/25/trunk/sangoma_mgd.conf.sample
END
sound.raw
switch_buffer.h
K 25
svn:wc:ra_dav:version-url
V 43
/svn/sangoma_mgd/!svn/ver/1/trunk/sound.raw
V 49
/svn/sangoma_mgd/!svn/ver/1/trunk/switch_buffer.h
END
callgettest.sh
K 25
@ -39,23 +39,17 @@ svn:wc:ra_dav:version-url
V 40
/svn/sangoma_mgd/!svn/ver/1/trunk/ss7box
END
re-sync.sh
K 25
svn:wc:ra_dav:version-url
V 45
/svn/sangoma_mgd/!svn/ver/20/trunk/re-sync.sh
END
call_signal.c
K 25
svn:wc:ra_dav:version-url
V 48
/svn/sangoma_mgd/!svn/ver/42/trunk/call_signal.c
END
sangoma_mgd.c
re-sync.sh
K 25
svn:wc:ra_dav:version-url
V 48
/svn/sangoma_mgd/!svn/ver/57/trunk/sangoma_mgd.c
V 45
/svn/sangoma_mgd/!svn/ver/20/trunk/re-sync.sh
END
woomera.conf
K 25
@ -63,24 +57,30 @@ svn:wc:ra_dav:version-url
V 46
/svn/sangoma_mgd/!svn/ver/1/trunk/woomera.conf
END
sangoma_mgd.c
K 25
svn:wc:ra_dav:version-url
V 48
/svn/sangoma_mgd/!svn/ver/59/trunk/sangoma_mgd.c
END
call_signal.h
K 25
svn:wc:ra_dav:version-url
V 47
/svn/sangoma_mgd/!svn/ver/1/trunk/call_signal.h
END
Changelog.sangoma_mgd
K 25
svn:wc:ra_dav:version-url
V 56
/svn/sangoma_mgd/!svn/ver/60/trunk/Changelog.sangoma_mgd
END
sangoma_mgd.h
K 25
svn:wc:ra_dav:version-url
V 48
/svn/sangoma_mgd/!svn/ver/58/trunk/sangoma_mgd.h
END
Changelog.sangoma_mgd
K 25
svn:wc:ra_dav:version-url
V 56
/svn/sangoma_mgd/!svn/ver/55/trunk/Changelog.sangoma_mgd
END
q931_cause.h
K 25
svn:wc:ra_dav:version-url

View File

@ -1,14 +1,14 @@
8
dir
58
59
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk
https://www.sangomapbx.com:/svn/sangoma_mgd
2008-01-18T23:17:38.335382Z
58
2008-01-24T23:37:43.572123Z
59
ncorbic
@ -38,8 +38,29 @@ d2023784f5d89a5623927a366705e22a
36
ncorbic
app
dir
switch_buffer.h
file
2007-09-21T20:55:42.000000Z
f4832443a621cbb88e92535898d11b83
2007-09-21T20:53:51.260136Z
1
root
sangoma_mgd.conf.sample
file
2007-10-18T17:51:26.000000Z
6f5866feb746caa979c0c4df03517326
2007-10-16T22:33:32.246854Z
25
ncorbic
sound.raw
file
@ -54,29 +75,8 @@ da36acc78b83d5047481df0cca63d969
root
has-props
sangoma_mgd.conf.sample
file
2007-10-18T17:51:26.000000Z
6f5866feb746caa979c0c4df03517326
2007-10-16T22:33:32.246854Z
25
ncorbic
switch_buffer.h
file
2007-09-21T20:55:42.000000Z
f4832443a621cbb88e92535898d11b83
2007-09-21T20:53:51.260136Z
1
root
app
dir
callgettest.sh
file
@ -91,9 +91,6 @@ file
root
has-props
conf
dir
ss7box
file
@ -110,20 +107,11 @@ has-props
svn:special
scripts
conf
dir
call_signal.c
file
2007-11-28T21:14:37.000000Z
bcf6ba51a26281d7a0963c364f8610f1
2007-11-28T21:12:42.416435Z
42
ncorbic
scripts
dir
re-sync.sh
file
@ -138,16 +126,16 @@ file
ncorbic
has-props
sangoma_mgd.c
call_signal.c
file
2008-01-18T23:23:07.000000Z
0dd2e3aad304bc37895c78f158afb0a3
2008-01-18T23:01:23.237257Z
57
2007-11-28T21:14:37.000000Z
bcf6ba51a26281d7a0963c364f8610f1
2007-11-28T21:12:42.416435Z
42
ncorbic
woomera.conf
@ -162,6 +150,18 @@ file
1
root
sangoma_mgd.c
file
2008-01-25T21:10:41.000000Z
1c26650ec682522d42585c0300d9cc51
2008-01-24T23:37:43.572123Z
59
ncorbic
call_signal.h
file
@ -188,14 +188,14 @@ ncorbic
Changelog.sangoma_mgd
file
60
2008-01-18T21:45:09.000000Z
c7ac5bb8faff69307d9e2739737a50b1
2008-01-18T20:46:37.372416Z
55
2008-01-25T21:12:18.000000Z
bcf8a4b0b7ad944703d619cbf5087230
2008-01-25T21:06:05.930927Z
60
ncorbic
q931_cause.h

View File

@ -1,10 +1,17 @@
sangoma_mgd.c
======================================
Jan 24 2007
* v1.27 Nenad Corbic <ncorbic@sangoma.com>
* Fixed a memory leak on incoming calls
* Removed the use of server listener which
* was not used
Jan 18 2007
* v1.26 Nenad Corbic <ncorbic@sangoma.com>
* Fixed hangup after invalid Answer or Ack Session
* Can cause double use of setup id - now fixed
*
Dec 31 2007
* v1.25 Nenad Corbic <ncorbic@sangoma.com>
* Removed UDP Resync it can cause skb_over errors.

View File

@ -8,6 +8,12 @@
* the GNU General Public License
*
* =============================================
* v1.27 Nenad Corbic <ncorbic@sangoma.com>
* Jan 24 2007
* Fixed a memory leak on incoming calls
* Removed the use of server listener which
* was not used
*
* v1.26 Nenad Corbic <ncorbic@sangoma.com>
* Jan 18 2007
* Fixed hangup after invalid Answer or Ack Session
@ -135,7 +141,7 @@ static struct woomera_interface woomera_dead_dev;
#endif
#define SMG_VERSION "v1.26"
#define SMG_VERSION "v1.27"
/* enable early media */
#if 1
@ -170,7 +176,7 @@ hp_tdm_api_span_t *hptdmspan[WOOMERA_MAX_SPAN];
const char WELCOME_TEXT[] =
"================================================================================\n"
"Sangoma Media Gateway Daemon v1.26 \n"
"Sangoma Media Gateway Daemon v1.27 \n"
"TDM Signal Media Gateway for Sangoma/Wanpipe Cards\n"
"Copyright 2005, 2006, 2007 \n"
"Nenad Corbic <ncorbic@sangoma.com>, Anthony Minessale II <anthmct@yahoo.com>\n"
@ -2586,8 +2592,7 @@ static void interpret_command(struct woomera_interface *woomera, struct woomera_
woomera->session,
WOOMERA_RECORD_SEPERATOR);
} else {
char *event_string;
woomera_set_flag(woomera, WFLAG_LISTENING);
add_listener(woomera);
@ -2606,12 +2611,6 @@ static void interpret_command(struct woomera_interface *woomera, struct woomera_
WOOMERA_LINE_SEPERATOR,
woomera->session,
WOOMERA_RECORD_SEPERATOR);
if ((event_string = dequeue_event(&server.master_connection))) {
socket_printf(woomera->socket, "%s", event_string);
free(event_string);
event_string = NULL;
}
}
return;
@ -3383,9 +3382,7 @@ static void handle_call_start(call_signal_event_t *event)
WOOMERA_RECORD_SEPERATOR
);
if (enqueue_event_on_listeners(&wevent)) {
enqueue_event(&server.master_connection, &wevent, EVENT_KEEP_DATA);
} else {
if (!enqueue_event_on_listeners(&wevent)) {
pthread_mutex_lock(&server.process_lock);
server.process_table[event->span][event->chan].dev = NULL;
@ -3891,7 +3888,7 @@ static void *woomera_thread_run(void *obj)
woomera_message_init(&wmsg);
//smg_get_current_priority(&policy,&priority);
smg_get_current_priority(&policy,&priority);
log_printf(2, server.log, "WOOMERA session started (ptr=%p : loop=%i)(%i:%i) Index=%i\n",
woomera,woomera->loop_tdm,policy,priority, woomera->index);

View File

@ -1,10 +1,17 @@
sangoma_mgd.c
======================================
Jan 24 2007
* v1.27 Nenad Corbic <ncorbic@sangoma.com>
* Fixed a memory leak on incoming calls
* Removed the use of server listener which
* was not used
Jan 18 2007
* v1.26 Nenad Corbic <ncorbic@sangoma.com>
* Fixed hangup after invalid Answer or Ack Session
* Can cause double use of setup id - now fixed
*
Dec 31 2007
* v1.25 Nenad Corbic <ncorbic@sangoma.com>
* Removed UDP Resync it can cause skb_over errors.

View File

@ -1,7 +1,7 @@
8
dir
58
59
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/app
https://www.sangomapbx.com:/svn/sangoma_mgd

View File

@ -1,13 +1,13 @@
K 25
svn:wc:ra_dav:version-url
V 35
/svn/chan_woomera/!svn/ver/35/trunk
/svn/chan_woomera/!svn/ver/41/trunk
END
chan_woomera.c
K 25
svn:wc:ra_dav:version-url
V 50
/svn/chan_woomera/!svn/ver/36/trunk/chan_woomera.c
/svn/chan_woomera/!svn/ver/41/trunk/chan_woomera.c
END
g711.h
K 25
@ -19,7 +19,7 @@ Changelog.chan_woomera
K 25
svn:wc:ra_dav:version-url
V 58
/svn/chan_woomera/!svn/ver/35/trunk/Changelog.chan_woomera
/svn/chan_woomera/!svn/ver/42/trunk/Changelog.chan_woomera
END
Makefile
K 25

View File

@ -1,14 +1,14 @@
8
dir
35
41
https://www.sangomapbx.com:/svn/chan_woomera/trunk
https://www.sangomapbx.com:/svn/chan_woomera
2007-12-27T20:02:22.474001Z
35
2008-01-24T23:40:21.460521Z
41
ncorbic
@ -28,14 +28,14 @@ b26a191e-ab3a-0410-a271-b1e04e243bf1
chan_woomera.c
file
36
2008-01-02T15:37:24.000000Z
89e6106f6033f3664d7e1f7a0136a9fb
2008-01-02T15:34:17.744631Z
36
2008-01-25T21:10:46.000000Z
b436e071f0ca59e89dee6ff3ef3d9773
2008-01-24T23:40:21.460521Z
41
ncorbic
g711.h
@ -52,14 +52,14 @@ root
Changelog.chan_woomera
file
42
2007-12-31T16:40:05.000000Z
8ea889f5c578c76386df2e6b225856f7
2007-12-27T20:02:22.474001Z
35
2008-01-25T21:13:42.000000Z
7dc04dac5167baa18fb3242bbb557506
2008-01-25T21:07:23.131339Z
42
ncorbic
Makefile

View File

@ -1,6 +1,23 @@
chan_woomera.c
======================================
Jan 23 2008
* v1.24 Nenad Corbic <ncorbic@sangoma.com>
* Removed LISTEN on every woomera channel. Listen
* only on master. Fixed jitterbuffer support on AST1.4
*
Jan 22 2008
* v1.23 Nenad Corbic <ncorbic@sangoma.com>
* Implemented Music on Hold.
*
Jan 11 2008
* v1.22 David Yat Sin <davidy@sangoma.com>
* rxgain and txgain configuration parameters
* are ignored if coding is not specified in
* woomera.conf
Dec 27 2007
* v1.21 David Yat Sin <davidy@sangoma.com>
* Support for language

View File

@ -4,7 +4,7 @@
*
* Woomera Channel Driver
*
* Copyright (C) 05-07 Nenad Corbic
* Copyright (C) 05-08 Nenad Corbic
* Anthony Minessale II
*
* Nenad Corbic <ncorbic@sangoma.com>
@ -13,6 +13,21 @@
* This program is free software, distributed under the terms of
* the GNU General Public License
* =============================================
* v1.24 Nenad Corbic <ncorbic@sangoma.com>
* Jan 23 2008
* Removed LISTEN on every woomera channel. Listen
* only on master. Fixed jitterbuffer support on AST1.4
*
* v1.23 Nenad Corbic <ncorbic@sangoma.com>
* Jan 22 2008
* Implemented Music on Hold.
*
* v1.22 David Yat Sin <davidy@sangoma.com>
* Jan 11 2008
* rxgain and txgain configuration parameters
* are ignored if coding is not specified in
* woomera.conf
*
* v1.21 David Yat Sin <davidy@sangoma.com>
* Dec 27 2007
* Support for language
@ -133,8 +148,9 @@
#include "asterisk/translate.h"
#include "asterisk/causes.h"
#include "asterisk/dsp.h"
#include "asterisk/musiconhold.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision: 1.21 $")
ASTERISK_FILE_VERSION(__FILE__, "$Revision: 1.24 $")
#else
@ -156,7 +172,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision: 1.21 $")
#include "callweaver/dsp.h"
#include "callweaver.h"
CALLWEAVER_FILE_VERSION(__FILE__, "$Revision: 1.21 $")
CALLWEAVER_FILE_VERSION(__FILE__, "$Revision: 1.24 $")
// strings...
@ -279,7 +295,7 @@ CALLWEAVER_FILE_VERSION(__FILE__, "$Revision: 1.21 $")
extern int option_verbose;
#define WOOMERA_VERSION "v1.21"
#define WOOMERA_VERSION "v1.24"
#ifndef WOOMERA_CHAN_NAME
#define WOOMERA_CHAN_NAME "SS7"
#endif
@ -294,6 +310,15 @@ static char configfile[] = "woomera.conf";
static char smgversion_init=0;
static char smgversion[100] = "N/A";
static char mohinterpret[MAX_MUSICCLASS] = "default";
static char mohsuggest[MAX_MUSICCLASS] = "";
#ifdef AST14
#ifndef AST_JB
#define AST_JB 1
#endif
#endif
#ifdef AST_JB
#include "asterisk/abstract_jb.h"
/* Global jitterbuffer configuration - by default, jb is disabled */
@ -486,6 +511,8 @@ struct private_object {
char dtmfbuf[WOOMERA_STRLEN];
char cid_name[WOOMERA_STRLEN];
char cid_num[WOOMERA_STRLEN];
char mohinterpret[MAX_MUSICCLASS];
char mohsuggest[MAX_MUSICCLASS];
char *cid_rdnis;
int cid_pres;
char ds[WOOMERA_STRLEN];
@ -1191,6 +1218,7 @@ retry_activate_again:
tech_pvt);
}
} else {
if (retry_activate_call <= 3) {
retry_activate_call++;
goto retry_activate_again;
@ -1411,15 +1439,25 @@ static int tech_init(private_object *tech_pvt, woomera_profile *profile, int fla
tech_pvt->faxdetect=1;
}
if (profile->jb_enable) {
#ifdef AST_JB
/* Assign default jb conf to the new zt_pvt */
memcpy(&tech_pvt->jbconf, &global_jbconf, sizeof(struct ast_jb_conf));
ast_jb_configure(chan, &tech_pvt->jbconf);
ast_jb_configure(self, &tech_pvt->jbconf);
if (globals.debug > 1 && option_verbose > 10) {
ast_log(LOG_NOTICE, "%s: Cfg JitterBuffer (F=%i MS=%li Rs=%li Impl=%s)\n",
self->name,
tech_pvt->jbconf.flags,
tech_pvt->jbconf.max_size,
tech_pvt->jbconf.resync_threshold,
tech_pvt->jbconf.impl);
}
#else
ast_log(LOG_ERROR, "Asterisk Jitter Buffer Not Compiled!\n");
#endif
}
}
/* Asterisk being asterisk and all allows approx 1 nanosecond
@ -2300,6 +2338,9 @@ static void *woomera_thread_run(void *obj)
if (globals.debug > 2) {
ast_log(LOG_NOTICE, "%s:%d Incoming Call \n",__FUNCTION__,__LINE__);
}
#if 0
/* We only want a single listener */
woomera_printf(profile, woomera_socket, "LISTEN%s", WOOMERA_RECORD_SEPARATOR);
if(woomera_message_parse(woomera_socket,
&wmsg,
@ -2309,7 +2350,8 @@ static void *woomera_thread_run(void *obj)
) < 0) {
ast_log(LOG_ERROR, "{%s} %s:%d HELP! Woomera is broken!\n", profile->name,__FUNCTION__,__LINE__);
woomera_close_socket(&woomera_socket);
}
}
#endif
}
if (woomera_socket > -1) {
ast_log(LOG_NOTICE, "Woomera Thread Up {%s} %s/%d\n", profile->name, profile->woomera_host, profile->woomera_port);
@ -2452,7 +2494,13 @@ static void woomera_config_gain(woomera_profile *profile, float gain_val, int rx
int k;
float linear_gain = pow(10.0, gain_val / 20.0);
unsigned char *gain;
if (profile->coding == AST_FORMAT_SLINEAR){
ast_log(LOG_WARNING, "Coding not specified, %s value ignored\n", (rx)? "rxgain":"txgain");
return;
}
if (gain_val == 0) {
goto woomera_config_gain_skip;
}
@ -2548,32 +2596,32 @@ static int config_woomera(void)
int count = 0;
memset(&default_profile, 0, sizeof(default_profile));
#ifdef AST_JB
memcpy(&global_jbconf, &default_jbconf, sizeof(struct ast_jb_conf));
#endif
default_profile.coding=0;
if ((cfg = ast_config_load(configfile))) {
for (entry = ast_category_browse(cfg, NULL); entry != NULL; entry = ast_category_browse(cfg, entry)) {
if (!strcmp(entry, "settings")) {
if (strcmp(entry, "settings") == 0) {
for (v = ast_variable_browse(cfg, entry); v ; v = v->next) {
if (!strcmp(v->name, "debug")) {
globals.debug = atoi(v->value);
} else if (!strcmp(v->name, "more_threads")) {
globals.more_threads = ast_true(v->value);
}
#ifdef AST_JB
if (ast_jb_read_conf(&global_jbconf, v->name, v->value) == 0) {
ast_log(LOG_NOTICE, "Woomera AST JB Opt %s = %s \n",
v->name,v->value);
continue;
}
#endif
}
#ifdef AST_JB
struct ast_variable *vjb;
/* Copy the default jb config over global_jbconf */
memcpy(&global_jbconf, &default_jbconf, sizeof(struct ast_jb_conf));
/* Traverse all variables to handle jb conf */
vjb = ast_variable_browse(cfg, "settings");;
while(vjb)
{
ast_jb_read_conf(&global_jbconf, vjb->name, vjb->value);
vjb = vjb->next;
}
#endif /* AST_JB */
} else {
@ -2652,8 +2700,17 @@ static int config_woomera(void)
strncpy(profile->language, v->value, sizeof(profile->language) - 1);
} else if (!strcmp(v->name, "dtmf_enable")) {
profile->dtmf_enable = atoi(v->value);
} else if (!strcmp(v->name, "jb_enable")) {
profile->jb_enable = atoi(v->value);
ast_log(LOG_NOTICE, "Profile {%s} Jitter Buffer %s %p \n",
entry,profile->jb_enable?"Enabled":"Disabled",profile);
} else if (!strcmp(v->name, "jbenable")) {
profile->jb_enable = atoi(v->value);
ast_log(LOG_NOTICE, "Profile {%s} Jitter Buffer %s %p\n",
entry,profile->jb_enable?"Enabled":"Disabled",profile);
} else if (!strcmp(v->name, "progress_enable")) {
profile->progress_enable = atoi(v->value);
@ -2840,7 +2897,7 @@ static int connect_woomera(int *new_socket, woomera_profile *profile, int flags)
if ((res = woomera_message_parse(*new_socket,
&wmsg,
-10000, //WOOMERA_HARD_TIMEOUT,
WOOMERA_HARD_TIMEOUT,
profile,
NULL
)) < 0) {
@ -2983,6 +3040,9 @@ static struct ast_channel *woomera_new(const char *type, int format,
tech_pvt->frame.subclass = tech_pvt->coding;
tech_pvt->pri_cause=AST_CAUSE_NORMAL_CLEARING;
ast_copy_string(tech_pvt->mohinterpret,mohinterpret,sizeof(tech_pvt->mohinterpret));
ast_copy_string(tech_pvt->mohsuggest,mohsuggest,sizeof(tech_pvt->mohsuggest));
ASTOBJ_CONTAINER_LINK(&private_object_list, tech_pvt);
@ -3635,16 +3695,13 @@ static int tech_indicate(struct ast_channel *self, int condition)
private_object *tech_pvt;
int res = -1;
if (globals.debug > 1) {
ast_verbose(WOOMERA_DEBUG_PREFIX "+++INDICATE %s %d\n",self->name, condition);
}
tech_pvt = self->tech_pvt;
if (!tech_pvt) {
return res;
}
switch(condition) {
case AST_CONTROL_RINGING:
if (globals.debug > 3) {
ast_log(LOG_NOTICE, "TECH INDICATE: Ringing\n");
@ -3692,6 +3749,11 @@ static int tech_indicate(struct ast_channel *self, int condition)
if (!ast_test_flag(tech_pvt,TFLAG_ACCEPTED)) {
ast_set_flag(tech_pvt, TFLAG_ACCEPT);
}
#ifdef AST14
ast_mutex_lock(&self->lock);
ast_moh_start(self, data, tech_pvt->mohinterpret);
ast_mutex_unlock(&self->lock);
#endif
break;
case AST_CONTROL_UNHOLD:
if (globals.debug > 3) {
@ -3700,6 +3762,11 @@ static int tech_indicate(struct ast_channel *self, int condition)
if (!ast_test_flag(tech_pvt,TFLAG_ACCEPTED)) {
ast_set_flag(tech_pvt, TFLAG_ACCEPT);
}
#ifdef AST14
ast_mutex_lock(&self->lock);
ast_moh_stop(self);
ast_mutex_unlock(&self->lock);
#endif
break;
case AST_CONTROL_VIDUPDATE:
if (globals.debug > 3) {

View File

@ -1,6 +1,23 @@
chan_woomera.c
======================================
Jan 23 2008
* v1.24 Nenad Corbic <ncorbic@sangoma.com>
* Removed LISTEN on every woomera channel. Listen
* only on master. Fixed jitterbuffer support on AST1.4
*
Jan 22 2008
* v1.23 Nenad Corbic <ncorbic@sangoma.com>
* Implemented Music on Hold.
*
Jan 11 2008
* v1.22 David Yat Sin <davidy@sangoma.com>
* rxgain and txgain configuration parameters
* are ignored if coding is not specified in
* woomera.conf
Dec 27 2007
* v1.21 David Yat Sin <davidy@sangoma.com>
* Support for language

View File

@ -4,7 +4,7 @@
*
* Woomera Channel Driver
*
* Copyright (C) 05-07 Nenad Corbic
* Copyright (C) 05-08 Nenad Corbic
* Anthony Minessale II
*
* Nenad Corbic <ncorbic@sangoma.com>
@ -13,6 +13,21 @@
* This program is free software, distributed under the terms of
* the GNU General Public License
* =============================================
* v1.24 Nenad Corbic <ncorbic@sangoma.com>
* Jan 23 2008
* Removed LISTEN on every woomera channel. Listen
* only on master. Fixed jitterbuffer support on AST1.4
*
* v1.23 Nenad Corbic <ncorbic@sangoma.com>
* Jan 22 2008
* Implemented Music on Hold.
*
* v1.22 David Yat Sin <davidy@sangoma.com>
* Jan 11 2008
* rxgain and txgain configuration parameters
* are ignored if coding is not specified in
* woomera.conf
*
* v1.21 David Yat Sin <davidy@sangoma.com>
* Dec 27 2007
* Support for language
@ -133,8 +148,9 @@
#include "asterisk/translate.h"
#include "asterisk/causes.h"
#include "asterisk/dsp.h"
#include "asterisk/musiconhold.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision: 1.21 $")
ASTERISK_FILE_VERSION(__FILE__, "$Revision: 1.24 $")
#else
@ -156,7 +172,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision: 1.21 $")
#include "callweaver/dsp.h"
#include "callweaver.h"
CALLWEAVER_FILE_VERSION(__FILE__, "$Revision: 1.21 $")
CALLWEAVER_FILE_VERSION(__FILE__, "$Revision: 1.24 $")
// strings...
@ -279,7 +295,7 @@ CALLWEAVER_FILE_VERSION(__FILE__, "$Revision: 1.21 $")
extern int option_verbose;
#define WOOMERA_VERSION "v1.21"
#define WOOMERA_VERSION "v1.24"
#ifndef WOOMERA_CHAN_NAME
#define WOOMERA_CHAN_NAME "SS7"
#endif
@ -294,6 +310,15 @@ static char configfile[] = "woomera.conf";
static char smgversion_init=0;
static char smgversion[100] = "N/A";
static char mohinterpret[MAX_MUSICCLASS] = "default";
static char mohsuggest[MAX_MUSICCLASS] = "";
#ifdef AST14
#ifndef AST_JB
#define AST_JB 1
#endif
#endif
#ifdef AST_JB
#include "asterisk/abstract_jb.h"
/* Global jitterbuffer configuration - by default, jb is disabled */
@ -486,6 +511,8 @@ struct private_object {
char dtmfbuf[WOOMERA_STRLEN];
char cid_name[WOOMERA_STRLEN];
char cid_num[WOOMERA_STRLEN];
char mohinterpret[MAX_MUSICCLASS];
char mohsuggest[MAX_MUSICCLASS];
char *cid_rdnis;
int cid_pres;
char ds[WOOMERA_STRLEN];
@ -1191,6 +1218,7 @@ retry_activate_again:
tech_pvt);
}
} else {
if (retry_activate_call <= 3) {
retry_activate_call++;
goto retry_activate_again;
@ -1411,15 +1439,25 @@ static int tech_init(private_object *tech_pvt, woomera_profile *profile, int fla
tech_pvt->faxdetect=1;
}
if (profile->jb_enable) {
#ifdef AST_JB
/* Assign default jb conf to the new zt_pvt */
memcpy(&tech_pvt->jbconf, &global_jbconf, sizeof(struct ast_jb_conf));
ast_jb_configure(chan, &tech_pvt->jbconf);
ast_jb_configure(self, &tech_pvt->jbconf);
if (globals.debug > 1 && option_verbose > 10) {
ast_log(LOG_NOTICE, "%s: Cfg JitterBuffer (F=%i MS=%li Rs=%li Impl=%s)\n",
self->name,
tech_pvt->jbconf.flags,
tech_pvt->jbconf.max_size,
tech_pvt->jbconf.resync_threshold,
tech_pvt->jbconf.impl);
}
#else
ast_log(LOG_ERROR, "Asterisk Jitter Buffer Not Compiled!\n");
#endif
}
}
/* Asterisk being asterisk and all allows approx 1 nanosecond
@ -2300,6 +2338,9 @@ static void *woomera_thread_run(void *obj)
if (globals.debug > 2) {
ast_log(LOG_NOTICE, "%s:%d Incoming Call \n",__FUNCTION__,__LINE__);
}
#if 0
/* We only want a single listener */
woomera_printf(profile, woomera_socket, "LISTEN%s", WOOMERA_RECORD_SEPARATOR);
if(woomera_message_parse(woomera_socket,
&wmsg,
@ -2309,7 +2350,8 @@ static void *woomera_thread_run(void *obj)
) < 0) {
ast_log(LOG_ERROR, "{%s} %s:%d HELP! Woomera is broken!\n", profile->name,__FUNCTION__,__LINE__);
woomera_close_socket(&woomera_socket);
}
}
#endif
}
if (woomera_socket > -1) {
ast_log(LOG_NOTICE, "Woomera Thread Up {%s} %s/%d\n", profile->name, profile->woomera_host, profile->woomera_port);
@ -2452,7 +2494,13 @@ static void woomera_config_gain(woomera_profile *profile, float gain_val, int rx
int k;
float linear_gain = pow(10.0, gain_val / 20.0);
unsigned char *gain;
if (profile->coding == AST_FORMAT_SLINEAR){
ast_log(LOG_WARNING, "Coding not specified, %s value ignored\n", (rx)? "rxgain":"txgain");
return;
}
if (gain_val == 0) {
goto woomera_config_gain_skip;
}
@ -2548,32 +2596,32 @@ static int config_woomera(void)
int count = 0;
memset(&default_profile, 0, sizeof(default_profile));
#ifdef AST_JB
memcpy(&global_jbconf, &default_jbconf, sizeof(struct ast_jb_conf));
#endif
default_profile.coding=0;
if ((cfg = ast_config_load(configfile))) {
for (entry = ast_category_browse(cfg, NULL); entry != NULL; entry = ast_category_browse(cfg, entry)) {
if (!strcmp(entry, "settings")) {
if (strcmp(entry, "settings") == 0) {
for (v = ast_variable_browse(cfg, entry); v ; v = v->next) {
if (!strcmp(v->name, "debug")) {
globals.debug = atoi(v->value);
} else if (!strcmp(v->name, "more_threads")) {
globals.more_threads = ast_true(v->value);
}
#ifdef AST_JB
if (ast_jb_read_conf(&global_jbconf, v->name, v->value) == 0) {
ast_log(LOG_NOTICE, "Woomera AST JB Opt %s = %s \n",
v->name,v->value);
continue;
}
#endif
}
#ifdef AST_JB
struct ast_variable *vjb;
/* Copy the default jb config over global_jbconf */
memcpy(&global_jbconf, &default_jbconf, sizeof(struct ast_jb_conf));
/* Traverse all variables to handle jb conf */
vjb = ast_variable_browse(cfg, "settings");;
while(vjb)
{
ast_jb_read_conf(&global_jbconf, vjb->name, vjb->value);
vjb = vjb->next;
}
#endif /* AST_JB */
} else {
@ -2652,8 +2700,17 @@ static int config_woomera(void)
strncpy(profile->language, v->value, sizeof(profile->language) - 1);
} else if (!strcmp(v->name, "dtmf_enable")) {
profile->dtmf_enable = atoi(v->value);
} else if (!strcmp(v->name, "jb_enable")) {
profile->jb_enable = atoi(v->value);
ast_log(LOG_NOTICE, "Profile {%s} Jitter Buffer %s %p \n",
entry,profile->jb_enable?"Enabled":"Disabled",profile);
} else if (!strcmp(v->name, "jbenable")) {
profile->jb_enable = atoi(v->value);
ast_log(LOG_NOTICE, "Profile {%s} Jitter Buffer %s %p\n",
entry,profile->jb_enable?"Enabled":"Disabled",profile);
} else if (!strcmp(v->name, "progress_enable")) {
profile->progress_enable = atoi(v->value);
@ -2840,7 +2897,7 @@ static int connect_woomera(int *new_socket, woomera_profile *profile, int flags)
if ((res = woomera_message_parse(*new_socket,
&wmsg,
-10000, //WOOMERA_HARD_TIMEOUT,
WOOMERA_HARD_TIMEOUT,
profile,
NULL
)) < 0) {
@ -2983,6 +3040,9 @@ static struct ast_channel *woomera_new(const char *type, int format,
tech_pvt->frame.subclass = tech_pvt->coding;
tech_pvt->pri_cause=AST_CAUSE_NORMAL_CLEARING;
ast_copy_string(tech_pvt->mohinterpret,mohinterpret,sizeof(tech_pvt->mohinterpret));
ast_copy_string(tech_pvt->mohsuggest,mohsuggest,sizeof(tech_pvt->mohsuggest));
ASTOBJ_CONTAINER_LINK(&private_object_list, tech_pvt);
@ -3635,16 +3695,13 @@ static int tech_indicate(struct ast_channel *self, int condition)
private_object *tech_pvt;
int res = -1;
if (globals.debug > 1) {
ast_verbose(WOOMERA_DEBUG_PREFIX "+++INDICATE %s %d\n",self->name, condition);
}
tech_pvt = self->tech_pvt;
if (!tech_pvt) {
return res;
}
switch(condition) {
case AST_CONTROL_RINGING:
if (globals.debug > 3) {
ast_log(LOG_NOTICE, "TECH INDICATE: Ringing\n");
@ -3692,6 +3749,11 @@ static int tech_indicate(struct ast_channel *self, int condition)
if (!ast_test_flag(tech_pvt,TFLAG_ACCEPTED)) {
ast_set_flag(tech_pvt, TFLAG_ACCEPT);
}
#ifdef AST14
ast_mutex_lock(&self->lock);
ast_moh_start(self, data, tech_pvt->mohinterpret);
ast_mutex_unlock(&self->lock);
#endif
break;
case AST_CONTROL_UNHOLD:
if (globals.debug > 3) {
@ -3700,6 +3762,11 @@ static int tech_indicate(struct ast_channel *self, int condition)
if (!ast_test_flag(tech_pvt,TFLAG_ACCEPTED)) {
ast_set_flag(tech_pvt, TFLAG_ACCEPT);
}
#ifdef AST14
ast_mutex_lock(&self->lock);
ast_moh_stop(self);
ast_mutex_unlock(&self->lock);
#endif
break;
case AST_CONTROL_VIDUPDATE:
if (globals.debug > 3) {

View File

@ -12,6 +12,50 @@
debug=2
;--- JITTER BUFFER CONFIGURATION --------------------------
;Enables the use of a jitterbuffer on the receiving side of a
;WOOMERA channel. Defaults to "no". An enabled jitterbuffer will
;be used only if the sending side can create and the receiving
;side can not accept jitter. The WOOMERA channel can accept jitter,
;thus a jitterbuffer on the receive WOOMERA side will be used only
; if it is forced and enabled.
;-------------------------------------
;jb_enable = no
;Forces the use of a jitterbuffer on the receive side of a WOOMERA
;channel. Defaults to "no".
;-------------------------------------
;jbforce = yes
; Max length of the jitterbuffer in milliseconds.
;-------------------------------------
;jbmaxsize = 200
; Jump in the frame timestamps over which the jitterbuffer is
; resynchronized. Useful to improve the quality of the voice, with
; big jumps in/broken timestamps, usualy sent from exotic devices
; and programs. Defaults to 1000.
;-------------------------------------
;jbresyncthreshold = 1000
;Jitterbuffer implementation, used on the receiving side of a WOOMERA
;channel. Two implementation are currenlty available - "fixed"
;(with size always equals to jb-max-size) and "adaptive" (with
;variable size, actually the new jb of IAX2). Defaults to fixed.
;-------------------------------------
;jbimpl = fixed
; Enables jitterbuffer frame logging. Defaults to "no".
;-------------------------------------
;jblog = no
;===========================================
;Default Profile Configuration Section
;===========================================
@ -116,3 +160,4 @@ progress_enable=0
;inbound=no
;outbound=no

View File

@ -1,7 +1,7 @@
8
dir
58
59
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/conf
https://www.sangomapbx.com:/svn/sangoma_mgd

View File

@ -1,7 +1,7 @@
8
dir
58
59
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/lib
https://www.sangomapbx.com:/svn/sangoma_mgd

View File

@ -1,7 +1,7 @@
8
dir
58
59
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/lib/libteletone/.deps
https://www.sangomapbx.com:/svn/sangoma_mgd

View File

@ -1,7 +1,7 @@
8
dir
58
59
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/lib/libteletone
https://www.sangomapbx.com:/svn/sangoma_mgd
@ -88,8 +88,17 @@ file
root
has-props
src
dir
ChangeLog
file
2007-09-21T20:55:42.000000Z
d41d8cd98f00b204e9800998ecf8427e
2007-09-21T20:53:51.260136Z
1
root
depcomp
file
@ -103,17 +112,8 @@ file
1
root
ChangeLog
file
2007-09-21T20:55:42.000000Z
d41d8cd98f00b204e9800998ecf8427e
2007-09-21T20:53:51.260136Z
1
root
src
dir
compile
file
@ -152,14 +152,14 @@ c2defdef8cd93c3d9e29628267699702
1
root
ltmain.sh
README
file
2007-09-21T20:55:42.000000Z
0f44520873ce706852086fc2ad45106f
234c8df99750448a5b1c4709304a38e5
2007-09-21T20:53:51.260136Z
1
root
@ -176,14 +176,14 @@ file
1
root
README
ltmain.sh
file
2007-09-21T20:55:42.000000Z
234c8df99750448a5b1c4709304a38e5
0f44520873ce706852086fc2ad45106f
2007-09-21T20:53:51.260136Z
1
root

View File

@ -1,7 +1,7 @@
8
dir
58
59
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/lib/libteletone/src
https://www.sangomapbx.com:/svn/sangoma_mgd

View File

@ -8,6 +8,12 @@
* the GNU General Public License
*
* =============================================
* v1.27 Nenad Corbic <ncorbic@sangoma.com>
* Jan 24 2007
* Fixed a memory leak on incoming calls
* Removed the use of server listener which
* was not used
*
* v1.26 Nenad Corbic <ncorbic@sangoma.com>
* Jan 18 2007
* Fixed hangup after invalid Answer or Ack Session
@ -135,7 +141,7 @@ static struct woomera_interface woomera_dead_dev;
#endif
#define SMG_VERSION "v1.26"
#define SMG_VERSION "v1.27"
/* enable early media */
#if 1
@ -170,7 +176,7 @@ hp_tdm_api_span_t *hptdmspan[WOOMERA_MAX_SPAN];
const char WELCOME_TEXT[] =
"================================================================================\n"
"Sangoma Media Gateway Daemon v1.26 \n"
"Sangoma Media Gateway Daemon v1.27 \n"
"TDM Signal Media Gateway for Sangoma/Wanpipe Cards\n"
"Copyright 2005, 2006, 2007 \n"
"Nenad Corbic <ncorbic@sangoma.com>, Anthony Minessale II <anthmct@yahoo.com>\n"
@ -2586,8 +2592,7 @@ static void interpret_command(struct woomera_interface *woomera, struct woomera_
woomera->session,
WOOMERA_RECORD_SEPERATOR);
} else {
char *event_string;
woomera_set_flag(woomera, WFLAG_LISTENING);
add_listener(woomera);
@ -2606,12 +2611,6 @@ static void interpret_command(struct woomera_interface *woomera, struct woomera_
WOOMERA_LINE_SEPERATOR,
woomera->session,
WOOMERA_RECORD_SEPERATOR);
if ((event_string = dequeue_event(&server.master_connection))) {
socket_printf(woomera->socket, "%s", event_string);
free(event_string);
event_string = NULL;
}
}
return;
@ -3383,9 +3382,7 @@ static void handle_call_start(call_signal_event_t *event)
WOOMERA_RECORD_SEPERATOR
);
if (enqueue_event_on_listeners(&wevent)) {
enqueue_event(&server.master_connection, &wevent, EVENT_KEEP_DATA);
} else {
if (!enqueue_event_on_listeners(&wevent)) {
pthread_mutex_lock(&server.process_lock);
server.process_table[event->span][event->chan].dev = NULL;
@ -3891,7 +3888,7 @@ static void *woomera_thread_run(void *obj)
woomera_message_init(&wmsg);
//smg_get_current_priority(&policy,&priority);
smg_get_current_priority(&policy,&priority);
log_printf(2, server.log, "WOOMERA session started (ptr=%p : loop=%i)(%i:%i) Index=%i\n",
woomera,woomera->loop_tdm,policy,priority, woomera->index);

View File

@ -1,7 +1,7 @@
8
dir
58
59
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/scripts
https://www.sangomapbx.com:/svn/sangoma_mgd

View File

@ -1,7 +1,7 @@
8
dir
58
59
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/scripts/callgen
https://www.sangomapbx.com:/svn/sangoma_mgd

View File

@ -1,7 +1,7 @@
8
dir
58
59
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/scripts/init.d
https://www.sangomapbx.com:/svn/sangoma_mgd

View File

@ -12,6 +12,7 @@ all:
make -C wanconfig all CC=$(CC) SYSINC=$(SYSINC) EXTRA_FLAGS="$(EXTRA_FLAGS)" ARCH=$(ARCH)
make -C wanec_client all CC=$(CC) SYSINC=$(SYSINC) WANINCDIR=$(WANINCDIR) EXTRA_FLAGS="$(EXTRA_FLAGS)" ARCH=$(ARCH)
make -C wan_plxctrl all CC=$(CC) SYSINC=$(SYSINC) EXTRA_FLAGS="$(EXTRA_FLAGS)" ARCH=$(ARCH)
make -C wan_aftup all CC=$(CC) SYSINC=$(SYSINC) EXTRA_FLAGS="$(EXTRA_FLAGS)" ARCH=$(ARCH)
make -C wanpipemon all CC=$(CC) SYSINC=$(SYSINC) PROTOCOL_DEFS=$(PROTOCOL_DEFS) ENABLE_WANPIPEMON_ZAP=$(ENABLE_WANPIPEMON_ZAP) EXTRA_FLAGS="$(EXTRA_FLAGS)" ARCH=$(ARCH)
make -C wanpipemon_legacy all CC=$(CC) SYSINC=$(SYSINC) PROTOCOL_DEFS=$(PROTOCOL_DEFS) EXTRA_FLAGS="$(EXTRA_FLAGS)" ARCH=$(ARCH)
make -C bwm all SYSINC=$(SYSINC) CC=$(CC) PROTOCOL_DEFS=$(PROTOCOL_DEFS) EXTRA_FLAGS="$(EXTRA_FLAGS)" ARCH=$(ARCH)

View File

@ -2,8 +2,10 @@
cmd=$1;
eval "make clean > /dev/null"
eval "make > /dev/null"
if [ ! -e wan_aftup ]; then
eval "make clean > /dev/null"
eval "make > /dev/null"
fi
if [ -e /proc/net/wanrouter ]; then

View File

@ -77,7 +77,7 @@
***********************************************************************/
static int sock;
static wan_cmd_api_t api_cmd;
static unsigned char ifname_def[20];
static char ifname_def[20];
static struct ifreq req;
int options = 0x00;
static char aft_firmware_force[MAXPATHLEN];
@ -602,17 +602,17 @@ static int wan_aftup_program(struct wan_aftup_head_t *head)
/* Read subsystem vendor ID */
exec_read_cmd(aft,
PCI_DEVICE_ID_WORD, 2, &aft->chip_id);
exec_read_cmd(aft, 0x08, 1, &aft->revision_id);
PCI_DEVICE_ID_WORD, 2, (unsigned int*)&aft->chip_id);
exec_read_cmd(aft, 0x08, 1, (unsigned int*)&aft->revision_id);
#if defined(__OpenBSD__)
exec_read_cmd(aft,
PCI_SUBSYS_VENDOR_WORD, 4, &aft->board_id);
aft->board_id &= 0xFFFF;
#else
exec_read_cmd(aft,
PCI_SUBSYS_VENDOR_WORD, 2, &aft->board_id);
PCI_SUBSYS_VENDOR_WORD, 2, (unsigned int*)&aft->board_id);
#endif
exec_read_cmd(aft, PCI_SUBSYS_ID_WORD, 2, &tmp);
exec_read_cmd(aft, PCI_SUBSYS_ID_WORD, 2, (unsigned int*)&tmp);
aft->core_rev = AFT_CORE_REV(tmp);
aft->core_id = AFT_CORE_ID(tmp);
@ -718,7 +718,7 @@ static int wan_aftup_program(struct wan_aftup_head_t *head)
aft->cpld.chip_id = AFT_CHIP_X300;
/* Read revision ID */
exec_read_cmd(aft,
0x08, 1, &aft->cpld.adptr_subtype);
0x08, 1, (unsigned int*)&aft->cpld.adptr_subtype);
if (aft->cpld.adptr_subtype == 0x01){
/* A101/A102 new cards */
strncpy(aft->prefix_fw, "A101N", 5);
@ -848,7 +848,7 @@ static int wan_aftup_parse_hwprobe(wan_cmd_api_t *api_cmd)
char sel_name[20], *tmp = NULL;
int j, cnt = 0;
tmp = strtok(api_cmd->data, "\n");
tmp = strtok((char*)api_cmd->data, "\n");
while (tmp){
/* Create new interface structure */
aft = malloc(sizeof(wan_aftup_t));
@ -886,8 +886,8 @@ static int wan_aftup_parse_hwprobe(wan_cmd_api_t *api_cmd)
while(aft){
/* Use api_cmd structure to parse hwprobe info */
strncpy(api_cmd->data, aft->hwinfo, strlen(aft->hwinfo));
tmp = strtok(api_cmd->data, ":");
strncpy((char*)api_cmd->data, aft->hwinfo, strlen(aft->hwinfo));
tmp = strtok((char*)api_cmd->data, ":");
if (tmp == NULL){
printf("ERROR:%d: Internal error (hwinfo:%s)\n",
__LINE__, aft->hwinfo);

View File

@ -77,11 +77,11 @@ extern int exec_bridge_write_cmd(void*, unsigned int, unsigned int, unsigned int
void PEX_8111Read(void *info, int addr, int *data)
{
if (addr < 0x1000){
exec_bridge_read_cmd(info, addr, 4, data);
exec_bridge_read_cmd(info, addr, 4, (unsigned int*)data);
}else if (addr >= 0x1000 && addr <= 0x1FFF){
exec_bridge_write_cmd(info, 0x84, 4, addr);
exec_bridge_read_cmd(info, 0x88, 4, data);
exec_bridge_read_cmd(info, 0x88, 4, (unsigned int*)data);
}
}