Bug 692131

Summary: Review Request: sflphone - SIP/IAX2 compatible enterprise-class softphone for multi-way conferencing
Product: [Fedora] Fedora Reporter: PRABIN KUMAR DATTA <linux.n.pkd>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: alekcejk, bfay, cbm, christoph.wickert, d.bz-redhat, fedora, fedora-package-review, i, kevin, kvolny, le.businessman, lightdot, manisandro, markus, mszpak, nekohayo, pahan, rdieter, rocketraman
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-09 17:44:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 728302, 1128464, 1140324    
Bug Blocks: 656997    

Description PRABIN KUMAR DATTA 2011-03-30 13:52:10 UTC
Spec URL: http://prabindatta.fedorapeople.org/SPECS/sflphone.spec
SRPM URL: http://prabindatta.fedorapeople.org/SRPMS/sflphone-0.9.12-1.fc14.src.rpm
SFLphone is a robust standards-compliant enterprise softphone,
for desktop and embedded systems. 
* It is designed to handle several hundreds of calls a day. 
* It supports both SIP and IAX2 protocols.
* Signalling and voice encryption (TLS, SRTP)

Koji Build: 

Comment 1 Colin Macdonald 2011-04-17 20:20:48 UTC
I tried building from the src.rpm and got the following:

# rpm -ivh /home/cbm/src/fedora/rpmbuild/RPMS/i386/sflphone-0.9.12-1.fc14.i386.rpm 
Preparing...                ########################################### [100%]
/var/tmp/rpm-tmp.BvgO9I: line 1: pushd: sflphone-client-gnome: No such file or directory
/var/tmp/rpm-tmp.BvgO9I: line 7: popd: directory stack empty
error: %pre(sflphone-0.9.12-1.fc14.i386) scriptlet failed, exit status 1
error:   install: %pre scriptlet failed (2), skipping sflphone-0.9.12-1.fc14

Comment 2 PRABIN KUMAR DATTA 2011-04-18 05:13:39 UTC
Okay! Thanks.

Updated files:
Spec URL: http://prabindatta.fedorapeople.org/SPECS/sflphone.spec
SRPM URL: http://prabindatta.fedorapeople.org/SRPMS/sflphone-0.9.12-2.fc14.src.rpm

Comment 3 Colin Macdonald 2011-04-19 10:20:36 UTC
That seems to work (at least installs and runs).

If "celt-devel" is installed, the build fails as below.  bumping to sfl-phone-0.9.13 seems to need celt and also fails with this error.

For 0.9.12, seems it would be enough to pass --without-celt to configure, but haven't tested.

---- 8< ----

make[4]: Entering directory `/home/cbm/src/fedora/rpmbuild/BUILD/sflphone-0.9.12/sflphone-common/src/audio/codecs'
  CXX    codecDescriptor.lo
  CXX    libcodec_alaw_so-alaw.o
  CXX    libcodec_ulaw_so-ulaw.o
  CXX    libcodec_g722_so-g722.o
  CXX    libcodec_gsm_so-gsmcodec.o
  CXX    libcodec_speex_nb_so-speexcodec_nb.o
  CXX    libcodec_speex_wb_so-speexcodec_wb.o
  CXX    libcodec_speex_ub_so-speexcodec_ub.o
  CXX    libcodec_celt_so-celtcodec.o
celtcodec.cpp: In member function 'virtual int Celt::codecDecode(short int*, unsigned char*, unsigned int)':
celtcodec.cpp:132:66: error: too few arguments to function 'int celt_decode(CELTDecoder*, const unsigned char*, int, celt_int16*, int)'
/usr/include/celt/celt.h:300:12: note: declared here
celtcodec.cpp: In member function 'virtual int Celt::codecEncode(unsigned char*, short int*, unsigned int)':
celtcodec.cpp:142:84: error: invalid conversion from 'celt_int16*' to 'int'
celtcodec.cpp:142:84: error:   initializing argument 3 of 'int celt_encode(CELTEncoder*, const celt_int16*, int, unsigned char*, int)'
make[4]: *** [libcodec_celt_so-celtcodec.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory `/home/cbm/src/fedora/rpmbuild/BUILD/sflphone-0.9.12/sflphone-common/src/audio/codecs'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/cbm/src/fedora/rpmbuild/BUILD/sflphone-0.9.12/sflphone-common/src/audio'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/cbm/src/fedora/rpmbuild/BUILD/sflphone-0.9.12/sflphone-common/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/cbm/src/fedora/rpmbuild/BUILD/sflphone-0.9.12/sflphone-common'
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.boS77G (%build)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.boS77G (%build)

Comment 5 nucleo 2011-04-24 02:10:35 UTC

sflphone uses bundled versions of iax2 and pjproject.
See https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

Is it possible to build it against system libax?

Looks like bundled pjproject version is very old
New releases available here http://www.pjsip.org/release/

If sflphone can be built against recent pjproject releases then maybe it is makes sense to make independent package for pjproject.

Comment 6 nucleo 2011-04-24 02:13:59 UTC
I was wrong about bundled pjproject version.
PJ_VERSION = "1.5.5" used in sflphone-0.9.13 sources.

