kakailio官网推荐的安装流程ubuntu 22.04
https://kamailio.org/docs/tutorials/6.0.x/kamailio-install-guide-git/
# 非必须项
wget -O- https://deb.kamailio.org/kamailiodebkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/kamailio.gpg
在/etc/apt/sources.list文件追加以下内容
deb [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 stretch main
deb-src [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 stretch maindeb [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 buster main
deb-src [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 buster maindeb [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 bullseye main
deb-src [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 bullseye maindeb [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 bookworm main
deb-src [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 bookworm maindeb [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 bionic main
deb-src [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 bionic maindeb [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 focal main
deb-src [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 focal maindeb [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 jammy main
deb-src [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 jammy maindeb [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 noble main
deb-src [signed-by=/usr/share/keyrings/kamailio.gpg] http://deb.kamailio.org/kamailio60 noble main
apt update
apt full-upgrade
apt install -y make autoconf pkg-config git gcc g++ flex bison \libssl-dev default-libmysqlclient-dev
mkdir -p /usr/local/src/kamailio-6.0
cd /usr/local/src/kamailio-6.0
git clone --depth 1 --branch 6.0 https://github.com/kamailio/kamailio kamailio
cd kamailio
make cfg PREFIX=/usr/local/kamailio
make all #make -j$(nproc) all
make install
make install-systemd-debian
部分模块需要的依赖
apt install libwolfssl-dev -y
apt install liblua5.3-dev -y # lua脚本
apt install libxml2-dev -y #cdp
apt install libhiredis-dev -y #cnxcc
apt install libevent-dev -y #cnxcc
apt install libldap2-dev -y #db2_ldap
apt install libsasl2-dev -y #db2_ldap
apt install unixodbc-dev -y #db_unixodbc
apt install libpcre2-dev -y #dialplan
# apt install libldns-dev -y # dnssec还需要validator 安装失败 暂时不加载
apt install -y erlang # enum
apt install libev-dev -y # evapi
apt install libgcrypt-dev -y #gcrypt
apt install libgeoip-dev -y # geoip
apt install libmaxminddb-dev -y #geoip2
apt install libcurl4-openssl-dev -y #http_async_client
apt install libmnl-dev # ims_ipsec_pcscf
apt install libjson-c-dev #json
apt install librabbitmq-dev -y
apt-get install uuid-dev #kazoo
apt install libsystemd-dev -y #log_systemd
apt install libwebsockets-dev -y #lwsc
apt install libmemcached-dev -y #memcached
apt install libmicrohttpd-dev -y #microhttpd
apt install libmosquitto-dev -y #mqtt
apt install libprotobuf-c-dev
apt install libphonenumber-dev -y #libphonenumber
git clone git@github.com:nats-io/nats.c.git . #nats
apt install libnghttp2-dev -y #nghttp2git clone https://github.com/miconda/ruxc
cd ruxc
make lib
make install
apt-get install libsctp-dev #sctp
# secsipid_proc
apt install libsnmp-dev -y #snmpstats
apt install libpcre2-dev -y #dialplan
#stirshaken
# tlsa
git submodule update --init --recursive
已经安装加载的包
acc_diameter,drouting,log_custom,pua_reginfostatsd,acc_json,enum,log_systemd,pua_rpcstun,acc,erlang,lost,pua,sworker,alias_db,evapi,lrkproxy,pua_usrlocsystemdops,app_jsdt,evrexec,lwsc,pua_xmpptcpops,app_lua,exec,mangler,p_usrloctextops,async,file_out,math,pv_headerstextopsx,auth_db,gcrypt,matrix,pv,timer,auth_diametergeoip2,maxfwd,pvtpl,tlsa,auth_ephemeralgeoip,mediaproxy,qos,tls,auth,group,memcached,rabbitmqtls_wolfssl,auth_xkeysgzcompress,microhttpd,ratelimittmrec,avpops,h350,misctest,regex,tm,avp,htable,mohqueue,registrartmx,benchmarkhttp_async_clientmqtt,rls,topoh,
blst,http_client,mqueue,rr,topos_htable,call_controlimc,msilo,rtimertopos_redis,call_obj,ims_auth,msrp,rtjsontopos,arrierrouteims_charging,mtree,rtpenginetsilo,cdp_avp,ims_dalog,nathelper,rtpproxyuac_redirect,cdp,ims_diameter_servernats,ruxc,uac,cfg_db,ims_icscf,nat_traversal,sanityuid_auth_db,cfg_rpc,ims_ipsec_pcscfndb_redis,sca,uid_avp_db,cfgtims_isc,nghttp2,sctp,uid_domain,cfgutils,ims_ocs,nosip,sdpopsuid_gflags,cnxcc,ims_qos_npn,outbound,seas,uid_uri_db,corex,ims_qos,path,secfilteruri_db,counters,ims_registrar_pcscfpdb,secsipiduserblocklist,cplc,ims_registrar_scscfpdt,sipcaptureusrloc,crypto,ims_usrloc_pcscfpermissions,sipdumputils,ctl,ims_usrloc_scscfphonenum,sipjsonuuid,db2_ldap,ifluxdbc,pike,siprepowebsocket,db2_ops,ipops,pipelimit,siptracexcap_clent,db_clusterjanssonrpcc,posops,sipt,xcap_server,db_flatstorejansson,prefix_route,siputilsxhttp_pi,db_mysql,jsonrpcc,presence_conferenceslack,xhttp_prom,db_redis,jsonrpcs,presence_dfks,sl,xhttp_rpc,db_text,json,presence_dialoginfosmsopsxhttp,db_unixodbcjwt,presence_mwi,sms,xlog,debugger,kafka,presence_profilesnmpstatsxmlops,dialog,kazoo,presence_reginfospeeddialxmlrpc,dialplan,keepalive,presence,sqlopsxmpp,dispatcherkemix,presence_xml,ss7opsxprint,diversionkex,pua_bla,sst,domainpolicylcr,pua_dialoginfostatistics,domain,ldap,pua_json,statsc
加载失败的模块
stirshaken secsipid_proc rtp_media_server peering nsq ndb_mongodb ndb_cassandra dnssec dlgs dmq dmq_usrloc db_oracle db_sqlite db_perlvdb db_postgres db_berkeley db_cassandra db_mongodb app_java app_perl app_python app_python3 app_python3s app_ruby app_ruby_proc acc_radius auth_radius misc_radius $(skip_modules)
需要通过git编译的模块
# acc_json
https://github.com/akheron/jansson.git
报错 -- Could NOT find Sphinx (missing: Sphinx-build_EXECUTABLE Sphinx_VERSION_STRING)
CMake Warning at CMakeLists.txt:370 (message):Sphinx not found. Cannot generate documentation!Set -DJANSSON_BUILD_DOCS=OFF to get rid of this message.-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/kamailio-6.0/jansson/build
解决方案
apt-get install python3-sphinx#jwt.so libjwt - 最低版本 1.12.0。# https://github.com/benmcollins/libjwt/archive/refs/tags/v1.12.0.tar.gz
https://github.com/benmcollins/libjwt/archive/refs/tags/v1.12.1.tar.gzCMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):The package name passed to `find_package_handle_standard_args` (LibJansson)does not match the name of the calling package (Jansson). This can lead toproblems in calling code that expects `find_package` result variables(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):cmake/FindJansson.cmake:25 (find_package_handle_standard_args)libjwt/CMakeLists.txt:46 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.有以上警告可以不用理会#kafka.so
# 据报道,像 1.1.0 这样的旧 librdkafka 版本可以工作。 较新的版本应该可以正常工作(例如:版本 1.2.2-RC1 也可以正常工作) https://github.com/edenhill/librdkafka/releases
https://github.com/confluentinc/librdkafka/archive/refs/tags/v1.2.2-RC1.tar.gzdisabling linker-script since python is not available
#如果还没有安装 Python,可以忽略该警告,因为它只是影响某些特性或功能的生成,并不会影响核心功能#nats.so
https://github.com/nats-io/nats.c/archive/refs/tags/v3.9.2.tar.gz##ruxc
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.bashrc
source $HOME/.cargo/env
git clone https://github.com/miconda/ruxc
cd ruxc
make lib
make installLD (gcc) [M tlsa.so] tlsa.so
sources = tls_cfg.c tls_config.c tls_ct_wrq.c tls_domain.c tls_init.c tls_rpc.c tls_select.c tls_server.c tls_util.c tls_verify.c tls_wolfssl_mod.c , auto_gen = , objs = tls_cfg.o tls_config.o tls_ct_wrq.o tls_domain.o tls_init.o tls_rpc.o tls_select.o tls_server.o tls_util.o tls_verify.o tls_wolfssl_mod.o
sources = tls_cfg.c tls_config.c tls_ct_wrq.c tls_domain.c tls_init.c tls_rpc.c tls_select.c tls_server.c tls_util.c tls_verify.c tls_wolfssl_mod.c , auto_gen = , objs = tls_cfg.o tls_config.o tls_ct_wrq.o tls_domain.o tls_init.o tls_rpc.o tls_select.o tls_server.o tls_util.o tls_verify.o tls_wolfssl_mod.o
/bin/sh: 3: ./autogen.sh: not found
env: ‘./configure’: No such file or directory
/bin/sh: 3: ./autogen.sh: not found
make[2]: *** [Makefile:28: ../../../misc/external/wolfssl/build/include/wolfssl/options.h] Error 127
make[2]: *** Waiting for unfinished jobs....
env: ‘./configure’: No such file or directory
make[2]: *** [Makefile:28: ../../../misc/external/wolfssl/build/lib/libwolfssl.a] Error 127
make[1]: *** [Makefile:509: modules] Error 1
make[1]: Leaving directory '/usr/local/src/kamailio-6.0/kamailio/src'
make: *** [Makefile:34: all] Error 2git submodule update --init --recursive
最终文件内容
# this file is autogenerated by make modules-cfg# the list of sub-directories with modules
modules_dirs:=modules# the list of module groups to compile
cfg_group_include=# the list of extra modules to compile
include_modules= # the list of static modules
static_modules= # the list of modules to skip from compile list
skip_modules= # the list of modules to exclude from compile list
exclude_modules= stirshaken secsipid_proc rtp_media_server peering nsq ndb_mongodb ndb_cassandra dnssec dlgs dmq dmq_usrloc db_oracle db_sqlite db_perlvdb db_postgres db_berkeley db_cassandra db_mongodb app_java app_perl app_python app_python3 app_python3s app_ruby app_ruby_proc acc_radius auth_radius misc_radius $(skip_modules)modules_all= $(filter-out modules/CVS modules/CMakeLists.txt, $(wildcard modules/*))
modules_noinc= $(filter-out $(addprefix modules/, $(exclude_modules) $(static_modules)), $(modules_all))
modules= $(filter-out $(modules_noinc), $(addprefix modules/, $(include_modules) )) $(modules_noinc)
modules_configured:=1
设置环境变量
echo 'export PATH=/usr/local/kamailio/sbin:$PATH' | sudo tee -a /etc/profile
source /etc/profile
备注
sudo apt-get install libwolfssl-dev
git clone --recursive https://github.com/wolfssl/wolfssl
cd wolfssl
./autogen.sh
./configure
make
sudo make install
sudo groupadd kamailio
sudo useradd -r -g kamailio -d /usr/local/kamailio -s /sbin/nologin kamailio
设置system管理及开机启动
/etc/systemd/system/kamailio.service > /dev/null <<EOF
[Unit]
Description=Kamailio SIP Server
After=network.target[Service]
Type=simple
User=kamailio
Group=kamailio
ExecStart=/usr/local/kamailio/sbin/kamailio -DD -P /var/run/kamailio/kamailio.pid -f /usr/local/kamailio/etc/kamailio/kamailio.cfg
PIDFile=/var/run/kamailio/kamailio.pid
RuntimeDirectory=kamailio
RuntimeDirectoryMode=0755
LimitNOFILE=65536[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start kamailio
systemctl enable kamailio
相关文章:
kakailio官网推荐的安装流程ubuntu 22.04
https://kamailio.org/docs/tutorials/6.0.x/kamailio-install-guide-git/ # 非必须项 wget -O- https://deb.kamailio.org/kamailiodebkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/kamailio.gpg在/etc/apt/sources.list文件追加以下内容 deb [signed-by/usr/sh…...

DeepSeek:全栈开发者视角下的AI革命者
目录 DeepSeek:全栈开发者视角下的AI革命者 写在前面 一、DeepSeek的诞生与定位 二、DeepSeek技术架构的颠覆性突破 1、解构算力霸权:从MoE架构到内存革命 2、多模态扩展的技术纵深 3、算法范式的升维重构 4、重构AI竞争规则 三、…...

协同探索与导航文献整理
文章目录 1.SOAR:异构无人机协同探索与拍摄以实现快速自主重建2. RACER: 一种使用分散式无人机群进行快速协同探索的方法3. 使用协作式纳米无人机在非结构化环境中进行最小感知探索4.GVP-MREP:通过动态拓扑图上的 Voronoi 分区进行快速且通信高效的多无人机探索5.森林的快速多无…...

C#结合html2canvas生成切割图片并导出到PDF
目录 需求 开发运行环境 实现 生成HTML范例片断 HTML元素转BASE64 BASE64转图片 切割长图片 生成PDF文件 小结 需求 html2canvas 是一个 JavaScript 库,它可以把任意一个网页中的元素(包括整个网页)绘制到指定的 canvas 中…...

AI安全最佳实践:AI云原生开发安全评估矩阵(上)
保护生成式 AI:生成式 AI 安全范围矩阵简介 生成式人工智能(生成式 AI)正在吸引各大企业的关注,并在全球各行各业中重塑客户体验。这一 AI 能力的飞跃,由数十亿参数的大语言模型(LLM)和Transfo…...
[ Spring ] Spring Boot Mybatis++ 2025
文章目录 StructureMyBatis Controller AbilitiesConfigure Plugins and RepositoriesApply Plugins and Add DependenciesMyBatis Spring PropertiesMyBatis ApplicationMyBatis BeansMyBatis MapperMyBatis Query Builder Structure this blog introduce 3 ways using mybat…...

JAVAweb学习日记(九) MySQL-事务索引
一、事务-介绍 示例代码: 二、事务-四大特性 三、索引-介绍 无索引:全表扫描(对应字段逐一比较) 有索引:根据索引结构高效获取数据 优缺点: 四、索引-结构 五、索引-操作语法...

企业加密软件(天锐绿盾)
天锐绿盾是一款功能强大的企业加密软件,以下是对其的详细介绍: 一、产品概述 天锐绿盾(又名绿盾信息安全管理软件),专注于企业数据防泄密,致力于为企业提供全方位的数据安全保障。其官网为www.drhchina.c…...
Python实现监督学习与无监督学习
在机器学习中,算法被广泛应用于解决实际问题。监督学习与无监督学习是其中两种重要的学习范式。监督学习通过已标注的数据进行训练,目标是学会预测未知数据的标签。而无监督学习不需要数据的标签,它专注于数据的结构和模式,通常用于聚类或降维等任务。 本教程的目标是帮助…...

Python网络自动化运维---批量登录设备
文章目录 目录 文章目录 前言 实验准备 一.批量登录 IP 连续的设备 1.1.1 实验代码 1.1.2 代码分段分解 1.1.3 实验结果验证 二.批量登录 IP 不连续的设备 2.2.1 实验代码 2.2.2 代码分段分解 2.2.3 实验结果验证 前言 在生产环境中,我们通常需要登录多个设备…...

如何抓取酒店列表: 揭开秘密
搜索酒店列表是一种强大的工具,可以从各种在线资源中收集有关住宿、价格和可用性的综合数据。无论您是要比较价格、分析市场趋势,还是要创建个性化的旅行计划,搜索都能让您有效地汇编所需的信息。在本文中,我们将介绍如何搜索酒店…...

day32-文件共享服务ftp与smb
文件共享服务方案有很多,了解即可 ftp(简单文件传输服务) 提供用户认证机制 可以输入账号密码 python -m SimpleHTTPServer nginx也提供了文件下载的功能 提供用户认证机制 反向代理,负载均衡 web服务器,静态文件…...

快速傅里叶离散变换FFT (更新中)
声明:参考了 y y c yyc yyc 的 blog 和 PPT (from smwc) ,以及 w z r wzr wzr 的 blog 。 目录 Part 1 多项式Part 2 FFT概论Part 3 点值与插值Part 4 复数,单位根Part 5 Part 1 多项式 定义:对于有限数列 A 0 A_{0} A0~ n…...
【从零开始入门unity游戏开发之——C#篇48】C#补充知识点——静态导入、异常捕获和异常筛选器、nameof运算符
考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的…...

8.PPT:小李-第二次世界大战【21】
目录 NO123 NO4567 NO8\9\10\11 图片→格式→大小对话框→锁定纵横比✔动画→飞入→效果选项:方向/序列→开始→持续时间→延迟时间持续时间:1s延迟:0.5s音频剪切时间:0.5s:00:00.500自动换片时间设置&…...
企业百科和品牌百科创建技巧
很多人比较困惑,创建百科词条需要注意哪些事情?为什么参考提交了权威新闻参考资料还是没有通过,下面小马识途营销顾问就为大家解答疑惑: 1、品牌词以及企业词提交 1)如果没有词条,我们可以通过平台提供的急…...

搭建集成开发环境PyCharm
1.下载安装Python(建议下载并安装3.9.x) https://www.python.org/downloads/windows/ 要注意勾选“Add Python 3.9 to PATH”复选框,表示将Python的路径增加到环境变量中 2.安装集成开发环境Pycharm http://www.jetbrains.com/pycharm/…...

【Rust自学】16.4. 通过Send和Sync trait来扩展并发
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 16.4.1. Send和Sync trait Rust语言本身的并发特性较少,目前所提及的并发特性都来自于标准库,而不是语言本身。其…...

2025年02月05日Github流行趋势
项目名称:OCRmyPDF 项目地址url:https://github.com/ocrmypdf/OCRmyPDF项目语言:Python历史star数:15872今日star数:157项目维护者:jbarlow83, fritz-hh, apps/dependabot, mawi12345, mara004项目简介&…...
拉取本地的 Docker 镜像的三种方法
方法 1:通过 docker save 和 docker load 导出和导入镜像 在本地服务器上导出镜像: 使用 docker save 将镜像保存为一个 .tar 文件: docker save -o mysql-5.7.tar mysql:5.7 将镜像文件传输到其他服务器: 你可以通过 scp 或其他…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...