HowTo:VozVideo:Softphones

De Luispa

Softphones

Procesos de instalación de diferentes Softphones

Nombre URL Estado Notas
KIAX2 http://www.forschung-direkt.eu/projects/kiax2/ Activo Última versión 2.1 beta2 (13/1/09)
LINPhone http://www.linphone.org/index.php/eng Activo Última versión 3.1.0 (16/3/09)
TwinklePhone http://www.twinklephone.com/ Activo Última versión 1.4.2 (25/2/09)
Qutecom http://www.qutecom.org/ Activo Diciembre de 2008 v 2.2 for Linux
ZoIPer http://www.zoiper.com/index.php Activo Ediciones Libre y Biz


Twinkle

Modificaciones en package.keywords y package.use

  • Modifico el fichero /etc/portage/package.keywords
 # twinkle
 =net-libs/libzrtpcpp-1.3.0                            ~amd64
 =net-libs/ccrtp-1.7.0                                 ~amd64
 =net-im/twinkle-1.4.1                                 ~amd64


  • Modifico el fichero /etc/portage/package.use
# SoftPhone Twinkle
net-im/twinkle              kde ilbc speex zrtp


  • Verifico qué se instalaría y con qué variables USE
Código:
# emerge -pv twinkle
 # emerge -pv twinkle

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   N   ] net-libs/ccrtp-1.7.0  USE="-doc" 0 kB
[ebuild   N   ] net-libs/libzrtpcpp-1.3.0  0 kB
[ebuild   N   ] net-im/twinkle-1.4.1  USE="ilbc kde speex zrtp -arts -debug -kdehiddenvisibility -xinerama" 0 kB

Total: 3 packages (3 reinstalls), Size of downloads: 0 kB


  • Realizo la instalación
Código:
# emerge -v twinkle
# emerge -v twinkle


Qutecom

Modificaciones en package.keywords y package.use

  • Modifico el fichero /etc/portage/package.keywords
#
=net-im/qutecom-2.2_rc3-r1                            ~amd64


  • Modifico el fichero /etc/portage/package.use
# Necesarios para instalar Softphone Qutecom
virtual/poppler-glib        cairo
net-im/pidgin               gstreamer gtk ncurses nls perl sasl gnutls


  • Ya tengo instalado "Layman" que permite añadir "Overlays" a Portage, es decir, añadir ebuilds de terceros a portage que de otra forma no tendríamos. Necesito el overlay llamado "sunrise" que contiene a su vez el paquete net-im/qutecom. Si necesitas instalarlo este es el proceso:
# emerge -av layman
# echo "source /usr/local/portage/layman/make.conf" >> /etc/make.conf
# layman -f -a sunrise  (para sincronziar: layman -s sunrise)


  • Antes de continuar arreglo un problema (a fecha 1/4/09) del ebuild de sunrise documentado aquí: http://bugs.gentoo.org/237941 Puede que ya este resuelto para cuando hagas el emerge. Dejo aquí copia del ebuild ya corregido y del parche que tienes que salvar en el directorio files
Fichero: # /usr/portage/local/layman/sunrise/net-im/qutecom/qutecom-2.2_rc3-r1.ebuild
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="2"

inherit cmake-utils eutils

MY_P=${P/_rc/-RC}

DESCRIPTION="Multi-protocol instant messenger and VoIP client"
HOMEPAGE="http://www.qutecom.com/"
SRC_URI="http://www.qutecom.com/downloads/${MY_P}.tar.gz http://omploader.org/vMTFvMg/qutecom_googlebreakpad_64.patch"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="alsa debug oss portaudio xv"

DEPEND=">=dev-libs/boost-1.34
	dev-libs/glib
	dev-libs/openssl
	alsa? ( media-libs/alsa-lib )
	media-libs/libsamplerate
	media-libs/libsndfile
	portaudio? ( media-libs/portaudio )
	media-libs/speex
	media-video/ffmpeg
	net-im/pidgin[gnutls]
	net-libs/gnutls
	>=net-libs/libosip-3
	>=net-libs/libeXosip-3
	net-misc/curl
	|| ( x11-libs/libX11 virtual/x11 )
	|| ( ( x11-libs/qt-gui:4 x11-libs/qt-svg:4 ) =x11-libs/qt-4.3* )
	xv? ( x11-libs/libXv )"
RDEPEND=${DEPEND}

S=${WORKDIR}/${MY_P}

src_unpack() {
	# do not try to unpack googlebreakpad_64.patch
	# TODO: the patch should be compressed, internal or external
	unpack ${MY_P}.tar.gz
	cd "${S}"
}

