tis-linphone icon

Linphone

Paquet d’installation silencieuse pour Linphone

6.1.1-12
Messaging
Messaging

  • package: tis-linphone
  • name: Linphone
  • version: 6.1.1-12
  • categories: Messaging
  • maintainer: WAPT Team,Tranquil IT,Alexandre Gauvrit,Jimmy PELÉ
  • editor: Belledonne Communications
  • licence: opensource_free,cpe:/a:gnu:gpl_v3,wapt_private
  • locale: all
  • target_os: windows
  • impacted_process: linphone
  • architecture: x64
  • signature_date:
  • size: 174.10 Mo
  • installed_size: 317.66 Mo
  • homepage : https://www.linphone.org/

package           : tis-linphone
version           : 6.1.1-12
architecture      : x64
section           : base
priority          : optional
name              : Linphone
categories        : Messaging
maintainer        : WAPT Team,Tranquil IT,Alexandre Gauvrit,Jimmy PELÉ
description       : Linphone is an open source softphone for voice and video over IP calling and instant messaging. It is fully SIP-based, for all calling, presence and IM features
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://www.linphone.org/technical-corner/linphone
installed_size    : 317656975
impacted_process  : linphone
description_fr    : Linphone est un softphone open source pour les appels vocaux et vidéo sur IP et la messagerie instantanée. Il est entièrement basé sur le protocole SIP, pour toutes les fonctions d'appel, de présence et de messagerie instantanée
description_pl    : Linphone to softphone o otwartym kodzie źródłowym do połączeń głosowych i wideo przez IP oraz komunikatorów internetowych. Jest w pełni oparty na protokole SIP dla wszystkich funkcji połączeń, obecności i wiadomości błyskawicznych
description_de    : Linphone ist ein Open-Source-Softphone für Sprach- und Videoanrufe über IP und Instant Messaging. Es ist vollständig SIP-basiert, für alle Anruf-, Präsenz- und IM-Funktionen
description_es    : Linphone es un softphone de código abierto para llamadas de voz y vídeo sobre IP y mensajería instantánea. Está totalmente basado en SIP, para todas las funciones de llamada, presencia y mensajería instantánea
description_pt    : O Linphone é um softphone de código aberto para chamadas de voz e vídeo sobre IP e mensagens instantâneas. É totalmente baseado em SIP, para todas as funcionalidades de chamada, presença e IM
description_it    : Linphone è un softphone open source per chiamate vocali e video su IP e messaggistica istantanea. È completamente basato su SIP, per tutte le funzioni di chiamata, presenza e messaggistica istantanea
description_nl    : Linphone is een open source softphone voor spraak en video over IP bellen en instant messaging. Het is volledig gebaseerd op SIP, voor alle functies voor bellen, aanwezigheid en IM
description_ru    : Linphone - это программный телефон с открытым исходным кодом для голосовых и видеовызовов по IP и обмена мгновенными сообщениями. Он полностью основан на протоколе SIP и обеспечивает все функции звонков, присутствия и обмена мгновенными сообщениями
audit_schedule    : 
editor            : Belledonne Communications
keywords          : 
licence           : opensource_free,cpe:/a:gnu:gpl_v3,wapt_private
homepage          : https://www.linphone.org/
package_uuid      : e03caf74-4c40-4098-900a-5818fe774344
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 73897b6f03daf2d4bbe00c4d1e75819b9b9f69415cae467997665ddcba080ea5
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2026-03-04T15:02:20.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : xIRHSLxeV3oYO5GeQJYuqgours4+diGiICdXa0i/dFuU4EVyi5LRwm29dMGWHwHggIeqHCZcNfxN6t2m9Vyz0UZckX1fY0R8M9nBPrOqOygyCWBdYGcdo1yzTIJRSJsb9AuWRFnLnIrYi8FXuTmz2uzcFRVrBM+b/e929DOBwPQsd0urQaTC5Y85K9BFshTtHBIIWtYa3YpDa24vTNX9cJtwQheyhEp0k4Jj9eIpJirE/2d0yrPRX+m1/1vP65NV/7k7p4EVCrSvnywRq9zHl9NiHbd1q3zap6FfuOr56PafKs9WX0ZP/+lCvIcILQemGua99Unq4LFqMtcDk+zitg==

