Commit 4ef5e293 authored by Adrien Béraud's avatar Adrien Béraud

deamon: rename to Ring

Refs #62691

Change-Id: I8b051e38674b50d2b7771376310dcf9d964452b4
parent 0d0d4ee5
......@@ -12,9 +12,11 @@ Wiki: https://projects.savoirfairelinux.com/projects/sflphone/wiki/BuildInstruct
# Go to the root of the application core directory
cd daemon
# Compile pjsip
cd libs
./compile_pjsip.sh
# Compile contrib
cd contrib
mkdir native && cd native
../bootstrap
make
# Go back to the root
cd ../..
./autogen.sh
......@@ -36,8 +38,8 @@ Wiki: https://projects.savoirfairelinux.com/projects/sflphone/wiki/BuildInstruct
You are done with the gnome client !
Then, to start SFLphone, simply go in Applications > Internet > SFLphone VoIP Client.
Then, to start Ring, simply go in Applications > Internet > Ring VoIP Client.
Thanks You
SFLphone Team
Ring Team
SFLphone is an open-source SIP/IAX2 compatible enterprise-class softphone, published under the GNU Public License 3.
Ring (formerly SFLPhone) is an open-source SIP/IAX2 compatible enterprise-class softphone, published under the GNU Public License 3.
GIT REPOSITORY
Tree information:
* daemon: contains the core application code. This code is mandatory to run the softphone. It may be considered as the core as it implements all the logic (audio layer, communication layer, account management, codecs management, dbus services).
* gnome: contains the GTK+ client for SFLphone. It will connect and communicate to the core application through D-Bus.
* daemon (dring): contains the core application code. This code is mandatory to run the softphone. It may be considered as the core as it implements all the logic (audio layer, communication layer, account management, codecs management, dbus services).
* gnome: contains the GTK+ client for Ring. It will connect and communicate to the core application through D-Bus.
* tools: scripts
* sflphone-callto: to start calls from command line
* ring-callto: to start calls from command line
* update-copyright: (dev tool) to update copyright notice with new year
* sflphone-kde: git clone git://anongit.kde.org/sflphone-kde
......@@ -18,4 +18,4 @@ Tree information:
* Mailing list: http://lists.savoirfairelinux.net/mailman/listinfo/sflphone
SFLphone Team
Ring Team
......@@ -3,5 +3,5 @@ aclocal.m4
build-aux
configure
bin/dbus/*.adaptor.h
bin/dbus/org.sflphone.SFLphone.service
bin/sflphoned
bin/dbus/cx.ring.Ring.service
bin/dring
Current authors
---------------
Guillaume Roguez <guillaume dot roguez at savoirfairelinux dot com>
Adrien Béraud <adrien dot beraud at savoirfairelinux dot com>
Emmanuel Lepage <emmanuel dot lepage at savoirfairelinux dot com>
Alexandre Lision <alexandre dot lision at savoirfairelinux dot com>
Stepan Salenikovich <stepan dot salenikovich at savoirfairelinux dot com>
Former authors
--------------
Tristan Matthews <tristan dot matthews at savoirfairelinux dot com>
Emmanuel Milou <emmanuel dot milou at savoirfairelinux dot com>
- ALSA implementation ( replaces portaudio )
- Dynamic loading of audio codecs ( shared libraries )
- Debian packages
- GTK client error handling
- Plus many portions of code in sflphoned and sflphone-gtk
- Plus many portions of code in dring and sflphone-gtk
- Test and debugging
Alexandre Savard <alexandre dot savard at savoirfairelinux dot com>
Tristan Matthews <tristan dot matthews at savoirfairelinux dot com>
Emmanuel Lepage <emmanuel dot lepage at savoirfairelinux dot com>
Former authors
--------------
Rafaël Carré <rafael dot carre at savoirfairelinux dot com>
Vivien Didelot <vivien dot didelot at savoirfairelinux dot com>
......@@ -49,7 +57,7 @@ Pierre-Luc Beaudoin <pierre-luc.beaudoin at savoirfairelinux dot com>
Yan Morin <yan dot morin at savoirfairelinux dot com>
- zeroconf integration
- sflphoned deamon
- dring deamon
- add and improve sip core feature
- tests and debugging
......
......@@ -21,7 +21,7 @@ endif
ACLOCAL_AMFLAGS = -I m4
#FIXME: this will change when libsflphone is fixed
#FIXME: this will change when libring is fixed
if HAVE_WIN32
SUBDIRS = bin
else
......
......@@ -64,7 +64,7 @@ SFLphoned/SFLphone (0.6) / 2005-11-04
* installation review
SFLphoned/SFLphone (0.5a) / 2005-10-17
* sflphoned
* dring
* bug fixes
* sflphone-qt
* client/server protocol
......
COPYRIGHT NOTICE
Copyright (C) 2004-2014 Savoir-Faire Linux Inc.
Copyright (C) 2004-2015 Savoir-Faire Linux Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -30,7 +30,7 @@ as that of the covered work.
Introduction
------------
SFLPhone is a Voice-over-IP software phone. We want it to be:
Ring is a Voice-over-IP software phone. We want it to be:
- user friendly (fast, sleek, easy to learn interface)
- professional grade (transfers, holds, optimal audio quality)
- fully compatible with Asterisk (SIP and IAX protocols)
......@@ -82,7 +82,7 @@ make
make install
# And the GNOME client
cd sflphone-client-gnome
cd ring-client-gnome
./autogen.sh
./configure
make
......@@ -96,10 +96,10 @@ https://projects.savoirfairelinux.com/projects/sflphone/wiki/How_to_build
How to compile on OSX
---------------------
# These first steps are only necessary if you don't use a package manager.
cd sflphone/daemon/extras/tools
cd daemon/extras/tools
./bootstrap
make
export PATH=$PATH:/location/of/sflphone/daemon/extras/tools/build/bin
export PATH=$PATH:/location/of/ring/daemon/extras/tools/build/bin
# Or, use your favorite package manager to install the necessary tools (macports or brew).
automake libtool check gettext libtoolize ...
......@@ -131,7 +131,7 @@ sudo update-alternatives --config x86_64-w64-mingw32-gcc
sudo update-alternatives --config x86_64-w64-mingw32-g++
# Compile the dependencies
cd sflphone/daemon/contrib/
cd ring/daemon/contrib/
mkdir win64 && cd win64
../bootstrap --host=x86_64-w64-mingw32
make
......
......@@ -10,18 +10,18 @@ libexec_PROGRAMS = ringcli
ringcli_SOURCES = osxmain.cpp
ringcli_CXXFLAGS = -I$(top_srcdir)/src \
-DTOP_BUILDDIR=\"$$(cd "$(top_builddir)"; pwd)\"
ringcli_LDADD = $(top_builddir)/src/libsflphone.la
ringcli_LDADD = $(top_builddir)/src/libring.la
endif
if SFL_DBUS
if RING_DBUS
SUBDIRS=dbus
libexec_PROGRAMS = sflphoned
libexec_PROGRAMS = dring
sflphoned_SOURCES = main.cpp
dring_SOURCES = main.cpp
sflphoned_CXXFLAGS=-I$(top_srcdir)/src ${DBUSCPP_CFLAGS} \
dring_CXXFLAGS=-I$(top_srcdir)/src ${DBUSCPP_CFLAGS} \
-DTOP_BUILDDIR=\"$$(cd "$(top_builddir)"; pwd)\"
sflphoned_LDADD = dbus/libclient_dbus.la ${DBUSCPP_LIBS} $(top_builddir)/src/libsflphone.la
dring_LDADD = dbus/libclient_dbus.la ${DBUSCPP_LIBS} $(top_builddir)/src/libring.la
endif
......@@ -11,7 +11,7 @@ BUILT_SOURCES+=dbuspresencemanager.adaptor.h
dbuspresencemanager.adaptor.h: presencemanager-introspec.xml Makefile.am
dbusxx-xml2cpp $< --adaptor=$@
if SFL_VIDEO
if RING_VIDEO
BUILT_SOURCES+=dbusvideomanager.adaptor.h
dbusvideomanager.adaptor.h: videomanager-introspec.xml Makefile.am
dbusxx-xml2cpp $< --adaptor=$@
......@@ -43,29 +43,29 @@ libclient_dbus_la_SOURCES = \
dbuspresencemanager.h \
$(BUILT_SOURCES)
if SFL_VIDEO
if RING_VIDEO
libclient_dbus_la_SOURCES += dbusvideomanager.cpp dbusvideomanager.h
endif
libclient_dbus_la_CXXFLAGS = -I../ \
-I$(top_srcdir)/src \
-DPREFIX=\"$(prefix)\" \
-DPROGSHAREDIR=\"${datadir}/sflphone\" \
-DPROGSHAREDIR=\"${datadir}/ring\" \
$(DBUSCPP_CFLAGS)
# Dbus service file
servicedir = $(datadir)/dbus-1/services
service_DATA = org.sflphone.SFLphone.service
service_DATA = cx.ring.Ring.service
EXTRA_DIST = callmanager-introspec.xml \
configurationmanager-introspec.xml \
instance-introspec.xml \
presencemanager-introspec.xml
if SFL_VIDEO
if RING_VIDEO
EXTRA_DIST += videomanager-introspec.xml
endif
CLEANFILES= \
$(BUILT_SOURCES) \
org.sflphone.SFLphone.service
cx.ring.Ring.service
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/callmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.sflphone.SFLphone.CallManager">
<interface name="cx.ring.Ring.CallManager">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The CallManager interface is used to manage call and conference related actions.</p>
<p>Since SFLphone-daemon supports multiple incoming/outgoing calls, any actions involving a specific call must address the method by the means of a unique callID.
SFLphone-clients is responsible for generating the callID on outgoing calls. Conversely, SFLphone-daemon will generate a unique callID for incoming calls.</p>
<p>Since Ring-daemon supports multiple incoming/outgoing calls, any actions involving a specific call must address the method by the means of a unique callID.
Ring-clients is responsible for generating the callID on outgoing calls. Conversely, Ring-daemon will generate a unique callID for incoming calls.</p>
</tp:docstring>
<method name="placeCall" tp:name-for-bindings="placeCall">
<tp:docstring>
......@@ -204,8 +204,8 @@
<method name="addMainParticipant" tp:name-for-bindings="addMainParticipant">
<tp:added version="0.9.7"/>
<tp:docstring>
<p>As the core can handle multiple calls and conferences, it may happen that the client's user leaves a conference to answer an incoming call or to start new calls. This method is used to reintroduce SFLphone-client's user into the conference.</p>
<p>Its put the current call on HOLD or detaches SFLphone-client's user from the another conference.</p>
<p>As the core can handle multiple calls and conferences, it may happen that the client's user leaves a conference to answer an incoming call or to start new calls. This method is used to reintroduce Ring-client's user into the conference.</p>
<p>Its put the current call on HOLD or detaches Ring-client's user from the another conference.</p>
</tp:docstring>
<arg type="s" name="confID" direction="in">
<tp:docstring>
......@@ -518,11 +518,11 @@
<tp:docstring>
The acceptable states are:
<ul>
<li>ACTIVE_ATTACHED: SFLphone user is
<li>ACTIVE_ATTACHED: Ring user is
participating to this conference</li>
<li>ACTIVE_DETACHED: This situation can
occur if a call is received while
SFLphone user is participating to a
Ring user is participating to a
conference. In this case, one can leave
the conference by answering the
call. Other participants may continue
......@@ -571,7 +571,7 @@
<signal name="conferenceCreated" tp:name-for-bindings="conferenceCreated">
<tp:added version="0.9.7"/>
<tp:docstring>
Emited when a new conference is created. SFLphone-client is reponsible for storing the confID and call <tp:member-ref>getParticipantList</tp:member-ref> to update the display.
Emited when a new conference is created. Ring-client is reponsible for storing the confID and call <tp:member-ref>getParticipantList</tp:member-ref> to update the display.
</tp:docstring>
<arg type="s" name="confID">
<tp:docstring>
......@@ -583,7 +583,7 @@
<signal name="conferenceRemoved" tp:name-for-bindings="conferenceRemoved">
<tp:added version="0.9.7"/>
<tp:docstring>
Emited when a new conference is remove. SFLphone-client should have kept a list of current participant in order to display modification.
Emited when a new conference is remove. Ring-client should have kept a list of current participant in order to display modification.
</tp:docstring>
<arg type="s" name="confID">
<tp:docstring>
......@@ -632,7 +632,7 @@
<signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged">
<tp:docstring>
<p>Call state changed, SFLphone received a notification
<p>Call state changed, Ring received a notification
from registrar concerning this call.</p>
</tp:docstring>
<arg type="s" name="callID" />
......@@ -670,7 +670,7 @@
<p>Transfer has been successfully
processed. Client should remove transfered
call from call list as it is no longer
accessible in SFLphone-daemon.</p>
accessible in Ring-daemon (dring).</p>
</tp:docstring>
</signal>
......@@ -678,7 +678,7 @@
<tp:docstring>
<p>Transfer operation failed. Corresponding
call is no longer accessible in
SFLphone-daemon.</p>
Ring-daemon (dring).</p>
</tp:docstring>
</signal>
......
<?xml version="1.0" ?>
<node name="/configurationmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.sflphone.SFLphone.ConfigurationManager">
<interface name="cx.ring.Ring.ConfigurationManager">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
Used to handle the configuration stuff: accounts settings, account registration, user preferences, ...
......@@ -93,7 +93,7 @@
<method name="setAccountDetails" tp:name-for-bindings="setAccountDetails">
<tp:docstring>
Send new account parameters, or account parameters changes, to the core. The hash table is not required to be complete, only the updated parameters may be specified.
<tp:rationale>Account settings are written to the configuration file when sflphone properly quits.</tp:rationale>
<tp:rationale>Account settings are written to the configuration file when ring properly quits.</tp:rationale>
<tp:rationale>After calling this method, the core will emit the signal <tp:member-ref>accountsChanged</tp:member-ref> with the updated data. The client must subscribe to this signal and use it to update its internal data structure.</tp:rationale>
</tp:docstring>
<annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="MapStringString"/>
......@@ -551,7 +551,7 @@
<!-- Only used by SIP accounts, data is directly from pjsip -->
<signal name="sipRegistrationStateChanged" tp:name-for-bindings="sipRegistrationStateChanged">
<tp:docstring>
<p>Account state changed, SFLphone received a notification from registrar.</p>
<p>Account state changed, Ring received a notification from registrar.</p>
</tp:docstring>
<annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
<arg type="s" name="accountID" >
......
[D-BUS Service]
Name=cx.ring.Ring
Exec=@LIBEXECDIR@/dring
/*
* Copyright (C) 2004-2013 Savoir-Faire Linux Inc.
* Copyright (C) 2004-2015 Savoir-Faire Linux Inc.
* Author: Tristan Matthews <tristan.matthews@savoirfairelinux.com>
*
* This program is free software; you can redistribute it and/or modify
......
/*
* Copyright (C) 2004-2013 Savoir-Faire Linux Inc.
* Copyright (C) 2004-2015 Savoir-Faire Linux Inc.
* Author: Philippe Proulx <philippe.proulx@savoirfairelinux.com>
*
* This program is free software; you can redistribute it and/or modify
......@@ -28,216 +28,216 @@
* as that of the covered work.
*/
#include <iostream>
#include "sflphone.h"
#include "ring.h"
#include "dbuscallmanager.h"
DBusCallManager::DBusCallManager(DBus::Connection& connection)
: DBus::ObjectAdaptor(connection, "/org/sflphone/SFLphone/CallManager")
: DBus::ObjectAdaptor(connection, "/cx/ring/Ring/CallManager")
{
}
bool DBusCallManager::placeCall(const std::string& accountID, const std::string& callID, const std::string& to)
{
return sflph_call_place(accountID, callID, to);
return ring_call_place(accountID, callID, to);
}
bool DBusCallManager::refuse(const std::string& callID)
{
return sflph_call_refuse(callID);
return ring_call_refuse(callID);
}
bool DBusCallManager::accept(const std::string& callID)
{
return sflph_call_accept(callID);
return ring_call_accept(callID);
}
bool DBusCallManager::hangUp(const std::string& callID)
{
return sflph_call_hang_up(callID);
return ring_call_hang_up(callID);
}
bool DBusCallManager::hold(const std::string& callID)
{
return sflph_call_hold(callID);
return ring_call_hold(callID);
}
bool DBusCallManager::unhold(const std::string& callID)
{
return sflph_call_unhold(callID);
return ring_call_unhold(callID);
}
bool DBusCallManager::transfer(const std::string& callID, const std::string& to)
{
return sflph_call_transfer(callID, to);
return ring_call_transfer(callID, to);
}
bool DBusCallManager::attendedTransfer(const std::string& transferID, const std::string& targetID)
{
return sflph_call_attended_transfer(transferID, targetID);
return ring_call_attended_transfer(transferID, targetID);
}
std::map< std::string, std::string > DBusCallManager::getCallDetails(const std::string& callID)
{
return sflph_call_get_call_details(callID);
return ring_call_get_call_details(callID);
}
std::vector< std::string > DBusCallManager::getCallList()
{
return sflph_call_get_call_list();
return ring_call_get_call_list();
}
void DBusCallManager::removeConference(const std::string& conference_id)
{
sflph_call_remove_conference(conference_id);
ring_call_remove_conference(conference_id);
}
bool DBusCallManager::joinParticipant(const std::string& sel_callID, const std::string& drag_callID)
{
return sflph_call_join_participant(sel_callID, drag_callID);
return ring_call_join_participant(sel_callID, drag_callID);
}
void DBusCallManager::createConfFromParticipantList(const std::vector< std::string >& participants)
{
sflph_call_create_conf_from_participant_list(participants);
ring_call_create_conf_from_participant_list(participants);
}
bool DBusCallManager::isConferenceParticipant(const std::string& call_id)
{
return sflph_call_is_conference_participant(call_id);
return ring_call_is_conference_participant(call_id);
}
bool DBusCallManager::addParticipant(const std::string& callID, const std::string& confID)
{
return sflph_call_add_participant(callID, confID);
return ring_call_add_participant(callID, confID);
}
bool DBusCallManager::addMainParticipant(const std::string& confID)
{
return sflph_call_add_main_participant(confID);
return ring_call_add_main_participant(confID);
}
bool DBusCallManager::detachParticipant(const std::string& callID)
{
return sflph_call_detach_participant(callID);
return ring_call_detach_participant(callID);
}
bool DBusCallManager::joinConference(const std::string& sel_confID, const std::string& drag_confID)
{
return sflph_call_join_conference(sel_confID, drag_confID);
return ring_call_join_conference(sel_confID, drag_confID);
}
bool DBusCallManager::hangUpConference(const std::string& confID)
{
return sflph_call_hang_up_conference(confID);
return ring_call_hang_up_conference(confID);
}
bool DBusCallManager::holdConference(const std::string& confID)
{
return sflph_call_hold_conference(confID);
return ring_call_hold_conference(confID);
}
bool DBusCallManager::unholdConference(const std::string& confID)
{
return sflph_call_unhold_conference(confID);
return ring_call_unhold_conference(confID);
}
std::vector<std::string> DBusCallManager::getConferenceList()
{
return sflph_call_get_conference_list();
return ring_call_get_conference_list();
}
std::vector<std::string> DBusCallManager::getParticipantList(const std::string& confID)
{
return sflph_call_get_participant_list(confID);
return ring_call_get_participant_list(confID);
}
std::vector<std::string> DBusCallManager::getDisplayNames(const std::string& confID)
{
return sflph_call_get_display_names(confID);
return ring_call_get_display_names(confID);
}
std::string DBusCallManager::getConferenceId(const std::string& callID)
{
return sflph_call_get_conference_id(callID);
return ring_call_get_conference_id(callID);
}
std::map<std::string, std::string> DBusCallManager::getConferenceDetails(const std::string& callID)
{
return sflph_call_get_conference_details(callID);
return ring_call_get_conference_details(callID);
}
bool DBusCallManager::startRecordedFilePlayback(const std::string& filepath)
{
return sflph_call_play_recorded_file(filepath);
return ring_call_play_recorded_file(filepath);
}
void DBusCallManager::stopRecordedFilePlayback(const std::string& filepath)
{
sflph_call_stop_recorded_file(filepath);
ring_call_stop_recorded_file(filepath);
}
bool DBusCallManager::toggleRecording(const std::string& callID)
{
return sflph_call_toggle_recording(callID);
return ring_call_toggle_recording(callID);
}
void DBusCallManager::setRecording(const std::string& callID)
{
sflph_call_set_recording(callID);
ring_call_set_recording(callID);
}
void DBusCallManager::recordPlaybackSeek(const double& value)
{
sflph_call_record_playback_seek(value);
ring_call_record_playback_seek(value);
}
bool DBusCallManager::getIsRecording(const std::string& callID)
{
return sflph_call_is_recording(callID);
return ring_call_is_recording(callID);
}
std::string DBusCallManager::getCurrentAudioCodecName(const std::string& callID)
{
return sflph_call_get_current_audio_codec_name(callID);
return ring_call_get_current_audio_codec_name(callID);
}
void DBusCallManager::playDTMF(const std::string& key)
{
sflph_call_play_dtmf(key);
ring_call_play_dtmf(key);
}
void DBusCallManager::startTone(const int32_t& start, const int32_t& type)
{
sflph_call_start_tone(start, type);
ring_call_start_tone(start, type);
}
void DBusCallManager::setSASVerified(const std::string& callID)
{
sflph_call_set_sas_verified(callID);
ring_call_set_sas_verified(callID);
}
void DBusCallManager::resetSASVerified(const std::string& callID)
{
sflph_call_reset_sas_verified(callID);
ring_call_reset_sas_verified(callID);
}