summaryrefslogtreecommitdiff
path: root/package/asterisk
diff options
context:
space:
mode:
Diffstat (limited to 'package/asterisk')
-rw-r--r--package/asterisk/Config.in96
-rw-r--r--package/asterisk/Makefile237
-rw-r--r--package/asterisk/files/asterisk.init29
-rw-r--r--package/asterisk/files/modules.conf138
-rw-r--r--package/asterisk/ipkg/asterisk-chan-bluetooth.conffiles1
-rw-r--r--package/asterisk/ipkg/asterisk-chan-bluetooth.control5
-rw-r--r--package/asterisk/ipkg/asterisk-chan-h323.conffiles1
-rw-r--r--package/asterisk/ipkg/asterisk-chan-h323.control5
-rw-r--r--package/asterisk/ipkg/asterisk-chan-iax2.conffiles2
-rw-r--r--package/asterisk/ipkg/asterisk-chan-iax2.control5
-rw-r--r--package/asterisk/ipkg/asterisk-chan-mgcp.conffiles1
-rw-r--r--package/asterisk/ipkg/asterisk-chan-mgcp.control5
-rw-r--r--package/asterisk/ipkg/asterisk-chan-misdn.control5
-rw-r--r--package/asterisk/ipkg/asterisk-chan-skinny.conffiles1
-rw-r--r--package/asterisk/ipkg/asterisk-chan-skinny.control5
-rw-r--r--package/asterisk/ipkg/asterisk-codec-gsm.control5
-rw-r--r--package/asterisk/ipkg/asterisk-codec-speex.control5
-rw-r--r--package/asterisk/ipkg/asterisk-meetme.conffiles1
-rw-r--r--package/asterisk/ipkg/asterisk-meetme.control5
-rw-r--r--package/asterisk/ipkg/asterisk-pbx-dundi.conffiles1
-rw-r--r--package/asterisk/ipkg/asterisk-pbx-dundi.control5
-rw-r--r--package/asterisk/ipkg/asterisk-pgsql.conffiles1
-rw-r--r--package/asterisk/ipkg/asterisk-pgsql.control5
-rw-r--r--package/asterisk/ipkg/asterisk-res-agi.control5
-rw-r--r--package/asterisk/ipkg/asterisk-sounds.control5
-rw-r--r--package/asterisk/ipkg/asterisk-sqlite.control5
-rw-r--r--package/asterisk/ipkg/asterisk-voicemail.conffiles1
-rw-r--r--package/asterisk/ipkg/asterisk-voicemail.control5
-rw-r--r--package/asterisk/ipkg/asterisk.conffiles21
-rw-r--r--package/asterisk/ipkg/asterisk.control5
-rw-r--r--package/asterisk/ipkg/asterisk.postinst3
-rw-r--r--package/asterisk/patches/patch-apps__moduleinfo13
-rw-r--r--package/asterisk/patches/patch-menuselect-tree13
-rw-r--r--package/asterisk/patches/patch-menuselect_example_menuselect-tree12
34 files changed, 652 insertions, 0 deletions
diff --git a/package/asterisk/Config.in b/package/asterisk/Config.in
new file mode 100644
index 000000000..70c88064f
--- /dev/null
+++ b/package/asterisk/Config.in
@@ -0,0 +1,96 @@
+config ADK_PACKAGE_ASTERISK
+ bool "asterisk................... Telephony server"
+ select ADK_PACKAGE_LIBCURL
+ select ADK_PACKAGE_LIBNCURSES
+ select ADK_PACKAGE_LIBPTHREAD
+ default n
+
+menu "asterisk-modules.................. Additional modules for Asterisk"
+depends on ADK_PACKAGE_ASTERISK
+
+config ADK_PACKAGE_ASTERISK_CHAN_MGCP
+ prompt "asterisk-chan-mgcp.............. Media Gateway Control Protocol implementation"
+ tristate
+ default n
+ depends ADK_PACKAGE_ASTERISK
+ help
+ Media Gateway Control Protocol implementation for Asterisk
+
+config ADK_PACKAGE_ASTERISK_CHAN_SKINNY
+ prompt "asterisk-chan-skinny............ Skinny Client Control Protocol implementation"
+ tristate
+ default n
+ depends ADK_PACKAGE_ASTERISK
+ help
+ Skinny Client Control Protocol implementation for Asterisk
+
+config ADK_PACKAGE_ASTERISK_CHAN_IAX2
+ prompt "asterisk-chan-iax2.............. Support for the Inter Asterisk Protocol"
+ tristate
+ default n
+ depends ADK_PACKAGE_ASTERISK
+ help
+ IAX2 allows trunking communication channels together.
+
+ Contains:
+ * chan_iax2.so
+
+config ADK_PACKAGE_ASTERISK_CODEC_SPEEX
+ prompt "asterisk-codec-speex............ Speex/PCM16 Codec Translator"
+ tristate
+ default n
+ depends ADK_PACKAGE_ASTERISK
+ select ADK_PACKAGE_LIBSPEEX
+ help
+ The Speex speech compression codec for Asterisk
+
+config ADK_PACKAGE_ASTERISK_CODEC_GSM
+ prompt "asterisk-codec-gsm.............. GSM Codec"
+ tristate
+ default n
+ depends ADK_PACKAGE_ASTERISK
+ help
+ The GSM codec for Asterisk
+
+config ADK_PACKAGE_ASTERISK_PBX_DUNDI
+ prompt "asterisk-pbx-dundi.............. Distributed Universal Number Discovery (DUNDi) support"
+ tristate
+ default n
+ depends ADK_PACKAGE_ASTERISK
+ help
+ Distributed Universal Number Discovery (DUNDi) support for Asterisk
+
+config ADK_PACKAGE_ASTERISK_RES_AGI
+ prompt "asterisk-res-agi................ Asterisk Gateway Interface module"
+ tristate
+ default n
+ depends ADK_PACKAGE_ASTERISK
+ help
+ Asterisk Gateway Interface module
+
+config ADK_PACKAGE_ASTERISK_PGSQL
+ prompt "asterisk-pgsql.................. PostgreSQL modules"
+ tristate
+ default n
+ depends ADK_PACKAGE_ASTERISK
+ select ADK_PACKAGE_LIBPQ
+ help
+ PostgreSQL modules for Asterisk
+
+config ADK_PACKAGE_ASTERISK_SOUNDS
+ prompt "asterisk-sounds................. Sound files"
+ tristate
+ default n
+ depends ADK_PACKAGE_ASTERISK
+ help
+ Sound files for Asterisk
+
+config ADK_PACKAGE_ASTERISK_VOICEMAIL
+ prompt "asterisk-voicemail.............. Voicemail support"
+ tristate
+ default n
+ depends ADK_PACKAGE_ASTERISK
+ help
+ Voicemail related modules for Asterisk
+
+endmenu
diff --git a/package/asterisk/Makefile b/package/asterisk/Makefile
new file mode 100644
index 000000000..87e187380
--- /dev/null
+++ b/package/asterisk/Makefile
@@ -0,0 +1,237 @@
+# $Id$
+#-
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= asterisk
+PKG_VERSION:= 1.4.24.1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 2b74744350f420b3a94d5323c489426f
+MASTER_SITES:= http://downloads.digium.com/pub/telephony/asterisk/releases/
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,ASTERISK,asterisk,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ASTERISK_PGSQL,asterisk-pgsql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ASTERISK_VOICEMAIL,asterisk-voicemail,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ASTERISK_SOUNDS,asterisk-sounds,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ASTERISK_CHAN_MGCP,asterisk-chan-mgcp,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ASTERISK_CHAN_SKINNY,asterisk-chan-skinny,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ASTERISK_CHAN_IAX2,asterisk-chan-iax2,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ASTERISK_CODEC_SPEEX,asterisk-codec-speex,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ASTERISK_CODEC_GSM,asterisk-codec-gsm,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ASTERISK_PBX_DUNDI,asterisk-pbx-dundi,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ASTERISK_RES_AGI,asterisk-res-agi,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+SUB_INSTALLS-y:=
+SUB_INSTALLS-m:=
+SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_PGSQL}+= asterisk-pgsql-install
+SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_VOICEMAIL}+= asterisk-voicemail-install
+SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_SOUNDS}+= asterisk-sounds-install
+SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_CHAN_MGCP}+= asterisk-chan-mgcp-install
+SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_CHAN_SKINNY}+= asterisk-chan-skinny-install
+SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_CHAN_IAX2}+= asterisk-chan-iax2-install
+SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_CODEC_SPEEX}+= asterisk-codec-speex-install
+SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_CODEC_GSM}+= asterisk-codec-gsm-install
+SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_PBX_DUNDI}+= asterisk-pbx-dundi-install
+SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_RES_AGI}+= asterisk-res-agi-install
+
+CONFIGURE_ARGS= --with-z=${STAGING_DIR}/usr \
+ --with-ncurses=${STAGING_DIR}/usr \
+ --with-ssl=${STAGING_DIR}/usr \
+ --without-zaptel \
+ --without-tonezone \
+ --without-asound \
+ --without-curses \
+ --without-gnutls \
+ --without-h323 \
+ --without-iksemel \
+ --without-imap \
+ --without-kde \
+ --without-nbs \
+ --without-netsnmp \
+ --without-newt \
+ --without-odbc \
+ --without-osptk \
+ --without-oss \
+ --without-pri \
+ --without-pwlib \
+ --without-qt \
+ --without-tds \
+ --without-termcap \
+ --without-tinfo \
+ --without-vpb
+ifneq (${ADK_PACKAGE_ASTERISK_CODEC_GSM},)
+CONFIGURE_ARGS+= --with-gsm=internal
+else
+CONFIGURE_ARGS+= --without-gsm
+endif
+ifneq (${ADK_PACKAGE_ASTERISK_CODEC_SPEEX},)
+CONFIGURE_ARGS+= --with-speex=${STAGING_DIR}/usr
+EXTRA_CFLAGS+= -I$(STAGING_DIR)/usr/include/speex
+endif
+ifneq (${ADK_PACKAGE_ASTERISK_FORMAT_VORBIS},)
+CONFIGURE_ARGS+= --with-ogg=${STAGING_DIR}/usr \
+ --with-vorbis=${STAGING_DIR}/usr
+TLDFLAGS+= -logg
+endif
+ifneq (${ADK_PACKAGE_ASTERISK_RADIUS},)
+CONFIGURE_ARGS+= --with-radius=${STAGING_DIR}/usr
+endif
+ifneq (${ADK_PACKAGE_ASTERISK_GNUTLS},)
+CONFIGURE_ARGS+= --with-gnutls=${STAGING_DIR}/usr
+endif
+ifneq (${ADK_PACKAGE_ASTERISK_CURL},)
+CONFIGURE_ARGS+= --with-curl=${STAGING_DIR}/usr
+else
+CONFIGURE_ARGS+= --without-curl
+endif
+ifneq (${ADK_PACKAGE_ASTERISK_PGSQL},)
+CONFIGURE_ARGS+= --with-postgres=${STAGING_DIR}/usr
+else
+CONFIGURE_ARGS+= --without-postgres
+endif
+ifneq (${ADK_PACKAGE_LIBPOPT},)
+CONFIGURE_ARGS+= --with-popt=${STAGING_DIR}/usr
+else
+CONFIGURE_ARGS+= --without-popt
+endif
+CONFIGURE_ARGS+= --without-misdn \
+ --without-isdnnet \
+ --without-suppserv
+
+CONFIGURE_STYLE:= gnu
+CONFIGURE_ENV+= STRIP=${STRIP}
+BUILD_STYLE:= auto
+MAKE_ENV= ASTCFLAGS="${TCPPFLAGS} ${TCFLAGS}" \
+ ASTLDFLAGS="${TLDFLAGS}"
+MAKE_FLAGS+= DESTDIR="$(WRKINST)" \
+ OPTIMIZE="${TARGET_OPTIMIZATION}" \
+ CXX="${TARGET_CC}" \
+ STRIP="${TARGET_CROSS}strip" \
+ NOISY_BUILD=1
+ALL_TARGET:= all install samples
+
+pre-configure:
+ rm ${WRKBUILD}/apps/app_followme.c
+ cd "$(WRKBUILD)/menuselect"; ./configure
+
+post-build:
+ cd ${WRKBUILD}/sounds ; \
+ tar xzf asterisk-core-sounds-en-gsm-1.4.14.tar.gz ; \
+ rm asterisk-core-sounds-en-gsm-1.4.9.tar.gz ; \
+ tar xzf asterisk-moh-freeplay-wav.tar.gz ; \
+ rm asterisk-moh-freeplay-wav.tar.gz
+ @echo
+ @echo "---------------> have to install ${SUB_INSTALLS-m} ${SUB_INSTALLS-y} <-------------------------"
+ @echo
+
+do-install: ${SUB_INSTALLS-m} ${SUB_INSTALLS-y}
+ $(CP) $(WRKINST)/* $(IDIR_ASTERISK)
+ rm -rf $(IDIR_ASTERISK)/usr/sbin/astgenkey
+ rm -rf $(IDIR_ASTERISK)/usr/bin
+ rm -rf $(IDIR_ASTERISK)/usr/share
+ rm -rf $(IDIR_ASTERISK)/usr/include
+ rm -rf $(IDIR_ASTERISK)/var
+ (cd $(IDIR_ASTERISK)/usr/lib/asterisk; \
+ rm -rf agi-bin; \
+ rm -rf images; \
+ rm -rf keys/*; \
+ rm -rf mohmp3/*.mp3; \
+ rm -rf sounds/*; \
+ cd modules; \
+ rm -rf *adsi* *festival* *modem* *meetme* *oss* *phone* *intercom* \
+ *mp3* *nbscat* *mysql* *postgres* *pgsql* *voicemail* *speex* \
+ *zapateller* *jpeg*; \
+ rm -f chan_bluetooth.so ; \
+ rm -f chan_h323.so ; \
+ rm -f chan_mgcp.so ; \
+ rm -f chan_skinny.so ; \
+ rm -f {codec,format}_ilbc.so ; \
+ rm -f codec_gsm.so ; \
+ rm -f codec_lpc10.so ; \
+ rm -f pbx_dundi.so ; \
+ rm -f res_agi.so ; \
+ )
+ (cd $(IDIR_ASTERISK)/etc/asterisk; \
+ rm -f *odbc* *mysql* *postgres* *pgsql* *voicemail* *adsi* *oss* *alsa* \
+ *festival* *modem* *meetme* *phone* *tds* *vofr* *rpt* *vpb* \
+ *zapata*; \
+ rm -f bluetooth.conf ; \
+ rm -f mgcp.conf ; \
+ rm -f skinny.conf ; \
+ rm -f dundi.conf ; \
+ )
+ ${INSTALL_DATA} ./files/modules.conf $(IDIR_ASTERISK)/etc/asterisk/
+ $(SED) 's|/var/lib/asterisk|/usr/lib/asterisk|g' $(WRKINST)/etc/asterisk/musiconhold.conf
+ ${INSTALL_DIR} $(IDIR_ASTERISK)/etc/init.d
+ ${INSTALL_BIN} ./files/asterisk.init $(IDIR_ASTERISK)/etc/init.d/asterisk
+
+asterisk-pgsql-install:
+ ${INSTALL_DIR} $(IDIR_ASTERISK_PGSQL)/etc/asterisk
+ ${INSTALL_DATA} $(WRKBUILD)/configs/cdr_pgsql.conf.sample $(IDIR_ASTERISK_PGSQL)/etc/asterisk/cdr_pgsql.conf
+ ${INSTALL_DIR} $(IDIR_ASTERISK_PGSQL)/usr/lib/asterisk/modules
+ ${INSTALL_BIN} $(WRKBUILD)/cdr/cdr_pgsql.so $(IDIR_ASTERISK_PGSQL)/usr/lib/asterisk/modules/
+
+asterisk-sounds-install:
+ ${INSTALL_DIR} $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds
+ $(CP) $(WRKBUILD)/sounds/* $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds/
+ rm -f $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds/*.mp3
+ rm -f $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds/vm-*
+
+asterisk-voicemail-install:
+ ${INSTALL_DIR} $(IDIR_ASTERISK_VOICEMAIL)/etc/asterisk
+ ${INSTALL_DIR} $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules
+ ${INSTALL_DATA} $(WRKBUILD)/configs/voicemail.conf.sample $(IDIR_ASTERISK_VOICEMAIL)/etc/asterisk/voicemail.conf
+ ${CP} $(WRKBUILD)/apps/*voicemail.so $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules/
+ ${INSTALL_BIN} $(WRKBUILD)/res/res_adsi.so $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules/
+ install -d -m0755 $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/sounds
+ $(CP) $(WRKBUILD)/sounds/vm-*.gsm $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/sounds/
+
+asterisk-chan-mgcp-install:
+ ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_MGCP)/etc/asterisk
+ ${INSTALL_DATA} $(WRKBUILD)/configs/mgcp.conf.sample $(IDIR_ASTERISK_CHAN_MGCP)/etc/asterisk/mgcp.conf
+ ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_MGCP)/usr/lib/asterisk/modules
+ ${INSTALL_BIN} $(WRKBUILD)/channels/chan_mgcp.so $(IDIR_ASTERISK_CHAN_MGCP)/usr/lib/asterisk/modules/
+
+asterisk-chan-skinny-install:
+ ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_SKINNY)/etc/asterisk
+ ${INSTALL_DATA} $(WRKBUILD)/configs/skinny.conf.sample $(IDIR_ASTERISK_CHAN_SKINNY)/etc/asterisk/skinny.conf
+ ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_SKINNY)/usr/lib/asterisk/modules
+ ${INSTALL_BIN} $(WRKBUILD)/channels/chan_skinny.so $(IDIR_ASTERISK_CHAN_SKINNY)/usr/lib/asterisk/modules/
+
+asterisk-chan-iax2-install:
+ ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk
+ ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_IAX2)/usr/lib/asterisk/modules
+ ${INSTALL_DATA} $(WRKBUILD)/configs/iax.conf.sample $(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk/iax.conf
+ ${INSTALL_DATA} $(WRKBUILD)/configs/iaxprov.conf.sample $(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk/iaxprov.conf
+ ${INSTALL_BIN} $(WRKBUILD)/channels/chan_iax2.so $(IDIR_ASTERISK_CHAN_IAX2)/usr/lib/asterisk/modules/
+
+asterisk-codec-speex-install:
+ ${INSTALL_DIR} $(IDIR_ASTERISK_CODEC_SPEEX)/usr/lib/asterisk/modules
+ install -m0755 $(WRKBUILD)/codecs/codec_speex.so $(IDIR_ASTERISK_CODEC_SPEEX)/usr/lib/asterisk/modules/
+
+asterisk-codec-gsm-install:
+ ${INSTALL_DIR} $(IDIR_ASTERISK_CODEC_GSM)/usr/lib/asterisk/modules/
+ ${INSTALL_BIN} $(WRKBUILD)/codecs/codec_gsm.so $(IDIR_ASTERISK_CODEC_GSM)/usr/lib/asterisk/modules/
+
+asterisk-pbx-dundi-install:
+ ${INSTALL_DIR} $(IDIR_ASTERISK_PBX_DUNDI)/etc/asterisk
+ ${INSTALL_DATA} $(WRKBUILD)/configs/dundi.conf.sample $(IDIR_ASTERISK_PBX_DUNDI)/etc/asterisk/dundi.conf
+ ${INSTALL_DIR} $(IDIR_ASTERISK_PBX_DUNDI)/usr/lib/asterisk/modules
+ ${INSTALL_BIN} $(WRKBUILD)/pbx/pbx_dundi.so $(IDIR_ASTERISK_PBX_DUNDI)/usr/lib/asterisk/modules/
+
+asterisk-res-agi-install:
+ ${INSTALL_DIR} $(IDIR_ASTERISK_RES_AGI)/usr/lib/asterisk/agi-bin
+ ${INSTALL_DIR} $(IDIR_ASTERISK_RES_AGI)/usr/lib/asterisk/modules
+ ${INSTALL_BIN} $(WRKBUILD)/res/res_agi.so $(IDIR_ASTERISK_RES_AGI)/usr/lib/asterisk/modules/
+
+asterisk-meetme-install:
+ ${INSTALL_DIR} ${IDIR_ASTERISK_MEETME}/etc/asterisk/
+ ${INSTALL_DIR} ${IDIR_ASTERISK_MEETME}/usr/lib/asterisk/modules
+ ${INSTALL_DATA} ${WRKBUILD}/configs/meetme.conf.sample ${IDIR_ASTERISK_MEETME}/etc/asterisk/meetme.conf
+ ${INSTALL_BIN} ${WRKBUILD}/apps/app_meetme.so ${IDIR_ASTERISK_MEETME}/usr/lib/asterisk/modules
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/asterisk/files/asterisk.init b/package/asterisk/files/asterisk.init
new file mode 100644
index 000000000..fcbb52612
--- /dev/null
+++ b/package/asterisk/files/asterisk.init
@@ -0,0 +1,29 @@
+#!/bin/sh
+#FWINIT 60
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${asterisk:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+start)
+ [ -d /var/run ] || mkdir -p /var/run
+ [ -d /var/log/asterisk ] || mkdir -p /var/log/asterisk
+ [ -d /var/spool/asterisk ] || mkdir -p /var/spool/asterisk
+ /usr/sbin/asterisk
+ ;;
+stop)
+ [ -f /var/run/asterisk.pid ] && kill $(cat /var/run/asterisk.pid) >/dev/null 2>&1
+ ;;
+restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+*)
+ echo "usage: $0 {start | stop | restart}"
+ exit 1
+ ;;
+esac
+exit $?
diff --git a/package/asterisk/files/modules.conf b/package/asterisk/files/modules.conf
new file mode 100644
index 000000000..1d6f35400
--- /dev/null
+++ b/package/asterisk/files/modules.conf
@@ -0,0 +1,138 @@
+;
+; 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 ;
+;
+; 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_agent.so ; Agent Proxy Channel
+; 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, if n
+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_setrndis.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_sql_mysql.so ; Simple MySQL Interface
+noload => app_sql_postgres.so ; Simple PostgreSQL Interface
+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 => 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)
+noload => func_callerid.so ; Caller ID related dialplan functions
+noload => func_enum.so ; ENUM Functions
+noload => func_uri.so ; URI encoding / decoding functions
+
+;
+; Module names listed in "global" section will have symbols globally
+; exported to modules loaded after them.
+;
+[global]
+chan_modem.so=no
diff --git a/package/asterisk/ipkg/asterisk-chan-bluetooth.conffiles b/package/asterisk/ipkg/asterisk-chan-bluetooth.conffiles
new file mode 100644
index 000000000..40a085235
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-bluetooth.conffiles
@@ -0,0 +1 @@
+/etc/asterisk/bluetooth.conf
diff --git a/package/asterisk/ipkg/asterisk-chan-bluetooth.control b/package/asterisk/ipkg/asterisk-chan-bluetooth.control
new file mode 100644
index 000000000..c79d038bb
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-bluetooth.control
@@ -0,0 +1,5 @@
+Package: asterisk-chan-bluetooth
+Priority: optional
+Section: net
+Description: Bluetooth HandsFreeProfile support for Asterisk
+Depends: asterisk, bluez-libs
diff --git a/package/asterisk/ipkg/asterisk-chan-h323.conffiles b/package/asterisk/ipkg/asterisk-chan-h323.conffiles
new file mode 100644
index 000000000..fc0858a61
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-h323.conffiles
@@ -0,0 +1 @@
+/etc/asterisk/h323.conf
diff --git a/package/asterisk/ipkg/asterisk-chan-h323.control b/package/asterisk/ipkg/asterisk-chan-h323.control
new file mode 100644
index 000000000..f3a18ba99
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-h323.control
@@ -0,0 +1,5 @@
+Package: asterisk-chan-h323
+Priority: optional
+Section: net
+Description: H.323 support for Asterisk
+Depends: asterisk, libpthread, uclibc++
diff --git a/package/asterisk/ipkg/asterisk-chan-iax2.conffiles b/package/asterisk/ipkg/asterisk-chan-iax2.conffiles
new file mode 100644
index 000000000..f46a87327
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-iax2.conffiles
@@ -0,0 +1,2 @@
+/etc/asterisk/iax.conf
+/etc/asterisk/iaxprov.conf
diff --git a/package/asterisk/ipkg/asterisk-chan-iax2.control b/package/asterisk/ipkg/asterisk-chan-iax2.control
new file mode 100644
index 000000000..55f71f446
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-iax2.control
@@ -0,0 +1,5 @@
+Package: asterisk-chan-iax2
+Priority: optional
+Section: net
+Description: Asterisk Channel for the Inter Asterisk Protocol
+Depends: asterisk
diff --git a/package/asterisk/ipkg/asterisk-chan-mgcp.conffiles b/package/asterisk/ipkg/asterisk-chan-mgcp.conffiles
new file mode 100644
index 000000000..40a81df8e
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-mgcp.conffiles
@@ -0,0 +1 @@
+/etc/asterisk/mgcp.conf
diff --git a/package/asterisk/ipkg/asterisk-chan-mgcp.control b/package/asterisk/ipkg/asterisk-chan-mgcp.control
new file mode 100644
index 000000000..78ea3b649
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-mgcp.control
@@ -0,0 +1,5 @@
+Package: asterisk-chan-mgcp
+Priority: optional
+Section: net
+Description: a Media Gateway Control Protocol implementation for Asterisk
+Depends: asterisk
diff --git a/package/asterisk/ipkg/asterisk-chan-misdn.control b/package/asterisk/ipkg/asterisk-chan-misdn.control
new file mode 100644
index 000000000..bcc7f384e
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-misdn.control
@@ -0,0 +1,5 @@
+Package: asterisk-chan-misdn
+Priority: optional
+Section: net
+Depends: asterisk
+Description: Asterisk Channel for the mISDN ISDN systems
diff --git a/package/asterisk/ipkg/asterisk-chan-skinny.conffiles b/package/asterisk/ipkg/asterisk-chan-skinny.conffiles
new file mode 100644
index 000000000..eaf9b6def
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-skinny.conffiles
@@ -0,0 +1 @@
+/etc/asterisk/skinny.conf
diff --git a/package/asterisk/ipkg/asterisk-chan-skinny.control b/package/asterisk/ipkg/asterisk-chan-skinny.control
new file mode 100644
index 000000000..3933e33db
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-skinny.control
@@ -0,0 +1,5 @@
+Package: asterisk-chan-skinny
+Priority: optional
+Section: net
+Description: a Skinny Client Control Protocol implementation for Asterisk
+Depends: asterisk
diff --git a/package/asterisk/ipkg/asterisk-codec-gsm.control b/package/asterisk/ipkg/asterisk-codec-gsm.control
new file mode 100644
index 000000000..f26044d2b
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-codec-gsm.control
@@ -0,0 +1,5 @@
+Package: asterisk-codec-gsm
+Priority: optional
+Section: net
+Description: a GSM Codec Translator for Asterisk
+Depends: asterisk
diff --git a/package/asterisk/ipkg/asterisk-codec-speex.control b/package/asterisk/ipkg/asterisk-codec-speex.control
new file mode 100644
index 000000000..61eb088f7
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-codec-speex.control
@@ -0,0 +1,5 @@
+Package: asterisk-codec-speex
+Priority: optional
+Section: net
+Description: a Speex/PCM16 Codec Translator for Asterisk
+Depends: asterisk, libspeex
diff --git a/package/asterisk/ipkg/asterisk-meetme.conffiles b/package/asterisk/ipkg/asterisk-meetme.conffiles
new file mode 100644
index 000000000..1caab1d4d
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-meetme.conffiles
@@ -0,0 +1 @@
+/etc/asterisk/meetme.conf
diff --git a/package/asterisk/ipkg/asterisk-meetme.control b/package/asterisk/ipkg/asterisk-meetme.control
new file mode 100644
index 000000000..8b031d210
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-meetme.control
@@ -0,0 +1,5 @@
+Package: asterisk-meetme
+Priority: optional
+Section: net
+Description: MeetMe support files for asterisk
+Depends: asterisk
diff --git a/package/asterisk/ipkg/asterisk-pbx-dundi.conffiles b/package/asterisk/ipkg/asterisk-pbx-dundi.conffiles
new file mode 100644
index 000000000..ab116b5d1
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-pbx-dundi.conffiles
@@ -0,0 +1 @@
+/etc/asterisk/dundi.conf
diff --git a/package/asterisk/ipkg/asterisk-pbx-dundi.control b/package/asterisk/ipkg/asterisk-pbx-dundi.control
new file mode 100644
index 000000000..6579e2594
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-pbx-dundi.control
@@ -0,0 +1,5 @@
+Package: asterisk-pbx-dundi
+Priority: optional
+Section: net
+Description: Distributed Universal Number Discovery (DUNDi) support for Asterisk
+Depends: asterisk
diff --git a/package/asterisk/ipkg/asterisk-pgsql.conffiles b/package/asterisk/ipkg/asterisk-pgsql.conffiles
new file mode 100644
index 000000000..8b5cffe40
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-pgsql.conffiles
@@ -0,0 +1 @@
+/etc/asterisk/cdr_pgsql.conf
diff --git a/package/asterisk/ipkg/asterisk-pgsql.control b/package/asterisk/ipkg/asterisk-pgsql.control
new file mode 100644
index 000000000..beece08a5
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-pgsql.control
@@ -0,0 +1,5 @@
+Package: asterisk-pgsql
+Priority: optional
+Section: net
+Description: PostgreSQL modules for Asterisk
+Depends: asterisk, libpq, zlib
diff --git a/package/asterisk/ipkg/asterisk-res-agi.control b/package/asterisk/ipkg/asterisk-res-agi.control
new file mode 100644
index 000000000..44f7170aa
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-res-agi.control
@@ -0,0 +1,5 @@
+Package: asterisk-res-agi
+Priority: optional
+Section: net
+Description: Asterisk Gateway Interface module
+Depends: asterisk
diff --git a/package/asterisk/ipkg/asterisk-sounds.control b/package/asterisk/ipkg/asterisk-sounds.control
new file mode 100644
index 000000000..a63bbef10
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-sounds.control
@@ -0,0 +1,5 @@
+Package: asterisk-sounds
+Priority: optional
+Section: net
+Description: a sounds collection for Asterisk
+Depends: asterisk
diff --git a/package/asterisk/ipkg/asterisk-sqlite.control b/package/asterisk/ipkg/asterisk-sqlite.control
new file mode 100644
index 000000000..3968dd19d
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-sqlite.control
@@ -0,0 +1,5 @@
+Package: asterisk-sqlite
+Priority: optional
+Section: net
+Description: SQLite modules for Asterisk
+Depends: asterisk, libsqlite
diff --git a/package/asterisk/ipkg/asterisk-voicemail.conffiles b/package/asterisk/ipkg/asterisk-voicemail.conffiles
new file mode 100644
index 000000000..1c80f057a
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-voicemail.conffiles
@@ -0,0 +1 @@
+/etc/asterisk/voicemail.conf
diff --git a/package/asterisk/ipkg/asterisk-voicemail.control b/package/asterisk/ipkg/asterisk-voicemail.control
new file mode 100644
index 000000000..c7b51311c
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-voicemail.control
@@ -0,0 +1,5 @@
+Package: asterisk-voicemail
+Priority: optional
+Section: net
+Description: VoiceMail related modules for Asterisk
+Depends: asterisk
diff --git a/package/asterisk/ipkg/asterisk.conffiles b/package/asterisk/ipkg/asterisk.conffiles
new file mode 100644
index 000000000..5f805dedb
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk.conffiles
@@ -0,0 +1,21 @@
+/etc/asterisk/asterisk.conf
+/etc/asterisk/agents.conf
+/etc/asterisk/alarmreceiver.conf
+/etc/asterisk/cdr_manager.conf
+/etc/asterisk/codecs.conf
+/etc/asterisk/enum.conf
+/etc/asterisk/extconfig.conf
+/etc/asterisk/extensions.conf
+/etc/asterisk/features.conf
+/etc/asterisk/iax.conf
+/etc/asterisk/iaxprov.conf
+/etc/asterisk/indications.conf
+/etc/asterisk/logger.conf
+/etc/asterisk/manager.conf
+/etc/asterisk/modules.conf
+/etc/asterisk/musiconhold.conf
+/etc/asterisk/osp.conf
+/etc/asterisk/privacy.conf
+/etc/asterisk/queues.conf
+/etc/asterisk/rtp.conf
+/etc/asterisk/sip.conf
diff --git a/package/asterisk/ipkg/asterisk.control b/package/asterisk/ipkg/asterisk.control
new file mode 100644
index 000000000..13075d791
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk.control
@@ -0,0 +1,5 @@
+Package: asterisk
+Priority: optional
+Section: net
+Depends: libncurses, libpthread
+Description: An open source PBX
diff --git a/package/asterisk/ipkg/asterisk.postinst b/package/asterisk/ipkg/asterisk.postinst
new file mode 100644
index 000000000..1186b2645
--- /dev/null
+++ b/package/asterisk/ipkg/asterisk.postinst
@@ -0,0 +1,3 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf asterisk asterisk NO
diff --git a/package/asterisk/patches/patch-apps__moduleinfo b/package/asterisk/patches/patch-apps__moduleinfo
new file mode 100644
index 000000000..efbdcae4a
--- /dev/null
+++ b/package/asterisk/patches/patch-apps__moduleinfo
@@ -0,0 +1,13 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- asterisk-1.4.24.1.orig/apps/.moduleinfo 2009-04-02 19:44:22.000000000 +0200
++++ asterisk-1.4.24.1/apps/.moduleinfo 2009-05-12 16:07:52.000000000 +0200
+@@ -56,9 +56,6 @@
+ <member name="app_flash" displayname="Flash channel application" remove_on_change="apps/app_flash.o apps/app_flash.so">
+ <depend>dahdi</depend>
+ </member>
+-<member name="app_followme" displayname="Find-Me/Follow-Me Application" remove_on_change="apps/app_followme.o apps/app_followme.so">
+- <depend>chan_local</depend>
+-</member>
+ <member name="app_forkcdr" displayname="Fork The CDR into 2 separate entities" remove_on_change="apps/app_forkcdr.o apps/app_forkcdr.so">
+ </member>
+ <member name="app_getcpeid" displayname="Get ADSI CPE ID" remove_on_change="apps/app_getcpeid.o apps/app_getcpeid.so">
diff --git a/package/asterisk/patches/patch-menuselect-tree b/package/asterisk/patches/patch-menuselect-tree
new file mode 100644
index 000000000..98c18ec08
--- /dev/null
+++ b/package/asterisk/patches/patch-menuselect-tree
@@ -0,0 +1,13 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- asterisk-1.4.24.1.orig/menuselect-tree 2009-04-02 19:44:31.000000000 +0200
++++ asterisk-1.4.24.1/menuselect-tree 2009-05-12 16:07:12.000000000 +0200
+@@ -59,9 +59,6 @@
+ <member name="app_flash" displayname="Flash channel application" remove_on_change="apps/app_flash.o apps/app_flash.so">
+ <depend>dahdi</depend>
+ </member>
+-<member name="app_followme" displayname="Find-Me/Follow-Me Application" remove_on_change="apps/app_followme.o apps/app_followme.so">
+- <depend>chan_local</depend>
+-</member>
+ <member name="app_forkcdr" displayname="Fork The CDR into 2 separate entities" remove_on_change="apps/app_forkcdr.o apps/app_forkcdr.so">
+ </member>
+ <member name="app_getcpeid" displayname="Get ADSI CPE ID" remove_on_change="apps/app_getcpeid.o apps/app_getcpeid.so">
diff --git a/package/asterisk/patches/patch-menuselect_example_menuselect-tree b/package/asterisk/patches/patch-menuselect_example_menuselect-tree
new file mode 100644
index 000000000..6c58cc33d
--- /dev/null
+++ b/package/asterisk/patches/patch-menuselect_example_menuselect-tree
@@ -0,0 +1,12 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- asterisk-1.4.24.1.orig/menuselect/example_menuselect-tree 2006-08-19 22:55:53.000000000 +0200
++++ asterisk-1.4.24.1/menuselect/example_menuselect-tree 2009-05-12 16:07:32.000000000 +0200
+@@ -45,8 +45,6 @@
+ <member name="app_flash" displayname="Flash zap trunk application" remove_on_change="apps/app_flash.o apps/app_flash.so">
+ <depend>zaptel</depend>
+ </member>
+- <member name="app_followme" displayname="Find-Me/Follow-Me Application" remove_on_change="apps/app_followme.o apps/app_followme.so">
+- </member>
+ <member name="app_forkcdr" displayname="Fork The CDR into 2 separate entities." remove_on_change="apps/app_forkcdr.o apps/app_forkcdr.so">
+ </member>
+ <member name="app_getcpeid" displayname="Get ADSI CPE ID" remove_on_change="apps/app_getcpeid.o apps/app_getcpeid.so">