公网Kamailio 代理 freeswitch 和做 sbc
1.环境:
本文测试Kamailio 5.2 freeswitch 1.10.3 fs 和 kamailio 部署在阿里云公网ip:47.xx 内网172.xx
官方文档http://kb.asipto.com/freeswitch:kamailio-3.3.x-freeswitch-1.2.x-sbc
2.安装:
https://kamailio.org/docs/tutorials/5.2.x/kamailio-install-guide-git/ 5.2 其他的版本到https://www.kamailio.org/w/documentation/
一步步操作就行
fs 安装好 官方也有文档
3.官方说明
Following services are handled in the scenario built within document:
kamailio
user authentication
user registration
user location
call routing
instant messaging and presence
freeswitch
voicemail
conference
SBC - this can be used for topology hiding, transcoding, prepaid or playing audio messages within calls
other media services (announcement, ivr, a.s.o)
配置参考上面地址的就行主要是WITH_FREESWITCH 定义的地方全拷过去
里面 freeswitch.bindip配置为外网ip 端口用sip的internal_sip_port
注意下这个拨号的规定就行
switch($rU) {case /"^41$":# 41 - voicebox menu# allow only authenticated usersif($au==$null){sl_send_reply("403", "Not allowed");exit;}$rU = "vm-" + $au;break;case /"^441[0-9][0-9]$":# starting with 44 folowed by 1XY - direct call to voice boxstrip(2);route(FSVBOX);break;case /"^433[01][0-9][0-9]$":# starting with 433 folowed by (0|1)XY - conferencestrip(2);break;case /"^45[0-9]+$":strip(2);break;default:# offline - send to voiceboxif (!registered("location")){route(FSVBOX);exit;}# online - do bridgingprefix("kb-");if(is_method("INVITE")){# in case of failure - re-route to FreeSWITCH VoiceMailt_on_failure("FAIL_FSVBOX");}}
注意下会议的拨号433000 和相互拨打的会加个prefix("kb-")前缀 fs日志看的到的到时候
启动kamailio 没错误就行
./sbin/kamailio -P /var/run/kamailio/kamailio.pid -m 128 -M 12
最后添加100 101两个用户
3.fs配置
修改conf/vars.xml里面的
<X-PRE-PROCESS cmd="set" data="internal_auth_calls=false"/> false
修改conf/autoload_configs/acl.conf.xml 为kamailio内网ip 和外网ip
<list name="domains" default="deny"><node type="allow" domain="$${domain}"/><node type="allow" cidr="47.xx.xx.xx/32"/><node type="allow" cidr="172.xx.xx.xx/32"/>
</list>
修改 conf/dialplan/public.xml 注意为kamailio外网ip
<extension name="from_kamailio"><condition field="network_addr" expression="^47\.xx\.xx\.xx$" /><condition field="destination_number" expression="^(.+)$"><action application="transfer" data="$1 XML default"/></condition></extension>
conf/dialplan/default.xml
<extension name="vbox"><condition field="destination_number" expression="^vb-(1[0-9][0-9])$"><action application="answer"/><action application="voicemail" data="default ${domain_name} $1"/></condition></extension><extension name="vmenu"><condition field="destination_number" expression="^vm-(1[0-9][0-9])$"><action application="voicemail" data="check default ${domain_name} $1"/></condition></extension><extension name="kbridge"><condition field="destination_number" expression="^kb-(.+)$"><action application="set" data="proxy_media=true"/> mod_sofia的proxy sdp 地址获取是空的 日志可以看到 sofia_glue.c:1620 sofia/internal/100@xx:6060 sending invite version: 1.10.3-release 64bit <action application="set" data="call_timeout=50"/><action application="set" data="continue_on_fail=true"/><action application="set" data="hangup_after_bridge=true"/><action application="set" data="sip_invite_domain=192.168.178.23"/>//这里改成kamailio外网<action application="export" data="sip_contact_user=ufs"/><action application="bridge" data="sofia/(fs外网IP)/$1@192.168.178.23"/>//这里改成kamailio外网<action application="answer"/><action application="voicemail" data="default ${domain_name} $1"/></condition></extension>
好的基本可以了
100 用户登陆可以测试呼叫433000 参加会议
100 用户登陆可以测试呼叫101 相互通话
注意下default.xml的配置和fs 的nat 问题就没问题了
还可以 使用kamailio的pike 对注册ip的限制 屏蔽一些国外的不断注册 invite 也是如此
你还可以用2个kamailio做数据共享(dmq)多个代理
sbc用load_dispatcher 2个fs 共享数据库就行
交流群261074724 或技术help https://shop121230895.taobao.com/
公网Kamailio 代理 freeswitch 和做 sbc相关推荐
- freeswitch系列二 kamailio 5.0安装及实现kamailio集成freeswitch
1. 概述 kamailio是个纯粹的SIP服务器.本文介绍先如何在debian8下安装debian5.0,然后详细介绍如何实现使用kamailio做freeswitch均衡负载.kamailio同时 ...
- 手游代理是怎么做的?
手游代理是我们普通人接触到手游运营的最主要的方式之一.手游代理到底是什么?手游代理是怎么做的?手游代理的基本流程是什么? 手游代理首先要寻找一个可靠的有实力手游代理平台,这是我们进行手游代理的前提.选 ...
- 如何利用动态代理IP来做SEO(网络营销)
对动态代理IP大家都不陌生,今天我们来聊下如何利用动态代理ip来做SEO优化.其实除了SEO很多网络营销也都需要用到代理IP,因为很多网络营销的用户都知道,投票.注册帐号.发帖子等工作,都需要用到代理 ...
- 外呼系统《OpenSIPS2.4代理FreeSwitch》(2022版)
外呼系统之 FreeSwitch 高可用,OpenSIPS2.4 做代理服务器 OpenSIPS介绍 进入正文 总结 OpenSIPS介绍 OpenSIPS (Open SIP Server) is ...
- java 使用本机代理_Java与本机代理–他们所做的强大功能
java 使用本机代理 在安装代理之前应了解的内容及其对代码的影响 在构建可伸缩的服务器端应用程序时,我们花费大量时间思考如何在生产中监视,操作和更新代码. 已经开发出一种新的工具来帮助Java和Sc ...
- Java与本机代理–他们所做的强大功能
在安装代理之前应了解的内容以及它如何影响您的代码 在构建可伸缩的服务器端应用程序时,我们花费大量时间思考如何在生产中监视,操作和更新代码. 已经开发出一种新的工具来帮助Java和Scala开发人员做到 ...
- 代理记账需要做哪些工作
代理业务编辑 一般,代理机构会提供以下业务: 1.整理原始单据.记账凭证: 2.出具财务报表(资产负债表.损益表): 3.每月纳税申报及税款交纳,年度所得税汇算清缴: 4.新公司国地税报到等: 另外, ...
- python代理charles_Mitmproxy + Python 做拦截代理
在测试过程中,我们经常用到Charles.Fiddler等抓包工具,通过抓取http请求进行相关的测试.问题排查.但是在一些特殊场景下,例如我们的数据传输是加密的,可能需要抓取到数据后再进行解密,这个 ...
- 如何遥开内外网穿透的问题 --- MCU做简单外网代理
如何遥开内外网穿透的问题 --- MCU做简单外网代理 上头要求研究如何让一个在某一内网里的MCU所召开的会议让外网EP(公网或其他能到达公网的EP)参加进来. 我提出了两个方案: 1. 把原有使用o ...
- python ip动态代理_给自己的爬虫做一个简单的动态代理池
使用代理服务器一直是爬虫防BAN最有效的手段,但网上的免费代理往往质量很低,大部分代理完全不能使用,剩下能用的代理很多也只有几分钟的寿命,没法直接用到爬虫项目中. 下面简单记录一下我用scrapy+r ...
最新文章
- Java项目:网上商城系统(java+SSM+jsp+mysql+maven)
- Windows 10 powershell 中文乱码解决方案
- 符号说明表怎么做_教会你的孩子正确使用标点符号
- boost::units::information相关的测试程序
- ITK:计算图像的正向FFT
- react 导航条选中颜色_调整安卓手机的颜色以更好地查看一切
- Unity SRP从零搭建一套图形渲染管线
- 电机驱动详解--从原理到智能车驱动(DRV8701)
- golang的优劣与前景分析
- java根据日期计算农历_Java给定公历日期计算相应农历/阴历日期
- PCA 实践 利用 PCA 算法对人脸数据集内所有人进行降维和特征提取 PCA原理解析+代码
- Python 猴子偷桃
- 苹果账号申请流程——99刀(个人版或公司版 ),299刀(企业版)
- 《工业控制系统信息安全防护指南》实施建议(下)
- mysql汉字按英文字母排序
- Redis 之 subscribe 订阅模式封装
- 安排,都安排上!双11天气预报惊现“杰克马”:十亿,安排妥了!
- 科大奥锐干涉法测微小量实验的数据_干涉法测微小量-集美大学基础物理虚拟仿真实验教学中心 | 物理实验中心...
- 冥冥中的感觉,是梦非梦
- 三个故事,说穿了许多人