-----BEGIN PGP SIGNED MESSAGE-----
On 22/05/15 16:21, Kevin Fenzi wrote:
On Tue, 19 May 2015 13:45:39 +0200 Daniel Pocock
> Hi all,
> At some point, it would be good to see fedrtc.org
> Fedora infrastructure and use the fedoraproject.org
Do you have any stats on usage since you announced it? I worry that
we would get it all up and running and no one would use it. ;(
After the recent blog, about 12 people linked their FAS user IDs. I
don't have any other stats on how many minutes of calls they make. It
has only been promoted in one blog so far, I could probably do more to
promote it. Maybe if there was some announcement email calling it an
official trial more people may sign up, even though there should not
be any risk, people may even be reluctant to use the OpenID thing
knowing that it is not on official infrastructure.
> I'd be happy to submit the full request for resources but
> just want to see if there is any initial comment on it. Here is
> a list of what is involved:
> - it uses a PostgreSQL database schema
> - it requires some DNS entries (SRV and NAPTR), examples
> - it needs a TLS cert for fedoraproject.org
on the host(s) where
> it runs
Those are all easy. ;)
> - it has static HTTP content and PHP that is currently hosted
> with all but one problem on a RHEL7 httpd. Content is in
> Github, it could be presented as an RPM if necessary.
I'm not too crazy about PHP. Would it be hard/possible to re-write
things in something else? say flask?
I've been doing stuff with flask recently, I have no objections to
that. The main features of the code are the FAS OpenID integration,
running a PostgreSQL query and doing some HMAC stuff. All of those
things can be done in Python.
Do you have any example of how you implement flask applications (or
any other frameworks you support) for your hosting environment? I
have only ever used flask for trivial stuff running in my dev
Is this a common codebase used by the other projects that run
It is basically the php-OpenID sample code with a PostgreSQL INSERT
after the user logs in.
We could probably find a Python OpenID sample, import psycopg2 and get
the same result.
> - all packages are in EPEL7, except: cajun-json in EPEL6, in
> testing for EPEL7 resiprocate in Fedora, builds from SRPM on
> - the SIP proxy is a single daemon, managed by systemctl. All
> settings in a single file, /etc/repro/repro.config
> - the TURN server process is also a single daemon, managed by
> systemctl. All settings in a single file,
> Just to clarify the scope of this: it is not a full telephony
> service like Asterisk, just a SIP proxy and TURN server. There
> is no persistent state information (as there would be for
> voicemail, email service, etc) and no customized routing.
Yeah, thats nice. ;)
Some really dumb questions:
* This does jabber/XMPP?
The TURN server can be used by XMPP clients to do voice and video
through NAT. Running a reTurn instance kills three birds with one
stone: SIP, XMPP and WebRTC
has a SIP proxy but no XMPP server.
Running an XMPP server would be an extra step. The Prosody project
leader, Matthew Wild (on CC), has been very supportive of deployments
for free software communities, e.g. he wrote this module explicitly to
help us use a common user database for SIP, TURN and XMPP on
and it is just as valid for a Fedora deployment. It is not hard to
get Prosody running.
There is one catch: if we run XMPP on fedrtc.org
, even temporarily,
then people will have to go through the pain of migrating buddy lists
to the fedoraproject.org
domain. Maybe it is better to just run that
from the beginning, whenever you are happy to run it.
* How about video/webrtc? with multiple people? or just person to
Yes, it supports video. As it is a SIP proxy, it doesn't actually
know about what is inside the streams or message bodies (voice, video,
text messaging). SIP proxies just provide a way to relay things
between endpoints. The SIP proxy also doesn't care about things like
codecs and transcoding, that makes the proxy easier to administer and
scale, but it means that the clients have to have common capabilities.
Multi-party communication is also supported by the endpoints or by
running a conference server. E.g. somebody can run a private Asterisk
instance on their user(a)fedrtc.org address and other people call them
and join their personal conference. The SIP proxy doesn't know or
care, it just connects callers to the address they specify.
In a later stage, Fedora could choose to run a dedicated conference
server, that would be something else to administer though. My
recommendation is just start with the lightweight SIP proxy for some
months and see if people volunteer to run services like conferencing
on their own infrastructure.
* What are the common use cases you have seen people use it for?
Some Debian Developers have tried interviewing GSoC students using
WebRTC. It is important to show the students, from their very first
contact with our projects, that we don't depend on any proprietary
stuff like Skype or WhatsApp.
Another use case is testing the various SIP packages (GNOME Empathy,
Linphone, etc). If we want people to take these things seriously we
have to be able to show that we can run them in our own communities,
even if IRC and mailing lists are the preferred means of communication.
Another use case is demonstrating federation. There was a demo at a
conference recently, a debian.org
user calling a fedrtc.org
> Ongoing maintenance requirements: - TLS certificate renewals -
> monitoring the ports - package updates from time to time
> It currently runs on a lab machine, I'd be happy to arrange SSH
> access to the Fedora Infrastructure team to see exactly what is
> involved and verify that it is manageable.
Thanks for working on this. I find it definitely interesting... i
just want to make sure we have enough use cases and people who
would use it before we commit to running it.
Understood - I'm happy for it to continue on my server for now, but if
you email me your ssh key in a GPG signed email I'll let you log in
and look over it.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-----END PGP SIGNATURE-----