手工创建 postgres kamailio 数据库
测试环境如下:
postgres server 16: ip 地址为 192.168.31.100,用户 postgres 的密码为 ******
kamailio v5.7.5: ip 地址为 192.168.31.101
1.1. 创建 kamailio 用户和 kamailio 数据库
ssh 登陆 kamailio (192.168.31.101),执行下面命令:
psql -U postgres -h 192.168.31.100 -c "CREATE USER kamailio WITH PASSWORD 'kamailio'"
psql -U postgres -h 192.168.31.100 -c "CREATE DATABASE kamailio OWNER kamailio"
1.2. 创建 kamailio 相关的表以及索引等
echo '192.168.31.100:5432:kamailio:kamailio:kamailio' > ~/.pgpass
chmod 0600 ~/.pgpass
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/standard-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/acc-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/alias_db-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/auth_db-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/avpops-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/carrierroute-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/cpl-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/dialog-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/dialplan-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/dispatcher-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/domain-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/domainpolicy-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/drouting-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/group-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/htable-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/lcr-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/matrix-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/mohqueue-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/msilo-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/mtree-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/pdt-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/permissions-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/pipelimit-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/presence-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/purple-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/registrar-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/rls-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/rtpengine-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/rtpproxy-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/sca-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/secfilter-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/siptrace-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/speeddial-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/topos-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/uac-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/uid_auth_db-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/uid_avp_db-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/uid_domain-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/uid_gflags-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/uid_uri_db-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/uri_db-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/userblocklist-create.sql
psql -U kamailio -h 192.168.31.100 -d kamailio -f /usr/share/kamailio/postgres/usrloc-create.sql
1.3. 其他
如果是源码编译,sql 文件的路径要调整为 /usr/local/share/kamailio/postgres
acc 表一般要扩充字段,一般是:
ALTER TABLE acc ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN src_ip varchar(64) NOT NULL default '';
ALTER TABLE acc ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN dst_domain VARCHAR(128) NOT NULL DEFAULT '';
ALTER TABLE missed_calls ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE missed_calls ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT '';
ALTER TABLE missed_calls ADD COLUMN src_ip varchar(64) NOT NULL default '';
ALTER TABLE missed_calls ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE missed_calls ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE missed_calls ADD COLUMN dst_domain VARCHAR(128) NOT NULL DEFAULT '';
相关文章:
手工创建 postgres kamailio 数据库
测试环境如下: postgres server 16: ip 地址为 192.168.31.100,用户 postgres 的密码为 ****** kamailio v5.7.5: ip 地址为 192.168.31.101 1.1. 创建 kamailio 用户和 kamailio 数据库 ssh 登陆 kamailio (192.168.31.101)&a…...
装饰设计模式
装饰设计模式应用在IO流上面可以得到体现 装饰模式指的是在不改变原类, 不使用继承的基础上,动态地扩展一个对象的功能。 原来的inputstream已经可以读取数据了,但是是一个字节一个字节的读取的,为了优化这个我们采用了buffered,…...
Linux 线程初步解析
1.线程概念 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列。在linux中,由于线程和进程都具有id,都需要调度等等相似性,因此都可以用PCB来描述和控制,线程含有PCB&am…...
为ppt中的文字配色
文字的颜色来源于ppt不可删去的图像的颜色 从各类搜索网站中搜索ppt如何配色,有如下几点: 1.可以使用对比色,表示强调。 2.可以使用近似色,使得和谐统一。 3.最好一张ppt中,使用的颜色不超过三种主要颜色。 但我想强调…...
python-区间内的真素数(赛氪OJ)
[题目描述] 找出正整数 M 和 N 之间(N 不小于 M)的所有真素数。真素数的定义:如果一个正整数 P 为素数,且其反序也为素数,那么 P 就为真素数。 例如,11,13 均为真素数,因为 11 的反序…...
TCP/IP、UDP、HTTP 协议介绍比较和总结
TCP/IP、UDP、HTTP是网络通信中的三种重要协议,各自具有不同的特点和应用场景。以下是对这三种协议的详细介绍、比较和总结。 TCP/IP协议 传输控制协议/互联网协议(TCP/IP, Transmission Control Protocol/Internet Protocol) 特点: 可靠性:TCP提供可靠的通信,通过握手…...
Unity Meta Quest 开发:如何在每只手指上添加 Poke 交互
XR 开发社区: SpatialXR社区:完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子 找到玩家物体 OVRCameraRig 下的子物体 HandInteractorsRight/Left(分别管理左右手的 Interactor)下的 HandPokeInteractor 子物体&#x…...
MyBatis的原理?
MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数及获取结果集。MyBatis可以通过简单的XML或注解来配置和映射原生类型、接口和Java的POJOs(Plain Old Java Objects)为…...
数学基础【俗说矩阵】:齐次线性方程和非齐次线性方程求解-学习笔记
一、矩阵基础知识 二元一次方程的传统解法 不论是代入消元法还是加减消元法都统称 【高斯消元法】。 齐次方程组和非齐次方程组 线性方程组的解 线性方程的向量展示 向量规则 矩阵的高斯消元和初等行变行及其规则 高斯消元规则 初等行变换 矩阵经初等行变换成阶梯矩阵&…...
乐尚代驾项目概述
前言 2024年7月17日,最近终于在低效率的情况下把java及其生态的知识点背的差不多了,投了两个礼拜的简历,就一个面试,总结了几点原因。 市场环境不好 要知道,前两年找工作,都不需要投简历,把简历…...
脱发的 7 个原因,不能再瞒着大家了!
《黄帝内经》记载,“发为血之余,肾其华在发”。乌发飘逸的秀发,是年轻之体气血充盈、生机勃发的象征,更是纯粹天然、淡泊雅致的东方美学的体现。年轻一代不仅关注身体的养生,对头发的保护与保养也有了新的认识。头发已经成为当代年…...
Vim使用教程
目录 引言1. Vim的基本概念1.1 模式1.2 启动和退出 2. 基础操作2.1 导航2.2 插入文本2.3 删除和复制2.4 查找和替换 3. 高级功能3.1 多文件编辑3.2 宏录制和执行3.3 使用插件3.4 自定义快捷键 4. Vim脚本和自定义配置4.1 基本配置4.2 编写Vim脚本 5. 实用技巧5.1 快速移动5.2 批…...
前端开发体系+html文件详解
目录 html骨架 body主体内基本元素 基本元素 超文本(超链接跳转) 锚点 图片标签 列表标签 表格标签 框架标签(窗口标签) 音频标签 视频标签 VScode编译器 输入框 字体样式 实例展示: 首先简要介绍前端的整…...
小程序中用于跳转页面的5个api是什么和区别
在微信小程序中,用于页面跳转的API主要有以下几个,但通常不需要5个那么多,因为它们的功能各有侧重,用于不同的跳转场景。以下是这些API及其详细代码和区别: wx.navigateTo(OBJECT) 用于保留当前页面,跳转到…...
翁恺-C语言程序设计-10-0. 说反话
10-0. 说反话 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母&#…...
langchain 入门指南(二)- 如何跟大模型对话
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 本文中,我们会通过一个简单的例子来展示如何使用 langchain 来调用大模型的 chat API(使用 Chat Modelÿ…...
[集成学习]基于python的Stacking分类模型的客户购买意愿分类预测
1 导入必要的库 import pandas as pd import numpy as np import missingno as msno import matplotlib.pyplot as plt from matplotlib import rcParams import seaborn as sns from sklearn.metrics import roc_curve, auc from sklearn.linear_model import LogisticRegres…...
FastApi地理坐标数据存取实践
说明: 应用Pydantic Model 验证/出入 数据, SqlAlchemy Model数据实体,Fastapi提供API机制支持。数据表的坐标字段采用Mysql的GEOMETRY类型目前还没成功使用Pydantic的Coordinate类型,待后续改良 要点: 输出的结果是…...
Docker容器——初识Docker,安装以及了解操作命令
一、Docker是什么? 是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源,用来管理容器和镜像的工具是在Linux容器里驱动运行应用的开源工具是一种轻量级的“虚拟机” 基于linux内核运行Docker的容器技术可以在一台主机上轻松为任何应用…...
JavaSE从零开始到精通
1.前置知识 JVM:java virtrual machine, java虚拟机, 专门用于执行java代码的一款软件。可以将class文件,转换为机器认识的机器码,因为我们的计算机只认识010101的二进制语言。JRE:java runtime enviroment, java运行时环境, jav…...
IntelliJ IDEA开发Qwen3-TTS-12Hz-1.7B-CustomVoice插件教程
IntelliJ IDEA开发Qwen3-TTS-12Hz-1.7B-CustomVoice插件教程 1. 引言 你是不是经常需要在开发过程中生成语音内容?比如给应用添加语音提示、制作有声说明文档,或者只是想给枯燥的编程生活加点声音乐趣?今天我要带你用IntelliJ IDEA开发一个…...
GLM-4.1V-9B-Base开源大模型:面向中文场景优化的轻量级视觉理解基座
GLM-4.1V-9B-Base开源大模型:面向中文场景优化的轻量级视觉理解基座 1. 模型概述 GLM-4.1V-9B-Base是智谱AI开源的一款专注于视觉多模态理解的基础模型,特别针对中文场景进行了优化。这个9B参数的轻量级模型在保持高效推理能力的同时,提供了…...
快速验证模型服务:AutoGen Studio中连接vLLM部署的Qwen3-4B
快速验证模型服务:AutoGen Studio中连接vLLM部署的Qwen3-4B 1. 环境准备与快速部署 1.1 镜像启动与基础检查 首先确保已成功启动AutoGen Studio镜像,该镜像已预置vLLM部署的Qwen3-4B-Instruct-2507模型服务。验证模型服务是否正常运行: c…...
Java车载HMI卡顿问题终极解析,GPU渲染线程阻塞+Binder调用链路断点调试(附AS+ADB定制脚本)
第一章:Java车载HMI卡顿问题的系统性认知车载人机交互界面(HMI)作为智能座舱的核心入口,其响应流畅度直接影响用户安全与体验。当基于Java(如Android Automotive OS或定制JVM嵌入式框架)构建的HMI出现卡顿&…...
douyin-downloader完全指南:音频高效提取的创新方法
douyin-downloader完全指南:音频高效提取的创新方法 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…...
《B3845 [GESP样题 二级] 勾股数》
题目背景 对应的选择、判断题:https://ti.luogu.com.cn/problemset/1102 题目描述 勾股数是很有趣的数学概念。如果三个正整数 a,b,c,满足 a2b2c2,而且 1≤a≤b≤c,我们就将 a,b,c 组成的三元组 (a,b,c) 称为勾股数。你能通过编…...
MotorController:嵌入式伺服电机驱动的确定性执行封装
1. 项目概述MotorController是一个面向伺服系统电机控制的轻量级工具类,其设计目标并非替代完整的运动控制固件栈,而是为嵌入式工程师提供一套可直接集成、低侵入、高可控性的底层电机驱动封装。该类不依赖特定硬件抽象层(HAL)或实…...
个人 AI 助理——打造你的第二大脑
个人 AI 助理——打造你的第二大脑摘要:信息过载时代,个人 AI 助理不再是奢侈品,而是必需品。本文教你如何搭建专属 AI 助理,实现信息管理、知识沉淀、决策辅助的智能化,让 AI 成为你的"第二大脑"。一、为什…...
Ant Design X:AI赋能前端开发的革命性工具
1. Ant Design X:当设计系统遇上AI会发生什么? 第一次听说Ant Design X时,我正在为一个电商项目焦头烂额地调试聊天机器人组件。传统方案需要自己对接NLP服务、处理对话状态、设计交互逻辑...直到同事扔给我一个链接:"试试这…...
从“动态规划”到“强化学习”:贝尔曼方程的前世今生与核心思想
从“动态规划”到“强化学习”:贝尔曼方程的前世今生与核心思想 1953年,美国数学家理查德贝尔曼在兰德公司研究导弹防御系统时,面对复杂的多阶段决策问题,提出了一个革命性的数学工具——动态规划。这个诞生于冷战背景下的理论&am…...