src_prepare() {
	epatch "${FILESDIR}"/${PN}_wifo_phapi.patch
       	epatch "${FILESDIR}"/${PN}_libpurple_gnutls.patch
	epatch "${DISTDIR}"/${PN}_googlebreakpad_64.patch

	# fix broken CMake conf file
	sed -i -e \
		"s/endif (PHAPI_CODEC_AMR_SUPPORT)/endif (PHAPI_CODEC_ILBC_SUPPORT)/" \
		wengophone/src/presentation/qt/CMakeLists-install-linux.txt \
		|| die "patching CMakeLists-install-linux.txt failed"
	sed -i -e \
		"/^if (PHAPI_CODEC_ILBC_SUPPORT)/i\
		endif (PHAPI_CODEC_AMR_SUPPORT)" \
		wengophone/src/presentation/qt/CMakeLists-install-linux.txt \
		|| die "patching CMakeLists-install-linux.txt failed"
}

src_configure() {
	local mycmakeargs="$(cmake-utils_use_enable portaudio PORTAUDIO_SUPPORT) \
		$(cmake-utils_use_enable alsa PHAPI_AUDIO_ALSA_SUPPORT) \
		$(cmake-utils_use_enable oss PHAPI_AUDIO_OSS_SUPPORT) \
		$(cmake-utils_use_enable xv WENGOPHONE_XV_SUPPORT) \
		-DLIBPURPLE_INTERNAL=OFF \
		-DPORTAUDIO_INTERNAL=OFF "

	cmake-utils_src_configure
}

src_install() {
	cmake-utils_src_install

	domenu wengophone/res/qutecom.desktop || die "domenu failed"
	doicon wengophone/res/wengophone_64x64.png || die "doicon failed"

}
Fichero: # /usr/portage/local/layman/sunrise/net-im/qutecom/files/qutecom_libpurple_gnutls.patch
# HG changeset patch
# User ludovico.cavedon@gmail.com
# Date 1237671131 25200
# Node ID 2260663e58c478857668073be3b571e9fe96b375
# Parent 2a9fda06d182b39f9ca5f2ddf9be102226114272
Accept SSL certificate with wrong hostname

--- a/libs/imwrapper/src/purple/PurpleIMFactory.cpp	Sat Mar 21 14:27:28 2009 -0700
+++ b/libs/imwrapper/src/purple/PurpleIMFactory.cpp	Sat Mar 21 14:32:11 2009 -0700
@@ -140,6 +140,19 @@
 	return closure->result;
 }
 
+static void* purple_wg_request_action(const char *title, const char *primary,
+		const char *secondary, int default_action,
+		PurpleAccount *account, const char *who,
+		PurpleConversation *conv, void *user_data, size_t action_count,
+		va_list actions) {
+	const char *text = va_arg(actions, const char *);
+	PurpleRequestActionCb callback = va_arg(actions, PurpleRequestActionCb);
+
+	LOG_WARN("requested action: %s: %s, %s. Default action: %s", title, primary, secondary, text);
+	callback(user_data, 0);
+        return NULL;
+}
+
 gpointer PurpleMainEventLoop(gpointer data) {
 	if (gMainLoop) {
 		LOG_FATAL("gMainLoop already created");
@@ -170,6 +183,19 @@
 	g_source_remove,
 	purple_wg_input_add,
 	g_source_remove
+};
+
+static PurpleRequestUiOps request_wg_ops = {
+	NULL,
+	NULL,
+	purple_wg_request_action,
+	NULL,
+	NULL,
+	NULL,
+	NULL,
+	NULL,
+	NULL,
+	NULL
 };
 
 bool PurpleIMFactory::equals(const IMAccount & imAccount, std::string login, EnumIMProtocol::IMProtocol protocol) {
@@ -236,6 +262,8 @@
 	purple_plugins_add_search_path("plugins");
 	g_free(search_path);
 
+	purple_request_set_ui_ops(&request_wg_ops);
+
 	if (!purple_core_init("Wengo PURPLE")) {
 		LOG_WARN("Initialization of the Purple core failed\n");
 	}


  • A partir de ahí continúo normalmente, verifico qué se instalaría y con qué variables USE
Código:
# emerge -pv qutecom
 # emerge -pv qutecom
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] net-im/qutecom-2.2_rc3-r1  USE="alsa xv -debug -oss -portaudio" 0 kB [1]

Total: 1 package (1 reinstall), Size of downloads: 0 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /usr/portage/local/layman/sunrise


  • Realizo la instalación
Código:
# emerge -v qutecom
# emerge -v qutecom




Enlaces y Créditos

[1] http://wiki.luispa.com/ Página principal de LuisPa.

Volver a la página de Role como Servidor

--Luis 19:21 2 abr 2009 (CEST)