contrib: remove asterisk-xip
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 16 Nov 2010 15:10:23 +0000 (15:10 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 16 Nov 2010 15:10:23 +0000 (15:10 +0000)
46 files changed:
contrib/package/asterisk-xip/Makefile [deleted file]
contrib/package/asterisk-xip/files/asterisk.default [deleted file]
contrib/package/asterisk-xip/files/asterisk.init [deleted file]
contrib/package/asterisk-xip/files/macros/clock.conf [deleted file]
contrib/package/asterisk-xip/files/macros/lastcall.conf [deleted file]
contrib/package/asterisk-xip/files/macros/tagnumber.conf [deleted file]
contrib/package/asterisk-xip/files/modules.conf [deleted file]
contrib/package/asterisk-xip/files/uci/asteriskconf [deleted file]
contrib/package/asterisk-xip/files/uci/asteriskconf.txt [deleted file]
contrib/package/asterisk-xip/files/uci/asteriskuci [deleted file]
contrib/package/asterisk-xip/files/uci/dialplanconf [deleted file]
contrib/package/asterisk-xip/files/uci/dialplanconf.txt [deleted file]
contrib/package/asterisk-xip/files/uci/disaconf [deleted file]
contrib/package/asterisk-xip/files/uci/disaconf.txt [deleted file]
contrib/package/asterisk-xip/files/uci/featureconf [deleted file]
contrib/package/asterisk-xip/files/uci/featureconf.txt [deleted file]
contrib/package/asterisk-xip/files/uci/lastcall [deleted file]
contrib/package/asterisk-xip/files/uci/lastcall.txt [deleted file]
contrib/package/asterisk-xip/files/uci/meetmeconf [deleted file]
contrib/package/asterisk-xip/files/uci/meetmeconf.txt [deleted file]
contrib/package/asterisk-xip/files/uci/moduleconf [deleted file]
contrib/package/asterisk-xip/files/uci/moduleconf.txt [deleted file]
contrib/package/asterisk-xip/files/uci/mohconf [deleted file]
contrib/package/asterisk-xip/files/uci/mohconf.txt [deleted file]
contrib/package/asterisk-xip/files/uci/queueconf [deleted file]
contrib/package/asterisk-xip/files/uci/queueconf.txt [deleted file]
contrib/package/asterisk-xip/files/uci/sipiaxconf [deleted file]
contrib/package/asterisk-xip/files/uci/sipiaxconf.txt [deleted file]
contrib/package/asterisk-xip/files/uci/talkclock [deleted file]
contrib/package/asterisk-xip/files/uci/talkclock.txt [deleted file]
contrib/package/asterisk-xip/files/uci/voicemailconf [deleted file]
contrib/package/asterisk-xip/files/uci/voicemailconf.txt [deleted file]
contrib/package/asterisk-xip/files/uci/voicemenu [deleted file]
contrib/package/asterisk-xip/files/uci/voicemenu.txt [deleted file]
contrib/package/asterisk-xip/files/voiceprompts.txt [deleted file]
contrib/package/asterisk-xip/patches/011-Makefile-main.patch [deleted file]
contrib/package/asterisk-xip/patches/013-chan_iax2-tmp_path.patch [deleted file]
contrib/package/asterisk-xip/patches/014-openssl-configure_ac.patch [deleted file]
contrib/package/asterisk-xip/patches/015-spandsp-app_fax.patch [deleted file]
contrib/package/asterisk-xip/patches/016-iksemel-configure_ac.patch [deleted file]
contrib/package/asterisk-xip/patches/017-Makefile-no_march.patch [deleted file]
contrib/package/asterisk-xip/patches/023-autoconf-chan_h323.patch [deleted file]
contrib/package/asterisk-xip/patches/026-gsm-mips.patch [deleted file]
contrib/package/asterisk-xip/patches/030-acinclude.patch [deleted file]
contrib/package/asterisk-xip/patches/035-main-asterisk-uclibc-daemon.patch [deleted file]
contrib/package/asterisk-xip/patches/040-pickup2.patch [deleted file]

diff --git a/contrib/package/asterisk-xip/Makefile b/contrib/package/asterisk-xip/Makefile
deleted file mode 100644 (file)
index 6509f76..0000000
+++ /dev/null
@@ -1,2031 +0,0 @@
-#
-# Copyright (C) 2007 OpenWrt.org
-# Copyright (C) 2008-2009 Michael Geddes
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id: Makefile 13712 2008-12-21 20:34:15Z zandbelt $
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=asterisk
-PKG_VERSION:=1.4.22
-PKG_RELEASE:=4
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://downloads.digium.com/pub/asterisk/releases/
-PKG_MD5SUM:=7626febc4a01e16e012dfccb9e4ab9d2
-
-PKG_BUILD_DEPENDS:= libopenh323 pwlib gsm libvorbis
-
-include $(INCLUDE_DIR)/package.mk
-
-STAMP_CONFIGURED:=$(STAMP_CONFIGURED)_$(call confvar, \
-       CONFIG_PACKAGE_asterisk14-xip CONFIG_PACKAGE_asterisk14-xip-mini \
-       CONFIG_PACKAGE_asterisk14-xip-chan-alsa CONFIG_PACKAGE_asterisk14-xip-chan-gtalk \
-       CONFIG_PACKAGE_asterisk14-xip-chan-h323 CONFIG_PACKAGE_asterisk14-xip-chan-mgcp \
-       CONFIG_PACKAGE_asterisk14-xip-chan-skinny CONFIG_PACKAGE_asterisk14-xip-codec-ilbc \
-       CONFIG_PACKAGE_asterisk14-xip-codec-lpc10 CONFIG_PACKAGE_asterisk14-xip-codec-speex \
-       CONFIG_PACKAGE_asterisk14-xip-pbx-dundi CONFIG_PACKAGE_asterisk14-xip-res-agi \
-       CONFIG_PACKAGE_asterisk14-xip-res-crypto CONFIG_PACKAGE_asterisk14-xip-pgsql \
-       CONFIG_PACKAGE_asterisk14-xip-sqlite CONFIG_PACKAGE_asterisk14-xip-voicemail \
-       CONFIG_PACKAGE_asterisk14-xip-sounds \
-)
-
-define Package/asterisk14-xip/Default
-  SUBMENU:=asterisk14-xip (Complete Open Source PBX), v1.4.x
-  SECTION:=luci
-  CATEGORY:=LuCI
-  SUBMENU:=Asterisk
-  URL:=http://www.asterisk.org/
-endef
-
-define Package/asterisk14-xip/Default/description
- Asterisk is a complete PBX in software. It provides all of the features
- you would expect from a PBX and more. Asterisk does voice over IP in three
- protocols, and can interoperate with almost all standards-based telephony
- equipment using relatively inexpensive hardware.
-endef
-
-define Package/asterisk14-xip-core
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Asterisk Core
-  DEPENDS:=+libncurses +libpopt +libpthread @!TARGET_avr32
-endef
-
-define Package/asterisk14-xip-core/description
-$(call Package/asterisk14-xip/Default/description)
-Asterisk Core
-  codec_gsm
-  format_gsm
-  pbx_config   Read Configuration
-  res_indications Tone support
-  app_dial
-  chan_local Dial Local channel
-endef
-
-define Package/asterisk14-xip
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Complete open source PBX
-  DEPENDS:= +asterisk14-xip-core +asterisk14-xip-iax +asterisk14-xip-sip +asterisk14-xip-codec-ualaw +asterisk14-xip-codec-wav +asterisk14-xip-features +asterisk14-xip-moh \
-            +asterisk14-xip-app-meetme +asterisk14-xip-chan-oss +asterisk14-xip-chan-alsa +asterisk14-xip-chan-gtalk +asterisk14-xip-chan-h323 +asterisk14-xip-chan-mgcp \
-            +asterisk14-xip-chan-skinny +asterisk14-xip-codec-lpc10 +asterisk14-xip-codec-speex +asterisk14-xip-pbx-dundi +asterisk14-xip-res-agi +asterisk14-xip-res-crypto \
-            +asterisk14-xip-pgsql +asterisk14-xip-sqlite +asterisk14-xip-voicemail +asterisk14-xip-sounds +asterisk14-xip-rawplayer +asterisk14-xip-agents +asterisk14-xip-iax \
-            +asterisk14-xip-sip +asterisk14-xip-codec-wav +asterisk14-xip-codec-ualaw +asterisk14-xip-format-misc +asterisk14-xip-format-licensed +asterisk14-xip-codec-g726 \
-            +asterisk14-xip-format-video +asterisk14-xip-variables +asterisk14-xip-enum +asterisk14-xip-basic +asterisk14-xip-encode +asterisk14-xip-realtime \
-            +asterisk14-xip-ael +asterisk14-xip-adsi +asterisk14-xip-features +asterisk14-xip-moh +asterisk14-xip-smdi +asterisk14-xip-sounds-tt \
-            +asterisk14-xip-sounds-demo +asterisk14-xip-linejack +asterisk14-xip-app-misc +asterisk14-xip-image +asterisk14-xip-sms +asterisk14-xip-icecast \
-            +asterisk14-xip-mp3 +asterisk14-xip-cli +asterisk14-xip-isdn +asterisk14-xip-deprecated +asterisk14-xip-groups +asterisk14-xip-language +asterisk14-xip-spool \
-            +asterisk14-xip-nbs +asterisk14-xip-alarmreceiver +asterisk14-xip-cdr +asterisk14-xip-channel +asterisk14-xip-debug +asterisk14-xip-menu-misc \
-            +asterisk14-xip-festival +asterisk14-xip-send-app +asterisk14-xip-followme +asterisk14-xip-queues +asterisk14-xip-record +asterisk14-xip-privacy \
-            +asterisk14-xip-ivr-util +asterisk14-xip-callerid +asterisk14-xip-speech +asterisk14-xip-detect +asterisk14-xip-controlflow @!TARGET_avr32
-endef
-
-define Package/asterisk14-xip/description
-$(call Package/asterisk14-xip/Default/description)
-endef
-
-
-define Package/asterisk14-xip-mini
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Minimal open source PBX
-  DEPENDS:=+libncurses +libpthread +asterisk14-xip-core +asterisk14-xip-iax +asterisk14-xip-sip +asterisk14-xip-codec-ualaw +asterisk14-xip-codec-wav +asterisk14-xip-features +asterisk14-xip-moh +libgsm  @!TARGET_avr32
-endef
-
-define Package/asterisk14-xip-mini/description
-$(call Package/asterisk14-xip/Default/description)
- This package contains only the following modules:
- - app_dial
- - chan_iax2
- - chan_local
- - chan_sip
- - codec_gsm
- - codec_ulaw
- - format_gsm
- - format_pcm
- - format_wav
- - format_wav_gsm
- - pbx_config
- - res_features
- - res_musiconhold
-endef
-
-
-define Package/asterisk14-xip-app-meetme
-$(call Package/asterisk14-xip/Default)
-  TITLE:=conferencing support
-  DEPENDS:= +asterisk14-xip-core +zaptel14-libtonezone
-endef
-
-define Package/asterisk14-xip-app-meetme/description
-$(call Package/asterisk14-xip/Default/description)
- This package provides the MeetMe application driver Conferencing support to 
- Asterisk.
-   app_meetme
-   app_page   Paging multiple extensions.
-endef
-
-
-define Package/asterisk14-xip-chan-oss
-$(call Package/asterisk14-xip/Default)
-  TITLE:=OSS soundcards support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-chan-oss/description
-$(call Package/asterisk14-xip/Default/description)
- This package provides the channel driver for OSS sound cards support to 
- Asterisk.
-endef
-
-define Package/asterisk14-xip-chan-alsa
-$(call Package/asterisk14-xip/Default)
-  TITLE:=ALSA soundcards support
-  DEPENDS:= +asterisk14-xip-core +alsa-lib
-endef
-
-define Package/asterisk14-xip-chan-alsa/description
-$(call Package/asterisk14-xip/Default/description)
- This package provides the channel driver for ALSA sound cards support to 
- Asterisk.
-endef
-
-
-define Package/asterisk14-xip-chan-gtalk
-$(call Package/asterisk14-xip/Default)
-  TITLE:=GTalk support
-  DEPENDS:= +asterisk14-xip-core +libiksemel
-endef
-
-define Package/asterisk14-xip-chan-gtalk/description
-$(call Package/asterisk14-xip/Default/description)
- This package provides the channel chan_gtalk and res_jabber for GTalk 
- support to Asterisk.
-endef
-
-
-define Package/asterisk14-xip-chan-h323
-$(call Package/asterisk14-xip/Default)
-  TITLE:=H.323 support for Asterisk
-  DEPENDS:= +asterisk14-xip-core +uclibcxx
-endef
-
-define Package/asterisk14-xip-chan-h323/description
-$(call Package/asterisk14-xip/Default/description)
- This package provides H.323 support to Asterisk.
-endef
-
-
-define Package/asterisk14-xip-chan-mgcp
-$(call Package/asterisk14-xip/Default)
-  TITLE:=MGCP support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-chan-mgcp/description
-$(call Package/asterisk14-xip/Default/description)
- This package provides MGCP (Media Gateway Control Protocol) support \\\
- to Asterisk.
-endef
-
-
-define Package/asterisk14-xip-chan-skinny
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Skinny Client Control Protocol support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-chan-skinny/description
-$(call Package/asterisk14-xip/Default/description)
- This package provided Skinny Client Control Protocol support to \\\
- Asterisk.
-endef
-
-
-#define Package/asterisk14-xip-codec-ilbc
-#$(call Package/asterisk14-xip/Default)
-#  TITLE:=ILBC Translator
-#  DEPENDS:= +asterisk14-xip-core
-#endef
-
-#define Package/asterisk14-xip-codec-ilbc/description
-#$(call Package/asterisk14-xip/Default/description)
-# This package contains the ILBC (Internet Low Bitrate Codec) translator 
-# for Asterisk.
-#endef
-
-
-define Package/asterisk14-xip-codec-lpc10
-$(call Package/asterisk14-xip/Default)
-  TITLE:=LPC10 2.4kbps voice codec Translator
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-chan-lpc10/description
-$(call Package/asterisk14-xip/Default/description)
- This package contains the LPC10 (Linear Predictor Code) 2.4kbps voice 
- codec translator for Asterisk.
-endef
-
-
-define Package/asterisk14-xip-codec-speex
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Speex/PCM16 Codec Translator
-  DEPENDS:= +asterisk14-xip-core +libspeex +libspeexdsp
-endef
-
-define Package/asterisk14-xip-chan-speex/description
-$(call Package/asterisk14-xip/Default/description)
- This package contains the Speex speech compression codec translator for 
- Asterisk.
-endef
-
-
-define Package/asterisk14-xip-pbx-dundi
-$(call Package/asterisk14-xip/Default)
-  TITLE:=DUNDi support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-pbx-dundi/description
-$(call Package/asterisk14-xip/Default/description)
- This package provides DUNDi (Distributed Universal Number Discovery) 
- support to Asterisk.
-endef
-
-
-define Package/asterisk14-xip-res-agi
-$(call Package/asterisk14-xip/Default)
-  TITLE:=AGI support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-res-agi/description
-$(call Package/asterisk14-xip/Default/description)
- This package provides AGI (Asterisk Gateway Interface) support to 
- Asterisk.
-endef
-
-
-define Package/asterisk14-xip-res-crypto
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Cryptographic Digital Signatures support
-  DEPENDS:= +asterisk14-xip-core +libopenssl
-endef
-
-define Package/asterisk14-xip-res-crypto/description
-$(call Package/asterisk14-xip/Default/description)
- This package provides Cryptographic Digital Signatures support to 
- Asterisk.
-endef
-
-
-define Package/asterisk14-xip-pgsql
-$(call Package/asterisk14-xip/Default)
-  TITLE:=PostgreSQL support
-  DEPENDS:= +asterisk14-xip-core +libpq
-endef
-
-define Package/asterisk14-xip-pgsql/description
-$(call Package/asterisk14-xip/Default/description)
- This package contains PostgreSQL support modules for Asterisk.
-endef
-
-
-define Package/asterisk14-xip-sqlite
-$(call Package/asterisk14-xip/Default)
-  TITLE:=SQLite modules
-  DEPENDS:= +asterisk14-xip-core +libsqlite2
-endef
-
-define Package/asterisk14-xip-sqlite/description
-$(call Package/asterisk14-xip/Default/description)
- This package contains SQLite support modules for Asterisk.
-endef
-
-
-define Package/asterisk14-xip-sounds
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Sound files
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-sounds/description
-$(call Package/asterisk14-xip/Default/description)
- This package contains sound files for Asterisk.
-endef
-
-
-define Package/asterisk14-xip-voicemail
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Voicemail support
-  DEPENDS:= +asterisk14-xip-core +asterisk14-xip-adsi
-endef
-
-define Package/asterisk14-xip-voicemail/description
-$(call Package/asterisk14-xip/Default/description)
- This package contains voicemail related modules for Asterisk.
-endef
-
-define Package/asterisk14-xip-rawplayer
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Play raw files for asterisk
-endef
-
-define Package/asterisk14-xip-rawplayer/description
- Contains the rawplayer utility for asterisk
-endef
-
-define Package/asterisk14-xip-agents
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Support for user Agents
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-agents/description
-$(call Package/asterisk14-xip/Default/description)
-Support for user Agents
-  chan_agent
-endef
-
-define Package/asterisk14-xip-iax
-$(call Package/asterisk14-xip/Default)
-  TITLE:=IAX2 Channel support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-iax/description
-$(call Package/asterisk14-xip/Default/description)
-IAX2 Channel support
-  chan_iax2
-endef
-
-define Package/asterisk14-xip-sip
-$(call Package/asterisk14-xip/Default)
-  TITLE:=SIP Channel support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-sip/description
-$(call Package/asterisk14-xip/Default/description)
-SIP Channel support
-  chan_sip
-endef
-
-define Package/asterisk14-xip-codec-wav
-$(call Package/asterisk14-xip/Default)
-  TITLE:=WAV/PCM Codecs
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-codec-wav/description
-$(call Package/asterisk14-xip/Default/description)
-WAV/PCM Codecs
-  codec_adpcm
-  format_pcm
-  format_wav_gsm Microsoft Proprietary Wave GSM format
-  format_wav
-endef
-
-define Package/asterisk14-xip-codec-ualaw
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Ulaw/Alaw Codec support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-codec-ualaw/description
-$(call Package/asterisk14-xip/Default/description)
-Ulaw/Alaw Codec support
-  codec_alaw
-  codec_a_mu A-Law and MUlaw direct coder/Decoder
-  codec_ulaw
-endef
-
-define Package/asterisk14-xip-format-misc
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Misc pass-through formats
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-format-misc/description
-$(call Package/asterisk14-xip/Default/description)
-Misc pass-through formats
-  format_sln
-  format_vox
-  format_ilbc iLBC
-endef
-
-define Package/asterisk14-xip-format-licensed
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Licenses and Patented Formats Passthrough
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-format-licensed/description
-$(call Package/asterisk14-xip/Default/description)
-Licenses and Patented Formats Passthrough
-  format_g726
-  format_g723
-  format_g729
-endef
-
-define Package/asterisk14-xip-codec-g726
-$(call Package/asterisk14-xip/Default)
-  TITLE:=G726 Codec (requires license)
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-codec-g726/description
-$(call Package/asterisk14-xip/Default/description)
-G726 Codec (requires license)
-  codec_g726
-endef
-
-define Package/asterisk14-xip-format-video
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Video formats
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-format-video/description
-$(call Package/asterisk14-xip/Default/description)
-Video formats
-  format_h263
-  format_h264
-endef
-
-define Package/asterisk14-xip-variables
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Read Variables and environment
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-variables/description
-$(call Package/asterisk14-xip/Default/description)
-Read Variables and environment
-  func_db
-  func_global
-  func_env
-  func_timeout Control timeout values
-endef
-
-define Package/asterisk14-xip-enum
-$(call Package/asterisk14-xip/Default)
-  TITLE:=DNS Enum support to find alternate call route
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-enum/description
-$(call Package/asterisk14-xip/Default/description)
-DNS Enum support to find alternate call route
-  func_enum Use DNS to find alternate calling method
-endef
-
-define Package/asterisk14-xip-basic
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Basic functions
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-basic/description
-$(call Package/asterisk14-xip/Default/description)
-Basic functions
-  func_logic
-  func_math
-  func_strings
-  func_rand
-  func_cut
-endef
-
-define Package/asterisk14-xip-encode
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Support for string encoding/hashing
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-encode/description
-$(call Package/asterisk14-xip/Default/description)
-Support for string encoding/hashing
-  func_base64
-  func_md5
-  func_sha1
-  func_uri
-endef
-
-define Package/asterisk14-xip-realtime
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Asterisk Realtime support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-realtime/description
-$(call Package/asterisk14-xip/Default/description)
-Asterisk Realtime support
-  func_realtime
-  pbx_realtime
-  app_realtime 'Realtime' support
-endef
-
-define Package/asterisk14-xip-ael
-$(call Package/asterisk14-xip/Default)
-  TITLE:=AEL - Asterisk Extension Language compiler support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-ael/description
-$(call Package/asterisk14-xip/Default/description)
-AEL - Asterisk Extension Language compiler support
-  pbx_ael Asterisk Extension Language compiler
-endef
-
-define Package/asterisk14-xip-adsi
-$(call Package/asterisk14-xip/Default)
-  TITLE:=ADSI Support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-adsi/description
-$(call Package/asterisk14-xip/Default/description)
-ADSI Support
-  res_adsi
-  app_adsiprog
-endef
-
-define Package/asterisk14-xip-features
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Call Features / Parking
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-features/description
-$(call Package/asterisk14-xip/Default/description)
-Call Features / Parking
-  res_features Features support.
-  app_transfer
-  app_parkandannounce
-  res_monitor Record channels
-endef
-
-define Package/asterisk14-xip-moh
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Music On Hold support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-moh/description
-$(call Package/asterisk14-xip/Default/description)
-Music On Hold support
-  res_musiconhold
-  func_moh
-endef
-
-define Package/asterisk14-xip-smdi
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Simple Message Desk Interface
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-smdi/description
-$(call Package/asterisk14-xip/Default/description)
-Simple Message Desk Interface
-  res_smdi Simple Message Desk Interface
-endef
-
-define Package/asterisk14-xip-sounds-tt
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Telemarketer Torture Sounds
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-sounds-tt/description
-$(call Package/asterisk14-xip/Default/description)
-Telemarketer Torture Sounds
-endef
-
-define Package/asterisk14-xip-sounds-demo
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Demo Sounds
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-sounds-demo/description
-$(call Package/asterisk14-xip/Default/description)
-Demo Sounds
-endef
-
-define Package/asterisk14-xip-linejack
-$(call Package/asterisk14-xip/Default)
-  TITLE:=M chan_phone (32,988) Linejack Cards 
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-linejack/description
-$(call Package/asterisk14-xip/Default/description)
-M chan_phone (32,988) Linejack Cards 
-endef
-
-define Package/asterisk14-xip-app-misc
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Misc applications
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-app-misc/description
-$(call Package/asterisk14-xip/Default/description)
-Misc applications
-  app_random
-  app_sayunixtime
-  app_sendtext
-  app_url
-  app_readfile
-  app_system Call System application.
-  app_exec Exec Dialplan applications
-endef
-
-define Package/asterisk14-xip-image
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Support for images
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-image/description
-$(call Package/asterisk14-xip/Default/description)
-Support for images
-  app_image Transmit images
-  format_jpeg
-endef
-
-define Package/asterisk14-xip-sms
-$(call Package/asterisk14-xip/Default)
-  TITLE:=SMS support
-  DEPENDS:= +asterisk14-xip-core +libstdcpp
-endef
-
-define Package/asterisk14-xip-sms/description
-$(call Package/asterisk14-xip/Default/description)
-SMS support
-  app_sms
-endef
-
-define Package/asterisk14-xip-icecast
-$(call Package/asterisk14-xip/Default)
-  TITLE:=ICEcast support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-icecast/description
-$(call Package/asterisk14-xip/Default/description)
-ICEcast support
-  app_ices Icecast / Ices support
-endef
-
-define Package/asterisk14-xip-mp3
-$(call Package/asterisk14-xip/Default)
-  TITLE:=MP3 Support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-mp3/description
-$(call Package/asterisk14-xip/Default/description)
-MP3 Support
-  app_mp3
-endef
-
-define Package/asterisk14-xip-cli
-$(call Package/asterisk14-xip/Default)
-  TITLE:=CLI Apps and events
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-cli/description
-$(call Package/asterisk14-xip/Default/description)
-CLI Apps and events
-  app_userevent
-  res_clioriginate Originate a call on the CLI
-  res_convert File format conversion
-endef
-
-define Package/asterisk14-xip-isdn
-$(call Package/asterisk14-xip/Default)
-  TITLE:=ISDN transfer capability
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-isdn/description
-$(call Package/asterisk14-xip/Default/description)
-ISDN transfer capability
-  app_settransfercapability ISDN transfer capability
-endef
-
-define Package/asterisk14-xip-deprecated
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Deprecated
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-deprecated/description
-$(call Package/asterisk14-xip/Default/description)
-Deprecated
-  app_db Deprecated - use func_db instead
-endef
-
-define Package/asterisk14-xip-groups
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Group Functions
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-groups/description
-$(call Package/asterisk14-xip/Default/description)
-Group Functions
-  func_groupcount
-endef
-
-define Package/asterisk14-xip-language
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Language support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-language/description
-$(call Package/asterisk14-xip/Default/description)
-Language support
-  func_language
-endef
-
-define Package/asterisk14-xip-spool
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Spool Directory of Outgoing calls
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-spool/description
-$(call Package/asterisk14-xip/Default/description)
-Spool Directory of Outgoing calls
-  pbx_spool Spool Directory of Outgoing calls
-endef
-
-define Package/asterisk14-xip-nbs
-$(call Package/asterisk14-xip/Default)
-  TITLE:=NBS stream support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-nbs/description
-$(call Package/asterisk14-xip/Default/description)
-NBS stream support
-  app_nbscat
-endef
-
-define Package/asterisk14-xip-alarmreceiver
-$(call Package/asterisk14-xip/Default)
-  TITLE:=SIA Contact ID Alarm receiver
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-alarmreceiver/description
-$(call Package/asterisk14-xip/Default/description)
-SIA Contact ID Alarm receiver
-  app_alarmreceiver
-endef
-
-define Package/asterisk14-xip-cdr
-$(call Package/asterisk14-xip/Default)
-  TITLE:=CDR Support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-cdr/description
-$(call Package/asterisk14-xip/Default/description)
-CDR Support
-  app_cdr
-  app_forkcdr
-  app_setcdruserfield
-  cdr_csv
-  cdr_custom
-  cdr_manager
-  func_cdr
-endef
-
-define Package/asterisk14-xip-channel
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Channel functions
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-channel/description
-$(call Package/asterisk14-xip/Default/description)
-Channel functions
-  app_chanisavail
-  app_channelredirect
-  app_chanspy
-  func_channel
-  app_softhangup
-  app_directed_pickup Pickup a (specific) ringing extensions
-  app_pickup2  Extended pickup
-endef
-
-define Package/asterisk14-xip-debug
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Debugging tools
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-debug/description
-$(call Package/asterisk14-xip/Default/description)
-Debugging tools
-  app_echo
-  pbx_loopback
-  app_dumpchan Dump information about the calling channel
-  app_verbose
-  app_test AIX Server/client testing
-endef
-
-define Package/asterisk14-xip-menu-misc
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Special menu applications
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-menu-misc/description
-$(call Package/asterisk14-xip/Default/description)
-Special menu applications
-  app_controlplayback
-  app_directory
-  app_dictate
-endef
-
-define Package/asterisk14-xip-festival
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Festival support
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-festival/description
-$(call Package/asterisk14-xip/Default/description)
-Festival support
-  app_festival
-endef
-
-define Package/asterisk14-xip-send-app
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Misc tone sending applications
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-send-app/description
-$(call Package/asterisk14-xip/Default/description)
-Misc tone sending applications
-  app_flash Send a flash
-  app_senddtmf Send dtmf
-  app_milliwatt
-  app_morsecode
-  app_zapateller Generate tone to block telemarketers
-endef
-
-define Package/asterisk14-xip-followme
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Followme - Call forwarding
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-followme/description
-$(call Package/asterisk14-xip/Default/description)
-Followme - Call forwarding
-  app_followme
-endef
-
-
-define Package/asterisk14-xip-queues
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Call queues
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-queues/description
-$(call Package/asterisk14-xip/Default/description)
-Call queues
-  app_queue
-endef
-
-define Package/asterisk14-xip-record
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Call recording
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-record/description
-$(call Package/asterisk14-xip/Default/description)
-Call recording
-  app_record
-  app_mixmonitor Records The audio on the current channel to the specified file. 
-endef
-
-define Package/asterisk14-xip-privacy
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Call Privacy - Prompt for unknown numbers.
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-privacy/description
-$(call Package/asterisk14-xip/Default/description)
-Call Privacy - Prompt for unknown numbers.
-  app_privacy Prompt for missing calling number
-endef
-
-define Package/asterisk14-xip-ivr-util
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Utilities for creating IVR
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-ivr-util/description
-$(call Package/asterisk14-xip/Default/description)
-Utilities for creating IVR
-  app_read Read a DTMF response
-  app_authenticate Authenticate a user
-  app_externalivr IVR Using an External process.
-  app_disa Directed Inward Sysytem Access - Allow access to your internal dialplan with password
-endef
-
-
-define Package/asterisk14-xip-callerid
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Callerid related functions.
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-callerid/description
-$(call Package/asterisk14-xip/Default/description)
-Callerid related functions.
-  app_setcallerid
-  func_callerid
-  app_lookupblacklist
-  app_lookupcidname
-endef
-
-define Package/asterisk14-xip-speech
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Interface to Speech recognition programs
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-speech/description
-$(call Package/asterisk14-xip/Default/description)
-Interface to Speech recognition programs
-  app_speech_utils
-  res_speech
-endef
-
-define Package/asterisk14-xip-detect
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Detect coditions
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-detect/description
-$(call Package/asterisk14-xip/Default/description)
-Detect coditions
-  app_amd Answer machine detect
-  app_talkdetect
-  app_waitforring
-  app_waitforsilence
-endef
-
-define Package/asterisk14-xip-controlflow
-$(call Package/asterisk14-xip/Default)
-  TITLE:=Advanced Control Flow
-  DEPENDS:= +asterisk14-xip-core
-endef
-
-define Package/asterisk14-xip-controlflow/description
-$(call Package/asterisk14-xip/Default/description)
-Advanced Control Flow
-  app_while
-  app_macro Dialplan Macros
-  app_stack Stack routines (Gosub, Return)
-endef
-
-
-CONFIGURE_ARGS+= \
-       --without-curl \
-       --without-curses \
-       --with-gsm="$(STAGING_DIR)/usr" \
-       --without-imap \
-       --without-isdnnet \
-       --without-kde \
-       --without-misdn \
-       --without-nbs \
-       --with-ncurses="$(STAGING_DIR)/usr" \
-       --without-netsnmp \
-       --without-newt \
-       --without-odbc \
-       --without-ogg \
-       --without-osptk \
-       --with-popt="$(STAGING_DIR)/usr" \
-       --without-pri \
-       --without-qt \
-       --without-radius \
-       --without-spandsp \
-       --without-suppserv \
-       --without-tds \
-       --without-termcap \
-       --without-tinfo \
-       --without-vorbis \
-       --without-vpb \
-       --with-z="$(STAGING_DIR)/usr" \
-
-EXTRA_CFLAGS:= $(TARGET_CPPFLAGS)
-EXTRA_LDFLAGS:= $(TARGET_LDFLAGS)
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk14-xip-app-meetme),)
-  CONFIGURE_ARGS+= \
-       --with-tonezone="$(STAGING_DIR)/usr" --with-zaptel="$(STAGING_DIR)/usr"
-else
-  CONFIGURE_ARGS+= \
-       --without-tonezone --without-zaptel
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk14-xip-chan-alsa),)
-  CONFIGURE_ARGS+= \
-        --with-asound="$(STAGING_DIR)/usr"
-else
-  CONFIGURE_ARGS+= \
-        --without-asound
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk14-xip-chan-oss),)
-  CONFIGURE_ARGS+= \
-        --with-oss
-else
-  CONFIGURE_ARGS+= \
-        --without-oss
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk14-xip-chan-gtalk),)
-  CONFIGURE_ARGS+= \
-       --with-gnutls="$(STAGING_DIR)/usr" \
-       --with-iksemel="$(STAGING_DIR)/usr"
-  SITE_VARS+= \
-       ac_cv_lib_iksemel_iks_start_sasl=yes \
-       ac_cv_lib_gnutls_gnutls_bye=yes
-else
-  CONFIGURE_ARGS+= \
-       --without-gnutls \
-       --without-iksemel
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk14-xip-chan-h323),)
-  CONFIGURE_ARGS+= \
-       --with-h323="$(BUILD_DIR)/openh323" \
-       --with-pwlib="$(BUILD_DIR)/pwlib"
-  CONFIGURE_VARS+= \
-       LIBS="$$$$LIBS -luClibc++ -ldl -lpthread"
-
-  define Build/Compile/chan-h323
-       $(MAKE) -C "$(PKG_BUILD_DIR)/channels/h323" \
-               $(TARGET_CONFIGURE_OPTS) \
-               CXXLIBS="-nodefaultlibs -luClibc++" \
-               optnoshared
-  endef
-else
-  CONFIGURE_ARGS+= \
-       --without-h323 \
-       --without-pwlib
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk14-xip-codec-speex),)
-  CONFIGURE_ARGS+= \
-       --with-speex="$(STAGING_DIR)/usr"
-  SITE_VARS+= \
-       ac_cv_lib_speex_speex_encode=yes
-  EXTRA_CFLAGS+= -I$(STAGING_DIR)/usr/include/speex
-else
-  CONFIGURE_ARGS+= \
-       --without-speex
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk14-xip-res-crypto),)
-  CONFIGURE_ARGS+= \
-       --with-ssl="$(STAGING_DIR)/usr"
-else
-  CONFIGURE_ARGS+= \
-       --without-ssl
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk14-xip-pgsql),)
-  CONFIGURE_ARGS+= \
-       --with-postgres="$(STAGING_DIR)/usr"
-else
-  CONFIGURE_ARGS+= \
-       --without-postgres
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk14-xip-sqlite),)
-  CONFIGURE_ARGS+= \
-       --with-sqlite="$(STAGING_DIR)/usr"
-else
-  CONFIGURE_ARGS+= \
-       --without-sqlite
-endif
-
-
-define Build/Configure
-       -rm $(PKG_BUILD_DIR)/menuselect.makeopts
-       ( cd $(PKG_BUILD_DIR); ./bootstrap.sh )
-       $(call Build/Configure/Default,,$(SITE_VARS))
-endef
-
-define Build/Compile
-       $(MAKE) -C "$(PKG_BUILD_DIR)" \
-               include/asterisk/version.h \
-               include/asterisk/buildopts.h defaults.h \
-               makeopts.embed_rules
-       $(call Build/Compile/chan-h323)
-       ASTCFLAGS="$(EXTRA_CFLAGS) -DLOW_MEMORY $(TARGET_CFLAGS)" \
-       ASTLDFLAGS="$(EXTRA_LDFLAGS)" \
-       $(MAKE) -C "$(PKG_BUILD_DIR)" \
-               ASTVARLIBDIR="/usr/lib/asterisk" \
-               NOISY_BUILD="1" \
-               DEBUG="" \
-               OPTIMIZE="" \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               all install samples
-       $(SED) 's|/var/lib/asterisk|/usr/lib/asterisk|g' $(PKG_INSTALL_DIR)/etc/asterisk/musiconhold.conf
-
-       $(TARGET_CC) -O2 $(PKG_BUILD_DIR)/contrib/utils/rawplayer.c -o $(PKG_BUILD_DIR)/rawplayer
-endef
-
-define Build/InstallDev
-       mkdir -p $(1)/usr/include/asterisk/
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk/*.h $(1)/usr/include/asterisk/
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk.h $(1)/usr/include/
-endef
-
-define Package/asterisk14-xip-core/conffiles
-/etc/asterisk/asterisk.conf
-/etc/asterisk/codecs.conf
-/etc/asterisk/dnsmgr.conf
-/etc/asterisk/extconfig.conf
-/etc/asterisk/extensions.conf
-/etc/asterisk/http.conf
-/etc/asterisk/indications.conf
-/etc/asterisk/logger.conf
-/etc/asterisk/manager.conf
-/etc/asterisk/modules.conf
-/etc/asterisk/say.conf
-/etc/asterisk/sla.conf
-/etc/asterisk/users.conf
-endef
-
-define Package/asterisk14-xip-core/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       for f in users.conf extensions.conf say.conf asterisk.conf codecs.conf dnsmgr.conf extconfig.conf http.conf indications.conf logger.conf sla.conf manager.conf ; do \
-         $(CP) $(PKG_INSTALL_DIR)/etc/asterisk/$$$$f $(1)/etc/asterisk/ ; \
-       done
-       $(INSTALL_DATA) ./files/modules.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/keys
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in codec_gsm format_gsm pbx_config res_indications app_dial chan_local ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/moh
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       $(INSTALL_DIR) $(1)/usr/sbin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/asterisk $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/safe_asterisk $(1)/usr/sbin/
-       $(INSTALL_DIR) $(1)/etc/default
-       $(INSTALL_DATA)  ./files/asterisk.default $(1)/etc/default/asterisk
-       $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_BIN)  ./files/asterisk.init $(1)/etc/init.d/asterisk
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/uci
-       $(CP) ./files/uci/* $1/usr/lib/asterisk/uci
-       $(INSTALL_DIR) $(1)/etc/asterisk/macros
-       $(CP) ./files/macros/* $1/etc/asterisk/macros
-endef
-
-define Package/asterisk14-xip-core/postinst
-#!/bin/sh
-if [ -z "${IPKG_INSTROOT}" ] ; then
-  ROOT=/
-else
-  ROOT=`echo $${PKG_ROOT} | sed 's:[\/]:\\\&:g' -`
-fi
-/bin/sed -i 's/\ \/etc/\ '$${ROOT}'etc/g' $${PKG_ROOT}/etc/asterisk/asterisk.conf
-/bin/sed -i 's/\ \/var\/spool/\ '$${ROOT}'var\/spool/g' $${PKG_ROOT}/etc/asterisk/asterisk.conf
-/bin/sed -i 's/\ \/var\/log/\ '$${ROOT}'var\/log/g' $${PKG_ROOT}/etc/asterisk/asterisk.conf
-/bin/sed -i 's/\ \/usr/\ '$${ROOT}'usr/g' $${PKG_ROOT}/etc/asterisk/asterisk.conf
-/bin/sed -i 's/^DEST=/DEST='$${ROOT}'/g' $${PKG_ROOT}/etc/init.d/asterisk
-/bin/sed -i 's/OPTIONS=\"\"/OPTIONS=\"-C\ '$${ROOT}'etc\/asterisk\/asterisk.conf\"/g' $${PKG_ROOT}/etc/default/asterisk
-mkdir -p $${PKG_ROOT}/etc/asterisk/conf.d
-cd $${PKG_ROOT}/etc/asterisk/conf.d
-ln -s ../../../usr/lib/asterisk/uci/voicemailconf 10-voicemail
-ln -s ../../../usr/lib/asterisk/uci/mohconf       15-moh
-ln -s ../../../usr/lib/asterisk/uci/featureconf   20-features
-ln -s ../../../usr/lib/asterisk/uci/lastcall      25-lastcall
-ln -s ../../../usr/lib/asterisk/uci/meetmeconf    30-meetme
-ln -s ../../../usr/lib/asterisk/uci/sipiaxconf    35-sipiax
-ln -s ../../../usr/lib/asterisk/uci/talkclock     40-talkclock
-ln -s ../../../usr/lib/asterisk/uci/voicemenu     45-voicemenu
-ln -s ../../../usr/lib/asterisk/uci/disaconf      50-disaconf
-endef
-
-define Package/asterisk14-xip/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk
-endef
-
-define Package/asterisk14-xip-mini/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk
-endef
-
-define Package/asterisk14-xip-app-meetme/conffiles
-/etc/asterisk/meetme.conf
-endef
-
-define Package/asterisk14-xip-app-meetme/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/meetme.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_meetme app_page ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/conf-* $(1)/usr/lib/asterisk/sounds/
-endef
-
-
-define Package/asterisk14-xip-chan-oss/conffiles
-/etc/asterisk/oss.conf
-endef
-
-define Package/asterisk14-xip-chan-oss/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/oss.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_oss.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-app-meetme/conffiles
-/etc/asterisk/meetme.conf
-endef
-
-define Package/asterisk14-xip-app-meetme/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/meetme.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_meetme.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-chan-oss/conffiles
-/etc/asterisk/oss.conf
-endef
-
-define Package/asterisk14-xip-chan-oss/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/oss.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_oss.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-chan-alsa/conffiles
-/etc/asterisk/alsa.conf
-endef
-
-define Package/asterisk14-xip-chan-alsa/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/alsa.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_alsa.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-chan-gtalk/conffiles
-/etc/asterisk/gtalk.conf
-/etc/asterisk/jabber.conf
-endef
-
-define Package/asterisk14-xip-chan-gtalk/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/gtalk.conf $(1)/etc/asterisk/
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/jabber.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_gtalk.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_jabber.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-chan-h323/conffiles
-/etc/asterisk/h323.conf
-endef
-
-define Package/asterisk14-xip-chan-h323/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/h323.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_h323.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-chan-mgcp/install
-/etc/asterisk/mgcp.conf
-endef
-
-define Package/asterisk14-xip-chan-mgcp/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/mgcp.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_mgcp.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-chan-skinny/conffiles
-/etc/asterisk/skinny.conf
-endef
-
-define Package/asterisk14-xip-chan-skinny/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/skinny.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_skinny.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-#define Package/asterisk14-xip-codec-ilbc/install
-#      $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-#      $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/codec_ilbc.so $(1)/usr/lib/asterisk/modules/
-#      $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/format_ilbc.so $(1)/usr/lib/asterisk/modules/
-#endef
-
-
-define Package/asterisk14-xip-codec-lpc10/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/codec_lpc10.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-codec-speex/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/codec_speex.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-pbx-dundi/conffiles
-/etc/asterisk/dundi.conf
-endef
-
-define Package/asterisk14-xip-pbx-dundi/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/dundi.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/pbx_dundi.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-res-agi/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/agi-bin
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_agi.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-res-crypto/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_crypto.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-pgsql/conffiles
-/etc/asterisk/cdr_pgsql.conf
-/etc/asterisk/res_pgsql.conf
-endef
-
-define Package/asterisk14-xip-pgsql/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       install -m0600 $(PKG_INSTALL_DIR)/etc/asterisk/cdr_pgsql.conf $(1)/etc/asterisk/
-       install -m0600 $(PKG_INSTALL_DIR)/etc/asterisk/res_pgsql.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/cdr_pgsql.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_config_pgsql.so $(1)/usr/lib/asterisk/modules/
-endef
-
-
-define Package/asterisk14-xip-sqlite/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/cdr_sqlite.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-sounds/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/* $(1)/usr/lib/asterisk/sounds/
-       rm -f $(1)/usr/lib/asterisk/sounds/vm-*
-       rm -f $(1)/usr/lib/asterisk/sounds/x
-       rm -f $(1)/usr/lib/asterisk/sounds/dir-*
-       rm -f $(1)/usr/lib/asterisk/sounds/dictate/*
-       rm -f $(1)/usr/lib/asterisk/sounds/followme/*
-       rm -f $(1)/usr/lib/asterisk/sounds/conf-*
-       rm -f $(1)/usr/lib/asterisk/sounds/queue-*
-       rm -f $(1)/usr/lib/asterisk/sounds/priv*
-       rm -f $(1)/usr/lib/asterisk/sounds/auth-*
-       rm -f $(1)/usr/lib/asterisk/sounds/agent-*
-       rm -f $(1)/usr/lib/asterisk/sounds/tt-*
-       rm -f $(1)/usr/lib/asterisk/sounds/demo-*
-endef
-
-define Package/asterisk14-xip-voicemail/conffiles
-/etc/asterisk/voicemail.conf
-endef
-
-define Package/asterisk14-xip-voicemail/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/voicemail.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*voicemail.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/vm-*.gsm $(1)/usr/lib/asterisk/sounds/
-endef
-
-define Package/asterisk14-xip-rawplayer/install
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN)  $(PKG_BUILD_DIR)/rawplayer \
-                       $(1)/usr/bin
-endef
-
-define Package/asterisk14-xip-agents/conffiles
-/etc/asterisk/agents.conf
-endef
-
-define Package/asterisk14-xip-agents/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/agents.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_agent.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/agent-* $(1)/usr/lib/asterisk/sounds/
-endef
-
-define Package/asterisk14-xip-iax/conffiles
-/etc/asterisk/iax.conf
-/etc/asterisk/iaxprov.conf
-endef
-
-define Package/asterisk14-xip-iax/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       for f in iax.conf iaxprov.conf ; do \
-         $(CP) $(PKG_INSTALL_DIR)/etc/asterisk/$$$$f $(1)/etc/asterisk/ ; \
-       done
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_iax2.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-sip/conffiles
-/etc/asterisk/sip.conf
-/etc/asterisk/sip_notify.conf
-/etc/asterisk/rtp.conf
-/etc/asterisk/udptl.conf
-endef
-
-define Package/asterisk14-xip-sip/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       for f in sip.conf sip_notify.conf rtp.conf udptl.conf ; do \
-         $(CP) $(PKG_INSTALL_DIR)/etc/asterisk/$$$$f $(1)/etc/asterisk/ ; \
-       done
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_sip.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-codec-wav/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in codec_adpcm format_pcm format_wav_gsm format_wav ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-codec-ualaw/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in codec_alaw codec_a_mu codec_ulaw ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-format-misc/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in format_sln format_vox format_ilbc ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-format-licensed/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in format_g726 format_g723 format_g729 ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-codec-g726/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/codec_g726.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-format-video/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in format_h263 format_h264 ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-variables/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in func_db func_global func_env func_timeout ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-enum/conffiles
-/etc/asterisk/enum.conf
-endef
-
-define Package/asterisk14-xip-enum/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/enum.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/func_enum.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-basic/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in func_logic func_math func_strings func_rand func_cut ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-encode/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in func_base64 func_md5 func_sha1 func_uri ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-realtime/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in func_realtime pbx_realtime app_realtime ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-ael/conffiles
-/etc/asterisk/extensions.ael
-endef
-
-define Package/asterisk14-xip-ael/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/extensions.ael $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/pbx_ael.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/aelparse $(1)/usr/sbin/
-endef
-
-define Package/asterisk14-xip-adsi/conffiles
-/etc/asterisk/adsi.conf
-endef
-
-define Package/asterisk14-xip-adsi/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/adsi.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in res_adsi app_adsiprog ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-features/conffiles
-/etc/asterisk/features.conf
-endef
-
-define Package/asterisk14-xip-features/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/features.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in res_features app_transfer app_parkandannounce res_monitor ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-moh/conffiles
-/etc/asterisk/musiconhold.conf
-endef
-
-define Package/asterisk14-xip-moh/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/musiconhold.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in res_musiconhold func_moh ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-       $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/streamplayer $(1)/usr/sbin/
-endef
-
-define Package/asterisk14-xip-smdi/conffiles
-/etc/asterisk/smdi.conf
-endef
-
-define Package/asterisk14-xip-smdi/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/smdi.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_smdi.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-sounds-tt/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/tt-* $(1)/usr/lib/asterisk/sounds/
-endef
-
-define Package/asterisk14-xip-sounds-demo/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/demo-* $(1)/usr/lib/asterisk/sounds/
-endef
-
-define Package/asterisk14-xip-linejack/conffiles
-/etc/asterisk/phone.conf
-endef
-
-define Package/asterisk14-xip-linejack/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/phone.conf $(1)/etc/asterisk/
-endef
-
-define Package/asterisk14-xip-app-misc/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_random app_sayunixtime app_sendtext app_url app_readfile app_system app_exec ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-image/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_image format_jpeg ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-sms/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_sms.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/smsq $(1)/usr/sbin/
-endef
-
-define Package/asterisk14-xip-icecast/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_ices.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-mp3/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_mp3.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-cli/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_userevent res_clioriginate res_convert ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-isdn/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_settransfercapability.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-deprecated/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_db.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-groups/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/func_groupcount.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-language/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/func_language.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-spool/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/pbx_spool.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-nbs/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_nbscat.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-alarmreceiver/conffiles
-/etc/asterisk/alarmreceiver.conf
-endef
-
-define Package/asterisk14-xip-alarmreceiver/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/alarmreceiver.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_alarmreceiver.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-cdr/conffiles
-/etc/asterisk/cdr.conf
-/etc/asterisk/cdr_custom.conf
-/etc/asterisk/cdr_manager.conf
-endef
-
-define Package/asterisk14-xip-cdr/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       for f in cdr.conf cdr_custom.conf cdr_manager.conf ; do \
-         $(CP) $(PKG_INSTALL_DIR)/etc/asterisk/$$$$f $(1)/etc/asterisk/ ; \
-       done
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_cdr app_forkcdr app_setcdruserfield cdr_csv cdr_custom cdr_manager func_cdr ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-channel/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_chanisavail app_channelredirect app_chanspy func_channel app_softhangup app_directed_pickup app_pickup2 ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-debug/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_echo pbx_loopback app_dumpchan app_verbose app_test ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-menu-misc/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_controlplayback app_directory app_dictate ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       for f in dir-* dictate/* ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/$$$$f $(1)/usr/lib/asterisk/sounds/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-festival/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_festival.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk14-xip-send-app/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_flash app_senddtmf app_milliwatt app_morsecode app_zapateller ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-followme/conffiles
-/etc/asterisk/followme.conf
-endef
-
-define Package/asterisk14-xip-followme/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/followme.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_followme.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/followme/* $(1)/usr/lib/asterisk/sounds/
-endef
-
-define Package/asterisk14-xip-queues/conffiles
-/etc/asterisk/queues.conf
-endef
-
-define Package/asterisk14-xip-queues/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/queues.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_queue.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/queue-* $(1)/usr/lib/asterisk/sounds/
-endef
-
-define Package/asterisk14-xip-record/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_record app_mixmonitor ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-privacy/conffiles
-/etc/asterisk/privacy.conf
-endef
-
-define Package/asterisk14-xip-privacy/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/privacy.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_privacy.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/priv* $(1)/usr/lib/asterisk/sounds/
-endef
-
-define Package/asterisk14-xip-ivr-util/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_read app_authenticate app_externalivr app_disa ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/auth-* $(1)/usr/lib/asterisk/sounds/
-endef
-
-define Package/asterisk14-xip-callerid/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_setcallerid func_callerid app_lookupblacklist app_lookupcidname ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-speech/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_speech_utils res_speech ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-detect/conffiles
-/etc/asterisk/amd.conf
-endef
-
-define Package/asterisk14-xip-detect/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/amd.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_amd app_talkdetect app_waitforring app_waitforsilence ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-controlflow/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_while app_macro app_stack ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-endef
-
-define Package/asterisk14-xip-zaptel/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in chan_zap app_zapbarge app_zapscan codec_zap app_getcpeid app_zapras ; do \
-         $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/firmware $(1)/usr/lib/asterisk/
-endef
-
-$(eval $(call BuildPackage,asterisk14-xip-core))
-$(eval $(call BuildPackage,asterisk14-xip))
-$(eval $(call BuildPackage,asterisk14-xip-mini))
-$(eval $(call BuildPackage,asterisk14-xip-app-meetme))
-$(eval $(call BuildPackage,asterisk14-xip-chan-oss))
-$(eval $(call BuildPackage,asterisk14-xip-chan-alsa))
-$(eval $(call BuildPackage,asterisk14-xip-chan-gtalk))
-$(eval $(call BuildPackage,asterisk14-xip-chan-h323))
-$(eval $(call BuildPackage,asterisk14-xip-chan-mgcp))
-$(eval $(call BuildPackage,asterisk14-xip-chan-skinny))
-#$(eval $(call BuildPackage,asterisk14-xip-codec-ilbc))
-$(eval $(call BuildPackage,asterisk14-xip-codec-lpc10))
-$(eval $(call BuildPackage,asterisk14-xip-codec-speex))
-$(eval $(call BuildPackage,asterisk14-xip-pbx-dundi))
-$(eval $(call BuildPackage,asterisk14-xip-res-agi))
-$(eval $(call BuildPackage,asterisk14-xip-res-crypto))
-$(eval $(call BuildPackage,asterisk14-xip-pgsql))
-$(eval $(call BuildPackage,asterisk14-xip-sqlite))
-$(eval $(call BuildPackage,asterisk14-xip-voicemail))
-$(eval $(call BuildPackage,asterisk14-xip-sounds))
-$(eval $(call BuildPackage,asterisk14-xip-rawplayer))
-$(eval $(call BuildPackage,asterisk14-xip-agents))
-$(eval $(call BuildPackage,asterisk14-xip-iax))
-$(eval $(call BuildPackage,asterisk14-xip-sip))
-$(eval $(call BuildPackage,asterisk14-xip-codec-wav))
-$(eval $(call BuildPackage,asterisk14-xip-codec-ualaw))
-$(eval $(call BuildPackage,asterisk14-xip-format-misc))
-$(eval $(call BuildPackage,asterisk14-xip-format-licensed))
-$(eval $(call BuildPackage,asterisk14-xip-codec-g726))
-$(eval $(call BuildPackage,asterisk14-xip-format-video))
-$(eval $(call BuildPackage,asterisk14-xip-variables))
-$(eval $(call BuildPackage,asterisk14-xip-enum))
-$(eval $(call BuildPackage,asterisk14-xip-basic))
-$(eval $(call BuildPackage,asterisk14-xip-encode))
-$(eval $(call BuildPackage,asterisk14-xip-realtime))
-$(eval $(call BuildPackage,asterisk14-xip-ael))
-$(eval $(call BuildPackage,asterisk14-xip-adsi))
-$(eval $(call BuildPackage,asterisk14-xip-features))
-$(eval $(call BuildPackage,asterisk14-xip-moh))
-$(eval $(call BuildPackage,asterisk14-xip-smdi))
-$(eval $(call BuildPackage,asterisk14-xip-sounds-tt))
-$(eval $(call BuildPackage,asterisk14-xip-sounds-demo))
-$(eval $(call BuildPackage,asterisk14-xip-linejack))
-$(eval $(call BuildPackage,asterisk14-xip-app-misc))
-$(eval $(call BuildPackage,asterisk14-xip-image))
-$(eval $(call BuildPackage,asterisk14-xip-sms))
-$(eval $(call BuildPackage,asterisk14-xip-icecast))
-$(eval $(call BuildPackage,asterisk14-xip-mp3))
-$(eval $(call BuildPackage,asterisk14-xip-cli))
-$(eval $(call BuildPackage,asterisk14-xip-isdn))
-$(eval $(call BuildPackage,asterisk14-xip-deprecated))
-$(eval $(call BuildPackage,asterisk14-xip-groups))
-$(eval $(call BuildPackage,asterisk14-xip-language))
-$(eval $(call BuildPackage,asterisk14-xip-spool))
-$(eval $(call BuildPackage,asterisk14-xip-nbs))
-$(eval $(call BuildPackage,asterisk14-xip-alarmreceiver))
-$(eval $(call BuildPackage,asterisk14-xip-cdr))
-$(eval $(call BuildPackage,asterisk14-xip-channel))
-$(eval $(call BuildPackage,asterisk14-xip-debug))
-$(eval $(call BuildPackage,asterisk14-xip-menu-misc))
-$(eval $(call BuildPackage,asterisk14-xip-festival))
-$(eval $(call BuildPackage,asterisk14-xip-send-app))
-$(eval $(call BuildPackage,asterisk14-xip-followme))
-$(eval $(call BuildPackage,asterisk14-xip-queues))
-$(eval $(call BuildPackage,asterisk14-xip-record))
-$(eval $(call BuildPackage,asterisk14-xip-privacy))
-$(eval $(call BuildPackage,asterisk14-xip-ivr-util))
-$(eval $(call BuildPackage,asterisk14-xip-callerid))
-$(eval $(call BuildPackage,asterisk14-xip-speech))
-$(eval $(call BuildPackage,asterisk14-xip-detect))
-$(eval $(call BuildPackage,asterisk14-xip-controlflow))
-
-
-#asterisk14-xip-core=codec_gsm format_gsm pbx_config res_indications app_dial chan_local
-#asterisk14-xip-agents=chan_agent
-#asterisk14-xip-iax=chan_iax2
-#asterisk14-xip-sip=chan_sip
-#asterisk14-xip-codec-wav=codec_adpcm format_pcm format_wav_gsm format_wav
-#asterisk14-xip-codec-ualaw=codec_alaw codec_a_mu codec_ulaw
-#asterisk14-xip-format-misc=format_sln format_vox format_ilbc
-#asterisk14-xip-format-licensed=format_g726 format_g723 format_g729
-#asterisk14-xip-codec-g726=codec_g726
-#asterisk14-xip-format-video=format_h263 format_h264
-#asterisk14-xip-variables=func_db func_global func_env func_timeout
-#asterisk14-xip-enum=func_enum
-#asterisk14-xip-pbx-dundi=pbx_dundi
-#asterisk14-xip-basic=func_logic func_math func_strings func_rand func_cut
-#asterisk14-xip-encode=func_base64 func_md5 func_sha1 func_uri
-#asterisk14-xip-realtime=func_realtime pbx_realtime app_realtime
-#asterisk14-xip-ael=pbx_ael
-#asterisk14-xip-adsi=res_adsi app_adsiprog
-#asterisk14-xip-features=res_features app_transfer app_parkandannounce res_monitor
-#asterisk14-xip-moh=res_musiconhold func_moh
-#asterisk14-xip-smdi=res_smdi
-#asterisk14-xip-app-misc=app_random app_sayunixtime app_sendtext app_url app_readfile app_system app_exec
-#asterisk14-xip-image=app_image format_jpeg
-#asterisk14-xip-sms=app_sms
-#asterisk14-xip-icecast=app_ices
-#asterisk14-xip-mp3=app_mp3
-#asterisk14-xip-cli=app_userevent res_clioriginate res_convert
-#asterisk14-xip-isdn=app_settransfercapability
-#asterisk14-xip-deprecated=app_db
-#asterisk14-xip-groups=func_groupcount
-#asterisk14-xip-language=func_language
-#asterisk14-xip-spool=pbx_spool
-#asterisk14-xip-nbs=app_nbscat
-#asterisk14-xip-alarmreceiver=app_alarmreceiver
-#asterisk14-xip-cdr=app_cdr app_forkcdr app_setcdruserfield cdr_csv cdr_custom cdr_manager func_cdr
-#asterisk14-xip-channel=app_chanisavail app_channelredirect app_chanspy func_channel app_softhangup app_directed_pickup
-#asterisk14-xip-debug=app_echo pbx_loopback app_dumpchan app_verbose app_test
-#asterisk14-xip-menu-misc=app_controlplayback app_directory app_dictate
-#asterisk14-xip-festival=app_festival
-#asterisk14-xip-send-app=app_flash app_senddtmf app_milliwatt app_morsecode app_zapateller
-#asterisk14-xip-followme=app_followme
-#asterisk14-xip-app-meetme=app_meetme app_page
-#asterisk14-xip-queues=app_queue
-#asterisk14-xip-record=app_record app_mixmonitor
-#asterisk14-xip-privacy=app_privacy
-#asterisk14-xip-ivr-util=app_read app_authenticate app_externalivr app_disa
-#asterisk14-xip-callerid=app_setcallerid func_callerid app_lookupblacklist app_lookupcidname
-#asterisk14-xip-speech=app_speech_utils res_speech
-#asterisk14-xip-detect=app_amd app_talkdetect app_waitforring app_waitforsilence
-#asterisk14-xip-controlflow=app_while app_macro app_stack
-#asterisk14-xip-zaptel=chan_zap app_zapbarge app_zapscan codec_zap app_getcpeid app_zapras
-#asterisk14-xip-chan-oss=chan_oss
-#asterisk14-xip-chan-alsa=chan_alsa
-#asterisk14-xip-chan-gtalk=chan_gtalk res_jabber
-#asterisk14-xip-chan-h323=chan_h323
-#asterisk14-xip-chan-mgcp=chan_mgcp
-#asterisk14-xip-chan-skinny=chan_skinny
-#asterisk14-xip-chan-lpc10=chan_lpc10
-#asterisk14-xip-codec-speex=codec_speex
-#asterisk14-xip-res-agi=res_agi
-#asterisk14-xip-res-crypto=res_crypto
-#asterisk14-xip-pgsql=cdr_pgsql res_config_pgsql
-#asterisk14-xip-sqlite=cdr_sqlite
-#asterisk14-xip-voicemail=app_hasnewvoicemail app_voicemail
diff --git a/contrib/package/asterisk-xip/files/asterisk.default b/contrib/package/asterisk-xip/files/asterisk.default
deleted file mode 100644 (file)
index 5468d32..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-## startup options for /etc/init.d/asterisk
-
-ENABLE_ASTERISK="uci"
-OPTIONS=""
diff --git a/contrib/package/asterisk-xip/files/asterisk.init b/contrib/package/asterisk-xip/files/asterisk.init
deleted file mode 100755 (executable)
index b2acd2a..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
-START=50
-STOP=50
-
-DEST=
-OPTIONS=""
-DEFAULT=$DEST/etc/default/asterisk
-UCILIB=$DEST/usr/lib/asterisk/uci
-EXTRAPARAM=$1
-
-export EXTRA_COMMANDS="console check down"
-export EXTRA_HELP="\
-        console Start asterisk console
-        check   Test asterisk uci config
-        down    Force asterisk to stop"
-
-reboot_ata() {
-       cd /tmp
-       wget -q http://ata.lan/admin/reboot -O - >&- 2>&-
-}
-
-load_ucilib() . ${UCILIB}/asteriskuci
-
-start_uci() {
-       load_ucilib
-
-       start_uci_asterisk $DEST
-}
-restart_uci() {
-       load_ucilib
-
-       restart_uci_asterisk $DEST
-}
-
-stop_uci() {
-       load_ucilib
-
-       stop_uci_asterisk $DEST
-}
-reload_uci() {
-       load_ucilib
-
-       reload_uci_asterisk "$DEST"
-}
-
-start() {
-       [ -f $DEFAULT ] && . $DEFAULT
-       case ${ENABLE_ASTERISK-no} in
-               uci)  start_uci ;;
-               yes)
-                       # Handle zappseudo in the wrong place.
-                       [ -e /dev/zappseudo ] && [ ! -d /dev/zap -o ! -e /dev/zap/pseudo ] && mkdir -p /dev/zap && ln -s /dev/zappseudo /dev/zap/pseudo
-                       [ -d /var/run ] || mkdir -p /var/run
-                       [ -d $DEST/var/log/asterisk ] || mkdir -p $DEST/var/log/asterisk
-                       [ -d $DEST/var/spool/asterisk ] || mkdir -p $DEST/var/spool/asterisk
-                       [ -d /var/spool/asterisk ] || mkdir -p /var/spool/asterisk
-                       [ -h $DEST/usr/lib/asterisk/astdb ] || ln -sf /var/spool/asterisk/astdb $DEST/usr/lib/asterisk/astdb
-                       $DEST/usr/sbin/asterisk $OPTIONS -f 2>&1 > $DEST/var/log/asterisk/asterisk_proc &
-                       ( sleep 5; reboot_ata ) &
-                       ;;
-               *) return 1 ;;
-       esac
-}
-
-stop() {
-       [ -f $DEFAULT ] && . $DEFAULT
-       case ${ENABLE_ASTERISK} in
-               uci) stop_uci ;;
-               *) [ -f /var/run/asterisk.pid ] && kill $(cat /var/run/asterisk.pid) 2>&- >&-
-       esac
-}
-
-console() {
-       [ -f $DEFAULT ] && . $DEFAULT
-       case ${ENABLE_ASTERISK} in
-               uci) $DEST/usr/sbin/asterisk $UCIOPTIONS -C /tmp/asterisk/asterisk.conf -r ;;
-               yes) $DEST/usr/sbin/asterisk $OPTIONS -r ;;
-       esac
-
-}
-check() {
-       load_ucilib
-
-       setup_asterisk "$DEST" test "$EXTRAPARAM"
-}
-
-reload() {
-       [ -f $DEFAULT ] && . $DEFAULT
-       case ${ENABLE_ASTERISK-no} in
-               uci) reload_uci ;;
-               yes)  restart ;;
-       esac
-
-}
-
-restart() {
-       [ -f $DEFAULT ] && . $DEFAULT
-       case ${ENABLE_ASTERISK-no} in
-               uci)  restart_uci ;;
-               yes)
-                       if [ -r /var/run/asterisk.ctl ] ; then
-                               if $DEST/usr/sbin/asterisk -r -x "restart gracefully" 2>&- >&- ; then
-                                       echo "Restarting when convenient"
-                                       return 0
-                               fi
-                       fi
-                       stop
-                       start
-       esac
-}
-
-down() {
-       if [ -r /var/run/asterisk.ctl ] ; then
-               [ -f $DEFAULT ] && . $DEFAULT
-               case ${ENABLE_ASTERISK} in
-                       uci) $DEST/usr/sbin/asterisk -C /tmp/asterisk/asterisk.conf -r -x "stop now" 2>&- >&- ;;
-                       *) $DEST/usr/sbin/asterisk $OPTIONS -r -x "stop now" 2>&- >&-
-               esac
-               [ -f /var/run/asterisk.pid ] && sleep 1
-       fi
-       [ -f /var/run/asterisk.pid ] && kill $(cat /var/run/asterisk.pid) 2>&- >&-
-       [ -f /var/run/asterisk.pid ] && sleep 2
-       [ -f /var/run/asterisk.pid ] && kill -9  $(cat /var/run/asterisk.pid) 2>&- >&-
-}
-
-# vim:ts=2 sw=2
diff --git a/contrib/package/asterisk-xip/files/macros/clock.conf b/contrib/package/asterisk-xip/files/macros/clock.conf
deleted file mode 100644 (file)
index 3250b39..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-; Talking clock by Michael Geddes
-; Borrowed from bits here and there.
-[macro-talkingclock] ; (TimeFormat, DateFormat, Zone)
-exten => s,1,Answer
-exten => s,n,set(tcTimeFormat=${ARG1})
-exten => s,n,GotoIf($["${tcTimeFormat}" = ""]?:tfOK)
-exten => s,n,set(tcTimeFormat=HM\'vm-and\'S\'seconds\')
-exten => s,n(tfOK),set(tcDateFormat=${ARG2})
-exten => s,n,GotoIf($["${tcDateFormat}" = ""]?:dfOK)
-exten => s,n,set(tcDateFormat=AdBY)
-exten => s,n(dfOK),set(tcZone=${ARG3})
-exten => s,n,GotoIf($["${tcZone}" = ""]?:znOK)
-exten => s,n,set(tcZone=${TalkingClockZone})
-exten => s,n(znOK),SayUnixTime(,${tcZone},${tcDateFormat})
-exten => s,n(again),Wait(2)
-exten => s,n,Set(FutureTime=$[${EPOCH} + 6])
-exten => s,n,Playback(misc/at-tone-time-exactly)
-exten => s,n,SayUnixTime(${FutureTime},${tcZone},${tcTimeFormat})
-; Wait to say the beep.
-exten => s,n(waitforit),noop
-exten => s,n,GotoIf($[ ${EPOCH} < ${FutureTime} ]?waitforit:)
-exten => s,n,playback(beep)
-exten => s,n,goto(again)
diff --git a/contrib/package/asterisk-xip/files/macros/lastcall.conf b/contrib/package/asterisk-xip/files/macros/lastcall.conf
deleted file mode 100644 (file)
index 172fd5e..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-; Last-Called number storage and calling.
-; Author: Michael Geddes aka FrogOnWheels
-
-; depends: app_macro app_system  app_record func_callerid
-;          app_sayunixtime app_playback func_db
-;          format_gsm codec_gsm
-;[globals]
-;LASTCALL_DIR=/etc/asterisk/directory
-
-[macro-lastcallstore] ; (Number , EntryType, BufferSize)
-exten => s,1,set(lcsName=lastcall)
-exten => s,n,set(lcsCount=10)
-exten => s,n,GotoIf($["${ARG2}" = ""]?blankarg)
-exten => s,n,GotoIf($["${ARG2}" = "lastcall"]?blankarg)
-exten => s,n,Set(lcsName=lastcall_${ARG2})
-exten => s,n(blankarg),GotoIf($["${ARG3}" = ""]?nocount)
-exten => s,n,Set(lcsCount=${ARG3})
-exten => s,n(nocount),Noop(${lcsName}:${DB(${lcsName}/number1)}:${ARG1})
-exten => s,n,GotoIf($["${DB(${lcsName}/number1)}" = "${ARG1}"]?setdate)
-exten => s,n,set(CallerPointer=1)
-
-exten => s,n(again),GotoIf($["${DB(${lcsName}/ddate${CallerPointer})}" = ""]?copynext)
-exten => s,n,GotoIf($["${DB(${lcsName}/number${CallerPointer})}" = "${ARG1}"]?copynext)
-exten => s,n,Set(CallerPointer=$[${CallerPointer}+1])
-exten => s,n,GotoIf($[${CallerPointer} <= ${lcsCount}]?again)
-
-exten => s,n(copynext),set(DB(${lcsName}/ddate$[${CallerPointer}])=${DB(${lcsName}/ddate$[${CallerPointer}-1])})
-exten => s,n,set(DB(${lcsName}/number$[${CallerPointer}])=${DB(${lcsName}/number$[${CallerPointer}-1])})
-exten => s,n,set(CallerPointer=$[${CallerPointer}-1])
-exten => s,n,GotoIf($[${CallerPointer} > 0]?copynext)
-exten => s,n,set(DB(${lcsName}/number1)=${ARG1})
-exten => s,n(setdate),set(DB(${lcsName}/ddate1)=${EPOCH})
-
-[macro-lastcallapp] ; (Entrytype, Count, RingContext, Tag)
-exten => s,1,set(lcsName=lastcall)
-exten => s,n,set(lcsCount=10)
-exten => s,n,GotoIf($["${ARG1}" = ""]?blankName)
-exten => s,n,Set(lcsName=lastcall_${ARG1})
-exten => s,n(blankName),GotoIf($["${ARG2}" = ""]?nocount)
-exten => s,n,Set(lcsCount=${ARG2})
-exten => s,n(nocount),set(lcsCallContext=internal)
-exten => s,n,GotoIf($["${ARG3}" = ""]?blankContext)
-exten => s,n,Set(lcsCallContext=${ARG3})
-exten => s,n(blankContext),set(lcsTag=${ARG4})
-exten => s,n,GotoIf($["${lcsTag}" != ""]?hasTag)
-exten => s,n,Set(lcsTag=lastcall/previous-numbers)
-exten => s,n(hasTag),Set(lcsPointer=1)
-exten => s,n,GotoIf($["${DB(${lcsName}/ddate1)}" != ""]?macrobody_lastcallapp|s|1)
-exten => s,n,playback(${lcsTag}&lastcall/none-available)
-[macrobody_lastcallapp]
-exten => s,1(repeat),Background(${lcsTag})
-exten => s,n(again),wait(1)
-exten => s,n,Set(lcsLastnum=${DB(${lcsName}/number${lcsPointer})})
-exten => s,n,Set(ddate=${DB(${lcsName}/ddate${lcsPointer})})
-exten => s,n,Set(lcsLastDate=${DB(${lcsName}/ddate$[ ${lcsPointer} + 1])})
-exten => s,n,GotoIf($["${lcsLastnum}" != "anonymous"]?checkblank)
-exten => s,n,Set(lcsLastnum="")
-exten => s,n(checkblank),GotoIf($["${lcsLastnum}" = ""]?noinfo)
-exten => s,n,Macro(backgroundtagnumber,${lcsLastnum},${LASTCALL_DIR})
-exten => s,n,wait(.5)
-exten => s,n,sayunixtime(${ddate},${LASTCALLZONE},QIMp)
-exten => s,n(saymenu),background(silence/1)
-exten => s,n,GotoIf($[$[${lcsPointer} = ${lcsCount}] | $["${lcsLastDate}" = ""]]?noprev)
-exten => s,n,background(lastcall/next)
-exten => s,n(noprev),GotoIf($["${lcsLastnum}" = ""]?nocall)
-exten => s,n,background(lastcall/call-number)
-exten => s,n,background(lastcall/tag-number)
-exten => s,n(nocall),GotoIf($[${lcsPointer} = 1]?nonext)
-exten => s,n,background(lastcall/previous)
-exten => s,n(nonext),background(silence/10)
-exten => s,n,Goto(repeat)
-exten => s,n(noinfo),background(lastcall/no-number-info)
-exten => s,n,goto(saycalltime)
-exten => 5,1,GotoIf($["${lcsLastnum}" = ""]?noinfo])
-exten => 5,n,Ringing()
-exten => 5,n,Goto(${lcsCallContext},${lcsLastnum},1)
-exten => 6,1,GotoIf($[$[${lcsPointer} = ${lcsCount}] | $["${lcsLastDate}" = ""]]?sayn)
-exten => 6,n,Set(lcsPointer=$[${lcsPointer} + 1])
-exten => 4,1,GotoIf($[${lcsPointer}=1]?sayn)
-exten => 4,n,Set(lcsPointer=$[${lcsPointer} - 1])
-exten => _[46],n(sayn),Background(h-${lcsPointer})
-exten => _[46],n,goto(s|again)
-exten => 7,1,GotoIf($["${lcsLastNum}" = ""]?noinfo])
-exten => 7,2,macro(tagnumber,${lcsLastNum},${LASTCALL_DIR})
-exten => 7,3,goto(s|again)
-exten => i,1,Goto(s|again)
-exten => t,1,playback(goodbye)
-exten => t,n,Hangup
diff --git a/contrib/package/asterisk-xip/files/macros/tagnumber.conf b/contrib/package/asterisk-xip/files/macros/tagnumber.conf
deleted file mode 100644 (file)
index 6fc4557..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-; Number tagging
-; Author: Michael Geddes aka FrogOnWheels
-
-; Depends: app_stack app_macro app_system
-
-[macro-tagnumber] ; Number / Tag Directory / Return 
-exten => s,1,Set(tagNumber=${ARG1})
-exten => s,n,Set(tagDirectory=${ARG2})
-exten => s,n,Set(tagRetContext=${MACRO_CONTEXT})
-exten => s,n,Set(tagRetExtn=${MACRO_EXTEN})
-exten => s,n,Set(tagRetPriority=$[${MACRO_PRIORITY} + 1])
-;exten => s,n,Set(tagReturn=${ARG3})
-;exten => s,n,Gosub(macrobody_tagnumber,s,1)
-exten => s,n,Goto(macrobody_tagnumber,s,1)
-exten => s,n(return),Noop(Returned)
-[macrobody_tagnumber]
-exten => s,1(again),Background(voicetag/recordname)
-exten => s,n,Record(/tmp/tmprectag:gsm|2|5)
-exten => s,n(askagain),Background(voicetag/tagfor)
-exten => s,n,Macro(backgroundphone,${tagNumber})
-exten => s,n,Background(/tmp/tmprectag)
-exten => s,n,Background(voicetag/confirmnumber)
-exten => s,n,Background(voicetag/tryagain)
-exten => s,n,Background(voicetag/cancelrecord)
-exten => s,n,WaitExten(5)
-exten => s,n,Goto(s|askagain)
-exten => 1,1,System(mkdir -p ${tagDirectory})
-exten => 1,2,System(mv /tmp/tmprectag.gsm ${tagDirectory}/${tagNumber}.gsm)
-exten => 1,3,Goto(${tagRetContext}|${tagRetExtn}|${tagRetPriority})
-exten => 2,1,Goto(s|again)
-exten => 3,1,system(rm -f /tmp/tmprectag.gsm)
-exten => 3,2,Goto(${tagRetContext}|${tagRetExtn}|${tagRetPriority})
-exten => h,1,system(rm -f /tmp/tmrectag.gsm)
-
-[macro-backgroundtagnumber] ; Number, directory
-exten => s,1,TrySystem(test -f ${ARG2}/${ARG1}.gsm)
-exten => s,n,GotoIf($[${SYSTEMSTATUS} != SUCCESS]?s-saynum|1)
-exten => s,n,Background(${ARG2}/${ARG1})
-exten => s-saynum,1,Macro(backgroundphone,${ARG1})
-
-; Say Phone number in the background
-[macro-backgroundphone]
-exten => s,1,Set(bgDigits=${ARG1})
-exten => s,n(loop),Set(bgDigit=${bgDigits:0:1})
-exten => s,n,GotoIf($["${bgDigits:0:3}" = "000"]?saythousand)
-exten => s,n,GotoIf($["${bgDigits:0:2}" = "00"]?sayhundred)
-exten => s,n,GotoIf($["${bgDigits}" = ""]?exitloop)
-exten => s,n,Set(bgDigits=${bgDigits:1})
-exten => s,n,Background(digits/${bgDigit})
-exten => s,n,Goto(loop)
-exten => s,n(saythousand),Background(digits/thousand)
-exten => s,n,Set(bgDigits=${bgDigits:3})
-exten => s,n,Goto(loop)
-exten => s,n(sayhundred),Background(digits/hundred)
-exten => s,n,Set(bgDigits=${bgDigits:2})
-exten => s,n,Goto(loop)
-exten => s,n(exitloop),NOOP
-
diff --git a/contrib/package/asterisk-xip/files/modules.conf b/contrib/package/asterisk-xip/files/modules.conf
deleted file mode 100644 (file)
index ce12c82..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-;
-; Asterisk configuration file
-;
-; Module Loader configuration file
-;
-
-[modules]
-autoload=yes
-;
-; Any modules that need to be loaded before the Asterisk core has been
-; initialized (just after the logger has been initialized) can be loaded
-; using 'preload'. This will frequently be needed if you wish to map all
-; module configuration files into Realtime storage, since the Realtime
-; driver will need to be loaded before the modules using those configuration
-; files are initialized.
-;
-; An example of loading ODBC support would be:
-;preload => res_odbc.so
-;preload => res_config_odbc.so
-;
-noload => res_config_mysql.so ;
-noload => res_crypto.so ; Cryptographic Digital Signatures
-; load => res_features.so ; Call Parking Resource
-noload => res_indications.so ; Indications Configuration
-noload => res_monitor.so ; Call Monitoring Resource
-; load => res_musiconhold.so ; Music On Hold Resource
-noload => cdr_csv.so ; Comma Separated Values CDR Backend
-noload => cdr_custom.so ; Customizable Comma Separated Values CDR Backend
-noload => cdr_manager.so ; Asterisk Call Manager CDR Backend
-noload => cdr_mysql.so ; MySQL CDR Backend
-noload => cdr_pgsql.so ; PostgreSQL CDR Backend
-noload => cdr_sqlite.so ; SQLite CDR Backend
-noload => chan_alsa.so ; Channel driver for GTalk
-noload => chan_agent.so ; Agent Proxy Channel
-noload => chan_gtalk.so ; Channel driver for GTalk
-; load => chan_iax2.so ; Inter Asterisk eXchange (Ver 2)
-; load => chan_local.so ; Local Proxy Channel
-; load => chan_sip.so ; Session Initiation Protocol (SIP)
-noload => codec_a_mu.so ; A-law and Mulaw direct Coder/Decoder
-noload => codec_adpcm.so ; Adaptive Differential PCM Coder/Decoder
-noload => codec_alaw.so ; A-law Coder/Decoder
-noload => codec_g726.so ; ITU G.726-32kbps G726 Transcoder
-; load => codec_gsm.so ; GSM/PCM16 (signed linear) Codec Translation
-; load => codec_ulaw.so ; Mu-law Coder/Decoder
-noload => codec_speex.so ; Speex/PCM16 (signed linear) Codec Translator
-noload => format_au.so ; Sun Microsystems AU format (signed linear)
-noload => format_g723.so ; G.723.1 Simple Timestamp File Format
-noload => format_g726.so ; Raw G.726 (16/24/32/40kbps) data
-noload => format_g729.so ; Raw G729 data
-; load => format_gsm.so ; Raw GSM data
-noload => format_h263.so ; Raw h263 data
-noload => format_jpeg.so ; JPEG (Joint Picture Experts Group) Image
-; load => format_pcm.so ; Raw uLaw 8khz Audio support (PCM)
-noload => format_pcm_alaw.so ; Raw aLaw 8khz PCM Audio support
-noload => format_sln.so ; Raw Signed Linear Audio support (SLN)
-noload => format_vox.so ; Dialogic VOX (ADPCM) File Format
-; load => format_wav.so ; Microsoft WAV format (8000hz Signed Line
-; load => format_wav_gsm.so ; Microsoft WAV format (Proprietary GSM)
-noload => app_alarmreceiver.so ; Alarm Receiver Application
-noload => app_authenticate.so ; Authentication Application
-noload => app_cdr.so ; Make sure asterisk doesn't save CDR
-noload => app_chanisavail.so ; Check if channel is available
-noload => app_chanspy.so ; Listen in on any channel
-noload => app_controlplayback.so ; Control Playback Application
-noload => app_cut.so ; Cuts up variables
-noload => app_db.so ; Database access functions
-; load => app_dial.so ; Dialing Application
-noload => app_dictate.so ; Virtual Dictation Machine Application
-noload => app_directory.so ; Extension Directory
-noload => app_directed_pickup.so ; Directed Call Pickup Support
-noload => app_disa.so ; DISA (Direct Inward System Access) Application
-noload => app_dumpchan.so ; Dump channel variables Application
-; load => app_echo.so ; Simple Echo Application
-noload => app_enumlookup.so ; ENUM Lookup
-noload => app_eval.so ; Reevaluates strings
-noload => app_exec.so ; Executes applications
-noload => app_externalivr.so ; External IVR application interface
-noload => app_forkcdr.so ; Fork The CDR into 2 seperate entities
-noload => app_getcpeid.so ; Get ADSI CPE ID
-noload => app_groupcount.so ; Group Management Routines
-noload => app_ices.so ; Encode and Stream via icecast and ices
-noload => app_image.so ; Image Transmission Application
-noload => app_lookupblacklist.so ; Look up Caller*ID name/number from black
-noload => app_lookupcidname.so ; Look up CallerID Name from local databas
-; load => app_macro.so ; Extension Macros
-noload => app_math.so ; A simple math Application
-noload => app_md5.so ; MD5 checksum Application
-; load => app_milliwatt.so ; Digital Milliwatt (mu-law) Test Application
-noload => app_mixmonitor.so ; Record a call and mix the audio during the recording
-noload => app_parkandannounce.so ; Call Parking and Announce Application
-; load => app_playback.so ; Trivial Playback Application
-noload => app_privacy.so ; Require phone number to be entered
-noload => app_queue.so ; True Call Queueing
-noload => app_random.so ; Random goto
-noload => app_read.so ; Read Variable Application
-noload => app_readfile.so ; Read in a file
-noload => app_realtime.so ; Realtime Data Lookup/Rewrite
-noload => app_record.so ; Trivial Record Application
-; load => app_sayunixtime.so ; Say time
-noload => app_senddtmf.so ; Send DTMF digits Application
-noload => app_sendtext.so ; Send Text Applications
-noload => app_setcallerid.so ; Set CallerID Application
-noload => app_setcdruserfield.so ; CDR user field apps
-noload => app_setcidname.so ; Set CallerID Name
-noload => app_setcidnum.so ; Set CallerID Number
-noload => app_setrdnis.so ; Set RDNIS Number
-noload => app_settransfercapability.so ; Set ISDN Transfer Capability
-noload => app_sms.so ; SMS/PSTN handler
-noload => app_softhangup.so ; Hangs up the requested channel
-noload => app_stack.so ; Stack Routines
-noload => app_system.so ; Generic System() application
-noload => app_talkdetect.so ; Playback with Talk Detection
-noload => app_test.so ; Interface Test Application
-noload => app_transfer.so ; Transfer
-noload => app_txtcidname.so ; TXTCIDName
-noload => app_url.so ; Send URL Applications
-noload => app_userevent.so ; Custom User Event Application
-; load => app_verbose.so ; Send verbose output
-noload => app_waitforring.so ; Waits until first ring after time
-noload => app_waitforsilence.so ; Wait For Silence Application
-noload => app_while.so ; While Loops and Conditional Execution
-noload => func_callerid.so ; Caller ID related dialplan functions
-noload => func_enum.so ; ENUM Functions
-noload => func_uri.so ; URI encoding / decoding functions
-noload => pbx_ael.so ; Asterisk Extension Language Compiler
-; load => pbx_config.so ; Text Extension Configuration
-noload => pbx_functions.so ; Builtin dialplan functions
-noload => pbx_loopback.so ; Loopback Switch
-noload => pbx_realtime.so ; Realtime Switch
-noload => pbx_spool.so ; Outgoing Spool Support
-noload => pbx_wilcalu.so ; Wil Cal U (Auto Dialer)
-;
-; Module names listed in "global" section will have symbols globally
-; exported to modules loaded after them.
-;
-[global]
-chan_modem.so=no
diff --git a/contrib/package/asterisk-xip/files/uci/asteriskconf b/contrib/package/asterisk-xip/files/uci/asteriskconf
deleted file mode 100755 (executable)
index d90f9d9..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/bin/sh
-
-# Asterisk.conf
-
-init_asteriskconf() {
-
-       ast_add_reload dialplan
-       ast_enable_type asterisk
-       ast_enable_type setglobal
-       ast_enable_type include
-       # ast_enable_type hardware
-       ast_enable_type hardwarereboot
-
-
-       asterisk_zone="Australia/Perth"
-       asterisk_spooldir="${DEST}/var/spool/asterisk"
-       asterisk_logdir="${DEST}/var/log/asterisk"
-       asterisk_agidir="${DEST}/usr/lib/asterisk/agi-bin"
-       return 0
-}
-
-asterisk_option_list="verbose debug quiet dontwarn timestamp execincludes \
-highpriority initcrypto nocolor dumpcore languageprefix internal_timing \
-systemname maxcalls maxload cache_record_files record_cache_dir \
-transmit_silence_during_record transcode_via_sln runuser rungroup"
-asterisk_path_list="spooldir logdir agidir"
-
-valid_asterisk_option() {
-       is_in_list $1 ${asterisk_option_list} ${asterisk_path_list} zone 
-       return $?
-}
-
-create_asteriskconf() {
-       # echo ${DEST_DIR}
-       file=${DEST_DIR}/asterisk.conf
-       get_checksum asterisk_conf $file
-
-       echo "${asteriskuci_gen}${N}[directories]
-astetcdir => ${DEST_DIR}
-astmoddir => ${DEST}/usr/lib/asterisk/modules
-astvarlibdir => ${DEST}/usr/lib/asterisk
-astdatadir => ${DEST}/usr/lib/asterisk
-astrundir => /var/run" > $file
-       for i in ${asterisk_path_list} ; do
-               eval "value=\"\${asterisk_$i}\""
-               if [ ! -z $value ] ; then
-                       echo "ast$i => $value" >> $file
-               fi
-       done
-       echo "${N}[options]" >> $file
-
-       for i in ${asterisk_option_list} ; do
-               eval "value=\"\${asterisk_$i}\""
-               if [ ! -z $value ] ; then
-                       echo "$i => $value" >> $file
-               fi
-       done
-
-       echo "${N}; Changing the following lines may compromise your security.
-[files]
-astctlpermissions = 0660
-astctlowner = root
-astctlgroup = nogroup
-astctl = asterisk.ctl " >> $file
-       check_checksum "$asterisk_conf" "$file"  || ast_restart=1
-
-}
-
-handle_asterisk() {
-       option_cb() {
-               case $1 in
-                       zone)
-                               asterisk_zone="$2";;
-                       *)
-                               if valid_asterisk_option $1 $2 ; then
-                                       eval "asterisk_${1}=\"$2\""
-                               else
-                                       logerror "Invalid Asterisk option: $1"
-                               fi
-               esac
-       }
-}
-
-handle_include(){
-       option_cb() {
-               case $1 in
-                       dialplan|dialplan_ITEM*)
-                               append dialplan_includes "#include <$2>" "${N}"
-                       ;;
-                       dialplan_COUNT) ;;
-                       *) logerror "Invalid option \"$1\" for include" ;;
-               esac
-       }
-}
-
-handle_setglobal() {
-       option_cb() {
-               case $1 in
-                       set_COUNT) ;;
-                       set|set_ITEM*)
-                               if [ "${2%=*}" == "${2}" ] ; then
-                                       logerror "SetGlobal option \"$2\" not of the form VARIABLE=Value"
-                               else
-                                       append dialplan_globals "" "${N}"
-                               fi ;;
-                       *) logerror "Invalid option \"$1\" for setglobal" ;;
-               esac
-       }
-}
-
-handle_hardwarereboot() handle_hardware reboot
-
-# Handle hardware options (reboot) for Softphones
-handle_hardware() {
-       case $1 in
-               reboot)
-                       hardware_method=
-                       hardware_param=
-                       option_cb() {
-                               case $1 in
-                                       method)
-                                               hardware_method="$2";;
-                                       param)
-                                               case ${hardware_method} in
-                                                       web) append hardware_reboots "wget -q $2 -O - >&- 2>&-" "${N}" ;;
-                                                       system) append hardware_reboots "$2 >&- 2>&-" "${N}" ;; 
-                                                       *) logerror "Invalid Hardware reboot method: ${hardware_method}"
-                                               esac
-                               esac
-
-                       }
-               ;;
-               *) logerror "Invalid Hardware option: $1"
-       esac
-}
-
-reboot_hardware() {
-       cd /tmp
-       eval ${hardware_reboots}
-}
-
-
-
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/asteriskconf.txt b/contrib/package/asterisk-xip/files/uci/asteriskconf.txt
deleted file mode 100644 (file)
index 8966cb8..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-
-asterisk
-       zone - Default TimeZone
-
-       Various asterisk.conf options
-       verbose
-       debug
-       quiet
-       dontwarn
-       timestamp
-       execincludes
-       highpriority
-       initcrypto
-       nocolor
-       dumpcore
-       languageprefix
-       internal_timing
-       systemname
-       maxcalls
-       maxload
-       cache_record_files
-       record_cache_dir
-       transmit_silence_during_record
-       transcode_via_sln
-       runuser
-       rungroup
-
-       spooldir
-       logdir
-       agidir
-
-setglobal
-       set (list)  - VARIABLE=Value  Global Variables
-
-include
-       dialplan (list) - Files to #include
-
-hardwarereboot - Reboot phone hardware
-       method - web (wget), system
-       param  - url/program for reboot
-
diff --git a/contrib/package/asterisk-xip/files/uci/asteriskuci b/contrib/package/asterisk-xip/files/uci/asteriskuci
deleted file mode 100755 (executable)
index 4de95a7..0000000
+++ /dev/null
@@ -1,377 +0,0 @@
-#!/bin/sh
-
-# Author: Michael Geddes  <michael at frog dot wheelycreek dot net>
-# Copyright 2008 Michael Geddes
-# Licensed under GPL
-Version=0.8
-
-
-# Todo
-#   Calling of Macros in dialplan
-#   Create a Menu
-#   Incoming Zones
-
-debuglevel=0
-
-. /etc/functions.sh
-
-asteriskuci_gen="; Generated by Openwrt AstriskUCI script version ${Version}$N"
-
-# Utils
-
-logerror() {
-       echo "Error: $1"
-}
-
-logdebug() {
-       if [ $(expr $1 "<=" ${debuglevel-0}) == 1 ] ; then
-               echo "Log: $2"
-       fi
-}
-
-is_in_list(){
-       val=$1
-       shift
-       for i in $* ; do
-               [ $i == $val ] && return 0
-       done
-       return 1
-}
-
-split_append() { # {list} {prefix} {item} {func call}
-       local lhs="$2"
-       local rhs="$3"
-       
-       while [ ! -z "$rhs" ] ; do
-               cur=${rhs%%,*}
-               nvar=${rhs#*,}
-               [ -z "$5" ] || eval "$5 ${cur}"
-               append $1 "${lhs}${cur}" "$4"
-               [ "$nvar" == "$rhs" ] && break
-               rhs=${nvar}
-       done
-}
-
-get_checksum() {
-       if [ -r "$2" ] ; then
-               local sum=`md5sum $2 | cut  -d " " -f 1`
-               eval "$1=\"$sum\""
-       else
-               eval "$1=NONE"
-       fi
-       #eval "logdebug 1 \"Checksum $2 : \${$1}\""
-}
-
-check_checksum() {
-       if [ -r "$2" ] ; then
-               local sum=`md5sum $2 | cut  -d " " -f 1`
-       else
-               eval sum=NONE
-       fi
-       #logdebug 1 "Compare $1 checksum $2 with new checksum $sum "
-       [ "$sum" == "$1" ]
-       return $?
-}
-
-# Add config module to initialise list
-ast_add_conf() append asterisk_conf_list $1 " "
-# Add module to initialise list
-ast_add_module() {
-       append asterisk_module_list $1 " "
-       eval "createdialplan_$1() return 0"
-}
-# Add to 'reload' list.
-ast_add_reload() append asterisk_load_list $1 " "
-
-# Enable a top-level type
-ast_enable_type() eval "enabled_section_${1}=1"
-
-# Is a top-level type enabled?
-ast_type_enabled() {
-       eval "local res=\${enabled_section_${1}}"
-       if [ "$res" != 1 ] ; then
-               return 1 #Fail
-       fi
-       return 0
-}
-
-# For use in sections - make sure that the last section is processed
-check_add() {
-       logdebug 1 "Check add $1"
-       if [ ! -z "${last_added_checked}" ] ; then
-               logdebug 1 "Eval check-add ${last_added_checked}"
-               eval "check_add_${last_added_checked}"
-       fi
-       last_added_checked=$1
-}
-
-# Process the section yet to be checked.
-check_all_added() check_add ""
-
-# Create static links for stuff we dont want to configure yet.
-create_staticlinks() {
-       logdebug 1 "Link in a few mostly static configurations"
-       linkconfigs="codecs.conf say.conf sip_notify.conf udptl.conf logger.conf"
-       module_enabled res_indications && append linkconfigs indications.conf " "
-       for i in ${linkconfigs} ; do
-               [ -e $DEST_DIR/$i ] || ln -s $DEST/etc/asterisk/$i $DEST_DIR
-       done
-
-       logdebug 1 "Link in #include directories"
-       for i in include inc libs lib library macro macros ; do
-               if [ -e $DEST/etc/asterisk/$i -a  ! -d "$DEST_DIR/$i" -a ! -e "$DEST_DIR/$i" ] ; then
-                       ln -s $DEST/etc/asterisk/$i $DEST_DIR
-               fi
-       done
-}
-
-# default reboot
-reboot_hardware() {}
-
-
-# Top level handler
-setup_asterisk() {
-       DEST=${1%/}
-       DEST_DIR=/tmp/asterisk
-
-       testing_mode=0
-       if [ "$2" == "testonly" ] ; then
-               testing_mode=1
-       elif [ "$2" == "test" ] ; then
-               DEST_DIR=/tmp/asterisk.tmp
-               echo Using Test dir: $DEST_DIR
-               testing_mode=2
-       fi
-
-       [ -z "$3" ] || debuglevel=$3
-
-       logdebug 1 "Loading Asterisk Config"
-       . ${UCILIB}/asteriskconf
-       logdebug 2 "Loading Module Config"
-       . ${UCILIB}/moduleconf
-       logdebug 2 "Loading Dialplan Config"
-       . ${UCILIB}/dialplanconf
-
-       for f in ${DEST}/etc/asterisk/conf.d/* ; do
-               logdebug 1 "Loading Module $f"
-               [ -f $f ] && . $f
-       done
-
-       include /lib/network
-       scan_interfaces
-
-       init_asteriskconf
-       init_moduleconf
-       init_dialplanconf
-
-       for i in  ${asterisk_module_list} ; do
-               logdebug 1 "Init $i module"
-               eval "init_${i}"
-       done
-
-       for i in ${asterisk_conf_list} ; do
-               logdebug 1 "Init $i config"
-               eval "init_${i}conf"
-       done
-       config_cb() {
-               cur_section=$1/$2
-               logdebug 2 "Load $1/$2"
-               eval "local val=\"\${dups_$2}\""
-               if [ "${val}" == "" ] ; then
-                       eval "dups_$2=1"
-               else
-                       logerror "Duplicate Section Name: $2  (type $1)"
-               fi
-
-               if ast_type_enabled $1 ; then
-                       eval "handle_$1 \$2"
-               elif [ ! -z "$1" ] ; then
-
-                       logerror "Unknown section: $1/$2"
-                       option_cb() {
-                               logerror "Invalid option '$1' for invalid section"
-                       }
-               fi
-       }
-       config_load asterisk
-       check_all_added
-
-       if [ "$testing_mode" != "1" ] ; then
-               mkdir -p ${DEST_DIR}
-
-               create_asteriskconf
-               for i in ${asterisk_conf_list} ; do
-                       logdebug 1 "Create $i config"
-                       eval "create_${i}conf"
-               done
-
-               for i in ${asterisk_module_list} ; do
-                       logdebug 1 "Create Dialplan for module $i"
-                       eval "createdialplan_${i}"
-               done
-               create_dialplanconf
-               create_moduleconf
-
-               # Link in a few mostly static configurations
-               create_staticlinks
-       fi
-       [ "$testing_mode" == "2" ] && reload_check_asterisk
-       return 0
-}
-
-astcmd() {
-       ASTCMD="${DEST%/}/usr/sbin/asterisk -C /tmp/asterisk/asterisk.conf "
-       logdebug 1 "Command: $1"
-       if [ -z "${2-}" ] ; then
-               ${ASTCMD} -r -x "$1" 2>&- 1>&-
-       else
-               eval "$2=`${ASTCMD} -r -x \"$1\"`"
-       fi
-       return $?
-}
-
-# waitfor() {
-#      while [ -d /proc/$1 ] ; do
-#              sleep 1
-#      done
-# }
-
-restart_gracefully() {
-       stop_uci_asterisk "$DEST"
-       startup_asterisk "$DEST"
-       #ret=0
-       #echo "Check for pid"
-       #if [ -r /var/run/asterisk.ctl ] ; then
-       #       astcmd "stop gracefully"
-       #       local ret=$?
-       #       [ ${ret} = 0 ] || return $ret
-       #       waitfor `cat /var/run/asterisk.pid`
-       #fi
-       #startup_asterisk ${DEST}
-       return 0
-}
-astcmds() {
-       while [ ! -z "$1" ] ; do
-               astcmd "$1"
-               shift
-       done
-}
-
-reload_check_asterisk() {
-       logdebug 1 "Check Reloading"
-       local reboot=0
-       if [ "${ast_restart-}" == 1 ] ; then
-               logdebug 1 "Restarting Gracefully"
-               reboot=0
-       else
-               for i in ${asterisk_load_list} ; do
-                       logdebug 1 "Checking ${i} reload"
-                       eval "local doload=\${ast_${i}_restart}"
-                       case $doload in
-                               1) logdebug 1 "Reloading ${i}" ;;
-                               2) logdebug 1 "Unloading ${i}" ;;
-                       esac
-               done
-       fi
-       [ ${reboot} = 1 ] && logdebug 1 "reboot hardware"
-}
-
-reload_asterisk() {
-       logdebug 1 "Reloading"
-       local reboot=0
-       if [ "${ast_restart-}" == 1 ] ; then
-               logdebug 2 "Restarting Gracefully"
-               restart_gracefully
-               reboot=0
-       else
-               for i in ${asterisk_load_list} ; do
-                       logdebug 3 "Checking ${i} reload"
-                       eval "local doload=\${ast_${i}_restart}"
-                       case $doload in
-                               1) logdebug 1 "Reloading ${i}"
-                               eval "reload_${i}" || reboot=1 ;;
-                               2) logdebug 1 "Unloading ${i}"
-                               eval "unload_${i}" || reboot=1 ;;
-                       esac
-               done
-       fi
-
-       if [ ${reboot} = 1 ] ; then
-               ( sleep 5; reboot_hardware ) &
-       fi
-}
-
-startup_asterisk() {
-       DEST="${1%/}"
-       DEFAULT=$DEST/etc/default/asterisk
-       [ -f $DEFAULT ] && . $DEFAULT
-       [ -d /var/run ] || mkdir -p /var/run
-       [ -d ${asterisk_logdir} ] || mkdir -p ${asterisk_logdir}
-       [ -d ${asterisk_spooldir} ] || mkdir -p ${asterisk_spooldir}
-       [ -d /var/spool/asterisk ] || mkdir -p /var/spool/asterisk
-       [ -h $DEST/usr/lib/asterisk/astdb ] || ln -sf /var/spool/asterisk/astdb $DEST/usr/lib/asterisk/astdb
-       [ -e /dev/zappseudo ] && [ ! -d /dev/zap -o ! -e /dev/zap/pseudo ] && mkdir -p /dev/zap && ln -s /dev/zappseudo /dev/zap/pseudo
-
-       $DEST/usr/sbin/asterisk -C /tmp/asterisk/asterisk.conf $UCIOPTIONS -f 2>&1 > ${asterisk_logdir}/asterisk_proc &
-       # Wait a bit then reboot the hardware
-       ( sleep 5; reboot_hardware ) &
-}
-
-# Init.d start() handler
-start_uci_asterisk() {
-       DEST="${1%/}"
-
-       if setup_asterisk $DEST ; then
-               startup_asterisk "$DEST"
-       fi
-}
-
-restart_uci_asterisk() {
-       DEST="${1%/}"
-       if setup_asterisk $DEST ; then
-               echo "Trying to Restart gracefully"
-               if [ -r /var/run/asterisk.ctl ] ; then
-#                      if astcmd "restart gracefully" ; then
-                       echo "Sending restart"
-                       if restart_gracefully  ; then
-                               echo "Restarting gracefully"
-                               return 0
-                       fi
-               fi
-               stop_uci_asterisk "$DEST"
-               startup_asterisk "$DEST"
-       else
-               stop_uci_asterisk $1
-               echo "Setup Failed"
-               return 1
-       fi
-}
-
-# init.d stop() handler
-stop_uci_asterisk() {
-       DEST=${1%/}
-       if [ -r /var/run/asterisk.ctl ] ; then
-               astcmd "stop now"
-               sleep 1
-       fi
-       [ -f /var/run/asterisk.pid ] && kill $(cat /var/run/asterisk.pid) >/dev/null 2>&1
-}
-
-reload_uci_asterisk() {
-       DEST=${1%/}
-       DEFAULT=$DEST/etc/default/asterisk
-
-       if [ -r /var/run/asterisk.ctl ] ; then
-
-               [ -e /dev/zappseudo ] && [ ! -d /dev/zap -o ! -e /dev/zap/pseudo ] && mkdir -p /dev/zap && ln -s /dev/zappseudo /dev/zap/pseudo
-               if setup_asterisk "$DEST" ; then
-                       # Selective reload modules.
-                       reload_asterisk
-               fi
-       else
-               start_uci_asterisk "$1"
-       fi
-}
-
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/dialplanconf b/contrib/package/asterisk-xip/files/uci/dialplanconf
deleted file mode 100755 (executable)
index a8d5522..0000000
+++ /dev/null
@@ -1,855 +0,0 @@
-#!/bin/sh
-
-# Dialplans (extensions.conf)
-
-# Implicit: ast_add_conf dialplan
-init_dialplanconf() {
-       ast_enable_type dialplangeneral
-       ast_enable_type dialplan
-       ast_enable_type dialplanexten
-       ast_enable_type dialplangoto
-       ast_enable_type dialplansaytime
-       ast_enable_type dialzone
-       ast_enable_type inzone
-       ast_enable_type incominggeneral
-       ast_enable_type incoming
-
-       dialplan_allowtransfer=no
-       dialplan_dialtimeout=30
-       dialplan_answerfirst=no
-       dialplan_static=yes
-       dialplan_writeprotect=no
-       dialplan_canreinvite=no
-       dialplan_includes=
-       dialplan_globals=
-       return 0
-}
-
-match_all="_[0-9*+#]."
-match_all_s="_[0-9*+#s]."
-
-dialplangeneral_list="static writeprotect canreinvite clearglobalvars"
-dialplangeneral_list_ex="lastdialed lastdialedtype voiceboxext answerfirst dialtimeout allowtransfer international internationalout"
-
-valid_dialplangeneral() {
-       for i in  ${dialplangeneral_list} ${dialplangeneral_list_ex} ; do
-               [ "$i" == "$1" ] && return 0
-       done            
-       return 1
-}
-
-
-check_add_context() {
-       local context="${1}"
-       local check="${context#macro-}"
-       [ "${context}" == ${check} ] || check="macro__${check}"
-       eval "local isadded=\"\${dialplan_add_context_${check}-0}\""
-       if [ "$isadded" != "1" ] ; then
-               eval "dialplan_add_context_${check}=1"
-               append dialplan_contexts "$context"
-               return 0
-       else
-               return 1
-       fi
-}
-append_dialplan_context() {
-       local context="${1}"
-       local check="${context#macro-}"
-       [ "${context}" == ${check} ] || check="macro__${check}"
-       append dialplan_context_${check} "${2}" "${N}"
-}
-
-reload_dialplan() astcmd "dialplan reload"
-
-add_dialplan_exten() {
-       local context=$1
-       logdebug 3 "Exten: $2"
-       local ext="exten => $2,"
-       local planopt=
-       local timeout=${dialplan_dialtimeout}
-               # Answer extensions first.
-       local answerfirst=${dialplan_answerfirst}
-       local mailbox=$4
-       [ -z "$5" ] || timeout=$5
-       [ -z "$6" ] || answerfirst=$6
-
-       check_add_context "$context"
-
-       if [ "$dialplan_allowtransfer" == "yes" ] ; then
-               planopt=${planopt}t
-       fi
-       if [ ! -z "${planopt}" ] ; then
-               planopt=",${timeout},${planopt}"
-       elif [ ! -z "${timeout}" ] ; then
-               planopt=",${timeout}"
-       fi
-       local dial="Dial($3$planopt)"
-       local item="1,"
-       if [ "$answerfirst" == "yes" ] ; then
-               append_dialplan_context ${context}  "${ext}1,Answer"
-               item="n,"
-       fi
-       append_dialplan_context ${context}  "${ext}${item}${dial}"
-       if [ ! -z "${mailbox}" ] ; then
-               enable_voicemail
-               append_dialplan_context ${context}  "${ext}n,VoiceMail(${mailbox})"
-       fi
-
-       append_dialplan_context ${context}  "${ext}n,Congestion"
-}
-
-add_dialplan_include() {
-       local context=$1
-       logdebug 1 "Adding Dialplan Include $1 $2"
-       check_add_context "$context"
-
-       split_append dialplan_context_${context} "include => " "$2" "${N}"
-}
-
-add_dialplan_saytime() {
-       local context=$1
-       logdebug 1 "Adding Dialplan saytime $1 $2"
-       check_add_context "$context"
-       local ext="exten => $2,"
-       if [ "$dialplan_add_context_saytime" != 1 ] ; then
-               append dialplan_contexts saytime " "
-               dialplan_add_context_saytime=1
-               enable_format gsm
-               enable_module app_sayunixtime
-               local zone=${asterisk_zone}
-               [ ! -z "$3" ] && zone="$3"
-               local format="IMp AdbY"
-               [ ! -z "$4" ] && format="$4"
-               append dialplan_context_saytime "exten => s,1,SayUnixTime(,${zone},${format})" "${N}"
-       fi
-       append_dialplan_context ${context}  "${ext}1,Goto(saytime,s,1)"
-}
-
-add_dialplan_goto() {
-       local context=$1
-       logdebug 1 "Adding Dialplan goto $1 $2 $3"
-       check_add_context "$context"
-       append dialplan_context_${context} "exten => $2,1,Goto($3,\${EXTEN},1)" "${N}"
-}
-
-dialplan_inzone_list="match caller goto"
-
-valid_dialplan_inzone() {
-       is_in_list $1 ${valid_inzone_list}
-       return $?
-}
-
-check_append_inzone() {
-       local context="${1}"
-       eval "local isadded=\"\${dialplan_add_inzone_${context}-0}\""
-       if [ "$isadded" != "1" ] ; then
-               eval "dialplan_add_inzone_${check}=1"
-               append inzone_contexts "$context"
-               return 0
-       else
-               return 1
-       fi
-}
-
-handle_inzone() {
-
-       context_name=${1}
-       check_append_inzone ${context_name}
-
-       option_cb(){
-               case $1 in
-                       goto)       eval "inzone_${context_name}_goto=\"\$2\"" ;;
-                       match_ITEM*|match)   append inzone_${context_name}_match "$2" " " ;;
-                       caller_ITEM*|caller) append inzone_${context_name}_caller "$2" " " ;;
-                       include_ITEM*|include) append inzone_${context_name}_include "$2" " " ;;
-                       match_LENGTH|caller_LENGTH|include_LENGTH) ;;
-                       _*) ;;
-                       *) logerror "Invalid Dialplan inzone option: $1" ;;
-               esac
-       }
-}
-
-
-append_dialplan_inzone() {
-       local file=$1
-       for context in ${inzone_contexts} ; do
-               for i in goto match caller include ; do
-                       eval "iz_$i=\"\${inzone_${context}_${i}}\""
-               done
-               if [ -z "${iz_goto}" ] ; then
-                       logerror "Missing goto for inzone: ${context}"
-               elif [ -z "${iz_match}" -a -z "${iz_caller}" ] ; then
-                       logerror "Missing match for inzone: ${context}"
-               else
-                       echo "${N}[${context}]" >> ${file}
-                       for curmatch in ${iz_include} ; do
-                               echo "include => ${curmatch}" >> $file
-                       done
-
-                       local gotoline="Goto(${iz_goto},\${EXTEN},1)"
-                       [ -z "${iz_match}" ] && iz_match=${match_all}
-                       for curmatch in ${iz_match} ; do
-                               if [ -z "${iz_caller}" ] ; then
-                                       echo "exten => ${curmatch},1,${gotoline}" >> $file
-                               else
-                                       for curcaller in ${iz_caller} ; do
-                                               echo "exten => ${curmatch}/${curcaller},1,${gotoline}" >> $file
-                                       done
-                               fi
-                       done
-               fi
-       done
-}
-
-append_dialplan_dialzone()  {
-       local file=$1
-
-       # Add the dialzone contexts
-       logdebug 1 "Dialplan: Add the dialzone contexts"
-       for zonename in ${dzones_match} ; do
-               eval "local diallist=\${dzone_${zonename}_match-}"
-               echo "${N}[${zonename}]" >> $file
-               eval "dialz=\${dzone_match_use_${zonename}-}"
-
-               logdebug 3 "Find international options for zone ${zonename} from ${dialz}"
-               for v in prefix internationalprefix alwaysinternational countrycode ; do
-                       eval "local $v=\${target_${v}_${dialz}:-}"
-                       eval logdebug 3 "\"${v} = '\${$v}'\""
-               done
-
-               for v in localzone addprefix localprefix; do
-                       eval "local $v=\${dzone_${zonename}_${v}:-}"
-               done
-               while [ ! -z "$diallist" ] ; do
-                       cur=${diallist%%,*}
-                       nvar=${diallist#*,}
-                       if [ "${alwaysinternational}" = "yes" ] ; then
-                               # Always dial international number with this target
-                               # remove 'localprefix' (usually 0) from  'addprefix'
-                               logdebug 3 "Removing ${localprefix} from ${addprefix}"
-                               addprefix=${addprefix#$localprefix}
-                               local curlen=`expr length "${localprefix}"`
-                               if [ $curlen != 0 ] ; then
-                                       # remove 0 (or local prefix)
-                                       echo "exten => _${localprefix}${cur},1,Goto(${dialz}_dial,${countrycode}${addprefix}\${EXTEN:$curlen},1)" >> $file
-                               fi
-                               echo "exten => _${cur},1,Goto(${dialz}_dial,${countrycode}${addprefix}\${EXTEN},1)" >> $file
-                       else
-                               echo "exten => _${cur},1,Goto(${dialz}_dial,${addprefix}\${EXTEN},1)" >> $file
-                       fi
-                       [ "$nvar" == "$diallist" ] && break
-                       diallist=${nvar}
-               done
-               eval "local diallist=\${dzone_${zonename}_international-}"
-               if [ ! -z "${diallist}" ] ; then
-                       logdebug 2 "International: ${diallist}"
-                       while [ ! -z "$diallist" ] ; do
-                               cur="${diallist%%,*}"
-                               nvar="${diallist#*,}"
-                               logdebug 4 "Adding international ${cur}"
-
-                               local curlen=`expr length "${cur}"`
-                               if [ "$alwaysinternational" = "yes" ]  ; then
-                                       echo "exten => _${cur},1,Goto(${dialz}_dial,${addprefix}\${EXTEN:${curlen}},1)" >> $file
-                               else
-                                       echo "exten => _${cur}.,1,Goto(${zonename}_check,${addprefix}\${EXTEN:${curlen}},1)" >> $file
-                               fi
-                               [ "$nvar" == "$diallist" ] && break
-                               diallist="${nvar}"
-                       done
-
-                       if [ "$alwaysinternational" != "yes" ]  ; then
-                               logdebug 2 "Not Always International:"
-                               # Check for local country code
-                               echo "[${zonename}_check]" >> $file
-
-                               local locallen=`expr length "${countrycode}"`
-                               echo "exten => _${countrycode}X.,1,Goto(${localzone-default},${localprefix-0}\${EXTEN:${locallen}},1)" >> $file
-                               echo "exten => _X.,1,Goto(${dialz}_dial,${internationalprefix}\${EXTEN},1)" >> $file
-                       fi
-               fi
-       done
-       logdebug 1 "Dialplan: Finish the dialzone contexts"
-
-}
-
-append_dialplan_dialzone_out(){
-       local file=$1
-
-       # Add the dialzone target contexts (dialing out)
-       logdebug 1 "Dialplan: Add the dialzone target contexts"
-       for contype in SIP IAX ; do
-               eval local conlist=\${dzones_${contype}-}
-               logdebug 1 "Adding ${contype} targets: ${conlist}"
-               for conname in $conlist ; do
-                       echo "${N}[${contype}_${conname}_dial]" >> $file
-                       for  v in prefix internationalprefix alwaysinternational countrycode timeout lastdialed lastdialedtype ; do
-                               eval "local $v=\${target_${v}_${contype}_${conname}:-}"
-                       done
-
-                       if [ -z "${lastdialed}" ] ; then
-                               lastdialed=${dialplan_lastdialed}
-                               lastdialedtype=${dialplan_lastdialedtype}
-                       fi
-
-                       # [ -z "${lastcallout}" ] && lastcallout=${feature_lastcall_outqueue}
-                       # if [ ! -z "${lastcalloutexten}" ] ; then
-                       #       eval "local added=\${lastcallout_outqueue_extension_${lastcalloutexten}}"
-                       #       if [ ! "${added}" == 1 ] ; then
-                       #               add_dialplan_lastcall extensions "${lastcalloutexten}" "${lastcallout}" "${feature_lastcall_outcount}"
-                       #               eval "local lastcallout_outqueue_extension_${lastcalloutexten}=1"
-                       #       fi
-                       # fi
-                       local ext="exten => _X.,"
-                       local en="1,"
-                       # Do not use prefix unles 'alwaysinternational' is yes
-                       [ "$alwaysinternational" != "yes" ]  && internationalprefix=
-
-                       # if [ ! -z "${lastcallout}" ] ; then # Add lastcall out
-                       #       enable_lastcall
-                       #       echo "${ext}${en}Macro(lastcallstore,${internationalprefix}\${EXTEN},${lastcallout},${feature_lastcall_outcount})" >> $file
-                       #       en="n,"
-                       # fi
-
-                       if [ ! -z "${lastdialed}" ] ; then
-                               enable_module func_callerid
-                               local lastparam="\${EXTEN}"
-                               local lastmacro=${lastdialed}
-                               local lastmacrotype=${lastdialedtype}
-                               [ -z ${lastdialedtype} ]  && lastdialedtype=macro
-
-                               local jumpmacroline=
-                               gen_jumpmacro jumpmacroline "${ext}${en}" "" "${lastmacrotype}" "${lastmacro}" "${lastparam}"
-                               echo ${jumpmacroline} >> $file
-                               en="n,"
-                       fi
-                       echo "${ext}${en}Dial(${contype}/${prefix}${internationalprefix}\${EXTEN}@${conname},$timeout)" >> $file
-                       echo "exten => _X.,n,Congestion" >> $file
-               done
-       done
-}
-
-
-gen_jumpmacro() {
-       logdebug 3 "Gen JumpMacro /$1/=/$2/$3/$4/$5/$6/"
-       local leader=$2
-       local condition=$3
-       local macrotype=$4
-       local name=$5
-       local param=$6
-
-       if [ -z "${condition}" ] ; then
-               local cond="("
-       else
-               local cond="If(${condition}?"
-       fi
-       case ${macrotype} in
-               gosub)
-                       enable_module app_stack # for gosub
-                       logdebug 1 "${1}=\"\${leader}Gosub\${cond}\${name},\${param},1)\""
-                       eval "${1}=\"\${leader}Gosub\${cond}\${name},\${param},1)\"" ;;
-               gosub_s)
-                       enable_module app_stack # for gosub
-                       logdebug 1 "${1}=\"\${leader}Gosub\${cond}\${name},s,1(\${param}))\""
-                       eval "${1}=\"\${leader}Gosub\${cond}\${name},s,1(\${param}))\"" ;;
-               macro)
-                       enable_module app_macro
-                       logdebug 1 "${1}=\"\${leader}Macro\${cond}\${name},\${param})\""
-                       eval  "${1}=\"\${leader}Macro\${cond}\${name},\${param})\"" ;;
-
-               s|start)
-                       enable_module app_goto
-                       logdebug 1 "${1}=\"\${leader}Goto(\${iz_target},s,1)\"" 
-                       eval "${1}=\"\${leader}Goto(\${iz_target},s,1)\"" ;;
-               *)
-                       enable_module app_goto
-                       logdebug 1 "${1}=\"\${leader}Goto\${cond}\${name},\${param},1)\""
-                       eval "${1}=\"\${leader}Goto\${cond}\${name},\${param},1)\"" ;;
-       esac
-}
-
-append_jumpmacro(){
-       local context=$1
-       local jumpmacroline=""
-       gen_jumpmacro "jumpmacroline" "$2" "$3" "$4" "$5" "$6"
-       append_dialplan_context ${context}  "${jumpmacroline}"
-}
-
-append_dialplan_incoming(){
-       local file=$1
-       # Evaluate the incoming ringing dialplans
-       logdebug 1 "Add the 'incoming' dialplans: ${dialplan_extensions_incoming}"
-       for context in ${dialplan_extensions_incoming} ; do
-               eval "local curext=\"\${dialplan_incoming_$context}\""
-               logdebug 2 "Adding incoming ${curext}"
-
-               check_add_context "$context"
-               # lastcall lastcallexten lastmissed lastmissedexten 
-               for i in answerfirst beforeanswer timeout menucontext \
-                                        lastcall lastcalltype missed missedtype allowtransfer mailbox match matchcaller aftertimeout aftertimeouttype; do
-                       eval "local iz_$i=\"\${incoming_${context}_$i}\""
-                       eval "logdebug 1 \"Incoming \$context: iz_\$i=\${iz_$i}\""
-               done
-               [ ! -z ${iz_menucontext} ] && iz_answerfirst=yes
-
-               if [ ! -z ${curext} ] ; then
-                       [ -z ${iz_answerfirst} ]   && iz_answerfirst=${incoming_answerfirst}
-#                      [ -z ${iz_lastcall} ]      && iz_lastcall=${feature_lastcall_inqueue}
-                       if [ -z ${iz_lastcall} ] ; then
-                               iz_lastcall=${incoming_lastcall}
-                               iz_lastcalltype=${incoming_lastcalltype}
-                       fi
-                       if [ -z ${iz_missed} ] ; then
-                               iz_missed=${incoming_missed}
-                               iz_missedtype=${incoming_missedtype}
-                       fi
-                       [ -z ${iz_mailbox} ]       && iz_mailbox=${incoming_mailbox}
-                       [ -z ${iz_timeout} ]       && iz_timeout=${incoming_timeout}
-                       [ -z ${iz_allowtransfer} ] && iz_allowtransfer=${incoming_allowtransfer}
-               fi
-
-               [ -z ${iz_match} ]         && iz_match=_X.
-               [ ! -z ${iz_matchcaller} ] && iz_match=${iz_match}/${iz_matchcaller}
-
-               local ext="exten => ${iz_match},"
-               local planopt=
-               [ "${iz_allowtransfer}" == "yes" ] && planopt=${planopt}t
-               local item="1,"
-
-               #append_dialplan_context ${context}  "${ext}${item}Ringing()"
-               if [ ! -z "${iz_lastcall}" ] ; then
-
-                       enable_module func_callerid
-                       local lastparam="\${CALLERID(num)}"
-                       local lastmacrotype="${iz_lastcalltype}"
-                       [ -z "${iz_lastcalltype}" ] && lastmacrotype=macro
-                       local lastmacro=${iz_lastcall}
-                       append_jumpmacro "${context}" "${ext}${item}" "" "${lastmacrotype}" "${lastmacro}" "${lastparam}"
-                       item="n,"
-               fi
-               if [ ! -z "${iz_missed}" ] ; then
-                       enable_module func_callerid
-                       local missedparam="\${CALLERID(num)}"
-                       [ -z "${iz_missedtype}" ] && iz_missedtype=macro
-
-                       append_dialplan_context ${context}  "${ext}${item}Set(lcsMissed=\${CALLERID(num)})"
-                       item="n,"
-               fi
-               # Ring before answering
-               if [ ! -z "${iz_beforeanswer}" -a ! -z "${curext}" ] ; then
-                       append_dialplan_context ${context}  "${ext}${item}Dial(${curext},${iz_beforeanswer},${planopt})"
-                       iz_answerfirst=yes
-                       item="n,"
-               fi
-               # Now answer
-               if [ "$iz_answerfirst" == "yes" ] ; then
-                       append_dialplan_context ${context}  "${ext}${item}Answer"
-                       item="n,"
-               fi
-               # if [ ! -z ${iz_lastcallexten} ] ; then
-               #       enable_lastcall
-               #       add_dialplan_lastcall extensions "${iz_lastcallexten}" "${iz_lastcall}" "${feature_lastcall_incount}"
-               # fi
-
-               if [ ! -z ${curext} ] ; then
-                       if [ ! -z ${iz_menucontext} ] ; then
-                               planopt=${planopt}rd
-                               enable_module res_indications
-                               # wait so the next ring connects.
-                               append_dialplan_context ${context}  "${ext}${item}Wait(1)"
-                               append_dialplan_context ${context}  "${ext}n,Set(EXITCONTEXT=${iz_menucontext})"
-                       fi
-
-                       if [ ! -z ${planopt} ] ; then
-                               planopt=",${iz_timeout-},${planopt}"
-                       elif [ ! -z ${iz_timeout-} ] ; then
-                               planopt=",${iz_timeout-}"
-                       fi
-                       local dial="Dial(${curext}${planopt})"
-
-                       append_dialplan_context ${context}  "${ext}n,${dial})"
-
-                       if [ ! -z ${iz_missed} ] ; then
-                               # It went to voicemail or was hung up - consider missed
-                               append_jumpmacro ${context} "${ext}${item}" "" "${iz_missedtype}" "${iz_missed}" "\${lcsMissed}"
-                       fi
-               fi
-               
-               local need_hangup=1
-               # Add a goto or macro at the end
-               if [ ! -z ${iz_target} ] ; then
-                       case ${iz_aftertimeouttype} in
-                               macro) append_dialplan_context ${context}  "${ext}${item}Macro(${iz_target})";;
-                               s|start) append_dialplan_context ${context}  "${ext}${item}Goto(${iz_target},s,1)"
-                                        need_hangup=0;;
-                               *) append_dialplan_context ${context}  "${ext}${item}Goto(${iz_target},\${EXTEN},1)"
-                                        need_hangup=0;;
-                       esac
-               fi
-
-               if [ ! -z ${iz_mailbox} ] ; then
-                       enable_voicemail
-                       append_dialplan_context ${context}  "${ext}n,VoiceMail(${iz_mailbox})"
-               fi
-
-               [ "${need_hangup}" = "1" ] && append_dialplan_context ${context}  "${ext}n,Hangup"
-
-               if [ ! -z ${iz_missed} ] ; then
-                       # Check for missed call
-
-                       append_jumpmacro ${context} "exten => h,1," "\$[\"\${DIALSTATUS}\" = \"CANCEL\"]" "${iz_missedtype}" "${iz_missed}" "\${lcsMissed}"
-                       #append dialplan_context_${context} \
-                       #       "exten => h,1,MacroIf(\$[\"\${DIALSTATUS}\" = \"CANCEL\"]?lastcallstore,\${lcsMissed},${iz_lastmissed},${feature_lastcall_incount})" "${N}"
-                       # [ ! -z ${iz_lastmissedexten} ] && \
-                       #       add_dialplan_lastcall extensions "${iz_lastmissedexten}" "${iz_lastmissed}" "${feature_lastcall_incount}"
-               fi
-       done
-}
-
-append_dialplan_extensions(){
-       local file=$1
-       # Evaluate the 'extension' dialplans
-       logdebug 1 "Add the 'extension' dialplans: ${dialplan_exts}"
-       for i in ${dialplan_exts} ; do
-               eval "local curext=\"\${dialplan_ext_$i}\""
-               add_dialplan_exten extensions $i $curext
-       done
-}
-
-append_include() {
-       append dialplan_includes "#include <$1>" "$N"
-}
-
-
-create_dialplanconf() {
-       # Add general section
-       logdebug 1 "Dialplan: Add general section"
-       local file=${DEST_DIR}/extensions.conf
-       get_checksum dialplan_conf $file
-
-       echo "${asteriskuci_gen}" > $file
-       
-       [ -z "${dialplan_includes}" ] || (echo "${dialplan_includes}${N}" >> $file)
-
-       if [ ! -z "${dialplan_globals}" ] ; then
-               echo "[globals]${N}${dialplan_globals}${N}" >> $file
-       fi
-
-       echo "[general]" >> $file
-       for i in  ${dialplangeneral_list} ; do
-               eval "local val=\"\$dialplan_$i\""
-               if [ ! -z "$val" ] ; then
-                       echo "$i=$val" >> $file
-               fi
-       done
-
-       append_dialplan_dialzone "$file"
-
-       append_dialplan_dialzone_out "$file"
-
-       append_dialplan_park "$file"
-
-       append_dialplan_extensions "$file"
-
-       append_dialplan_inzone "$file"
-
-       append_dialplan_incoming "$file"
-
-
-       # append_dialplan_lastcall "$file"
-
-       # Add all the contexts
-       logdebug 1 "Dialplan: Add all the contexts"
-       for i in ${dialplan_contexts} ; do
-               echo "${N}[$i]" >> $file
-               [ "${i#macro-}" == "${i}" ] || i=macro__${i#macro-}
-               eval "local curcontext=\"\${dialplan_context_$i-}\""
-               echo "$curcontext">> $file
-               eval unset dialplan_context_$i
-       done
-
-       check_checksum "$dialplan_conf" "$file"  || ast_dialplan_restart=1
-
-       return 0
-}
-
-handle_dialplangeneral() {
-       option_cb(){
-               if valid_dialplangeneral $1 $2 ; then
-                       eval "dialplan_$1=\"$2\""
-               else
-                       logerror "Invalid Dialplan General option: $1"
-               fi
-       }
-}
-
-
-handle_dialplan(){
-       context_name=$1
-       if [ -z ${context_name} ] ; then
-               logerror "Context name required for dialplan"
-               context_name=default
-       fi
-       option_cb() {
-               logdebug 4 "dialplan ${context_name}: '$1' '$2'"
-               case $1 in
-                       include_LENGTH) ;;
-                       include|include_ITEM*) add_dialplan_include ${context_name} $2 ;;
-                       _*) ;;
-                       *)
-                               lhs=$1
-                               logdebug 4 "Add extension $lhs"
-                               if [ "$(expr $lhs : [0-9][0-9]\*)" != 0 ] ; then
-                                       addtype=${2%%:*}
-                                       if [ "${addtype}" == "$2" ]; then
-                                               addparam=
-                                       else
-                                               addparam=${2#*:}
-                                       fi
-                                       case ${addtype} in
-                                               mailbox|voice)
-                                                       add_dialplan_voice ${context_name} $1 $addparam ;;
-                                               meetme|conf|conference)  add_dialplan_meetme ${context_name} $1 $addparam ;;
-                                               saytime|time) add_dialplan_saytime ${context_name} $1 $addparam ;;
-                                               clock) add_dialplan_talkclock ${context_name} $1 $addparam ;;
-                                               *) logerror "Unknown type '${addtype}' in dialplan ${context_name}, extension ${1}"
-                                       esac
-                               else
-                                       logerror "Invalid option: $1 for dialplan ${context_name}"
-                               fi
-               esac
-       }
-}
-
-handle_dialplanexten() {
-       check_add dialplanexten
-       option_cb() {
-               case $1 in
-                       dialplan|extension|type|target|dialextension|voicebox|timeout|answerfirst)
-                               eval "dial_exten_$1=\"$2\""
-               esac
-       }
-}
-
-check_add_dialplanexten() {
-       if [ ! -z "${dial_exten_dialplan}" -a ! -z "${dial_exten_extension}" ] ; then
-
-               local dialext_type=
-               local dialext_ext=
-               if ! split_targettype dialext_type dialext_ext "${dial_exten_target}" ; then
-                       if [ -z "${dial_exten_type}" ] ; then
-                               logerror "No extension type specified for ${dial_exten_dialplan} ${dial_exten_extension}"
-                               return 1
-                       fi
-                       dialext_type="${dial_exten_type}"
-                       dialext_ext="${dial_exten_target}"
-               fi
-
-
-               local dialtarget="${dialext_type}/${dialexten_ext}${dial_exten_dialextension+/}${dial_exten_dialextension}"
-
-               check_add_context ${dial_exten_dialplan}
-               add_dialplan_exten "${dial_exten_dialplan}" "${dial_exten_extension}" \
-                   "${dialtarget}" "${dial_exten_voicebox}" "${dial_exten_timeout}" \
-                               "${dial_exten_answerfirst}"
-       fi
-       for i in dialplan extension voicebox type target dialextension timeout answerfirst ; do
-               eval "unset dial_voice_$i"
-       done
-}
-
-handle_dialplansaytime() {
-       check_add dialplansaytime
-       option_cb() {
-               case $1 in
-                       dialplan|extension|zone|format)
-                               eval "dial_saytime_$1=\"$2\""
-               esac
-       }
-}
-
-check_add_dialplansaytime() {
-       logdebug 1 "Add Saytime to $1 / $2"
-       if [ ! -z "${dial_saytime_dialplan}" -a ! -z "${dial_saytime_extension}" ] ; then
-               #               local ext="exten => ${dial_saytime_extension},"
-               [ -z "${dial_saytime_dialplan}" ] && dial_saytime_dialplan=default
-
-               add_dialplan_saytime "${dial_saytime_dialplan}" "${dial_saytime_extension}" \
-                       "${dial_saytime_zone}" "${dial_saytime_format}"
-       fi
-       for i in dialplan extension zone format; do
-               eval "unset dial_saytime_$i"
-       done
-       
-}
-
-handle_dialzone_match() {
-       eval "local isadded=\"\${dzone_${zone_name}-0}\""
-       if [ "${isadded}" != "1" ] ; then
-               eval "dzone_${zone_name}=1"
-               append dzones_match ${zone_name} " "
-       fi
-       append dzone_${zone_name}_match $1 ","
-}
-
-# Set up outgoing zones (match patterns)
-handle_dialzone() {
-       zone_name=$1
-       logdebug 2 "Loading dialzone: $zone_name"
-       option_cb(){
-               logdebug 2 "Dialzone $1/$2"
-               case $1  in
-                       uses)
-                               local areatype=
-                               local areaname=
-                               split_targettype areatype areaname "$2"
-                               logdebug 3 "Added: $areatype $areaname"
-                               eval "local isadded=\"\${dzone_${areatype}_${areaname}-0}\""
-                               if [ "${isadded}" != "1" ] ; then
-                                       eval dzone_${areatype}_${areaname}=1
-                                       append dzones_${areatype} "${areaname}" " "
-                               fi
-                               eval "dzone_match_use_${zone_name}=${areatype}_${areaname}"
-                               logdebug 3 "Finished uses"
-                               ;;
-                       match_LENGTH) ;;
-                       match|match_ITEM*)
-                               handle_dialzone_match "$2"
-                               ;;
-                       international_LENGTH) ;;
-                       international|international_ITEM*)
-                               eval "local isadded=\"$dzone_${zone_name}\""
-                               if [ "${isadded}" != "1" ] ; then
-                                       eval "dzone_${zone_name}=1"
-                                       append dzones_match ${zone_name} " "
-                               fi
-                               append dzone_${zone_name}_international $2 ","
-                               ;;
-                       countrycode|localzone|addprefix|localprefix)
-                               eval "dzone_${zone_name}_${1}=\"$2\""
-                               eval "y=\${dzone_${zone_name}_${1}}"
-                               ;;
-                       *)
-                               logerror "Invalid Dialzone option: $1 in zone '${zone_name}'" ;;
-               esac
-       }
-}
-
-check_add_dialplangoto() {
-       logdebug 1 "Add Goto to $1 / $2"
-       if [ ! -z "${dial_goto_dialplan}" -a ! -z "${dial_goto_extension}" ] ; then
-               local ext="exten => ${dial_goto_extension},"
-               check_add_context ${dial_goto_dialplan}
-               append_dialplan_context ${dial_goto_dialplan}  "${ext}1,Goto(${dial_goto_target})"
-       fi
-       for i in dialplan extension room ; do
-               eval "unset dial_goto_$i"
-       done
-}
-
-handle_dialplangoto(){
-       check_add dialplangoto
-       option_cb() {
-               case $1 in
-                       dialplan|extension|target)
-                               eval "dial_goto_$1=\"$2\"" ;;
-                       *) logerror "Invalid dialplangoto option: $1"
-               esac
-       }
-}
-
-# Options for incoming calls.
-
-valid_incoming_list="allowtransfer timeout answerfirst mailbox lastcall lastcalltype missed missedtype"
-
-valid_incoming_option() {
-       is_in_list $1 ${valid_incoming_list}
-       return $?
-}
-
-handle_incominggeneral() {
-       option_cb() {
-               if valid_incoming_option $1 ; then
-                       logdebug 3 "Add Incoming General option $1=$2"
-                       eval "incoming_${1}=\"$2\""
-               else
-                       logerror "Invalid incominggeneral option $1"
-               fi
-       }
-}
-
-add_incoming_context() {
-       local context=$1
-       eval "local added=\${dialplan_incoming_${context}_added}"
-       if [ "${added}" != "1" ] ; then
-               append dialplan_extensions_incoming "${context}" " "
-               eval "dialplan_incoming_${context}_added=1"
-       fi
-
-}
-
-# Add to incoming ringing
-add_incoming() {
-       local rhs="$3"
-       
-       while [ ! -z "$rhs" ] ; do
-               cur=${rhs%%,*}
-               nvar=${rhs#*,}
-               add_incoming_context ${cur}
-               append dialplan_incoming_${cur} "$1/$2" "&" 
-               [ "$nvar" == "$rhs" ] && break
-               rhs=${nvar}
-       done
-}
-
-to_upper() {
-       eval "$1=`echo \"$2\"|tr [a-z] [A-Z]`"
-}
-to_lower() {
-       eval "$1=`echo \"$2\"|tr [A-Z] [a-z]`"
-}
-
-split_targettype() { # TYPE target inputEntry
-       local l_targettype="${3%[-_/]*}"
-       if [ "${l_targettype}" == "$3" ] ; then
-               return 1
-       fi
-       local l_targetname="${3#*[-_/]}"
-       to_upper "$1" "${l_targettype}"
-       eval "$2=\"${l_targetname}\""
-       return 0
-}
-
-
-handle_incoming() {
-       incoming_context=$1
-       incoming_list=
-       add_incoming_context "${incoming_context}"
-
-       option_cb() {
-               logdebug 1 "Incoming ${incoming_context} $1=$2"
-               case $1 in
-                       lastcall|lastcalltype|missed|missedtype) eval "incoming_${incoming_context}_${1}=\"$2\"" ;;
-#                      lastcall|lastcallexten|lastmissed|lastmissedexten)
-#                              enable_lastcall
-#                              eval "incoming_${incoming_context}_${1}=\"$2\""
-#                              ;;
-                       mailbox|allowtransfer|answerfirst|beforeanswer|timeout|menucontext|match|matchcaller|aftertimeout|aftertimeouttype)
-                               eval "incoming_${incoming_context}_${1}=\"$2\""
-                               ;;
-                       target|target_ITEM*)
-                               local targettype=
-                               local targetname=
-                               if split_targettype targettype targetname "${2}" ; then
-                                       append dialplan_incoming_${incoming_context} "${targettype}/${targetname}" "&"
-                               else
-                                       logerror "No target type specified for target=$2 in ${incoming_context}"
-                               fi
-                               ;;
-                       target_LENGTH|member_LENGTH) ;;
-                       *) logerror "Invalid option $1 in incoming" ;;
-               esac
-       }
-}
-
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/dialplanconf.txt b/contrib/package/asterisk-xip/files/uci/dialplanconf.txt
deleted file mode 100644 (file)
index 37b5a95..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-
-dialplangeneral 
-       asterisk options:
-               static
-               writeprotect
-               canreinvite
-               clearglobalvars
-
-       global settings for dialzone out:
-               lastdialed
-               lastdialedtype
-
-       Global option for dialplanexten:
-               answerfirst
-               dialtimeout
-               allowtransfer - allow transfers in dialing
-
-       voiceboxext    Extension to use for voicebox set on local client
-
-       international
-       internationalout
-
-dialplan {name}        - Define a dialplan context
-       include (list)
-       #=mailbox|voice|meetme|saytime|clock
-
-dialplanexten  - Add number to Dialplan for ringing an extension
-       dialplan     - Dialplan to add to
-       extension    - Number to dial
-       type         - Channel type sip/iax/local
-       target       - Target [type/]target
-       dialextension - Extension to dial
-       voicebox     - Voicebox to fall back to
-       timeout      - Timeout for dial
-       answerfirst  - Answer before dialing
-
-dialplangoto
-       dialplan     - Dialplan to add to
-       extension    - Number to dial
-       target       - Goto  Target
-
-dialplansaytime
-       dialplan     - Dialplan to add to
-       extension    - Number to dial
-       zone         - Time Zone to use
-       format       - Format to use.
-
-dialzone {name} - Outgoing zone.
-       uses          - Outgoing line to use: TYPE/Name
-       match (list)  - Number to match
-       countrycode   - The effective country code of this dialzone
-       international (list) - International prefix to match
-       localzone     - dialzone for local numbers
-       addprefix     - Prexix required to dial out.
-       localprefix   - Prefix for a local call
-
-inzone {name}
-       include (list) - Other zones to include
-       match (list)  - Number to match
-       caller (list) - Caller number to match
-       goto          - Forward to zone.
-
-incominggeneral
-       allowtransfer  - Default Allow transfers for Dial()
-       timeout        - Default timeout for incoming calls
-       answerfirst    - Default value for incoming calls
-       mailbox        - Default global mailbox for incoming calls
-       lastcall       - Subroutine Context to store Last incoming call
-       lastcalltype   - Method for calling lastcall (default macro) goto|gosub|macro|start
-       missed         - Subroutine context to store last missed call dialplan context
-       missedtype     - Method for calling 'missed' context  macro|gosub|macro|start
-
-incoming {name} - Incoming zone
-       allowtransfer    - Allow transfers for Dialed extension
-       timeout          - Timeout for call
-       answerfirst      - Answer the incoming call before Ringing
-       mailbox          - Voicemail mailbox to use when
-
-       beforeanswer     - Time to ring before asterisk 'answers' and takes control of the call
-       menucontext      - EXITCONTEXT for the ring once asterisk is handling the call
-       match            - Dialed number to match
-       matchcaller      - Caller to match
-       aftertimeout     - Target macro/goto once the timeout has past, before voicemail
-       aftertimeouttype - Type of the target (macro|start|goto)
-       lastcall         - Subroutine Context to store Last incoming call
-       lastcalltype     - Method for calling lastcall (default macro) goto|gosub|macro|start
-       missed           - Subroutine context to store last missed call dialplan context
-       missedtype       - Method for calling 'missed' context  goto|gosub|macro|start
-       target (list)    - Add local extension type/Name
-
diff --git a/contrib/package/asterisk-xip/files/uci/disaconf b/contrib/package/asterisk-xip/files/uci/disaconf
deleted file mode 100644 (file)
index 119ad61..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/bin/sh
-
-# DISA - Directed Inwards System Application
-
-ast_add_module disaconf
-
-init_disaconf() {
-       ast_enable_type disa
-       ast_enable_type disaentry
-}
-
-check_append_disa() {
-       local context="${1}"
-       eval "local isadded=\"\${dialplan_add_disa_${context}-0}\""
-       if [ "$isadded" != "1" ] ; then
-               eval "dialplan_add_disa_${context}=1"
-               append disa_contexts "$context"
-               return 0
-       else
-               return 1
-       fi
-}
-
-handle_disa(){
-       opt_disa_context="$1"
-
-       check_append_disa "$1"
-
-       option_cb() {
-               case "$1" in
-                       context|mailbox|passcode|timeout)
-                               eval "opt_disa_${opt_disa_context}_$1=\"\$2\"" ;;
-                       _*) ;;
-                       *) logerror "Invalid DISA option in ${opt_disa_context}: $1" ;;
-               esac
-       }
-}
-
-disaoption_list="disa context mailbox passcode callerid"
-
-check_add_disaentry() {
-       if [ ! -z "${last_disa_disa}" ] ; then
-               if [ -z "${last_disa_passcode}" ] ; then
-                       logerror "Passcode required in DisaEntry for ${last_disa_disa}"
-               else
-                       logdebug 3 "Adding DisaEntry to ${last_disa_disa}"
-                       [ -z "${last_disa_context}" ] && eval "last_disa_context=\"\${opt_disa_${last_disa_disa}_context}\""
-                       [ -z "${last_disa_mailbox}" ] && eval "last_disa_mailbox=\"\${opt_disa_${last_disa_disa}_mailbox}\""
-                       local line=
-                       [ -z "${last_disa_mailbox}" ] || line="|${last_disa_mailbox}"
-                       [ -z "${line}" -a -z "${last_disa_callerid}" ] || line="|${last_disa_callerid}${line}"
-                       [ -z "${line}" -a -z "${last_disa_context}" ] || line="|${last_disa_context}${line}"
-                       line="${last_disa_passcode}${line}"
-                       append opt_disa_${last_disa_disa}_list "${line}" "${N}"
-               fi
-       fi
-       for i in ${disaoption_list} ; do
-               eval "unset last_disa_$i"
-       done
-}
-
-handle_disaentry() {
-       check_add disaentry
-       option_cb() {
-               case "$1" in
-                       disa|context|mailbox|passcode|callerid)
-                               eval "last_disa_$1=\"\$2\"" ;;
-                       _*) ;;
-                       *) logerror "Invalid DISAEntry option in ${last_disa_context-<unknown>}: $1" ;;
-               esac
-       }
-}
-
-createdialplan_disaconf() {
-       if [ ! -z "${disa_contexts}" ] ; then
-               enable_module app_disa
-               for disactx in ${disa_contexts} ; do
-                       logdebug 3 "Adding DISA context ${disactx}"
-                       if check_add_context ${disactx} ; then
-                               eval "local disa_list=\"\${opt_disa_${disactx}_list}\""
-                               eval "local disa_timeout=\"\${opt_disa_${disactx}_timeout}\""
-                               local nn=1
-                               if [ ! -z "${disa_timeout}" ] ; then
-                                       logdebug 3 "Adding timeout to ${disactx}"
-                                       enable_module func_timeout
-                                       append_dialplan_context ${disactx} "exten => s,1,SET(TIMEOUT(response)=${disa_timeout})"
-                                       nn=n
-                               fi
-                               if [ -z "${disa_list}" ] ; then
-                                       logdebug 3 "No list in ${disactx}"
-                                       eval "local disa_mailbox=\"\${opt_disa_${disactx}_mailbox}\""
-                                       eval "local disa_context=\"\${opt_disa_${disactx}_context}\""
-                                       eval "local disa_passcode=\"\${opt_disa_${disactx}_passcode}\""
-                                       if [ ! -z ${disa_mailbox} ] ; then
-                                               disa_list="${disa_passcode}|${disa_context}||${disa_mailbox}"
-                                       else
-                                               append_dialplan_context ${disactx} "exten => s,${nn},DISA(${disa_passcode},${disa_context})"
-                                       fi
-                               fi
-                               if [ ! -z "${disa_list}" ] ; then
-                                       logdebug 3 "Output list to file in ${disactx}"
-                                       logdebug 4 "list: ${disa_list}"
-                                       local file="${DEST_DIR}/disa_${disactx}.txt"
-                                       echo "${asteriskuci_gen}${disa_list}" > "$file"
-
-                                       append_dialplan_context ${disactx} "exten => s,${nn},DISA(${file})"
-                               fi
-                               append_dialplan_context ${disactx} "exten => t,1,Hangup"
-                       fi
-               done
-       fi
-}
-
diff --git a/contrib/package/asterisk-xip/files/uci/disaconf.txt b/contrib/package/asterisk-xip/files/uci/disaconf.txt
deleted file mode 100644 (file)
index c7c02dc..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-
-disa {name} Create a DISA menu
-       context  - Default context to allow access to
-       mailbox  - Default mailbox for stutter-tone
-       timeout  - Timeout in seconds
-       passcode - Fallback passcode (if no entries)
-
-disaentry  Add an entry for the DISA menu
-       disa     - parent disa to add to
-       passcode - Passcode for entry
-       context  - context for this entry to allow access to
-       mailbox  - Mailbox for stutter tone
-       callerid - Override Callerid
-
-example: 
-config 'disa' 'disagroup'
-   option 'context' 'foo'
-   option 'mailbox'  '1001@default'
-
-config 'disaentry'
-   option 'disa' 'disagroup'
-   option 'passcode' '12345678'
-   option 'callerid' '"Jo Blo"'
-
-config 'disaentry'
-   option 'disa' 'disagroup'
-   option 'passcode' '455667'
-   option 'context' 'bar'
-
diff --git a/contrib/package/asterisk-xip/files/uci/featureconf b/contrib/package/asterisk-xip/files/uci/featureconf
deleted file mode 100755 (executable)
index e336570..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/bin/sh
-
-# Feature.conf
-ast_add_conf feature
-init_featureconf(){
-       ast_add_reload feature
-       ast_enable_type feature
-       ast_enable_type featurepark
-       ast_enable_type featuremap
-
-       feature_park_parkenabled=no
-       feature_park_parkext=700
-       feature_park_parkpos="701-720"
-       feature_park_context=parkedcalls
-       feature_park_parkingtime=45
-       feature_park_courtesytone=beep
-       feature_park_parkedplay=caller
-       feature_park_adsipark=yes
-       feature_park_findslot=first
-       feature_park_parkedmusicclass=default
-       feature_park_transferdigittimeout=3
-       feature_park_xfersound=beep
-       feature_park_xferfailsound=beeperr
-       feature_park_pickupexten="*8"
-       feature_park_featuredigittimeout=500
-       feature_park_atxfernoanswertimeout=15
-}
-
-feature_park_list="parkext parkpos context parkingtime \
-courtesytone parkedplay adsipark findslot parkedmusicclass \
-transferdigittimeout xfersound xferfailsound pickupexten \
-featuredigittimeout atxfernoanswertimeout"
-feature_map_list="blindxfer disconnect automon atxfer parkcall"
-
-valid_features(){
-       case $1 in
-               park) is_in_list $2 ${feature_park_list} parkenabled ; return $?  ;;
-               map)  is_in_list $2 ${feature_map_list}              ; return $? ;;
-               *) return 1;;
-       esac
-}
-
-create_featureconf(){
-       file=${DEST_DIR}/features.conf
-       get_checksum feature_conf $file
-
-       local isempty=1
-       if [ $feature_park_parkenabled == no ] ; then
-               rm -f $file
-               isempty=2
-       else
-               enable_module res_features
-               echo "${asteriskuci_gen}${N}[general]" > $file
-               for i in ${feature_park_list} ; do
-                       eval value="\"\${feature_park_$i}\""
-                       [ ! -z "$value" ] && echo "$i=$value" >> $file
-               done
-               echo "${N}[featuremap]" >> $file
-               for i in ${feature_map_list} ; do
-                       eval value="\"\${feature_map_$i}\""
-                       [ ! -z "$value" ] && echo "$i=$value" >> $file
-               done
-       fi
-       check_checksum "$feature_conf" "$file" || ast_feature_restart=$isempty
-
-}
-handle_featurepark() {
-       handle_feature park
-}
-handle_featuremap() {
-       handle_feature map
-}
-
-handle_feature() {
-       feature_type=$1
-       option_cb() {
-               if valid_features ${feature_type} $1 $2 ; then
-                       eval "feature_${feature_type}_$1=\"$2\""
-               else
-                       logerror "Invalid feature: $1"
-               fi
-       }
-}
-
-append_dialplan_park(){
-       local file=$1
-       # Check for parked calls - add into available extensions
-       if [ ${feature_park_parkenabled} == yes ] && [ ! -z ${feature_park_context} ] ; then
-               add_dialplan_include extensions ${feature_park_context}
-               enable_module app_parkandannounce
-               enable_format gsm
-       fi
-}
-
-
-reload_feature() astcmd "module reload res_features.so"
-unload_feature() astcmd "module unload res_features.so"
-
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/featureconf.txt b/contrib/package/asterisk-xip/files/uci/featureconf.txt
deleted file mode 100644 (file)
index a47b223..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-See asterisk doco
-featurepark
-       parkext
-       parkpos
-       context
-       parkingtime
-       courtesytone
-       parkedplay
-       adsipark
-       findslot
-       parkedmusicclass
-       transferdigittimeout
-       xfersound
-       xferfailsound
-       pickupexten
-       featuredigittimeout
-       atxfernoanswertimeout
-
-featuremap
-       blindxfer
-       disconnect
-       automon
-       atxfer
-       parkcall
-
diff --git a/contrib/package/asterisk-xip/files/uci/lastcall b/contrib/package/asterisk-xip/files/uci/lastcall
deleted file mode 100755 (executable)
index d0314fd..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/bin/sh
-#
-# Author: Michael Geddes  <michael at frog dot wheelycreek dot net>
-# Copyright 2008 Michael Geddes
-# Licensed under GPL
-
-ast_add_module lastcall
-
-init_lastcall() {
- #
- ast_enable_type calllist
- ast_enable_type calllistdefault
-}
-
-check_add_calllist() {
-       local context=${opt_calllist_zonename}
-       if [ ! -z "$context" ] ; then
-               logdebug 1 "Adding calllist context ${context}"
-               [ -z $opt_calllist_dialplan ] && opt_calllist_dialplan=${opt_calllist_general_dialplan}
-               [ -z $opt_calllist_dialplan ] && opt_calllist_dialplan=extensions
-               [ -z $opt_calllist_listname ] && opt_calllist_listname=lastcall
-               [ -z $opt_calllist_length ] && opt_calllist_length=${opt_calllist_general_length}
-               [ -z $opt_calllist_length ] && opt_calllist_length=10
-               [ -z $opt_calllist_dialcontext ] && opt_calllist_dialcontext=${opt_calllist_general_dialcontext}
-               [ -z $opt_calllist_dialcontext ] && opt_calllist_dialcontext=default
-               [ -z $opt_calllist_calltype ] && opt_calllist_calltype=macro
-               
-               [ -z ${opt_calllist_extension} ] \
-                       || add_dialplan_lastcall ${opt_calllist_dialplan} "${opt_calllist_extension}" "${opt_calllist_listname}" "${opt_calllist_length}" "${opt_calllist_tagname}" "${opt_calllist_dialcontext}"
-               enable_lastcall
-               add_section_lastcall ${context} "${opt_calllist_listname}" "${opt_calllist_length}" "${opt_calllist_calltype}"
-       fi
-       for i in  zonename extension dialplan length listname ; do
-               eval "unset opt_calllist_${i}"
-       done
-}
-
-add_section_lastcall() {
-       local context=$1
-       local name=$2
-       local queuelen=$3
-       local calltype=$4
-
-       [ "${calltype}" = "macro" ]  && context=macro-${1}
-
-       if check_add_context ${context} ; then
-               local ext="exten => s,"
-               case "${calltype}" in
-                       gosub)
-                               enable_module app_stack
-                               append_dialplan_context ${context}  "${ext}1,Macro(lastcallstore,\${EXTEN},${name},${queuelen})"
-                               append_dialplan_context ${context}  "${ext}n,Return" ;;
-                       gosub_s)
-                               enable_module app_stack
-                               append_dialplan_context ${context}  "${ext}1,Macro(lastcallstore,\${ARG1},${name},${queuelen})"
-                               append_dialplan_context ${context}  "${ext}n,Return" ;;
-                       macro)
-                               enable_module app_macro
-                               append_dialplan_context ${context}  "${ext}1,Macro(lastcallstore,\${ARG1},${name},${queuelen})" ;;
-               esac
-       else
-               logerror "Lastcall section ${context} already added"
-       fi
-}
-
-handle_calllist() {
-       check_add calllist
-       logdebug 2 "Loading Call List: ${opt_calllist_zonename}"
-       opt_calllist_zonename=$1
-       option_cb() {
-               case "$1" in
-                       extension|dialplan|length|listname|calllist|tagname|dialcontext|calltype)
-                               logdebug 1 "Setting opt_calllist_$1=\"${2}\""
-                               eval "opt_calllist_${1}=\"${2}\"" ;;
-                       *)
-                               logerror "Unknown option $1 in calllist ${opt_calllist_zonename}" ;;
-               esac
-       }
-}
-
-handle_calllistdefault() {
-       logdebug 2 "Loading Call List General options"
-       option_cb() {
-               case $1 in
-                       dialplan|length|dialcontext)
-                               eval "opt_calllist_general_${1}=\"${2}\"" ;;
-                       *) logerror "Unknown option $1 in calllistdefault" ;;
-               esac
-       }
-}
-
-add_dialplan_lastcall(){
-       local context=$1
-       logdebug 1 "Adding Dialplan lastcall $1 $2"
-       check_add_context "$context"
-       enable_lastcall
-       local queue=$3
-       local len=$4
-       local tag=$5
-       local dialcontext=$6
-       [ "${queue}" == lastcall ] && queue=
-       append dialplan_context_${context} "exten => $2,1,Macro(lastcallapp,${queue},${len},${dialcontext},${tag})" "${N}"
-}
-
-enable_lastcall() {
-       if [ "${dialplan_do_add_lastcall}" != "1" ] ; then
-               logdebug 2 "Enabling lastcall"
-               
-               append dialplan_globals "LASTCALLZONE=\"${asterisk_zone}\"" "$N"
-               [ -z "${DEST}" ] || append dialplan_globals "LASTCALL_DIR=${DEST}/etc/asterisk/directory" "$N"
-               append_include "macros/tagnumber.conf"
-               append_include "macros/lastcall.conf"
-               dialplan_do_add_lastcall=1
-               enable_module app_macro
-               enable_module func_callerid
-               enable_module app_sayunixtime
-               enable_module app_playback
-               enable_module func_db
-               enable_module app_record
-               enable_module app_system
-               enable_format gsm
-       fi
-}
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/lastcall.txt b/contrib/package/asterisk-xip/files/uci/lastcall.txt
deleted file mode 100644 (file)
index cd86be3..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-
-calllistdefault
-       dialplan  - Override default dialplan for calllist extensions to be added to.
-       length    - Default Length of list
-       dialcontext - Default Context for dialing
-
-calllist {name} - Define a call list context
-       extension - Extension to review list
-       dialplan  - Dialplan for extension to be added to (default to extensions)
-       length    - Length of list
-       listname  - Name of list to use
-       tagname   - Sound file to use for name
-       dialcontext - Context to use when dialing
-       calltype  - Type of context for the wrapper (required when calling it) macro|gosub
-
diff --git a/contrib/package/asterisk-xip/files/uci/meetmeconf b/contrib/package/asterisk-xip/files/uci/meetmeconf
deleted file mode 100755 (executable)
index d700161..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/sh
-# Meetme.conf (conference)
-
-ast_add_conf meetme
-init_meetmeconf() {
-       ast_add_reload meetme
-       ast_enable_type meetmegeneral
-       ast_enable_type meetme
-       ast_enable_type dialplanmeetme
-}
-create_meetmeconf() {
-       file=${DEST_DIR}/meetme.conf
-       get_checksum meetme_conf $file
-       logdebug 1 "Creating meetme rooms: ${meetme_rooms}"
-       local isempty=1
-       if [ -z ${meetme_rooms} ] ; then
-               rm -f $file
-               isempty=2
-       else
-               echo "${asteriskuci_gen}${N}[general]" > $file
-               if [ ! -z ${meetme_audiobuffers} ] ; then
-                       echo "audiobuffers=${meetme_audiobuffers}" >> $file
-               fi
-               echo "${N}[rooms]" >> $file
-               for i in ${meetme_rooms} ; do
-                       for j in pin adminpin room ; do
-                               eval meetme_$j=\${meetme_room_${i}_${j}}
-                       done
-                       if [ -z "${meetme_room}" ] ; then
-                               meetme_room=$i
-                       fi
-                       local line="conf => ${meetme_room}"
-                       if [ -z ${meetme_adminpin} ] ; then
-                               if [ ! -z ${meetme_pin} ] ; then
-                                       line="${line},${meetme_pin}"
-                               fi
-                       else
-                               line="${line},${meetme_pin},${meetme_adminpin}"
-                       fi
-                       echo "$line" >> $file
-               done
-       fi
-       check_checksum "$meetme_conf" "$file" || ast_meetme_restart=$isempty
-}
-
-handle_meetmegeneral() {
-       option_cb() {
-               case $1 in
-                       audiobuffers)
-                               meetme_audiobuffers="$2" ;;
-                       *) logerror "Invalid meetme general option $1"
-               esac
-       }
-}
-
-handle_meetme() {
-       logdebug 2 "Add meetme room $1"
-       meetme_room="$1"
-       append meetme_rooms "$1" " "
-       enable_module app_meetme
-       option_cb() {
-               case $1 in
-                       pin|adminpin|room)
-                               logdebug 3 "Meetme option ${meetme_room}/${1}=$2"
-                               eval meetme_room_${meetme_room}_${1}="$2" ;;
-                       *) logerror "Invalid meetme option for $meetme_room : $1"
-               esac
-       }
-}
-
-handle_dialplanmeetme() {
-       check_add dialplanmeetme
-       option_cb() {
-               case $1 in
-                       dialplan|extension|room)
-                               eval "dial_meetme_$1=\"$2\""
-               esac
-       }
-}
-
-check_add_dialplanmeetme() {
-       if [ ! -z "${dial_meetme_extension}" ] ; then
-               local ext="exten => ${dial_meetme_extension},"
-
-               [ -z "${dial_meetme_dialplan}" ] && dial_meetme_dialplan=extensions
-               check_add_context ${dial_meetme_dialplan}
-               append dialplan_context_${dial_meetme_dialplan} "${ext}1,MeetMe(${dial_meetme_room})" "${N}"
-               append dialplan_context_${dial_meetme_dialplan} "${ext}n,HangUp" "${N}"
-       fi
-       for i in dialplan extension room ; do
-               eval "unset dial_meetme_$i"
-       done
-}
-
-add_dialplan_meetme() {
-       local context=$1
-       logdebug 1 "Adding Dialplan meetme $1 $2"
-       check_add_context "$context"
-       local ext="exten => $2,"
-       append dialplan_context_${context} "${ext}1,MeetMe($3)" "${N}"
-       append dialplan_context_${context} "${ext}n,HangUp" "${N}"
-}
-
-reload_meetme() astcmd "module reload app_meetme.so"
-unload_meetme() astcmd "module unload app_meetme.so"
-
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/meetmeconf.txt b/contrib/package/asterisk-xip/files/uci/meetmeconf.txt
deleted file mode 100644 (file)
index fc24e38..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-
-meetmegeneral
-       audiobuffers
-
-meetme   - add a meetme room
-       room      - Number of room
-       pin       - PIN for room
-       adminpin  - PIN for room admin
-
-dialplanmeetme   - add calling of meetme to a dialplan
-       dialplan   - Dialplan to add to (default 'extensions')
-       extension  - Extension to dial
-       room       - Optional room to enter
diff --git a/contrib/package/asterisk-xip/files/uci/moduleconf b/contrib/package/asterisk-xip/files/uci/moduleconf
deleted file mode 100755 (executable)
index d8ea611..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-#!/bin/sh
-
-# Module.conf
-
-init_moduleconf() {
-       ast_add_reload module
-       ast_enable_type module
-
-       for i in ${module_list} ; do
-               eval module_${i}=no
-       done
-
-       enable_module app_dial
-       enable_module app_read
-
-       enable_module app_verbose
-       enable_module pbx_config
-       enable_module pbx_functions
-
-       enable_module app_transfer
-       module_chan_local=auto
-       # Sound files are all gsm
-       enable_format gsm
-
-       enable_module app_func_strings
-}
-
-# List of modules in sensible load order.
-module_list="res_agi res_adsi res_config_mysql res_crypto res_smdi res_features \
- res_indications res_convert res_jabber res_monitor res_musiconhold res_speech \
- res_clioriginate pbx_ael pbx_config pbx_functions pbx_loopback pbx_realtime \
- pbx_spool pbx_wilcalu func_base64 func_callerid func_cdr func_channel func_cut \
- func_db func_enum func_env func_global func_groupcount func_language func_logic \
- func_moh func_rand func_realtime func_sha1 func_strings func_timeout func_uri \
- cdr_csv cdr_custom cdr_manager cdr_mysql cdr_pgsql cdr_sqlite chan_agent \
- chan_alsa chan_gtalk chan_h323 chan_iax2 chan_local chan_sip format_au \
- format_g723 format_g726 format_g729 format_gsm format_h263 format_h264 \
- format_ilbc format_jpeg format_mp3 format_pcm format_pcm_alaw format_sln \
- format_vox format_wav format_wav_gsm app_alarmreceiver app_amd app_authenticate \
- app_cdr app_chanisavail app_channelredirect app_chanspy app_controlplayback \
- app_cut app_db app_dial app_dictate app_directed_pickup app_directory app_disa \
- app_dumpchan app_echo app_enumlookup app_eval app_exec app_externalivr \
- app_followme app_forkcdr app_getcpeid app_groupcount app_hasnewvoicemail \
- app_ices app_image app_lookupblacklist app_lookupcidname app_macro app_math \
- app_md5 app_meetme app_milliwatt app_mixmonitor app_morsecode \
- app_parkandannounce app_playback app_privacy app_queue app_random app_read \
- app_readfile app_realtime app_record app_sayunixtime app_senddtmf app_sendtext \
- app_setcallerid app_setcdruserfield app_setcidname app_setcidnum app_setrdnis \
- app_settransfercapability app_sms app_softhangup app_speech_utils app_stack \
- app_system app_talkdetect app_test app_transfer app_txtcidname app_url \
- app_userevent app_verbose app_voicemail app_waitforring app_waitforsilence \
- app_while codec_a_mu codec_adpcm codec_alaw codec_g726 codec_gsm codec_ilbc \
- codec_lpc10 codec_speex codec_ulaw"
-
-# Enable a module - for use by other scripts
-enable_module() {
-       logdebug 3 "Enable ${1}"
-       eval module_${1}=yes
-}
-
-module_enabled() {
-       eval local is_enabled="\${module_${1}}"
-       if [ ${is_enabled} == "no" ] ; then
-               return 1
-       else
-               return 0
-       fi
-}
-
-# Enable a sound format - for use by other scripts
-enable_format() {
-       while [ ! -z $1 ] ; do
-               case $1 in
-                       gsm)
-                               enable_module format_gsm
-                               enable_module codec_gsm
-                               [ "${module_format_wav}" = "yes" ] && enable_module format_wav_gsm ;;
-                       wav)
-                               enable_module format_wav
-                               [ "${module_format_gsm}" = "yes" ] && enable_module format_wav_gsm ;;
-                       alaw)
-                               enable_module codec_adpcm
-                               enable_module codec_alaw
-                               [ "${module_format_pcm}" = "yes" ] && enable_module format_pcm_alaw ;;
-                       pcm)
-                               enable_module format_pcm_alaw
-                               [ "${module_format_alaw}" = "yes" ] && enable_module format_pcm_alaw ;;
-                       ulaw)
-                               enable_module codec_ulaw ;;
-                       g729|g726|g723)
-                               enable_module format_g726
-                               enable_module codec_g726 ;;
-                       ilbc)
-                               enable_module format_ilbc
-                               enable_module codec_ilbc ;;
-                       sln)   enable_module format_sln ;;
-                       mp3)   enable_module format_mp3 ;;
-                       vox)   enable_module format_vox ;;
-                       speex) enable_module codec_speex ;;
-               esac
-               shift
-       done
-}
-
-create_moduleconf() {
-       local file=${DEST_DIR}/modules.conf
-
-       get_checksum module_conf $file
-
-       rm -f ${file}.orig
-       [ -f "${file}" ] && mv ${file} ${file}.orig
-
-       echo "${asteriskuci_gen}[modules]${N}autoload=yes" > $file
-       for i in ${module_list} ; do
-               eval res=\${module_${i}}
-               case $res in
-                       yes) echo "load   => $i.so" >> $file ;;
-                       no)  echo "noload => $i.so" >> $file ;;
-               esac
-       done
-       echo "${N}[global]${N}chan_modem.so=no"  >> $file
-
-       check_checksum "$module_conf" "$file"  || ast_module_restart=1
-}
-
-reload_module() {
-       local file=${DEST_DIR}/modules.conf
-       local cmd=`diff ${file}.orig ${file} -u -U0 | grep '^+\(no\)\?load' | sed 's/+load[[:space:]]*=>[[:space:]]*\(.*\)$/\"module load \1\"/' | sed 's/+noload[[:space:]]*=>[[:space:]]*\(.*\)$/\"module unload \1\"/'| tr '\n' ' '`
-       [ "${testing_mode}" != "1" ] && rm -f ${file}.orig
-       logdebug 3 "Module reload: ${N}$cmd"
-       eval "astcmds $cmd"
-}
-
-
-valid_module() {
-       is_in_list $1 ${module_list}
-       return $?
-}
-
-handle_module() {
-       option_cb() {
-               if valid_module $1 ; then
-                       eval module_$1="$2"
-               else
-                       logerror "Invalid module: $1"
-               fi
-       }
-}
-
-
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/moduleconf.txt b/contrib/package/asterisk-xip/files/uci/moduleconf.txt
deleted file mode 100644 (file)
index 7b083b6..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-
-module  - Enable modules (yes/no/auto)
-       res_agi
-       res_adsi
-       res_config_mysql
-       res_crypto
-       res_smdi
-       res_features
-       res_indications
-       res_convert
-       res_jabber
-       res_monitor
-       res_musiconhold
-       res_speech
-       res_clioriginate
-       pbx_ael
-       pbx_config
-       pbx_functions
-       pbx_loopback
-       pbx_realtime
-       pbx_spool
-       pbx_wilcalu
-       func_base64
-       func_callerid
-       func_cdr
-       func_channel
-       func_cut
-       func_db
-       func_enum
-       func_env
-       func_global
-       func_groupcount
-       func_language
-       func_logic
-       func_moh
-       func_rand
-       func_realtime
-       func_sha1
-       func_strings
-       func_timeout
-       func_uri
-       cdr_csv
-       cdr_custom
-       cdr_manager
-       cdr_mysql
-       cdr_pgsql
-       cdr_sqlite
-       chan_agent
-       chan_alsa
-       chan_gtalk
-       chan_h323
-       chan_iax2
-       chan_local
-       chan_sip
-       format_au
-       format_g723
-       format_g726
-       format_g729
-       format_gsm
-       format_h263
-       format_h264
-       format_ilbc
-       format_jpeg
-       format_mp3
-       format_pcm
-       format_pcm_alaw
-       format_sln
-       format_vox
-       format_wav
-       format_wav_gsm
-       app_alarmreceiver
-       app_amd
-       app_authenticate
-       app_cdr
-       app_chanisavail
-       app_channelredirect
-       app_chanspy
-       app_controlplayback
-       app_cut
-       app_db
-       app_dial
-       app_dictate
-       app_directed_pickup
-       app_directory
-       app_disa
-       app_dumpchan
-       app_echo
-       app_enumlookup
-       app_eval
-       app_exec
-       app_externalivr
-       app_followme
-       app_forkcdr
-       app_getcpeid
-       app_groupcount
-       app_hasnewvoicemail
-       app_ices
-       app_image
-       app_lookupblacklist
-       app_lookupcidname
-       app_macro
-       app_math
-       app_md5
-       app_meetme
-       app_milliwatt
-       app_mixmonitor
-       app_morsecode
-       app_parkandannounce
-       app_playback
-       app_privacy
-       app_queue
-       app_random
-       app_read
-       app_readfile
-       app_realtime
-       app_record
-       app_sayunixtime
-       app_senddtmf
-       app_sendtext
-       app_setcallerid
-       app_setcdruserfield
-       app_setcidname
-       app_setcidnum
-       app_setrdnis
-       app_settransfercapability
-       app_sms
-       app_softhangup
-       app_speech_utils
-       app_stack
-       app_system
-       app_talkdetect
-       app_test
-       app_transfer
-       app_txtcidname
-       app_url
-       app_userevent
-       app_verbose
-       app_voicemail
-       app_waitforring
-       app_waitforsilence
-       app_while
-       codec_a_mu
-       codec_adpcm
-       codec_alaw
-       codec_g726
-       codec_gsm
-       codec_ilbc
-       codec_lpc10
-       codec_speex
-       codec_ulaw
-
diff --git a/contrib/package/asterisk-xip/files/uci/mohconf b/contrib/package/asterisk-xip/files/uci/mohconf
deleted file mode 100755 (executable)
index 9963108..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/bin/sh
-
-# Music on Hold
-
-ast_add_conf moh
-init_mohconf() {
-       ast_add_reload moh
-       ast_enable_type moh
-       ast_enable_type musiconhold
-}
-
-
-handle_musiconhold() handle_moh "$1"
-
-moh_list="name"
-moh_optlist="mode directory random application format"
-
-valid_moh() {
-       is_in_list $1 ${moh_list} ${moh_optlist}
-       return $?
-}
-
-handle_moh() {
-       check_add moh
-       moh_context=$1
-       logdebug 1 "Loading MOH context: ${moh_context}"
-
-       enable_module res_musiconhold
-
-       option_cb() {
-               if valid_moh $1 $2 ; then
-                       eval "moh_var_${1}=\"$2\""
-               else
-                       logerror "Invalid music-on-hold option for ${moh_context} : $1"
-               fi
-       }
-}
-
-check_add_moh() {
-       if [ ! -z "${moh_var_directory}" ] ; then
-               [ -z "${moh_var_name}" ] && moh_var_name=default
-               [ -z "${moh_var_mode}" ] && moh_var_mode=files
-               append moh_lines "[${moh_var_name}]" "${N}${N}"
-
-               for i in ${moh_optlist} ; do
-                       eval "local curopt=\"\${moh_var_$i}\""
-                       [ -z "${curopt}" ] || append moh_lines "$i=${curopt}" "${N}"
-               done
-       fi
-       for i in ${moh_list} ${moh_optlist} ; do
-               eval "unset moh_var_$i"
-       done
-}
-
-create_mohconf() {
-       file=${DEST_DIR}/musiconhold.conf
-       get_checksum moh_conf $file
-       local isempty=1
-       if [ -z "${moh_lines}" ] ; then
-               isempty=2
-               rm -f $file
-       else
-               echo "${asteriskuci_gen}" > $file
-               echo "${moh_lines}" >> $file
-               unset moh_lines
-       fi
-       check_checksum "$moh_conf" "$file"  || ast_moh_restart=$isempty
-}
-
-reload_moh() astcmd "moh reload"
-unload_moh() astcmd "module unload res_musiconhold.so"
-
-
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/mohconf.txt b/contrib/package/asterisk-xip/files/uci/mohconf.txt
deleted file mode 100644 (file)
index 2321740..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-
-musiconhold/moh - Musicon-on-hold context
-       name        - MOH context name
-       mode        - Playback mode (files)
-       directory   - Directory of music
-       random      - Playback is random
-       application - Application to use
-       format      - file format of files
diff --git a/contrib/package/asterisk-xip/files/uci/queueconf b/contrib/package/asterisk-xip/files/uci/queueconf
deleted file mode 100644 (file)
index 2ac8296..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-#!/bin/bash
-# Queues.conf
-
-ast_add_conf queue
-
-init_queueconf() {
-       ast_add_reload queue
-
-       ast_enable_type callqueue
-       ast_enable_type callqueuegeneral
-}
-
-create_queueconf() { 
-       # Construct the file
-       file=${DEST_DIR}/queues.conf
-       get_checksum queue_conf $file
-       local isempty=1
-       logdebug 0 "Generating Queues.conf: ${callqueue_contexts}"
-       if [ -z "${callqueue_contexts}" ] ; then
-               isempty=2
-               rm -f $file
-       else
-               logdebug 0 "General section"
-               echo "${asteriskuci_gen}[general]" > "$file"
-               [ -z "${callqueue_gen_autofill}" ] && callqueue_gen_autofill=yes
-               for i in ${callqueuegeneral_list} ; do
-                       local opt=${i//-/}
-                       eval "local val=\"\${callqueue_gen_${opt}}\""
-                       [ -z "${val}" ] || echo "${i}=${val}" >> "$file"
-               done
-
-               logdebug 0 "Add queues"
-               for i in ${callqueue_contexts} ; do
-                       eval "local queuename=\${callqueue_opt_${i}_name}"
-                       logdebug 0 "Add queue ${queuename}"
-                       echo "${N}[${queuename}]" >> "$file"
-                       local queueopts=
-                       local has_moh=0
-                       for j in ${callqueue_list} ; do
-                               local opt=${j//-/}
-                               eval "local val=\"\${callqueue_opt_${i}_${opt}}\""
-                               if [ ! -z "${val}" ]; then
-                                       echo "${j}=${val}" >> "$file"
-                                       case "${opt}" in
-                                               musicclass) has_moh=1
-                                       esac
-                               fi
-                       done
-
-                       eval "local memberlist=\"\${callqueue_opt_${i}_members}\""
-                       for j in ${memberlist} ; do
-                               echo "member => ${j}" >> "$file"
-                       done
-
-                       [ "${has_moh}" = 0 ] && queueopts=${queueopts}r
-                       eval "local queuetimeout=\"\${callqueue_opt_${i}_queuetimeout}\""
-                       if [ "${queuetimeout-0}" = 0 ] ; then
-                               queuetimeout=
-                       else
-                               queueopts=${queueopts}n
-                       fi
-
-                       # Now add call dialplan
-                       if check_add_context "${i}" ; then
-                               append_dialplan_context "${i}" "exten = ${match_all_s},1,Queue(${queuename}|${queueopts}|||${queuetimeout})"
-                               #TODO Add voicemail? fallthrough option?
-                       fi
-
-               done
-       fi
-
-       check_checksum "$queue_conf" "$file" || ast_queue_restart=$isempty
-}
-
-reload_queue() astcmd "module reload app_queue.so"
-unload_queue() astcmd "module unload app_queue.so"
-
-
-callqueuegeneral_list="persistentmembers autofill monitor-type"
-valid_callqueuegeneral() {
-       is_in_list $1 ${callqueuegeneral_list//-/}
-       return $?
-}
-
-handle_callqueue_general() {
-       option_cb() {
-               if valid_callqueuegeneral "$1" ; then
-                       eval "callqueue_gen_$1=\"\${2}\""
-               else
-                       [ "${1:0:1}" = "_" ] || logerror "Invalid callqueuegeneral option: $1"
-               fi
-       }
-}
-
-callqueue_list="musicclass announce strategy context timeout wrapuptime \
-autofill maxlen announce-holdtime announce-frequency periodic-announce-frequency ringinuse"
-
-valid_callqueue() {
-       is_in_list $1 ${callqueue_list//-/} queuetimeout
-       return $?
-}
-
-handle_callqueue() {
-       cur_context="$1"
-       callqueue_opt_name="$1" # Name in queue.conf
-       [ -z "${callqueue_contexts}" ] && enable_module app_queue
-       append "callqueue_contexts" "$1" " "
-
-       option_cb() {
-               case "$1" in
-               name) eval "callqueue_opt_${cur_context}_name=\"\$2\"" ;;
-               member|member_ITEM*)
-                       local member_type=
-                       local member_ext=
-                       if ! split_targettype member_type member_ext "${2}" ; then
-                               logerror "No extension type specified for queue ${cur_context} member ${2}"
-                       else
-                               append callqueue_opt_${cur_context}_members "${member_type}/${member_ext}" " "
-                       fi
-               ;;
-               member_LENGTH) ;;
-               _*) ;; # ignore
-               *)
-                       if valid_callqueue "$1" ; then
-                               eval "callqueue_opt_${cur_context}_$1=\"\${2}\""
-                       else
-                               logerror "Invalid callqueue option: $1"
-                       fi ;;
-               esac
-       }
-}
-
-
diff --git a/contrib/package/asterisk-xip/files/uci/queueconf.txt b/contrib/package/asterisk-xip/files/uci/queueconf.txt
deleted file mode 100644 (file)
index 18c1e8a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-
-callqueuegeneral  General options for call queues.
-       persistentmembers - Persist members of queue in astdb
-       autofill          - (Default yes) Dial extensions in parallel
-       monitortype       - (MixMonitor) Type of monitor to use
-
-callqueue {queue-context}
-       name  - queue name (default to same as context)
-       queuetimeout - Timeout of the queue
-       member (list)- list of members (SIP/103 etc).
-       musicclass   - Class of music-on-hold to use (or blank for ringing)
-       announce     - Message to announce queue to agent
-       strategy     - Ringing strategy
-               ringall     - ring all available channels until one answers (default)
-               roundrobin  - take turns ringing each available interface 
-               leastrecent - ring interface which was least recently called by this queue
-               fewestcalls - ring the one with fewest completed calls from this queue
-               random      - ring random interface
-               rrmemory    - round robin with memory, remember where we left off last ring pass
-
-       context     - Context in which to find single digit numbers dialed
-       timeout     - Ringing timeout (for individual extension)
-       wrapuptime  - time allowed before considered free after hangup of call
-       autofill    - Dial extensions in parallel
-       maxlen      - Maximum queue length (0 for unlimited)
-       announceholdtime  -  Should we include estimated hold time in position announcements? (yes|no|once)
-       announcefrequency - How often to announce queue position and/or estimated 
-       periodicannounce-frequency  - How often to announce 'period-announce'
-       ringinuse         - ring even if known to be in use
-
diff --git a/contrib/package/asterisk-xip/files/uci/sipiaxconf b/contrib/package/asterisk-xip/files/uci/sipiaxconf
deleted file mode 100755 (executable)
index eb88b75..0000000
+++ /dev/null
@@ -1,525 +0,0 @@
-#!/bin/sh
-# Sip / IAX extensions
-
-# Add to internal extensions
-add_extension() {
-       logdebug 1 "Adding $1/$2 extension to $3"
-       eval "local ext=\"\${dialplan_ext_$3}\""
-       [ -z "${ext}" ] && append dialplan_exts "$3" " "
-       local lower=`echo $1|tr [A-Z] [a-z]`
-       eval "local ext=\"\${${lower}_last_extension}\""
-       [ -z "${ext}" ] && eval "${lower}_last_extension=\"$3\""
-       append dialplan_ext_$3 $1/${2} "&"
-}
-
-check_append_local() {
-       local extension="${1}"
-       logdebug 3 "added local context for ${1}"
-       eval "local isadded=\"\${dialplan_add_local_${extension}-0}\""
-       if [ "$isadded" != "1" ] ; then
-               logdebug 3 "Not added before - adding"
-               eval "dialplan_add_local_${extension}=1"
-               append dialplan_locals "$extension"
-               eval  "dialplan_local_${1}_context=\"${2}\""
-               eval  "dialplan_local_${1}_selfmailbox=\"${3}\""
-               eval  "dialplan_local_${1}_mailbox=\"${4}\""
-               eval  "dialplan_local_${1}_displayname=\"${5}\""
-               return 0
-       else
-               return 1
-       fi
-}
-append_dialplan_locals(){
-       for i in ${dialplan_locals} ; do
-               local extension=$i
-               for x in context selfmailbox mailbox displayname ; do
-                       eval "x_${x}=\${dialplan_local_${i}_${x}}"
-               done
-               local newcontext=local_${extension}
-
-               if check_add_context ${newcontext} ; then
-                       # add_dialplan_voice ${newcontext} ${x_last_extension} ${x_last_mailbox}
-                       # Make sure as much is matched as possible
-                       #add_dialplan_goto ${newcontext} _[0-9#*+]. ${x_last_context}
-                       # add_dialplan_include ${newcontext}  ${x_last_context}
-
-                       append_dialplan_context ${newcontext} "exten => ${match_all},1,Set(CALLERID(num)=${extension})"
-                       local next=2
-                       if [ ! -z "${x_displayname}" ] ; then
-                               append_dialplan_context ${newcontext} "exten => ${match_all},2,Set(CALLERID(name)=${x_displayname})"
-                               local next=3
-                       fi
-                       if [ ! -z "${x_mailbox}" ] ; then
-                               [ "${x_selfmailbox}" = "yes" ] && append_dialplan_context ${newcontext} "exten => ${extension},${next},VoiceMailMain(${x_mailbox})"
-                               [ ! -z "${dialplan_voiceboxext}" ]  && append_dialplan_context ${newcontext} "exten => ${dialplan_voiceboxext},${next},VoiceMailMain(${x_mailbox})"
-                       fi
-                       append_dialplan_context ${newcontext} "exten => ${match_all},${next},Goto(${x_context},\${EXTEN},1)"
-               fi
-       done
-}
-
-# Sip
-
-check_add_sipitems() {
-       if [ "${sip_doregister}" == "1" ] ; then
-               local line="register => ${sip_last_username}@${sip_last_fromdomain}:${sip_last_secret}:${sip_last_username}@${sip_sectionname}"
-               case ${sip_last_registerextension}  in
-                       -) line="$line/${sip_last_username}" ;;
-                       .*) line="$line/${sip_last_registerextension}" ;;
-               esac
-               append sip_register "$line" "$N"
-               sip_doregister=0
-       fi
-       do_check_add_items sip
-}
-check_add_iaxitems() {
-       do_check_add_items iax
-}
-
-do_check_add_items(){
-
-       for i in type last_host last_context selfmailbox last_extension last_mailbox last_displayname ; do
-               eval "x_${i}=\"\${${1}_${i}-}\""
-       done
-
-       if [ ! -z "${x_last_context}" ] ; then
-               if [ ! -z "${x_last_extension}" ] ; then
-                       [ "${x_last_context}" = "-" ] && eval "x_last_context=\"\${${1}_opt_context}\""
-                       check_append_local "${x_last_extension}" "${x_last_context}" "${x_selfmailbox}" "${x_last_mailbox}" "${x_last_displayname}"
-                       x_last_context=local_${x_last_extension}
-               fi
-               if [ "${x_last_context}" != "-" ] ; then
-                       append ${1}_sections "context=${x_last_context}" "$N"
-               fi
-               if [ "${x_type}" != "user"  -a  -z "${x_last_host}" ] ; then
-                       append ${1}_sections "host=dynamic" "$N"
-               fi
-       fi
-
-       for i in last_username last_fromdomain last_secret last_username \
-               sectionname last_fromuser last_context last_extension last_mailbox \
-               last_type last_host last_displayname ; do
-               eval unset $1_$i
-       done
-
-       eval ${1}_selfmailbox=no
-       eval ${1}_last_registerextension=-
-}
-
-reload_sip() {
-       astcmd "sip reload"
-       return 1 # reboot
-}
-unload_sip() astcmd "unload chan_sip.so"
-
-rtp_option_list="rtpstart rtpend rtpdtmftimeout rtcpinterval rtpchecksums"
-# Validate RTP options
-valid_rtp_option() {
-       is_in_list $1 ${rtp_option_list}
-}
-
-# Validate sip options, depending on context.
-valid_sipiax_option() {
-       local use_glob=1
-       local use_glob_iax=1
-       local use_glob_sip=1
-       local use_user=1
-       local use_peer=1
-       local use_user_sip=1
-       local use_user_iax=1
-       local use_peer_sip=1
-       local use_peer_iax=1
-       case "$1" in
-               globalsip)
-                       use_glob_sip=0
-                       use_glob=0 ;;
-               usersip)
-                       use_glob_sip=0
-                       use_glob=0
-                       use_user=0 ;;
-               peersip|friendsip)
-                       use_glob_sip=0
-                       use_glob=0
-                       use_user=0
-                       use_peer=0
-                       use_user_sip=0
-                       use_peer_sip=0 ;;
-               globaliax)
-                       use_glob_iax=0
-                       use_glob=0 ;;
-               useriax)
-                       use_glob_iax=0
-                       use_glob=0
-                       use_user=0 ;;
-               peeriax|friendiax)
-                       use_glob_iax=0
-                       use_glob=0
-                       use_user=0
-                       use_peer=0
-                       use_user_iax=0
-                       use_peer_iax=0 ;;
-       esac
-
-       case "$2" in
-               writeprotect|static) return ${use_glob_iax} ;;
-# Integer
-               port|\
-               maxexpirey|\
-               rtptimeout|\
-               rtpholdtimeout|\
-               defaultexpirey|\
-               registertimeout|\
-               registerattempts|\
-               call-limit) return ${use_glob_sip} ;;
-# ip addr
-               bindaddr|\
-               externip)   return ${use_glob_sip} ;;
-# net/mask
-               localnet)   return ${use_glob_sip} ;;
-               permit|\
-               deny)  return ${use_user_sip} ;;
-# Domain name
-               realm|\
-               domain)                                 return ${use_glob_sip} ;;
-# valid context
-               context)    return ${use_glob} ;;
-# Mime type
-               notifymimetype) return ${use_glob_sip} ;;
-# Yes/No
-               canreinvite)            return ${use_glob} ;;
-               nat|allowoverlap|allowsubscribe|allowtransfer|\
-               videosupport)   return ${use_glob_sip} ;;
-               pedantic|\
-               trustrpid|\
-               promiscredir|\
-               useclientcode)  return ${use_user_sip} ;;
-# Enums
-               dtmfmode)                       return ${use_glob_sip} ;;
-               type)                                   return ${use_user} ;;
-               insecure|callingpres|\
-               progressinband)  return ${use_user_sip} ;;
-# List 
-               allow|\
-               disallow)  return ${use_glob_sip} ;;
-# Register string
-               register) return ${use_glob_sip} ;;
-# String
-               username|secret|md5secret|host|\
-               mailbox) return ${use_user} ;;
-               auth) return ${use_user_iax} ;;
-               callgroup|pickupgroup|language|accountcode|\
-               setvar|callerid|amaflags|subscribecontext|\
-               maxcallbitrate|rfc2833compensate|\
-               mailbox) return ${use_user_sip};;
-               template|fromdomain|regexten|fromuser|\
-               qualify|defaultip|sendrpid|\
-               outboundproxy) return ${use_peer_sip};;
-               extension) return 0;;
-               *) return 1;;
-       esac
-}
-
-ast_add_conf sip
-init_sipconf() {
-       ast_add_reload sip
-       ast_enable_type sipgeneral
-       ast_enable_type sip
-       ast_enable_type target
-
-       sip_opt_port=5060
-       sip_opt_bindaddr=0.0.0.0
-       sip_opt_context=default
-       sip_opt_maxexpirey=3600
-       sip_opt_defaultexpirey=3600
-       sip_opt_notifymimetype=text/plain
-       sip_opt_rtptimeout=60
-       sip_opt_rtpholdtimeout=300
-       config_get WAN_IP wan ipaddr
-       # TODO check why the above does not work all the time
-       if [ -z "${WAN_IP}" ] ; then
-               config_get WAN_IF wan ifname
-               WAN_IP=$(ifconfig ${WAN_IF} | grep "inet addr:" | sed 's/^.*inet addr:\([^ ]*\) .*$/\1/')
-       fi
-
-       sip_opt_externip=${WAN_IP}
-
-       sip_opt_realm=asterisk
-       config_get LAN_MASK lan netmask
-       config_get LAN_IP lan ipaddr
-       local LAN_NET=$(/bin/ipcalc.sh $LAN_IP $LAN_MASK | grep NETWORK | cut -d= -f2)
-       sip_opt_localnet_def=$LAN_NET/$LAN_MASK
-       sip_opt_localip=${LAN_IP}
-
-       # default to ulaw only
-       sip_opt_allow=
-       sip_opt_registertimeout=20
-       sip_opt_registerattempts=10
-       sip_opt_canreinvite=no
-
-       sip_sections=
-}
-
-sip_list="port bindaddr context maxexpirey defaultexpirey notifymimetype \
-rtptimeout rtpholdtimeout realm externip"
-
-create_sipconf() {
-
-       append_dialplan_locals
-
-       file=${DEST_DIR}/sip.conf
-       get_checksum sip_conf $file
-       local isempty=1
-       if [ -z "${sip_sections}" ] ; then
-               rm -f $file
-               isempty=2
-       else
-               [ -z "${sip_opt_domain}" ]  && sip_opt_domain="domain=${sip_opt_realm}"
-
-               echo "${asteriskuci_gen}[general]" > $file
-               echo "${sip_opt_domain}" >> "$file"
-               echo "domain=${sip_opt_localip}" >> "$file"
-               for i in ${sip_list} ; do
-                       eval value=\$sip_opt_$i
-                       [ ! -z "$value" ] && ( echo "$i=$value" >> $file )
-               done
-               [ -z "${sip_opt_localnet}" ] && sip_opt_localnet="localnet=${sip_opt_localnet_def}"
-               echo "${sip_opt_localnet}" >> "${file}"
-               echo "disallow=all" >> $file
-               local rhs="${sip_opt_allow}"
-               [ -z "$rhs" ] && rhs=ulaw
-               while [ ! -z "$rhs" ] ; do
-                       cur=${rhs%%,*}
-                       nvar=${rhs#*,}
-                       enable_format ${cur}
-                       echo "allow=${cur}" >> $file
-                       [ "$nvar" == "$rhs" ] && break
-                       rhs=${nvar}
-               done
-
-               echo "${N}${sip_register}${N}${N}${sip_sections}" >> $file
-               unset sip_register
-               unset sip_sections
-       fi
-       check_checksum "$sip_conf" "$file" || ast_sip_restart=$isempty
-}
-
-
-handle_sipgeneral() {
-       option_cb(){
-               if [ "${1%_LENGTH}" = "${1}" ] ; then
-                       local opt=${1%_ITEM*}
-                       logdebug 4 "SipGeneral option ${opt} $2"
-                       if valid_sipiax_option globalsip ${opt} "$2" ; then
-                               case "${opt}" in
-                                       host) sip_opt_host="$2"
-                                               [ -z "${sip_opt_host}" ] && sip_opt_host=dynamic ;;
-                                       allow)    append sip_opt_allow "$2" "," ;;
-                                       domain)   split_append sip_opt_domain domain= "$2" "${N}"  ;;
-                                       localnet) split_append sip_opt_localnet localnet= "$2" "${N}" ;;
-                                       *) eval "sip_opt_$1=\"\$2\"" ;;
-                               esac
-                       elif valid_rtp_option $1 "$2" ; then
-                               eval "rtp_opt_$1=\"\$2\""
-                       else
-                               logerror "Invalid SIP global option: $1"
-                       fi
-               fi
-       }
-}
-
-handle_sip() {
-       check_add sipitems
-       append sip_sections [$1] "$N$N"
-       enable_module chan_sip
-       sip_sectionname=${1#sip_}
-       sip_type=peer
-       sip_doregister=0
-       sip_last_context=-
-       sip_last_doregister=-
-       sip_selfmailbox=no
-       option_cb() {
-               logdebug 3 "SIP/${sip_sectionname}: '$1' '$2'"
-               case $1 in
-                       type) sip_type=$2
-                               append sip_sections "$1=$2" "$N"
-                               ;;
-                       register) [ "$2" == "yes" ] && sip_doregister=1 ;;
-                       registerextension|displayname) eval sip_last_$1="$2";;
-                       allow|allow_ITEM*) split_append sip_sections allow= "$2" "${N}" enable_format ;;
-                       extension|extension_ITEM*)    add_extension SIP ${sip_sectionname} "$2" ;;
-
-                       context)      sip_last_context="$2" ;;
-                       selfmailbox)  sip_selfmailbox="$2" ;;
-                       incoming|incoming_ITEM*)
-                               add_incoming SIP ${sip_sectionname} "$2" ;;
-                       timeout|prefix|internationalprefix|alwaysinternational|countrycode)
-                               eval "target_$1_SIP_${sectionname}=\"$2\""
-                       ;;
-                       *_LENGTH) ;;
-                       _*) ;;
-                       *)
-                               eval sip_last_$1="$2"
-                               local opt=${1%_ITEM*}
-                               if valid_sipiax_option ${sip_type}sip ${opt} $2 ; then
-                                       append sip_sections "${opt}=$2" "$N"
-                               else
-                                       logerror "Invalid SIP option for ${sip_type}: ${opt}"
-                               fi
-               esac
-       }
-}
-
-# rtp.conf
-
-ast_add_conf rtp
-init_rtpconf() {
-       ast_add_reload rtp
-       rtp_opt_rtpstart=5000
-       rtp_opt_rtpend=31000
-       rtp_opt_rtpchecksums=
-       rtp_opt_rtpdtmftimeout=
-       rtp_opt_rtcpinterval=5000
-}
-
-create_rtpconf() {
-       file=${DEST_DIR}/rtp.conf
-       get_checksum rtp_conf $file
-       local isempty=1
-       if module_enabled chan_sip ; then
-               echo "${asteriskuci_gen}[general]" > $file
-               for i in $rtp_option_list ; do
-                       eval "local val=\"\$rtp_opt_$i\""
-                       if [ ! -z "$val" ] ; then
-                               lhs=$i
-                               case "$i" in
-                                       rtpdtmftimeout) lhs=dtmftimeout
-                               esac
-                               echo "$lhs=$val" >> $file
-                       fi
-               done
-       else
-               rm -f $file
-               isempty=2
-       fi
-
-       check_checksum "$rtp_conf" "$file" || ast_rtp_restart=$isempty
-}
-reload_rtp() astcmd "rtp reload"
-unload_rtp() astcmd "unload rtp"
-
-
-# Iax
-
-ast_add_conf iax
-
-init_iaxconf() {
-       ast_add_reload iax
-       ast_enable_type iaxgeneral
-       ast_enable_type iax
-
-       return 0
-}
-
-create_iaxconf() {
-       local file=$DEST_DIR/iax.conf
-       get_checksum iax_conf $file
-       local isempty=1
-       if [ -z "${iax_sections}" ] ; then
-               rm -f $file
-               isempty=2
-       else
-               echo "${asteriskuci_gen}${iax_general}$N$N${iax_sections}" > $file
-       fi
-       check_checksum "$iax_conf" "$file"  || ast_iax_restart=${isempty}
-}
-
-handle_iaxgeneral() {
-       iax_general="[general]"
-       option_cb() {
-               case $1 in
-                       allow_LENGTH) ;;
-                       allow|allow_ITEM*) split_append iax_general allow= "$2" "${N}" enable_format ;;
-                       *)
-                               if valid_sipiax_option globaliax $1 $2 ; then
-                                       eval "iax_opt_$1=\"$2\""
-                                       append iax_general "$1=$2" "$N"
-                               else
-                                       logerror "Invalid IAX global option: $1"
-                               fi ;;
-               esac
-       }
-}
-
-handle_iax() {
-       check_add iaxitems
-       iax_type=peer
-       iax_sectionname="${1#iax_}"
-       append iax_sections "[${iax_sectionname}]" "$N$N"
-       iax_last_context=-
-       iax_selfmailbox=no
-       enable_module chan_iax2
-       option_cb() {
-               case $1 in
-                       type)
-                               iax_type=$2
-                               append iax_sections "type=$2" "$N" ;;
-                       allow_LENGTH|incoming_LENGTH) ;;
-                       allow|allow_ITEM*)
-                               split_append iax_sections allow= "$2" "${N}" enable_format ;;
-                       extension_LENGTH) ;;
-                       extension|extension_ITEM*)    add_extension IAX ${iax_sectionname} "$2" ;;
-                       displayname) eval iax_last_$1="$2";;
-                       context)
-                               eval iax_last_context="$2" ;;
-                       selfmailbox)
-                               eval iax_selfmailbox="$2" ;;
-                       incoming|incoming_ITEM*)
-                               add_incoming IAX ${iax_sectionname} "$2" ;;
-                       timeout|prefix|internationalprefix|alwaysinternational|countrycode)
-                               eval "target_$1_IAX_${sectionname}=\"$2\"" ;;
-                       *)
-                               eval iax_last_$1="$2"
-                               if valid_sipiax_option ${iax_type}iax $1 $2 ; then
-                                       append iax_sections "$1=$2" "$N"
-                               else
-                                       logerror "Invalid IAX option for ${iax_type}: $1"
-                               fi
-               esac
-       }
-}
-
-reload_iax() {
-       astcmd "iax2 reload"
-       return 1
-}
-unload_iax() astcmd "unload chan_iax2.so"
-
-handle_target() {
-       # Target name
-       if split_targettype targettype targetname "${1}" ; then
-               logdebug 4 "Handle target ${targettype}/${targetname} - ${1}"
-               handle_dialtarget "${targettype}" "${targetname}"
-       else
-               logerror "No target type specified for target $1"
-       fi
-}
-
-# Set up options sip/iax targets for outgoing sip/iax
-handle_dialtarget() {
-       # Dialzone target option
-       dt_areatype="$1"
-       dt_areaname="$2"
-       logdebug 1 "Dialzone Target for ${dt_areatype}/${dt_areaname}"
-       option_cb(){
-               logdebug 3 "Option $1='$2' for dialzone target"
-               case $1 in
-                       timeout|prefix|internationalprefix|alwaysinternational|countrycode)
-                               eval "target_$1_${dt_areatype}_${dt_areaname}=\"$2\""
-                       ;;
-                       *) 
-                               logerror "Invalid target for ${dt_areatype}/${dt_areaname}: ${1}"
-               esac
-       }
-}
-
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/sipiaxconf.txt b/contrib/package/asterisk-xip/files/uci/sipiaxconf.txt
deleted file mode 100644 (file)
index 8e16659..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-
-target (SIP|IAX)_{name}  - Handle options for outgoing dialing
-       timeout            - Timeout for dialing out with this target
-       prefix             - Prefix required to dial out on this target
-       internationalprefix- Prefix required to dial internation on this target
-       alwaysinternational- True if this target always requires internation prefix
-       countrycode        - Default International country code for this target
-       displayname        - CallerID Name to set.
-
-sipgeneral
-sip [sip_]{name}
-       type               - Type of sip connection - very important.
-       register           - Set to yes to register
-       registerextension  - 'Extension' to use in register string in place of username
-
-       extension (list)   - Extension to use for this phone (doesn't have to be unique). First one is used to set the incoming callerid.
-       selfmailbox        - Set to yes to have dialing own extensions go to mailbox
-       incoming (list)    - Specify the incoming context for ringing
-
-       domain (list)      - List of valid doamins to match
-       localnet (list)    - List of nets considered local (and therefor require no NAT)
-
-       timeout            - Timeout for dialing out with this target
-       prefix             - Prefix required to dial out on this target
-       internationalprefix- Prefix required to dial internation on this target
-       alwaysinternational- True if this target always requires internation prefix
-       countrycode        - Default International country code for this target
-
-       rtpstart           - rtp.conf option
-       rtpend             - rtp.conf option
-       rtpdtmftimeout     - rtp.conf option dtmftimeout
-       rtcpinterval       - rtp.conf option
-       rtpchecksums       - rtp.conf option
-
-
-iaxgeneral
-iax [iax_]{name}
-       extension (list)   - Extension to use for this phone (doesn't have to be unique). First one is used to set the incoming callerid.
-
-       selfmailbox        - Set to yes to have dialing own extensions go to mailbox
-       incoming (list)    - Specify the incoming context for ringing
-
-       timeout            - Timeout for dialing out with this target
-       prefix             - Prefix required to dial out on this target
-       internationalprefix- Prefix required to dial internation on this target
-       alwaysinternational- True if this target always requires internation prefix
-       countrycode        - Default International country code for this target
-
-General asterisk options - see asterisk doco
-
-Options          |Type    |sip    |sip  |iax    |iax
-                 |        |general|     |general|
------------------+--------+-------+-----+-------+-----
-writeprotect      Integer  no      no    yes     yes
-static            Integer  no      no    yes     yes
-port              Integer  yes     yes   no      no
-maxexpirey        Integer  yes     yes   no      no
-rtptimeout        Integer  yes     yes   no      no
-rtpholdtimeout    Integer  yes     yes   no      no
-defaultexpirey    Integer  yes     yes   no      no
-registertimeout   Integer  yes     yes   no      no
-registerattempts  Integer  yes     yes   no      no
-call-limit        Integer  yes     yes   no      no
-# ip addr
-bindaddr          IP Addr  yes     yes   no      no
-externip          IP Addr  yes     yes   no      no
-localnet          Net/mask yes     yes   no      no
-permit            Net/mask no      yes   no      no
-deny              Net/mask no      yes   no      no
-realm             Domain   yes     yes   no      no
-domain            Domain   yes     yes   no      no
-context           context  yes     yes   yes     yes
-notifymimetype    Mimetype yes     yes   no      no
-canreinvite       Yes/No   yes     yes   yes     yes
-nat               Yes/No   yes     yes   no      no
-allowoverlap      Yes/No   yes     yes   no      no
-allowsubscribe    Yes/No   yes     yes   no      no
-allowtransfer     Yes/No   yes     yes   no      no
-videosupport      Yes/No   yes     yes   no      no
-pedantic          Yes/No   no      yes   no      no
-trustrpid,        Yes/No   no      yes   no      no
-promiscredir      Yes/No   no      yes   no      no
-useclientcode     Yes/No   no      yes   no      no
-dtmfmode          Enum     yes     yes   no      no
-type              Enum     no      yes   no      yes
-insecure          Enum     no      yes   no      no
-callingpres       Enum     no      yes   no      no
-progressinband    Enum     no      yes   no      no
-allow             List     yes     yes   yes     yes
-disallow          List     yes     yes   yes     yes
-register          Register yes     yes   no      no
-username          String   no      yes   no      yes
-secret            String   no      yes   no      yes
-md5secret         String   no      yes   no      yes
-host              String   no      yes   no      yes
-mailbox           String   no      yes   no      yes
-auth              String   no      no    no      yes
-callgroup         String   no      yes   no      no
-pickupgroup       String   no      yes   no      no
-language          String   no      yes   no      no
-accountcode       String   no      yes   no      no
-setvar            String   no      yes   no      no
-callerid          String   no      yes   no      no
-amaflags          String   no      yes   no      no
-subscribecontext  String   no      yes   no      no
-maxcallbitrate    String   no      yes   no      no
-rfc2833compensate String   no      yes   no      no
-mailbox           String   no      yes   no      no
-template          String   no      peer  no      no
-fromdomain        String   no      peer  no      no
-regexten          String   no      peer  no      no
-fromuser          String   no      peer  no      no
-qualify           String   no      peer  no      no
-defaultip         String   no      peer  no      no
-sendrpid          String   no      peer  no      no
-outboundproxy     String   no      peer  no      no
-
diff --git a/contrib/package/asterisk-xip/files/uci/talkclock b/contrib/package/asterisk-xip/files/uci/talkclock
deleted file mode 100755 (executable)
index 20e3606..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-
-ast_add_module clock
-
-init_clock() {
-       ast_enable_type dialplanclock
-}
-
-add_dialplan_talkclock() {
-       local context=$1
-       local zone=${asterisk_zone}
-       [ ! -z "$3" ] && zone="$3"
-       local date_format="$4"
-       local time_format="$5"
-       logdebug 1 "Adding Dialplan talking clock $1 $2"
-       check_add_context "$context"
-       local ext="exten => $2,"
-       if [ "${dialplan_add_include_clock}" != 1 ] ; then
-               dialplan_add_include_clock=1
-               enable_format gsm
-               enable_module app_sayunixtime
-               append_include "macros/clock.conf"
-       fi
-       append dialplan_context_${context} "${ext}1,Macro(talkingclock,${time_format},${date_format},${zone})" "${N}"
-}
-
-handle_dialplanclock() {
-       check_add dialplanclock
-       option_cb() {
-               case $1 in
-                       dialplan|extension|zone|timeformat|dateformat)
-                               eval "dial_clock_$1=\"$2\"" ;;
-               esac
-       }
-}
-
-check_add_dialplanclock() {
-       if [ ! -z "${dial_clock_extension}" ] ; then
-               [ -z ${dial_clock_dialplan} ] && dial_clock_dialplan=default
-               add_dialplan_talkclock "${dial_clock_dialplan}" "${dial_clock_extension}" \
-                       "${dial_clock_zone}"  "${dial_clock_dateformat}" "${dial_clock_timeformat}"
-       fi
-       for i in dialplan extension zone timeformat dateformat ; do
-               eval "unset dial_clock_$i"
-       done
-}
-
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/talkclock.txt b/contrib/package/asterisk-xip/files/uci/talkclock.txt
deleted file mode 100644 (file)
index 9d4cdf3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-dialplanclock
-       dialplan   - dialplan to add clock to
-       extension  - extensions for talking clock
-       zone       - Timezone to use
-       timeformat - Time Format to use
-       dateformat - Date format to use
diff --git a/contrib/package/asterisk-xip/files/uci/voicemailconf b/contrib/package/asterisk-xip/files/uci/voicemailconf
deleted file mode 100755 (executable)
index fbdfd7b..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-#!/bin/sh
-
-# Voicemail.conf
-
-ast_add_conf voicemail
-
-init_voicemailconf() {
-       ast_add_reload voicemail
-
-       ast_enable_type voicegeneral
-       ast_enable_type voicemail
-       ast_enable_type voicezone
-       ast_enable_type dialplanvoice
-
-       voice_format=
-       voice_serveremail=
-       voice_attach=no
-       voice_skipms=3000
-       voice_maxsilence=10
-       voice_silencethreshold=128
-       voice_maxlogins=3
-       voice_emaildateformat="%A, %B %d, %Y at %r"
-       voice_sendvoicemail=no
-       voice_maxmsg=100
-       voice_maxmessage=180
-       voice_minmessage=3
-       voice_maxgreet=60
-       return 0
-}
-
-voicegeneral_list="format emailformat serveremail attach skipms maxsilence silencethreshold maxlogins emaildateformat sendvoicemail maxmsg maxmessage minmessage maxgreet"
-voicegeneral_ext_list=""
-
-valid_voicemail(){
-       is_in_list $1 ${voicegeneral_list} ${voicegeneral_ext_list}
-       return $?
-}
-
-voicebox_list="context number password name email pager"
-
-voicebox_listopt="tz attach serveremail saycid dialout callback review operator envelope sayduration saydurationm"
-
-valid_voicebox() {
-       is_in_list $1 ${voicebox_list} ${voicebox_listopt}
-       return $?
-}
-
-check_add_voicebox() {
-       if [ ! -z "${voicebox_number}" ] ; then
-               [ -z "${voicebox_context}" ] && voicebox_context=default
-               logdebug 1 "Adding Voicebox ${voicebox_number} in ${voicebox_context}"
-               # Construct the voicebox line
-               local line="$voicebox_number => "
-               [ -z "${voicebox_tz}" ] && voicebox_tz=homeloc
-               [ -z "${voicebox_name}" ] && voicebox_name=OpenWRT
-
-               logdebug 1 "Adding in order options"
-               for i in password name email pager ; do
-                       eval "local value=\"\${voicebox_$i}\""
-                       line="${line}${value},"
-               done
-
-               # Then add named options.
-               logdebug 2 "Adding in named options"
-               for i in ${voicebox_listopt} ; do
-                       eval val=\${voicebox_$i}
-                       [ -z "${val}" ] || append  line "$i=$val" \|
-               done
-
-               logdebug 2 "Check for empty"
-               # Check if the current voicebox context has anything
-               eval local cur="\${voicebox_section_$voicebox_context}"
-               # if not add it to the list of contexts used
-               [ -z "$cur" ] && append voice_contextlist "${voicebox_context}" " "
-
-               # Then add the voicebox line to the context
-               logdebug 4 "Add Voicebox $line to ${voicebox_context}"
-               append voicebox_section_${voicebox_context} "$line" "$N"
-       fi
-
-       # Then clear the settings for the next one.
-       for i in ${voicebox_list} ${voicebox_listopt} ; do
-               eval unset voicebox_$i
-       done
-}
-
-create_voicemailconf() {
-       # Construct the file
-       file=${DEST_DIR}/voicemail.conf
-       get_checksum voicemail_conf $file
-
-       local isempty=1
-       if [ -z "${voice_contextlist}" ] ; then
-               local isempty=2
-               rm -f $file
-       else
-
-               [ -z "${voice_format}" ] && voice_format="wav49|gsm|wav"
-               # Make emailformat first in the list
-               if [ ! -z "${voice_emailformat}" ] ; then
-                       local newfmt=${voice_emailformat}
-                       for i in ${voice_format//|/ } ; do
-                               [ "$i" == "${voice_emailformat}" ] || newfmt="${newfmt}|${i}"
-                       done
-                       voice_format="${newfmt}"
-               fi
-               echo "${asteriskuci_gen}[general]" > $file
-               for i in ${voicegeneral_list} ; do
-                       eval value=\${voice_$i}
-                       if [ ! -z "$value" ] ; then
-                               echo "$i=$value" >> $file
-                       fi
-               done
-               echo "${N}[zonemessages]" >> $file
-               echo "homeloc=${asterisk_zone}| Q IMp" >> $file
-               echo "${voicezone_list}" >> $file
-               for i in ${voice_contextlist} ; do
-                       echo "${N}[$i]" >> $file
-                       eval "local cursection=\"\${voicebox_section_${i}}\""
-                       echo "$cursection" >> $file
-                       eval unset voicebox_section_${i}
-               done
-               unset voice_contexts
-       fi
-       check_checksum "$voicemail_conf" "$file" || ast_voicemail_restart=$isempty
-}
-
-handle_voicegeneral() {
-       option_cb() {
-               case "$1" in
-                       format|format_ITEM*) append voice_format "$2" "|" ;;
-                       format_LENGTH) ;;
-                 *)
-                       if valid_voicemail $1 $2 ; then
-                               eval voice_$1="$2"
-                       else
-                               logerror "Invalid general voice option: $1"
-                       fi
-               esac
-       }
-}
-
-handle_voicemail() {
-       check_add voicebox
-       voicebox_context="${1%[-_]*}"
-       if [ "${voicebox_context}" == "$1" ] ; then
-               voicebox_context=default
-       fi
-       voicebox_number=${1#*[-_]}
-       option_cb() {
-               case $1 in
-                       zone) voicebox_tz="$2" ;;
-                       *)
-                               if valid_voicebox $1 $2 ; then
-                                       eval "voicebox_$1=\"$2\""
-                               else
-                                       logerror "Invalid voicebox option: $1"
-                               fi
-               esac
-       }
-}
-
-# Locality options for voicemail
-
-check_add_voicezone() {
-       if [ ! -z "${voicezone_name}" ] ; then
-               [ -z "${voicezone_zone}" ] && voicezone_zone=${asterisk_zone}
-               if [ -z "${voicezone_message}" ] ; then
-                       voicezone_message="Q IMp"
-               else
-                       voicezone_message=`echo "$voicezone_message"|tr \" \'`
-               fi
-               append voicezone_list "${voicezone_name}=${voicezone_zone}|${voicezone_message}" "${N}"
-       fi
-       unset voicezone_name
-       unset voicezone_zone
-       unset voicezone_message
-}
-
-handle_voicezone() {
-       voicezone_name=$1
-       option_cb() {
-               case $1 in
-                       name) voicezone_name="$2" ;;
-                       zone) voicezone_zone="$2" ;;
-                       message) voicezone_message="$2" ;;
-                       *) logerror "Invalid voicezone option: $1"
-               esac
-       }
-}
-
-handle_dialplanvoice() {
-       check_add dialplanvoice
-       option_cb() {
-               case $1 in
-                       dialplan|extension|voicecontext|voicebox)
-                               eval "dial_voice_$1=\"$2\"" ;;
-                       *) logerror "Invalid option: $1 for dialplanvoice"
-               esac
-       }
-}
-
-check_add_dialplanvoice() {
-       if [ ! -z "${dial_voice_dialplan}" -a ! -z "${dial_voice_extension}" ] ; then
-               local ext="exten => ${dial_voice_extension},"
-               [ -z "${dial_voice_voicebox}" ] && dial_voice_voicebox=default
-               if [ -z "${dial_voice_voicebox}" ] ; then
-                       logerror "Expecting voicebox for ${dial_voice_dialplan}/${dial_voice_extension}"
-               else
-                       check_add_context ${dial_voice_dialplan}
-                       local voiceext="${dial_voice_voicebox}@${dial_voice_voicecontext}"
-                       enable_voicemail
-                       append dialplan_context_${dial_voice_dialplan} "${ext}1,VoiceMailMain(${voiceext})" "${N}"
-               fi
-       fi
-       for i in dialplan extension voicecontext voicebox ; do
-               eval "unset dial_voice_$i"
-       done
-}
-
-enable_voicemail() {
-       enable_module res_adsi
-       enable_module app_voicemail
-       enable_format gsm
-}
-
-
-add_dialplan_voice() {
-       local context=$1
-       logdebug 1 "Adding Dialplan voice $1 $2"
-       check_add_context "$context"
-       local ext="exten => $2,"
-       enable_voicemail
-       append dialplan_context_${context} "${ext}1,VoiceMailMain($3)" "${N}"
-}
-
-
-
-reload_voicemail() astcmd "module reload app_voicemail.so"
-unload_voicemail() astcmd "module unload app_voicemail.so"
-
-
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/voicemailconf.txt b/contrib/package/asterisk-xip/files/uci/voicemailconf.txt
deleted file mode 100644 (file)
index 174d8a8..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-
-voicegeneral - General options for voicemail
-       format           - Formats to store mail in (Default wav49|gsm|wav) - once set do NOT change this.
-       emailformat      - Which format to use for email
-       maxlogins        - Number of failed login attempts allowed
-       maxmsg           - Maximum numer of messages per folder
-       sendvoicemail    - Allow Sending of voicemail from VoiceMailMain
-       serveremail      - Who the notifications should be 'FROM:'
-       attach           - Attach voicemail to the email as an attachment
-       skipms           - Milliseconds to skip forward/back for rew/ff in message playback
-       maxsilence       - Seconds of silence before recoring ends.
-       silencethreshold - What is considered silence - the lower the more sensitive
-       emaildateformat  - Date format on outgoing mails (see strftime).
-       maxmessage       - Maximum length of voicemail in seconds
-       minmessage       - Minimum length of voicemail in seconds
-       maxgreet         - Maximum length of greetings in seconds
-
-voicemail - Add a voicemail box.
-       context          - 'Voicemail context' for this entry (default 'default')
-       number           - Number of voicemail box
-       name             - Name of owner (default OpenWRT)
-       zone             - Timezone for voicebox (default homeloc)
-       password         - Passcode for box
-       email            - Email address of owner
-       page             - Pager number of owner.
-
-voicezone - Add a Timezone definition
-       zone             - Name of timezone (from tzdata) to use
-       message          - Date time message to use
-
-dialplanvoice - Add extension to pick up voicemail
-       dialplan         - Dialplan context to add the extension to
-       extension        - Extension to add
-       voicecontext     - voicebox context (default 'default')
-       voicebox         - Which voicebox to open
diff --git a/contrib/package/asterisk-xip/files/uci/voicemenu b/contrib/package/asterisk-xip/files/uci/voicemenu
deleted file mode 100644 (file)
index 7b04677..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-#!/bin/sh
-
-# IVR - Interactive Voice Response Menus.
-
-ast_add_module voicemenu
-init_voicemenu() {
-       ast_enable_type voicemenu
-       ast_enable_type voiceoption
-}
-check_append_voicemenu() {
-       local context="${1}"
-       eval "local isadded=\"\${dialplan_add_voicemenu_${context}-0}\""
-       if [ "$isadded" != "1" ] ; then
-               eval "dialplan_add_voicemenu_${context}=1"
-               append voicemenu_contexts "$context"
-               return 0
-       else
-               return 1
-       fi
-}
-voicemenu_list="greeting timeoutlen timeoutsmax invalidmax includelocal localmenu"
-
-handle_voicemenu() {
-       opt_voicemenu_context="$1"
-       check_append_voicemenu "${opt_voicemenu_context}"
-
-       option_cb() {
-               case "$1" in
-                       greeting|timeoutlen|timeoutsmax|invalidmax|includelocal|localmenu)
-                               eval "opt_voicemenu_${opt_voicemenu_context}_$1=\"\$2\"" ;;
-                       _*) ;;
-                       *) logerror "Invalid Voicemenu option: $1" ;;
-               esac
-       }
-}
-
-voiceoption_list="digit menu dial goto"
-
-check_add_voiceoption() {
-       [ -z "${last_vo_voicemenu}" ] && return 0
-
-       if [ -z "${last_vo_dial}" ] ; then
-               append opt_voicemenu_${last_vo_voicemenu}_action "exten => ${last_vo_digit},1,Goto(${last_vo_goto},s,1)" "${N}"
-       else
-               append opt_voicemenu_${last_vo_voicemenu}_action "exten => ${last_vo_digit},1,Dial(${last_vo_dial})" "${N}"
-       fi
-
-       append opt_voicemenu_${last_vo_voicemenu}_menu "${last_vo_menu}" "&"
-
-       for i in ${voiceoption_list} ; do
-               eval "unset last_vo_$i"
-       done
-
-}
-
-handle_voiceoption() {
-       opt_voicemenu_context="$1"
-       check_add voiceoption
-
-       option_cb() {
-               case "$1" in
-                       voicemenu|digit|menu|dial|goto)
-                               eval "last_vo_$1=\"\$2\"" ;;
-                       _*) ;;
-                       *) logerror "Invalid Voiceoption option in ${opt_voicemenu_context}: $1" ;;
-               esac
-       }
-}
-
-createdialplan_voicemenu(){
-       logdebug 0 "Creating Voicemenu dialplans"
-       [ -z "${voicemenu_contexts}" ]  && return 0
-
-       for curvm in ${voicemenu_contexts} ; do
-               check_add_context "${curvm}"
-               for i in ${voicemenu_list} menu action ; do
-                       eval "vmc_${i}=\"\${opt_voicemenu_${curvm}_${i}}\""
-               done
-
-               [ -z "${vmc_timeoutlen}" ] && vmc_timeoutlen=5
-               [ -z "${vmc_timeoutsmax}" ] && vmc_timeoutsmax=3
-               [ -z "${vmc_invalidmax}" ] && vmc_invalidmax=0
-
-               # Construct a voicemenu - with as small as possible code.
-               local nn=1
-               if [ ! -z "${vmc_greeting}" ] ; then
-                       append_dialplan_context $curvm "exten => s,${nn},Background(${vmc_greeting})"
-                       nn=n
-               fi
-
-               local againtimeout="(againtimeout)"
-               if [ ${vmc_invalidmax} -gt 0 ] ; then
-                       append_dialplan_context $curvm "exten => s,${nn},Set(NUMINVALID=${vmc_invalidmax})"
-                       nn=n
-               fi
-
-               if [ ${vmc_timeoutsmax} -gt 0 ] ; then
-                       local labagaininvalid="(againinvalid)"
-                       if [ ${vmc_invalidmax} -le 0 ] ; then
-                               labagaininvalid=""
-                       fi
-                       append_dialplan_context $curvm "exten => s,${nn}${labagaininvalid},Set(NUMTIMEOUTS=${vmc_timeoutsmax})"
-                       nn=n
-               else
-                       if [ ${vmc_invalidmax} -gt 0 ] ; then
-                               againtimeout="(againinvalid)"
-                       else
-                               againtimeout=
-                       fi
-               fi
-               if [ ! -z "${vmc_localmenu}" ] ; then
-                       append_dialplan_context $curvm "exten => s,${nn}${againtimeout},Background(${vmc_localmenu})"
-                       nn=n
-                       againtimeout=
-               fi
-               if [ ! -z "${vmc_menu}" ] ; then
-                       append_dialplan_context $curvm "exten => s,${nn}${againtimeout},Background(${vmc_menu})"
-                       againtimeout=
-                       nn=n
-               fi
-               append_dialplan_context $curvm "exten => s,${nn}${againtimeout},WaitExten(${vmc_timeoutlen})
-exten => s,n,Goto(t,1)
-exten => s,n(goodbye),Playback(vm-goodbye)
-exten => s,n,Hangup()"
-               if [ ${vmc_timeoutsmax} -gt 0 ] ; then
-                       append_dialplan_context $curvm "exten => t,1,Set(NUMTIMEOUTS=\$[\${NUMTIMEOUTS} - 1])
-exten => t,n,Gotoif(\$[\${NUMTIMEOUTS} >= 0]?s,againtimeout:s,goodbye)"
-               else
-                       append_dialplan_context $curvm "exten => t,1,Goto(s,goodbye)"
-               fi
-               append_dialplan_context ${curvm} "${vmc_action}"
-               [ -z "${vmc_includelocal}" ] || append_dialplan_context ${curvm} "include => ${vmc_includelocal}"
-               if [ ${vmc_invalidmax} -gt 0 ] ; then
-                       append_dialplan_context $curvm "exten => i,1,Set(NUMINVALID=\$[\${NUMINVALID} - 1])
-exten => i,n,Background(invalid)
-exten => i,n,Gotoif(\$[\${NUMINVALID} >= 0]?s,againinvalid:s,goodbye)"
-               else
-                       append_dialplan_context $curvm "exten => i,1,Background(invalid)${N}exten => i,n,Goto(s,goodbye)"
-               fi
-       done
-
-}
-
-
-# vim: ts=2 sw=2 noet foldmethod=indent
diff --git a/contrib/package/asterisk-xip/files/uci/voicemenu.txt b/contrib/package/asterisk-xip/files/uci/voicemenu.txt
deleted file mode 100644 (file)
index ee87e2c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-
-voicemenu
-  greeting     - Greeting (not repeated) at the start
-  timeoutlen   - Length of timeout between repeats of menus
-  timeoutsmax  - Number of timeouts
-  invalidmax   - Number of invalid keypresses allowed.
-  includelocal - Include a context for direct dial of local numbers
-  localmenu    - Menu to say for direct dial of local numbers
-
-config voiceoption
-  voicemenu    - Name of menu the option applies to
-  digit        - Digit to press for option
-  menu         - What to include in menu for this option (use & to sep files and exclude extension)
-  dial         - Extension to dial
-  goto         - (or) Context to jump to
-
-Example
-
-config voicemenu autoattendmenu
-  option greeting greet/autogreet
-  option timeoutlen 5
-  option timeoutsmax 3
-  option invalidmax 3
-  option includelocal  extensions
-  option 'localmenu' 'misc/dialextension'
-
-config voiceoption
-  option voicemenu autoattendmenu
-  option digit  1
-  option menu  misc/press&digits/1&misc/for&misc/operator
-  option dial SIP/101
-
-config voiceoption
-  option voicemenu autoattendmenu
-  option digit 2
-  option menu  misc/press&digits/2&misc/for&misc/sales
-  option goto salesmenu
diff --git a/contrib/package/asterisk-xip/files/voiceprompts.txt b/contrib/package/asterisk-xip/files/voiceprompts.txt
deleted file mode 100644 (file)
index aae2382..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-lastcall/previous     Press 4 for previous number
-lastcall/call-number  Press 5 to dial number
-lastcall/next         Press 6 for next number
-lastcall/tag-number   Press 7 to tag number
-lastcall/previous-numbers Previous numbers.
-lastcall/dialed-numbers Dialed numbers
-lastcall/missed-call Missed calls
-lastcall/rec-call    Received calls
-lastcall/calling        Calling number
-lastcall/none-available no numbers available
-lastcall/no-number-info no number information
-voicetag/confirmnumber  Press 1 to confirm tag
-voicetag/tryagain       Press 2 to re-record tag
-voicetag/cancelrecord   Press 3 to exit recording
-voicetag/recordname     Please record name tag after tone
-voicetag/tagfor         Tag recorded for
-misc/at-tone-time-exactly At the tone the time will be exactly
-misc/busy            All our operators are busy at the moment
-misc/press           press
-misc/for             for
-misc/operator        operator
-misc/reach-operator  to reach operator
-misc/sales           sales
-
diff --git a/contrib/package/asterisk-xip/patches/011-Makefile-main.patch b/contrib/package/asterisk-xip/patches/011-Makefile-main.patch
deleted file mode 100644 (file)
index dbb5c44..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nru asterisk-1.4.22.org/main/Makefile asterisk-1.4.22/main/Makefile
---- asterisk-1.4.22.org/main/Makefile  2008-07-18 18:15:41.000000000 +0200
-+++ asterisk-1.4.22/main/Makefile      2008-11-29 14:58:13.000000000 +0100
-@@ -144,7 +144,7 @@
- ifneq ($(findstring chan_h323,$(MENUSELECT_CHANNELS)),)
-       $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS)
- else
--      $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS)
-+      $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS)
- endif
-       $(CMD_PREFIX) $(ASTTOPDIR)/build_tools/strip_nonapi $@ || rm $@
diff --git a/contrib/package/asterisk-xip/patches/013-chan_iax2-tmp_path.patch b/contrib/package/asterisk-xip/patches/013-chan_iax2-tmp_path.patch
deleted file mode 100644 (file)
index 12b64d7..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nru asterisk-1.4.22.org/channels/chan_iax2.c asterisk-1.4.22/channels/chan_iax2.c
---- asterisk-1.4.22.org/channels/chan_iax2.c   2008-09-02 20:14:57.000000000 +0200
-+++ asterisk-1.4.22/channels/chan_iax2.c       2008-11-29 15:00:00.000000000 +0100
-@@ -1815,7 +1815,7 @@
-               last++;
-       else
-               last = s;
--      snprintf(s2, strlen(s) + 100, "/var/tmp/%s-%ld", last, (unsigned long)ast_random());
-+      snprintf(s2, strlen(s) + 100, "/tmp/%s-%ld", last, (unsigned long)ast_random());
-       res = stat(s, &stbuf);
-       if (res < 0) {
-               ast_log(LOG_WARNING, "Failed to stat '%s': %s\n", s, strerror(errno));
diff --git a/contrib/package/asterisk-xip/patches/014-openssl-configure_ac.patch b/contrib/package/asterisk-xip/patches/014-openssl-configure_ac.patch
deleted file mode 100644 (file)
index 9f3d9cd..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nru asterisk-1.4.22.org/configure.ac asterisk-1.4.22/configure.ac
---- asterisk-1.4.22.org/configure.ac   2008-09-08 18:26:00.000000000 +0200
-+++ asterisk-1.4.22/configure.ac       2008-11-29 15:01:13.000000000 +0100
-@@ -1319,7 +1319,7 @@
- AST_EXT_LIB_CHECK([SQLITE], [sqlite], [sqlite_exec], [sqlite.h])
--AST_EXT_LIB_CHECK([OPENSSL], [ssl], [ssl2_connect], [openssl/ssl.h], [-lcrypto])
-+AST_EXT_LIB_CHECK([OPENSSL], [ssl], [ssl23_connect], [openssl/ssl.h], [-lcrypto])
- if test "$PBX_OPENSSL" = "1";
- then
-     AST_EXT_LIB_CHECK([OSPTK], [osptk], [OSPPCryptoDecrypt], [osp/osp.h], [-lcrypto -lssl])
diff --git a/contrib/package/asterisk-xip/patches/015-spandsp-app_fax.patch b/contrib/package/asterisk-xip/patches/015-spandsp-app_fax.patch
deleted file mode 100644 (file)
index ce2c042..0000000
+++ /dev/null
@@ -1,875 +0,0 @@
-diff -Nru asterisk-1.4.22.org/apps/app_rxfax.c asterisk-1.4.22/apps/app_rxfax.c
---- asterisk-1.4.22.org/apps/app_rxfax.c       1970-01-01 01:00:00.000000000 +0100
-+++ asterisk-1.4.22/apps/app_rxfax.c   2008-11-29 15:02:27.000000000 +0100
-@@ -0,0 +1,376 @@
-+/*
-+ * Asterisk -- A telephony toolkit for Linux.
-+ *
-+ * Trivial application to receive a TIFF FAX file
-+ * 
-+ * Copyright (C) 2003, Steve Underwood
-+ *
-+ * Steve Underwood <steveu@coppice.org>
-+ *
-+ * This program is free software, distributed under the terms of
-+ * the GNU General Public License
-+ */
-+
-+/*** MODULEINFO
-+         <depend>spandsp</depend>
-+***/
-+ 
-+#include "asterisk.h"
-+
-+ASTERISK_FILE_VERSION(__FILE__, "$Revision:$")
-+
-+#include <string.h>
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <inttypes.h>
-+#include <pthread.h>
-+#include <errno.h>
-+#include <tiffio.h>
-+
-+#include <spandsp.h>
-+
-+#include "asterisk/lock.h"
-+#include "asterisk/file.h"
-+#include "asterisk/logger.h"
-+#include "asterisk/channel.h"
-+#include "asterisk/pbx.h"
-+#include "asterisk/module.h"
-+#include "asterisk/translate.h"
-+#include "asterisk/dsp.h"
-+#include "asterisk/manager.h"
-+
-+static char *app = "RxFAX";
-+
-+static char *synopsis = "Receive a FAX to a file";
-+
-+static char *descrip = 
-+"  RxFAX(filename[|caller][|debug]): Receives a FAX from the channel into the\n"
-+"given filename. If the file exists it will be overwritten. The file\n"
-+"should be in TIFF/F format.\n"
-+"The \"caller\" option makes the application behave as a calling machine,\n"
-+"rather than the answering machine. The default behaviour is to behave as\n"
-+"an answering machine.\n"
-+"Uses LOCALSTATIONID to identify itself to the remote end.\n"
-+"     LOCALHEADERINFO to generate a header line on each page.\n"
-+"Sets REMOTESTATIONID to the sender CSID.\n"
-+"     FAXPAGES to the number of pages received.\n"
-+"     FAXBITRATE to the transmition rate.\n"
-+"     FAXRESOLUTION to the resolution.\n"
-+"Returns -1 when the user hangs up.\n"
-+"Returns 0 otherwise.\n";
-+
-+#define MAX_BLOCK_SIZE 240
-+
-+static void span_message(int level, const char *msg)
-+{
-+    int ast_level;
-+    
-+    if (level == SPAN_LOG_WARNING)
-+        ast_level = __LOG_WARNING;
-+    else if (level == SPAN_LOG_WARNING)
-+        ast_level = __LOG_WARNING;
-+    else
-+        ast_level = __LOG_DEBUG;
-+    ast_log(ast_level, __FILE__, __LINE__, __PRETTY_FUNCTION__, msg);
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+static void t30_flush(t30_state_t *s, int which)
-+{
-+    /* TODO: */
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+static void phase_e_handler(t30_state_t *s, void *user_data, int result)
-+{
-+    struct ast_channel *chan;
-+    t30_stats_t t;
-+    char local_ident[21];
-+    char far_ident[21];
-+    char buf[11];
-+    
-+    chan = (struct ast_channel *) user_data;
-+    if (result == T30_ERR_OK)
-+    {
-+        t30_get_transfer_statistics(s, &t);
-+        t30_get_far_ident(s, far_ident);
-+        t30_get_local_ident(s, local_ident);
-+        ast_log(LOG_DEBUG, "==============================================================================\n");
-+        ast_log(LOG_DEBUG, "Fax successfully received.\n");
-+        ast_log(LOG_DEBUG, "Remote station id: %s\n", far_ident);
-+        ast_log(LOG_DEBUG, "Local station id:  %s\n", local_ident);
-+        ast_log(LOG_DEBUG, "Pages transferred: %i\n", t.pages_transferred);
-+        ast_log(LOG_DEBUG, "Image resolution:  %i x %i\n", t.x_resolution, t.y_resolution);
-+        ast_log(LOG_DEBUG, "Transfer Rate:     %i\n", t.bit_rate);
-+        ast_log(LOG_DEBUG, "==============================================================================\n");
-+        manager_event(EVENT_FLAG_CALL,
-+                      "FaxReceived", "Channel: %s\nExten: %s\nCallerID: %s\nRemoteStationID: %s\nLocalStationID: %s\nPagesTransferred: %i\nResolution: %i\nTransferRate: %i\nFileName: %s\n",
-+                      chan->name,
-+                      chan->exten,
-+                      (chan->cid.cid_num)  ?  chan->cid.cid_num  :  "",
-+                      far_ident,
-+                      local_ident,
-+                      t.pages_transferred,
-+                      t.y_resolution,
-+                      t.bit_rate,
-+                      s->rx_file);
-+        pbx_builtin_setvar_helper(chan, "REMOTESTATIONID", far_ident);
-+        snprintf(buf, sizeof(buf), "%i", t.pages_transferred);
-+        pbx_builtin_setvar_helper(chan, "FAXPAGES", buf);
-+        snprintf(buf, sizeof(buf), "%i", t.y_resolution);
-+        pbx_builtin_setvar_helper(chan, "FAXRESOLUTION", buf);
-+        snprintf(buf, sizeof(buf), "%i", t.bit_rate);
-+        pbx_builtin_setvar_helper(chan, "FAXBITRATE", buf);
-+    }
-+    else
-+    {
-+        ast_log(LOG_DEBUG, "==============================================================================\n");
-+        ast_log(LOG_DEBUG, "Fax receive not successful - result (%d) %s.\n", result, t30_completion_code_to_str(result));
-+        ast_log(LOG_DEBUG, "==============================================================================\n");
-+    }
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+static void phase_d_handler(t30_state_t *s, void *user_data, int result)
-+{
-+    struct ast_channel *chan;
-+    t30_stats_t t;
-+    
-+    chan = (struct ast_channel *) user_data;
-+    if (result)
-+    {
-+        t30_get_transfer_statistics(s, &t);
-+        ast_log(LOG_DEBUG, "==============================================================================\n");
-+        ast_log(LOG_DEBUG, "Pages transferred:  %i\n", t.pages_transferred);
-+        ast_log(LOG_DEBUG, "Image size:         %i x %i\n", t.width, t.length);
-+        ast_log(LOG_DEBUG, "Image resolution    %i x %i\n", t.x_resolution, t.y_resolution);
-+        ast_log(LOG_DEBUG, "Transfer Rate:      %i\n", t.bit_rate);
-+        ast_log(LOG_DEBUG, "Bad rows            %i\n", t.bad_rows);
-+        ast_log(LOG_DEBUG, "Longest bad row run %i\n", t.longest_bad_row_run);
-+        ast_log(LOG_DEBUG, "Compression type    %i\n", t.encoding);
-+        ast_log(LOG_DEBUG, "Image size (bytes)  %i\n", t.image_size);
-+        ast_log(LOG_DEBUG, "==============================================================================\n");
-+    }
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+static int rxfax_exec(struct ast_channel *chan, void *data)
-+{
-+    int res = 0;
-+    char template_file[256];
-+    char target_file[256];
-+    char *s;
-+    char *t;
-+    char *v;
-+    const char *x;
-+    int option;
-+    int len;
-+    int i;
-+    fax_state_t fax;
-+    int calling_party;
-+    int verbose;
-+    int samples;
-+
-+    struct ast_module_user *u;
-+    struct ast_frame *inf = NULL;
-+    struct ast_frame outf;
-+
-+    int original_read_fmt;
-+    int original_write_fmt;
-+    
-+    uint8_t __buf[sizeof(uint16_t)*MAX_BLOCK_SIZE + 2*AST_FRIENDLY_OFFSET];
-+    uint8_t *buf = __buf + AST_FRIENDLY_OFFSET;
-+
-+    if (chan == NULL)
-+    {
-+        ast_log(LOG_WARNING, "Fax receive channel is NULL. Giving up.\n");
-+        return -1;
-+    }
-+
-+    span_set_message_handler(span_message);
-+
-+    /* The next few lines of code parse out the filename and header from the input string */
-+    if (data == NULL)
-+    {
-+        /* No data implies no filename or anything is present */
-+        ast_log(LOG_WARNING, "Rxfax requires an argument (filename)\n");
-+        return -1;
-+    }
-+    
-+    calling_party = FALSE;
-+    verbose = FALSE;
-+    target_file[0] = '\0';
-+
-+    for (option = 0, v = s = data;  v;  option++, s++)
-+    {
-+        t = s;
-+        v = strchr(s, '|');
-+        s = (v)  ?  v  :  s + strlen(s);
-+        strncpy((char *) buf, t, s - t);
-+        buf[s - t] = '\0';
-+        if (option == 0)
-+        {
-+            /* The first option is always the file name */
-+            len = s - t;
-+            if (len > 255)
-+                len = 255;
-+            strncpy(target_file, t, len);
-+            target_file[len] = '\0';
-+            /* Allow the use of %d in the file name for a wild card of sorts, to
-+               create a new file with the specified name scheme */
-+            if ((x = strchr(target_file, '%'))  &&  x[1] == 'd')
-+            {
-+                strcpy(template_file, target_file);
-+                i = 0;
-+                do
-+                {
-+                    snprintf(target_file, 256, template_file, 1);
-+                    i++;
-+                }
-+                while (ast_fileexists(target_file, "", chan->language) != -1);
-+            }
-+        }
-+        else if (strncmp("caller", t, s - t) == 0)
-+        {
-+            calling_party = TRUE;
-+        }
-+        else if (strncmp("debug", t, s - t) == 0)
-+        {
-+            verbose = TRUE;
-+        }
-+    }
-+
-+    /* Done parsing */
-+
-+    u = ast_module_user_add(chan);
-+
-+    if (chan->_state != AST_STATE_UP)
-+    {
-+        /* Shouldn't need this, but checking to see if channel is already answered
-+         * Theoretically asterisk should already have answered before running the app */
-+        res = ast_answer(chan);
-+    }
-+    
-+    if (!res)
-+    {
-+        original_read_fmt = chan->readformat;
-+        if (original_read_fmt != AST_FORMAT_SLINEAR)
-+        {
-+            res = ast_set_read_format(chan, AST_FORMAT_SLINEAR);
-+            if (res < 0)
-+            {
-+                ast_log(LOG_WARNING, "Unable to set to linear read mode, giving up\n");
-+                return -1;
-+            }
-+        }
-+        original_write_fmt = chan->writeformat;
-+        if (original_write_fmt != AST_FORMAT_SLINEAR)
-+        {
-+            res = ast_set_write_format(chan, AST_FORMAT_SLINEAR);
-+            if (res < 0)
-+            {
-+                ast_log(LOG_WARNING, "Unable to set to linear write mode, giving up\n");
-+                res = ast_set_read_format(chan, original_read_fmt);
-+                if (res)
-+                    ast_log(LOG_WARNING, "Unable to restore read format on '%s'\n", chan->name);
-+                return -1;
-+            }
-+        }
-+        fax_init(&fax, calling_party);
-+        if (verbose)
-+            fax.logging.level = SPAN_LOG_SHOW_SEVERITY | SPAN_LOG_SHOW_PROTOCOL | SPAN_LOG_FLOW;
-+        x = pbx_builtin_getvar_helper(chan, "LOCALSTATIONID");
-+        if (x  &&  x[0])
-+            t30_set_local_ident(&fax.t30_state, x);
-+        x = pbx_builtin_getvar_helper(chan, "LOCALHEADERINFO");
-+        if (x  &&  x[0])
-+            t30_set_header_info(&fax.t30_state, x);
-+        t30_set_rx_file(&fax.t30_state, target_file, -1);
-+        //t30_set_phase_b_handler(&fax.t30_state, phase_b_handler, chan);
-+        t30_set_phase_d_handler(&fax.t30_state, phase_d_handler, chan);
-+        t30_set_phase_e_handler(&fax.t30_state, phase_e_handler, chan);
-+        t30_set_ecm_capability(&fax.t30_state, TRUE);
-+        t30_set_supported_compressions(&fax.t30_state, T30_SUPPORT_T4_1D_COMPRESSION | T30_SUPPORT_T4_2D_COMPRESSION | T30_SUPPORT_T6_COMPRESSION);
-+        while (ast_waitfor(chan, -1) > -1)
-+        {
-+            inf = ast_read(chan);
-+            if (inf == NULL)
-+            {
-+                res = -1;
-+                break;
-+            }
-+            if (inf->frametype == AST_FRAME_VOICE)
-+            {
-+                if (fax_rx(&fax, inf->data, inf->samples))
-+                    break;
-+                samples = (inf->samples <= MAX_BLOCK_SIZE)  ?  inf->samples  :  MAX_BLOCK_SIZE;
-+                len = fax_tx(&fax, (int16_t *) &buf[AST_FRIENDLY_OFFSET], samples);
-+                if (len)
-+                {
-+                    memset(&outf, 0, sizeof(outf));
-+                    outf.frametype = AST_FRAME_VOICE;
-+                    outf.subclass = AST_FORMAT_SLINEAR;
-+                    outf.datalen = len*sizeof(int16_t);
-+                    outf.samples = len;
-+                    outf.data = &buf[AST_FRIENDLY_OFFSET];
-+                    outf.offset = AST_FRIENDLY_OFFSET;
-+                    outf.src = "RxFAX";
-+                    if (ast_write(chan, &outf) < 0)
-+                    {
-+                        ast_log(LOG_WARNING, "Unable to write frame to channel; %s\n", strerror(errno));
-+                        break;
-+                    }
-+                }
-+            }
-+            ast_frfree(inf);
-+        }
-+        if (inf == NULL)
-+        {
-+            ast_log(LOG_DEBUG, "Got hangup\n");
-+            res = -1;
-+        }
-+        if (original_read_fmt != AST_FORMAT_SLINEAR)
-+        {
-+            res = ast_set_read_format(chan, original_read_fmt);
-+            if (res)
-+                ast_log(LOG_WARNING, "Unable to restore read format on '%s'\n", chan->name);
-+        }
-+        if (original_write_fmt != AST_FORMAT_SLINEAR)
-+        {
-+            res = ast_set_write_format(chan, original_write_fmt);
-+            if (res)
-+                ast_log(LOG_WARNING, "Unable to restore write format on '%s'\n", chan->name);
-+        }
-+        t30_terminate(&fax.t30_state);
-+    }
-+    else
-+    {
-+        ast_log(LOG_WARNING, "Could not answer channel '%s'\n", chan->name);
-+    }
-+    ast_module_user_remove(u);
-+    return res;
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+static int unload_module(void)
-+{
-+      int res;
-+
-+      ast_module_user_hangup_all();
-+
-+      res = ast_unregister_application(app);  
-+      
-+
-+      return res;
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+static int load_module(void)
-+{
-+      return ast_register_application(app, rxfax_exec, synopsis, descrip);
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Trivial FAX Receive Application");
-+
-+/*- End of file ------------------------------------------------------------*/
-diff -Nru asterisk-1.4.22.org/apps/app_txfax.c asterisk-1.4.22/apps/app_txfax.c
---- asterisk-1.4.22.org/apps/app_txfax.c       1970-01-01 01:00:00.000000000 +0100
-+++ asterisk-1.4.22/apps/app_txfax.c   2008-11-29 15:02:27.000000000 +0100
-@@ -0,0 +1,303 @@
-+/*
-+ * Asterisk -- A telephony toolkit for Linux.
-+ *
-+ * Trivial application to send a TIFF file as a FAX
-+ * 
-+ * Copyright (C) 2003, Steve Underwood
-+ *
-+ * Steve Underwood <steveu@coppice.org>
-+ *
-+ * This program is free software, distributed under the terms of
-+ * the GNU General Public License
-+ */
-+
-+/*** MODULEINFO
-+         <depend>spandsp</depend>
-+***/
-+ 
-+#include "asterisk.h"
-+
-+ASTERISK_FILE_VERSION(__FILE__, "$Revision:$")
-+
-+#include <string.h>
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <inttypes.h>
-+#include <pthread.h>
-+#include <errno.h>
-+#include <tiffio.h>
-+
-+#include <spandsp.h>
-+
-+#include "asterisk/lock.h"
-+#include "asterisk/file.h"
-+#include "asterisk/logger.h"
-+#include "asterisk/channel.h"
-+#include "asterisk/pbx.h"
-+#include "asterisk/module.h"
-+#include "asterisk/translate.h"
-+
-+static char *app = "TxFAX";
-+
-+static char *synopsis = "Send a FAX file";
-+
-+static char *descrip = 
-+"  TxFAX(filename[|caller][|debug]):  Send a given TIFF file to the channel as a FAX.\n"
-+"The \"caller\" option makes the application behave as a calling machine,\n"
-+"rather than the answering machine. The default behaviour is to behave as\n"
-+"an answering machine.\n"
-+"Uses LOCALSTATIONID to identify itself to the remote end.\n"
-+"     LOCALHEADERINFO to generate a header line on each page.\n"
-+"Sets REMOTESTATIONID to the receiver CSID.\n"
-+"Returns -1 when the user hangs up, or if the file does not exist.\n"
-+"Returns 0 otherwise.\n";
-+
-+#define MAX_BLOCK_SIZE 240
-+
-+static void span_message(int level, const char *msg)
-+{
-+    int ast_level;
-+    
-+    if (level == SPAN_LOG_WARNING)
-+        ast_level = __LOG_WARNING;
-+    else if (level == SPAN_LOG_WARNING)
-+        ast_level = __LOG_WARNING;
-+    else
-+        ast_level = __LOG_DEBUG;
-+    ast_log(ast_level, __FILE__, __LINE__, __PRETTY_FUNCTION__, msg);
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+#if 0
-+static void t30_flush(t30_state_t *s, int which)
-+{
-+    /* TODO: */
-+}
-+/*- End of function --------------------------------------------------------*/
-+#endif
-+
-+static void phase_e_handler(t30_state_t *s, void *user_data, int result)
-+{
-+    struct ast_channel *chan;
-+    char far_ident[21];
-+    
-+    chan = (struct ast_channel *) user_data;
-+    if (result == T30_ERR_OK)
-+    {
-+        t30_get_far_ident(s, far_ident);
-+        pbx_builtin_setvar_helper(chan, "REMOTESTATIONID", far_ident);
-+    }
-+    else
-+    {
-+        ast_log(LOG_DEBUG, "==============================================================================\n");
-+        ast_log(LOG_DEBUG, "Fax send not successful - result (%d) %s.\n", result, t30_completion_code_to_str(result));
-+        ast_log(LOG_DEBUG, "==============================================================================\n");
-+    }
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+static int txfax_exec(struct ast_channel *chan, void *data)
-+{
-+    int res = 0;
-+    char source_file[256];
-+    char *s;
-+    char *t;
-+    char *v;
-+    const char *x;
-+    int option;
-+    int len;
-+    fax_state_t fax;
-+    int calling_party;
-+    int verbose;
-+    int samples;
-+    
-+    struct ast_module_user *u;
-+    struct ast_frame *inf = NULL;
-+    struct ast_frame outf;
-+
-+    int original_read_fmt;
-+    int original_write_fmt;
-+    
-+    uint8_t __buf[sizeof(uint16_t)*MAX_BLOCK_SIZE + 2*AST_FRIENDLY_OFFSET];
-+    uint8_t *buf = __buf + AST_FRIENDLY_OFFSET;
-+
-+    if (chan == NULL)
-+    {
-+        ast_log(LOG_WARNING, "Fax transmit channel is NULL. Giving up.\n");
-+        return -1;
-+    }
-+
-+    span_set_message_handler(span_message);
-+
-+    /* The next few lines of code parse out the filename and header from the input string */
-+    if (data == NULL)
-+    {
-+        /* No data implies no filename or anything is present */
-+        ast_log(LOG_WARNING, "Txfax requires an argument (filename)\n");
-+        return -1;
-+    }
-+    
-+    calling_party = FALSE;
-+    verbose = FALSE;
-+    source_file[0] = '\0'; 
-+
-+    for (option = 0, v = s = data;  v;  option++, s++)
-+    {
-+        t = s;
-+        v = strchr(s, '|');
-+        s = (v)  ?  v  :  s + strlen(s);
-+        strncpy((char *) buf, t, s - t);
-+        buf[s - t] = '\0';
-+        if (option == 0)
-+        {
-+            /* The first option is always the file name */
-+            len = s - t;
-+            if (len > 255)
-+                len = 255;
-+            strncpy(source_file, t, len);
-+            source_file[len] = '\0';
-+        }
-+        else if (strncmp("caller", t, s - t) == 0)
-+        {
-+            calling_party = TRUE;
-+        }
-+        else if (strncmp("debug", t, s - t) == 0)
-+        {
-+            verbose = TRUE;
-+        }
-+    }
-+
-+    /* Done parsing */
-+
-+    u = ast_module_user_add(chan);
-+
-+    if (chan->_state != AST_STATE_UP)
-+    {
-+        /* Shouldn't need this, but checking to see if channel is already answered
-+         * Theoretically asterisk should already have answered before running the app */
-+        res = ast_answer(chan);
-+    }
-+    
-+    if (!res)
-+    {
-+        original_read_fmt = chan->readformat;
-+        if (original_read_fmt != AST_FORMAT_SLINEAR)
-+        {
-+            res = ast_set_read_format(chan, AST_FORMAT_SLINEAR);
-+            if (res < 0)
-+            {
-+                ast_log(LOG_WARNING, "Unable to set to linear read mode, giving up\n");
-+                return -1;
-+            }
-+        }
-+        original_write_fmt = chan->writeformat;
-+        if (original_write_fmt != AST_FORMAT_SLINEAR)
-+        {
-+            res = ast_set_write_format(chan, AST_FORMAT_SLINEAR);
-+            if (res < 0)
-+            {
-+                ast_log(LOG_WARNING, "Unable to set to linear write mode, giving up\n");
-+                res = ast_set_read_format(chan, original_read_fmt);
-+                if (res)
-+                    ast_log(LOG_WARNING, "Unable to restore read format on '%s'\n", chan->name);
-+                return -1;
-+            }
-+        }
-+        fax_init(&fax, calling_party);
-+        if (verbose)
-+          fax.logging.level = SPAN_LOG_SHOW_SEVERITY | SPAN_LOG_SHOW_PROTOCOL | SPAN_LOG_FLOW;
-+
-+        x = pbx_builtin_getvar_helper(chan, "LOCALSTATIONID");
-+        if (x  &&  x[0])
-+            t30_set_local_ident(&fax.t30_state, x);
-+        x = pbx_builtin_getvar_helper(chan, "LOCALHEADERINFO");
-+        if (x  &&  x[0])
-+            t30_set_header_info(&fax.t30_state, x);
-+        t30_set_tx_file(&fax.t30_state, source_file, -1, -1);
-+        //t30_set_phase_b_handler(&fax.t30_state, phase_b_handler, chan);
-+        //t30_set_phase_d_handler(&fax.t30_state, phase_d_handler, chan);
-+        t30_set_phase_e_handler(&fax.t30_state, phase_e_handler, chan);
-+        t30_set_ecm_capability(&fax.t30_state, TRUE);
-+        t30_set_supported_compressions(&fax.t30_state, T30_SUPPORT_T4_1D_COMPRESSION | T30_SUPPORT_T4_2D_COMPRESSION | T30_SUPPORT_T6_COMPRESSION);
-+        while (ast_waitfor(chan, -1) > -1)
-+        {
-+            inf = ast_read(chan);
-+            if (inf == NULL)
-+            {
-+                res = -1;
-+                break;
-+            }
-+            if (inf->frametype == AST_FRAME_VOICE)
-+            {
-+                if (fax_rx(&fax, inf->data, inf->samples))
-+                    break;
-+                samples = (inf->samples <= MAX_BLOCK_SIZE)  ?  inf->samples  :  MAX_BLOCK_SIZE;
-+                len = fax_tx(&fax, (int16_t *) &buf[AST_FRIENDLY_OFFSET], samples);
-+                if (len)
-+                {
-+                    memset(&outf, 0, sizeof(outf));
-+                    outf.frametype = AST_FRAME_VOICE;
-+                    outf.subclass = AST_FORMAT_SLINEAR;
-+                    outf.datalen = len*sizeof(int16_t);
-+                    outf.samples = len;
-+                    outf.data = &buf[AST_FRIENDLY_OFFSET];
-+                    outf.offset = AST_FRIENDLY_OFFSET;
-+                    if (ast_write(chan, &outf) < 0)
-+                    {
-+                        ast_log(LOG_WARNING, "Unable to write frame to channel; %s\n", strerror(errno));
-+                        break;
-+                    }
-+                }
-+            }
-+            ast_frfree(inf);
-+        }
-+        if (inf == NULL)
-+        {
-+            ast_log(LOG_DEBUG, "Got hangup\n");
-+            res = -1;
-+        }
-+        if (original_read_fmt != AST_FORMAT_SLINEAR)
-+        {
-+            res = ast_set_read_format(chan, original_read_fmt);
-+            if (res)
-+                ast_log(LOG_WARNING, "Unable to restore read format on '%s'\n", chan->name);
-+        }
-+        if (original_write_fmt != AST_FORMAT_SLINEAR)
-+        {
-+            res = ast_set_write_format(chan, original_write_fmt);
-+            if (res)
-+                ast_log(LOG_WARNING, "Unable to restore write format on '%s'\n", chan->name);
-+        }
-+        t30_terminate(&fax.t30_state);
-+    }
-+    else
-+    {
-+        ast_log(LOG_WARNING, "Could not answer channel '%s'\n", chan->name);
-+    }
-+    ast_module_user_remove(u);
-+    return res;
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+static int unload_module(void)
-+{
-+      int res;
-+
-+      ast_module_user_hangup_all();
-+
-+      res = ast_unregister_application(app);  
-+      
-+
-+      return res;
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+static int load_module(void)
-+{
-+    return ast_register_application(app, txfax_exec, synopsis, descrip);
-+}
-+/*- End of function --------------------------------------------------------*/
-+
-+AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Trivial FAX Transmit Application");
-+
-+/*- End of file ------------------------------------------------------------*/
-diff -Nru asterisk-1.4.22.org/build_tools/menuselect-deps.in asterisk-1.4.22/build_tools/menuselect-deps.in
---- asterisk-1.4.22.org/build_tools/menuselect-deps.in 2008-08-14 04:02:15.000000000 +0200
-+++ asterisk-1.4.22/build_tools/menuselect-deps.in     2008-11-29 15:02:27.000000000 +0100
-@@ -23,6 +23,7 @@
- POPT=@PBX_POPT@
- PRI=@PBX_PRI@
- RADIUS=@PBX_RADIUS@
-+SPANDSP=@PBX_SPANDSP@
- SPEEX=@PBX_SPEEX@
- SPEEXDSP=@PBX_SPEEXDSP@
- SPEEX_PREPROCESS=@PBX_SPEEX_PREPROCESS@
-diff -Nru asterisk-1.4.22.org/configure.ac asterisk-1.4.22/configure.ac
---- asterisk-1.4.22.org/configure.ac   2008-09-08 18:26:00.000000000 +0200
-+++ asterisk-1.4.22/configure.ac       2008-11-29 15:02:27.000000000 +0100
-@@ -201,6 +201,7 @@
- AST_EXT_LIB_SETUP([PWLIB], [PWlib], [pwlib])
- AST_EXT_LIB_SETUP([OPENH323], [OpenH323], [h323])
- AST_EXT_LIB_SETUP([RADIUS], [Radius Client], [radius])
-+AST_EXT_LIB_SETUP([SPANDSP], [spandsp Library], [spandsp])
- AST_EXT_LIB_SETUP([SPEEX], [Speex], [speex])
- AST_EXT_LIB_SETUP([SPEEXDSP], [Speexdsp], [speexdsp])
- AST_EXT_LIB_SETUP([SQLITE], [SQLite], [sqlite])
-@@ -1302,6 +1303,8 @@
- AST_EXT_LIB_CHECK([RADIUS], [radiusclient-ng], [rc_read_config], [radiusclient-ng.h])
-+AST_EXT_LIB_CHECK([SPANDSP], [spandsp], [fax_init], [spandsp.h], [-ltiff -ljpeg -lz])
-+
- AST_EXT_LIB_CHECK([SPEEX], [speex], [speex_encode], [speex/speex.h], [-lm])
- # See if the main speex library contains the preprocess functions
-diff -Nru asterisk-1.4.22.org/include/asterisk/plc.h asterisk-1.4.22/include/asterisk/plc.h
---- asterisk-1.4.22.org/include/asterisk/plc.h 2006-06-14 16:12:56.000000000 +0200
-+++ asterisk-1.4.22/include/asterisk/plc.h     2008-11-29 15:02:27.000000000 +0100
-@@ -1,18 +1,17 @@
--/*! \file
-- * \brief SpanDSP - a series of DSP components for telephony
-+/*
-+ * SpanDSP - a series of DSP components for telephony
-  *
-  * plc.h
-  *
-- * \author Steve Underwood <steveu@coppice.org>
-+ * Written by Steve Underwood <steveu@coppice.org>
-  *
-  * Copyright (C) 2004 Steve Underwood
-  *
-  * All rights reserved.
-  *
-  * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License as published by
-- * the Free Software Foundation; either version 2 of the License, or
-- * (at your option) any later version.
-+ * it under the terms of the GNU General Public License version 2, as
-+ * published by the Free Software Foundation.
-  *
-  * This program is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-@@ -23,37 +22,36 @@
-  * along with this program; if not, write to the Free Software
-  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-  *
-- * This version may be optionally licenced under the GNU LGPL licence.
-- *
-- * A license has been granted to Digium (via disclaimer) for the use of
-- * this code.
-+ * $Id: plc.h,v 1.15 2007/04/08 08:16:18 steveu Exp $
-  */
-+/*! \file */
--#if !defined(_PLC_H_)
--#define _PLC_H_
--
--#ifdef SOLARIS
--#include <sys/int_types.h>
--#else
--#if defined(__OpenBSD__) || defined( __FreeBSD__)
--#include <inttypes.h>
--#else
--#include <stdint.h>
--#endif
--#endif
-+#if !defined(_SPANDSP_PLC_H_)
-+#define _SPANDSP_PLC_H_
- /*! \page plc_page Packet loss concealment
- \section plc_page_sec_1 What does it do?
--The packet loss concealment module provides a suitable synthetic fill-in signal,
--to minimise the audible effect of lost packets in VoIP applications. It is not
--tied to any particular codec, and could be used with almost any codec which does not
-+The packet loss concealment module provides a synthetic fill-in signal, to minimise
-+the audible effect of lost packets in VoIP applications. It is not tied to any
-+particular codec, and could be used with almost any codec which does not
- specify its own procedure for packet loss concealment.
--Where a codec specific concealment procedure exists, the algorithm is usually built
-+Where a codec specific concealment procedure exists, that algorithm is usually built
- around knowledge of the characteristics of the particular codec. It will, therefore,
- generally give better results for that particular codec than this generic concealer will.
-+The PLC code implements an algorithm similar to the one described in Appendix 1 of G.711.
-+However, the G.711 algorithm is optimised for 10ms packets. Few people use such small
-+packets. 20ms is a much more common value, and longer packets are also quite common. The
-+algorithm has been adjusted with this in mind. Also, the G.711 approach causes an
-+algorithmic delay, and requires significant buffer manipulation when there is no packet
-+loss. The algorithm used here avoids this. It causes no delay, and achieves comparable
-+quality with normal speech.
-+
-+Note that both this algorithm, and the one in G.711 are optimised for speech. For most kinds
-+of music a much slower decay on bursts of lost packets give better results.
-+
- \section plc_page_sec_2 How does it work?
- While good packets are being received, the plc_rx() routine keeps a record of the trailing
- section of the known speech signal. If a packet is missed, plc_fillin() is called to produce
-@@ -83,7 +81,7 @@
-   correct steadily fall. Therefore, the volume of the synthesized signal is made to decay
-   linearly, such that after 50ms of missing audio it is reduced to silence.
--- When real speech resumes, an extra 1/4 pitch period of sythetic speech is blended with the
-+- When real speech resumes, an extra 1/4 pitch period of synthetic speech is blended with the
-   start of the real speech. If the erasure is small, this smoothes the transition. If the erasure
-   is long, and the synthetic signal has faded to zero, the blending softens the start up of the
-   real signal, avoiding a kind of "click" or "pop" effect that might occur with a sudden onset.
-@@ -110,6 +108,9 @@
-     the pitch assessment. */
- #define PLC_HISTORY_LEN         (CORRELATION_SPAN + PLC_PITCH_MIN)
-+/*!
-+    The generic packet loss concealer context.
-+*/
- typedef struct
- {
-     /*! Consecutive erased samples */
-@@ -127,12 +128,13 @@
- } plc_state_t;
--#ifdef __cplusplus
--extern "C" {
-+#if defined(__cplusplus)
-+extern "C"
-+{
- #endif
--/*! Process a block of received audio samples.
--    \brief Process a block of received audio samples.
-+/*! Process a block of received audio samples for PLC.
-+    \brief Process a block of received audio samples for PLC.
-     \param s The packet loss concealer context.
-     \param amp The audio sample buffer.
-     \param len The number of samples in the buffer.
-@@ -147,13 +149,18 @@
-     \return The number of samples synthesized. */
- int plc_fillin(plc_state_t *s, int16_t amp[], int len);
--/*! Process a block of received V.29 modem audio samples.
--    \brief Process a block of received V.29 modem audio samples.
-+/*! Initialise a packet loss concealer context.
-+    \brief Initialise a PLC context.
-     \param s The packet loss concealer context.
--    \return A pointer to the he packet loss concealer context. */
-+    \return A pointer to the the packet loss concealer context. */
- plc_state_t *plc_init(plc_state_t *s);
--#ifdef __cplusplus
-+/*! Free a packet loss concealer context.
-+    \param s The packet loss concealer context.
-+    \return 0 for OK. */
-+int plc_release(plc_state_t *s);
-+
-+#if defined(__cplusplus)
- }
- #endif
-diff -Nru asterisk-1.4.22.org/makeopts.in asterisk-1.4.22/makeopts.in
---- asterisk-1.4.22.org/makeopts.in    2008-06-12 21:08:20.000000000 +0200
-+++ asterisk-1.4.22/makeopts.in        2008-11-29 15:02:27.000000000 +0100
-@@ -138,6 +138,9 @@
- RADIUS_INCLUDE=@RADIUS_INCLUDE@
- RADIUS_LIB=@RADIUS_LIB@
-+SPANDSP_INCLUDE=@SPANDSP_INCLUDE@
-+SPANDSP_LIB=@SPANDSP_LIB@
-+
- SPEEX_INCLUDE=@SPEEX_INCLUDE@
- SPEEX_LIB=@SPEEX_LIB@
diff --git a/contrib/package/asterisk-xip/patches/016-iksemel-configure_ac.patch b/contrib/package/asterisk-xip/patches/016-iksemel-configure_ac.patch
deleted file mode 100644 (file)
index 0b0b7d5..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nru asterisk-1.4.22.org/configure.ac asterisk-1.4.22/configure.ac
---- asterisk-1.4.22.org/configure.ac   2008-09-08 18:26:00.000000000 +0200
-+++ asterisk-1.4.22/configure.ac       2008-11-29 15:04:09.000000000 +0100
-@@ -514,7 +514,7 @@
-    fi
- fi
--AST_EXT_LIB_CHECK([IKSEMEL], [iksemel], [iks_start_sasl], [iksemel.h])
-+AST_EXT_LIB_CHECK([IKSEMEL], [iksemel], [iks_start_sasl], [iksemel.h], [-lgnutls -lgcrypt -lgpg-error])
- if test "${PBX_IKSEMEL}" = 1; then
-    AST_EXT_LIB_CHECK([GNUTLS], [gnutls], [gnutls_bye], [gnutls/gnutls.h], [-lz -lgcrypt -lgpg-error])
diff --git a/contrib/package/asterisk-xip/patches/017-Makefile-no_march.patch b/contrib/package/asterisk-xip/patches/017-Makefile-no_march.patch
deleted file mode 100644 (file)
index 98ec110..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nru asterisk-1.4.22.org/Makefile asterisk-1.4.22/Makefile
---- asterisk-1.4.22.org/Makefile       2008-09-08 22:15:42.000000000 +0200
-+++ asterisk-1.4.22/Makefile   2008-11-29 15:05:12.000000000 +0100
-@@ -215,7 +215,7 @@
- endif
- ifneq ($(PROC),ultrasparc)
--  ASTCFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
-+  #ASTCFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
- endif
- ifeq ($(PROC),ppc)
diff --git a/contrib/package/asterisk-xip/patches/023-autoconf-chan_h323.patch b/contrib/package/asterisk-xip/patches/023-autoconf-chan_h323.patch
deleted file mode 100644 (file)
index 629bb38..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -Nru asterisk-1.4.22.org/acinclude.m4 asterisk-1.4.22/acinclude.m4
---- asterisk-1.4.22.org/acinclude.m4   2008-07-22 22:49:41.000000000 +0200
-+++ asterisk-1.4.22/acinclude.m4       2008-11-29 15:06:28.000000000 +0100
-@@ -588,6 +588,7 @@
-                               ;;
-               esac
-               AC_MSG_RESULT(${OPENH323_BUILD})
-+              OPENH323_SUFFIX="n_s"
-               AC_SUBST([OPENH323_SUFFIX])
-               AC_SUBST([OPENH323_BUILD])
-diff -Nru asterisk-1.4.22.org/configure.ac asterisk-1.4.22/configure.ac
---- asterisk-1.4.22.org/configure.ac   2008-09-08 18:26:00.000000000 +0200
-+++ asterisk-1.4.22/configure.ac       2008-11-29 15:06:28.000000000 +0100
-@@ -1259,7 +1259,7 @@
-       if test "${HAS_PWLIB:-unset}" != "unset"; then
-               AST_CHECK_OPENH323_PLATFORM()
--              PLATFORM_PWLIB="pt_${PWLIB_PLATFORM}_r"
-+              PLATFORM_PWLIB="pt_${PWLIB_PLATFORM}_r_s"
-               AST_CHECK_PWLIB_BUILD([PWLib], [PWLIB],
-                       [Define if your system has the PWLib libraries.],
diff --git a/contrib/package/asterisk-xip/patches/026-gsm-mips.patch b/contrib/package/asterisk-xip/patches/026-gsm-mips.patch
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/contrib/package/asterisk-xip/patches/030-acinclude.patch b/contrib/package/asterisk-xip/patches/030-acinclude.patch
deleted file mode 100644 (file)
index 7ca79b6..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-diff -Nru asterisk-1.4.22.org/acinclude.m4 asterisk-1.4.22/acinclude.m4
---- asterisk-1.4.22.org/acinclude.m4   2008-07-22 22:49:41.000000000 +0200
-+++ asterisk-1.4.22/acinclude.m4       2008-11-29 15:08:07.000000000 +0100
-@@ -664,7 +664,7 @@
-       [assume the C compiler uses GNU ld @<:@default=no@:>@])],
-     [test "$withval" = no || with_gnu_ld=yes],
-     [with_gnu_ld=no])
--AC_REQUIRE([AST_PROG_SED])dnl
-+AC_REQUIRE([AC_PROG_SED])dnl
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_CANONICAL_HOST])dnl
- AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-@@ -769,28 +769,6 @@
-  AC_SUBST([EGREP])
- ])]) # AST_PROG_EGREP
--# AST_PROG_SED
--# -----------
--# Check for a fully functional sed program that truncates
--# as few characters as possible.  Prefer GNU sed if found.
--AC_DEFUN([AST_PROG_SED],
--[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED,
--    [dnl ac_script should not contain more than 99 commands (for HP-UX sed),
--     dnl but more than about 7000 bytes, to catch a limit in Solaris 8 /usr/ucb/sed.
--     ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
--     for ac_i in 1 2 3 4 5 6 7; do
--       ac_script="$ac_script$as_nl$ac_script"
--     done
--     echo "$ac_script" | sed 99q >conftest.sed
--     $as_unset ac_script || ac_script=
--     _AC_PATH_PROG_FEATURE_CHECK(SED, [sed gsed],
--      [_AC_FEATURE_CHECK_LENGTH([ac_path_SED], [ac_cv_path_SED],
--              ["$ac_path_SED" -f conftest.sed])])])
-- SED="$ac_cv_path_SED"
-- AC_SUBST([SED])dnl
-- rm -f conftest.sed
--])# AST_PROG_SED
--
- dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
- dnl
- dnl @summary figure out how to build C programs using POSIX threads
diff --git a/contrib/package/asterisk-xip/patches/035-main-asterisk-uclibc-daemon.patch b/contrib/package/asterisk-xip/patches/035-main-asterisk-uclibc-daemon.patch
deleted file mode 100644 (file)
index 262bed4..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -Nru asterisk-1.4.22.org/main/asterisk.c asterisk-1.4.22/main/asterisk.c
---- asterisk-1.4.22.org/main/asterisk.c        2008-07-26 17:31:21.000000000 +0200
-+++ asterisk-1.4.22/main/asterisk.c    2008-12-20 22:49:58.000000000 +0100
-@@ -2935,7 +2935,38 @@
- #if HAVE_WORKING_FORK
-       if (ast_opt_always_fork || !ast_opt_no_fork) {
- #ifndef HAVE_SBIN_LAUNCHD
-+#ifndef __UCLIBC__
-               daemon(1, 0);
-+#else
-+/*
-+   workaround for uClibc-0.9.29 mipsel bug:
-+   recursive mutexes do not work if uClibc daemon() function has been called,
-+     if parent thread locks a mutex
-+     the child thread cannot acquire a lock with the same name
-+     (same code works if daemon() is not called)
-+   but duplication of uClibc daemon.c code in here does work.
-+*/
-+      int fd;
-+      switch (fork()) {
-+              case -1:
-+                      exit(1);
-+              case 0:
-+                      break;
-+              default:
-+                      _exit(0);
-+      }
-+      if (setsid() == -1)
-+              exit(1);
-+      if (fork())
-+              _exit(0);
-+      if ((fd = open("/dev/null", O_RDWR, 0)) != -1) {
-+              dup2(fd, STDIN_FILENO);
-+              dup2(fd, STDOUT_FILENO);
-+              dup2(fd, STDERR_FILENO);
-+              if (fd > 2)
-+                      close(fd);
-+      }
-+#endif
-               ast_mainpid = getpid();
-               /* Blindly re-write pid file since we are forking */
-               unlink(ast_config_AST_PID);
diff --git a/contrib/package/asterisk-xip/patches/040-pickup2.patch b/contrib/package/asterisk-xip/patches/040-pickup2.patch
deleted file mode 100644 (file)
index cc665ec..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-*** xx/apps/app_pickup2.c      1970-01-01 08:00:00.000000000 +0800
---- asterisk-1.4.22/apps/app_pickup2.c 2009-01-19 17:44:07.483909506 +0900
-***************
-*** 0 ****
---- 1,279 ----
-+ /*
-+  * Asterisk -- A telephony toolkit for Linux.
-+  *
-+  * Pickup, channel independent call pickup
-+  *
-+  * Copyright (C) 2005-2007, Thorsten Knabe <ast@thorsten-knabe.de>
-+  * 
-+  * Copyright (C) 2004, Junghanns.NET GmbH
-+  *
-+  * Klaus-Peter Junghanns <kpj@junghanns.net>
-+  *
-+  * Copyright (C) 2004, Florian Overkamp <florian@obsimref.com>
-+  *
-+  * This program is free software, distributed under the terms of
-+  * the GNU General Public License
-+  */
-+ 
-+ /*** MODULEINFO
-+      <defaultenabled>yes</defaultenabled>
-+  ***/
-+ 
-+ #include "asterisk.h"
-+ 
-+ ASTERISK_FILE_VERSION(__FILE__, "$Revision: 2 $")
-+ 
-+ #include <stdlib.h>
-+ #include <unistd.h>
-+ #include <string.h>
-+ #include <stdio.h>
-+ #include <signal.h>
-+ #include <pthread.h>
-+ #include "asterisk/lock.h"
-+ #include "asterisk/file.h"
-+ #include "asterisk/logger.h"
-+ #include "asterisk/channel.h"
-+ #include "asterisk/pbx.h"
-+ #include "asterisk/module.h"
-+ #include "asterisk/musiconhold.h"
-+ #include "asterisk/features.h"
-+ #include "asterisk/options.h"
-+ 
-+ static char *app = "PickUp2";
-+ static char *synopsis = "PickUp ringing channel.";
-+ static char *descrip = 
-+ "  PickUp2(Technology/resource[&Technology2/resource2&...][|<option>]):\n"
-+ "Matches the list of prefixes in the parameter list against channels in\n"
-+ "state RINGING. If a match is found the channel is picked up and\n"
-+ "PICKUP_CHANNEL is set to the picked up channel name. If no matching\n"
-+ "channel is found PICKUP_CHANNEL is empty.\n"
-+ "Possible options:\n"
-+ "B: match on channel name of bridged channel.\n";
-+ 
-+ static char *app2 = "PickDown2";
-+ static char *synopsis2 = "Hangup ringing channel.";
-+ static char *descrip2 = 
-+ "  PickDown2(Technology/resource[&Technology2/resource2&...][|<option>]):\n"
-+ "Matches the list of prefixes in the parameter list against channels in\n"
-+ "state RINGING. If a match is found the channel is hung up and\n"
-+ "PICKDOWN_CHANNEL is set to the hung up channel name. If no matching\n"
-+ "channel is found PICKDOWN_CHANNEL is empty.\n"
-+ "Possible options:\n"
-+ "B: match on channel name of bridged channel.\n";
-+ 
-+ static char *app3 = "Steal2";
-+ static char *synopsis3 = "Steal a connected channel.";
-+ 
-+ static char *descrip3 = 
-+ "  Steal2(Technology/resource[&Technology2/resource2&...][|<option>]):\n"
-+ "Matches the list of prefixes in the parameter list against channels in\n"
-+ "state UP. If a match is found the channel is stolen and\n"
-+ "STEAL_CHANNEL is set to the stolen channel name. If no matching\n"
-+ "channel is found STEAL_CHANNEL is empty.\n"
-+ "Possible options:\n"
-+ "B: match on channel name of bridged channel.\n";
-+ 
-+ /* Find channel matching given pattern and state, skipping our own channel.
-+  * Returns locked channel, which has to be unlocked using ast_mutex_unlock().
-+  * Returns NULL when no matching channel is found.
-+  */
-+ static struct ast_channel *find_matching_channel(struct ast_channel *chan,
-+      void *pattern, int chanstate)
-+ {
-+      struct ast_channel *cur;
-+      char *pat = "";
-+      char *next_pat = NULL;
-+      char *option = "";
-+      struct ast_channel *bridged;
-+ 
-+      /* copy original pattern or use empty pattern if no pattern has been given*/
-+      if (pattern) {
-+              pat = alloca(strlen(pattern) + 1);
-+              strcpy(pat, pattern);
-+      }
-+      for (option = pat; *option; option++) {
-+              if (*option == '|') {
-+                      *option = '\0';
-+                      option++;
-+                      break;
-+              }
-+      }
-+      ast_verbose(VERBOSE_PREFIX_4 
-+              "find_matching_channel: pattern='%s' option='%s' state=%d\n",
-+              (char *)pat, option, chanstate);
-+ 
-+      /* match on bridged channel name */
-+      if (!strcmp("B", option)) {
-+              /* Iterate over each part of the pattern */
-+              while (pat) {
-+                      /* find pattern for next iteration, 
-+                       * terminate current pattern */
-+                      for (next_pat = pat; 
-+                              *next_pat && *next_pat != '&'; next_pat++);
-+                      if (*next_pat == '&') {
-+                              *next_pat = 0;
-+                              next_pat++;
-+                      } else
-+                              next_pat = NULL;
-+                      /* Iterate over all channels */
-+                      cur = ast_channel_walk_locked(NULL);
-+                      while (cur) {
-+                              bridged = ast_bridged_channel(cur);
-+                              if (bridged) {
-+                                      ast_verbose(VERBOSE_PREFIX_4 
-+                                              "find_matching_channel: trying channel='%s' bridged='%s' "
-+                                              "state=%d pattern='%s'\n",
-+                                              cur->name, bridged->name, cur->_state, pat);
-+                                      if ((cur != chan) && (bridged != chan) &&
-+                                              (cur->_state == chanstate) &&
-+                                              !strncmp(pat, bridged->name, strlen(pat))) {
-+                                              ast_verbose(VERBOSE_PREFIX_4
-+                                                              "find_matching_channel: "
-+                                                              "found channel='%s' bridged='%s'\n",
-+                                                              cur->name, bridged->name);
-+                                              return(cur);
-+                                      }
-+                              }
-+                              ast_mutex_unlock(&cur->lock);
-+                              cur = ast_channel_walk_locked(cur);
-+                      }
-+                      pat = next_pat;
-+              }
-+      } else {
-+              /* Iterate over each part of the pattern */
-+              while (pat) {
-+                      /* find pattern for next iteration, 
-+                       * terminate current pattern */
-+                      for (next_pat = pat; 
-+                              *next_pat && *next_pat != '&'; next_pat++);
-+                      if (*next_pat == '&') {
-+                              *next_pat = 0;
-+                              next_pat++;
-+                      } else
-+                              next_pat = NULL;
-+                      /* Iterate over all channels */
-+                      cur = ast_channel_walk_locked(NULL);
-+                      while (cur) {
-+                              ast_verbose(VERBOSE_PREFIX_4 
-+                                      "find_matching_channel: trying channel='%s' "
-+                                      "state=%d pattern='%s'\n",
-+                                      cur->name, cur->_state, pat);
-+                              if ((cur != chan) && 
-+                                      (cur->_state == chanstate) &&
-+                                      !strncmp(pat, cur->name, strlen(pat))) {
-+                                      ast_verbose(VERBOSE_PREFIX_4
-+                                                      "find_matching_channel: "
-+                                                      "found channel='%s'\n",
-+                                                      cur->name);
-+                                      return(cur);
-+                              }
-+                              ast_mutex_unlock(&cur->lock);
-+                              cur = ast_channel_walk_locked(cur);
-+                      }
-+                      pat = next_pat;
-+              }
-+      }
-+      return(NULL);
-+ }
-+ 
-+ static int pickup_channel(struct ast_channel *chan, void *pattern)
-+ {
-+      int ret = 0;
-+      struct ast_module_user *u;
-+      struct ast_channel *cur;
-+      u = ast_module_user_add(chan);
-+      cur = find_matching_channel(chan, pattern, AST_STATE_RINGING);
-+      if (cur) {
-+              ast_verbose(VERBOSE_PREFIX_3 
-+                      "Channel %s picked up ringing channel %s\n",
-+                      chan->name, cur->name);
-+              pbx_builtin_setvar_helper(chan, "PICKUP_CHANNEL", cur->name);
-+              if (chan->_state != AST_STATE_UP) {
-+                      ast_answer(chan);
-+              }
-+              if (ast_channel_masquerade(cur, chan)) {
-+                      ast_log(LOG_ERROR, "unable to masquerade\n");
-+                      ret = -1;
-+              }
-+              ast_mutex_unlock(&cur->lock);
-+              ast_mutex_unlock(&chan->lock);
-+      } else {
-+              pbx_builtin_setvar_helper(chan, "PICKUP_CHANNEL", "");
-+      }
-+      ast_module_user_remove(u);
-+      return(ret);
-+ }
-+ 
-+ static int pickdown_channel(struct ast_channel *chan, void *pattern)
-+ {
-+      int ret = 0;
-+      struct ast_module_user *u;
-+      struct ast_channel *cur;
-+      u = ast_module_user_add(chan);
-+      cur = find_matching_channel(chan, pattern, AST_STATE_RINGING);
-+      if (cur) {
-+                 ast_verbose(VERBOSE_PREFIX_3 
-+                      "Channel %s hung up ringing channel %s\n",
-+                      chan->name, cur->name);
-+              pbx_builtin_setvar_helper(chan, "PICKDOWN_CHANNEL", cur->name);
-+              ast_softhangup_nolock(cur, AST_SOFTHANGUP_DEV);
-+              ast_mutex_unlock(&cur->lock);
-+      } else {
-+              pbx_builtin_setvar_helper(chan, "PICKDOWN_CHANNEL", "");
-+      }
-+      ast_module_user_remove(u);
-+      return(ret);
-+ }
-+ 
-+ static int steal_channel(struct ast_channel *chan, void *pattern)
-+ {
-+      int ret = 0;
-+      struct ast_module_user *u;
-+      struct ast_channel *cur;
-+      u = ast_module_user_add(chan);
-+      cur = find_matching_channel(chan, pattern, AST_STATE_UP);
-+      if (cur) {
-+              ast_verbose(VERBOSE_PREFIX_3 
-+                      "Channel %s stole channel %s\n",
-+                      chan->name, cur->name);
-+              pbx_builtin_setvar_helper(chan, "STEAL_CHANNEL", cur->name);
-+              if (chan->_state != AST_STATE_UP) {
-+                      ast_answer(chan);
-+              }
-+              if (cur->_bridge) {
-+                      if (!ast_mutex_lock(&cur->_bridge->lock)) {
-+                              ast_moh_stop(cur->_bridge);
-+                              ast_mutex_unlock(&cur->_bridge->lock);
-+                      }
-+              }
-+                      
-+              if (ast_channel_masquerade(cur, chan)) {
-+                      ast_log(LOG_ERROR, "unable to masquerade\n");
-+                      ret = -1;
-+              }
-+              ast_mutex_unlock(&cur->lock);
-+              ast_mutex_unlock(&chan->lock);
-+      } else {
-+              pbx_builtin_setvar_helper(chan, "STEAL_CHANNEL", "");
-+      }
-+      ast_module_user_remove(u);
-+      return(ret);
-+ }
-+ 
-+ static int unload_module(void)
-+ {
-+      ast_module_user_hangup_all();
-+      ast_unregister_application(app3);
-+      ast_unregister_application(app2);
-+      return ast_unregister_application(app);
-+ }
-+ 
-+ static int load_module(void)
-+ {
-+      ast_register_application(app3, steal_channel, synopsis3, descrip3);
-+      ast_register_application(app2, pickdown_channel, synopsis2, descrip2);
-+      return ast_register_application(app, pickup_channel, synopsis, descrip);
-+ }
-+ 
-+ AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, 
-+     "PickUp2, PickDown2, Steal2 Application");