freeswitch对接其它sip设备

author author     2022-08-05     436

关键词:

这几天用到freeswitch对接其它设备方面的知识,这里整理下,也方便我以后查阅。

  • 操作系统:debian8.5_x64
  • freeswitch 版本 : 1.6.8

一、freeswitch作为被叫设备

freeswitch作为被叫设备和其它设备对接的情况比较简单,可以直接通过5080端口呼入。
freeswitch默认配置默认开启5080端口的对接(conf/dialplan/public.xml中关于public):

<extension name="public_extensions">
    <condition field="destination_number" expression="^(10[01][0-9])$">
        <action application="transfer" data="$1 XML default"/>
    </condition>
</extension>

二、freeswitch作为主叫设备

这里主要描述下freeswitch作为主叫设备怎么对接其它sip设备(使用sipp模拟)。

HostA : 192.168.1.100
HostB : 192.168.1.101

其中HostA上安装freeswitch,HostB使用sipp模拟其它设备。

使用sip uri格式对接

1、编辑A机中 conf/dialplan/public.xml 文件 ,添加如下extension :

 <extension name="hostB">
        <condition field="destination_number" expression="^0(.*)$">
                <action application="bridge" data="sofia/external/sip:[email protected]:5080" />
        </condition>
 </extension>

2、B机上使用sipp模拟uas设备,命令如下:

sipp -sn uas -p 5080

A机重新加载xml文件( F6 或 reloadxml ),在A的1000话机上拨打号码 01234 即可看到对接效果。

使用网关对接

1、在A机上创建 conf/sip_profiles/external/gw_a.xml 文件,添加如下内容:

    <include>
      <gateway name="gw_A">
        <param name="username" value="anonymous"/>
        <param name="from-user" value=""/>
        <param name="password" value=""/>
        <param name="outbound-proxy" value="192.168.1.101:5080"/>
        <param name="register-proxy" value="192.168.1.101:5080"/>
        <param name="expire-seconds" value="120"/>
        <param name="register" value="false"/>
        <param name="register-transport" value="UDP"/>
        <param name="caller-id-in-from" value="true"/>
        <param name="extension-in-contact" value="true"/>
        <variables>
          <variable name="gateway_name" value="gw_A"/>          
        </variables>
      </gateway>
    </include>    

2、打开A机中 conf/dialplan/public.xml 文件 ,添加如下extension :

    <extension name="gw_A">
            <condition field="destination_number" expression="^9(.*)$">
                <action application="bridge" data="sofia/gateway/gw_A/$1"/>
            </condition>
    </extension>

3、B机上使用sipp模拟uas设备,命令如下:

sipp -sn uas -p 5080

4、加载网关配置,需在A机器执行如下命令:

sofia profile external rescan

A机重新加载xml文件( F6 或 reloadxml ),在A的1000话机上拨打号码 91234 即可看到对接效果。

本文github地址:

https://github.com/mike-zhang/mikeBlogEssays/blob/master/2016/20160916_freeswitch对接其它SIP设备.md

欢迎补充 

freeswitch折腾笔记1--sip中继对接

freeswitch与各种设备对接的成功配置,需要的请参考,有错误的地方请指导。1、对接华为softco中继配置sip_profilesexternal<include><gateway name="softco5816">  <param name="proxy" value="172.16.100.248:5 查看详情

sip/2.0403forbidden(invaliddomaininfrom:header)

一、错误场景FreeSWITCH通过网关和一台支持SIP的网关设备互联,一个呼叫发过去,收到这个错误。FreeSWITCH的地址是192.168.1.99。网关设备的地址是192.168.1.200。SIP/2.0403Forbidden(InvaliddomaininFrom:header)二、提示的很清楚,Fromheader中的domain... 查看详情

freeswitch可以把手机电话转成voip吗

freeswitch可以把手机电话转成voip吗并且将两通通话连接起来参考技术AFreeSWITCH是一个开源的电话交换平台,它具有很强的可伸缩性--从一个简单的软电话客户端到运营商级的软交换设备几乎无所不能。能原生地运行于Windows、MaxOSX... 查看详情

frfreeswitch怎么通过c修改.xml

参考技术A什么是FreeSWITCH?FreeSWITCH是一个开源的电话交换平台,它具有很强的可伸缩性--从一个简单的软电话客户端到运营商级的软交换设备几乎无所不能。能原生地运行于Windows、MaxOSX、Linux、BSD及solaris等诸多32/64位平台。可以... 查看详情

菜鸟学freeswitch将猫池注册到公网fs上(代码片段)

...信的,因此你得在阿里云上开放5070端口:4.修改/usr/local/freeswitch/conf/sip_profiles/external.xml 找到 ext-rtp-ip,ext-sip-ip修改为<paramname="ext-rtp-ip"value="自己的外网ip"/><paramname="ext-sip-ip"value="自己的外网ip"/>  重启fs&nb... 查看详情

