开源IPPBX-Asterisk部署

网络拓扑

  • IPPBX提供SIP服务
  • iKuai软路由提供nat映射
  • ikuai路由与华硕路由之间模式isp公网环境
  • 两台sip终端注册到ippbx并实现互通

IPPBX部署步骤

服务器版本:Ubuntu 22.04.5 LTS

csharp 复制代码
# 安装asterisk
sudo apt-get install asterisk
  1. 修改sip配置文件 vim /etc/asterisk/sip.conf
ini 复制代码
# 在文章末尾追加

[general]
context = default        ; 拨号计划入口
bindport = 5060          ; sip监听端口
tcpbindaddr = 0.0.0.0    ; 监听的地址
tcpenable = yes          ; 启动tcp传输
videosupport=always      ; 始终支持视频

[1001]
type = friend          ; 定义类型为friend(同时具备user和peer特性)
username=1001          ; SIP账号(用于认证)
secret = 1001          ; SIP密码
host = dynamic         ; 允许设备动态注册(非固定IP)
canreinvite = no       ; 禁止重新发起INVITE(解决NAT问题)
dtmfmode = rfc2833     ; DTMF传输方式(带内RFC2833格式)
mailbox = mailbox      ; 关联的语音信箱
transport = udp        ; 使用UDP传输协议
nat=yes                ; 启用NAT穿透支持
videosupport=always    ; 始终启用视频支持
maxcallbitrate=384     ; 最大呼叫带宽384kbps(视频通话需要)
disallow=all           ; 初始禁止所有编解码
allow = ulaw           ; 允许G.711 μ-law音频(64kbps)
allow=alaw             ; 允许G.711 A-law音频(64kbps)
allow=h263             ; 允许H.263视频编码
allow=h264             ; 允许H.264视频编码(主流高清编码)

[1002]
type = friend
username=1002
secret = 1002
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = mailbox
transport = udp
nat=yes
videosupport=always
maxcallbitrate=384
canreinvite=no
disallow=all
allow = ulaw
allow=alaw
allow=h263
allow=h264

[1003]
type = friend
username=1003
secret = 1003
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = mailbox
transport = udp
nat=yes
videosupport=always
maxcallbitrate=384
canreinvite=no
disallow=all
allow = ulaw
allow=alaw
allow=h263
allow=h264
  1. 修改拨号计划配置文件 vim /etc/asterisk/extensions.conf
ini 复制代码
# 在文章末尾追加

[general]
static=yes        ; 配置文件为静态(运行时不会自动重载)
writeprotect=no   ; 允许通过AMI动态修改拨号计划(生产环境建议设为yes)

[default]         ; 默认呼叫上下文(路由入口)

; 分机1001的呼叫处理流程
exten => 1001,1,Answer()            ; 应答来电(第1步)
exten => 1001,n,Dial(SIP/1001,20,tr)   ; 呼叫SIP设备1001(n=下一步)
                                         ; 参数说明:
                                         ;   SIP/1001 - 呼叫通道
                                         ;   20       - 振铃超时(秒)
                                         ;   tr       - 启用语音信箱转移
exten => 1001,n,Hangup()            ; 挂断呼叫(最后一步)


exten => 1002,1,Answer()
exten => 1002,n,Dial(SIP/1002,20,tr)
exten => 1002,n,Hangup()


exten => 1003,1,Answer()
exten => 1003,n,Dial(SIP/1003,20,tr)
exten => 1003,n,Hangup() 
                        
  1. 进入调试模式
yaml 复制代码
# 重启服务
systemctl restart asterisk.service 

# 进入控制台
asterisk -r

# 查看sip注册情况
*CLI> sip show peers

# 解绑1001
*CLI> sip unregister 1001

ikuai映射服务配置

下载安卓客户端

客户端选用Linphone Download - Linphone

拨打测试

注册抓包

相关推荐
云计算磊哥@1 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
天天进步20151 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
极客先躯2 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结2 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
志栋智能2 小时前
超自动化巡检:提升MTTR,缩短业务影响时间
运维·自动化
kong@react3 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
睡不醒男孩0308234 小时前
第八篇:如何构建一站式 PostgreSQL 性能优化与智能管控平台?从盲目排查到 CLup 自动化运维演进
运维·postgresql·性能优化
某林2124 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
m0_738120724 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
二等饼干~za8986684 小时前
2026 主流 GEO 源码厂商实测:云罗 GEO、摘星智能、棋引科技技术与落地能力对比
大数据·运维·科技