From 9a9e4cc05534a94f86d3a0b80a87e3be08022942 Mon Sep 17 00:00:00 2001 From: nico Date: Tue, 25 Oct 2005 21:56:20 +0000 Subject: [PATCH] backport asterisk changes from whiterussian [2300] git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2303 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/asterisk/Config.in | 24 ++++ package/asterisk/Makefile | 53 ++++++-- .../ipkg/asterisk-chan-mgcp.conffiles | 1 + .../asterisk/ipkg/asterisk-chan-mgcp.control | 5 + .../ipkg/asterisk-chan-skinny.conffiles | 1 + .../ipkg/asterisk-chan-skinny.control | 5 + .../asterisk/ipkg/asterisk-res-agi.control | 5 + .../asterisk-1.0.7-chan_iax2-tmp_path.patch | 12 ++ .../asterisk-1.0.7-config-modules.patch | 128 +++++++++++++++--- 9 files changed, 207 insertions(+), 27 deletions(-) create mode 100644 package/asterisk/ipkg/asterisk-chan-mgcp.conffiles create mode 100644 package/asterisk/ipkg/asterisk-chan-mgcp.control create mode 100644 package/asterisk/ipkg/asterisk-chan-skinny.conffiles create mode 100644 package/asterisk/ipkg/asterisk-chan-skinny.control create mode 100644 package/asterisk/ipkg/asterisk-res-agi.control create mode 100644 package/asterisk/patches/asterisk-1.0.7-chan_iax2-tmp_path.patch diff --git a/package/asterisk/Config.in b/package/asterisk/Config.in index 5b73567b2..435ab8257 100644 --- a/package/asterisk/Config.in +++ b/package/asterisk/Config.in @@ -22,6 +22,22 @@ config BR2_PACKAGE_ASTERISK_CHAN_BLUETOOTH help The Bluetooth HandsFreeProfile support for Asterisk +config BR2_PACKAGE_ASTERISK_CHAN_MGCP + prompt "...-chan-mgcp - Media Gateway Control Protocol implementation" + tristate + default m if CONFIG_DEVEL + depends BR2_PACKAGE_ASTERISK + help + Media Gateway Control Protocol implementation for Asterisk + +config BR2_PACKAGE_ASTERISK_CHAN_SKINNY + prompt "...-chan-skinny - Skinny Client Control Protocol implementation" + tristate + default m if CONFIG_DEVEL + depends BR2_PACKAGE_ASTERISK + help + Skinny Client Control Protocol implementation for Asterisk + config BR2_PACKAGE_ASTERISK_CODEC_ILBC prompt "...-codec-ilbc - Internet Low Bitrate Codec (ILBC) Translator" tristate @@ -55,6 +71,14 @@ config BR2_PACKAGE_ASTERISK_PBX_DUNDI help Distributed Universal Number Discovery (DUNDi) support for Asterisk +config BR2_PACKAGE_ASTERISK_RES_AGI + prompt "...-res-agi - Asterisk Gateway Interface module" + tristate + default m if CONFIG_DEVEL + depends BR2_PACKAGE_ASTERISK + help + Asterisk Gateway Interface module + config BR2_PACKAGE_ASTERISK_MYSQL prompt "...-mysql - MySQL modules" tristate diff --git a/package/asterisk/Makefile b/package/asterisk/Makefile index 35b52ec7d..e9e84e211 100644 --- a/package/asterisk/Makefile +++ b/package/asterisk/Makefile @@ -4,26 +4,30 @@ include $(TOPDIR)/rules.mk PKG_NAME:=asterisk PKG_VERSION:=1.0.9 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MD5SUM:=0d7f1c680ae53a739f26a069ef8b580a PKG_SOURCE_URL:=http://ftp.digium.com/pub/asterisk/ ftp://ftp.digium.com/pub/asterisk/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) -PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/install PKG_CAT:=zcat +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install + include $(TOPDIR)/package/rules.mk $(eval $(call PKG_template,ASTERISK,asterisk,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) $(eval $(call PKG_template,ASTERISK_MYSQL,asterisk-mysql,$(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_CODEC_ILBC,asterisk-codec-ilbc,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) $(eval $(call PKG_template,ASTERISK_CHAN_BLUETOOTH,asterisk-chan-bluetooth,$(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_CODEC_ILBC,asterisk-codec-ilbc,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) $(eval $(call PKG_template,ASTERISK_CODEC_LPC10,asterisk-codec-lpc10,$(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_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))) ifneq ($(DEVELOPER),) APPS:=app_sql_mysql.so app_sql_postgres.so @@ -77,27 +81,33 @@ $(IPKG_ASTERISK): rm -rf $(IDIR_ASTERISK)/var (cd $(IDIR_ASTERISK)/usr/lib/asterisk; \ rm -rf agi-bin/*; \ - rm -rf firmware; \ rm -rf images; \ rm -rf keys/*; \ - rm -rf mohmp3; \ + 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* \ - *musiconhold* *zapateller* *jpeg*; \ + *zapateller* *jpeg*; \ + rm -f chan_bluetooth.so ; \ + rm -f chan_mgcp.so ; \ + rm -f chan_skinny.so ; \ rm -f {codec,format}_ilbc.so ; \ rm -f codec_lpc10.so ; \ - rm -f chan_bluetooth.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* *musiconhold*; \ + *zapata*; \ rm -f bluetooth.conf ; \ + rm -f mgcp.conf ; \ + rm -f skinny.conf ; \ rm -f dundi.conf ; \ ) + $(SED) 's|/var/lib/asterisk|/usr/lib/asterisk|g' $(IDIR_ASTERISK)/etc/asterisk/musiconhold.conf + rm -f $(IDIR_ASTERISK)/etc/asterisk/*.old install -d -m0755 $(IDIR_ASTERISK)/etc/default install -m0644 ./files/asterisk.default $(IDIR_ASTERISK)/etc/default/asterisk install -d -m0755 $(IDIR_ASTERISK)/etc/init.d @@ -136,6 +146,9 @@ $(IPKG_ASTERISK_VOICEMAIL): install -m0644 $(PKG_BUILD_DIR)/configs/voicemail.conf.sample $(IDIR_ASTERISK_VOICEMAIL)/etc/asterisk/voicemail.conf install -d -m0755 $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules install -m0755 $(PKG_BUILD_DIR)/apps/*voicemail.so $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules/ + install -m0755 $(PKG_BUILD_DIR)/res/res_adsi.so $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules/ + install -d -m0755 $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/sounds + cp -fpR $(PKG_BUILD_DIR)/sounds/vm-*.gsm $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/sounds/ $(RSTRIP) $(IDIR_ASTERISK_VOICEMAIL) $(IPKG_BUILD) $(IDIR_ASTERISK_VOICEMAIL) $(PACKAGE_DIR) @@ -147,6 +160,22 @@ $(IPKG_ASTERISK_CHAN_BLUETOOTH): $(RSTRIP) $(IDIR_ASTERISK_CHAN_BLUETOOTH) $(IPKG_BUILD) $(IDIR_ASTERISK_CHAN_BLUETOOTH) $(PACKAGE_DIR) +$(IPKG_ASTERISK_CHAN_MGCP): + install -d -m0755 $(IDIR_ASTERISK_CHAN_MGCP)/etc/asterisk + install -m0644 $(PKG_BUILD_DIR)/configs/mgcp.conf.sample $(IDIR_ASTERISK_CHAN_MGCP)/etc/asterisk/mgcp.conf + install -d -m0755 $(IDIR_ASTERISK_CHAN_MGCP)/usr/lib/asterisk/modules + install -m0755 $(PKG_BUILD_DIR)/channels/chan_mgcp.so $(IDIR_ASTERISK_CHAN_MGCP)/usr/lib/asterisk/modules/ + $(RSTRIP) $(IDIR_ASTERISK_CHAN_MGCP) + $(IPKG_BUILD) $(IDIR_ASTERISK_CHAN_MGCP) $(PACKAGE_DIR) + +$(IPKG_ASTERISK_CHAN_SKINNY): + install -d -m0755 $(IDIR_ASTERISK_CHAN_SKINNY)/etc/asterisk + install -m0644 $(PKG_BUILD_DIR)/configs/skinny.conf.sample $(IDIR_ASTERISK_CHAN_SKINNY)/etc/asterisk/skinny.conf + install -d -m0755 $(IDIR_ASTERISK_CHAN_SKINNY)/usr/lib/asterisk/modules + install -m0755 $(PKG_BUILD_DIR)/channels/chan_skinny.so $(IDIR_ASTERISK_CHAN_SKINNY)/usr/lib/asterisk/modules/ + $(RSTRIP) $(IDIR_ASTERISK_CHAN_SKINNY) + $(IPKG_BUILD) $(IDIR_ASTERISK_CHAN_SKINNY) $(PACKAGE_DIR) + $(IPKG_ASTERISK_CODEC_ILBC): install -d -m0755 $(IDIR_ASTERISK_CODEC_ILBC)/usr/lib/asterisk/modules install -m0755 $(PKG_BUILD_DIR)/codecs/codec_ilbc.so $(IDIR_ASTERISK_CODEC_ILBC)/usr/lib/asterisk/modules/ @@ -174,3 +203,9 @@ $(IPKG_ASTERISK_PBX_DUNDI): $(RSTRIP) $(IDIR_ASTERISK_PBX_DUNDI) $(IPKG_BUILD) $(IDIR_ASTERISK_PBX_DUNDI) $(PACKAGE_DIR) +$(IPKG_ASTERISK_RES_AGI): + install -d -m0755 $(IDIR_ASTERISK_RES_AGI)/usr/lib/asterisk/modules + install -m0755 $(PKG_BUILD_DIR)/res/res_agi.so $(IDIR_ASTERISK_RES_AGI)/usr/lib/asterisk/modules/ + $(RSTRIP) $(IDIR_ASTERISK_RES_AGI) + $(IPKG_BUILD) $(IDIR_ASTERISK_RES_AGI) $(PACKAGE_DIR) + 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-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-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/patches/asterisk-1.0.7-chan_iax2-tmp_path.patch b/package/asterisk/patches/asterisk-1.0.7-chan_iax2-tmp_path.patch new file mode 100644 index 000000000..916496ea8 --- /dev/null +++ b/package/asterisk/patches/asterisk-1.0.7-chan_iax2-tmp_path.patch @@ -0,0 +1,12 @@ +diff -ruN asterisk-1.0.7-old/channels/chan_iax2.c asterisk-1.0.7-new/channels/chan_iax2.c +--- asterisk-1.0.7-old/channels/chan_iax2.c 2005-10-25 02:06:35.000000000 +0200 ++++ asterisk-1.0.7-new/channels/chan_iax2.c 2005-10-25 04:35:11.000000000 +0200 +@@ -960,7 +960,7 @@ + last++; + else + last = s; +- snprintf(s2, strlen(s) + 100, "/var/tmp/%s-%ld", last, (unsigned long)rand()); ++ snprintf(s2, strlen(s) + 100, "/tmp/%s-%ld", last, (unsigned long)rand()); + res = stat(s, &stbuf); + if (res < 0) { + ast_log(LOG_WARNING, "Failed to stat '%s': %s\n", s, strerror(errno)); diff --git a/package/asterisk/patches/asterisk-1.0.7-config-modules.patch b/package/asterisk/patches/asterisk-1.0.7-config-modules.patch index e56f9092c..28da5ae92 100644 --- a/package/asterisk/patches/asterisk-1.0.7-config-modules.patch +++ b/package/asterisk/patches/asterisk-1.0.7-config-modules.patch @@ -1,28 +1,120 @@ diff -ruN asterisk-1.0.7-old/configs/modules.conf.sample asterisk-1.0.7-new/configs/modules.conf.sample --- asterisk-1.0.7-old/configs/modules.conf.sample 2003-06-26 20:57:54.000000000 +0200 -+++ asterisk-1.0.7-new/configs/modules.conf.sample 2005-03-19 17:38:06.000000000 +0100 -@@ -23,8 +23,8 @@ - ; Explicitly load the chan_modem.so early on to be sure - ; it loads before any of the chan_modem_* 's afte rit ++++ asterisk-1.0.7-new/configs/modules.conf.sample 2005-10-25 04:08:28.000000000 +0200 +@@ -7,33 +7,91 @@ + [modules] + autoload=yes ; +-; If you want, load the GTK console right away. +-; Don't load the KDE console since +-; it's not as sophisticated right now. +-; +-noload => pbx_gtkconsole.so +-;load => pbx_gtkconsole.so +-noload => pbx_kdeconsole.so +-; +-; Intercom application is obsoleted by +-; chan_oss. Don't load it. +-; +-noload => app_intercom.so +-; +-; Explicitly load the chan_modem.so early on to be sure +-; it loads before any of the chan_modem_* 's afte rit +-; -load => chan_modem.so -load => res_musiconhold.so -+noload => chan_modem.so -+noload => res_musiconhold.so +-; +-; Load either OSS or ALSA, not both +-; By default, load OSS only (automatically) and do not load ALSA +-; +-noload => chan_alsa.so +-;noload => chan_oss.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_manager.so ; Asterisk Call Manager 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 Translat ++; load => codec_ulaw.so ; Mu-law Coder/Decoder ++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 for Asterisk ++noload => app_authenticate.so ; Authentication Application ++noload => app_cdr.so ; Make sure asterisk doesn't save CDR for ++noload => app_chanisavail.so ; Check if channel is available ++noload => app_controlplayback.so ; Control Playback Application ++noload => app_cut.so ; Cuts up variables ++noload => app_db.so ; Database access functions for Asterisk e ++; load => app_dial.so ; Dialing Application ++noload => app_directory.so ; Extension Directory ++noload => app_disa.so ; DISA (Direct Inward System Access) Appli ++; 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_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 ++; load => app_milliwatt.so ; Digital Milliwatt (mu-law) Test Applicat ++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_qcall.so ; Call from Queue ++noload => app_queue.so ; True Call Queueing ++noload => app_random.so ; Random goto ++noload => app_read.so ; Read Variable Application ++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_sms.so ; SMS/PSTN handler ++noload => app_softhangup.so ; Hangs up the requested channel ++noload => app_striplsd.so ; Strip trailing digits ++noload => app_substring.so ; (Deprecated) Save substring digits in a ++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 ++; load => pbx_config.so ; Text Extension Configuration ++noload => pbx_spool.so ; Outgoing Spool Support ++noload => pbx_wilcalu.so ; Wil Cal U (Auto Dialer) ++ ; - ; Load either OSS or ALSA, not both - ; By default, load OSS only (automatically) and do not load ALSA -@@ -36,4 +36,12 @@ + ; Module names listed in "global" section will have symbols globally ; exported to modules loaded after them. ; [global] -chan_modem.so=yes -+; chan_modem.so=yes -+noload => app_adsiprog.so -+noload => app_db.so -+noload => app_hasnewvoicemail.so -+noload => app_voicemail.so -+noload => chan_skinny.so -+noload => cdr_csv.so -+noload => res_adsi.so -+noload => res_agi.so ++chan_modem.so=no -- 2.20.1