diff --git a/test/sip/dring-sample.yml b/test/sip/dring-sample.yml new file mode 100644 index 0000000000000000000000000000000000000000..847d61a9e94e16a47cdfb9a274fc3e79b0f8c811 --- /dev/null +++ b/test/sip/dring-sample.yml @@ -0,0 +1,115 @@ +accounts: + - id: IP2IP + alias: IP2IP + enable: true + type: SIP + allCodecs: 1/2/3/4/5/6/7/8/9/10/11/ + mailbox: "" + autoAnswer: false + activeCallLimit: -1 + ringtoneEnabled: true + ringtonePath: /usr/share/ring/ringtones/default.wav + hasCustomUserAgent: false + useragent: Ring/3.0.0 + displayName: "" + hostname: "" + upnpEnabled: false + audioPortMax: 32766 + audioPortMin: 16384 + dtmfType: overrtp + interface: default + publishAddr: "" + publishPort: 5060 + sameasLocal: true + videoEnabled: true + videoPortMax: 65534 + videoPortMin: 49152 + stunEnabled: false + stunServer: "" + turnEnabled: false + turnServer: "" + turnServerUserName: "" + turnServerPassword: "" + turnServerRealm: "" + port: 5060 + username: "" + credential: + - Account.password: "" + Account.realm: "*" + Account.username: "" + keepAlive: false + presenceModuleEnabled: false + presencePublishSupported: false + presenceSubscribeSupported: false + registrationexpire: 60 + serviceRoute: "" + tls: + calist: "" + certificate: "" + password: "" + privateKey: "" + enable: false + tlsPort: 5061 + verifyClient: true + verifyServer: false + requireCertif: true + timeout: 2 + ciphers: "" + method: TLSv1 + server: "" + srtp: + keyExchange: "" + rtpFallback: false +preferences: + historyLimit: 0 + historyMaxCalls: 20 + md5Hash: false + order: IP2IP/ + portNum: 5060 + registrationexpire: 180 + searchBarDisplay: true + zoneToneChoice: North America +voipPreferences: + playDtmf: true + playTones: true + pulseLength: 250 + symmetric: true + zidFile: "" +hooks: + numberAddPrefix: "" + sipEnabled: false + urlCommand: x-www-browser + urlSipField: X-ring-url +audio: + alsa: + cardIn: 0 + cardOut: 0 + cardRing: 0 + plugin: default + smplRate: 44100 + alwaysRecording: false + audioApi: pulseaudio + automaticGainControl: false + captureMuted: false + noiseReduce: false + playbackMuted: false + pulse: + devicePlayback: "" + deviceRecord: "" + deviceRingtone: "" + recordPath: "" + volumeMic: 1 + volumeSpkr: 1 +video: + decodingAccelerated: true + devices: + - framerate: 30 + channel: Camera 1 + video_size: 960x540 + name: Integrated Camera +shortcuts: + hangUp: "" + pickUp: "" + popupWindow: "" + toggleHold: "" + togglePickupHangup: "" \ No newline at end of file diff --git a/test/sip/sip.cpp b/test/sip/sip.cpp index b89abb26163944c580a0b71370937cc8ee15ea9d..f3a6cd09564e0d64e0984faf6a3fa919fd81cfe0 100644 --- a/test/sip/sip.cpp +++ b/test/sip/sip.cpp @@ -1,6 +1,6 @@ /* - * Copyright (C) 2004-2013 Savoir-Faire Linux Inc. - * Author: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + * Copyright (C) 2017 Savoir-Faire Linux Inc. + * Author: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> * * 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 @@ -15,42 +15,46 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Additional permission under GNU GPL version 3 section 7: - * - * If you modify this program, or any covered work, by linking or - * combining it with the OpenSSL project's OpenSSL library (or a - * modified version of that library), containing parts covered by the - * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. - * grants you additional permission to convey the resulting work. - * Corresponding Source for a non-source form of such a combination - * shall include the source code for the parts of OpenSSL used as well - * as that of the covered work. */ -#include "test_SIP.h" -#include <cppunit/CompilerOutputter.h> -#include <cppunit/XmlOutputter.h> -#include <cppunit/extensions/TestFactoryRegistry.h> -#include <cppunit/ui/text/TextTestRunner.h> #include <cppunit/ui/text/TestRunner.h> +#include <cppunit/extensions/TestFactoryRegistry.h> +#include <cppunit/CompilerOutputter.h> + +#include "dring.h" + +#include <stdexcept> + +void init_daemon() +{ + DRing::init(DRing::InitFlag(DRing::DRING_FLAG_DEBUG | DRing::DRING_FLAG_CONSOLE_LOG)); + DRing::start("dring-sample.yml"); +} int main(int argc, char* argv[]) { + init_daemon(); + + CppUnit::TextUi::TestRunner runner; + + // Register all tests + auto& registry = CppUnit::TestFactoryRegistry::getRegistry(); + runner.addTest(registry.makeTest()); + + // Use a compiler error format outputter for results and output into stderr + runner.setOutputter(new CppUnit::CompilerOutputter(&runner.result(), std::cerr )); - // Get the top level suite from the registry - CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest(); + bool ret; - // Adds the test to the list of test to run - CppUnit::TextUi::TestRunner runner; - runner.addTest( suite ); + try { + // Run tests + ret = !runner.run("", false); + } catch (const std::exception& e) { + std::cerr << "Exception catched during tests: " << e.what() << '\n'; + ret = 1; + } - // Change the default outputter to a compiler error format outputter - runner.setOutputter( new CppUnit::CompilerOutputter( &runner.result(), - std::cerr ) ); - // Run the tests. - bool wasSucessful = runner.run(); + DRing::fini(); - // Return error code 1 if the one of test failed. - return wasSucessful ? 0 : 1; + return ret; }