wanpipe-3.2.3.tgz
This commit is contained in:
parent
d814cbc161
commit
19bdb88fbc
|
@ -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
164
Setup
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Package: wanpipe
|
||||
Version: 3.2.2-0
|
||||
Version: 3.2.3-0
|
||||
Section: networking
|
||||
Priority: optional
|
||||
Architecture: all
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../util/wan_aftup
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
========================================================================
|
||||
|
||||
|
|
|
@ -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
|
||||
========================================================================
|
||||
|
||||
|
|
|
@ -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
|
||||
========================================================================
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
58
|
||||
59
|
||||
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/app
|
||||
https://www.sangomapbx.com:/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
58
|
||||
59
|
||||
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/conf
|
||||
https://www.sangomapbx.com:/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
58
|
||||
59
|
||||
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/lib
|
||||
https://www.sangomapbx.com:/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
8
|
||||
|
||||
dir
|
||||
58
|
||||
59
|
||||
https://www.sangomapbx.com:/svn/sangoma_mgd/trunk/scripts
|
||||
https://www.sangomapbx.com:/svn/sangoma_mgd
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue