linphone win32 SDK在桌面运用(Qt5、C#等)使用教程

学习之章_QT即时通信(LinPop) 项目来源及背景:利用Qt开发一款运行于linux下的IM(即时通信)软件,可以实现局域网内任意两台电脑之间的信息发送和接收,也可作为支持200人中小型规模的企业,企业信息平台中的一个组件及功能存在。需要针对企业情况,考虑项目的实现框架结构及相关程序的服务支撑度及稳定性,尤其需要对程序的容错有一定考虑。     项目要求:                   0、接受局域网上 阅读详情

qml测试地址https://github.com/yuexiajiayan/qt-linphone

环境:

本文用qt5、 LIBLINPHONE-SDK-4.1.1-WIN32.ZIP (下载地址http://www.linphone.org/technical-corner/liblinphone)

自己去编译个也行  下载地址 https://gitlab.linphone.org/BC/public/linphone-sdk

git clone https://gitlab.linphone.org/BC/public/linphone-sdk.git --recursive

创建一个vs qt 项目在项目种导入头文件和lib   dll考到exe 运行目录下

(你要觉得麻烦或难解决错误可到https://item.taobao.com/item.htm?id=592349919838获取源码。源码功能性更好、更完善。群q群:261074724)

在sdk文件夹share下有文档  文档很重要  

另外的参考https://www.linphone.org/snapshots/docs/liblinphone/multilang/index.html 写

1.初始化的时候:

    //linphone
    LinphoneFactory *factory = linphone_factory_get();
    LinphoneCoreCbs *cbs = linphone_factory_create_core_cbs(factory);
    linphone_core_cbs_set_call_state_changed(cbs, call_state_changed);
    linphone_core_cbs_set_registration_state_changed(cbs, registration_state_changed);
    linphone_core_cbs_set_user_data(cbs, &ui ); 
    LinphoneConfig*config = linphone_config_new_with_factory("linphonerc", "linphonerc-factory");
    lc = linphone_factory_create_core_with_config(factory, cbs, config);
    linphone_core_cbs_ref(cbs);
    linphone_core_reload_ms_plugins(lc, NULL);
    linphone_core_set_user_agent(lc, "mylinphone", linphone_core_get_version());

上面的两个文件可以到源码种去找

2.

LinphoneProxyConfig* proxy_cfg;
    LinphoneAddress *from;
    const char* identity = "sip:1010@ip";/* takes   sip uri  identity from the command line arguments */
    const char* password = "h12345"; 
    //
    
    //remove all 

    proxy_cfg = linphone_core_create_proxy_config(lc);
    from = linphone_address_new(identity);

    LinphoneAuthInfo *authinfo = linphone_auth_info_new("1010", "1010", password, NULL, NULL, "ip");
    linphone_core_add_auth_info(lc, authinfo);
    linphone_auth_info_unref(authinfo);    //sifang

    linphone_proxy_config_set_identity_address(proxy_cfg, from);
    linphone_proxy_config_set_server_addr(proxy_cfg, identity);

    linphone_proxy_config_edit(proxy_cfg);
    linphone_proxy_config_enable_publish(proxy_cfg, TRUE);
    linphone_proxy_config_enable_register(proxy_cfg, TRUE); 
    linphone_proxy_config_done(proxy_cfg);

    linphone_address_unref(from);    //sifang

    linphone_core_add_proxy_config(lc, proxy_cfg);
    linphone_core_set_default_proxy_config(lc, proxy_cfg);

    linphone_proxy_config_unref(proxy_cfg);    //sifang

3.创建一个线程一直while运行 注册成功后回有信息返回

    linphone_core_iterate(lc); 
    ms_usleep(50000);//

4.呼叫

num = "sip:" +num+"@ip"; 
    const char* url = str.c_str();
    LinphoneCall *curentcall = linphone_core_get_current_call(lc);
    if (NULL == curentcall) {
        LinphoneCall *call=linphone_core_invite(lc, url);
        linphone_call_ref(call);
 }

5。接听

 LinphoneCall *curentcall = linphone_core_get_current_call(lc);
if (NULL != curentcall) { 

    linphone_call_accept(curentcall);

}

c# 使用参考https://blog.youkuaiyun.com/Java_lilin/article/details/106311843

交流群:261074724 

LinPhone-SDK编译环境搭建以及初步编译(win10系统)(一) 最近准备折腾下开源的sip通信客户端项目,打算编译下开源项目LinPhone-SDK,以备在win10系统中使用C#开发一款sip客户端,现在做下整理,准备开发环境搭建。 LinPhone-SDK项目代码地址为:LinPhone-SDK,使用git克隆后,需要更新子模块。 需要安装一下环境: MinGW cmake-3.15.5 GetGnuWin32 JDK NASM doxygen Python27(因为我要生成C#的封装类,所以使用2.7) Pystache (use pip i. 阅读详情

相关推荐

Linphone开源VoIP软件深度学习与实战指南

本文还有配套的精品资源,点击获取 简介:Linphone是一款开源的VoIP软件,支持音频和视频通话功能,并基于SIP标准构建跨平台通信解决方案。用户可通过探索linphone源代码、文档和资源文件来深入了解其架构,同时学习网络通信技术。Linphone for Linux特别支持Linux平台,提供详细的配置脚本、资源文件和测试用例,旨在帮助开发者定制化开发和学习网络通信...

weixin_30632267的博客 2281

Linphone的简单使用

输入SIP账号、SIP密码、SIP域名:端口即可,进去就是一个拨号界面,键入要呼叫的好分机号,对方接通后就可以通话了,同时有视频的话视频也会同步显示出来。使用的软电话是一个叫做Linphone的软件,首先拿到的是一个安装版的,感觉用不了几次,就没有安装,后来看到还有一个用QT编写的绿色版,就使用了该版本。安装H264编码有遇到问题了,总是提示下载不成功,可以找我要openh264.dll,放到plugins目录下就可以了。点击“好”,即可看到分机在注册,注册成功后,左上角现在绿色状态。

linuxghs的专栏 9850

LibLinphone-sdk封装库C#

将linphone-sdk-4.4.21封装成C#调用的库,压缩包内有一个winform、winconsole的demo

Linphone相关

如何在一个c语言工程里面加入qt界面?(改写linphone界面) https://bbs.youkuaiyun.com/topics/350076320 提供了如何将Linphone和Qt界面连起来的思路,值得注意的是Linphone的界面是用C+Gtk做的,直接更改成Qt界面会很麻烦,思路很重要看要选择哪一种。 ...

胡说八道 288

Linphone学习文档

最近学习Linphone的代码,分享一篇文档,文档里列出了Linphone里的主线、代码分析、函数调用过程

基于Qt的嵌入式Linux IP电话Linphone

4. 嵌入式开发平台搭建 5 4.1. 硬件平台搭建 5 4.2. 软件平台搭建 5 4.2.1. 安装交叉编译工具链 5 4.2.2. vivi移植 6 4.2.3. Linux内核剪裁与移植 6 4.2.4. yaffs文件系统制作 8 4.2.5. QT/E库使用 8 4.2.6. NFS挂载介绍 10 5. IP电话系统设计与实现 12 5.1. 系统实现的功能和特点 12 5.2. 通信功能的设计与实现 13 5.2.1. Linphone库的移植 13 5.2.2. 通信功能实现 15 5.3. 图形界面的设计与实现 17

linphone-sdk windows10 Qt5.13.0-qtcreater demo

linphone-sdk windows10 Qt5.13.0 开发 1.引用c静态lib库 bctoolbox、liblinphone、ortp、mediastreamer 2.添加引用include 3.定义结构体 struct PhoneS{ QString myExtension ; QString myPassword ; QString myDomain ; QString myDisplay; bool isRecord=0; bool_t running=1; FILE* myfile;//

u012156132的博客 1141

S7-1200与KINCO伺服通信实战:CM CANopen模块配置避坑指南(附完整PDO映射表)

本文详细解析了西门子S7-1200 PLC通过CM CANopen模块与KINCO伺服驱动器的通信配置全流程,重点解决PDO映射混乱、心跳报文配置错误等常见问题。提供硬件组态、参数设置、PDO映射模板及故障排查方案,助力工业自动化系统实现稳定高效的多轴运动控制。

2y3u4i5o6p的博客 1097

linphone编译完整版

Linphone -desktop编译完整版   先上图,成功之后会生成linphone的QT应用打开界面如图:       在编译的时候加入 -DENABLE_CSHARP_WRAPPER=YES可以在如图位置生成c#调用库的SDK 需要的可以在下面链接处下载使用: http://download.youkuaiyun.com/download/liuliu0322/10197158  

奔跑的艾斯的博客 3168

人工势场法三大致命缺陷?我用ROS+Gazebo做了组对比实验

本文通过ROS与Gazebo仿真实验,深入剖析了人工势场法(APF)在机器人路径规划中的三大经典问题:局部最小值、目标不可达和路径震荡。文章不仅复现了这些缺陷,还对比测试了虚拟目标点法、改进斥力场及运动平滑等主流改进方案,为工程选型提供了基于数据的实用建议。

dapp9builder的博客 215

ISO 26262中的失效率计算:Mission profile的使用

Mission profile:任务剖面,即产品在完成规定任务这段时间内所经历的时间和环境的时序描述;集成电路在工作时环境温度是在不停变化的,同时也存在运行状态和非运行状态;为此标准提出了根据任务剖面(Mission profile)以及集成电路的实际结温来评估热幅度变化、循环温度幅值等因素的影响;汽车电子元器件相关的Mission profile参考IEC TR 62380:Table 11。

weixin_47071127的博客 4807

Window11编译linphone-sdk QT5.15 在QML中进行视频通话

比如你要开启h264模块,且路径sdk的路径为 ../linphone-sdk则编译输入以下命令 (打开控制台输入)

Jackxlike的博客 2156

ROS2多线程处理RTSP视频流避坑指南:OpenCV解码丢帧问题解决方案

本文针对ROS2中处理RTSP视频流时OpenCV解码丢帧的常见问题,提供了专业的解决方案。通过深入分析单线程模型的瓶颈,提出并详细拆解了基于生产者-消费者多线程模型的健壮实现方案,有效分离数据采集与处理,从而显著提升视频流的稳定性和流畅度。

weixin_29199873的博客 167

ubuntu 22.04编译安装linphone-desktop 4.5.0-alpha版本

unbuntu 22.04编译linphone最新版本

crazymegic的博客 5387

DeepSeek掘金——用DeepSeek模型构建AI 代理

在本综合指南中,我们将探讨如何利用 DeepSeek 的功能构建能够以有意义的方式理解、推理和交互的复杂 AI 代理。人工智能领域正在迅速发展,DeepSeek 的模型代表了智能 AI 代理开发的重大进步。在本综合指南中,我们将探讨如何利用 DeepSeek 的功能构建能够以有意义的方式理解、推理和交互的复杂 AI 代理。

3856

AI Agent开发第82课-手把手教你把paddleocr-vl做成mcp使其在DIFY里运行

本文详解如何将国产顶尖多模态 OCR 模型 PaddleOCR-VL 封装为标准 MCP(Model Calling Protocol)服务,并通过自研的 HTTP-based MCP Client 接入 Dify 1.10,实现 AI Agent 在对话中自动识别并调用 OCR 能力。该方案已在某头部保险公司真实业务流程中落地,使用了当前最先进的“Agentic AI 原生”设计思想。

打造全国最全的AI Agent开发知识领域的博客 1624

【亲测免费】 推荐开源项目:Linphone 桌面版——免费的SIP协议软电话应用

推荐开源项目:Linphone 桌面版——免费的SIP协议软电话应用 1、项目介绍 Linphone 桌面版是一款基于SIP协议的免费VoIP(Voice over Internet Protocol)和视频通话软件。它的设计目标是为用户提供便捷、高效的跨平台通信体验。借助于Qt库的强大功能,林phone支持多种操作系统,包括Windows、macOS和GNU/Linux。 2、项目技术分析 林...

gitblog_00022的博客 1445

基于YOLOv8深度学习的夜视行人检测系统:UI界面 + YOLOv8 + 数据集的实现

为了解决这一问题,基于深度学习的行人检测技术,尤其是YOLO(You Only Look Once)系列算法,成为了一个有效的解决方案。本文将详细介绍如何构建一个夜视行人检测系统,利用YOLOv8模型实现高效的行人检测,并设计用户友好的界面以便于使用。本博客详细介绍了如何构建一个基于深度学习的夜视行人检测系统,包括数据准备、YOLOv8模型训练、用户界面设计和实时监控模块的实现。为了将数据集转换为YOLO格式,我们需要确保每个图像文件都有一个对应的标签文件,标签文件中包含行人的边界框信息。

YOLO 1172

基于linphone android sdk 的voip语音、视频通话 教程一、注册

如果觉得下面的麻烦可以直接到https://item.taobao.com/item.htm?id=587133228080获取源码。源码功能性更好、更完善。 想测试apk请加群261074724 最新的sdk4教程地址https://blog.youkuaiyun.com/Java_lilin/article/details/84842314 linphone桌面版教程https://bl...

Java_lilin的专栏 2万+

CT探测器普遍采用“星形拓扑+多ADC模组”架构的TDC(时间数字转换器)设计方案

本文提出一种基于TDC反馈机制的CT探测器时钟同步方法,通过延时测量、偏差计算和动态补偿三步硬件流水线,实现高精度同步。系统采用Xilinx Kintex UltraScale FPGA内置CARRY8进位链构建3.5ps分辨率的TDC,结合多级比较器和延迟单元,形成闭环反馈控制。实验表明,在512通道、1.28m传输距离下,同步精度稳定在10ps以内,较传统方案提升两个数量级,并能动态补偿干扰抖动。该方案解决了传统方法在CT旋转腔体环境下精度不足的问题,为下一代超高清CT提供了有效的时钟同步解决方案。

whm128的博客 274

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

linphone c# (基于libnphone sdk ) 开发搭建

1、下载https://gitlab.linphone.org/BC/public/linphone-sdk源码 git clone https://gitlab.linphone.org/BC/public/linphone-sdk.git --recursive 需要在执行cmake时候加上-DENABLE_CSHARP_WRAPPER=ON (c#包装类) 成功后在build 目录linphone-sdk\desktop\share\linphonecs 有个LinphoneWrapp..

Java_lilin的专栏 3252

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

关于 linphone的编译问题

前几年发表了下面这篇文,linphone在windows10下编译成功的方法。 https://blog.youkuaiyun.com/qq_33529095/article/details/80914391?spm=1001.2014.3001.5501 看到有些同行还有些疑问,我翻了翻当时的工程,把一些东西拿出来和大家分享。 下面是在 Ubuntu系统下编译的过程。 编译linphone-android V4.1.1,步骤如下 安装Ubuntu 18-Desk,创建sa用户,Root用户密码改为1..

qq_33529095的博客 483

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

linphone安装和使用教程

刚刚搞通linphone,终于能连上sip.linphone.org了,中间过程太心酸了。 一开始下载了linphone,申请了免费了linphone帐号,却不会填帐号密码,以致一直连不上服务器。 后来有开始在自己电脑上装SIP服务器,装的是opensips,又折腾了2天,服务器也没装成功(毅种循环)。 后来google到了windows上面的sip server 2008 + x-lite

5万+

windows编译新版本linphone

​​​​​​​linphone-desktop是一款基于SIP的标准开源网络电话系统,它使用了Qt和mediastreamer2开源多媒体库,支持大部分音视频格式,包括H263和H264等。linphone-desktop允许用户通过互联网与他人进行语音、视频和即时文本消息的沟通。它能够通过查询朋友的IP地址并进行拨号,功能强大且支持多种平台,既可以在桌面系统上使用,也可以在移动设备上使用,甚至支持WEB浏览器。linphone-desktop遵循GPL开放源代码协议,可以自由下载和二次开发。

CHNIM的博客 2102
上一篇: freeswitch 使用sipjs 、jssip webrtc网页音视频通话
下一篇: PJSIP 2.8 android 8 pjsua2编译、运行教程
java_lilin
博客等级 码龄14年 364粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值