当前位置: 首页 > news >正文

Docker部署Kamailio,并使用LinPhone实现网络通话

前提条件

准备一个路由器,一个服务器,两个终端设备(手机或电脑)

docker部署安装

我使用的是windows系统,docker desktop
在这里插入图片描述

  1. 先启动Docker desktop
  2. 打开cmd,输入docker命令
    docker run --name kamailio --rm -p 5060:5060/udp -p 5060:5060 kamailio/kamailio-ci:5.5.2-alpine -m 64 -M 8
    
  3. docker desktop 出现服务
    在这里插入图片描述
    点击kamailio蓝色链接进入命令窗口
    在这里插入图片描述
    输入ip ad查看docker内部的通信ip,此处为172.17.0.2需要记录下;
  4. 打开cmd窗口,输入ipconfig查看服务器ip地址,此处为192.168.101.3,记录下来;
    在这里插入图片描述
  5. 进入docker,输入vi /etc/kamailio/kamailio.cfg
    在这里插入图片描述
  6. 在第198行的位置,# listen=udp:10.0.0.10:5060的下面添加下述配置
    listen=udp:172.17.0.2:5060 advertise 192.168.101.3:5060
    listen=tcp:172.17.0.2:5060 advertise 192.168.101.3:5060
    
    在这里插入图片描述
  7. 重启kamailio服务,linux系统使用命令kamctl restart
    在这里插入图片描述
    看到日志打印出以下内容就ok了
    在这里插入图片描述

测试通话

下载linphone
在这里插入图片描述
注意:
安装启动后需要使用SIP注册

SIP服务器地址为服务器的IP+端口
在这里插入图片描述
配置如下:其中huawei为通讯录名称,可自定义,用英文表示,2001为类似电话号码的标识,使用UDP连接
在这里插入图片描述
在通话前,若是手机使用linphone,请打开所有权限,否则可能无法通话
在这里插入图片描述

如:手机拨号,电脑接收
在这里插入图片描述

在这里插入图片描述

docker打印日志信息

2024-10-17 09:50:48  6(12) NOTICE: {2 21 BYE i38Gtrj2yW} acc [acc.c:287]: acc_log_request(): ACC: transaction answered: timestamp=1729129848;method=BYE;from_tag=vIJoyK0Gy;to_tag=~1J9Ivd;call_id=i38Gtrj2yW;code=200;reason=Ok;src_user=2001;src_domain=192.168.101.3;src_ip=172.17.0.1;dst_ouser=3001;dst_user=3001;dst_domain=172.17.0.1
2024-10-17 09:50:49  9(15) NOTICE: acc [acc.c:287]: acc_log_request(): ACC: transaction answered: timestamp=1729129849;method=BYE;from_tag=P-1Em8X;to_tag=QtdzOiA9k;call_id=-P67zRGwqK;code=408;reason=Request Timeout;src_user=3001;src_domain=192.168.101.3;src_ip=172.17.0.1;dst_ouser=2001;dst_user=2001;dst_domain=172.17.0.1

PS:要是通话不稳定,打不通,切换为TCP连接试试

参考连接http://www.kamailio.org.cn/blog/2022/06/beginners-guide/

http://www.lryc.cn/news/466730.html

相关文章:

  • JAVA-石头迷阵小游戏
  • 鸿蒙--进度条通知
  • 搜维尔科技:varjo xr-4开箱测评,工业用途头显,一流视觉保真度
  • mysql数据量分库分表
  • Vite创建Vue3项目以及Vue3相关基础知识
  • Elasticsearch封装公共索引增删改查
  • Python异常检测:Isolation Forest与局部异常因子(LOF)详解
  • Git的原理和使用(二)
  • docker 发布镜像
  • 投了15亿美元,芯片创新公司Ampere为何成了Oracle真爱?
  • vue 报告标题时间来自 elementUI的 el-date-picker 有开始时间和结束时间
  • 简单几何问题的通解
  • DBeaver导出数据表结构和数据,导入到另一个环境数据库进行数据更新
  • 【Golang】合理运用泛型,简化开发流程
  • OpenCV单目相机内参标定C++
  • 基于MATLAB(DCT DWT)
  • 渗透基础-rcube_webmail版本探测
  • linux下编译鸿蒙版boost库
  • 滚雪球学Redis[6.3讲]:Redis分布式锁的实战指南:从基础到Redlock算法
  • springboot二手汽车交易平台-计算机毕业设计源码82053
  • typescript 中的类型推断
  • linux 隐藏文件
  • 【网络协议栈】Tcp协议(上)结构的解析 和 Tcp中的滑动窗口(32位确认序号、32位序号、4位首部长度、6位标记位、16为窗口大小、16位紧急指针)
  • 手表玻璃盖板视觉贴合
  • 电信和互联网行业数据安全评估师CCRC-DSA人才强基计划
  • MQTTnet 4.3.7.1207 (最新版)使用体验,做成在线客服聊天功能,实现Cefsharp的物联的功能(如远程打开新网址)
  • 将java项目jar包打包成exe服务
  • Django请求响应对象
  • DevExpress中文教程 - 如何在静态SSR模式下使用Blazor Drawer组件?
  • 商汤科技十周年公布新战略,将无缝集成算力、模型及应用