# -*- coding: utf-8 -*-
from setuphelpers import *

r"""
{
    "key": "Linphone",
    "name": "Linphone",
    "version": "5.1.2",
    "install_date": "",
    "install_location": "",
    "uninstall_string": "C:\\Program Files\\Linphone\\Uninstall.exe",
    "publisher": "Belledonne Communications",
    "system_component": 0,
    "win64": false,
}

Name,Group,Profile,Enabled,Action,Override,Program,Local Address,Remote Address,Protocol,Local Port,Remote Port,Authorized Users,Authorized Computers,Authorized Local Principals,Local User Owner,PolicyAppId,Application Package,
Linphone - A libre SIP client,,Domain,Yes,Allow,No,C:\program files\linphone\bin\linphone.exe,Any,Any,UDP,Any,Any,Any,Any,Any,Any,None,Any,
Linphone - A libre SIP client,,Domain,Yes,Allow,No,C:\program files\linphone\bin\linphone.exe,Any,Any,TCP,Any,Any,Any,Any,Any,Any,None,Any,

"""


def get_version(app_registry_dict):
    app_dir = os.path.dirname(app_registry_dict['uninstall_string'])
    version = get_version_from_binary(makepath(app_dir, 'bin', 'linphone.exe'), property_name="FileVersion")
    return version


def install():
    # Declaring local variables
    bin_name = glob.glob("Linphone-*-win64.exe")[0]

    # Uninstall the older versions of the software  # it seems necessary for Linphone
    for to_uninstall in installed_softwares(uninstallkey="Linphone"):

        app_dir = os.path.dirname(to_uninstall['uninstall_string'])
        app_version = get_version_from_binary(makepath(app_dir, 'bin', 'linphone.exe'), property_name="FileVersion")

        if Version(app_version) < Version(control.get_software_version()) or force:
            print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
            killalltasks(ensure_list(control.impacted_process))
            run(uninstall_cmd(to_uninstall["key"]))
            wait_uninstallkey_absent(to_uninstall["key"])

    # Installing the software
    install_exe_if_needed(
        bin_name,
        silentflags="/S",
        key="Linphone",
        get_version=get_version,
        min_version=control.get_software_version(),
    )

    # Adding Firewall Rules
    app_path = makepath(os.path.dirname(installed_softwares(uninstallkey="Linphone")[0]["uninstall_string"]), "bin", "linphone.exe")
    remove_netfirewallrule("Linphone - A libre SIP client")
    add_netfirewallrule("Linphone - A libre SIP client", app_path, profile="Domain,Private", protocol="UDP")
    add_netfirewallrule("Linphone - A libre SIP client", app_path, profile="Domain,Private", protocol="TCP")


def uninstall():
    # Removing Firewall Rules
    remove_netfirewallrule("Linphone - A libre SIP client")

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import waptlicences


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name

    release = wgets(f'https://download.linphone.org/releases/{control.target_os}/RELEASE', proxies=proxies).decode('utf-8')
    version, download_url = release.split('\t')
    latest_bin = download_url.rsplit('/', 1)[-1]
    latest_bin_extension = download_url.rsplit('.', 1)[-1]

    # Downloading latest binaries
    print(f"Latest {app_name} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")

    expected_issuer = "Belledonne Communications"
    sign_name = waptlicences.check_exe_signing_certificate(latest_bin)[0]
    if sign_name != expected_issuer:
        error(f'Bad issuer {sign_name} != {expected_issuer} ')

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")

    for f in glob.glob(f'*.{latest_bin_extension}'):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated

8b0f6ccf48a83b3cd7e8d176546b8c80224b9d54f542bccddc1299489418f4e4 : Linphone-6.1.1-win64.exe
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
b96206c6212e6842417df1318cb984ab0220540319c9e6af908a0e206c973f13 : WAPT/control
73897b6f03daf2d4bbe00c4d1e75819b9b9f69415cae467997665ddcba080ea5 : WAPT/icon.png
93247a61fea14bddeb29f2794c32bfd39e9e7e425b433da243a64718e9833b57 : luti.json
c6171bcc0e522934af3863dcedad5c20df833257300fd00f7e6c0028d7a63861 : setup.py
efbae9ae3fff2e154817159de1047708ba429ae7e00735c4aec12d3efb8298d2 : update_package.py