Comment 7 nucleo 2011-04-24 22:39:40 UTC
Bundled pjproject also contains code of third party libraries gsm, portaudio, resample, speex and srtp which are packaged in Fedora.

Comment 8 Mario Santagiuliana 2011-08-01 09:35:22 UTC
Hi I want to help to package this software, expeccially because it provides an old client for kde.
Why do you choose to create one package and not two different packages sflphone-common and sflphone-gnome-client?

I think the best things is separate the components, this should be more easy in future to add sflphone-kde-client or other plugin, isn't?

Comment 9 PRABIN KUMAR DATTA 2011-08-04 08:35:02 UTC
Hi! Mario,
Currently, my home system is not in good condition and soon I have to buy a new motherboard and processor. 
Till f14 (gnome2), upstream package need no changes but now in f15 there are few changes required to be done so as to make it supported for f15(gnome3).
If you wish you can work forward and feel free to ping me for any help.

Comment 10 Mario Santagiuliana 2011-08-04 08:50:46 UTC
Thank you Prabin, I will try to create different packages and test it in this weekend! :)

Comment 11 Christoph Wickert 2011-08-04 09:01:46 UTC
What about the bundled libraries? If they cannot be unbundled this package will not make it into Fedora.

Comment 12 Mario Santagiuliana 2011-08-04 09:17:31 UTC
I check them and try to create different packages...

I need to undestand: is it better to create different spec files for sflphone-common and sflphone-gnome-client or just one spec file with different subpackages?
Same things for libraries?

Comment 13 Christoph Wickert 2011-08-04 10:01:50 UTC
The rule of thumb is: One tarball from upstream = one spec/srpm. You can build different binary packages from it, say sflphone-common, sflphone-cli, sflphone-gnome and sflphone-kde.

Having completely different srpms only makes sense if they are separate upstream, too or have a different release cycle.

However the current package is building against pjproject, iax2 and dbus-c++. The latter two are in Fedora, pjproject is not. So we first need to package pjproject and then sflphone. When building sflphone it should be possible to nuke the whole 'libs' folder and build against the libraries from Fedora. This will require a lot of patching though.

Comment 14 Mario Santagiuliana 2011-08-04 10:11:03 UTC
Ok, I will create pjproject rpm...
SFLphone provides one tarball package that include different packages, so I think the best way is to create one spec file that will create different packages.

I will report here the new review request for pjproject rpm.

Comment 15 Mario Santagiuliana 2011-08-04 16:16:42 UTC
My review request for pjproject is here:

I have got some error using mock and I don't undestand where is my mistake...sorry...

Comment 16 Rex Dieter 2011-12-27 18:37:54 UTC
I can help review this.

Comment 17 Rex Dieter 2012-04-19 12:31:41 UTC
Sorry, I lost enough time to finish up pjproject and friends for now... leaving it to others.

Comment 18 Christopher Meng 2013-06-02 12:39:16 UTC

Are you still interested in it?

If not I will start packaging as some people need it.

Comment 19 Mario Santagiuliana 2013-06-02 12:42:26 UTC
I don't have a lot of time to spend on this software...
You can contribute in it!

First the pjproject should be package for fedora...

Comment 20 Markus Haybach 2013-06-03 20:58:26 UTC
Hi Christopher,

it would be really nice of you to package it for Fedora 19.

I used Ubuntu until two weeks ago and there you can install it from source.

Please add it.

Thanks a lot,

Comment 21 Sandro Mani 2014-03-17 20:53:24 UTC
I also need this, I'm happy to work on this if no-one else is planning to do so. It looks like the pjproject review could be nearing towards a successful end.

Comment 22 Tristan Matthews 2014-11-04 16:16:43 UTC
(In reply to Sandro Mani from comment #21)
> I also need this, I'm happy to work on this if no-one else is planning to do
> so. It looks like the pjproject review could be nearing towards a successful
> end.

pjproject has been pushed:

Comment 23 Sandro Mani 2014-11-05 13:46:43 UTC
There is one more missing piece: #1128464

Furthermore, what complicates things is that the kde client now (i.e. >= 1.4.0) has video support as an integral component (i.e. there is no build-time configuration flag to switch it off). Video support dependes on ffmpeg, so at least the kde client would need to go into rpmfusion. The gnome client still has video support as a compile-time option, however at this point the question is whether it is not better to just have the full-featured package in rpmfusion. (I actually tried patching splitting out the video support out of the kde client, but hit a wall somewhere along the way as far as I remember).

Comment 24 Sandro Mani 2014-12-27 21:09:19 UTC
Things regarding video improved in the latest version 1.4.1, here is now a package which should be ready for Fedora:

SPEC: https://smani.fedorapeople.org/review/sflphone.spec
SRPM: https://smani.fedorapeople.org/review/sflphone-1.4.1-1.fc22.src.rpm

The only blocker which remains is bug 1128464

Comment 25 Sandro Mani 2015-01-09 17:44:16 UTC
All pieces are now in place. New review request posted in bug 1180698.

*** This bug has been marked as a duplicate of bug 1180698 ***