freeswitch呼叫参数之sip_cid_type

这个参数定义了呼叫中主叫信息的头字段类型。支持两种类型:1.rpidRemote-Party-ID头,这是默认的设置。sip_cid_type=rpidsofia/default/[email protected]此时送出去的SIP消息头的主叫信息字段示例:Remote-Party-ID:"13812344321"<sip:[email pro... 查看详情

freeswitch注册过程分析

操作系统:debian8.5_x64freeswitch版本:1.6.8本文仅描述sip注册的简单场景,即话机直接向处于同一个局域网的fs进行注册。SIP协议的消息结构消息框架SIP协议是基于文本的协议,SIP协议的消息都遵从一个统一的消息结构:起始行(Sta... 查看详情

第二天,关于sip的学习(freeswitch增加配置录音功能)

学习一些FreeSwitch核心的一些命令,再细节地了解下FS。看下是不是之前怀疑的,二次编程的时候更改配置文件,或者java注入一些参数到配置文件,详细了解下配置文件。这个应该比较难的,不清楚问下百度先生吧。学习了一个... 查看详情

如何在freeswitch外联模式下使用esl接口时,设置无应答超时时间

参考技术A  FreeSWITCH支持多种通讯技术标准,包括SIP,H.323,IAX2以及GoogleTalk,可以方便的与其他开源的PBX系统进行对接,例如sipX,OpenPBX,Bayonne,YATE或者Asterisk.[1]  FreeSWITCH支持许多高级的SIP特性,例如presence/BLF/SLA、TCPTLS和sRTP,它... 查看详情

sip开源项目opensip,freeswitch

...的客户端. 链接: opensips.org  相比Opensips,Freeswitch应该算是后起之秀,在网上似乎看到Freeswitch的主要开发者是之前Opensips的核心SVN提交者之一,个人试用的感觉是Freeswitch的优势在于配置文件都是XML文件,各种设置相... 查看详情

freeswitch和微信小程序对接

...微信小程序采用RTMP协议进行音视频通讯,所以我们在Freeswitch内置了一个endpoint模块通过RTMP协议和微信小程序通讯达到音视频通讯;有了这个模块就建立起了小程序到Freeswitch音视频通讯的桥梁,方便小程序和其它平台... 查看详情

基于freeswitch的模拟h323环境调测

...志,如果有下行日志,表示注册成功。先将SIP终端注册到Freeswitch上,注册分机号为1002,然后在console里输入如下命令到此,基于Freeswitch的模拟H323环境的准备完成,可以开始测试了。另外,还有基于硬件的H323调测方式。就不在这... 查看详情

阿里云配置freeswitch

参考技术A地址为:http://files.freeswitch.org/windows/installer/conf\sip_profiles\external创建nexmo.xml文件配置自己的sip外呼账号这里是nexmosip.nexmo.com:这个是域名\conf\dialplan\default创建call_out.xml文件用于外呼^(00\d+)$:00代表外... 查看详情

freeswitch协议参数之自定义sipheader(代码片段)

一、主动发送1.加入sip_h_前缀这样FreeSWITCH就能自动加上后面的扩展头。2.示例 <actionapplication="set"data="sip_h_X-Product-ID=123456"/>这样后续的SIP呼叫消息会带上自定义头:X-Product-ID:1234563.注意:这个头的封装创建是FreeSWITCH来完成... 查看详情

第二天,关于sip的学习

...,现在就差一个WEB端的网络电话了。先百度下,如何安装freeSwitch吧,了解下FreeSwitch配置吧。。真要命,C快忘光了,JAVA比较熟悉。。不管了,先上吧。开始:       本人系统是64位的win7下载对应的Freeswitch版本如... 查看详情

freeswitch怎么配置proxymedia和bypass模式

...,总觉得不对劲。于是自己看了英文,才知道正确配置。Freeswitch有三种模式:默认两个终端的数据发送到服务器,服务器解码、编码后,再发送到对方。Proxy代理https://freeswitch.org/confluence/display/FREESWITCH/Proxy+Media配置方式:1、conf... 查看详情

freeswitch对接rtsp和rtmp视频

...应用场景中,可能希望把摄像头或者其他推流视频加入到FreeSWITCH中,我这里提供2个示例供大家借鉴<actionapplicaiton=”playback”data=”vlc://rtsp://xxxx/vod”>安装mod_vlcloadmod_vlc(安装这个看前面文章介绍)originatevlc/rtsp://192.168.1.100:8554... 查看详情

freepbx对接gms网关

前面的文章阿里云使用镜像安装freepbx , 安装freepbx后创建sip分机 ,freepbx的SIP通话客户端X-liteYateeyeBeamLinphone我们已经成功的创建好了分机,并且已经成功的登录到客户端了,但是我们最终想要实现的是可以拨打外网... 查看详情